Red Hat Training

A Red Hat training course is available for RHEL 8

68.7.17. RAID 論理ボリュームでのデータ整合性の確認 (RAID スクラビング)

LVM は、RAID 論理ボリュームのスクラビングに対応します。RAID スクラビングは、アレイ内のデータおよびパリティーブロックをすべて読み込み、それが一貫しているかどうかを確認するプロセスです。

手順

  1. オプション: スクラビングプロセスが使用する I/O 帯域幅を制限します。

    RAID スクラビング操作を実行する際に、sync 操作で必要になるバックグラウンド I/O は、その他の I/O (ボリュームグループメタデータへの更新など) を LVM デバイスに押し出す可能性があります。これにより、他の LVM 操作が遅くなる可能性があります。リカバリースロットルを実装してスクラビング操作のレートを制御できます。

    次の手順で、lvchange --syncaction コマンドに以下のオプションを追加します。

    --maxrecoveryrate Rate[bBsSkKmMgG]
    操作が通常の I/O 操作に押し出すように、最大復旧速度を設定します。復旧速度を 0 に設定すると、操作がバインド解除されることを意味します。
    --minrecoveryrate Rate[bBsSkKmMgG]
    最小復旧速度を設定し、負荷の高い通常の I/O がある場合でも、sync 操作の I/O が最小スループットを達成できるようにします。

    Rate 値は、アレイ内の各デバイスに対する 1 秒あたりのデータ通信量を指定します。サフィックスを指定しないと、オプションはデバイスごとの 1 秒あたらりの kiB を想定します。

  2. アレイ内の不一致数を修復せずに、アレイ内の不一致の数を表示します。

    # lvchange --syncaction check vg/raid_lv
  3. アレイ内の不一致を修正します。

    # lvchange --syncaction repair vg/raid_lv
    注記

    lvchange --syncaction repair 操作は、lvconvert --repair 操作と同じ機能を実行しません。

    • lvchange --syncaction repair 操作は、アレイでバックグラウンドの同期操作を開始します。
    • lvconvert --repair 操作は、ミラーまたは RAID 論理ボリュームの障害が発生したデバイスを修復するか、または置き換えます。
  4. オプション: スクラビング操作に関する情報を表示します。

    # lvs -o +raid_sync_action,raid_mismatch_count vg/lv
    • raid_sync_action フィールドは、RAID ボリュームが現在実行している同期操作を表示します。これには、以下のいずれかの値を使用できます。

      idle
      すべての同期操作が完了している (何も実行していません)。
      resync
      アレイを初期化、またはマシン障害後の復旧を実行する。
      recover
      アレイ内のデバイスを置き換える。
      check
      アレイの不一致を検索する。
      repair
      不一致を検索し、修復する。
    • raid_mismatch_count フィールドは、check 操作時に検出された不一致の数を表示します。
    • Cpy%Sync フィールドは、sync 操作の進捗を表示します。
    • lv_attr フィールドは、追加のインジケーターを提供します。このフィールドのビット 9 は、論理ボリュームの正常性を示し、以下のインジケーターに対応しています。

      • (m) (不一致) は、RAID 論理ボリュームに不一致があることを示します。この文字は、スクラビング操作で RAID に一貫性がない部分があることを検出した後に表示されます。
      • (r) (更新) は、LVM がデバイスラベルを読み取り、デバイスを稼働できると認識した場合でも、RAID アレイのデバイスに障害が発生し、カーネルがこれを障害と認識していることを示します。デバイスが利用可能になったことをカーネルに通知するように論理ボリュームを更新するか、デバイスに障害が発生したと思われる場合はデバイスを交換します。

関連情報

  • 詳細は、lvchange(8) および lvmraid(7) の man ページを参照してください。