PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

消费级硬盘raid5的实际可靠性不如单盘

[复制链接]
xudaiqing 发表于 2014-11-6 20:45 | 显示全部楼层 |阅读模式
点击数:9350|回复数:32
本帖最后由 xudaiqing 于 2014-11-6 20:51 编辑

貌似没人在这里提过这方面的问题,发出来分享下

长期以来消费级硬盘URE或者叫不可恢复性读取错误(来自西数datasheet)一直保持10^-14,这意味着每12.5tb的数据就可能出现一个错误。

对于一个由4个4T硬盘组成的raid5系统(或raidz系统)当一块硬盘完全损坏时,有接近100%的几率会遇到一个比特的数据出错。对于大部分的raid控制器来说这意味着重建失败。也就是说只要有一块硬盘损坏就可以认为raid系统已经损坏,可以准备数据救援了(当然先得再准备至少3块4T硬盘)。

如果使用10^-15的企业盘或西数的RED pro仍然会有约10%的几率重建出错。相比它们高昂的价格这样的结果实在无法让人满意。

如果需要达成更高的可靠性应该使用raid6 或者 raidz2 或者3向镜像。在损失一块硬盘的情况下,再次在两个硬盘上同位置出现数据错误的可能性是很低的。

tips:
1. raid5的用途:低成本实现超大容量单分区;最低成本获得超过单个硬盘性能极限的速度。当然是以损失可靠性作为代价的。
2. 为什么平时很难感觉到URE带来的影响:系统会在数据出错时猜一个它认为最合适的数据上去。由于URE产生的错误发生在单个比特,所以很难察觉。如果某个压缩包出错无法解压,或者音乐、视频、照片发生些奇特的变化等比特反转现象,URE是一个主要原因。
3. 高端的raid会允许重建时出现URE,就是在出现URE时随机猜个数据上去。

评分

参与人数 1活跃度 +2 收起 理由
download007 + 2 做存储开发,几乎周周能遇到RAID5降级或崩.

查看全部评分

nighttob 发表于 2014-11-7 00:51 | 显示全部楼层
UBER跟你是不是用RAID关系并不大
从概率上来说平均每写入12TB就会有一个bit不可纠正错误
就算你是单盘,反复写12TB也会有这个错误

只不过在单盘上出现就是实打实的1bit错误,在阵列里面就要分析是否应该从XOR中恢复数据

阵列的不可靠性是体现在系统复杂度上的,UBER只贡献了其中的一小部分

片面追求更高可靠性而选择更高RAID级别就是走进死胡同,没有合理的数据储存策略,关键数据该丢还是得丢。
xudaiqing  楼主| 发表于 2014-11-7 08:50 | 显示全部楼层
本帖最后由 xudaiqing 于 2014-11-7 08:52 编辑
nighttob 发表于 2014-11-7 00:51
UBER跟你是不是用RAID关系并不大
从概率上来说平均每写入12TB就会有一个bit不可纠正错误
就算你是单盘,反 ...

不可否认的是raid5带来了虚假的数据安全提升感。UBER问题更是使得通过raid5来防止一块硬盘损坏这一方案值得质疑。
没人会认为单盘使用安全,但为了防止一块硬盘损坏造成数据丢失而使用raid5和raidz,并觉得自己比单盘安全的估计不少。而事实上它们不比单盘安全。
毕竟会在这里讨论在nas上使用raid5的一般都不具备数据恢复的经验和条件,重建失败即使其实只是一个比特的错误都是很大的问题。

nighttob 发表于 2014-11-7 09:47 | 显示全部楼层
xudaiqing 发表于 2014-11-7 08:50
不可否认的是raid5带来了虚假的数据安全提升感。UBER问题更是使得通过raid5来防止一块硬盘损坏这一方案值 ...

是这样

我也一直在倡导没有必要的尽量用单盘。
承担不了成本和风险的就用RAID,这就是作死。
xmiangui 发表于 2014-11-7 13:55 | 显示全部楼层
本帖最后由 xmiangui 于 2014-11-8 00:20 编辑

