Proxmox VE: Instalación y Primeros Pasos 2025 – Guía Completa

Robot punk instalando Proxmox VE en servidor homelab con interfaz web virtual machines LXC containers virtualización 2025

Introducción: El hypervisor para homelabs serios

Proxmox VE (Virtual Environment) es el hypervisor open source más popular para homelabs y empresas pequeñas. Combina virtualización completa (KVM) con contenedores LXC, todo gestionado desde una interfaz web profesional.

En esta guía te llevo paso a paso desde el USB booteable hasta tener tu primer servidor virtualizado funcional, con configuración de red, storage, backups automáticos y mejores prácticas de producción.

💡 Lo que aprenderás:

  • Instalación de Proxmox VE desde cero (paso a paso con screenshots conceptuales)
  • Configuración de red avanzada (bridges, VLANs, bonding)
  • Gestión de storage (local, NFS, Ceph, ZFS)
  • Crear y gestionar VMs y contenedores LXC
  • Backups automáticos y disaster recovery
  • Clustering (opcional, alta disponibilidad)
  • Troubleshooting y optimización

¿Por qué Proxmox VE?

Comparativa con alternativas

Característica Proxmox VE ESXi (VMware) Hyper-V
Licencia ✅ Open source (GPL) Freemium (limitado gratis) Incluido en Windows Server
Coste ✅ Gratis (suscripción opcional) $200-$6,000/año según features $500-$6,100 (licencia Windows)
Curva aprendizaje ✅ Media (UI intuitiva) Alta (conceptos enterprise) Media-alta (ecosistema MS)
Contenedores LXC ✅ Nativo (templates incluidos) ❌ No soportado ❌ No soportado
Clustering ✅ Incluido (hasta 32 nodos) Requiere vCenter (pago) Failover Cluster Manager
Backups integrados ✅ Vzdump + Proxmox Backup Server Veeam (terceros, pago) Windows Server Backup
API REST ✅ Completa y documentada ✅ Disponible PowerShell principalmente
Comunidad ✅ Muy activa (foros, Reddit) Enorme (enterprise focus) Grande (Microsoft ecosystem)
Storage distribuido ✅ Ceph integrado vSAN (pago extra) Storage Spaces Direct

Casos de uso ideales para Proxmox

  • Homelab avanzado: Múltiples VMs + contenedores LXC en un solo servidor
  • Laboratorio de pruebas: Snapshots, clones, templates para testing rápido
  • Servicios de producción pequeños: SMB, ONG, startups (clustering HA incluido)
  • Aprendizaje: Virtualización, redes, storage enterprise sin coste
  • Consolidación de servidores: 10 servidores físicos → 1 Proxmox con 10 VMs

Requisitos previos

Hardware mínimo y recomendado

Componente Mínimo Recomendado Óptimo
CPU 64-bit con soporte virtualización (Intel VT-x / AMD-V) 4 cores / 8 threads 8+ cores (Xeon, EPYC, Ryzen Pro)
RAM 4 GB (solo Proxmox) 16 GB (Proxmox + 3-5 VMs) 32-128 GB ECC
Storage 32 GB (solo sistema) 128 GB SSD + 1-2 TB HDD 2x NVMe (ZFS mirror) + HDDs
Red 1 NIC Gigabit 2 NICs Gigabit (bonding) 2+ NICs 10Gbe

⚠️ Verificar soporte de virtualización en BIOS:

# En Linux (antes de instalar Proxmox):
egrep -o '(vmx|svm)' /proc/cpuinfo

# Salida esperada:
vmx    # Intel VT-x
svm    # AMD-V

# Si no aparece nada: habilitar en BIOS/UEFI
# Buscar: Intel VT-x, Intel Virtualization Technology, AMD-V, SVM Mode

Qué necesitas descargar

  • Proxmox VE ISO: proxmox.com/downloads (última versión estable: 8.x)
  • Balena Etcher o Rufus: Para crear USB booteable
  • USB 8GB+ (se borrará todo)

Instalación paso a paso

1. Crear USB booteable

Opción A: Balena Etcher (Windows/Mac/Linux)

  1. Descargar Balena Etcher: balena.io/etcher
  2. Abrir Etcher → Flash from file → Seleccionar ISO de Proxmox
  3. Select target → Elegir USB
  4. Flash! → Esperar 3-5 minutos

Opción B: Rufus (Windows)

  1. Descargar Rufus: rufus.ie
  2. Device: Seleccionar USB
  3. Boot selection: Seleccionar ISO de Proxmox
  4. Partition scheme: GPT (UEFI) o MBR (BIOS legacy, según tu hardware)
  5. START → Esperar

Opción C: dd (Linux)

