9.9. 创建具有 DM 完整性的 RAID 逻辑卷
当您创建带有设备映射器(DM)完整性的 RAID LV 或者在现有 RAID 逻辑卷(LV)中添加完整性时,它会降低因为软崩溃而丢失数据的风险。在使用 LV 前,等待完整性同步和 RAID 元数据完成。否则,在后台进行的初始化可能会影响 LV 的性能。
设备映射程序(DM)完整性与 RAID 级别 1、4、5、6 和 10 一起使用,用于缓解或防止软崩溃导致数据丢失。RAID 层可确保非破坏的数据副本可以修复软崩溃错误。
流程
- 创建具有 DM 完整性的 RAID LV。以下示例在 my_vg 卷组中创建一个名为 test-lv 的 RAID LV,可用大小为 256M 和 RAID 级别 1: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 要在现有 RAID LV 中添加 DM 完整性,请使用以下命令: - lvconvert --raidintegrity y my_vg/test-lv - # lvconvert --raidintegrity y my_vg/test-lv- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 在 RAID LV 中添加完整性限制了您可以在那个 RAID LV 上执行的一些操作。 
- 可选:在执行某些操作前删除完整性。 - lvconvert --raidintegrity n my_vg/test-lv - # lvconvert --raidintegrity n my_vg/test-lv Logical volume my_vg/test-lv has removed integrity.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 查看有关添加的 DM 完整性的信息: - 查看在 my_vg 卷组中创建的 test-lv RAID LV 的信息: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 下面描述了此输出的不同选项: - g属性
- 
											它是 Attr 列下的属性列表,表示 RAID 镜像使用完整性。完整性将校验和存储在 _imetaRAID LV 中。
- Cpy%Sync列
- 它指示顶层 RAID LV 和每个 RAID 镜像的同步进度。
- RAID 镜像
- 
											它通过 raid_image_N在 LV 列中指示。
- LV列
- 它确保对顶层 RAID LV 和每个 RAID 镜像显示 100% 同步进度。
 
- 显示每个 RAID LV 的类型: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 有一个增量的计数器,它计算在每个 RAID 镜像上检测到的不匹配数。查看 my_vg/test-lv 下的 - rimage_0检测到的数据不匹配:- lvs -o+integritymismatches my_vg/test-lv_rimage_0 - # lvs -o+integritymismatches my_vg/test-lv_rimage_0 LV VG Attr LSize Origin Cpy%Sync IntegMismatches [test-lv_rimage_0] my_vg gwi-aor--- 256.00m [test-lv_rimage_0_iorig] 100.00 0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 在这个示例中,完整性还没有检测到任何不匹配的数据,因此 - IntegMismatches计数器会显示 0 (0)。
- 查看 - /var/log/messages日志文件中的数据完整性信息,如下例所示:- 例 9.1. 内核消息日志中的 dm-integrity 不匹配示例 - device-mapper: integrity: dm-12: Checksum failed at sector 0x24e7 - 例 9.2. 来自内核消息日志的 dm-integrity 数据更正示例 - md/raid1:mdX: 读取错误修正(8 扇区位在 dm-16 上 的 9448)