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