L’attuale versione di Proxmox non ha un sistema di verifica e riavvio delle VM se finiscono in stato “stopped”.
E’ possibile creare un semplice script bash, da eseguire periodicamente tramite CRON, con il seguente contenuto:
#!/bin/bash
exec 1> >(logger -s -t $(basename $0)) 2>&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[]') #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 '[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 [ $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 [[ $(qm status $VMID) = *"status: stopped"* ]]; then
# echo "$VMID is stopped"
# qm start $VMID
# fi
### fine procedura usando qm ###
doneenjoy!
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta