use*_*556 6 linux raid zfs btrfs raid6
我正在使用 Linux 软件 raid 运行文件服务器,设置为 raid6。作为文件系统,我选择了 btrfs。但是,我没有使用 btrfs 自己的 raid6 实现,因为它还不是很稳定。所以基本上,我在事物的块级别上使用突袭。此外,我正在备份真正重要数据的另一个位置。最后,我已将 UPS 连接到服务器以防止断电和浪涌。
我的问题:
我知道raid6 对硬盘故障提供了很好的保护,但是它上面的btrfs 真的能检测到位腐烂并纠正它吗?如果是这样,没有文件系统raid1怎么可能?
md 是否会不时通过 raid6 块来查找和纠正损坏?我需要安排吗?
如果我做错了事情,如果我想要很好地防止数据故障和位腐烂,你建议我做什么?
1:在您的配置中,btrfs 应该检测数据损坏但不会纠正它,因为就 btrfs 而言没有数据冗余。
2:RAID6 不能检测也不能可靠地防止位损坏。它只能防止磁盘故障,并且在某些情况下可能会检测到未使用的仍然坏块。
3:如果 btrfs RAID6 没有准备好,你可以考虑 btrfs 镜像或 ZFS RAIDZ2。
BTRFS RAID-6 现在(虽然仍处于试验阶段)实际上非常稳定。当前版本甚至设法修复了许多典型错误,包括更换故障/丢失的驱动器。
与 ZFS 一样,BTRFS 进行校验和,这意味着您可以始终(并且应该定期)运行清理以验证您的数据。如果驱动器上的数据(数据或元数据)损坏,BTRFS 将能够检测到错误,如果它有冗余(使用 BTRFS RAID-6),它可以修复受影响的文件。在此之后,它会知道修复的文件是否正确,因为它有校验和。
经典(硬件)RAID 系统,包括MD(软件)RAID,没有校验和。这些系统仅依赖奇偶校验,因此多个驱动器上的错误组合很可能会导致损坏。由于没有校验和,RAID 系统(如 md)将无法验证擦除后所有错误是否消失(即,文件是否正确)。有一些示例(还有一些视频)演示了经典 RAID 系统上的数据损坏。
一旦检测到第一个奇偶校验错误并尽快解决问题(scrub),请务必立即通知。此外,由于奇偶校验是 RAID 系统了解数据是否正常的唯一(不是很可靠)方式,因此应使用备用电池来防止在断电时将所有这些宝贵的奇偶校验数据丢失到写入孔中.
现在,如果您使用像 BTRFS 这样的高级文件系统,它在愚蠢的 RAID-6 系统之上将校验和作为单个文件系统(没有冗余),则由该 RAID 系统来检测和修复错误,因为一旦太多错误损坏了RAID 系统,BTRFS 将无法修复它们。它将检测错误,并通过告诉您哪些文件(路径)已损坏来帮助您决定从备份中恢复哪些内容。但否则,到那时就太迟了。这就是为什么这种设置可能不是一个好主意的原因。
如果您按照应该使用的方式使用 BTRFS,通过创建一个 BTRFS RAID-6 文件系统(没有 MD RAID)来直接访问您的驱动器,它将能够可靠地修复错误,并且它会知道错误是否真的消失了因为它有校验和。它会告诉您这些错误发生在哪个驱动器上,因此您知道哪个驱动器坏了(您可以使用 btrfs 命令替换它)。关键是,无论驱动器是否已损坏/丢失并且您必须更换它,或者驱动器是否部分损坏(因为它即将死亡),BTRFS 都会可靠地检测到错误。当然,定期清理与其他 RAID 系统一样重要,以检测静默损坏(提示:cronjob)。
因此,BTRFS RAID-6 在某些方面仍被认为是实验性的,但通过校验和,它已经提供了一种检测(然后修复)错误的可靠方法。它是实验性的,因此在某些情况下可能会崩溃,那么您应该尝试更新的内核版本,这是许多 BTRFS 问题的修复程序。确保与您的内核保持同步(撰写本文时为 4.3,不要使用比 RAID-6 旧的任何东西)。但是典型的 RAID 用例(仅存储大量数据并在某些时候更换驱动器 - 多驱动器故障可能会有所不同)已经与 BTRFS 一起使用。
您已经用zfs标记了您的问题。ZFS 不包含在 Linux 内核中,因此必须手动安装 - ZFSonLinux 端口效果很好。在安装新的内核版本后,可能需要重新安装它或进行一些其他修复,但这现在并不重要。当然,有些东西在 ZFS 中的工作方式有所不同。此外,与 BTRFS 文件系统不同,ZFS RAIDZ2(如 RAID-6)zpool 无法调整大小(有“技巧”,但最重要的是,raidz2 vdev 无法通过添加驱动器真正增长),因此现有系统不能使用更多驱动器轻松扩展。然而,就稳定性而言,ZFS 可能是最好的选择。通过校验和,它提供了所描述的可靠数据保护,并且它已经足够成熟,可以处理几乎所有事情(多个驱动器故障、不稳定的控制器、ZFS 几乎可以存活并且只要您有足够好的驱动器就可以保护/修复您的数据)。
归档时间: |
|
查看次数: |
2044 次 |
最近记录: |