TA的每日心情 | 郁闷 2014-5-28 12:12 |
---|
签到天数: 90 天 [LV.6]常住居民II
普通用户
|
注册后可查看完整内容!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
如果你的数据具有比较高的安全要求,你会怎么做?组建RAID5还是raid6?
其实,如果是使用大容量的硬盘(无论是哪种硬盘,桌面盘也好,企业盘也罢),r5或者r6已经不再安全,单机存储,最安全的只有r1
如果要求更高,您可以学学emaic的办法,R1+异备+冷备,不过这个不是这个帖子的重点,如果有兴趣的话单独讨论
下面转帖开始
非原创,原帖地址见http://bbs.et8.net/bbs/showthread.php?t=1026112
很多人遇到过服务器RAID5挂掉,往往掉一个盘后,第二个盘也立刻挂掉。
大家都知道RAID5 一次允许一个盘缺失,
引用:
RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。 |
如果挂掉两个盘,数据就玩完了。
理论上两个硬盘同时失效的概率是很低的,但为什么会这样呢?
引用:
从数学角度说,每个磁盘的平均无故障时间 (MTBF) 大约为 50 万至 150 万小时(也就是每 50~150 年发生一次硬盘损坏)。实际往往不能达到这种理想的情况,在大多数散热和机械条件下,都会造成硬盘正常工作的时间大幅减少。考虑到每个磁盘的寿命不同,阵列中的任何磁盘都可能出现问题,从统计学角度说,阵列中 N 个磁盘发生故障的机率比单个磁盘发生故障的机率要大 N 倍。结合上述因素,如果阵列中的磁盘数量合理,且这些磁盘的平均无故障时间 (MTBF) 较短,那么在磁盘阵列的预期使用寿命过程中,就很有可能发生磁盘故障(比方说每几个月或每隔几年就会发生一次故障)。
两块磁盘同时损坏的几率有多大呢(“同时”就是指一块磁盘尚未完全修复时另一块磁盘也坏掉了)?如果说 RAID 5 阵列的MTBF相当于MTBF^2,那么这种几率为每隔10^15个小时发生一次(也就是1万多年才出现一次),因此不管工作条件如何,发生这种情况的概率是极低的。从数学理论角度来说,是有这种概率,但在现实情况中我们并不用考虑这一问题。不过有时却是会发生两块磁盘同时损坏的情况,我们不能完全忽略这种可能性,实际两块磁盘同时损坏的原因与MTBF基本没有任何关系。 |
今天刚好在测试一个ZFS阵列,能清晰地进行数据校验并看到结果,于是正好分析了一下原因。
对这种情况来说,这里首先要引入一个一般人不常接触到的概念:
BER 硬盘误码率,英文是BER(Bit Error Rate),是描述硬盘性能的一个非常重要的参数,是衡量硬盘出错可能性的一个参数。
这个参数代表你写入硬盘的数据,在读取时遇到 不可修复的读错误的概率。
(不能恢复的ECC读取错误)从统计角度来说也比较少见,一般来说是指读取多少位后会出现一次读取错误。
随着硬盘容量增加,驱动器读取数据的误读率就会增加,而硬盘容量暴涨,误码率的比例一直保持相对增加。一个1TB的驱动器是需要更多读取整个驱动器,这是在RAID重建期间发生错误的概率会比300G 驱动器遇到错误的几率大。
那这个错误的几率到底有多大呢?或者说,我们写入多少GB数据,才会遇到1byte的读取错误呢?
看这篇文章:
http://lenciel.cn/docs/scsi-sata-reliability/
对于不同类型的硬盘(以前企业级、服务器、数据中心级硬盘用SCSI/光纤,商用、民用级别是IDE;现在对应的则是SAS/SATA;
他们的MRBF(平均无故障时间)是接近的,但是BER便宜的SATA硬盘要比昂贵的SCSI硬盘的误码率(BER)要高得多。
也就是说,出现某个sector无法读取的情况,SATA要比SCSI严重得多。
这两种硬盘(企业级的SCSI/ FC/ SAS 磁盘)/(商用/民用级的IDE/SATA)BER的差距大概是1-2个数量级。
按照文中的计算,一个1TB的硬盘,通常你无法读取所有sector的概率达到了56%,因此你用便宜的大容量SATA盘,在出现硬盘故障的情况下重建RAID的希望是:无法实现。
我们回到RAID5的情况来。
在RAID5大行其道之初,硬盘的容量基本不超过100GB.
在过去,做RAID5一般RAID的磁盘容量都不大,比如72GB。无法恢复一个RAID的概率按照文献是1.1%(注意,1.1%已经很不错了,因为你在硬盘故障之后,才需要去恢复RAID。两个概率是要相乘的。
当硬盘容量上升到200GB,假设出现故障的概率是线性增长的[1]。那么失败率有11%,估计负责存储的人就被老板操的厉害了。
但是56%,也就是你用1TB的SATA硬盘做RAID5的话,当你遇到一个硬盘失效的情况,几乎剩下的两个以上硬盘(RAID5最少组合是3个)铁定会遇到一个硬盘读取错误,从而重建失败。
所以,以前小硬盘做RAID5,基本很少遇到同时挂掉两个盘的情况;现在硬盘大了,出问题的概率也越来越大了。 |
评分
-
查看全部评分
|