4.2. GFS2 ファイルシステムでのクラスター化 LVM ボリュームの設定
このユースケースでは、クラスターのノード間で共有しているストレージにクラスター化 LVM 論理ボリュームを作成する必要があります。
本項では、クラスター化 LVM 論理ボリュームを GFS2 ファイルシステムでそのボリューム上に作成します。この例では
/dev/vdb
共有パーティションを使って LVM 論理ボリュームの作成元となる LVM 物理ボリュームを格納します。
注記
LVM ボリュームと、クラスターノードで使用するパーティションおよびデバイスは、クラスターノード以外には接続しないでください。
この手順を始める前に、Resilient Storage チャンネルの
lvm2-cluster
と gfs2-utils
パッケージをクラスターの両方のノードにインストールします。
yum install lvm2-cluster gfs2-utils
# yum install lvm2-cluster gfs2-utils
/dev/vdb
パーティションは共有させるストレージとなるため、この手順は 1 つのノードでのみ行います。
- グローバル Pacemaker パラメーター
no_quorum_policy
をfreeze
に設定します。この設定により、クォーラムが失われるたびにクラスター全体にフェンシングが発生しなくなります。このポリシーの設定についての詳細は、『Global File System 2』 を参照してください。pcs property set no-quorum-policy=freeze
[root@z1 ~]# pcs property set no-quorum-policy=freeze
Copy to Clipboard Copied! dlm
リソースをセットアップします。これは、clvmd
サービスと GFS2 ファイルシステムに必要な依存関係です。pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true
[root@z1 ~]# pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true
Copy to Clipboard Copied! clvmd
をクラスターリソースとしてセットアップします。pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true
[root@z1 ~]# pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true
Copy to Clipboard Copied! この開始手順の一環として、ocf:heartbeat:clvm
リソースエージェントにより、/etc/lvm/lvm.conf
ファイルのlocking_type
パラメーターが3
に変更され、lvmetad
デーモンが無効化されることに注意してください。clvmd
およびdlm
の依存関係をセットアップし、順番に起動します。clvmd
リソースはdlm
の後に起動し、dlm
と同じノードで実行する必要があります。pcs constraint order start dlm-clone then clvmd-clone pcs constraint colocation add clvmd-clone with dlm-clone
[root@z1 ~]# pcs constraint order start dlm-clone then clvmd-clone Adding dlm-clone clvmd-clone (kind: Mandatory) (Options: first-action=start then-action=start) [root@z1 ~]# pcs constraint colocation add clvmd-clone with dlm-clone
Copy to Clipboard Copied! dlm
およびclvmd
リソースが全てのノードで実行されていることを確認します。pcs status
[root@z1 ~]# pcs status ... Full list of resources: ... Clone Set: dlm-clone [dlm] Started: [ z1 z2 ] Clone Set: clvmd-clone [clvmd] Started: [ z1 z2 ]
Copy to Clipboard Copied! - クラスター化論理ボリュームの作成
pvcreate /dev/vdb vgcreate -Ay -cy cluster_vg /dev/vdb lvcreate -L4G -n cluster_lv cluster_vg
[root@z1 ~]# pvcreate /dev/vdb [root@z1 ~]# vgcreate -Ay -cy cluster_vg /dev/vdb [root@z1 ~]# lvcreate -L4G -n cluster_lv cluster_vg
Copy to Clipboard Copied! - ボリュームが正しく作成されているかどうかを確認するには、論理ボリュームを表示する lvs コマンドを使用します。
lvs
[root@z1 ~]# lvs LV VG Attr LSize ... cluster_lv cluster_vg -wi-ao---- 4.00g ...
Copy to Clipboard Copied! - GFS2 でボリュームをフォーマットします。この例では、
my_cluster
がクラスター名です。また、2 つのジャーナルを示すために-j 2
を指定しています。これは、ジャーナルの数が、クラスターのノードの数に一致する必要があるためです。mkfs.gfs2 -p lock_dlm -j 2 -t my_cluster:samba /dev/cluster_vg/cluster_lv
[root@z1 ~]# mkfs.gfs2 -p lock_dlm -j 2 -t my_cluster:samba /dev/cluster_vg/cluster_lv
Copy to Clipboard Copied! - ファイルシステムのマウントと管理を行うように Pacemaker を設定するための
Filesystem
リソースを作成します。この例では、fs
というFilesystem
リソースを作成し、両方のクラスターで/mnt/gfs2share
を作成します。pcs resource create fs ocf:heartbeat:Filesystem device="/dev/cluster_vg/cluster_lv" directory="/mnt/gfs2share" fstype="gfs2" --clone
[root@z1 ~]# pcs resource create fs ocf:heartbeat:Filesystem device="/dev/cluster_vg/cluster_lv" directory="/mnt/gfs2share" fstype="gfs2" --clone
Copy to Clipboard Copied! - GFS2 ファイルシステムと
clvmd
のサービスとの依存関係を設定し、順番に起動します。GFS2 はclvmd
の後に起動し、clvmd
と同じノードで実行する必要があります。pcs constraint order start clvmd-clone then fs-clone pcs constraint colocation add fs-clone with clvmd-clone
[root@z1 ~]# pcs constraint order start clvmd-clone then fs-clone Adding clvmd-clone fs-clone (kind: Mandatory) (Options: first-action=start then-action=start) [root@z1 ~]# pcs constraint colocation add fs-clone with clvmd-clone
Copy to Clipboard Copied! - 想定通りに GFS2 ファイルがマウントされていることを確認します。
mount |grep /mnt/gfs2share
[root@z1 ~]# mount |grep /mnt/gfs2share /dev/mapper/cluster_vg-cluster_lv on /mnt/gfs2share type gfs2 (rw,noatime,seclabel)
Copy to Clipboard Copied!