8.2. ノードの削除と追加
このセクションでは、クラスターに対してノードを削除/追加する方法を説明しています。クラスターからノードを削除するには、「クラスターからのノードの削除」 に従います。クラスターへノードを追加するには、「クラスターへのノードの追加」 に沿って行います。
8.2.1. クラスターからのノードの削除
クラスターからノードを削除するには、削除するノード上のクラスターソフトウェアをシャットダウンして、その変更を反映するためにクラスター設定を更新します。
重要
クラスターからノードを削除することで 2 つを超えるノードから 2 つのノードへ遷移する場合、クラスター設定ファイルの更新後、各ノードでクラスターソフトウェアを再起動しなければなりません。
クラスターからノードを削除するには、以下の手順を実行します。
- いずれかのノードで
clusvcadm
ユーティリティを使用して、クラスターから削除されるノード上で実行している各 HA サービスの再配置/移行/停止を行います。clusvcadm
の使用についての詳細は 「高可用性 (HA) サービスの管理」 を参照してください。 - クラスターから削除するノード上で 「クラスターソフトウェアの停止」 に従ってクラスターソフトウェアを停止します。例えば:
[root@example-01 ~]#
service rgmanager stop
Stopping Cluster Service Manager: [ OK ] [root@example-01 ~]#service gfs2 stop
Unmounting GFS2 filesystem (/mnt/gfsA): [ OK ] Unmounting GFS2 filesystem (/mnt/gfsB): [ OK ] [root@example-01 ~]#service clvmd stop
Signaling clvmd to exit [ OK ] clvmd terminated [ OK ] [root@example-01 ~]#service cman stop
Stopping cluster: Leaving fence domain... [ OK ] Stopping gfs_controld... [ OK ] Stopping dlm_controld... [ OK ] Stopping fenced... [ OK ] Stopping cman... [ OK ] Waiting for corosync to shutdown: [ OK ] Unloading kernel modules... [ OK ] Unmounting configfs... [ OK ] [root@example-01 ~]# - クラスター内のいずれかのノードで
/etc/cluster/cluster.conf
を編集して、削除するノードのclusternode
セクションを削除します。例えば、例8.1「3 ノードクラスターの設定」 で、node-03.example.com が削除されることになっている場合、そのノードのclusternode
セクションを削除します。ノード (群) の削除によりクラスターが 2 ノードクラスターになる場合、設定ファイルに以下の行を追加することで単一ノードが定足数を維持できるようにします (例えば 1 つのノードが失敗した場合):<cman two_node="1" expected_votes="1"/>
3 ノードと 2 ノードの設定の比較は、 「3 ノードと 2 ノードの設定サンプル」 を参照してください。 config_version
属性を更新するには、値を増加します (例えば、config_version="2"
からconfig_version="3">
へ変更)。/etc/cluster/cluster.conf
を保存します。- (オプション)
ccs_config_validate
コマンドを実行してクラスタースキーマ (cluster.rng
) に対して更新したファイルを検証します。例えば:[root@example-01 ~]#
ccs_config_validate
Configuration validates cman_tool version -r
コマンドを実行して、設定をクラスターノードの残り部分へ伝播します。- 更新した設定ファイルが伝播されたことを確認します。
- クラスターのノード数を 2 つを超えるノードから 2 つのノードに変更した場合は、以下のようにしてクラスターソフトウェアを再起動しなければなりません:
- 各ノードで 「クラスターソフトウェアの停止」 に従ってクラスターソフトウェアを停止します。例えば:
[root@example-01 ~]#
service rgmanager stop
Stopping Cluster Service Manager: [ OK ] [root@example-01 ~]#service gfs2 stop
Unmounting GFS2 filesystem (/mnt/gfsA): [ OK ] Unmounting GFS2 filesystem (/mnt/gfsB): [ OK ] [root@example-01 ~]#service clvmd stop
Signaling clvmd to exit [ OK ] clvmd terminated [ OK ] [root@example-01 ~]#service cman stop
Stopping cluster: Leaving fence domain... [ OK ] Stopping gfs_controld... [ OK ] Stopping dlm_controld... [ OK ] Stopping fenced... [ OK ] Stopping cman... [ OK ] Waiting for corosync to shutdown: [ OK ] Unloading kernel modules... [ OK ] Unmounting configfs... [ OK ] [root@example-01 ~]# - 各ノードで 「クラスターソフトウェアの起動」 に従ってクラスターソフトウェアを起動します。例えば:
[root@example-01 ~]#
service cman start
Starting cluster: Checking Network Manager... [ OK ] Global setup... [ OK ] Loading kernel modules... [ OK ] Mounting configfs... [ OK ] Starting cman... [ OK ] Waiting for quorum... [ OK ] Starting fenced... [ OK ] Starting dlm_controld... [ OK ] Starting gfs_controld... [ OK ] Unfencing self... [ OK ] Joining fence domain... [ OK ] [root@example-01 ~]#service clvmd start
Starting clvmd: [ OK ] Activating VG(s): 2 logical volume(s) in volume group "vg_example" now active [ OK ] [root@example-01 ~]#service gfs2 start
Mounting GFS2 filesystem (/mnt/gfsA): [ OK ] Mounting GFS2 filesystem (/mnt/gfsB): [ OK ] [root@example-01 ~]#service rgmanager start
Starting Cluster Service Manager: [ OK ] [root@example-01 ~]# - いずれかのクラスターノードで
cman_tool nodes
を実行して、ノード群がクラスター内のメンバーとして機能していることを確認します (ステータスカラム "Sts" 内で "M" として表示)。例えば:[root@example-01 ~]#
cman_tool nodes
Node Sts Inc Joined Name 1 M 548 2010-09-28 10:52:21 node-01.example.com 2 M 548 2010-09-28 10:52:21 node-02.example.com - いずれかのノードで
clustat
ユーティリティを使用して、HA サービスが期待どおりに稼働していることを確認します。さらに、clustat
はクラスターノード群のステータスを表示します。例えば:[root@example-01 ~]#
clustat
Cluster Status for mycluster @ Wed Nov 17 05:40:00 2010 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ node-02.example.com 2 Online, rgmanager node-01.example.com 1 Online, Local, rgmanager Service Name Owner (Last) State ------- ---- ----- ------ ----- service:example_apache node-01.example.com started service:example_apache2 (none) disabled