感觉消费级用户组R5要么不出问题,出问题很容易悲剧。单盘其实坏1个bit也没什么大不了的,糟糕点也就损失个文档。相反组了R5以后,万一运气不好重建失败那真是……一般用户有能力处理吗?没有吧,这损失可就不止一个文档了

我以前呆的公司都嫌R5麻烦,又有点钱,一律用R10。一般消费者还是养成做备份的习惯吧,就算组了合理的Raid,备份也是很有必要的

还有我个人比较看好SSD内部的XOR,虽然大家都喜欢把它和Raid5做类比,但SSD XOR的粒度毕竟比R5保一块盘细腻得多,发现问题更早,解决问题更快,掉数据概率更低
xmiangui 发表于 2014-11-8 00:12 | 显示全部楼层
本帖最后由 xmiangui 于 2014-11-8 00:36 编辑
xudaiqing 发表于 2014-11-7 08:50
为了防止一块硬盘损坏造成数据丢失而使用raid5和raidz,并觉得自己比单盘安全的估计不少。而事实上它们不比单盘安全 ...

这样的人太多了,特别是R5“性价比”高,特别推崇家用R5

前段时间还有人和我说存储千万不要用SSD,因为:
1、HDD价格便宜可以随便组Raid,特安全,SSD组Raid成本就高了(也不看看多少IOPS)
2、HDD坏盘数据还有救,SSD一暴死就是全坏
(感情只要不暴死就不算坏是吧,感情Raid数据恢复和单盘一样容易是吧)
3、HDD放在服务器上只要不坏,损耗只有通电时间,SSD实打实的消耗PE
(尼玛HDD只要不暴死健康度永远是100%是吧,MTBF是140w所以只要不暴死就能用140年是吧)

然后摆事实讲道理我和说HDD全盘暴死比SSD概率还低,只要不是暴死有Raid撑着比SSD不知道安全多少……

大概就是网上看了几篇Raid原理介绍,就把Raid当作神器了。这帮人真该扔他们去数据中心义务搬砖(换盘),最好再经历次生产系统重建阵列什么的。

评分

参与人数 1活跃度 +3 收起 理由
frontwing + 3 我很赞同

查看全部评分

htyjojo 发表于 2014-11-9 01:56 | 显示全部楼层
本帖最后由 htyjojo 于 2014-11-9 01:57 编辑

马克一下,正想要组个raid5的小白路过

对于一个由4个4T硬盘组成的raid5系统(或raidz系统)当一块硬盘完全损坏时,有接近100%的几率会遇到一个比特的数据出错。对于大部分的raid控制器来说这意味着重建失败。也就是说只要有一块硬盘损坏就可以认为raid系统已经损坏,可以准备数据救援了(当然先得再准备至少3块4T硬盘)。

楼主这段话,是不是可以理解为,当有一块硬盘完全损坏必须换掉时,剩下的没坏的硬盘里,多半也存在一个比特的数据出错的情况,这个时候只是简单地换上一块新硬盘已经解决不了问题了?

西数red pro就是平常说的红盘吧?这东西前几天京东正好在搞活动,价格和消费级的差不多了
htyjojo 发表于 2014-11-9 02:00 | 显示全部楼层
  本来想做个raid5就是为了找一个比单盘安全性好些又比raid1省钱的存储方案,没想到raid5实际中还有这些幺蛾子···············
仙賢戀軒 发表于 2014-11-9 13:24 | 显示全部楼层
嘛。概率不是这么算的

举个例子,翻硬币的概率是50%,但这不代表翻两次一定有一次是会是反面。
同样滴,10^-14下重建也自然不是接近100%,10^-15下更不是10%

实际上,概率是建立在重复实验的基础上的,个人不用过多重视这个数字
你的阵列挂了,要重建,这种事只做一次,所以结果只有成功或者失败

而Raid5的问题就在于把一块盘数据损坏的风险波及到了整个阵列上,在重建的过程中如果发生了其他的问题,那么整个阵列就一起挂了。
玩家会觉得Raid5安全是因为当盘发生问题之后似乎看起来还有一次机会,但实际上这个机会是建立在风险扩大的基础上的。

点评

