Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
8.2. Добавление и удаление узлов
Далее рассматривается порядок добавления (см. Раздел 8.2.2, «Добавление узла в кластер») и удаления узлов (см. Раздел 8.2.1, «Удаление узла из кластера»).
8.2.1. Удаление узла из кластера
При удалении узла из кластера необходимо остановить кластерные программы и обновить конфигурацию кластера, чтобы изменения вступили в силу.
Важно
Если после удаления число узлов в кластере уменьшится до двух, потребуется перезапустить кластерные программы на обоих узлах.
Порядок удаления узла из кластера:
- Сначала перенесите или удалите кластерные службы на удаляемом узле. Это можно сделать с помощью утилиты
clusvcadm
, которая может быть запущена на любом узле (см. Раздел 8.3, «Управление службами высокой готовности»). - Остановите кластерные программы на подлежащем удалению узле:
[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
для удаляемого узла. Например, при удалении node-03.example.com надо будет удалить соответствующую секциюclusternode
(см. Пример 8.1, «Конфигурация с тремя узлами»). Если после удаления в кластере останется всего два узла, для поддержки кворума одним из узлов в/etc/cluster/cluster.conf
можно добавить:<cman two_node="1" expected_votes="1"/>
Раздел 8.2.3, «Примеры конфигураций с двумя и тремя узлами» выполняет сравнение структур с двумя и тремя узлами. - Увеличьте значение
config_version
на единицу. Например, если исходное выражение выглядело какconfig_version="2"
, после изменения оно будет выглядеть так:config_version="3"
. - Сохраните
/etc/cluster/cluster.conf
. - Дополнительно можно выполнить проверку соответствия формата файла схеме в
cluster.rng
:[root@example-01 ~]#
ccs_config_validate
Configuration validates - Выполните
cman_tool version -r
, чтобы скопировать изменения на остальные узлы в кластере. - Убедитесь, что конфигурация была скопирована.
- Если число узлов в кластере уменьшилось до двух, потребуется перезапустить кластерные программы:
- Остановите кластерные программы на всех узлах (см. Раздел 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 ~]# - На любом узле выполните
cman_tool nodes
, чтобы убедиться, что все узлы входят в состав кластера, о чем сообщает значение "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
, чтобы проверить статус работы кластерных служб и узлов:[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