# Identificar USB (CUIDADO: verificar device correcto)
lsblk

# Escribir ISO al USB (reemplaza /dev/sdX con tu dispositivo)
sudo dd if=proxmox-ve_8.x-x.iso of=/dev/sdX bs=4M status=progress && sync

# Ejemplo real:
# sudo dd if=proxmox-ve_8.2-1.iso of=/dev/sdb bs=4M status=progress && sync

2. Bootear desde USB

  1. Insertar USB en servidor
  2. Reiniciar y acceder a boot menu (teclas comunes: F12, F11, ESC, F2, DEL)
  3. Seleccionar USB como boot device
  4. Esperar a que aparezca menú de Proxmox

3. Instalador gráfico de Proxmox

Paso 1: Pantalla de bienvenida

  • Seleccionar: Install Proxmox VE (Graphical)
  • Presionar Enter

Paso 2: EULA

  • Leer (o no 😅) → I agree

Paso 3: Target Harddisk (crítico)

Aquí decides dónde se instalará Proxmox y qué filesystem usar.

Filesystem Cuándo usar Ventajas Desventajas
ext4 Disco único, máxima compatibilidad Simple, rápido, estable Sin snapshots, sin compresión
ZFS RAID0 1 disco con snapshots Snapshots, compresión, checksums Sin redundancia
ZFS RAID1 ✅ 2 discos, máxima seguridad ✅ Redundancia + snapshots + checksums Capacidad = 1 disco (50% usado para mirror)
ZFS RAID10 4+ discos, performance + redundancia Rápido + tolerante a fallos Requiere mínimo 4 discos
ZFS RAIDZ-1 3+ discos, balance espacio/redundancia Eficiente en espacio, 1 disco fallo OK Performance escritura menor que RAID10

Recomendación para homelab:

  • 1 disco SSD/NVMe: ext4 (simple y rápido)
  • 2 discos SSD/NVMe: ZFS RAID1 (mejor opción, redundancia + snapshots)
  • 3-4+ discos: ZFS RAIDZ-1 o RAID10

Configuración avanzada (Options):

  • hdsize: Tamaño usado del disco (dejar libre espacio para caché L2ARC si usas ZFS)
  • swapsize: Por defecto = RAM total (ajustar si RAM > 64GB → 8-16GB swap suficiente)
  • maxroot: Tamaño de partición root (resto queda para data/VMs)
  • minfree: Espacio libre mínimo (por defecto 16GB, OK)
  • maxvz: Tamaño máximo para /var/lib/vz (VMs/containers)

Ejemplo configuración típica (disco 512GB SSD):

  • Filesystem: ZFS (RAID1 si tienes 2 discos, RAID0 si 1)
  • hdsize: 500GB (dejar 12GB libres)
  • swapsize: 8GB (si tienes 32GB+ RAM)
  • maxroot: 50GB
  • maxvz: resto disponible (~400GB)

Paso 4: Location and Time Zone

  • Country: Tu país (España, México, etc.)
  • Time zone: Europe/Madrid, America/Mexico_City, etc.
  • Keyboard Layout: Spanish, US, etc.

Paso 5: Administration Password and Email

  • Password: Contraseña para usuario root (IMPORTANTE: anótala, la usarás siempre)
  • Confirm: Repetir contraseña
  • Email: Tu email (recibirás alertas del sistema)
🔒 Seguridad crítica:

  • Usa contraseña fuerte (20+ caracteres, mayúsculas, números, símbolos)
  • Email real (recibirás notificaciones de fallos, actualizaciones, etc.)
  • Guarda contraseña en gestor (Vaultwarden, Bitwarden, 1Password)

Paso 6: Management Network Configuration

Configuración de red para acceder a Proxmox vía web.

  • Management Interface: Seleccionar NIC principal (ej: enp0s31f6, eth0)
  • Hostname (FQDN): Nombre completo del servidor (ej: pve.homelab.local o proxmox.tudominio.com)
  • IP Address: IP estática para Proxmox (ej: 192.168.1.100)
  • Netmask: Máscara de red (ej: 255.255.255.0 o /24)
  • Gateway: IP del router (ej: 192.168.1.1)
  • DNS Server: DNS de tu red (ej: 192.168.1.1 o 8.8.8.8)

Ejemplo configuración típica homelab:

Hostname (FQDN): pve.homelab.local
IP Address: 192.168.1.100
Netmask: 255.255.255.0
Gateway: 192.168.1.1
DNS Server: 192.168.1.1
💡 Tip: IP estática en router

Reserva esta IP en tu router DHCP para que Proxmox siempre tenga la misma IP. Así evitas que cambie y pierdas acceso.

