Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
8.2. 删除或者添加节点
本小节论述了如何从集群中删除节点或者在集群中添加节点。您可以从集群中删除节点,如 第 8.2.1 节 “从集群中删除节点” 所述,或者在集群中添加节点,如 第 8.2.2 节 “在集群中添加节点” 所述。
8.2.1. 从集群中删除节点
从集群中删除节点包括在节点中关闭要删除的集群软件,并更新集群配置以反映此变化。
重要
如果从集群中删除节点让该集群中只剩下两个节点,则您必须在更新集群配置文件后在每个节点中重启该集群软件。
要从集群中删除节点,请按照以下步骤操作:
- 在您要从集群中删除的节点中停止集群软件,如 第 8.1.2 节 “停止集群软件” 所述。例如:
[root@example-01 ~]#
service rgmanager stopStopping Cluster Service Manager: [ OK ] [root@example-01 ~]#service gfs2 stopUnmounting GFS2 filesystem (/mnt/gfsA): [ OK ] Unmounting GFS2 filesystem (/mnt/gfsB): [ OK ] [root@example-01 ~]#service clvmd stopSignaling clvmd to exit [ OK ] clvmd terminated [ OK ] [root@example-01 ~]#service cman stopStopping 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 “三节点配置” 中,如果要删除 node-03.example.com,则要删除该节点的clusternode部分。如果删除节点让该集群只剩下两个节点,则您可在配置文件中添加以下行以便单一节点可维护仲裁(例如:如果一个节点失败):<cman two_node="1" expected_votes="1"/>有关三节点配置和双节点配置对比请参考 第 8.2.3 节 “三节点和双节点配置示例”。 - 增加
config_version属性参数即可更新该参数(例如:从config_version="2"改为config_version="3">)。 - 保存
/etc/cluster/cluster.conf。 - (可选),运行
ccs_config_validate命令,验证根据集群方案(cluster.rng)更新的文件。例如:[root@example-01 ~]#
ccs_config_validateConfiguration validates - 运行
cman_tool version -r命令在其他集群节点中推广该配置。 - 确认推广了更新的文件。
- 如果集群节点计数由大于 2 变为等于 2,则您必须重启集群软件,如下:
- 在每个节点中如 第 8.1.2 节 “停止集群软件” 所述停止集群软件。例如:
[root@example-01 ~]#
service rgmanager stopStopping Cluster Service Manager: [ OK ] [root@example-01 ~]#service gfs2 stopUnmounting GFS2 filesystem (/mnt/gfsA): [ OK ] Unmounting GFS2 filesystem (/mnt/gfsB): [ OK ] [root@example-01 ~]#service clvmd stopSignaling clvmd to exit [ OK ] clvmd terminated [ OK ] [root@example-01 ~]#service cman stopStopping 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 ~]# - 在每个节点中如 第 8.1.1 节 “启动集群软件” 所述启动集群软件。例如:
[root@example-01 ~]#
service cman startStarting 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 startStarting clvmd: [ OK ] Activating VG(s): 2 logical volume(s) in volume group "vg_example" now active [ OK ] [root@example-01 ~]#service gfs2 startMounting GFS2 filesystem (/mnt/gfsA): [ OK ] Mounting GFS2 filesystem (/mnt/gfsB): [ OK ] [root@example-01 ~]#service rgmanager startStarting Cluster Service Manager: [ OK ] [root@example-01 ~]# - 在任意集群节点中运行
cman_tool nodes以确认那些节点是作为集群的成员运行(在状态列 "Sts" 中被标记为 "M")。例如:[root@example-01 ~]#
cman_tool nodesNode 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 ~]#
clustatCluster 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