4.4.15.5. 既存の RAID1 デバイス内のイメージ数の変更
既存の RAID1 アレイ内のイメージ数を変更するには、LVM ミラーリングの初期実装でイメージ数を変更する際と同様に、
lvconvert
コマンドを使用して、追加/削除するメタデータ/データサブボリュームのペアの数を指定できます。LVM ミラーリングの初期実装におけるボリューム設定の変更方法については、「ミラー化ボリューム設定の変更」 を参照してください。
lvconvert
コマンドを使用して RAID1 デバイスにイメージを追加する場合、結果として生じるデバイス用のイメージの合計数を指定できます。または、デバイスに追加するイメージ数を指定することも可能です。また、オプションとして新しいメタデータ/データイメージのペアが存在する物理ボリュームを指定することもできます。
メタデータサブボリューム (名前は
*_rmeta_*
) は、対応するデータサブボリューム (*_rimage_*
) と同じ物理デバイス上に常に存在します。メタデータ/データのサブボリュームのペアは、(--alloc anywhere
を指定しない限り) RAID アレイ内の別のメタデータ/データサブボリュームのペアと同じ物理ボリューム上には作成されません。
RAID1 ボリュームにイメージを追加するコマンドの形式は、以下のとおりです。
lvconvert -m new_absolute_count vg/lv [removable_PVs] lvconvert -m +num_additional_images vg/lv [removable_PVs]
たとえば、以下は 2 方向 RAID1 アレイの LVM デバイス
my_vg/my_lv
を示しています。
# lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices
my_lv 6.25 my_lv_rimage_0(0),my_lv_rimage_1(0)
[my_lv_rimage_0] /dev/sde1(0)
[my_lv_rimage_1] /dev/sdf1(1)
[my_lv_rmeta_0] /dev/sde1(256)
[my_lv_rmeta_1] /dev/sdf1(0)
以下のコマンドは、2 方向の RAID1 デバイス
my_vg/my_lv
を 3 方向の RAID1 デバイスに変換します。
#lvconvert -m 2 my_vg/my_lv
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 6.25 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sde1(0) [my_lv_rimage_1] /dev/sdf1(1) [my_lv_rimage_2] /dev/sdg1(1) [my_lv_rmeta_0] /dev/sde1(256) [my_lv_rmeta_1] /dev/sdf1(0) [my_lv_rmeta_2] /dev/sdg1(0)
イメージを RAID1 アレイに追加する場合、イメージに使用する物理ボリュームを指定できます。以下のコマンドは、2 方向の RAID1 デバイス
my_vg/my_lv
を 3 方向の RAID1 デバイスに変換して、物理ボリューム /dev/sdd1
がアレイに使用されるように指定します。
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 56.00 my_lv_rimage_0(0),my_lv_rimage_1(0) [my_lv_rimage_0] /dev/sda1(1) [my_lv_rimage_1] /dev/sdb1(1) [my_lv_rmeta_0] /dev/sda1(0) [my_lv_rmeta_1] /dev/sdb1(0) #lvconvert -m 2 my_vg/my_lv /dev/sdd1
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 28.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sda1(1) [my_lv_rimage_1] /dev/sdb1(1) [my_lv_rimage_2] /dev/sdd1(1) [my_lv_rmeta_0] /dev/sda1(0) [my_lv_rmeta_1] /dev/sdb1(0) [my_lv_rmeta_2] /dev/sdd1(0)
RAID1 アレイからイメージを削除するには、以下のコマンドを使用します。
lvconvert
コマンドを使用して RAID1 デバイスからイメージを削除する場合、結果として生じるデバイス用のイメージの合計数を指定できます。または、デバイスから削除するイメージ数を指定することも可能です。また、オプションとしてデバイスを削除する物理ボリュームを指定することもできます。
lvconvert -m new_absolute_count vg/lv [removable_PVs] lvconvert -m -num_fewer_images vg/lv [removable_PVs]
また、イメージとその関連付けられたメタデータサブボリュームが削除されると、それよりも大きな番号のイメージがスロットを埋めるために切り替わります。
lv_rimage_0
、lv_rimage_1
、および lv_rimage_2
で構成される 3 方向の RAID1 アレイから lv_rimage_1
を削除する場合、lv_rimage_0
と lv_rimage_1
で構成される RAID1 アレイが生じます。サブボリューム lv_rimage_2
の名前は変更され、空のスロットを引き継いで lv_rimage_1
になります。
以下の例は、3 方向の RAID1 論理ボリューム
my_vg/my_lv
のレイアウトを示しています。
# lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices
my_lv 100.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0)
[my_lv_rimage_0] /dev/sde1(1)
[my_lv_rimage_1] /dev/sdf1(1)
[my_lv_rimage_2] /dev/sdg1(1)
[my_lv_rmeta_0] /dev/sde1(0)
[my_lv_rmeta_1] /dev/sdf1(0)
[my_lv_rmeta_2] /dev/sdg1(0)
以下のコマンドは、3 方向の RAID1 論理ボリュームを 2 方向の RAID1 論理ボリュームに変換します。
#lvconvert -m1 my_vg/my_lv
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 100.00 my_lv_rimage_0(0),my_lv_rimage_1(0) [my_lv_rimage_0] /dev/sde1(1) [my_lv_rimage_1] /dev/sdf1(1) [my_lv_rmeta_0] /dev/sde1(0) [my_lv_rmeta_1] /dev/sdf1(0)
以下のコマンドは、3 方向の RAID1 論理ボリュームを 2 方向の RAID1 論理ボリュームに変換して、削除するイメージを含む物理ボリュームを
/dev/sde1
として指定します。
#lvconvert -m1 my_vg/my_lv /dev/sde1
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 100.00 my_lv_rimage_0(0),my_lv_rimage_1(0) [my_lv_rimage_0] /dev/sdf1(1) [my_lv_rimage_1] /dev/sdg1(1) [my_lv_rmeta_0] /dev/sdf1(0) [my_lv_rmeta_1] /dev/sdg1(0)