Problema
Muchas organizaciones que han crecido sobre VMware con vSAN llegan a un punto donde la flexibilidad o el coste del stack propietario se vuelve limitante. La decisión de pasar a Proxmox implica replantearse el modelo de almacenamiento: el cluster original usaba vSAN como capa distribuida y Veeam para backups a nivel de storage. En la nueva infraestructura solo se dispone de un LUN iSCSI adicional y no se cuenta con un sistema de archivos distribuido como Ceph. El reto es elegir una solución de almacenamiento que:
- soporte snapshots y clones de VM,
- sea suficientemente robusta para producción,
- permita almacenar ISOs, plantillas y backups sin crear cuellos de botella,
- funcione con un número limitado de LUNs.
Causa
Los problemas habituales en este tipo de migración provienen de tres áreas:
-
Modelo de bloques vs. modelo de archivos – vSAN expone discos virtuales directamente a los hipervisores. Cuando se pasa a Proxmox, el administrador debe decidir si usar un storage pool basado en bloques (iSCSI/LVM) o en archivos (NFS/ZFS). Cada modelo tiene limitaciones de snapshots y de rendimiento de I/O simultáneo.
-
Número de LUNs insuficiente – Un único LUN iSCSI puede servir para VM disks, ISOs y backups, pero la contención de I/O y la complejidad de la gestión de permisos aumentan rápidamente. La práctica recomendada es separar datos críticos (VM disks) de datos auxiliares (templates, backups) en al menos dos LUNs.
-
Falta de capa de deduplicación o compresión – Veeam aprovecha la capacidad de vSAN para deduplicar datos a nivel de bloque. Sin una capa similar, los backups pueden crecer desproporcionadamente y saturar el almacenamiento disponible.
Solución
1. Arquitectura recomendada
| Función | Tipo de storage | Por qué |
|---|---|---|
| Discos de VM | LVM sobre iSCSI (raw) | Acceso directo, bajo overhead, snapshots nativas de Proxmox (via qm snapshot). |
| ISOs y plantillas | ZFS sobre iSCSI (dataset) | ZFS brinda compresión y snapshots de nivel de archivo, ideal para archivos estáticos. |
| Backups de Veeam → Proxmox | ZFS dataset dedicado | Compresión ZFS reduce tamaño, snapshots permiten retención sin impactar VM. |
Esta separación mantiene la latencia mínima para los discos de VM mientras aprovecha las ventajas de ZFS para datos menos críticos.
2. Configuración paso a paso
a) Provisionar LUNs en el array SAN
-
Crea al menos dos LUNs:
lun_vm(≈ 70 % del espacio total)lun_aux(≈ 30 % del espacio total)
-
Habilita CHAP y multipath (si el hardware lo permite) para resiliencia.
b) Conectar iSCSI al nodo Proxmox
iscsiadm -m discovery -t sendtargets -p <IP_SAN>
iscsiadm -m node --login
multipath -ll # verifica que aparezcan los dm‑multipath devices
c) Crear LVM en lun_vm
pvcreate /dev/mapper/mpatha # asume que multipath expone /dev/mapper/mpatha
vgcreate pve-vm /dev/mapper/mpatha
lvcreate -L 100G -n vmdata pve-vm # ejemplo de LV para discos de VM
En la UI de Proxmox, añade un Directory storage apuntando a /dev/pve-vm/vmdata con tipo LVM.
d) Crear ZFS sobre lun_aux
zpool create -f pve-aux /dev/mapper/mpathb
zfs create -o compression=lz4 pve-aux/isos
zfs create -o compression=lz4 pve-aux/backups
En Proxmox, añade dos storages tipo ZFS que apunten a pve-aux/isos y pve-aux/backups.
e) Habilitar snapshots en Proxmox
Con LVM, Proxmox ya permite snapshots de discos (qm snapshot). Con ZFS, los snapshots se crean automáticamente al ejecutar qm snapshot y se almacenan como clones ZFS, lo que reduce el tiempo de creación y el consumo de espacio.
3. Migrar VMs y datos
- Exporta cada VM desde vCenter como OVF/OVA.
- Importa en Proxmox usando
qm importovf. Apunta al storage LVM para los discos y a ZFS/isos para los archivos ISO. - Verifica que los discos aparecen como
rawen LVM; si están enqcow2, conviértelos conqemu-img convert -f qcow2 -O raw.
4. Integrar Veeam con Proxmox
Veeam no tiene un plugin nativo para Proxmox, pero puede trabajar a nivel de storage snapshots:
- Configura Veeam para usar NAS backup repository apuntando a
pve-aux/backups(NFS export de ZFS). - Habilita Veeam Backup Copy con compresión ZFS para reducir tráfico.
- En caso de restaurar una VM, usa el backup NFS y crea una nueva VM apuntando al storage LVM.
5. Consideraciones de rendimiento
- IOPS: LVM sobre iSCSI entrega latencia similar a vSAN siempre que el SAN tenga suficiente caché.
- Compresión: ZFS
lz4tiene bajo overhead y mejora el rendimiento de lectura de ISOs y backups. - Snapshots: Los snapshots de LVM son copy‑on‑write; evita crear demasiados simultáneos en discos críticos. En ZFS, los snapshots son prácticamente sin coste de CPU.
Cuándo aplicar esta solución
- Entorno de producción con 2‑3 nodos Proxmox y sin Ceph disponible.
- Disponibilidad de al menos un SAN iSCSI que pueda ofrecer dos LUNs.
- Requisitos de snapshots y clones para pruebas o despliegues rápidos.
- Backups basados en Veeam que pueden redirigirse a un repositorio NAS.
No es adecuada si:
- Solo se cuenta con un único LUN y no es posible crear más (la contención de I/O será crítica).
- Se necesita replicación de bloques a nivel de sitio remoto; en ese caso Ceph o DRBD serían opciones más seguras.
- El hardware SAN no soporta multipath o CHAP, lo que compromete la resiliencia.
Código
# Descubrimiento y login iSCSI
iscsiadm -m discovery -t sendtargets -p 10.0.0.10
iscsiadm -m node --login
# Multipath verification
multipath -ll
# LVM on first LUN
pvcreate /dev/mapper/mpatha
vgcreate pve-vm /dev/mapper/mpatha
lvcreate -l 100%FREE -n vmdata pve-vm
# ZFS on second LUN
zpool create -f pve-aux /dev/mapper/mpathb
zfs create -o compression=lz4 pve-aux/isos
zfs create -o compression=lz4 pve-aux/backups
Verificación
- Conectividad iSCSI:
iscsiadm -m sessiondebe listar ambas sesiones. - Multipath:
multipath -llmuestra dos dispositivos (mpatha,mpathb). - LVM:
lvsmuestra el LVvmdatay su tamaño. - ZFS:
zfs listmuestra los datasetspve-aux/isosypve-aux/backups. - Proxmox UI: Los storages aparecen bajo Datacenter → Storage con los tipos correctos.
- Snapshot test: Crea una VM, ejecuta
qm snapshot 101 testsnap, verifica que el snapshot aparece en la lista y que el consumo de espacio no crece inmediatamente. - Backup test: Ejecuta un job de Veeam apuntando a
pve-aux/backups, confirma que el archivo.vbkse escribe y que la compresión ZFS reduce su tamaño al menos un 30 %.
Notas adicionales
- Alineación de bloques: Cuando creas LVs, usa
-Zpara alinear al tamaño de bloque del SAN (normalmente 4 KB). - Redundancia: Si el SAN no ofrece RAID, considera habilitar ZFS mirroring en
pve-aux(requiere al menos dos discos físicos). - Actualizaciones de firmware: iSCSI y multipath pueden romperse tras actualizaciones de firmware; mantén un plan de rollback.
- Monitoreo: Integra
smartctlyzpool statusen tu stack de monitoring (Prometheus + node_exporter) para detectar degradaciones antes de que impacten en producción. - Plan de crecimiento: Reserva al menos 20 % de espacio libre en el pool LVM para evitar que los snapshots agoten el LUN.
Con esta arquitectura, la migración de un cluster VMware/vSAN a Proxmox se vuelve predecible, mantiene la capacidad de snapshots y ofrece un camino sólido para backups con Veeam sin necesidad de Ceph.