Paso 7: Install

  • Revisar resumen de configuración
  • Click en Install
  • Esperar 5-15 minutos (depende de velocidad de disco)
  • Cuando termine: Reboot
  • Retirar USB cuando reinicie

4. Primer acceso a Proxmox Web UI

  1. Desde otro PC en la misma red, abrir navegador
  2. Ir a: https://192.168.1.100:8006 (reemplazar con tu IP)
  3. ⚠️ Advertencia de certificado SSL → Aceptar riesgo y continuar (normal, es certificado autofirmado)
  4. Pantalla de login:
    • User name: root
    • Password: La que configuraste en instalación
    • Realm: Linux PAM standard authentication
    • Language: Español o English
  5. Click Login

¡Bienvenido a Proxmox! 🎉

Verás el dashboard principal con:

  • Panel izquierdo: Árbol de recursos (Datacenter → pve → VMs/Containers/Storage)
  • Panel central: Información del nodo (CPU, RAM, storage, uptime)
  • Menú superior: Create VM, Create CT, Search, Docs

Configuración inicial esencial

1. Desactivar repositorio enterprise (solo si usas versión gratuita)

Por defecto Proxmox apunta a repositorios enterprise (requieren suscripción). Para usar repos gratuitos:

Vía Web UI:

  1. Click en tu nodo (ej: pve) en panel izquierdo
  2. Updates → Repositories
  3. Seleccionar línea pve-enterpriseDisable
  4. Click Add → Seleccionar No-SubscriptionAdd
  5. Refresh

Vía Shell (alternativa):

# Acceder a Shell del nodo (Web UI: nodo → Shell, o SSH root@192.168.1.100)

# Desactivar repo enterprise
echo "# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list

# Añadir repo no-subscription
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

# Actualizar lista de paquetes
apt update
⚡ Eliminar popup «No valid subscription»

Si te molesta el popup al hacer login:

sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

2. Actualizar Proxmox

# Vía Shell (recomendado para primera actualización)
apt update && apt dist-upgrade -y

# Limpiar paquetes antiguos
apt autoremove -y

# Reiniciar si se actualizó kernel
reboot

Vía Web UI:

  1. Nodo → Updates → Refresh
  2. Click Upgrade
  3. Confirmar en terminal que aparece

3. Configurar NTP (sincronización de hora)

Crítico para clustering y logs precisos.

# Verificar estado NTP
timedatectl status

# Configurar timezone si es necesario
timedatectl set-timezone Europe/Madrid

# Habilitar sincronización NTP
timedatectl set-ntp true

# Verificar que funciona
systemctl status systemd-timesyncd

4. Configurar notificaciones por email (opcional pero recomendado)

Para recibir alertas de fallos, backups completados, etc.

Opción A: Usar Gmail como relay SMTP

# Instalar postfix
apt install libsasl2-modules -y

# Configurar postfix para usar Gmail
echo "relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt" >> /etc/postfix/main.cf

# Crear archivo con credenciales Gmail
echo "[smtp.gmail.com]:587 tuemail@gmail.com:tu_app_password" > /etc/postfix/sasl_passwd

# Proteger archivo de credenciales
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

# Reiniciar postfix
systemctl restart postfix

# Test de email
echo "Test desde Proxmox" | mail -s "Proxmox test" tuemail@gmail.com
💡 App Password de Gmail:

No uses tu contraseña normal. Ve a: Cuenta Google → Seguridad → Verificación en 2 pasos → Contraseñas de aplicaciones → Crear nueva. Usa esa contraseña en el archivo sasl_passwd.

Gestión de storage

Tipos de storage en Proxmox

Tipo Casos de uso Performance Snapshots
local (dir) ISOs, backups, templates Alta (local) ❌ No
local-lvm Discos de VMs Alta ✅ Sí (LVM thin)
ZFS VMs, snapshots, compresión Alta (con RAM suficiente) ✅ Sí (nativo)
NFS Storage compartido entre nodos Media (red dependiente) Depende del servidor NFS
Ceph RBD Cluster multi-nodo, HA Media-alta (distribuido) ✅ Sí
SMB/CIFS Windows shares, backups Baja-media ❌ No

Añadir disco adicional (ejemplo: HDD 2TB para VMs)

Escenario: Tienes Proxmox en SSD 512GB, añades HDD 2TB para almacenar VMs grandes.

Vía Shell:

# 1. Identificar disco nuevo
lsblk

# Salida ejemplo:
# NAME   SIZE TYPE
# sda    512G disk  ← SSD con Proxmox
# sdb    2T   disk  ← HDD nuevo (sin particionar)

# 2. Crear partición GPT
parted /dev/sdb mklabel gpt

# 3. Crear partición usando todo el disco
parted /dev/sdb mkpart primary 0% 100%

