Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.4.15.10. RAID 論理ボリュームのスクラビング

Red Hat Enterprise Linux 6.5 リリースの時点では、LVM は RAID 論理ボリュームのスクラビングサポートを提供します。RAID スクラビングは、すべてのデータおよびアレイ内のパリティーブロックを読み込み、それらが一貫しているかどうかを確認するプロセスです。
lvchange コマンドの --syncaction オプションを使って RAID スクラビングの操作を開始します。check または repair のいずれかの操作を指定します。check 操作はアレイ全体を対象に、アレイ内の不一致の数を記録しますが、それらを修復することはありません。repair 操作が、不一致が見つかる際にそれらを修復します。
RAID 論理ボリュームのスクラビングを実行するコマンドの形式は以下のとおりです。
lvchange --syncaction {check|repair} vg/raid_lv

注記

lvchange --syncaction repair vg/raid_lv 操作は、lvconvert --repair vg/raid_lv 操作と同じ機能を実行しません。lvchange --syncaction repair 操作は、アレイ上でバックグラウンドの同期操作を開始しますが、lvconvert --repair 操作は、ミラーまたは RAID 論理ボリューム内の障害が発生したデバイスの修復/置換を行うように設計されています。
新規の RAID スクラビング操作をサポートするため、lvs コマンドは、raid_sync_actionraid_mismatch_count の 2 つの新しい出力可能なフィールドに対応しています。これらのフィールドはデフォルトでは出力されません。これらのフィールドを表示するには、以下のように lvs-o パラメーターを使ってこれらを指定します。
lvs -o +raid_sync_action,raid_mismatch_count vg/lv
raid_sync_action フィールドは、raid ボリュームが実行している現在の同期操作を表示します。これには、以下の値のいずれかを使用することができます。
  • idle: すべての同期操作が完了しました (何も実行しない)
  • resync: アレイを初期化、またはマシン障害後の復旧を実行します
  • recover: アレイ内のデバイスを置き換えます
  • check: アレイの不一致を検索します
  • repair: 不一致を検索し、修復します
raid_mismatch_count フィールドは、check 操作時に検出された不一致の数を表示します。
lvs コマンドの Cpy%Sync フィールドは、check および repair を含む raid_sync_action 操作のいずれかの進捗を出力するようになりました。
lvslv_attr フィールドは、RAID スクラビング操作をサポートする追加のインジケーターを提供するようになりました。このフィールドの ビット 9 は、論理ボリュームの正常性を表示し、以下のインジケーターに対応するようになりました。
  • 「(m) ismatches (不一致)」は、RAID 論理ボリュームに不一致があることを示します。この文字は、スクラビング操作で RAID に一貫性がない部分があることを検出した後に表示されます。
  • (r)efresh (更新) は、LVM がデバイスラベルを読み取ることができ、かつデバイスが操作可能であると認識する場合でも、RAID アレイ内のデバイスに障害が発生し、カーネルがこれを障害と認識していることを示します。この論理ボリュームは、デバイスが利用可能になったことをカーネルに通知するために更新「(r)efresh」されるか、またはデバイスに障害が発生したことが疑われる場合はそれを置き換える「(r)eplace」必要があります。
lvs コマンドについての情報は、「オブジェクトの選択」 を参照してください。
RAID スクラビング操作を実行する際、sync 操作で必要になるバックグラウンド I/O が、ボリュームグループメタデータへの更新などの他の I/O 操作を LVM デバイスに押し出す可能性があります。これにより、他の LVM 操作の速度が下がる可能性があります。復旧スロットルを実装して RAID 論理ボリュームのスクラビングを実行する速度を制御することができます。
sync 操作の実行される速度は、lvchange コマンドの --minrecoveryrate および --maxrecoveryrate オプションを使用して、それらの操作の最小および最大 I/O 速度を設定することにより制御することができます。これらのオプションは以下のように指定します。
  • --maxrecoveryrate Rate[bBsSkKmMgG]
    RAID 論理ボリュームの最大復旧速度を設定し、通常の I/O 操作が押し出されないようにします。速度 は、アレイ内のそれぞれのデバイスに対して 1 秒あたりの量として指定されます。サフィックスが指定されない場合、kiB/sec/device が想定されます。復旧速度を 0 に設定すると、これが無制限になります。
  • --minrecoveryrate Rate[bBsSkKmMgG]
    RAID 論理ボリュームの最小復旧速度を設定し、sync 操作の I/O が、負荷の高い通常の I/O がある場合でも最小スループットを達成できるようにします。速度 はアレイ内のそれぞれのデバイスに対して 1 秒あたりの量として指定されます。サフィックスが指定されない場合は kiB/sec/device が想定されます。