9.21. 检查 RAID 逻辑卷中数据的一致性


LVM 提供对 RAID 逻辑卷的清理支持。RAID 清理是读取阵列中的所有数据和奇偶校验块的过程,并检查它们是否是分配的。lvchange --syncaction repair 命令对阵列启动后台同步操作。

流程

  1. 可选:通过设置以下选项之一来控制 RAID 逻辑卷初始化的速度:

    • --maxrecoveryrate Rate[bBsSkKmMgG] 为 RAID 逻辑卷设置最大恢复率,使其不会加快 I/O 操作。
    • --minrecoveryrate Rate[bBsSkKmMgG] 设置 RAID 逻辑卷的最小恢复率,以确保 sync 操作的 I/O 达到最小吞吐量,即使存在大量小 I/O

      # lvchange --maxrecoveryrate 4K my_vg/my_lv
      Logical volume _my_vg/my_lv_changed.

      使用恢复率值替换 4K,它是阵列中每个设备的每秒数量。如果没有后缀,选项会假定为 kiB/每秒/每个设备。

      # lvchange --syncaction repair my_vg/my_lv

      当您执行 RAID 清理操作时,sync 操作所需的后台 I/O 可能会将其他 I/O 分离到 LVM 设备,如对卷组元数据的更新。这可能导致其它 LVM 操作速度下降。

      注意

      您还可以在创建 RAID 设备时使用这些最大值和最小 I/O 速率。例如,lvcreate --type raid10 -i 2 -m 1 -L 10G --maxrecoveryrate 128 -n my_lv my_vg 创建一个双向 RAID10 阵列 my_lv,它位于卷组 my_vg 中,其大小为 10G,最大恢复率为 128 kiB/sec/device。

  2. 显示阵列中未修复的差异的数量,没有修复它们:

    # lvchange --syncaction check my_vg/my_lv

    此命令对阵列启动后台同步操作。

  3. 可选:查看 var/log/syslog 文件以了解内核消息。
  4. 修正阵列中的差异:

    # lvchange --syncaction repair my_vg/my_lv

    这个命令修复或者替换 RAID 逻辑卷中失败的设备。您可以在执行此命令后查看 var/log/syslog 文件以了解内核消息。

验证

  1. 显示有关清理操作的信息:

    # lvs -o +raid_sync_action,raid_mismatch_count my_vg/my_lv
    LV    VG    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert SyncAction Mismatches
    my_lv my_vg rwi-a-r--- 500.00m                                    100.00           idle        0

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.