8.2.2. Ajouter un nœud à un cluster
Ajouter un nœud à un cluster consiste en la mise à jour de la configuration du cluster, la propagation de la configuration mise à jour vers les nœuds à ajouter et le démarrage du logiciel du cluster sur ce nœud. Pour ajouter un nœud à un cluster, procédez aux étapes suivantes :
- Sur n'importe quel nœud dans le cluster, modifiez
/etc/cluster/cluster.conf
pour ajouter la sectionclusternode
du nœud à ajouter. Par exemple, dans l'Exemple 8.2, « Configuration d'un cluster à deux nœuds », si node-03.example.com est censé être ajouté, alors ajoutez la sectionclusternode
pour ce nœud. Si l'ajout d'un (ou plusieurs) nœud(s) cause au cluster de passer d'un cluster à deux nœuds à un cluster à trois nœuds ou plus, supprimez les attributscman
de/etc/cluster/cluster.conf
comme suit :cman two_node="1"
expected_votes="1"
Reportez-vous à la Section 8.2.3, « Exemples de configurations à deux nœuds et à trois nœuds » pour une comparaison entre une configuration à deux nœuds et une configuration à trois nœuds. - Mettez à jour l'attribut
config_version
en incrémentant sa valeur (par exemple, en la modifiant deconfig_version="2"
àconfig_version="3">
). - Enregistrez
/etc/cluster/cluster.conf
. - (Optional) Validez le fichier mis à jour sur le schéma du cluster (
cluster.rng
) en exécutant la commandeccs_config_validate
. Par exemple :[root@example-01 ~]#
ccs_config_validate
Configuration validates - Exécutez la commande
cman_tool version -r
pour propager la configuration au reste des nœuds de cluster. - Vérifiez que le fichier de configuration mis à jour a été propagé.
- Propagez le fichier de configuration mis à jour vers
/etc/cluster/
dans chaque nœud à ajouter au cluster. Par exemple, utilisez la commandescp
pour envoyer le fichier de configuration mis à jour sur chaque nœud à ajouter au cluster. - Si le décompte des nœuds du cluster est passé de deux nœuds à plus de deux nœuds, vous devrez redémarrer le logiciel du cluster dans les nœuds du cluster comme suit :
- Sur chaque nœud, arrêtez le logiciel du cluster selon la Section 8.1.2, « Arrêter un logiciel de cluster ». Par exemple :
[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 ~]# - Sur chaque nœud, démarrez le logiciel du cluster selon la Section 8.1.1, « Démarrer un logiciel de cluster ». Par exemple :
[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 ~]#
- Sur chaque nœud à ajouter au cluster, démarrez le logiciel du cluster selon la Section 8.1.1, « Démarrer un logiciel de cluster ». Par exemple :
[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 ~]# - Sur n'importe quel nœud et à l'aide de l'utilitaire
clustat
, vérifiez que chaque nœud ajouté est en cours d'exécution et fait partie du cluster. Par exemple :[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) disabledPour obtenir des informations sur l'utilisation declustat
, reportez-vous à la Section 8.3, « Gérer les services High-Availability ».En outre, vous pouvez utilisercman_tool status
pour vérifier les votes de nœuds, le compte des nœuds, et le compte quorum. Par exemple :[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 - Sur n'importe quel nœud, vous pouvez vous servir de l'utilitaire
clusvcadm
pour migrer ou déplacer un service en cours d'exécution sur le nouveau nœud du cluster. Vous pouvez aussi activer tout service désactivé. Pour obtenir des informations sur l'utilisation declusvcadm
, reportez-vous à la Section 8.3, « Gérer les services High-Availability ».