Skip navigation

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 | July 8, 2018 | No Comments | Système | Tags : cluster proxmox virtualisation