CentOS Stream 8
Sponsored Link

Pacemaker : フェンスデバイスを設定する
2021/06/11
 
クラスターにフェンスデバイスを設定します。(フェンシングの概要は下記サイト参照)
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_and_managing_high_availability_clusters/s1-fencing-haao

フェンスデバイスには APC 電源スイッチや IPMI 等々、多くが利用可能ですが、当例では、ストレージベースのフェンスデバイスを利用します。
例として、以下のように ISCSI Target のストレージを使用して SCSI フェンシングを設定します。
事前にクラスターの基本構成を設定していることが前提です

                        +--------------------+
                        | [  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   |
|                      |                     |                      |
+----------------------+                     +----------------------+

[1]
こちらを参考に、ISCSI ターゲット サーバーにフェンスデバイス用のストレージを作成しておきます
当例では、IQN (iSCSI Qualified Name) を [iqn.2021-06.world.srv:dlp.target01] として [1M] のストレージを設定しています。
[2]
[3] クラスターを構成する全ノードに SCSI フェンスエージェントをインストールします。
[root@node01 ~]#
dnf --enablerepo=ha -y install fence-agents-scsi
[4] フェンスデバイスを設定します。いずれかのノード上で設定すれば OK です。
下例の [sda] は ISCSI ターゲット サーバーのストレージです。
# ディスク ID 確認

[root@node01 ~]#
ll /dev/disk/by-id | grep sda

lrwxrwxrwx. 1 root root  9 Jun 11 00:59 scsi-1LIO-ORG_disk01:72e19335-4335-412a-8fe7-7a0b9cae62f9 -> ../../sda
lrwxrwxrwx. 1 root root  9 Jun 11 00:59 scsi-3600140572e193354335412a8fe77a0b9 -> ../../sda
lrwxrwxrwx. 1 root root  9 Jun 11 00:59 scsi-SLIO-ORG_disk01_72e19335-4335-412a-8fe7-7a0b9cae62f9 -> ../../sda
lrwxrwxrwx. 1 root root  9 Jun 11 00:59 wwn-0x600140572e193354335412a8fe77a0b9 -> ../../sda

# フェンシングを設定

# [scsi-shooter] ⇒ 任意の名称

# [pcmk_host_list=***] ⇒ クラスター構成ノードを指定

# [devices=***] ⇒ 上で確認したディスク ID

[root@node01 ~]#
pcs stonith create scsi-shooter fence_scsi pcmk_host_list="node01.srv.world node02.srv.world" devices=/dev/disk/by-id/wwn-0x600140572e193354335412a8fe77a0b9 meta provides=unfencing
# 設定確認

[root@node01 ~]#
pcs stonith config scsi-shooter

 Resource: scsi-shooter (class=stonith type=fence_scsi)
  Attributes: devices=/dev/disk/by-id/wwn-0x600140572e193354335412a8fe77a0b9 pcmk_host_list="node01.srv.world node02.srv.world"
  Meta Attrs: provides=unfencing
  Operations: monitor interval=60s (scsi-shooter-monitor-interval-60s)

# ステータス確認

# 設定したフェンスデバイスが [Started] であれば OK

[root@node01 ~]#
pcs status

Cluster name: ha_cluster
Cluster Summary:
  * Stack: corosync
  * Current DC: node02.srv.world (version 2.0.5-9.el8_4.1-ba59be7122) - partition with quorum
  * Last updated: Fri Jun 11 01:04:01 2021
  * Last change:  Fri Jun 11 01:03:23 2021 by root via cibadmin on node01.srv.world
  * 2 nodes configured
  * 1 resource instance configured

Node List:
  * Online: [ node01.srv.world node02.srv.world ]

Full List of Resources:
  * scsi-shooter        (stonith:fence_scsi):    Started node01.srv.world

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[5] 設定したフェンスデバイスが正常に機能するか、フェンシングのテストを実施します。
[root@node01 ~]#
pcs status

Cluster name: ha_cluster
Cluster Summary:
  * Stack: corosync
  * Current DC: node02.srv.world (version 2.0.5-9.el8_4.1-ba59be7122) - partition with quorum
  * Last updated: Fri Jun 11 01:04:40 2021
  * Last change:  Fri Jun 11 01:03:23 2021 by root via cibadmin on node01.srv.world
  * 2 nodes configured
  * 1 resource instance configured

Node List:
  * Online: [ node01.srv.world node02.srv.world ]

Full List of Resources:
  * scsi-shooter        (stonith:fence_scsi):    Started node01.srv.world

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled

# フェンシングのテスト

[root@node01 ~]#
pcs stonith fence node01.srv.world

Node: node01.srv.world fenced
# 他ノードで状態確認

[root@node02 ~]#
pcs status

Cluster name: ha_cluster
Cluster Summary:
  * Stack: corosync
  * Current DC: node02.srv.world (version 2.0.5-9.el8_4.1-ba59be7122) - partition with quorum
  * Last updated: Fri Jun 11 01:05:08 2021
  * Last change:  Fri Jun 11 01:03:23 2021 by root via cibadmin on node01.srv.world
  * 2 nodes configured
  * 1 resource instance configured

Node List:
  * Online: [ node02.srv.world ]
  * OFFLINE: [ node01.srv.world ]

Full List of Resources:
  * scsi-shooter        (stonith:fence_scsi):    Started node02.srv.world

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
関連コンテンツ