# 4. Formatear con ext4 (o XFS si prefieres)
mkfs.ext4 /dev/sdb1

# 5. Crear punto de montaje
mkdir -p /mnt/hdd2tb

# 6. Montar disco
mount /dev/sdb1 /mnt/hdd2tb

# 7. Hacer montaje permanente (editar /etc/fstab)
echo "/dev/sdb1 /mnt/hdd2tb ext4 defaults 0 2" >> /etc/fstab

# 8. Verificar montaje
df -h | grep hdd2tb

Añadir storage a Proxmox Web UI:

  1. Datacenter → Storage → Add → Directory
  2. ID: hdd2tb
  3. Directory: /mnt/hdd2tb
  4. Content: Seleccionar Disk image, Container
  5. Nodes: Seleccionar nodo actual (pve)
  6. Enable: ✅
  7. Shared: ❌ (solo si es NFS compartido entre nodos)
  8. Click Add

Ahora puedes crear VMs usando este storage de 2TB. 🎉

Añadir NFS share (storage compartido)

Escenario: Tienes NAS (Synology, TrueNAS, etc.) con NFS habilitado.

  1. Datacenter → Storage → Add → NFS
  2. ID: nas-nfs
  3. Server: 192.168.1.50 (IP del NAS)
  4. Export: /volume1/proxmox (path NFS del NAS)
  5. Content: Disk image, ISO image, Container template, VZDump backup file
  6. Nodes: Todos los nodos del cluster (si tienes cluster)
  7. Enable: ✅
  8. Click Add
💡 Permisos NFS:

En el NAS, asegúrate que el export NFS permite:

  • Squash: No squash (o root squash disabled)
  • Privilege: Read/Write
  • Hosts allowed: IP del Proxmox (192.168.1.100)

Crear tu primera VM

Vamos a crear una VM con Ubuntu Server 24.04 LTS paso a paso.

1. Subir ISO de Ubuntu

  1. Descargar ISO: ubuntu.com/download/server
  2. En Proxmox Web UI: Nodo (pve) → local → ISO Images → Upload
  3. Seleccionar archivo ISO de Ubuntu → Upload
  4. Esperar a que termine (depende de velocidad de red)

Alternativa: Descargar directamente desde Proxmox

  1. Nodo → local → ISO Images → Download from URL
  2. URL: https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso
  3. Filename: ubuntu-24.04-server-amd64.iso
  4. Click Query URLDownload

2. Crear VM (wizard)

Click botón Create VM (esquina superior derecha).

General:

  • Node: pve
  • VM ID: 100 (autoincrementa, puedes cambiarlo)
  • Name: ubuntu-server
  • Resource Pool: (dejar vacío por ahora)
  • Start at boot: ✅ (opcional, si quieres que arranque automáticamente)

OS:

  • Use CD/DVD disc image file (iso)
  • Storage: local
  • ISO image: ubuntu-24.04-server-amd64.iso
  • Guest OS Type: Linux
  • Version: 6.x – 2.6 Kernel

System:

  • Graphic card: Default
  • Machine: Default (i440fx)
  • BIOS: Default (SeaBIOS) o OVMF (UEFI) si quieres UEFI
  • SCSI Controller: VirtIO SCSI single (mejor performance)
  • Qemu Agent: ✅ (instalaremos agent en Ubuntu después)
  • Add TPM: ❌ (solo si necesitas Windows 11)

Disks:

  • Bus/Device: SCSI (VirtIO SCSI)
  • Storage: local-lvm (o ZFS si usaste ZFS, o hdd2tb si añadiste disco extra)
  • Disk size: 32 GB (ajusta según necesites)
  • Cache: Default (Write back)
  • Discard: ✅ (para SSDs, permite TRIM)
  • SSD emulation: ✅ (si storage es SSD)
  • IO thread: ✅ (mejor performance)

CPU:

  • Sockets: 1
  • Cores: 2 (ajusta según necesites, ej: 4 para servidor potente)
  • Type: host (mejor performance, pasa instrucciones CPU nativas)

Memory:

  • Memory (MiB): 2048 (2GB, ajusta según necesites)
  • Minimum memory: (dejar vacío o 512 si usas ballooning)
  • Ballooning Device: ✅ (permite ajustar RAM dinámicamente)

Network:

  • Bridge: vmbr0 (bridge por defecto de Proxmox)
  • VLAN Tag: (dejar vacío si no usas VLANs)
  • Model: VirtIO (paravirtualized, mejor performance)
  • Firewall: ✅ (opcional, habilita firewall de Proxmox para esta VM)

Confirm:

  • Revisar resumen
  • Start after created: ✅ (arranca automáticamente al terminar)
  • Click Finish

