Proxmox : cluster à 2 nœuds
Mise en place d’un cluster à 2 nœuds sous Proxmox
Environnement
Les serveurs sont chez online.net avec, comme tout datacenter, des particularités réseau qui leurs sont propre. Dans ce cas on bénificie de 2 interfaces réseaux, une déjà configurée qui permet l’accès à Internet, l’autre à configurer pour les communications entre les nœuds. Le multicasts n’est pas permit il faudra donc utiliser l’unicast.
Pour cette seconde connexion, le faut aller dans l’interface d’administration des serveurs (pas de proxmox) pour activer le RPN, c’est dans cette même page que les IP privés seront données.
Nom du nœud | IP public | IP privé (RPN) |
---|---|---|
node-01 | 52.17.89.24/24 | 10.15.50.194 |
node-02 | 52.17.89.37/24 | 10.15.50.238 |
: L’utilisation de cssh
est très pratique ici car pas mal d’actions sont identique d’un nœud à un autres.
Mise en réseau des nœuds
Connection aux serveurs avec cssh
.
user@debian~$: cssh root@52.17.89.24 root@52.17.89.37
: Un fois la commande lancé, le terminal reste occupé par le processus cssh
. 2 petits terminal apparaîssent, il est possible d’éditer dans ces terminaux individuellement mais c’est la fenêtre grise qui permet d’éditer dans les 2 terminaux en simultanément.
Supression de dépot pve-enterprise pour la version sont support de Proxmox.
root@node-01_02~#: rm /etc/apt/sources.list.d/pve-enterprise.list
Mise à jour des OS.
root@node-01_02~#: apt update
root@debian~#: apt upgrade
Installation de curl
et de vim
.
root@node-01_02~#: apt install -y vim curl
Édition du fichier /etc/hosts pour que les nœuds ne pas s’appuient pas sur un serveur DNS pour la résolution de nom.
root@node-01_02~#: vim /etc/hosts
contenu du fichier sur node-01
127.0.0.1 localhost 52.17.89.24 sd-128795.dedibox.fr node-01 10.15.50.194 node-01 10.15.50.238 node-02 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
contenu du fichier sur node-02
127.0.0.1 localhost 52.17.89.37 sd-128796.dedibox.fr node-01 10.15.50.194 node-01 10.15.50.238 node-02 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Création et édition des fichiers /etc/network/interfaces.new
root@node-01_02~#: vim /etc/network/interfaces
contenu du fichier sur node-01
auto lo iface lo inet loopback iface enp0s20f0 inet manual iface enp0s20f1 inet manual #RPN nic auto vmbr0 iface vmbr0 inet static address 52.17.89.24 netmask 255.255.255.0 gateway 72.25.5.1 bridge_ports enp0s20f0 bridge_stp off bridge_fd 0 #Bridge to outside auto vmbr1 iface vmbr1 inet static address 10.15.50.194 netmask 255.255.255.0 bridge_ports enp0s20f1 bridge_stp off bridge_fd 0 #RPN bridge
contenu du fichier sur node-02
auto lo iface lo inet loopback iface enp0s20f0 inet manual iface enp0s20f1 inet manual #RPN nic auto vmbr0 iface vmbr0 inet static address 52.17.89.37 netmask 255.255.255.0 gateway 72.25.5.1 bridge_ports enp0s20f0 bridge_stp off bridge_fd 0 #Bridge to outside auto vmbr1 iface vmbr1 inet static address 10.15.50.238 netmask 255.255.255.0 bridge_ports enp0s20f1 bridge_stp off bridge_fd 0 #RPN bridge
Redémarage des serveurs.
root@debian~#: shutdown -r now
Création du cluster
La création se fait sur un seul des nœud, ici le node-01.
root@node-01~#: pvecm create cluster-name -bindnet0_addr 52.17.89.24 -ring0_addr 52.17.89.24 -bindnet1_addr 10.15.50.194 -ring1_addr 10.15.50.194
: pvecm create cluster-name -bindnet0_addr master-public-ip -ring0_addr master-public-ip -bindnet1_addr master-private-ip -ring1_addr master-private-ip
Comme il n’y a que 2 nœuds, il faut changer la façon dans les votes sont prises en compte.
root@node-01~#: pvecm expected 1
Particularité du réseau datacenter
Un fois la création du cluster terminé, il faut éditer le fichier /etc/pve/corosync.conf.
Incrémenter le numéro de version et indiquer à au cluster d’utiliser l’unicast au lieu du multicast.
aperçu du contenu du fichier
[…] totem { cluster_name: cluster-name config_version: 2 transport: udpu interface { bindnetaddr: 52.17.89.24 ringnumber: 0 } interface { bindnetaddr: 10.15.50.194 ringnumber: 1 } ip_version: ipv4 rrp_mode: passive secauth: on version: 2 }
Ensuite redémarrer le service.
root@debian~#: systemctl restart corosync.service
Ajout d’un autre nœud au cluster
root@node-02~#: pvecm add 10.15.50.238 -ring0_addr 52.17.89.37 -ring1_addr 10.15.50.238
: pvecm add master-private-ip -ring0_addr slave-public-ip -ring1_addr slave-private-ip
Le nœud est ajouté, il est maintenant possible de gérer les 2 nœuds dans l’interface une seul des interfaces web des serveurs.
by Nicolas SHINEY | July 8, 2018 | No Comments | Système | Tags : cluster proxmox virtualisation