继续折腾NAS——Arch Linux体验记

上篇文章作罢不久,我就在想,一个足够轻量的、只会联网Rsync的Linux发行版,装进U盘也毫不费力的那种,是否也够用了?经粗略挑选,选中了Arch Linux。当然,也有其它看着诱人的发行版,PuppyLinux、Tiny Core、AntiX等等;不过在国内的人气远不及Arch Linux——文档最全面,遍地都是它的镜像。至于命令行配置,反正先前吃的苦不少了,无伤大雅。楼下细讲。

一、拼积木一般安装系统和软件

1.1 首先要能启动

按官方提供的安装教程,下载镜像文件,以Rufus“烧录”到存储卡(手上一大堆),引导其进入体验(Live)环境,分区,改动镜像地址,部署系统。——直到这一步都还算顺风顺水。

吓?引导记录要自己添加?《教程》首推GRUB,我也装上了,但并没有配置它(官网未发现配置详情),重启一看,这GRUB完全是个傻子。也罢,我的需求不包括双引导,于是换用Syslinux,跑一次syslinux-install_update -i -a -m,基本上不用再配置。

再重启看看;好,进系统了。

1.2 然后要能联网

这当儿,尽管网线连着,但网卡的灯不亮;对外未能ping通。ip a显示,所有网卡都已被识别,但网口要手动打开。系统里啥都没有,编辑器没有,screenfetch没有,Rsync没有……这个Arch生下来是个傻子……
我恍然大悟;就跟电脑可以组装一样,Linux也是可以组装的;装好基本系统只等于拼了张空桌子,要什么就往上拼什么。

经反复查阅多方资料,以下软件包是我认为有必要的:

软件包备注
nano
syslinux
amd-ucode
sudo
networkmanager开机启动服务
dhcpcd开机启动服务
ntp开机启动服务
rsync
screenfetch
openssh开机启动服务
xfsprogs只是想试试Ext4以外的文件系统罢了
cronie开机启动服务
htop观察硬件占用率,自身开销相对较小

这样,一台真正只会联网Rsync的客户端打造完毕。

1.3 额外的一些调整

关于交换分区(Swap)的问题:由于U盘吞吐能力奇差,在/etc/sysctl.d/99-swappiness.conf把内核调用Swap的积极性改为了 5(相比官网建议的数值甚至更低)。

关于分区的自动挂载问题:

  1. 出于测试目的,一块500G硬盘将加入并自动挂载,而且要为root以外的用户开放读写权限。往/etc/fstab登记它,再改动其挂载点的属主即可。
    需要指出的是,其被识别为/dev/sdb,仅含一个分区。
  2. 观察到开机过程中,系统尝试挂载/dev/sdb2(实际不存在)并等待了足足90秒。这时我才想起,当初做 genfstab 的时候用了-L选项……老实改用 UUID 去匹配分区了。
  3. 观察到开机时,/dev/sdb1挂载失败。我从网上抄来的什么uid dmask locale选项,统统油盐不进……最终以user,auto,rw去敷衍了。

二、上手体验

在Athlon X2 250平台上,插入U盘开机。
开机迅猛,自Syslinux菜单起,只过30秒便可登录。尽管U盘(仍为铠侠U202)性能奇差,将近2GB的空间占用也不少,其竟可与占地300+MB的 UNRAID 系统平起平坐。空转时,整机功耗约50W。

登录后,以Rsync拉取40GB的照片,其中一半为近期以专业相机所摄(JPG+RAW),另一半为更早前所摄JPG图像。拉取体积较大的RAW图像与视频时,NAS显示传输率50~80MB/s,客户端则几乎未见70M/s以上的记录,显然并未全力传输;整机功耗74~81W。还是CPU吞吐能力不足。不过话说回来,只为了Rsync这个应用就换四核,真的值当吗?毕竟这主板(M2N68-AM SE2)起码有十岁了,三相VRM相当孱弱,经不起折腾。

rsync

不过,这些数据只是目测得来,还是得后台蹲监视窗口,省得落下“不严谨”的口实。看下文——

三、按捺不住上了四核

首先上结论:我先前的担心完全是多余的……

——买了块Athlon X4 610e,标称TDP为45W。换上开机,空转时整机功耗48W。
采用和上篇一样的样本:41.8GB、近 24000 张插画进行测试。观察到htop各CPU核的占用率相加接近100%,说明Rsync是个单线程软件。X4 610e多多少少也受到单核性能的制约,传输耗时 711 秒(A8-5600K平台用时 650 秒,慢得倒不算多)。不过,整机功耗喜人,竟只有56~60W,A8这当儿要往九十瓦去了。我无意对其做压力测试,但就日常摸鱼的角度来说,其表现相当可圈可点。

到这里,我对硬件的需求总算明了了:如果仅考虑rsync这一个命令,那么频率出众的双核Athlon、甚至Phenom可以消除全系统之瓶颈;但功耗问题更严重。总的来说,610e足够了,毕竟只有第一次Rsync需要最大速度,往后都是零星增量更新。

rsync

——事后跑了趟《国际象棋》测试,整机满载功耗95W。

四、未来展望

U盘太慢,有时一项操作要等数十秒,所以我考虑将系统配置妥当后,整个加载到内存
目前,Rsync客户端仍需手动开机。考虑研究一下如何让NAS自动唤醒下游客户端,后者则定时Rsync并关机。

就这样罢,我不大愿意再持续投入精力了。

补充:有关X4 610e的后患

更换CPU过后,每次重新通电(嗯,其甚至无需24小时保持通电),开机后总是无法识别事先插好的 U 盘;我必须开机时拔插一遍,再于BIOS改动启动顺序。这令我大为恼火。

既是如此,既然X2 250满足了最低需求,而且不会出现此类问题,就换回去得了。这块四核留着给将来上Windows用。

什么?1037U、G2030这种处理器更好?的确,单核很强势,功耗也低,不过偶尔开着玩玩的话也难以展示优越性——又想骗我白给了。

补充二:外置硬盘盒不就行了?!

我的需求竟是如此简单,以至于可以让群晖 USB Copy 套件完全覆盖。我正愁那块 1TB 移动硬盘毫无存在感呢!用它不就完事了!天天整这些花里胡哨的!