3. Instalar Ubuntu en la VM

  1. Click en VM 100 (ubuntu-server) en panel izquierdo
  2. Click pestaña Console
  3. Verás instalador de Ubuntu arrancando
  4. Seguir wizard de instalación de Ubuntu:
    • Language: Español o English
    • Keyboard: Spanish, US, etc.
    • Network: DHCP automático (o estática si prefieres)
    • Proxy: (dejar vacío si no usas)
    • Mirror: Default (OK)
    • Disk: Use entire disk (el disco de 32GB que creaste)
    • Profile: Nombre, usuario, contraseña
    • SSH: ✅ Install OpenSSH server
    • Snaps: (seleccionar si quieres Docker, etc.)
  5. Esperar instalación (~10-15 min)
  6. Reboot now → Presionar Enter

4. Instalar QEMU Guest Agent en Ubuntu

Permite a Proxmox obtener info precisa de la VM (IP, uptime, shutdown limpio, etc.).

# Loguear en la VM (vía Console o SSH)
ssh usuario@IP_DE_LA_VM

# Instalar qemu-guest-agent
sudo apt update
sudo apt install qemu-guest-agent -y

# Habilitar y arrancar servicio
sudo systemctl enable qemu-guest-agent
sudo systemctl start qemu-guest-agent

# Verificar
sudo systemctl status qemu-guest-agent

Ahora en Proxmox verás IP de la VM en el summary. 🎉

Crear contenedor LXC

Los contenedores LXC son mucho más ligeros que VMs (comparten kernel con Proxmox). Ideales para servicios Linux.

Cuándo usar LXC vs VM

Usa LXC cuando Usa VM cuando
✅ Servicio Linux ligero (web server, DB, Docker) Necesitas Windows, BSD, kernel diferente
✅ Máximo performance y mínimo overhead Aislamiento total (seguridad crítica)
✅ Arranque en segundos Necesitas snapshots de disco completo
✅ Uso mínimo de RAM (50-200MB vs 512MB+ VM) Software que requiere módulos kernel específicos
✅ Múltiples servicios en servidor con poca RAM Testing de distros o versiones kernel diferentes

Crear contenedor Debian 12 con Docker

Click botón Create CT (Create Container).

General:

  • Node: pve
  • CT ID: 101
  • Hostname: docker-host
  • Unprivileged container: ❌ (dejar privileged para Docker, más fácil)
  • Nesting: ✅ (necesario para Docker)
  • Password: Contraseña root del contenedor
  • SSH public key: (opcional, pega tu clave pública si tienes)
⚠️ Privileged vs Unprivileged:

  • Unprivileged: Más seguro, pero Docker requiere configuración extra
  • Privileged: Menos seguro, pero Docker funciona out-of-the-box
  • Para homelab: Privileged OK. Para producción: Unprivileged con config adicional

Template:

  • Storage: local (donde se guardan templates)
  • Template: debian-12-standard (descargar si no está)

Si no tienes template descargado:

  1. Nodo → local → CT Templates → Templates
  2. Buscar debian-12-standard → Download
  3. Volver a wizard de Create CT

Disks:

  • Storage: local-lvm
  • Disk size: 16 GB
  • Mount options: (dejar por defecto)
  • ACLs: ✅

CPU:

  • Cores: 2
  • CPU limit: (dejar vacío = sin límite, o 1 = 100% de 1 core)
  • CPU units: 1024 (peso relativo, dejar por defecto)

Memory:

  • Memory (MiB): 1024 (1GB)
  • Swap (MiB): 512

Network:

  • Bridge: vmbr0
  • VLAN Tag: (vacío)
  • IPv4: DHCP (o Static si prefieres: 192.168.1.101/24)
  • IPv6: SLAAC (o dejar vacío)
  • Firewall: ✅

DNS:

  • Use host settings: ✅ (usa DNS del Proxmox host)

Confirm:

  • Start after created: ✅
  • Click Finish

Instalar Docker en contenedor LXC

  1. Click en CT 101 → Console
  2. Login como root (password que configuraste)
  3. Instalar Docker:
# Actualizar sistema
apt update && apt upgrade -y

# Instalar Docker
curl -fsSL https://get.docker.com | sh

# Verificar instalación
docker --version
docker run hello-world

¡Listo! Ahora tienes contenedor LXC con Docker funcionando. 🐳

Ventajas vs VM:

  • Arrancó en 3 segundos (vs 30-60s de VM)
  • Usa 150MB RAM (vs 512MB+ de VM Ubuntu)
  • Performance nativo (comparte kernel con Proxmox)

Backups automáticos

Proxmox incluye vzdump, sistema de backups integrado con snapshots.

