您的位置:首页 > 大数据 > 人工智能

什么是raid的background initialization?

2012-04-21 18:20 3087 查看
http://blog.sina.com.cn/s/blog_77e22d0e0100rbjf.html

学校2007买了一台服务器联想R350G6,机架式4U。带有六个硬盘位,当时手上有7块硬盘,三块原配的73G 15kSAS 硬盘,四块希捷320G 7200.10,于是两块SAS组成Raid 1做系统盘和数据盘。四块希捷做Raid5,得到约900G的容量。

到了2010年10月,服务器空间捉襟见肘,于是打报告校申请购买5块WD 1T 32MB蓝盘,其中四块用来替换希捷320,多出的一块装在另外一台服务器上做转移备份之用。更换过程顺利,先删除原来有的第二组阵列,然后卸下硬盘,换 成新硬盘装入托架再插入服务器,重建阵列,然后分区格式化。之后开始将数据通过FTP传回。意外发现磁盘性能极不稳定,文件传输非常慢,速度只有几百 KB/s,那要传到猴年马月呀。用HD-speed测试硬盘性能,最好时能突破240MB/s,但是最差的时候只有4MB/s,起伏非常大。怀疑硬盘有故 障,卸下重做阵列。结果一不小心把第一组阵列一并删除了,还好之前有备份,不然真的是一夜回到解放前。

于是放心开始做实验了,测试了n种方法,更改了Raid的设置,比如磁盘缓冲策略,IO端口策略,区块大小,等等不同的组合一一作了实验,每次装好发现问 题依旧。直到有一次设置成端IO口缓冲的时候,发现性能有所提升,以为大功告成了,结果数据拷了200G又出现磁盘性能大幅度下降,测试读写速度降至几百 KB/S。这回没辙,干脆连把当初的备用磁盘换上,做成两个Raid5阵列来对比,看看是哪里的问题。结果发现第一组三个73G 15K SAS性能相当稳定,可是第二组三个1T的硬盘性能却非常不稳定。

重新盯着Raid阵列的设置项目,看到了64K簇,我记得有讨论过现在的硬盘扇区是512B,最近闹得很火的4K扇区,莫非这也有关系吗?于是百度了关键 词“64k 簇”,找到一些硬盘资料,比较有趣,windows默认是4K簇,如果设置更大的簇能改善磁盘大文件的连续读写性能。于是重新格式,格式化的时候发现如果 选了64K簇的话,Windows自带的NTFS磁盘压缩功能就失效了,这是个很有趣得问题。最后眼睛落在最角落的一个选项“background initialization”这个选项是enable。不是很明白,于是去查百度关键词“Raid 5 初始化”,结果有了新发现了,原来Raid阵列是要初始化的,以前硬盘容量小,初始化很快就完成了,现在容量大了,初始化要耗费好几天,有个网友报告说他 的5块500组成的Raid 5阵列初始化超过10个小时。继续查下去,找到一篇讲解关于Raid 5背景初始化的文章,因为Raid初始化的时间比较长,它需要将整个硬盘进行校验,相当于所有的盘低格一次,所耗费的时间太长,于是厂家就采用一项技术, 叫背景初始化,这样建好Raid阵列后不必等待初始化完成就可以开始使用,比如分区和格式化,但是系统仍然在后台检查磁盘,这时候硬盘IO操作非常频繁, 从而导致磁盘性能低下。

看到这里,于是明白了大概了,也就是说,我要么等上十几个小时等系统完成初始化,要么忍受低下的磁盘性能,等过一段时间磁盘整列初始化完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息