我目前正在研究 RAID 5 来为我的家用 PC 增加不断增长的数据,但有些事情我仍然不清楚。我目前的每个驱动器都由一个额外的“备份”驱动器备份,并且我只使用自定义脚本来经常备份我的数据。我目前有 4 个数据驱动器,外加 4 个驱动器来备份这些数据(加上 1 个没有备份的垃圾数据驱动器)。其中大多数是外部 USB 驱动器。我很快就会再次用完存储空间,所以我正在寻找更好的选择。我目前的惰性备份策略已经持续了大约 15 年。不幸的是,我的主要限制因素是成本,我不能简单地购买一整套新的更合适的驱动器来做任何最好的选择。每次扩展只需要双倍的驱动器就已经很昂贵了。
因此,我一直在研究 RAID 5 并考虑使用我现有的 9 个驱动器设置三个 RAID 5 存储(主要是因为每个驱动器只有 3 个具有相同的大小)。我将为此使用 Windows 10 存储池奇偶校验选项,为简单起见,我将其称为 RAID。
问题
1.我读到(显然)由于吞吐量限制,USB 驱动器不是 RAID 的好选择,我理解这一点。但我无处可寻到什么程度。与单个驱动器相比,我是否会期望读/写速度大幅下降?或者 RAID 5 是否会像 RAID 中最慢的 USB 驱动器一样“慢”?或者甚至可以稍微加快速度?
2.我不明白我在任何地方都能找到这样的说法,即除了一个驱动器故障之外,一个单一的 URE(不可恢复的读取错误)可能意味着整个 RAID 的丢失。我遇到过部分驱动器故障,但在过去 15 年中,我的驱动器从未在没有任何警告的情况下完全死机。如果只有某些扇区损坏,我是否会丢失与这些扇区相对应的条带上的数据,而不是整个 RAID?
3.假设我只有一个驱动器上的一些扇区发生故障,重建如何工作?我是否必须完全移除受影响的驱动器并全部重建?或者我可以在 RAID 之外使用第 4 个驱动器,将所有未损坏的扇区复制到它,然后只重建损坏的扇区,并将其写入第 4 个驱动器?更重要的是,当 2 个不同驱动器上的 2 个扇区以及 2 个不同 RAID 条带中的 2 个扇区损坏时,情况会怎样?我不明白为什么这会导致数据丢失,除了软件无法处理它。但到目前为止,我阅读的内容似乎表明这是数据丢失。如果是这种情况,我认为我不会使用 RAID,因为这似乎很不合理..
4.据我了解,当一个驱动器完全发生故障时,风险最高,我必须读取所有其他驱动器的所有数据才能重建它。我并不清楚这有多大压力。在我当前的设置中,我经常通过散列数据驱动器和备份驱动器上的每个文件并将其与保存在其他地方的散列列表进行比较来验证我的数据。我认为这与重建 RAID 驱动器一样有压力吗?
谢谢你的帮助
我对存储空间并不特别熟悉,所以我会尽量保持它的通用性。
更重要的是,USB 驱动器不够可靠。请参阅当 USB 设备消耗的电量超过集线器所能提供的电量时会发生什么?. RAID 仅对可靠性有意义,但永久连接还不够可靠。
到目前为止你很幸运,但你不应该假设这种情况会持续下去。突然的驱动器故障是一回事。此外,与直觉相反,新开箱即用的驱动器更容易出现故障。见浴缸曲线。
这不是 RAID 控制器(在软件硬件中)通常做的事情。假设您有备份并且努力失败比默默地忽略错误要好,因为那样您就不可能错误地认为一切都很好。这种故障被认为是一种极端情况,您应该在风险评估中考虑到它。如果在这种情况下您还没有准备好从备份中恢复,那么您需要更多的冗余。
在理想条件下,复制好的扇区应该与在理想条件下重建它们实际上没有什么不同,只是重建对阵列的压力更大。在不太理想的情况下,您将复制看起来不错但包含损坏数据的扇区。如果不与其他驱动器进行比较,您将无法检测到这一点,这正是重建所做的:它假设它们的数据比故障驱动器上的数据更可能是正确的。
这是一个棘手的情况,我不确定会发生什么。我会通过在虚拟机中设置一个小型 RAID 并通过故意破坏原始磁盘数据来模拟这种情况来对此进行测试。这不是一个完美的测试方法,因为损坏的数据!= 不可读的数据,但如果它适用于损坏,它应该适用于坏扇区。在 Linux 上,您可以使用dm-integrity + 故意损坏来更好地模拟这种情况。
重建通常包括从所有驱动器读取所有扇区,这比从所有驱动器读取所有数据更费力,就像您目前所做的那样。普通的旧 RAID 不区分已用空间和可用空间,因为文件系统是分层的。不过,具有集成 RAID 的文件系统(如 ZFS 和 btrfs)确实区分了可用空间和已用空间。它们还具有比普通 RAID 更强大的纠错功能。它们虽然不是 Windows,但我不知道是否存在任何 Windows 原生替代品。存在适用于 Windows的第 3 方btrfs 驱动程序,但我不确定它的可靠性如何。
重建过程中的额外风险来自 RAID 假设驱动器随机发生故障并且两个驱动器立即连续发生故障的可能性不大。在现实生活中,情况并非总是如此:类似驱动器的故障往往相互关联,因为它们具有类似的设计和类似的制造缺陷或缺陷。
最后,设置任何形式的 RAID 都涉及擦除驱动器,因此如果没有一些备件,您将无法设置它。
如果您的 USB 驱动器是 3.5 英寸型号,那么您很可能可以从中提取裸内部硬盘驱动器,这些驱动器可以像普通 SATA 驱动器一样使用。
我会考虑购买 NAS 并将所有存储整合到一个独立的设备中。使用 Synology NAS,您甚至可以在 RAID 中混合和匹配不同的驱动器大小,而不会浪费较大驱动器中的额外空间。它有点神奇,但它工作可靠,具有非常好的 GUI,并且它不使用任何专有技术 - 如果一切都失败了,您可以将这些驱动器插入任何 PC 并通过从 USB 启动 Ubuntu 来读取它们。