Crear tarea de backup automática

  1. Datacenter → Backup
  2. Click Add
  3. Configuración:
    • Node: pve (o All para cluster)
    • Storage: local (o NFS, PBS si tienes)
    • Schedule: 0 3 * * * (diario a las 3am)
    • Selection mode: All (o Include selected VMs si quieres específicas)
    • Compression: ZSTD (mejor ratio/velocidad)
    • Mode: Snapshot (backup en caliente sin parar VM)
    • Enable:
    • Retention:
      • Keep Last: 3 (mantener últimos 3 backups)
      • Keep Hourly: 0
      • Keep Daily: 7 (últimos 7 días)
      • Keep Weekly: 4 (últimas 4 semanas)
      • Keep Monthly: 3 (últimos 3 meses)
      • Keep Yearly: 0
    • Email notification: Always (recibir email con resultado)
  4. Click Create

Restaurar VM desde backup

  1. Nodo → local (o storage donde están backups) → Backups
  2. Seleccionar backup (ej: vzdump-qemu-100-2025_10_10-03_00_00.vma.zst)
  3. Click Restore
  4. Configuración:
    • VM ID: 100 (mismo ID, sobrescribe) o 102 (nuevo ID, clon)
    • Storage: Mismo o diferente storage
    • Unique: ✅ (regenera MAC address si es clon)
    • Start after restore: ❌ (verificar antes de arrancar)
  5. Click Restore
  6. Esperar (puede tardar según tamaño)
  7. Verificar VM restaurada → Start

Clustering (opcional, múltiples nodos)

Si tienes 2+ servidores Proxmox, puedes crear cluster para:

  • Gestión centralizada: Un solo web UI para todos los nodos
  • Live migration: Mover VMs entre nodos sin downtime
  • Alta disponibilidad (HA): Si un nodo cae, VMs migran automáticamente
  • Storage compartido: Ceph, NFS, para que VMs accedan desde cualquier nodo

Crear cluster (nodo 1)

# En primer nodo Proxmox (ej: pve1)
pvecm create mi-cluster

# Verificar estado
pvecm status

Unir nodo al cluster (nodo 2)

# En segundo nodo Proxmox (ej: pve2)
# Primero obtener join info del nodo 1:

# En pve1:
pvecm add pve2-IP

# Copiar comando que devuelve y ejecutar en pve2:
pvecm add 192.168.1.100 --fingerprint FINGERPRINT

# Verificar en pve2:
pvecm status

Vía Web UI (más fácil):

  1. En nodo 1: Datacenter → Cluster → Create Cluster → Name: mi-cluster → Create
  2. Datacenter → Cluster → Join Information → Copy Join Information
  3. En nodo 2: Datacenter → Cluster → Join Cluster → Pegar Join Information → Join
⚠️ Requisitos clustering:

  • Mínimo 3 nodos para quorum (o 2 + QDevice)
  • Red dedicada de baja latencia (1Gbps+ recomendado)
  • Hora sincronizada (NTP configurado en todos)
  • Mismo /etc/hosts en todos (resolución nombres)
  • Firewall abierto para puertos de cluster (ver docs)

Troubleshooting común

