CSDN|“不要害怕 RAID!”
本文插图
作者 |louwrentius@gmail.com 译者 | 苏本如 , 责编 | 郭芮 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews)以下为译文:
我在互联网上经常看到这样的说法:RAID很危险 , RAID磁盘阵列在重建过程中失败的可能性几乎是100% , 因为硬盘驱动器已经变得非常大 。我觉得没有什么比这种说法更离谱了 , 所以我写了这篇文章来反驳这种荒诞的说法 。对于家庭用户和小型企业来说 , RAID磁盘阵列仍然是在一个地方存储大量数据的可靠和高效的方法 。
对RAID可靠性的认识互联网上有很多关于居家用户突然发现他们的RAID磁盘阵列失效的可怕故事 。 这些故事可能导致了人们普遍对RAID持消极态度 。你可能会指责我责怪受害者 , 但在很多情况下 , 我确实想知道这些事件到底是由于用户错误、运气不佳或真正由于RAID导致的问题 。 我们都知道 , 报道总有一种偏见:你不会听到无数没有问题的人的声音 。无论如何 , 对RAID的伤害已经造成了 , 但我仍然认为(软件)RAID是完美的 。
关于不可恢复读取错误(URE)的荒谬说法这个问题是从2007年ZDNET上发表的一篇糟糕的文章开始的 。在那篇文章中 , 有人认为 , 随着驱动器变得更大 , 但是由于没有同时变得更加可靠 , 你将看到更多的不可恢复读取错误(URE) 。 更多的容量意味着更多的扇区 , 因此任何一个驱动器出现问题的风险变得更大 。不可恢复读取错误(URE)是硬盘驱动器无法读取扇区的严重事件 。 对于我这样的老人来说 , 这听起来像是“坏扇区”的定义 。 那篇文章认为 , 平均每读取12.5TB的数据就会遇到一个URE错误 。根据ZDNET上这篇文章的逻辑 , 从14 TB驱动器复制所有数据可能是一个不可能完成的任务 , 因为在完成复制之前 , 你可能会遇到一个错误的扇区 。这对于RAID磁盘阵列来说是一个非常大的问题 。 RAID磁盘阵列重建包括完整读取所有剩余驱动器的内容 。 所以在RAID重建期间 , 你一定会遇到URE错误 。好消息是你不必担心这些 。 因为这不是真的 。实际上 , 硬盘并不是那么不可靠 。 相反地 。 我认为它们非常可靠 。 如果你不确认 , 你可以参考Backblaze 2020年第1季度硬盘统计报告 。那篇臭名昭著的ZDNET文章的预言并没有实现 。 硬盘驱动器的URE规范描述的是最坏的情况 , 它似乎更多的是关于营销(一种区分企业驱动器和消费者驱动器的方法)而不是现实 。如果ZDNET上的那篇文章是真的 , 那么我自己应该会遇到很多URE错误 , 因为许多RAID阵列的scrub/patrol读取已在不同的RAID阵列中完成 。RAID从来没有停止工作 , 而且将会继续发展 。
清理(Scrubbing)可以抵御不良扇区的影响当一个只能容忍一个硬盘驱动器出现故障的RAID磁盘阵列中的一个驱动器出现故障时 , 非常重要的一点是 , 所有剩余的硬盘都不能再出现任何读取错误 。 由于这个阵列不再有冗余 , 由坏扇区引起的任何读取错误都可能意味着整个阵列丢失 , 或者至少某些文件损坏 。每个RAID磁盘阵列都支持“清理” 。 它是一个RAID阵列中每个扇区都被读取的过程 , 这实际上会导致所有硬盘驱动器的所有扇区都会被读取 。清理(Scrub)是预先检查坏扇区的过程 。 如果在一个硬盘驱动器上发现坏扇区 , 则可以更换该硬盘驱动器 , 以便在将来可能的重建过程中不会造成问题 。 更换硬盘驱动器本身将导致磁盘阵列的重建 , 但是如果清理没有发现任何其他硬盘驱动器上有坏扇区 , 重建将不会出现问题 。一个没有经过常规清理的RAID磁盘阵列随时可能有灾难性的后果 。 坏扇区可能在另一个硬盘驱动器上累积 , 当一个硬盘驱动器实际发生故障时 , 整个磁盘阵列可能会因为剩余硬盘驱动器(其中一个)上未检测到的坏扇区而丢失 。如果要在RAID磁盘阵列上以可靠的方式存储数据 , 则需要确保对磁盘阵列进行定期的清理 。 即使你不使用RAID , 我还是建议每个月对你拥有的每个硬盘进行一次长时间的SMART测试 。默认情况下 , Ubuntu会对Linux软件RAID磁盘阵列一周进行一次清理 。 有关这方面的详细信息 , 请查看/etc/cron.d/mdadm的内容 。如果你在Linux上使用ZFS , 而且运行的Linux发行版是Ubuntu , 你的磁盘阵列会在每个月的第二个周日自动进行一次清理 。默认情况下 , Synology或QNAP等NAS供应商都启用了数据清理 。 请根据你的特定NAS手册来调整清理频率 。 我建议每个月至少安排一次清理 , 且在夜间进行 。
推荐阅读
- CSDN|牛!2020年,这项技术将获得99000000000元人民币“国家领投”!
- CSDN|儿童节教你用 Python 画出童年回忆
- CSDN|Rust 让人奔溃的那些特性!
- CSDN|基础软件,未来只有开源一条路?
- CSDN|本来想用“{{”秀一波,结果却导致了内存溢出!
- CSDN|云计算,巨头们的背水一战
- CSDN|2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
- CSDN|如何在容器内高效编程?
- CSDN|“编程能力差,90%输在了选择上!”CTO:多数程序员都是瞎努力!
- CSDN|你的 AI 程序无人问津?不是不够好,而是缺一个展示的舞台