将 ZFS 替换为 dm-integrity 和 dm-raid

将 ZFS 替换为 dm-integrity 和 dm-raid

最近,当我更新计算机时,我的 ZFS 错误导致大量数据被破坏(可能与https://www.reddit.com/r/zfs/comments/ql0bro/ubuntu_2110_zfs_corruption_bug/或其他一些错误)。

我仅使用 ZFS 来保证数据完整性和硬盘冗余。是否可以在 dm-integrity 设备上用 dm-raid(可能是 raid 6)替换 ZFS?我不使用 ZFS 中的加密、压缩、快照或其他任何内容,它实际上只是用于数据损坏保护,而且它似乎不够稳定,无法实际使用,因为他们一直在尝试添加新功能版本。当我进行内核更新时,必须将其放回内核并重建它也很烦人,因此拥有内核附带的东西会很棒。

我的电脑有 ECC 内存和 4 个非 SSD 硬盘。

答案1

理论上你可以只放置一个DM 完整性MD RAID 阵列的每个分支下的设备都可以正常工作,无需额外配置,MD 将使用来自完整性层的校验和错误,并在需要时/如果需要自行修复。问题在于完整性设备的启动和激活。支持/etc/integritytab在启动期间激活完整性设备(类似于密码表对于 LUKS 加密设备)和从完整性设备启动仅添加最近到 systemd 并且尚未发布,因此您需要使用手动激活所有完整性设备integritysetup并在启动后启动阵列。

我建议使用左心室容量它还支持 LVM RAID 层的完整性(它使用 dm-integrity 和 dm-raid),您可以简单地创建一个 RAID LV

lvcreate --type raidN --raidintegrity y

LVM 会处理一切,检查lvmraid 手册页了解更多信息(您需要 LVM 2.03.10 或更高版本)。这样您还可以避免直接使用 DM 完整性和完整性设置,这很好,因为这些并不完全是用户友好的。此外,使用 LVM RAID 进行完整性引导或自动激活也不存在任何问题,LVM 会解决这一问题。

具有完整性(如果您决定使用 LVM RAID 或手动设置完整性+MD RAID),“修复”会自动工作,当从一个 RAID 支路读取由于校验和错误而失败时,系统将从另一支路读取数据并修复损坏的副本。

相关内容