由于硬盘的空间成本比导致容量对奇偶校验 Raid 系统构成越来越大的挑战(URE 概率、多日重建给驱动器带来压力并冒着二次故障的风险),是否有理由认为它们也为家庭和小型企业使用多磁盘 (>2) Raid 1 配置提供了机会/建议?也就是说,与奇偶校验方案相比,Raid1 浪费了空间,但对于廉价的多 TB 驱动器,空间是否可以说是我们拥有的商品到与条带化、重建等所需的内存、带宽、CPU 时钟、停机时间等相比,这是一种浪费。
如果我正确理解了该技术,则 Raid 1 (>2) 配置:
- ..重建不会失败,只要一个驱动器可访问,文件也可以访问。
- ..相对于驱动器数量而言,它提供了更高的安全性。这基本上是比率的反转,对吧?三个磁盘上的 Raid5 提供 66% 的可用容量,可以处理 33%(1 个驱动器)的故障。Raid1 仅提供 33% 的容量,但可处理 66% 的故障(2 个驱动器)。
- ..具有更简单、更强大的恢复机制。在恶劣条件下,无需重建 Raid 即可访问数据。驱动器可以在不同系统之间迁移。
最后一点与 unRaid 的理念类似,即文件跨驱动器保存,而不是条带化保存,而第二点则让我想到了对小型企业更有吸引力的东西:优先考虑数据安全而不是数据容量。如果风险更大,那么能够存储更多数据有什么意义呢?
问题:
与 Raid1 写入时复制不同,‘手动镜像’内容的策略是否可以避免非 ECC 内存损坏的潜在问题?由于写入每个磁盘的工作将是一个不同的过程,因此在一次写入中发生的相同内存故障理论上不会在另一次写入中发生?
是否有设计用于两个以上驱动器的 Raid1 软件/硬件,因此可以处理传统上与 raid1 不同的行为,例如位腐烂、URE 等?使用传统的磁盘镜像设置,如果磁盘 A 报告 0 而 B 报告 1,则您不知道是谁翻转的,但在三个或更多磁盘解决方案中,您无法“纠正”奇怪的磁盘吗?A=0、B=1、C=0,因此 B 一定翻转了?
同时,这样的 Raid1 解决方案是否支持从两个以上的磁盘并行读取以提供更快的读取速度?这一点尤其重要,因为我认为许多企业读取相同数据的次数比编辑次数要多得多。
Raid 不是备份解决方案。因此,如果您遵循良好做法并拥有 2-3 个存储位置,是否打算通过 raid 方案保护其中只有一个位置免受驱动器故障的影响,还是您希望第二个异地位置也具有多磁盘冗余?是否认为即使是存储在不同位置的单个驱动器也受到保护,免受设备故障的影响,因为它与其他位置的驱动器处于“有效”镜像关系?如果不是,那么 Raid1 是否不会为最低驱动器数 (2) 提供一些冗余?
更新:
关于第 1 点,正如一些人指出的那样,这确实依赖于没有错误的数据源。然而,这几乎适用于任何存储/备份策略。我们可能在 NAS/SAN 解决方案中使用复杂的系统来确保数据完整性,但我们存储在其中的数据通常由没有此类措施的工作站和设备生成。大多数生产 PC 都是为成本或速度而构建的。您用来进行 CAD 或财务或 powerpoint 等的计算机不太可能使用 ZFS 格式的驱动器和 ECC 内存,尤其是在小型企业中。
在我的具体示例中,我要存储的内容之一是相机的输出。我必须假设它保存到 SD 卡上的照片和视频是“正确的”,如果损坏发生在数据链中的某个点,我无能为力。
建议:
如果 RAID 级别不支持此策略,是否有任何软件包可用于手动执行我所说的某些活动?通过排队、离散的 rysnc 任务写入副本?bash 脚本可以执行定期的位腐烂清理?只需对所有磁盘上特定文件的所有副本进行校验和,然后使用正确磁盘上的副本覆盖具有错误校验和的磁盘上的副本?
答案1
回答问题
手动镜像内容将绕过一些可能存在与 ECC 相关的问题,但也可能引发其他问题。它还假设源数据尚未因先前的故障而损坏。
这取决于硬件/软件。我认为大多数 RAID1 实现不会拾取位腐烂,但会处理 URE。读取一段数据通常只从 1 个驱动器而不是所有驱动器进行 - 这将允许整体读取速度更快。
如果 RAID1 支持所有 3 个磁盘,那么使用更多磁盘,并行读取速度会更快。据我所知,mdadm(即基于 Linux 软件 raid 的解决方案)不支持此功能,因为第 3 个驱动器被视为热备用。
是否对异地位置进行 RAID 是一个稳健性和可靠性问题。这将是最佳实践,但不是绝对必要的。在我看来,硬盘是易耗件 - 拥有 RAID 可以更换故障而无需重建并提高耐用性。这确实是一个成本效益讨论。
答案2
让我们从以下假设开始:
如果我正确理解了该技术,则 Raid 1 (>2) 配置:
..重建不会失败,只要一个驱动器可访问,文件也可以访问。
这是事实,但它不能防止雷击、盗窃、洪水等。因此,虽然您可以降低一种风险,但仍然需要异地备份。
..相对于驱动器数量而言,它提供了更高的安全性。这基本上是比率的反转,对吧?三个磁盘上的 RAID5 提供 66% 的可用容量,可以处理 33%(1 个驱动器)的故障。Raid1 仅提供 33% 的容量,但可处理 66% 的故障(2 个驱动器)。
这假设驱动器故障是独立的。在 SAS 上可能就是这种情况(除非驱动器发生严重故障并损坏其他驱动器),但对于 PATA 或 SATA 则不是这种情况。通常,挂起的磁盘意味着该控制器上的所有驱动器都将挂起。您仍将拥有数据,但您也会有停机时间。
..具有更简单、更强大的恢复机制。在恶劣条件下,无需重建 RAID 即可访问数据。
大多数情况下重建不是问题。没有人重建 RAID 阵列。使用 TB 磁盘,可以更快地更换磁盘、使用数据重新创建阵列并从备份中恢复。
从业务角度来看,RAID 的平均目标是保持系统运行到 17:00,然后确保您的每日备份正常运行,接着是新磁盘、新 RAID 阵列和从备份中恢复。
驱动器可以在不同系统之间迁移
这很大程度上取决于 RAID 的实现。它可能会起作用,也可能不会。
与 RAID1 写入时复制不同,‘手动镜像’内容的策略是否可以避免非 ECC 内存损坏的潜在问题?由于写入每个磁盘的工作将是一个不同的过程,因此在一次写入中发生的相同内存故障理论上不会在另一次写入中发生?
如果你很幸运的话。但是什么会阻止你成功且流畅地复制损坏的文件呢?
是否有设计用于两个以上驱动器的 RAID1 软件/硬件,因此可以处理传统上与 raid1 不同的行为,例如位腐烂、URE 等?使用传统的磁盘镜像设置,如果磁盘 A 报告 0 而 B 报告 1,则您不知道是谁翻转的,但在三个或更多磁盘解决方案中,您无法“纠正”奇怪的磁盘吗?A=0、B=1、C=0,因此 B 一定翻转了?
有一种“RAID1 风格”称为 RAID5....
不过说真的,我想到的是 RAID3、4、5 和 RAID6。无需强制将镜像转换为其他内容。
同时,这样的 RAID1 解决方案是否支持从两个以上的磁盘并行读取以提供更快的读取速度?这一点尤其重要,因为我认为许多企业读取相同数据的次数比编辑数据的次数要多得多。
RAID 5 可以。还有 RAID 6,以及...
RAID 不是备份解决方案。因此,如果您遵循良好做法并拥有 2-3 个存储位置,是否打算仅其中一个通过 RAID 方案保护免受驱动器故障影响,还是您希望第二个异地位置也具有多磁盘冗余?
我想要一个离线备份。一个无法通过互联网访问且位于不同物理位置的备份。第二个备份可访问且每日更新,也很不错。但主要是用于火灾等类似情况。
每月将数据备份到真正安全的离线状态以及每天将数据备份到磁带/磁盘/云端将会是一个很好的补充。
是否即使单个驱动器存储在不同位置也被认为受到保护而不会受到设备故障的影响,因为它与其他位置的驱动器处于“有效”镜像关系?
RAID 不是备份。RAID 的一部分不是适当的备份。甚至多磁盘镜像中的磁盘也不是。根据您的 RAID 实现,它可能有效,也可能无效。适当的备份始终有效。即使在更新软件(例如 RAID 驱动程序)之后也是如此。
如果不是,那么 RAID1 是否不能为最低驱动器数 (2) 提供一些冗余?
它为不可恢复的扇区或损坏的磁盘提供冗余。
这就是通常所需要的。足够的冗余度可使一切保持正常运行,直到您可以进行紧急维护为止。