5.5. クラスター内でのミラー化 LVM 論理ボリュームの作成
クラスター内にミラー化 LVM 論理ボリュームを作成するには、単一ノード上にミラー化 LVM 論理ボリュームを作成するのと同一のコマンドと手順が必要です。しかし、クラスター内にミラー化 LVM ボリュームを作成するには、クラスターとクラスターミラーインフラストラクチャーが稼働中であり、クラスターが定足数に達しており、かつクラスターのロッキングを有効にするように
lvm.conf
ファイル内のロッキングタイプが正しく設定されている必要があります。これは、「クラスター内での LVM ボリューム作成」 で説明しているように、直接または lvmconf
コマンドを使用して実行します。
クラスター内でミラー化された LVM ボリュームを作成するには、以下の手順で行います。まず、この手順ではクラスターサービスがインストール済みで実行されているかどうかを確認し、次にミラー化ボリュームを作成します。
- クラスター内のすべてのノードが共有するミラー化論理ボリュームを作成するには、クラスターの各ノード内の
lvm.conf
ファイルにロッキングタイプを正しく設定されている必要があります。デフォルトでは、ロッキングタイプは、ローカルに設定されます。これを変更するには、クラスターの各ノードで以下のコマンドを実行し、クラスターロッキングを有効にします。#
/sbin/lvmconf --enable-cluster
- クラスター論理ボリュームを作成するには、クラスター内のすべてのノード上でクラスターインフラストラクチャーが稼動中である必要があります。以下の例では
clvmd
デーモンが発行されたノード上で稼働中であることを検証します。ps auxw | grep clvmd
root 17642 0.0 0.1 32164 1072 ? Ssl Apr06 0:00 clvmd -T20 -t 90以下のコマンドは、クラスター状態のローカルビューを表示します。#
cman_tool services
fence domain member count 3 victim count 0 victim now 0 master nodeid 2 wait state none members 1 2 3 dlm lockspaces name clvmd id 0x4104eefa flags 0x00000000 change member 3 joined 1 remove 0 failed 0 seq 1,1 members 1 2 3 cmirror
パッケージがインストールされていることを確認します。cmirrord
サービスを開始します。#
service cmirrord start
Starting cmirrord: [ OK ]- ミラーを作成します。最初のステップは、物理ボリュームの作成です。次のコマンドは、3 つの物理ボリュームを作成します。これらの内の 2 つの物理ボリュームは、ミラーレッグとして使用され、3 つ目の物理ボリュームにはミラーログが格納されます。
#
pvcreate /dev/xvdb1
Physical volume "/dev/xvdb1" successfully created [root@doc-07 ~]#pvcreate /dev/xvdb2
Physical volume "/dev/xvdb2" successfully created [root@doc-07 ~]#pvcreate /dev/xvdc1
Physical volume "/dev/xvdc1" successfully created - ボリュームグループを作成します。この例では、直前のステップで作成された 3 つの物理ボリュームで構成されるボリュームグループ
vg001
を作成します。#
vgcreate vg001 /dev/xvdb1 /dev/xvdb2 /dev/xvdc1
Clustered volume group "vg001" successfully createdvgcreate
コマンドの出力がボリュームグループがクラスター化されていることを示している点に注意してください。ボリュームグループの属性を表示するvgs
コマンドを使用すると、ボリュームグループがクラスター化されていることを検証することができます。ボリュームグループがクラスター化されている場合は、c 属性が表示されます。vgs vg001
VG #PV #LV #SN Attr VSize VFree vg001 3 0 0 wz--nc 68.97G 68.97G - ミラー化論理ボリュームを作成します。この例では、ボリュームグループ
vg001
から論理ボリュームmirrorlv
を作成します。このボリュームのミラーレッグは 1 つです。この例では、物理ボリュームのどのエクステントが論理ボリュームに使用されるかを指定します。#
lvcreate -l 1000 -m1 vg001 -n mirrorlv /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0
Logical volume "mirrorlv" createdlvs
コマンドを使用すると、ミラー作成の進捗状況を表示することができます。以下の例では、ミラーの同期が、47%、91% と進み、ミラー完了時には 100% 同期になることを示しています。#
lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 47.00 [root@doc-07 log]#lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 91.00 [root@doc-07 ~]#lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 100.00ミラーの完了は、システムログに記録されます。May 10 14:52:52 doc-07 [19402]: Monitoring mirror device vg001-mirrorlv for events May 10 14:55:00 doc-07 lvm[19402]: vg001-mirrorlv is now in-sync
lvs
を-o +devices
オプションと共に使用すると、ミラーの設定を表示することができます。これには、ミラーレッグを構成するデバイスの情報が含まれます。この例では、論理ボリュームが 2 つのリニアイメージと 1 つのログで構成されていることがわかります。#
lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices mirrorlv vg001 mwi-a- 3.91G mirrorlv_mlog 100.00 mirrorlv_mimage_0(0),mirrorlv_mimage_1(0) [mirrorlv_mimage_0] vg001 iwi-ao 3.91G /dev/xvdb1(1) [mirrorlv_mimage_1] vg001 iwi-ao 3.91G /dev/xvdb2(1) [mirrorlv_mlog] vg001 lwi-ao 4.00M /dev/xvdc1(0)lvs
のseg_pe_ranges
オプションを使用すると、データレイアウトを表示することができます。このオプションを使用して、レイアウトに適切な冗長性があることを検証することが可能です。このコマンドの出力は、lvcreate
とlvresize
コマンドが入力として受け取る形式と同じ形式で PE 範囲を表示します。#
lvs -a -o +seg_pe_ranges --segments
PE Ranges mirrorlv_mimage_0:0-999 mirrorlv_mimage_1:0-999 /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0-0
注記
LVM ミラー化ボリュームのいずれかのレッグに障害が発生した際の回復方法の情報は、「LVM ミラー障害からの回復」 を参照してください。