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!!!
OTT
2018