形象点就是,“百年一遇的大洪水”并不是每100年出现一回,有可能隔一年就来,也可能100多年都没遇到。  发表于 2014-11-9 13:48
download007 发表于 2014-11-9 14:48 | 显示全部楼层
htyjojo 发表于 2014-11-9 01:56
马克一下,正想要组个raid5的小白路过

对于一个由4个4T硬盘组成的raid5系统(或raidz系统)当一块硬盘完全 ...

嗯,实际上有些错误是静默错误,平时阵列没有读取到那里时发现不了。等到阵列重建时这些静默错误就会集中爆发,因为一过校验就全暴露了
htyjojo 发表于 2014-11-9 15:13 | 显示全部楼层
download007 发表于 2014-11-9 14:48
嗯,实际上有些错误是静默错误,平时阵列没有读取到那里时发现不了。等到阵列重建时这些静默错误就会集中 ...

谢谢哦,大概能理解是怎么回事了
暴疯狂笑 发表于 2014-11-9 18:31 | 显示全部楼层
RAID1不是挺好的,搞不明白很多人一上来就追求RAID5。。。
jerrytot 发表于 2014-11-9 23:55 | 显示全部楼层
有一点不明白, 假如重建过程中剩下正常的硬盘之中有一块盘出现一个比特的数据出错, 那么整个RAID就崩溃了无法识别或是无法读取了吗?
jerrytot 发表于 2014-11-10 00:17 | 显示全部楼层
刚才百度脑补了一下, 大概就是重建过程中正常的盘如果出现读取错误, 那么那块盘就会踢出阵列导致重建失败, 整个阵列也就毁了, 这也就是为什么SAS硬盘的容量都不大的原因, 为了降低读取错误
davis 发表于 2014-11-10 10:12 | 显示全部楼层

早两年想到这点就好了,办公室以前用了个色卡司4槽位的NAS,刚开始满插用raid 1+0的,后来有个槽位好像出问题了,我接手说3块盘用raid5正好,结果出现了两次坏掉两块盘,整个raid全部数据阵亡的惨剧,现在我还不知道是盘的质量问题(希捷2TB监控盘)还是NAS的问题……
早知道就直接raid1省事多了
毛毛猫 发表于 2014-11-10 13:24 | 显示全部楼层
本帖最后由 毛毛猫 于 2014-11-10 14:41 编辑

一切都是概率问题
固然HDD数据失效之后如果不去读取,那么是发现不了错误的,同样不读取,硬盘也不会报错
就像我之前报废的一块2T硬盘,存了1T多的数据,一直没写,也没读书,然后1年多之后下个BT文件存在里面,然后就卡了,所有的数据都复制了出来,然后格式化一下05直接暴涨到1K5
所以RAID卡都有自带的定期的全盘后台校验功能,貌似一般是2周一次
实际上大多正式全盘教研之后盘的错误区块太多被踢下线
那种直接不识别什么的电路机械结构方便的故障其实是极少的
如果没有这个功能,那么RAID1也是不安全的,没有任何方式是可靠的
frontwing 发表于 2014-11-10 14:02 | 显示全部楼层
jerrytot 发表于 2014-11-10 00:17
刚才百度脑补了一下, 大概就是重建过程中正常的盘如果出现读取错误, 那么那块盘就会踢出阵列导致重建失败,  ...

7200转几TB的SAS盘多得是,这个没有必然联系,是万转级别的容量难做大。
nighttob 发表于 2014-11-10 15:07 | 显示全部楼层
毛毛猫 发表于 2014-11-10 13:24
一切都是概率问题
固然HDD数据失效之后如果不去读取,那么是发现不了错误的,同样不读取,硬盘也不会报错
...

不是所有卡都会巡检
LSI的是每周一次

你的RAW ERROR太多了,建议发帖前先ECC一遍。
毛毛猫 发表于 2014-11-10 17:25 | 显示全部楼层
nighttob 发表于 2014-11-10 15:07
不是所有卡都会巡检
LSI的是每周一次

没巡检,拿着卡可靠性确实是问题
copyleft2000 发表于 2014-11-15 02:08 | 显示全部楼层
nighttob 发表于 2014-11-7 09:47
是这样

我也一直在倡导没有必要的尽量用单盘。

重要数据RAID1,音乐、电影等其它数据单盘如何?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部