RAID5 的数据重建真的很糟糕么?

2020-07-03 08:48:44 +08:00
 7DLNU56W

最近准备组一个家用的小型 RAID5,在网上查了一些与 RAID5 相关的内容,总体感觉就是 RAID5 重建数据非常慢,甚至有一篇文章说重建了一周才完成 17%,但这些内容都是很早发布的了,不知道现在还有没有参考价值,用过 RAID5 的朋友们,RAID5 的数据重建真的有这么糟糕么?

还有一个问题,有的文章说 RAID5 坏掉一个盘很快就有另一个盘坏掉,这个大家有遇到过么?

12400 次点击
所在节点    硬件
38 条回复
ohao
2020-07-03 09:09:03 +08:00
取决于
1. 你是 HW(硬件阵列卡)还是 SW(软,比如板载卡也是软的)
2. 你的使用 , 是大量读,还是写

Rebuild 的过程本身不影响使用,你不需要管,自动处理的
如果是 SW,系统会卡顿,因为大量写数据导致的
如果是 HW,带缓存的不用考虑,损耗不大

另外 Rebuild 速度取决于你的配置 文件系统 块大小 文件数量
3 块 2T 的硬盘和 3 块 10T 的硬盘 3 块 SSD 硬盘 速度可能一样吗?

什么有的文章这种就不用看了,没什么意义
(就像玄学一样,100 个人 100 个结果,99 个没问题的没发布过使用正常的内容,而坏的那 1 个发文吐槽坏了,容易坏)

你不要浅显的看 Raid5 就是 3 块可以坏 1 块不丢数据,你要看的是 Raid 的结构,Raid5 数据镜像的流程
知其然而知其然
0987363
2020-07-03 09:12:23 +08:00
没那么严重。。zfs raidz1 重建过好多次了,没问题
Srar
2020-07-03 09:15:53 +08:00
靠谱阵列卡+有热备盘恢复的时候都是从坏盘拷数据到热备盘 某几个扇区拷不出来才走重建的 而且重建也只重建拷不出来部分

所以有个好阵列卡+有热备盘非常关键
Srar
2020-07-03 09:21:33 +08:00
顺便据说群晖 DSM7.0 也要上这个功能
@Srar
zmj1316
2020-07-03 09:32:16 +08:00
盘一起坏是因为买了同一批次的,所以寿命都接近要坏一起坏了,这种阵列盘一般都要混着买的
kop1989
2020-07-03 09:40:30 +08:00
我看网上主要是说这种 raid,坏了一个盘之后,会对其他盘进行大量读。如果是同时买的盘,一块坏了其他盘也就快坏了。在这种读写压力下就很容易再坏一块。而对于 raid5,同时坏两块就是 GG
ryd994
2020-07-03 09:55:40 +08:00
不至于那么慢,但也快不到哪去。你说的例子可能是 CPU 或者内存不够。那别说重建了,正常读写都费劲。

就算是 2TB 单盘,100MB/s 读写,那也要 5.5 小时才能重建完成
4T 单盘翻倍,8T 单盘又翻倍,就是 22 小时了
你所有硬盘要满负荷工作 22 小时,坏一块的可能性太大了
更恶劣的是硬盘都有 ure,一般盘的 ure 也就 10^-15 。这么多数据,还没有任何冗余度,重建过程中有错误数据很正常

用不用 raid5 取决于你对数据损坏的容忍度以及单盘大小。所以组 raid 单盘太大不是好事。单盘太小主要是性能问题。

zfs 会稍微好一点。首先 zfs 有校验,遇到 ure 能查出来,你可以死个明白。
其次 zfs,和大多数软 raid 和各种高级硬件 raid 一样,可以只重建已用的部分。但是 zfs 因为是文件系统自带,可以更细致一点。
hakono
2020-07-03 10:01:06 +08:00
花了一周时间那个,还有一个坑是使用的是 SMR 硬盘

正常 PMR 硬盘重建大致在几个到十几个小时之间,而 SMR 硬盘的话重建会以月为单位
chinesestudio
2020-07-03 10:04:01 +08:00
6 盘位 raidz2 妥妥的 家用基本不会丢数据 重要数据 duplicati 网络再加密备份一下
charce
2020-07-03 10:07:12 +08:00
这个东西都不能一概而论的,都是概率问题。
RAID5 因为只有一个硬盘容错,重建的时候,另外两个硬盘里任何一个坏掉都会出问题,两个硬盘加起来损坏的概率就提高了。
RAID5 重建确实慢,但是它的好处也很明显啊,经济性比较高啊,三个硬盘得到两个硬盘的容量,又有一个容错硬盘。在盘符紧张的时候就特别受用。
tomczhen
2020-07-03 10:23:30 +08:00
不用纠结这个,记住 raid 不能替代备份就行。raid 是提高可靠性,不是用来备份文件的,采用哪种 raid 类型只需要衡量可靠性和成本需求,至于备份,另外考量。
GM
2020-07-03 10:34:06 +08:00
@0987363 人家说的是 RAID5,你举个 Raidz1,离题啦。
libook
2020-07-03 11:03:47 +08:00
重建速度和硬盘大小、读写速度、阵列程序处理速度都有关系,比如 1T 的机械硬盘重建数据应该也用不了多少时间,但是如果是 12T 的硬盘,可能就得需要几天的时间。

