8.2.2. 在集群中添加节点
在集群中添加节点包括更新集群配置;在要添加的节点中使用更新的配置;以及在该节点中启动集群软件。要在集群中添加节点,请执行以下步骤:
- 在集群的任意节点中编辑
/etc/cluster/cluster.conf
,为要添加的节点添加clusternode
部分。例如:在 例 8.2 “双节点配置” 中,如果要添加 node-03.example.com,则请为该节点添加clusternode
部分。如果添加节点导致群集从双节点变为三个或者三个以上节点,请从/etc/cluster/cluster.conf
中删除cman
属性: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_validate
Configuration validates - 运行
cman_tool version -r
命令在其他集群节点中推广该配置。 - 确认推广了更新的文件。
- 在每个要添加到集群的节点的
/etc/cluster/
中使用更新的配置文件。例如:scp
命令会将更新的配置文件发送到要添加到集群的每个节点中。 - 如果节点计数由 2 变为大于 2,则您必须在现有集群节点中重启集群软件,如下:
- 在每个节点中如 第 8.1.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 ~]# - 在每个节点中如 第 8.1.1 节 “启动集群软件” 所述启动集群软件。例如:
[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 ~]#
- 在每个要添加到集群的节点中如 第 8.1.1 节 “启动集群软件” 所述启动集群软件。例如:
[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 ~]# - 在任意节点中使用
clustat
程序确认每个添加的节点正作为集群的一部分运行。例如:[root@example-01 ~]#
clustat
Cluster Status for mycluster @ Wed Nov 17 05:40:00 2010 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ node-03.example.com 3 Online, rgmanager 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有关使用clustat
的详情请参考 第 8.3 节 “管理高可用性服务”。另外,您可以使用cman_tool status
确认节点投票、节点计数以及仲裁计数。例如:[root@example-01 ~]#
cman_tool status
Version: 6.2.0 Config Version: 19 Cluster Name: mycluster Cluster Id: 3794 Cluster Member: Yes Cluster Generation: 548 Membership state: Cluster-Member Nodes: 3 Expected votes: 3 Total votes: 3 Node votes: 1 Quorum: 2 Active subsystems: 9 Flags: Ports Bound: 0 11 177 Node name: node-01.example.com Node ID: 3 Multicast addresses: 239.192.14.224 Node addresses: 10.15.90.58 - 在任意节点中您可以使用
clusvcadm
程序将运行中的服务重新定位或者迁移到新添加的节点中。另外,您可以启用所有禁用的服务。有关使用clusvcadm
详情请参考 第 8.3 节 “管理高可用性服务”。