Cuando gestionas varios nodos en Proxmox dentro de un cluster, llega un momento en el que pierdes visibilidad real de qué máquinas están configuradas para arrancar automáticamente.
Ahí es cuando toca revisar el onboot en Proxmox y comprobar qué está marcado para levantarse cuando el nodo vuelve a subir. Si no lo tienes claro, el siguiente reinicio puede darte alguna sorpresa.
Más de una vez me he encontrado con máquinas que no deberían arrancar solas, órdenes de arranque mal definidos o servicios que dependen de otros levantándose antes de tiempo. Incluso alguna vez alguna máquina de laboratorio arrancando en producción simplemente porque nadie revisó el onboot.
Por eso, antes de cualquier mantenimiento serio, suelo hacer una comprobación rápida para saber exactamente qué va a arrancar cuando el nodo vuelva a estar online.
¿Qué es exactamente onboot?
En Proxmox, la opción onboot indica si una máquina virtual o contenedor debe arrancar automáticamente cuando el nodo inicia.
Si está activado:
onboot: 1
Si no:
onboot: 0
El problema no es entenderlo.
El problema es revisarlo cuando tienes muchas máquinas repartidas entre varios nodos.
Script para listar VM y LXC con estado onboot
Este pequeño script genera un fichero TSV donde puedes ver de un vistazo el nodo, si es una VM o un LXC, el ID, el nombre, si tiene activado el onboot y cómo está configurado el startup.
Lo suelo ejecutar directamente desde uno de los nodos cuando quiero tener una foto clara del estado actual antes de tocar nada.
out=/root/cluster-machines.tsv
{
echo -e "NODE\tTYPE\tID\tNAME\tONBOOT\tSTARTUP"
# VMs
for f in /etc/pve/nodes/*/qemu-server/*.conf; do
[ -e "$f" ] || continue
node="$(echo "$f" | awk -F/ '{print $(NF-2)}')"
id="$(basename "$f" .conf)"
name="$(awk -F': ' '/^name: /{print $2}' "$f")"
onboot="$(awk -F': ' '/^onboot: /{print $2}' "$f")"
startup="$(awk -F': ' '/^startup: /{print $2}' "$f")"
echo -e "$node\tVM\t$id\t$name\t${onboot:-0}\t${startup:-none}"
done
# LXCs
for f in /etc/pve/nodes/*/lxc/*.conf; do
[ -e "$f" ] || continue
node="$(echo "$f" | awk -F/ '{print $(NF-2)}')"
id="$(basename "$f" .conf)"
name="$(awk -F': ' '/^hostname: /{print $2}' "$f")"
onboot="$(awk -F': ' '/^onboot: /{print $2}' "$f")"
startup="$(awk -F': ' '/^startup: /{print $2}' "$f")"
echo -e "$node\tLXC\t$id\t$name\t${onboot:-0}\t${startup:-none}"
done
} > "$out"
echo "Listado generado en $out"
Con esto tienes una foto clara del estado actual antes de tocar nada.

¿Cuándo lo uso?
Lo utilizo sobre todo antes de reiniciar un nodo en producción, para evitar sustos innecesarios. También cuando alguien me dice eso de “ha arrancado algo que no debía” y quiero comprobar rápido qué está configurado para subir automáticamente.
En auditorías internas viene muy bien, y sobre todo cuando heredas un cluster que no has montado tú y necesitas entender qué tienes realmente configurado.
No es nada complejo, pero te da mucha visibilidad y control.
En el siguiente artículo explico cómo activar o desactivar correctamente el onboot para ordenar el arranque de las máquinas.
Puedes consultar la documentación oficial en la web de Proxmox.
Si estás empezando con Proxmox y aún no tienes montado tu entorno distribuido, aquí explico cómo crear un cluster en Proxmox paso a paso.
Espero que os sirva