我自己组了 NAS,做了一些 RAID 的调研,RAID5 是一块以上硬盘损坏就丢失数据,翻车主要在于:
1. 同一生产批次的硬盘寿命往往非常相近,坏的时间点也可能非常相近,1 块盘坏了换新盘重建完成之前另一块盘坏的概率较高。
2. 一旦有一块盘坏了,就处于没有任何保障如履薄冰的状态,重建时间长的情况下(比如大容量重建好几天),其他盘有可能在重建过程中达到寿命极限坏掉,特别和第一条配合效果极佳。
3. (待证实)在冷数据长期不读写又没有闲时校验机制的情况下,可能有些数据已经损坏了,只不过没有读到这里没有发现,一旦发现有数据损坏的时候,其实已经有了多处损坏,这些损坏的地方会在重建的时候暴露出来。

所以如果数据真的很重要的话,建议上 RAID6,或 RAIDZ2 。当然多组几套小容量的阵列也是可以考虑的,大幅缩短重建时间可以让翻车概率大幅减低,而且每套阵列之间互相故障隔离。
如果数据重要性一般,但不希望坏了多块盘上的数据就难以恢复,可以参考一些快照方案,比如 SnapRAID 。
如果以读速度为主要需求的话,就无所谓了。

我自己是 4 块盘采用 SnapRAID,3 块数据 1 块校验(可以自定义的),由于数据还是按照正常使用 3 块硬盘的方式存储的,所以 1 个文件只会在 1 块硬盘上,数据损坏也只是损坏相连的几个文件,其他文件可以正常读取,1 块校验盘的配置允许像 RAID5 一样 4 块里任何一块被替换成新盘可以直接重建。缺点是校验数据是非实时生成的,需要手动或用定时脚本触发校验数据的更新(这时候有个好处就是如果在更新校验数据之前误删了数据,SnapRAID 支持单文件恢复可以很方便还原回来),且因为像直接用 3 块硬盘一样,所以没有读写速度上的提升。不过我个人就是存一些照片、家庭录像、电影的数据,读写频率可以接受一天一更新校验数据,机械硬盘的读写速率对我来说也能满足需求。
为了找文件不用频繁在 3 块硬盘里切换,我用了 MergerFS,可以用软件的形式把 3 块硬盘的目录树重叠在一起,虚拟成 1 块硬盘,和 LVM 的区别在于其层级位于文件系统之上,3 块硬盘依然可以独立挂载、独立访问且与虚拟出来的 1 块磁盘的访问兼容。

最后有一些建议:
1. 组阵列最好不要用同一批次的盘,可以隔一段时间买一块,或者买同一批次的盘,提前间隔较长时间买新盘替换下来,避免一起坏。
2. 定期做全套的 S.M.A.R.T.检查,以便及时发现问题。
3. 注意叠瓦盘和非叠瓦盘可能不能混在一起用于实时 RAID 方案。
reus
2020-07-03 11:42:37 +08:00
用 zfs,定期 scrub 保平安
594duck
2020-07-03 13:17:55 +08:00
RAID10 比 RAID5 好,可是贵。RAID5 当重建的时候可能拉死另一块硬盘的情况。我们生产环境遇到过。所以 12 年之后我们都用 RAID10 不用 RAID5
7DLNU56W
2020-07-03 14:03:43 +08:00
感谢大家的帮助,我结合大家说的以及我找的一下不十分权威的资料,简单总结一下:
1.RAID5 既不是想网上好多文章说的那么危险,也不是想象中的那么安全,如果有非常重要的数据,建议用 RAID10 或另外再备份一份;
2.尽量用硬件阵列而不是软件阵列;
3.数据重建速度与单块硬盘容量,硬盘读写速度等很多因素有关,建议用多块较小容量的硬盘代替少块大容量的硬盘;
3.数据重建的过程较长时间的工作中有一定概率再损坏一块硬盘,建议尽量不要用同一批次的硬盘并定期检查硬盘;
4.尽量使用非叠瓦式硬盘。

还有很多内容,由于我对有的概念还在逐渐学习中,就先不总结了。
wsy2220
2020-07-03 14:08:00 +08:00
RAID 不能替代备份
goldenalex
2020-07-03 14:23:12 +08:00
我有个问题。。。借地方问一下。。。

我现在弄了个 raid5 做备份,除了常规的冷备份以外,还要注意点啥?

我用的是群晖 918+,这个设备是属于 hw 还是 sw 啊?
Citrus
2020-07-03 14:32:38 +08:00
真实数据,4T * 4 RAID 5 QNAP NAS Rebuild 耗时平均在 10 小时左右浮动,速度在 140M/s 左右。原硬盘为 4T 红盘 SMR,新硬盘为希捷酷狼 CMR 。
Nadao
2020-07-03 14:37:01 +08:00
@594duck

Raid10 应该没 Raid5 快。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/686736

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX