{"id":2246,"date":"2020-11-27T20:30:26","date_gmt":"2020-11-27T18:30:26","guid":{"rendered":"http:\/\/www.sfsoft.it\/blog\/?p=2246"},"modified":"2020-12-03T17:55:18","modified_gmt":"2020-12-03T15:55:18","slug":"creare-un-cluster-con-proxmox-6-3","status":"publish","type":"post","link":"https:\/\/www.sfsoft.it\/blog\/2020\/11\/27\/creare-un-cluster-con-proxmox-6-3\/","title":{"rendered":"Creare un cluster con Proxmox 6.3"},"content":{"rendered":"<p>Col l&#8217;Hypervisor Proxmox \u00e8 possibile implementare il cluster dei server host in maniera molto semplice e veloce.<\/p>\n<p>E&#8217; consigliato che i vari nodi abbiano installata la stessa versione.<\/p>\n<p>Mettiamo il caso abbiamo tre host che devono diventare i tre nodi del cluster.<\/p>\n<ul>\n<li>pc1 &#8211; 192.168.1.10<\/li>\n<li>pc2 &#8211; 192.168.1.11<\/li>\n<li>pc3 &#8211; 192.168.1.12<\/li>\n<\/ul>\n<p>Possiamo partire da tre host puliti oppure se abbiamo gi\u00e0 delle macchine virtuali vediamo di far si che girino tutte sull&#8217;host principale da cui andremo a creare il cluster.<\/p>\n<p>Se ci sono altre macchine virtuali su altri host conviene farne un backup su uno storage esterno e poi importarlo una volta finito tutto.<\/p>\n<p>Entriamo in shell sul pc1 e diamo il comando per creare la struttura cluster:<\/p>\n<pre class=\"lang:default decode:true \">pvecm create &lt;CLUSTER_NAME&gt;<\/pre>\n<p>Attenzione a scegliere e scrivere correttamente il nome del cluster perch\u00e8 non si potr\u00e0 cambiare.<\/p>\n<p>E&#8217; possibile verificare l&#8217;esisto delle operazioni controllando lo stato del cluster:<\/p>\n<pre class=\"lang:default decode:true \">pvecm status<\/pre>\n<p>Per avere la lista dei nodi:<\/p>\n<pre class=\"lang:default decode:true \">pvecm nodes<\/pre>\n<p>Per aggiungere il secondo nodo si apre la shell <strong>sul nodo da aggiungere<\/strong> (pc2):<\/p>\n<pre class=\"lang:default decode:true \">pvecm add &lt;HOSTNAME_O_IP_DEL_PC1&gt;<\/pre>\n<p>Stessa cosa poi sul il pc3.<\/p>\n<p>Ora \u00e8 possibile accedere all&#8217;interfaccia di gestione di qualsiasi nodo per poter gestire il custer.<\/p>\n<p>L&#8217;attuale soluzione non gestisce il failover \u00e8 solo una gestione centralizzata dei vari nodi con la possibilit\u00e0 di migrare le macchine da un host all&#8217;altro.<\/p>\n<p>Per rimuovere un nodo (la rimozione \u00e8 definitiva) occorre innanzitutto migrare eventuali macchine virtuali sugli altri nodi e spegnere l&#8217;host da rimuovere.<\/p>\n<p>L&#8217;host non va poi pi\u00f9 riacceso o per lo meno non va riacceso connesso alla rete se no potrebbe corrompersi poi la struttura cluster.<\/p>\n<p>Una volta spento l&#8217;host, basta collegarsi in shell su uno qualsiasi degli altri nodi ed eseguire:<\/p>\n<pre class=\"lang:default decode:true \">pvecm delnode &lt;HOSTNAME_O_IP_NODO&gt;<\/pre>\n<p>Nel caso si ottenesse l&#8217;errore &#8216;<em>cluster not ready &#8211; no quorum?<\/em>&#8216; provare a reimpostare il quorum impostando il numero di nodi:<\/p>\n<pre class=\"lang:default decode:true\">pvecm expected &lt;nodi-attivi&gt;<\/pre>\n<p>Dopo provare di nuovo ad eliminare il nodo.<\/p>\n<h3>Possibili problemi<\/h3>\n<ul>\n<li>Se dopo aver aggiunto un nodo questo risulta offline\n<ul>\n<li>eseguire il comando\n<pre class=\"lang:default decode:true \">pvecm status<\/pre>\n<\/li>\n<li>Se ci sono errori tipo &#8220;<em>Cannot initialize CMAP service<\/em>&#8221; provare con\n<pre class=\"lang:default decode:true\">journalctl -b -u corosync<\/pre>\n<\/li>\n<li>Potrebbe essere un problema di risoluzione host, basta aggiungere gli ip\/host in <em>\/etc\/hosts<\/em><\/li>\n<\/ul>\n<\/li>\n<li>Se dalla console principale si ha un errore di &#8220;Connection timeout&#8221; con un nuovo nodo potrebbe non aver preso i certificati\n<ul>\n<li>Dal nodo che risponde male eseguire\n<pre class=\"lang:default decode:true \">pvecm updatecerts\r\nreboot<\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>Se dopo un installazione viene vista\/montata solo la partizione <em>\/dev\/pve\/root<\/em> e non la <em>\/dev\/pve\/data<\/em>\n<ul>\n<li>Verificare intanto che la partizione esista\n<pre class=\"lang:default decode:true\">lsblk<\/pre>\n<\/li>\n<li>Se si tratta di un volume <em>LVM-Thin<\/em> editare <em>\/etc\/pve\/storage.cfg<\/em> e aggiungere\n<pre class=\"lang:default decode:true\">lvmthin: local-lvm\r\n thinpool data\r\n vgname pve\r\n content rootdir,images\r\n nodes pve,pve3,pve2 (solo se serve limitare a certi nodi)<\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>In caso di errore <em>Unable to set expected votes: CS_ERR_INVALID_PARAM<\/em>\n<ul>\n<li>Impostare il quorum\n<pre class=\"lang:default decode:true \">pvecm expected &lt;nodi-attivi&gt;<\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Col l&#8217;Hypervisor Proxmox \u00e8 possibile implementare il cluster dei server host in maniera molto semplice e veloce. E&#8217; consigliato che i vari nodi abbiano installata la stessa versione. Mettiamo il caso abbiamo tre host che devono diventare i tre nodi del cluster. pc1 &#8211; 192.168.1.10 pc2 &#8211; 192.168.1.11 pc3 &#8211; 192.168.1.12 Possiamo partire da tre [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[15,3,172],"tags":[243,16,8,173],"_links":{"self":[{"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/2246"}],"collection":[{"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/comments?post=2246"}],"version-history":[{"count":9,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/2246\/revisions"}],"predecessor-version":[{"id":2255,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/2246\/revisions\/2255"}],"wp:attachment":[{"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/media?parent=2246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/categories?post=2246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/tags?post=2246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}