Pacemaker : クラスターリソースを設定する (NFS)2021/06/11 |
|
クラスターリソースに NFS サーバーを設定して、アクティブ/パッシブ 構成の NFS サーバーを構築します。
+--------------------+
| [ ISCSI Target ] |
| dlp.srv.world |
+----------+---------+
10.0.0.30|
|
+----------------------+ | +----------------------+
| [ Cluster Node#1 ] |10.0.0.51 | 10.0.0.52| [ Cluster Node#2 ] |
| node01.srv.world +----------+----------+ node02.srv.world |
| NFS Server | | | NFS Server |
+----------------------+ | +----------------------+
vip:10.0.0.60
|
+----------+---------+
| [ NFS Clients ] |
| |
+--------------------+
|
| [1] | クラスターを構成する全ノードで、Firewalld を有効にしている場合は、NFS サービスの許可が必要です。 |
|
[root@node01 ~]#
firewall-cmd --add-service=nfs success # NFSv3 も許可する場合は以下 [root@node01 ~]# firewall-cmd --add-service={nfs3,mountd,rpc-bind} success firewall-cmd --runtime-to-permanent success |
| [2] | クラスターのいずれかのノード上で、NFS リソースを追加します。 以下で Filesystem に設定しているデバイス [/dev/vg_ha/lv_ha] は事前に作成した LVM 共有ストレージです。 |
|
# 現在の状態 [root@node01 ~]# pcs status
Cluster name: ha_cluster
Cluster Summary:
* Stack: corosync
* Current DC: node01.srv.world (version 2.1.2-4.el8-ada5c3b36e2) - partition with quorum
* Last updated: Wed Mar 9 10:04:04 2022
* Last change: Wed Mar 9 09:57:45 2022 by root via cibadmin on node01.srv.world
* 2 nodes configured
* 2 resource instances configured
Node List:
* Online: [ node01.srv.world node02.srv.world ]
Full List of Resources:
* scsi-shooter (stonith:fence_scsi): Started node01.srv.world
* Resource Group: ha_group:
* lvm_ha (ocf::heartbeat:LVM-activate): Started node02.srv.world
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
# Filesystem リソース設定 # [nfs_share] ⇒ 任意の名称 # [device=***] ⇒ 共有ストレージ # [directory=***] ⇒ マウントポイント # [--group ***] ⇒ 共有ストレージと同じグループに設定 [root@node01 ~]# pcs resource create nfs_share ocf:heartbeat:Filesystem device=/dev/vg_ha/lv_ha directory=/home/nfs-share fstype=ext4 --group ha_group
pcs status
Cluster name: ha_cluster
Cluster Summary:
* Stack: corosync
* Current DC: node01.srv.world (version 2.1.2-4.el8-ada5c3b36e2) - partition with quorum
* Last updated: Wed Mar 9 10:05:03 2022
* Last change: Wed Mar 9 10:04:55 2022 by root via cibadmin on node01.srv.world
* 2 nodes configured
* 3 resource instances configured
Node List:
* Online: [ node01.srv.world node02.srv.world ]
Full List of Resources:
* scsi-shooter (stonith:fence_scsi): Started node01.srv.world
* Resource Group: ha_group:
* lvm_ha (ocf::heartbeat:LVM-activate): Started node02.srv.world
* nfs_share (ocf::heartbeat:Filesystem): Started node02.srv.world
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
# リソースが開始した側のノードで自動マウントされる [root@node02 ~]# df -hT /home/nfs-share Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg_ha-lv_ha ext4 9.8G 37M 9.3G 1% /home/nfs-share # nfsserver リソース設定 # [nfs_daemon] ⇒ 任意の名称 # [nfs_shared_infodir=***] ⇒ NFS サーバー関連情報の保管ディレクトリ指定 (自動生成) [root@node01 ~]# pcs resource create nfs_daemon ocf:heartbeat:nfsserver nfs_shared_infodir=/home/nfs-share/nfsinfo nfs_no_notify=true --group ha_group
# IPaddr2 リソース設定 # クライアントからの NFS アクセスに使用する仮想 IP アドレス [root@node01 ~]# pcs resource create nfs_vip ocf:heartbeat:IPaddr2 ip=10.0.0.60 cidr_netmask=24 --group ha_group
# nfsnotify リソース設定 # [source_host=***] ⇒ 仮想 IP アドレスと同じ IP アドレス [root@node01 ~]# pcs resource create nfs_notify ocf:heartbeat:nfsnotify source_host=10.0.0.60 --group ha_group
pcs status
Cluster name: ha_cluster
Cluster Summary:
* Stack: corosync
* Current DC: node01.srv.world (version 2.1.2-4.el8-ada5c3b36e2) - partition with quorum
* Last updated: Wed Mar 9 10:08:27 2022
* Last change: Wed Mar 9 10:08:19 2022 by root via cibadmin on node01.srv.world
* 2 nodes configured
* 6 resource instances configured
Node List:
* Online: [ node01.srv.world node02.srv.world ]
Full List of Resources:
* scsi-shooter (stonith:fence_scsi): Started node01.srv.world
* Resource Group: ha_group:
* lvm_ha (ocf::heartbeat:LVM-activate): Started node02.srv.world
* nfs_share (ocf::heartbeat:Filesystem): Started node02.srv.world
* nfs_daemon (ocf::heartbeat:nfsserver): Started node02.srv.world
* nfs_vip (ocf::heartbeat:IPaddr2): Started node02.srv.world
* nfs_notify (ocf::heartbeat:nfsnotify): Started node02.srv.world
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
|
| [3] | NFS ファイルシステムがマウントされているアクティブなノード上で、エクスポートの設定をします。 |
|
# exportfs リソース設定 # [nfs_root] ⇒ 任意の名称 # [clientspec=*** options=*** directory=***] ⇒ エクスポートの設定 # [fsid=0] ⇒ NFSv4 でのルートポイントとなる [root@node02 ~]# pcs resource create nfs_root ocf:heartbeat:exportfs clientspec=10.0.0.0/255.255.255.0 options=rw,sync,no_root_squash directory=/home/nfs-share/nfs-root fsid=0 --group ha_group # exportfs リソース設定 [root@node02 ~]# pcs resource create nfs_share01 ocf:heartbeat:exportfs clientspec=10.0.0.0/255.255.255.0 options=rw,sync,no_root_squash directory=/home/nfs-share/nfs-root/share01 fsid=1 --group ha_group
pcs status
Cluster name: ha_cluster
Cluster Summary:
* Stack: corosync
* Current DC: node01.srv.world (version 2.1.2-4.el8-ada5c3b36e2) - partition with quorum
* Last updated: Wed Mar 9 10:10:16 2022
* Last change: Wed Mar 9 10:10:10 2022 by root via cibadmin on node02.srv.world
* 2 nodes configured
* 8 resource instances configured
Node List:
* Online: [ node01.srv.world node02.srv.world ]
Full List of Resources:
* scsi-shooter (stonith:fence_scsi): Started node01.srv.world
* Resource Group: ha_group:
* lvm_ha (ocf::heartbeat:LVM-activate): Started node02.srv.world
* nfs_share (ocf::heartbeat:Filesystem): Started node02.srv.world
* nfs_daemon (ocf::heartbeat:nfsserver): Started node02.srv.world
* nfs_vip (ocf::heartbeat:IPaddr2): Started node02.srv.world
* nfs_notify (ocf::heartbeat:nfsnotify): Started node02.srv.world
* nfs_root (ocf::heartbeat:exportfs): Started node02.srv.world
* nfs_share01 (ocf::heartbeat:exportfs): Started node02.srv.world
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
[root@node02 ~]# showmount -e Export list for node02.srv.world: /home/nfs-share/nfs-root 10.0.0.0/255.255.255.0 /home/nfs-share/nfs-root/share01 10.0.0.0/255.255.255.0 |
| [4] | 任意のクライアントコンピューターで、設定した仮想 IP アドレス宛に NFS アクセスして動作確認します。 また、マウントした状態でフェイルオーバー等も試してみるとよいでしょう。 |
|
# NFSv4 でマウント [root@client ~]# mount -t nfs4 10.0.0.60:share01 /mnt [root@client ~]# df -hT /mnt Filesystem Type Size Used Avail Use% Mounted on 10.0.0.60:/share01 nfs4 9.8G 37M 9.3G 1% /mnt # NFSv3 でマウント [root@client ~]# mount -t nfs 10.0.0.60:/home/nfs-share/nfs-root/share01 /mnt [root@client ~]# df -T /mnt Filesystem Type 1K-blocks Used Available Use% Mounted on 10.0.0.60:/home/nfs-share/nfs-root/share01 nfs 10231808 37376 9655296 1% /mnt |
| Sponsored Link |
|
|