<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Proxmox &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/category/proxmox/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Thu, 07 Dec 2023 18:02:12 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=70606</generator>
	<item>
		<title>Proxmox: riavvio automatico di una VM in caso di crash</title>
		<link>https://blog.smsoft.it/2023/08/22/proxmox-riavvio-automatico-di-una-vm-in-caso-di-crash/</link>
					<comments>https://blog.smsoft.it/2023/08/22/proxmox-riavvio-automatico-di-una-vm-in-caso-di-crash/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 22 Aug 2023 08:30:00 +0000</pubDate>
				<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[restart]]></category>
		<category><![CDATA[watchdog]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6040</guid>

					<description><![CDATA[Può capitare che una VM vada in crash ma lo status non venga riportato come &#8220;stopped&#8221;. In questi casi, lo script che ho postato la scorsa volta non basta al riavvio, proprio perché lo status sarà &#8220;running&#8221;. Per gestire questo caso, consiglio di usare watchdog, dato che proxmox è basato su KVM. 1 &#8211; nel ... <a title="Proxmox: riavvio automatico di una VM in caso di crash" class="read-more" href="https://blog.smsoft.it/2023/08/22/proxmox-riavvio-automatico-di-una-vm-in-caso-di-crash/" aria-label="Per saperne di più su Proxmox: riavvio automatico di una VM in caso di crash">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Può capitare che una VM vada in crash ma lo status non venga riportato come &#8220;stopped&#8221;. In questi casi, lo script che ho postato la scorsa volta non basta al riavvio, proprio perché lo status sarà &#8220;running&#8221;.</p>



<p class="wp-block-paragraph">Per gestire questo caso, consiglio di usare watchdog, dato che proxmox è basato su KVM.</p>



<p class="wp-block-paragraph">1 &#8211; nel server proxmox, andiamo a modificare i file di configurazioni delle varie VM nella cartella <strong>/etc/pve/qemu-server</strong> aggiungendo questa riga:</p>



<pre class="wp-block-code"><code>watchdog: model=i6300esb,action=reset</code></pre>



<p class="wp-block-paragraph">2 &#8211; a questo punto, accedere alla VM, installare watchdog, es:</p>



<pre class="wp-block-code"><code>apt install watchdog</code></pre>



<p class="wp-block-paragraph">3 &#8211; modificare la configurazione in <strong>/etc/watchdog.conf</strong> e decommentare le seguenti righe:</p>



<pre class="wp-block-code"><code>
watchdog-device         = /dev/watchdog
log-dir                 = /var/log/watchdog
realtime                = yes
priority                = 1</code></pre>



<p class="wp-block-paragraph">4 &#8211; abilitiamo il servizio:</p>



<pre class="wp-block-code"><code>systemctl enable watchdog
systemctl status watchdog</code></pre>



<p class="wp-block-paragraph">Ora occorre riavviare la VM e watchdog penserà al resto.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">Nota:</h2>



<p class="wp-block-paragraph">Per verificare la presenza di watchdog nella VM, dopo aver riavviata basta eseguire:</p>



<pre class="wp-block-code"><code>dmesg | grep 6300</code></pre>



<p class="wp-block-paragraph">e vedere se risultano entry, inoltre verificare la presenza del virtual-device /dev/watchdog:</p>



<pre class="wp-block-code"><code>ls -l /dev/watchdog</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Le azioni che watchdog può monitorare sono:</p>



<ul class="wp-block-list">
<li>reset</li>



<li>shutdown</li>



<li>poweroff</li>



<li>pause</li>



<li>debug</li>



<li>none</li>
</ul>



<p class="wp-block-paragraph">e di conseguenza si può modificare la riga nel file di configurazione della VM se si vuole gesitre altro</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Se vogliamo provare a simulare un crash, nella VM digitare:</p>



<pre class="wp-block-code"><code>echo c > /proc/sysrq-trigger</code></pre>



<p class="wp-block-paragraph">e poi attendere una trentina di secondi per vedere nuovamente UP la VM.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2023/08/22/proxmox-riavvio-automatico-di-una-vm-in-caso-di-crash/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Proxmox: riavviare una VM se è spenta</title>
		<link>https://blog.smsoft.it/2023/08/15/proxmox-riavviare-una-vm-se-e-spenta/</link>
					<comments>https://blog.smsoft.it/2023/08/15/proxmox-riavviare-una-vm-se-e-spenta/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 15 Aug 2023 08:30:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[restart]]></category>
		<category><![CDATA[stopped]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6034</guid>

					<description><![CDATA[L&#8217;attuale versione di Proxmox non ha un sistema di verifica e riavvio delle VM se finiscono in stato &#8220;stopped&#8221;. E&#8217; possibile creare un semplice script bash, da eseguire periodicamente tramite CRON, con il seguente contenuto: enjoy!]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">L&#8217;attuale versione di Proxmox non ha un sistema di verifica e riavvio delle VM se finiscono in stato &#8220;stopped&#8221;.</p>



<p class="wp-block-paragraph">E&#8217; possibile creare un semplice script bash, da eseguire periodicamente tramite CRON, con il seguente contenuto:</p>



<pre class="wp-block-code"><code>#!/bin/bash
exec 1> >(logger -s -t $(basename $0)) 2>&amp;1 #loggare nel syslog l'output dello script
export NODE=localhost

#pvesh create /nodes/$NODE/qemu/100/status/shutdown # Spegnere
#pvesh create /nodes/$NODE/qemu/100/status/start # Accendere

VMIDS=$(cat /etc/pve/.vmlist |jq '.ids | keys&#91;]') #recupero l'elenco di tutte le VM
VMIDS="100 101 102 103 104 106" #se voglio definire solo alcune VM
echo $VMIDS
for VMID in $VMIDS; do

### inizio procedura usando pvesh ###
    VMID=$(echo $VMID |grep -o -E '&#91;0-9]+')
    echo "the next VM is $VMID"
    STATUS=$(pvesh get /nodes/$NODE/qemu/$VMID/status/current --output-format json | jq '.status')
    echo $STATUS
    if &#91; $STATUS == '"stopped"' ]; then
        echo "$VMID is stopped"
        pvesh create /nodes/$NODE/qemu/$VMID/status/start # POST
    fi
### fine procedura usando pvesh ###

### inizio procedura usando qm ###
#   if &#91;&#91; $(qm status $VMID) = *"status: stopped"* ]]; then
#       echo "$VMID is stopped"
#       qm start $VMID
#   fi
### fine procedura usando qm ###

done</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2023/08/15/proxmox-riavviare-una-vm-se-e-spenta/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Proxmox: rinominare un nodo</title>
		<link>https://blog.smsoft.it/2023/06/06/proxmox-rinominare-un-nodo/</link>
					<comments>https://blog.smsoft.it/2023/06/06/proxmox-rinominare-un-nodo/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 06 Jun 2023 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[proxmox]]></category>
		<category><![CDATA[RENAME]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=5945</guid>

					<description><![CDATA[Rinominare un nodo proxmox (sicuramente la 7.x) richiede alcuni step, non è complesso ma bisogna seguirli tutti. Ipotizziamo che il nodo si chiami old e che lo vogliamo rinominare in new Accediamo al nodo proxmox, cambiamo il nome in /etc/hostname /etc/hosts ATTENZIONE: in /etc/hosts dovremo avere solo una riga con l&#8217;IP principale del nodo seguito ... <a title="Proxmox: rinominare un nodo" class="read-more" href="https://blog.smsoft.it/2023/06/06/proxmox-rinominare-un-nodo/" aria-label="Per saperne di più su Proxmox: rinominare un nodo">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Rinominare un nodo proxmox (sicuramente la 7.x) richiede alcuni step, non è complesso ma bisogna seguirli tutti.</p>



<p class="wp-block-paragraph">Ipotizziamo che il nodo si chiami <strong>old</strong> e che lo vogliamo rinominare in <strong>new</strong></p>



<p class="wp-block-paragraph">Accediamo al nodo proxmox, cambiamo il nome in </p>



<pre class="wp-block-preformatted">/etc/hostname 
/etc/hosts</pre>



<p class="wp-block-paragraph">ATTENZIONE:  in /etc/hosts dovremo avere solo una riga con l&#8217;IP principale del nodo seguito dal nome (lungo e breve) es:</p>



<pre class="wp-block-preformatted">10.10.10.10 new.smsoft.it new</pre>



<p class="wp-block-paragraph">Modifichiamo anche l&#8217;hostname in: </p>



<pre class="wp-block-preformatted">/etc/postfix/main.cf</pre>



<p class="wp-block-paragraph">A questo punto facciamo un primo riavvio:</p>



<pre class="wp-block-preformatted">reboot</pre>



<p class="wp-block-paragraph">Verifichiamo che il nuovo hostname sia raggiungibile con il corretto IP:</p>



<pre class="wp-block-preformatted">ping $(uname -n)</pre>



<p class="wp-block-paragraph">Ora fermiamo il servizio pve-cluster:</p>



<pre class="wp-block-code"><code>systemctl stop pve-cluster</code></pre>



<p class="wp-block-paragraph">A questo punto:</p>



<pre class="wp-block-preformatted">cd /etc/pve/nodes
cp old/qemu-server/100.conf new/qemu-server/200.conf</pre>



<p class="wp-block-paragraph"><strong>ATTENZIONE</strong>: va copiato ogni nodo dalla cartella <strong>old/qemu-server/ </strong>alla cartella <strong>new/qemu-server/</strong> e gli va <strong>modificato il nome</strong> (es da 100.conf a 200.conf e così via) perché il sistema non consente di copiare il file di configurazione con il medesimo nome nella nuova cartella.</p>



<p class="wp-block-paragraph">Ora facciamo una copia della cartella originale come backup:</p>



<pre class="wp-block-code"><code>mv /etc/pve/nodes/old /root/</code></pre>



<p class="wp-block-paragraph">Ora riavviamo:</p>



<pre class="wp-block-preformatted">reboot</pre>



<p class="wp-block-paragraph">e dopo il riavvio blocchiamo nuovamente il processo pve-cluster:</p>



<pre class="wp-block-preformatted">systemctl stop pve-cluster</pre>



<p class="wp-block-paragraph">rinominiamo nuovamente tutti i file di configurazione come in origine (es):</p>



<pre class="wp-block-preformatted">cd /etc/pve/nodes/new
mv 200.conf 100.conf </pre>



<p class="wp-block-paragraph">Riavviamo nuovamente il server e dovremmo esserci:</p>



<pre class="wp-block-preformatted">reboot</pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2023/06/06/proxmox-rinominare-un-nodo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Proxmox: forzare lo spegnimento di una VM</title>
		<link>https://blog.smsoft.it/2023/03/21/proxmox-forzare-lo-spegnimento-di-una-vm/</link>
					<comments>https://blog.smsoft.it/2023/03/21/proxmox-forzare-lo-spegnimento-di-una-vm/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 21 Mar 2023 09:30:00 +0000</pubDate>
				<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[proxmox]]></category>
		<category><![CDATA[qm]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=5855</guid>

					<description><![CDATA[Può capitare che una VM su proxmox resti appesa e lo spegnimento non funzioni. In questi casi si può intervenire tramite CLI, cercando di spegnerla manualmente, oppure in ultima spiaggia, killare il processo. Intanto cerchiamo il nodo della VM con: Il nodo si può recuperare anche dall&#8217;interfaccia di Proxmox (un numero tipo 100, 101, etc). ... <a title="Proxmox: forzare lo spegnimento di una VM" class="read-more" href="https://blog.smsoft.it/2023/03/21/proxmox-forzare-lo-spegnimento-di-una-vm/" aria-label="Per saperne di più su Proxmox: forzare lo spegnimento di una VM">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Può capitare che una VM su <strong>proxmox</strong> resti appesa e lo spegnimento non funzioni. In questi casi si può intervenire tramite CLI, cercando di spegnerla manualmente, oppure in ultima spiaggia, killare il processo.</p>



<p class="wp-block-paragraph">Intanto cerchiamo il nodo della VM con:</p>



<pre class="wp-block-code"><code>cat /etc/pve/.vmlist</code></pre>



<p class="wp-block-paragraph">Il nodo si può recuperare anche dall&#8217;interfaccia di Proxmox (un numero tipo 100, 101, etc).</p>



<p class="wp-block-paragraph">Ipotizziamo sia la <strong>VM 100</strong>, proviamo con:</p>



<pre class="wp-block-code"><code>qm stop 100</code></pre>



<p class="wp-block-paragraph">Se mosta un errore tipo:</p>



<pre class="wp-block-code"><code>trying to acquire lock…
can't lock file '/var/lock/qemu-server/lock-101.conf' - got timeout</code></pre>



<p class="wp-block-paragraph">si può provare a rimuovere il lock con:</p>



<pre class="wp-block-code"><code>qm unlock 100</code></pre>



<p class="wp-block-paragraph">se però non dovesse funzionare e dovesse mostrare ancora un errore di timeout, bisognerà killare il processo. Intanto lo identifichiamo con:</p>



<pre class="wp-block-code"><code>ps aux | grep "/usr/bin/kvm -id 100"</code></pre>



<p class="wp-block-paragraph">e poi:</p>



<pre class="wp-block-code"><code>kill -9 &#91;PID]</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2023/03/21/proxmox-forzare-lo-spegnimento-di-una-vm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
