Red Hat Training

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

4.4.15. RAID 論理ボリューム

Red Hat Enterprise Linux 6.3 リリースでは、LVM は RAID4/5/6 およびミラーリングの新たな実装をサポートしています。最新のミラーリングの実装と以前のミラーリングの実装 (「ミラー化ボリュームの作成」 で説明) が異なる点は以下のとおりです。
  • ミラーリングの新たな実装でのセグメントタイプは raid1 です。以前の実装でのセグメントタイプは mirror です。
  • RAID 4/5/6 実装のように、ミラーリングの新たな実装は MD ソフトウェア RAID を活用します。
  • ミラーリングの新たな実装は、各ミラーイメージの完全な冗長性を備えたビットマップ領域を維持し、これにより、その障害処理機能を拡大します。これは、このセグメントタイプで作成されるミラーには --mirrorlog--corelog オプションはないことを意味しています。
  • ミラーリングの新実装は、一時的な障害を処理することができます。
  • ミラーイメージはアレイから一時的に切り離して、後でアレイにマージし直すことができます。
  • ミラーリングの新実装はスナップショットをサポートします (高いレベルの RAID の実装も同様)。
  • RAID の新たな実装はクラスター対応ではありません。クラスターボリュームグループ内に LVM RAID 論理ボリュームを作成することはできません。
RAID 論理ボリュームが障害に対応する方法については、「RAID 障害ポリシーの設定」 を参照してください。
このセクションの残りの部分では、LVM RAID デバイスで実行できる以下の管理タスクについて説明します。

4.4.15.1. RAID 論理ボリュームの作成

RAID 論理ボリュームを作成するには、lvcreate コマンドの --type 引数として raid タイプを指定します。通常、lvcreate コマンドを使用して論理ボリュームを作成する場合、--type 引数は暗黙的になります。たとえば、-i stripes 引数を指定する場合、lvcreate コマンドは --type stripe オプションを想定します。-m mirrors 引数を指定する場合は、lvcreate コマンドは --type mirror オプションを想定します。ただし、RAID 論理ボリュームを作成する場合は、任意のセグメントタイプを明示的に指定する必要があります。使用される可能性のある RAID のセグメントタイプは 表4.1「RAID のセグメントタイプ」 に記載されています。

表4.1 RAID のセグメントタイプ

セグメントタイプ説明
raid1RAID1 ミラーリング
raid4RAID4 専用のパリティーディスク
raid5raid5_ls と同様
raid5_la
RAID5 左非対称
パリティー 0 をローテートしてデータを継続
raid5_ra
RAID5 右非対称
パリティー N をローテートしてデータを継続
raid5_ls
RAID5 左対称
パリティー 0 をローテートしてデータを再起動
raid5_rs
RAID5 右対称
パリティー N をローテートしてデータを再起動
raid6raid6_zr と同様
raid6_zr
RAID6 ゼロの再起動
パリティーゼロを (左から右に) ローテートしてデータを再起動)
raid6_nr
RAID6 N 再起動
パリティー N を (左から右に) ローテートしてデータを再起動
raid6_nc
RAID6 N 継続
パリティー N を (左から右に) ローテートしてデータを継続
raid10 (Red Hat Enterprise Linux 6.4 以降)
ストライプ化ミラー
ミラーセットのストライピング
大半のユーザーの場合、5 つのプライマリータイプ (raid1raid4raid5raid6raid10) の中から 1 つを指定するだけで十分です。RAID 5/6 が使用する各種アルゴリズムの詳細は、http://www.snia.org/sites/default/files/SNIA_DDF_Technical_Position_v2.0.pdf の 『Common RAID Disk Data Format Specification』 の第 4 章を参照してください。
RAID 論理ボリュームを作成する場合、LVM は各データまたはアレイ内のパリティーサブボリュームごとに、サイズが 1 エクステントのメタデータサブボリュームを作成します。たとえば、2 方向の RAID1 アレイを作成すると、2 つのメタデータサブボリューム (lv_rmeta_0 および lv_rmeta_1) と 2 つのデータサブボリューム (lv_rimage_0 および lv_rimage_1) が生じます。同様に、3 方向のストライプ (+ 1 つの暗黙的なパリティーデバイス) RAID4 を作成すると、4 つのメタデータサブボリューム (lv_rmeta_0lv_rmeta_1lv_rmeta_2、および lv_rmeta_3) と 4 つのデータサブボリューム (lv_rimage_0lv_rimage_1lv_rimage_2、および lv_rimage_3) が生じます。
以下のコマンドは、ボリュームグループ my_vg 内にサイズが 1G の my_lv という名前の 2 方向の RAID1 アレイを作成します。
# lvcreate --type raid1 -m 1 -L 1G -n my_lv my_vg
-m 引数に指定する値に沿って、異なる数のコピーで RAID1 アレイを作成することができます。-m 引数は、以前のミラー実装用のコピー数を指定するために使用される同じ引数ですが、この場合はセグメントタイプを raid1 と明示的に指定することで、デフォルトのセグメントタイプ mirror を上書きします。同様に、-i argument を使用して RAID 4/5/6 論理ボリュームのストライプ数を指定して、デフォルトのセグメントタイプを必要な RAID タイプで上書きします。また、ストライプサイズも -I 引数で指定できます。

注記

デフォルトのミラーセグメントタイプを raid1 に設定するには、lvm.conf ファイルの mirror_segtype_default を変更します。
以下のコマンドは、ボリュームグループ my_vg 内のサイズが 1G の my_lv という RAID5 アレイ (3 つのストライプ + 1 つの暗黙的なパリティードライブ) を作成します。ストライプ数の指定は、LVM ストライプ化ボリュームに対して指定するのと同じように行います。パリティードライブの正確な数は自動的に追加されます。
# lvcreate --type raid5 -i 3 -L 1G -n my_lv my_vg
以下のコマンドは、ボリュームグループ my_vg 内にサイズが 1G の my_lv と呼ばれる RAID6 アレイ (3 つのストライプ + 2 つの暗黙的なパリティードライブ) を作成します。
# lvcreate --type raid6 -i 3 -L 1G -n my_lv my_vg
LVM によって RAID 論理ボリュームを作成した後には、ボリュームのアクティブ化、変更、削除、表示、使用を他の LVM 論理ボリュームと同じように行うことができます。
RAID10 論理ボリュームを作成する際に、sync 操作で論理ボリュームを初期化するのに必要なバックグラウンド I/O は、ボリュームグループメタデータへの更新などの他の I/O 操作を LVM デバイスに押し出す可能性があります。これはとくに数多くの RAID 論理ボリュームを作成している場合に生じる可能性があります。これにより、他の LVM 操作の速度が遅くなる場合があります。
Red Hat Enterprise Linux 6.5 の時点では、復旧スロットルを実装することにより、RAID 論理ボリュームが初期化される速度を制御することができます。sync 操作が実施される速度は、lvcreate コマンドの --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 が想定されます。
以下のコマンドは、最大復旧速度が 128 kiB/sec/device で、サイズが 10G の 3 つのストライプのある 2-way RAID10 アレイを作成します。このアレイは my_lv という名前で、ボリュームグループ my_vg にあります。
lvcreate --type raid10 -i 2 -m 1 -L 10G --maxrecoveryrate 128 -n my_lv my_vg
さらに、RAID スクラビング操作の最小および最大復旧速度を指定することもできます。RAID スクラビングの情報は、「RAID 論理ボリュームのスクラビング」 を参照してください。