Guide

Proxmox 5: come creare un Cluster

Introduzione

Sono molte le novità introdotte nella versione 5 del sistema di virtualizzazione Proxmox VE.
Riteniamo che quelle più interessanti siano legate alla parte di cluster.

Per chi volesse approfondire meglio, vi suggeriamo di vedere il filmato ufficiale.

Sotto riportiamo una breve guida con i passi fondamentali per la creazione di un Cluster.
Come potrete vedere, con pochissimi comandi sarà possibile creare un cluster Proxmox VE in grado di gestire un’enorme quantità di risorse.

Creazione di un Cluster Proxmox

Testato su proxmox 4.4 e proxmox 5.X
Installa proxmox, aggiornalo ed installa pacchetti base:

# apt updare
# apt upgrade
# apt install htop iotop

Note preliminari

Prima di creare il cluster o inserire dei nodi al cluster, devo controllare che il file /etc/hosts contenga lo stesso ip della scheda di rete del nodo Proxmox VE.
Questa operazione è di assoluta importanza, altrimenti le operazioni sul cluster falliranno.
Assicurarsi che ogni nodo del cluster abbia nostname e IP definitivi. NON È POSSIBILE cambiare IP o NOME ai nodi Proxmox VE una vota inseriti nel cluster.
Le operazioni di creazione del cluster e aggiunta del nodo al cluster devono essere fatte senza VM presenti sul nodo.

Creazione del cluster

Vai su nodo 1
crea il nodo Cluster:
# pvecm create YOUR-CLUSTER-NAME

verifica stato del nodo:
# pvecm status

Note: ATTENZIONE, assicurarsi che il nodo NON CONTENGA VM!!!

Vai su nodo 2
# pvecm add IP-ADDRESS-CLUSTER

IP-ADDRESS-CLUSTER = ip del primo nodo che ho creato.

Verifico lo stato del cluster:
# pvecm status

Visualizzo i nodi del cluster:
# pvecm nodes

Per aggiungere nodi al cluster sarà sufficiente ri-eseguire i passi per aggiungere il nodo 2

Possibili errori riscontrati durante le operazioni di add dei nodi

——————————————————————

+ PROXMOX 5.1 Cluster TROUBLESHOOTING +

——————————————————————-

ERRORE:
Can’t create shared ssh key database ‘/etc/pve/priv/authorized_keys’
detected the following error(s):

* authentication key ‘/etc/corosync/authkey’ already exists
* cluster config ‘/etc/pve/corosync.conf’ already exists

SOLUZIONE: (SOLO SU NODO NUOVO DOVE FALLISCE IL JOIN AL CLUSTER)
# service pve-cluster stop
# service corosync stop
# pmxcfs -l
# rm /etc/pve/corosync.conf
# rm /etc/corosync/*
# killall pmxcfs
# systemctl start pve-cluster
# pvecm delnode oldnode or cd /etc/pve/nodes , rm -fr <nodo>

# PROVARE A RI-AGGIUNGERE IL NODO!!!

# pvecm add <ip>

OPZIONALE:
# reboot

Attenzione!!! Da fare solo in casi estremi!!!
# pvecm expected 1

# pvecm delnode oldnode (solo sul nodo principale)

ERRORE:
Job for pve-cluster.service failed because the control process exited with error code.
See “systemctl status pve-cluster.service” and “journalctl -xe” for details.
Cannot stat initial working directory for /etc/pve/nodes: Transport endpoint is not connected at /usr/share/perl5/PVE/CLI/pvecm.pm line 669.

starting pve-cluster failed

# systemctl status corosync.service

  • corosync.service – Corosync Cluster Engine

Loaded: loaded (/lib/systemd/system/corosync.service; enabled; vendor preset: enabled)

Active: failed (Result: exit-code) since Thu 2018-03-22 12:42:02 CET; 6s ago
Docs: man:corosync
man:corosync.conf
man:corosync_overview

Process: 6002 ExecStart=/usr/sbin/corosync -f $COROSYNC_OPTIONS (code=exited, status=20)
Main PID: 6002 (code=exited, status=20)
CPU: 55ms
Mar 22 12:42:02 pve5 corosync[6002]: info    [WD    ] no resources configured.
Mar 22 12:42:02 pve5 corosync[6002]: notice  [SERV  ] Service engine loaded: corosync watchdog service [7]
Mar 22 12:42:02 pve5 corosync[6002]: notice  [QUORUM] Using quorum provider corosync_votequorum
Mar 22 12:42:02 pve5 corosync[6002]: crit    [QUORUM] Quorum provider: corosync_votequorum failed to initialize.
Mar 22 12:42:02 pve5 corosync[6002]: error   [SERV  ] Service engine ‘corosync_quorum’ failed to load for reason ‘configuration error: nodelist or quorum.expected_votes must be configured!’
Mar 22 12:42:02 pve5 corosync[6002]: error   [MAIN  ] Corosync Cluster Engine exiting with status 20 at service.c:356.
Mar 22 12:42:02 pve5 systemd[1]: corosync.service: Main process exited, code=exited, status=20/n/a
Mar 22 12:42:02 pve5 systemd[1]: Failed to start Corosync Cluster Engine.
Mar 22 12:42:02 pve5 systemd[1]: corosync.service: Unit entered failed state.
Mar 22 12:42:02 pve5 systemd[1]: corosync.service: Failed with result ‘exit-code’.

# systemctl restart corosync.service

Job for corosync.service failed because the control process exited with error code.
See “systemctl status corosync.service” and “journalctl -xe” for details.

# systemctl status corosync.service

SOLUZIONE:
EDITARE IL FILE /etc/hosts E CONTROLLARE CHE L’INDIRIZZO IP SIA QUELLO REALE DEL SERVER E NELLA STESSA SUBNET DEL CLUSTER

# systemctl restart pve-cluster

A questo punto il nodo dovrebbe essere nel cluster!!!

  ti posso interessare anche