Gestion du cluster

Il faut distinguer la gestion d'un cluster, de la gestion d'un noeud.

La configuration d'un cluster agit sur l'ensemble des noeuds, alors que la configuration d'un noeud ne se fera que sur lui seule.

Attention:

Attention a ce qui peux engendrer des différences entre les différents noeuds du cluster, cela pourrait provoquer des comportements inattendus. Par exemple ne pas avoir le même niveau de mises à jour des différents noeuds composant le cluster.

Ici, nous allons d'abord commencer par voir la configuration et la gestion des noeuds. Nous verrons ensuite tout ce qui concerne la configuration et la gestion d'un cluster.

Gestion des noeuds (Hyperviseur)

Vous pouvez ajouter un noeud a un cluster soit par la ligne de commande, soit par l'interface web.

Pour ajouter un noeud au cluster (l'IP où le nom du noeud peuvent être utilisé):

pvecm add <nom-du-cluster>
pvecm add <ip-du-cluster>
root@pxtest:~# pvecm add px1
Please enter superuser (root) password for 'px1':
Password for root@px1: ********
Etablishing API connection with host 'px1'
The authenticity of host 'px1' cannot be established.
X509 SHA256 key fingerprint is 70:8B:FC:0D:DD:99:63:71:CF:A7:4F:DC:2A:58:AB:55:5F:BB:10:E6:EC:E2:A0:ED:2C:6A:44:1B:35:5A:83:03.
Are you sure you want to continue connecting (yes/no)? yes
Login succeeded.
Request addition of this node
Join request OK, finishing setup locally
stopping pve-cluster service
backup old database to '/var/lib/pve-cluster/backup/config-1553041450.sql.gz'
waiting for quorum...OK
(re)generate node files
generate new node certificate
merge authorized SSH keys and known hosts
generated new node certificate, restart pveproxy and pvedaemon services
successfully added node 'pxtest' to cluster.

A la fin du processus d'ajout de noeud, votre cluster devrait voir le noeud nouvellement ajouté.

Pour lister les noeuds d’un cluster :

pvecm nodes

Par exemple:

root@pxtest:~# pvecm nodes
 
Membership information
----------------------
    Nodeid      Votes Name
         1          1 192.168.1.110
         2          1 192.168.1.111
         3          1 192.168.1.112
         4          1 192.168.1.113 (local)

Dans la vue “Server”, sélectionnez “Datacenter”, puis “cluster” et enfin “Join Cluster”:

Dans la nouvelle fenêtre qui vient de s'ouvrir, il faut fournir deux informations primordial.
Pour rejoindre un cluster existant, il faut remplir le champ “Information” provenant du cluster que l'on souhaite rejoindre et le mot de passe root du noeud.

Pour obtenir les informations du cluster, allez sur l'un des noeuds, puis sélectionnez “Datacenter”, puis “cluster” et enfin “Join Information”.

Vous obtiendrez ainsi les informations pour rejoindre ce cluster.
Copiez le contenu du champ “Information”:

Puis Coller le contenu dans la fenêtre précédente (le noeud que l'on souhaite ajouter au cluster).
Automatiquement, les champs nécessaires seront renseignés, vous n'avez plus qu'à saisir le mot de passe root:

Une fois tous les champs saisis, cliquer sur “Join”:

Une nouvelle fenêtre apparaîtra avec l'avancement de la tâche d'ajout du noeud au cluster.

Une fois terminé, un message vous demandera de recharger la page du navigateur.

Une fois l'interface web de gestion rechargé, vous verrez le nouveau noeud que vous venez de rajouter ainsi que le premier noeud de votre cluster et toutes les ressources associés.

Important:

Avant de supprimer un noeud, déplacer toutes les VMs et éteindre le noeud !

Attention:

La suppression du noeud se fait à partir d’un autre noeud du cluster.
Il n'est pas possible à ce jour de supprimer un noeud d'un cluster depuis l'interface graphique (Proxmox 5.3).

Pour supprimer un noeud, il faudra utiliser la commande suivante:

pvecm delnode nom-du-noeud

Par exemple, sur un autre noeud, la commande suivante supprimera le noeud “pxtest” de notre cluster:

root@px1:~# pvecm delnode pxtest
Killing node 4

Une fois le noeud supprimé, celui-ci peux encore apparaître sur l'interface graphique, un simple rafraichissement de la page le fera disparaître.

Réinstaller un noeud (qui comporterais le même nom), comporte des risques, en effet même après la suppression d'un noeud d'un cluster, il reste des entrées avec le nom qui bloque l'ajout du noeud.

Dans ce cas là, un changement de nom suffit pour continuer avec un noeud « propre » dans le cluster.

Dans le cas où un changement de nom ne serait pas possible et/ou difficile, voici comment procéder.

Pour déplacer des VM d'un noeud à un autre, il est possible de soit le faire machine par machine, soit par une commande groupé.

Pour déplacer une machine uniquement:

- soit vous sélectionnez la machine, puis vous cliquer sur “Migrate”:

- soit vous faites un clic droit sur la VM voulu, puis vous cliquer sur “Migrate”:

Une fenêtre apparaît, vous permettant de sélectionner le noeud sur lequel vous souhaitez déplacer la VM:

Sélectionnez le noeud souhaiter dans la liste déroulante:

Une fois le noeud sélectionner, cliquer sur “Migrate”:

La migration commence, vous pouvez fermer la fenêtre, la migration continuera en arrière plan.

Pour déplacer un ensemble de VM, il est possible de faire une commande groupé (Bulk Actions).

- soit vous sélectionnez le noeud, puis vous cliquer sur “Migrate”:

- soit vous faites un clic droit sur le noeud voulu, puis vous cliquer sur “Migrate”:

Une fenêtre listant toutes les VMs à déplacer apparaît:

Sélectionnez le noeud sur lequel vous souhaitez déplacer toutes les VMs sélectionner:

L'opération de migration commence, vous pouvez fermer cette fenêtre, la migration continuera en arrière plan.

Il n'y a pas a proprement parler de mode de maintenance au sein d'un cluster Proxmox. Mais lorsque la Haute disponibilité est activé sur un cluster, il faut déclarer le noeud sur lequel on souhaite faire une maintenance comme non éligible à l'accueil de machines virtuelles en HA.

Pour cela, il faut aller dans la vue “Datacenter”, puis “HA” et “Groups”.
Sélectionnez le groupe HA désiré, puis sur “Edit”

La fenêtre d'édition du groupe apparaît:

Déselectionnez le noeud que vous souhaitez mettre en “maintenance” et qui ne sera plus dans le group de HA, puis cliquez sur “OK”.

Toutes les VMs présent sur le noeud commenceront automatiquement a être évacué sur les noeuds restants disponibles et en fonction des ressources disponibles.

Attention:

Il peux arriver dans certaines anciennes versions que les VMs ne soient pas déplacés automatiquement et en fonction des réglages associés.

Dans ce cas, il vous faudra déplacer les VMs manuellement, soit une par une, soit par une commande groupé. (voir plus haut)

Vous pouvez désormais effectuer votre maintenance et procéder dans l’ordre inverse pour sortir l’hyperviseur de la maintenance. (voir ci-dessous)

Il n'y a pas a proprement parler de mode de maintenance au sein d'un cluster Proxmox.

Mais lorsque la Haute disponibilité est activé sur un cluster, il faut déclarer le noeud sur lequel on souhaite faire une maintenance comme non éligible à l'accueil de machines virtuelles en HA.

Lorsque la maintenance est fini, il faudra donc remettre le noeud dans le groupe de HA.

Pour cela, il faut aller dans la vue “Datacenter”, puis “HA” et “Groups”. Sélectionnez le groupe HA désiré, puis sur “Edit”

La fenêtre d'édition du groupe de HA apparaît:

Sélectionnez le noeud a remettre dans le groupe de HA, puis cliquez sur “OK” pour valider.

Attention:

Attention, cette opération ne signifie pas que le cluster remettra les VMs sur le noeud qui vient d'être replacé dans le groupe de HA.

La répartition des ressources sur le cluster ne sera pas réalisé automatiquement.

Attention:

A savoir, lorsque vous lancerez des mises à jour du kernel, il est fortement recommandé d'effectuer un re-démarrage du système.

Il faudra être attentif lorsque cela est fait via la ligne de commande, vous n'aurez pas d'avertissement d'une mise à jour du kernel et de la nécessité d'effectuer un re-démarrage.

Ce qui n'est pas le cas lorsque cela est effectuer via l'interface web.

;-) Voir la fin de l'application des mises à jour “ligne de commande” Vs “Interface web”

Ligne de commande

Mise à jour des dépôts :

root@px1:~# apt-get update
Ign:1 http://ftp.fr.debian.org/debian stretch InRelease
Hit:2 http://security.debian.org stretch/updates InRelease
Hit:3 http://ftp.fr.debian.org/debian stretch-updates InRelease
Hit:4 http://ftp.fr.debian.org/debian stretch Release
Get:5 http://download.proxmox.com/debian/pve stretch InRelease [3,052 B]
Get:7 http://download.proxmox.com/debian/pve stretch/pve-no-subscription amd64 Packages [291 kB]
Fetched 294 kB in 1s (183 kB/s)
Reading package lists... Done

Installation des mises à jour disponible :

root@px1:~# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  ceph-fuse libgoogle-perftools4 libtcmalloc-minimal4 libunwind8 pve-kernel-4.15.18-1-pve
The following packages will be upgraded:
  base-files ca-certificates dpkg file fuse gnupg gnupg-agent gpgv iproute2 libc-bin libc-dev-bin libc-l10n libc6 libc6-dev libcups2 libcurl3-gnutls
  libfuse2 libgcrypt20 libgnutls-openssl27 libgnutls30 libgnutlsxx28 libldap-2.4-2 libldap-common libmagic-mgc libmagic1 libnvpair1linux libpam-systemd
  libperl5.24 libprocps6 libpve-apiclient-perl libpve-common-perl libpve-guest-common-perl libpve-http-server-perl libpve-storage-perl libsystemd0
  libudev1 libuutil1linux libxapian30 libzfs2linux libzpool2linux linux-libc-dev locales multiarch-support novnc-pve patch perl perl-base
  perl-modules-5.24 procps proxmox-widget-toolkit pve-cluster pve-container pve-docs pve-edk2-firmware pve-firewall pve-firmware pve-i18n
  pve-kernel-4.15 pve-manager pve-qemu-kvm python3-reportbug qemu-server reportbug spl systemd systemd-sysv tzdata udev zfs-initramfs zfsutils-linux
70 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 146 MB of archives.
After this operation, 270 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://security.debian.org stretch/updates/main amd64 linux-libc-dev amd64 4.9.110-3+deb9u1 [1,347 kB]
Get:2 http://ftp.fr.debian.org/debian stretch/main amd64 base-files amd64 9.9+deb9u5 [67.3 kB]
Get:3 http://ftp.fr.debian.org/debian stretch/main amd64 dpkg amd64 1.18.25 [2,115 kB]
Get:4 http://download.proxmox.com/debian/pve stretch/pve-no-subscription amd64 iproute2 amd64 4.15.0-5 [724 kB]
 
...
 
Processing triggers for initramfs-tools (0.130) ...
update-initramfs: Generating /boot/initrd.img-4.15.18-1-pve
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for ca-certificates (20161130+nmu1+deb9u1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Processing triggers for systemd (232-25+deb9u4) ...

Interface web de gestion

Se connecter à l'interface de gestion des hyperviseurs, une fois connecté sélectionner l'hyperviseur (dans notre cas 'px2'), puis cliquer sur “Updates”.

La liste des paquets nécessitant une mise à jour s'affiche.

Si ce n'est pas le cas:

  • soit il n'y a pas de mise à jour disponible
  • soit la liste des dépôts n'a pas été rafraichit, pour se faire, cliquer sur le bouton “Refresh” comme ci-dessous.

La fenêtre de mise à jour des dépôts vous indique l'état de l'opération. Une fois terminé, vous pouvez fermer la fenêtre.

Pour obtenir des informations sur une mise à jour, cliquez dessus puis sur le bouton “Changelog”:

Pour lancer les mises à jour, cliquer sur le bouton “Upgrade”. Plusieurs consoles sont disponibles:

  • noVNC (console par défaut)
  • SPICE
  • xterm.js

Une fois lancé, il vous est toujours possible de faire les mises à jour ou d'annuler.

Une fois les mises à jour installés, vous pouvez-vous déconnecter de la console et fermer la fenêtre:

La console fermé, vous devriez ne plus avoir de mises à jour disponible, vous pouvez re-cliquer sur le bouton “Refresh” pour vous en assurez.

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus