Cómo no arruinar el diseño base — Debian 12 / Proxmox VE 8.x
¿Por qué este artículo?
Instalar Proxmox es fácil. Diseñar un cluster que aguante producción, migración en vivo y un nodo caído sin perder datos ni quorum — eso ya es otro tema.
Este artículo muestra lo que aprendí armando un cluster de tres nodos con conectividad DAC SFP 10G y almacenamiento distribuido. El punto de partida: tres nodos como unidad mínima razonable.
Topología de referencia

Figura 1 — Topología del cluster: nodo1, nodo2, nodo3 con segmentación de VLANs
Requisitos mínimos antes de tocar la UI
Antes de crear el primer nodo, hay que tener claro:
- Hardware homogéneo o al menos CPUs del mismo vendor — no mezclar Intel y AMD en el mismo cluster si querés live migration sin restricciones
- Al menos dos interfaces de red físicas por nodo: una para gestión/VM traffic, otra para storage/cluster
- DNS resolución inversa funcionando para todos los nodos — Proxmox la usa para el quorum
- Tiempo sincronizado (NTP/Chrony) en todos los nodos. Un clock skew mata pmxcfs sin dar explicaciones claras
⚠️ Importante: Si renombrás un nodo después de haberlo integrado al cluster, pmxcfs queda en estado inconsistente. El rename se hace ANTES de unirse al cluster, nunca después.
1 — Preparación del sistema operativo (cada nodo)
Proxmox VE se instala sobre Debian 12. Estos comandos se ejecutan en cada nodo antes de unirlo al cluster.
Configurar hostname e /etc/hosts
# nodo1 — hostname e /etc/hosts
# En nodo1 — repetir con nombres/IPs correspondientes en nodo2 y nodo3
hostnamectl set-hostname nodo1
cat >> /etc/hosts << 'EOF'
10.0.0.11 nodo1 nodo1.lab.internal
10.0.0.12 nodo2 nodo2.lab.internal
10.0.0.13 nodo3 nodo3.lab.internal
EOF
Diseño de red
Cuatro VLANs separadas por función, como muestra el diagrama:
- VLAN10 (10.0.10.0/24) — Gestión: SSH, UI Proxmox, backup
- VLAN20 (10.0.20.0/24) — VM traffic: trunking de VMs hacia switches core
- VLAN30 (10.0.30.0/24) — Cluster/Corosync: latencia crítica, aislada del resto.
- VLAN40 (10.0.40.0/24) — Storage: Ceph public/cluster network o NFS/iSCSI
La red de cluster (Corosync) debe tener latencia < 2ms entre nodos. No la compartas con VM traffic bajo ningún concepto.
#/etc/network/interfaces — nodo1
auto lo
iface lo inet loopback
# Interfaz física 1 — gestión y VMs
auto eno1
iface eno1 inet manual
# VLAN10 — Gestión
auto eno1.10
iface eno1.10 inet static
address 10.0.10.11/24
gateway 10.0.10.1
vlan-raw-device eno1
# VLAN20 — VM traffic (bridge para VMs)
auto vmbr20
iface vmbr20 inet manual
bridge-ports eno1.20
bridge-stp off
bridge-fd 0
# Interfaz física 2 — cluster y storage
auto eno2
iface eno2 inet manual
# VLAN30 — Corosync/cluster
auto eno2.30
iface eno2.30 inet static
address 10.0.30.11/24
vlan-raw-device eno2
# VLAN40 — Storage Ceph
auto eno2.40
iface eno2.40 inet static
address 10.0.40.11/24
vlan-raw-device eno2
# aplicar y verificar red
systemctl restart networking
ip addr show eno1.10
# output esperado
2: eno1.10@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP>
inet 10.0.10.11/24 brd 10.0.10.255 scope global eno1.10
En este setup usamos DAC SFP+ 10G entre los nodos. Los drivers ixgbe en algunas NICs requieren el parámetro allow_unsupported_sfp=1 para reconocer los DAC de terceros.
Bootstrap del cluster — orden correcto
- Instalar Proxmox en cada nodo de forma standalone
- Configurar hostname, IP y DNS en /etc/hosts de cada nodo (todos deben resolverse entre sí)
- Crear el cluster desde nodo1: pvecm create NOMBRE-CLUSTER
- Unir nodo2 y nodo3: pvecm add 10.0.0.11 desde cada nodo secundario
- Verificar quorum: pvecm status — expected votes debe coincidir con nodos activos
💡 Tip: Si el cluster queda con quorum degradado durante el bootstrap, usá pvecm expected 1 temporalmente para poder operar, pero nunca dejés eso en producción.
Instalar Proxmox VE 8 sobre Debian 12
# cada nodo — instalar Proxmox VE
echo 'deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription' \
> /etc/apt/sources.list.d/pve-install-repo.list
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
apt update && apt full-upgrade -y
apt install -y proxmox-ve postfix open-iscsi chrony
# Remover kernel Debian, usar el de Proxmox
apt remove -y linux-image-amd64 && update-grub && reboot
Almacenamiento local antes de Ceph
En el artículo 2 vemos Ceph en detalle. Para arrancar, cada nodo necesita:
- local: directorio /var/lib/vz para ISOs y templates
- local-lvm: LVM-thin sobre el disco del SO para VMs — opción por defecto, funciona bien
Validación antes de seguir
- pvecm status muestra 3 nodos con quorum
- Podés migrar una VM en vivo de nodo1 a nodo2 sin interrupciones
- Al apagar un nodo, los otros 2 mantienen quorum y el cluster sigue operativo
- La UI de cualquier nodo muestra el cluster completo
Deja un comentario