RAID5

“等咱有了钱,买两碗豆浆,一碗爱喝不喝,一碗就是不喝!”

——段子

从2014年底买入Lenovo TS-140服务器,到昨天收到最后一块西数红盘,前前后后用了大半年的时间,终于实现了我的RAID梦!

配件 价格 购入时间
Lenovo TS-140 $343.99 2014年11月
Crucial 4GB Single $60.47 2014年11月
Crucial 16GB Kit (8GBx2) $156.59 2015年4月
SanDisk Internal SSD 120GB $43.19 2015年7月
3 x WD Red NAS Hard Drive 3TB

+ 1 x ICY DOCK FLEX-FIT Trio MB343SP

$300.98 2015年7月

合计$905.22!其中一块红盘是坏的,幸好newegg换货还算顺利,让我在8月前体验了RAID5!

在SSD上装了Debian 8 testing,4G swap,三块红盘做软件RAID5。

选RAID5还是RAID6,稍微纠结了一下。手上有一块3T红盘存货,所以也考虑过RAID6,但是主板只有5个SATA口,其中一个给光驱,另外也只能装一块SSD和三块硬盘。也可以先把OS装在SSD上,然后拆掉光驱装四块硬盘,自己用mdadm配置RAID6。嫌麻烦,放弃了。RAID5还是RAID6对我没区别,主要目的还是要体验读写速度的提升,有一点纠错能力又不浪费太多空间,RAID5就够了。作为备份,我还有一个QNAP TS-110和一块闲置的3T硬盘,也差不多够用了。

Backup GMail

尝试使用courier-imap和imapsync备份GMail的All Mail文件夹,到了一定阶段,mutt登录总是失败,报内存不足的错误。后来检查imapsync的log,发现也出现无法分配内存的错误。于是上网搜,发现docker并没有对内存进行任何限制。那问题出在哪里呢?

原来是courier-imap在限制内存使用,以下是一段在/etc/courier-imap/imapd里面关于参数IMAP_ULIMITD的注释。

The default value of 65536 sets a very generous limit of 64 megabytes, which should be more than plenty for anyone.

… It is theoretically possible that obscenely huge folders will also result in the server running out of memory when doing server-side sorting (by my calculations you have to have at least 100,000 messages in a single folder, for that to happen)

在出现问题的时候All Mail文件夹里已经有31万多封邮件了,全部备份完毕的时候有41万多。于是将限额增加到1G,同时将imapsync timout时间从2分钟增加到10分钟,终于备份了完整的All Mail。