8.2. Hinzufügen oder Löschen eines Knotens
Dieser Abschnitt beschreibt, wie ein Knoten von einem Cluster entfernt wird und wie ein Knoten zu einem Cluster hinzugefügt wird. Sie können einen Knoten von einem Cluster löschen gemäß Abschnitt 8.2.1, »Einen Knoten vom Cluster löschen«; und Sie können einen Knoten zu einem Cluster hinzufügen gemäß Abschnitt 8.2.2, »Einen Knoten zum Cluster hinzufügen«.
8.2.1. Einen Knoten vom Cluster löschen
Das Löschen eines Knotens vom Cluster umfasst das Stoppen der Cluster-Software auf dem zu löschenden Knoten und das Aktualisieren der Cluster-Konfiguration, um die Änderung widerzuspiegeln.
Wichtig
Falls der Cluster durch das Löschen eines Knotens nunmehr nur noch zwei Knoten umfasst, müssen Sie die Cluster-Software auf beiden Knoten nach Änderung der Konfigurationsdatei neu starten.
Um einen Knoten von einem Cluster zu löschen, führen Sie die folgenden Schritte aus:
- Verwenden Sie auf einem beliebigen Knoten das
clusvcadm
Dienstprogramm, um alle Hochverfügbarkeitsdienste, die auf dem zu löschenden Knoten laufen, entweder zu verlegen, zu migrieren oder zu stoppen. Weitere Informationen zur Verwendung vonclusvcadm
finden Sie in Abschnitt 8.3, »Verwaltung von Hochverfügbarkeitsdiensten«. - Halten Sie auf dem zu löschenden Knoten die Cluster-Software gemäß Abschnitt 8.1.2, »Stoppen der Cluster-Software« an. Zum Beispiel:
[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 ~]# - Bearbeiten Sie auf einem beliebigen Knoten im Cluster die
/etc/cluster/cluster.conf
, um denclusternode
Abschnitt des zu löschenden Knotens zu entfernen. Falls z.B. node-03.example.com in Beispiel 8.1, »Drei-Knoten-Cluster-Konfiguration« entfernt werden soll, löschen Sie denclusternode
Abschnitt für diesen Knoten. Falls der Cluster durch das Löschen eines Knotens nunmehr nur noch zwei Knoten umfasst, können Sie die folgende Zeile zur Konfigurationsdatei hinzufügen, damit ein einzelner Knoten das Quorum erhalten kann (falls z.B. ein Knoten ausfällt):<cman two_node="1" expected_votes="1"/>
Siehe Abschnitt 8.2.3, »Beispiele für Drei-Knoten- und Zwei-Knoten-Konfigurationen« für einen Vergleich einer Drei-Knoten- und einer Zwei-Knoten-Konfiguration. - Aktualisieren Sie den
config_version
Parameter, indem Sie dessen Wert erhöhen (ändern Sie ihn z.B. vonconfig_version="2"
aufconfig_version="3"
). - Speichern Sie die
/etc/cluster/cluster.conf
ab. - (Optional) Überprüfen Sie die aktualisierte Datei anhand des Cluster-Schemas (
cluster.rng
), indem Sie denccs_config_validate
Befehl ausführen. Zum Beispiel:[root@example-01 ~]#
ccs_config_validate
Configuration validates - Führen Sie den
cman_tool version -r
Befehl durch, um die Konfiguration an die übrigen Cluster-Knoten weiterzugeben. - Vergewissern Sie sich, dass die aktualisierte Konfigurationsdatei übertragen wurde.
- Falls der Cluster durch das Löschen eines Knotens nunmehr nur noch zwei Knoten umfasst, müssen Sie die Cluster-Software wie folgt neu starten:
- Halten Sie auf jedem Knoten die Cluster-Software gemäß Abschnitt 8.1.2, »Stoppen der Cluster-Software« an. Zum Beispiel:
[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 ~]# - Starten Sie auf jedem Knoten die Cluster-Software gemäß Abschnitt 8.1.1, »Starten der Cluster-Software«. Zum Beispiel:
[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 ~]# - Führen Sie auf einem beliebigen Cluster-Knoten
cman_tool nodes
aus, um zu überprüfen, dass die Knoten nun als Mitglieder im Cluster fungieren (gekennzeichnet durch ein "M" in der Statusspalte "Sts"). Zum Beispiel:[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 - Überprüfen Sie auf einem beliebigen Knoten mithilfe des
clustat
Dienstprogramms, ob die Hochverfügbarkeitsdienste wie erwartet funktionieren. Zusätzlich zeigtclustat
den Status der Cluster-Knoten. Zum Beispiel:[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