Menu Close

Red Hat Training

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

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

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 操作のいずれかの進捗を出力するようになりました。
lvs コマンドの lv_attr フィールドは、RAID スクラビング操作をサポートする追加のインジケーターを提供するようになりました。このフィールドのビット 9 は、論理ボリュームの正常性を示し、以下のインジケーターに対応するようになりました。
  • 「(m) ismatches (不一致)」は、RAID 論理ボリュームに不一致があることを示します。この文字は、スクラビング操作で RAID に一貫性がない部分があることを検出した後に表示されます。
  • 「(r)efresh (更新)」は、LVM がデバイスラベルを読み取り、デバイスを稼働できると認識した場合でも、RAID アレイのデバイスに障害が発生し、カーネルがこれを障害と認識していることを示します。この論理ボリュームを、デバイスが利用可能になったことをカーネルに通知するために更新する (refresh) か、もしくはデバイスに障害が発生したと思われる場合はデバイスを置き換える (replace) 必要があります。
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 (デバイスごとに kiB/秒) と見なされます。復旧速度を 0 に設定すると無制限になります。
  • --minrecoveryrate Rate[bBsSkKmMgG]
    RAID 論理ボリュームの最小復旧速度を設定し、負荷の高い通常の I/O がある場合でも、sync 操作の I/O が最小スループットを達成できるようにします。速度 アレイ内の各デバイスに対して、1 秒あたりの量を指定します。サフィックスを指定しない場合は、kiB/sec/device (デバイスごとに kiB/秒) と見なされます。