Problema

Muchos entusiastas comienzan con un Raspberry Pi y, tras recibir hardware adicional, se encuentran con la necesidad de integrar varios servidores, un NAS y dispositivos de red en una única infraestructura. El reto no es solo conectar los equipos, sino crear una arquitectura coherente que permita:

  • Virtualizar workloads de forma segura y eficiente.
  • Exponer almacenamiento centralizado a todas las máquinas.
  • Mantener la red bajo control y preparada para servicios como DNS, reverse proxy y monitorización.
  • Automatizar despliegues y backups sin que la complejidad crezca desproporcionadamente.

En otras palabras, pasar de “un solo nodo” a “un clúster homelab” sin perder la capacidad de gestión y sin crear cuellos de botella.

Causa

Los problemas típicos surgen por tres factores combinados:

  1. Diseño de red improvisado – Con varios NUC, un NAS y un firewall dedicado, la topología suele quedar sin segmentación, lo que genera conflictos de IP, saturación de enlaces y dificultad para aplicar políticas de seguridad.
  2. Almacenamiento fragmentado – Cuando el NAS y los discos locales se usan de manera independiente, aparecen inconsistencias de permisos, replicación manual y falta de alta disponibilidad.
  3. Falta de orquestación de VMs/LXCs – Instalar Proxmox en cada nodo sin un plan de clúster genera “islas” de virtualización; la migración de máquinas y la gestión centralizada se vuelven laboriosas.

Estos síntomas aparecen en la mayoría de los homelabs que crecen rápidamente: caídas de servicios, backups que no se sincronizan y una curva de aprendizaje que se vuelve empinada.

Solución

Una arquitectura modular basada en tres capas permite escalar sin rehacer todo el proyecto:

1. Red estructurada

Capa Función Equipo recomendado
Core Enrutamiento y firewall Palo Alto PA‑220 (modo router)
Distribution Switch L2 con VLANs Switch gestionado de 1 GbE o 2,5 GbE
Access Conexión de NUCs y NAS Cables Cat6a, asignación estática de IP por VLAN
  1. Crear VLANs: 10 para gestión (Proxmox, SSH), 20 para tráfico de VMs, 30 para almacenamiento (iSCSI/NFS) y 40 para usuarios finales.
  2. Asignar subredes: 192.168.10.0/24, 192.168.20.0/24, etc. Mantener la tabla de rutas en el PA‑220.
  3. Habilitar DHCP por VLAN o usar reservas estáticas según preferencia.

2. Almacenamiento unificado

  • NAS Synology DS918+ como punto de montaje único.
  • Configurar iSCSI target para discos de VM y NFS share para backups y contenedores.
  • Activar RAID‑5 con los 9 × 12 TB para tolerancia a fallos; los dos NVMe de 512 GB pueden usarse como caché de lectura/escritura.
  • Exportar los volúmenes a Proxmox mediante pve-storage (tipo iscsi y nfs).

3. Cluster Proxmox de 3 NUCs

  1. Instalar Proxmox VE 8 (última versión estable) en cada NUC.
  2. Configurar cluster con pvecm create homelab-cluster.
  3. Añadir los nodos restantes con pvecm add <IP-del-nodo‑maestro>.
  4. Definir Ceph opcional para replicación de discos, pero con solo tres nodos y un NAS, usar LVM‑thin sobre iSCSI es suficiente.

4. Servicios de plataforma

Servicio Tipo Implementación
Monitorización Prometheus + Grafana Desplegar como contenedores LXC o VM
Alertas Alertmanager Con integración a Telegram/Email
Home Assistant VM o Docker Con acceso a VLAN 20
DNS + Reverse Proxy CoreDNS + Traefik Publicar en VLAN 40
Bases de datos PostgreSQL En VM con discos iSCSI
Automatización Ansible + GitHub Actions Ejecutar desde una VM “control”
Aplicaciones de consumo Nextcloud, Jellyfin, n8n Cada una en su propia VM/LXC

5. Automatización de despliegue

  • Ansible playbooks para crear VMs, asignar discos y aplicar etiquetas de red.
  • GitHub Actions disparan el pipeline cuando se actualiza el repositorio de playbooks.
  • Mantener un inventario dinámico que lea la salida de pvesh get /nodes.

Cuándo aplicar esta solución

Utiliza este enfoque cuando:

  • Poseas al menos dos servidores físicos y un NAS dedicado.
  • Necesites separar tráfico de gestión, datos y usuarios mediante VLANs.
  • Quieras migrar VMs entre nodos sin tiempo de inactividad.
  • Busques una base sólida para añadir servicios de monitorización y automatización.

No es adecuado si:

  • Solo dispones de un único host (el overhead del clúster no se justifica).
  • No tienes control sobre el firewall (el PA‑220 es opcional, pero sin él la segmentación será limitada).
  • Prefieres soluciones “todo en uno” como un único servidor Hyper‑V o Docker Swarm sin almacenamiento externo.

Código

# 1. Crear el cluster en el nodo maestro
pvecm create homelab-cluster

# 2. Añadir los nodos secundarios (ejemplo nodo2)
pvecm add 192.168.10.2

# 3. Configurar iSCSI storage en Proxmox (ejemplo DS918+)
pvesh create /nodes/<node>/storage \
  -storage iSCSI-DS918 \
  -type iscsi \
  -portal 192.168.30.10 \
  -target iqn.2024-09.com.synology:ds918

# 4. Crear LVM‑thin pool sobre iSCSI
pvesh create /nodes/<node>/lvmthin \
  -storage iSCSI-DS918 \
  -vgname iscsi-vg \
  -thinpool thinpool

# 5. Desplegar una VM con Ansible (playbook simplificado)
ansible-playbook -i inventory.yml create_vm.yml

Verificación

  1. Conectividad de red: ping -c 3 192.168.20.1 desde cada NUC; confirmar que las VLAN responden.
  2. Estado del cluster: pvecm status debe mostrar los tres nodos con “Online”.
  3. Almacenamiento: En la UI de Proxmox, crear una VM que use el disco iSCSI-DS918 y verificar que arranca.
  4. Monitorización: Acceder a Grafana (http://192.168.20.10:3000) y comprobar que los targets de Proxmox aparecen en Prometheus.
  5. Alertas: Generar una alerta artificial (por ejemplo, CPU > 90 %) y confirmar que llega a Telegram.

Notas adicionales

  • Cache del NAS: Los NVMe en el DS918+ funcionan mejor como “SSD Cache” para lecturas aleatorias; habilítalo en Storage Manager y asigna al pool iSCSI.
  • Backup de VMs: Usa vzdump con destino NFS y programa snapshots nocturnos. Evita backups en la misma VLAN que el tráfico de producción.
  • Seguridad del PA‑220: Configura reglas “allow‑established” y bloquea todo el tráfico inter‑VLAN que no sea necesario. Usa NAT para exponer solo los puertos de servicios públicos.
  • Actualizaciones: Mantén Proxmox y el DSM de Synology en versiones estables; prueba las actualizaciones primero en un nodo de prueba antes de aplicar al cluster completo.
  • Escalado futuro: Si añades más NUCs, simplemente ejecuta pvecm add <IP> y asignales la misma VLAN. Para alta disponibilidad de almacenamiento, considera Ceph cuando superes 5 nodos.