Problema 1: No puedo acceder a Web UI (https://IP:8006)

Diagnóstico:

# Verificar que pveproxy está corriendo
systemctl status pveproxy

# Verificar puerto 8006 abierto
ss -tulpn | grep 8006

# Verificar firewall
iptables -L -n | grep 8006

# Verificar logs
journalctl -u pveproxy -f

Soluciones:

# Reiniciar pveproxy
systemctl restart pveproxy

# Reiniciar pvedaemon
systemctl restart pvedaemon

# Verificar configuración de red
cat /etc/network/interfaces

# Reiniciar networking
systemctl restart networking

Problema 2: VM no arranca / error al iniciar

Diagnóstico:

# Ver logs de la VM (reemplaza 100 con tu VM ID)
qm start 100

# Ver logs detallados
tail -f /var/log/syslog | grep "100:"

Causas comunes:

  • Storage no disponible: Disco NFS/Ceph caído → verificar storage
  • Lock file: VM anterior no cerró bien → qm unlock 100
  • RAM insuficiente: Host sin RAM libre → liberar RAM o aumentar swap
  • ISO missing: ISO borrada → volver a subir ISO

Problema 3: Contenedor LXC no puede acceder a internet

Diagnóstico:

# Dentro del contenedor:
ping 8.8.8.8          # Test conectividad IP
ping google.com       # Test DNS

# Verificar configuración red
ip a
ip route
cat /etc/resolv.conf

Soluciones:

# En Proxmox host, verificar IP forwarding
cat /proc/sys/net/ipv4/ip_forward    # Debe ser 1

# Habilitar si está en 0
echo 1 > /proc/sys/net/ipv4/ip_forward

# Hacer permanente
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

# Verificar reglas NAT
iptables -t nat -L -n -v

# Añadir regla NAT si falta (reemplaza vmbr0 con tu bridge)
iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE

Problema 4: Storage lleno / No space left

Diagnóstico:

# Ver uso de disco
df -h

# Ver tamaño de VMs/containers
du -sh /var/lib/vz/images/*

# Ver backups
du -sh /var/lib/vz/dump/*

# Ver templates
du -sh /var/lib/vz/template/*

Soluciones:

# Eliminar backups antiguos
rm /var/lib/vz/dump/vzdump-*-old.vma.zst

# Eliminar ISOs no usadas
cd /var/lib/vz/template/iso
rm archivo-no-usado.iso

# Reducir disco de VM (primero en la VM, luego):
qm resize 100 scsi0 -10G    # Reducir 10GB (CUIDADO: puede dañar datos)

# O añadir storage adicional (ver sección "Añadir disco adicional")

Problema 5: Alta CPU usage en Proxmox host

Diagnóstico:

# Ver procesos que más consumen
top

# Ver CPU por VM/container
qm list           # VMs
pct list          # Containers

# Ver stats en tiempo real
watch -n 1 'qm list; pct list'

Causas comunes:

  • VM con CPU runaway: Proceso dentro de VM descontrolado → identificar y matar
  • Demasiadas VMs para CPU host: Reducir cores asignados o apagar VMs no usadas
  • Tipo CPU incorrecto: Cambiar de kvm64 a host en VM options
  • Ballooning agresivo: Ajustar memoria de VMs

Problema 6: No puedo migrar VM entre nodos

Causas comunes:

  • Storage no compartido: Solo puedes migrar en caliente si storage es NFS/Ceph compartido
  • Cluster no configurado: Debes tener cluster Proxmox
  • Red no disponible: Nodos no se comunican → verificar firewall, routing
  • Versiones diferentes: Nodos con versiones Proxmox distintas → actualizar

Solución para storage local:

  • Offline migration: Apagar VM → Migrate → Mover discos también
  • Convertir a storage compartido: Añadir NFS/Ceph

Optimización y mejores prácticas

Performance

  • CPU type = host en VMs (mejor performance)
  • VirtIO para discos y red (drivers paravirtualizados)
  • IO threads habilitado en discos de VMs
  • SSD emulation si storage es SSD
  • Discard/TRIM habilitado para SSDs
  • Cache = writeback para discos (mejor performance escritura)
  • Ballooning para ajustar RAM dinámicamente
  • NUMA habilitado si tienes CPU multi-socket

Seguridad

  • Firewall Proxmox habilitado (Datacenter → Firewall)
  • SSH con key, no password (más seguro)
  • Actualizar regularmente Proxmox y VMs
  • Backups offsite (NFS externo, Proxmox Backup Server remoto)
  • Contenedores unprivileged cuando sea posible
  • VLANs para segmentar red (DMZ, LAN, Gestión)
  • 2FA para acceso web UI (vía TOTP)

Mantenimiento

  • Monitorizar espacio (alertas cuando storage > 80%)
  • Limpiar backups antiguos (retention automática configurada)
  • Verificar SMART de discos (smartctl -a /dev/sdX)
  • Test de backups (restaurar periódicamente para verificar)
  • Documentar VMs (notes en cada VM con propósito, IPs, etc.)
  • Tags y grupos para organizar VMs

Recursos y siguientes pasos

Documentación oficial:

Comunidad:

Siguientes pasos:

  1. Instalar Proxmox Backup Server (PBS) – Backups deduplicados y verificables
  2. Configurar Ceph – Storage distribuido (requiere 3+ nodos)
  3. Alta disponibilidad (HA) – VMs críticas con failover automático
  4. Terraform para Proxmox – Infrastructure as Code (automatizar creación VMs)
  5. Ansible para gestión – Configurar VMs automáticamente post-creación
  6. Migrar desde otros hypervisors – Importar VMs de VMware, VirtualBox
  7. GPU passthrough – Pasar GPU física a VM (gaming, IA, transcoding)

Conclusión

Proxmox VE es la plataforma de virtualización open source más completa para homelabs y producción pequeña-mediana.

Con esta guía has aprendido:

  • ✅ Instalación completa desde USB
  • ✅ Configuración de red, storage y repositorios
  • ✅ Crear VMs y contenedores LXC
  • ✅ Backups automáticos con retención
  • ✅ Clustering para múltiples nodos
  • ✅ Troubleshooting de problemas comunes
  • ✅ Optimización y mejores prácticas
💪 Tu homelab Proxmox está listo para crecer:

Empieza con pocas VMs, aprende los conceptos, experimenta con snapshots y backups. La flexibilidad de Proxmox te permite empezar simple e ir añadiendo complejidad según necesites.

¡Bienvenido al mundo de la virtualización profesional! 🚀

Preguntas Frecuentes sobre Proxmox

¿Qué es Proxmox VE y para qué sirve?

Proxmox VE es un hypervisor open source que combina virtualización completa (KVM) con contenedores LXC, todo gestionado desde interfaz web. Te permite correr múltiples sistemas operativos simultáneamente en un solo servidor físico, ideal para homelabs, laboratorios de pruebas, y pequeñas empresas. Es gratuito, muy estable (basado en Debian), y ofrece features enterprise como clustering, backups automáticos, y alta disponibilidad sin coste adicional.

¿Qué requisitos mínimos necesito para instalar Proxmox?

Mínimo absoluto: CPU 64-bit con virtualización (Intel VT-x o AMD-V), 4GB RAM, y 32GB disco. Configuración recomendada para homelab: CPU de 4 cores/8 threads, 16GB RAM, SSD de 128GB para sistema + HDD para VMs, y dos NICs Gigabit para bonding. Proxmox corre incluso en hardware modesto, pero con más recursos podrás ejecutar más VMs simultáneas. Raspberry Pi no es compatible (necesita arquitectura x86).

¿Proxmox es gratis o hay que pagar suscripción?

Proxmox VE es completamente gratis y open source (licencia GPL). La suscripción enterprise (90€/año por servidor) es opcional y solo añade acceso a repositorios enterprise más estables y soporte oficial. Para homelabs usa repositorios no-subscription gratuitos sin problema. Todas las features (VMs, contenedores LXC, clustering, backups, HA) están disponibles en versión gratuita sin limitaciones funcionales.

¿Cuál es la diferencia entre VM y contenedor LXC en Proxmox?

Las VMs son sistemas operativos completos virtualizados (cualquier OS: Windows, Linux, BSD) con aislamiento total pero mayor overhead de recursos. Los contenedores LXC son más ligeros (comparten kernel con Proxmox), arrancan en segundos, usan mínima RAM (50-200MB vs 512MB+ de VM), pero solo soportan Linux. Usa VM para Windows o cuando necesitas kernel diferente; usa LXC para servicios Linux ligeros (Docker, web servers, bases de datos).

¿Qué filesystem es mejor para Proxmox: ext4 o ZFS?

Para un disco único: ext4 es simple y rápido. Para dos discos o más: ZFS RAID1/RAIDZ ofrece ventajas enormes (snapshots instantáneos, compresión, checksums que detectan corrupción, redundancia). ZFS usa más RAM (1GB por TB recomendado) pero la seguridad de datos y snapshots valen la pena. En homelab, si tienes 16GB+ RAM y 2+ discos, ZFS RAID1 es la mejor opción. Con hardware limitado, ext4 funciona perfectamente.

¿Cómo actualizo Proxmox sin romper nada?

Vía Web UI (seguro): Updates → Refresh → Upgrade. Vía CLI (control total): apt update && apt dist-upgrade -y. Antes de actualizar: haz snapshot o backup de VMs críticas, verifica repositorios (no-subscription habilitado, enterprise deshabilitado si no pagas), y reinicia después si actualizó kernel. Las actualizaciones de Proxmox son muy estables; raramente rompen algo. Revisa changelog si saltas versiones major (7.x → 8.x).

¿Cuántas VMs puedo correr en Proxmox simultáneamente?

Depende de tu hardware y del uso de cada VM. Ejemplo práctico: servidor con 32GB RAM y 8 cores puede correr cómodamente 5-10 VMs (Ubuntu Server con 2GB RAM c/u, 2 cores), o 20-30 contenedores LXC ligeros. La limitación real es RAM, no CPU. Usa overcommit inteligente: si tus VMs no usan toda la RAM asignada simultáneamente, puedes asignar más del 100% de RAM física (ej: 48GB asignado en servidor de 32GB), con ballooning para ajustar dinámicamente.

¿Proxmox o VMware ESXi para homelab?

Para homelab, Proxmox gana: es gratis sin limitaciones (ESXi Free tiene restricciones), open source, contenedores LXC nativos, clustering incluido, comunidad activa en r/Proxmox, y updates sencillos. ESXi es más enterprise pero para homelab es overkill y la versión gratuita está muy capada. La única razón para ESXi en homelab es si necesitas aprender específicamente tecnologías VMware para trabajo. En rendimiento y features, Proxmox es igual o superior para uso homelab.

Por ziru

El Diario IA
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.