近期在论坛上看到某位电脑玩家发布一篇《展示并交流一下做SATA RAID的经验》的文章,觉得很有意思,经过作者Robin_Zhang的同意,我们特别转载了这篇文章给广大读者一起来交流(下面的文章已作者的第一人称展开)。
由于本人职业需要,家中构架了一台文件服务器跑VMware Server,虽然有了四核心CPU,有了8GB的内存,但是苦于磁盘IO性能限制,同时启动多个Virtual System的时候十分缓慢,于是才想到了构建相对廉价的SATA RAID。
首先说一下硬盘吧,个人比较偏爱WD的硬盘,虽然ST的硬盘会在单盘的性能上比WD的高5~7%左右,但是发热量和噪音却是WD的强项。鉴于文件服务器是放在本人的卧室中,因此晚上有可能通宵开机,静音就显得尤为重要。所以最终选择了WD5001ABYS,企业级硬盘,5年超长质保,而且修复了早期WD5000ABYS在组建SATA RAID时候的Bug。我当时入手价格是¥750一块,总共8块。
再来看看SATA RAID卡吧,我这里用的是AMCC的3Ware 9650SE-8LPML,采用PCIE 4X的接口连接主板。
别看卡上只有两个接口,但是卡附带的数据线可以用一转四。同时该卡使用了兼容PowerPC构架的协处理器,因此在CPU占用率上要比采用Intel IO的同类产品性能更稳定,而且扛重负载的能力也更好一些。
那么各位要问了,主板那边怎么办呢?笔者这里使用了精英的A780GM-A,采用了AMD的780G芯片组。
主板上的PCIE 16X正好用来插RAID卡,而板载显卡对于服务器来说绰绰有余。BTW:在装好系统有,本人顺便试了一下高清播放,完全没有问题。而CPU使用了Phenom 9500{2.2GHz,四核,B2 Stepping}(各位完全没有必要担心TLB的问题,因为对于诸位普通用户几乎这辈子都不会碰到TLB Bug,即使是我这样的系统工程师,也只有在应用虚拟化技术是需要注意一些而已),4根Kingston 2GB DDR2 667(服务器对于内存的频率要求不高,倒是对稳定性和兼容性要求颇高,所以“神条”就不考虑了)。散热器直接使用超频3的东海,整套系统装起来是这样的:
也许各位又要问了,8块硬盘怎么装进机箱呢?一定要买很贵的机箱么?这里我使用的是酷冷的特警330,前面罩是网孔+定性棉,前后可装12cm风扇,5个硬盘位,4个光驱位。笔者是这样安装的,自上而下:一个光驱,剩下三个光驱位使用3.5寸驱动器转5.25寸的支架将硬盘装上去,最后5个硬盘位置装剩下5个硬盘。顺便提一句,RAID上装WIndows vista和Windows 2008以前的Windows系统的时候需要通过软驱载入驱动,因此这里软驱必不可少。而新的Windows和Linux都可以通过U盘来装载驱动。看看装进机箱里面的效果图吧:
这样把硬盘堆在一起会不会很热呢?其实还好啦,5个硬盘有一个12cm吹着;借助330的网孔状前面板,我还动手给上面三块硬盘装了一个12cm风扇;都是1200RPM 17分贝的超静音风扇,晚上放在卧室不是大问题。温度也没有想象的夸张:
注意显示温度的顺序是机箱内硬盘安装的物理位置从上往下数,注意下面五块硬盘的最中间一块温度最高,因为它正处于风扇的轴承位置,风量最小。
这是我的机器的基本信息,大家做一个参考:
这是建好的RAID,块大小取64KB,8块500GB的硬盘做RAID5综合3.18TB。
接下来看一下3Ware的管理软件,是BS方式的,支持远程管理,基于JSP。下图,查看Unit信息:
然后是每个端口接的硬盘信息,这里看出了8块WD5001ABYS,然后再加上状态:
不过有一个问题,RAID卡看不到硬盘的转速和温度……实在有些失望:
这里是一个维护页面,对RAID进行Verify(校验)操作;损害硬盘后踢出硬盘“Remove Drive”,以及插上新硬盘后“Rebuild”(重建);甚至转换RAID级别都可以在这里进行。
这里还有一个非常有用的功能,即使当RAID出现Warning或者Error之类告警信息之后,发送邮件告诉管理员。笔者已经将这个收件的邮箱设置成自己的手机邮箱,一旦出现故障第一时间就能收到短信通知。(至于为什么会这么神经质,后记中说明)
这是装完Windows 2003 Enterprise Serve With Service Pack2之后的状况,这里需要提醒一个WIndows只认单物理卷小于等于2TB,因此这里3.18TB 的RAID5笔者划分为两个,最后的那个40GB的分区时接下来测试的时候用的。(大家是不是第一次看到以TB为结尾的分区呢?)
最后就要开始测试了,首当其冲的当然是硬盘和网络读写性能测试的至尊武器——IOmeter,这是64KB块,100%连续读取的性能:
这是64KB块,100%连续写入的性能:
250MB/s的性能已经达到了千兆网络的极限了,而笔者在刚刚建好RAID,数据还不多的时候甚至于测试到了370.71MB/s的连续读取性能,可谓相当恐怖!
接着是大家常用的FDBENCH和HDTUNE:
怎么性能会和IOmeter测试下来这么大呢?鉴于IOmeter的权威性,笔者第一时间就会后两者的测试提出了质疑,可能是他们的测试脚本还不足以将负载提高到100%发挥出RAID性能的地步。
还有HD Tach的测试成绩,又和HDTune的突发不一样了,真的很奇怪。
最后是Sandra的硬盘测试,测试结果证明了前面的假设。顺便提一句,这次IDF笔者见到了AMCC亚太区总工程师,向他提出了这个问题,他给出的答案和笔者猜想的是一样的。
后记:为什么笔者回会神经质到让RAID出错后就把邮件发到手机上呢?原因在于笔者在刚开始的两周性能测试严重不正常,甚至出现两次硬盘“损坏”的问题,每次都是损坏一块。而且每次都是半夜损坏,弄得我晚上半夜Rebuild,几乎一夜没睡。(PS:再这样下去偶要香消玉殒了…… )要知道RAID5的容错能力也就是坏一块,如果RAID真的坏了话,笔者从学习计算机以来15年的数据就都付之东流了。上海这边的WD代理告诉我这种WD RE2系列的硬盘平均100块里才会出现一块问题,连续出现两块损坏是不太可能的,让我查一下其它问题。
这一句话提醒了笔者,笔者使用的电源是海韵SS-550HT,只有6个SATA电源口,于是购买了三个4Pin-to-SATA的电源线。仔细调查发现原来两块“损坏”的硬盘都是用这个连接的(第三个用来连接光驱),既有可能是这个问题。于是笔者更换了去年购买ASUS Commando里送到4Pin转两个SATA的电源线,顺利使用了半个月没有出现问题。看来小小电源线也能惹出大祸啊。
作者:过客
来源:51CTO