Proxmox Virtual Environment (Proxmox VE) es una potente plataforma de virtualización de servidores de código abierto que combina el hipervisor KVM y la tecnología de contenedores LXC bajo una única interfaz de gestión. Ya sea que estés construyendo un home lab para aprender administración de sistemas, auto-alojando aplicaciones o ejecutando un entorno de producción pequeño, Proxmox VE proporciona funcionalidades de nivel empresarial sin costos de licencia. Esta guía te lleva a través del proceso completo de configuración, desde la instalación en bare-metal hasta ejecutar tus primeras máquinas virtuales y contenedores, con configuraciones de almacenamiento, red y respaldos en el camino.

Requisitos Previos

Antes de comenzar, asegúrate de tener:

  • Una máquina dedicada (servidor, PC de escritorio o mini PC) con un CPU de 64 bits que soporte Intel VT-x o AMD-V
  • Al menos 8 GB de RAM (16 GB o más recomendado para ejecutar múltiples VMs)
  • Un SSD o unidad NVMe dedicada (64 GB mínimo) para el SO de Proxmox
  • Almacenamiento adicional (HDD o SSD) para discos de VMs y contenedores
  • Una unidad USB (2 GB o mayor) para el instalador
  • Una conexión Ethernet cableada a tu red local
  • Una computadora separada con navegador web para la gestión

¿Qué Es Proxmox VE?

Proxmox VE es una distribución Linux basada en Debian construida específicamente para virtualización. Integra dos tecnologías de virtualización en una plataforma:

  • KVM (Kernel-based Virtual Machine) — virtualización completa de hardware que permite ejecutar sistemas operativos completos incluyendo Windows, Linux y BSD con hardware virtual dedicado
  • LXC (Linux Containers) — virtualización a nivel de sistema operativo que ejecuta instancias Linux aisladas compartiendo el kernel del host, proporcionando rendimiento casi nativo con mínima sobrecarga

La plataforma se gestiona a través de una interfaz web accesible en el puerto 8006, y soporta clustering, migración en vivo, almacenamiento definido por software y redes definidas por software. Proxmox VE está licenciado bajo GNU AGPL v3, lo que significa que es completamente gratuito, con suscripciones opcionales de pago para soporte empresarial y acceso al repositorio.

Proxmox VE vs VMware vs Hyper-V

Entender cómo se compara Proxmox con otros hipervisores populares te ayuda a tomar una decisión informada para tu home lab:

CaracterísticaProxmox VEVMware ESXiMicrosoft Hyper-V
CostoGratis (código abierto)Nivel gratuito limitado, vSphere con licenciaGratis con Windows Server
Tipo de hipervisorTipo 1 (KVM)Tipo 1Tipo 1
Soporte de contenedoresLXC integradoRequiere Docker/K8s separadoRequiere configuración separada
Interfaz webIntegrada (puerto 8006)Requiere vSphere ClientWindows Admin Center
AlmacenamientoZFS, Ceph, NFS, LVMVMFS, vSAN, NFSReFS, CSV, SMB
ClusteringGratis (hasta 32 nodos)Requiere licencia vCenterRequiere Windows Server
Migración en vivoGratisRequiere licencia vMotionGratis con clustering
Respaldovzdump + PBS integradoRequiere herramientas de tercerosRequiere Windows Server Backup
SO baseDebian LinuxPropietarioWindows Server
ComunidadGrande, foros activosGrande, enfoque empresarialEcosistema Microsoft

Proxmox VE destaca para home labs porque tiene todas las funcionalidades a costo cero, soporta nativamente tanto VMs como contenedores, e incluye respaldo y clustering integrados sin licencias adicionales.

Instalando Proxmox VE

Descargar la ISO

Descarga el último instalador ISO de Proxmox VE desde la página oficial de descargas en https://www.proxmox.com/en/downloads. Al momento de escribir, la versión actual es Proxmox VE 8.x.

Crear una Unidad USB de Arranque

En Linux, usa dd para escribir la ISO en una unidad USB:

# Identifica tu unidad USB (ten mucho cuidado de seleccionar el dispositivo correcto)
lsblk

# Escribe la ISO en la unidad USB (reemplaza /dev/sdX con tu dispositivo USB)
sudo dd bs=1M conv=fdatasync if=proxmox-ve_8.*.iso of=/dev/sdX status=progress

En Windows, usa Etcher o Rufus en modo DD para escribir la ISO.

Ejecutar el Instalador

Arranca la máquina destino desde la unidad USB y sigue estos pasos:

  1. Selecciona Install Proxmox VE (Graphical) del menú de arranque
  2. Acepta el EULA
  3. Selecciona el disco destino para la instalación — Proxmox usará el disco completo. Para ZFS, puedes seleccionar múltiples discos en configuración RAID
  4. Establece tu país, zona horaria y distribución de teclado
  5. Ingresa una contraseña root fuerte y una dirección de correo válida para notificaciones
  6. Configura la interfaz de red de gestión: establece un hostname (ej., pve.home.lab), dirección IP, gateway y servidor DNS
  7. Revisa el resumen y haz clic en Install

La instalación toma aproximadamente 5-10 minutos. Después de completarse, retira la unidad USB y reinicia.

Configuración Post-Instalación

Acceder a la Interfaz Web

Una vez que el servidor arranque, abre un navegador en otra computadora y navega a:

https://IP_DE_TU_SERVIDOR:8006

Inicia sesión con el usuario root y la contraseña que estableciste durante la instalación. El realm debe ser Linux PAM standard authentication.

Remover el Aviso de Suscripción

Si estás usando Proxmox VE sin una suscripción de pago, verás un diálogo de aviso de suscripción en cada inicio de sesión. Puedes descartarlo de forma segura, o removerlo modificando el archivo JavaScript:

# Respalda el archivo original primero
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak

# Remueve el aviso de suscripción
sed -Ei.bak "s/res === null \|\| res === undefined \|\| \!res \|\| res.data.status.toLowerCase\(\) !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

# Reinicia el servicio web
systemctl restart pveproxy.service

Cambiar al Repositorio No-Subscription

El repositorio enterprise requiere una clave de suscripción de pago. Cambia al repositorio gratuito no-subscription:

# Deshabilita el repositorio enterprise
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list

# Agrega el repositorio no-subscription
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

# Actualiza y mejora el sistema
apt update && apt full-upgrade -y

Deshabilitar el Repositorio Enterprise de Ceph

Si ves un error sobre el repositorio enterprise de Ceph:

# Deshabilita el repositorio enterprise de Ceph
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/ceph.list

Creando Máquinas Virtuales (KVM)

Subir una Imagen ISO

Antes de crear una VM, sube una ISO de instalación a Proxmox. En la interfaz web:

  1. Navega a tu nodo en la barra lateral izquierda
  2. Haz clic en local (pve) bajo el nodo
  3. Selecciona ISO Images del menú de contenido
  4. Haz clic en Upload y selecciona tu archivo ISO, o usa Download from URL para descargarlo directamente

Alternativamente, usa la línea de comandos:

# Descarga la ISO de Ubuntu Server directamente al almacenamiento de ISOs
cd /var/lib/vz/template/iso/
wget https://releases.ubuntu.com/24.04/ubuntu-24.04.1-live-server-amd64.iso

Crear una Nueva VM

Desde la interfaz web, haz clic en Create VM en la esquina superior derecha. Configura las siguientes pestañas:

General:

  • Node: tu nodo Proxmox
  • VM ID: asignado automáticamente o elige tu propio esquema de numeración (ej., 100+)
  • Name: nombre descriptivo (ej., ubuntu-server-01)

OS:

  • Selecciona la imagen ISO subida
  • Type: Linux, Version: 6.x - 2.6 Kernel

System:

  • Machine: q35 (recomendado para sistemas invitados modernos)
  • BIOS: OVMF (UEFI) para SO moderno o SeaBIOS para legacy
  • Agrega EFI Disk si usas UEFI
  • SCSI Controller: VirtIO SCSI single

Disks:

  • Bus: VirtIO Block o SCSI
  • Tamaño de disco: según necesidad (ej., 32 GB para un servidor)
  • Habilita Discard para thin provisioning en SSDs
  • Habilita SSD emulation si el almacenamiento subyacente es SSD

CPU:

  • Cores: asigna según la carga de trabajo (ej., 2-4)
  • Type: host para mejor rendimiento (o x86-64-v2-AES para compatibilidad de migración)

Memory:

  • Establece la RAM deseada (ej., 2048 MB para un servidor ligero)
  • Habilita Ballooning para asignación dinámica de memoria

Network:

  • Bridge: vmbr0 (bridge predeterminado)
  • Model: VirtIO (paravirtualizado)

Haz clic en Finish para crear la VM, luego iníciala y abre la consola para completar la instalación del SO.

Configuración Óptima de VM vía CLI

También puedes crear y configurar VMs usando el comando qm:

# Crear una VM con ID 101
qm create 101 --name ubuntu-server-01 --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0

# Importar una imagen de disco
qm importdisk 101 ubuntu-cloud.img local-lvm

# Adjuntar el disco importado
qm set 101 --scsi0 local-lvm:vm-101-disk-0

# Establecer orden de arranque
qm set 101 --boot order=scsi0

# Iniciar la VM
qm start 101

Creando Contenedores LXC

Los contenedores LXC son la alternativa ligera a las VMs completas. Comparten el kernel del host, inician en segundos y usan una fracción de los recursos.

Descargar Plantillas de Contenedores

En la interfaz web:

  1. Navega a tu nodo > local (pve) > CT Templates
  2. Haz clic en Templates y selecciona de la lista disponible (Ubuntu, Debian, Alpine, etc.)

O desde la línea de comandos:

# Listar plantillas disponibles
pveam available --section system

# Descargar una plantilla
pveam download local ubuntu-24.04-standard_24.04-2_amd64.tar.zst

Crear un Nuevo Contenedor

Haz clic en Create CT en la interfaz web y configura:

# Crear un contenedor con ID 200
pct create 200 local:vztmpl/ubuntu-24.04-standard_24.04-2_amd64.tar.zst \
  --hostname docker-host \
  --memory 2048 \
  --swap 512 \
  --cores 2 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp \
  --storage local-lvm \
  --rootfs local-lvm:8 \
  --unprivileged 1 \
  --features nesting=1 \
  --password

# Iniciar el contenedor
pct start 200

# Entrar a la consola del contenedor
pct enter 200

Opciones clave explicadas:

  • --unprivileged 1 — ejecuta el contenedor sin acceso de nivel root al host (recomendado por seguridad)
  • --features nesting=1 — habilita nesting, requerido para ejecutar Docker dentro de un contenedor LXC
  • --rootfs local-lvm:8 — crea un sistema de archivos root de 8 GB en almacenamiento local-lvm

Contenedores Privilegiados vs No Privilegiados

Los contenedores no privilegiados mapean el rango UID/GID del contenedor a un rango no privilegiado en el host, proporcionando mejor aislamiento de seguridad. Usa contenedores privilegiados solo cuando sea necesario, como cuando necesitas acceso directo al hardware del host (ej., passthrough de GPU o montajes NFS).

Configuración de Almacenamiento

Proxmox VE soporta múltiples backends de almacenamiento. Elegir el correcto depende de tu hardware y caso de uso.

Almacenamiento Local (Predeterminado)

La instalación predeterminada crea dos entradas de almacenamiento:

  • local — almacenamiento basado en directorio en /var/lib/vz para ISOs, plantillas y respaldos
  • local-lvm — un thin pool LVM para discos de VM y volúmenes de contenedores

Verifica tu configuración de almacenamiento actual:

# Listar todo el almacenamiento configurado
pvesm status

# Mostrar información detallada
pvesm list local
pvesm list local-lvm

Almacenamiento ZFS

ZFS proporciona RAID integrado, snapshots, compresión y verificación de integridad de datos. Si seleccionaste ZFS durante la instalación, ya está configurado. Para agregar un nuevo pool ZFS:

# Crear un pool ZFS mirror con dos discos
zpool create -f tank mirror /dev/sdb /dev/sdc

# Habilitar compresión
zfs set compression=lz4 tank

# Agregar el pool ZFS al almacenamiento de Proxmox
pvesm add zfspool zfs-tank --pool tank --content images,rootdir

# Verificar el almacenamiento
pvesm status

Almacenamiento NFS

NFS es ideal para almacenamiento compartido entre múltiples nodos Proxmox, especialmente para ISOs, plantillas y respaldos:

# Agregar almacenamiento NFS desde un NAS
pvesm add nfs nas-backup \
  --server 192.168.1.50 \
  --export /volume1/proxmox-backup \
  --content backup,iso,vztmpl \
  --options vers=4.1

# Verificar conectividad
pvesm status

Almacenamiento Ceph

Para clusters multi-nodo, Ceph proporciona almacenamiento distribuido y replicado:

# Instalar paquetes de Ceph en todos los nodos (ejecutar en cada nodo)
pveceph install

# Inicializar el cluster Ceph (ejecutar en el primer nodo)
pveceph init --network 10.10.10.0/24

# Crear monitores en cada nodo
pveceph mon create

# Agregar OSDs (uno por disco, en cada nodo)
pveceph osd create /dev/sdb
pveceph osd create /dev/sdc

# Crear un pool de almacenamiento
pveceph pool create vm-pool --pg_num 128

# Agregar el pool al almacenamiento de Proxmox
pvesm add rbd ceph-pool --pool vm-pool --content images,rootdir

Redes

Configuración del Bridge Predeterminado

Durante la instalación, Proxmox crea vmbr0, un bridge Linux vinculado a tu interfaz de red física. Revisa la configuración de red:

# Ver configuración de red actual
cat /etc/network/interfaces

La configuración predeterminada se ve así:

auto lo
iface lo inet loopback

iface enp0s31f6 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    bridge-ports enp0s31f6
    bridge-stp off
    bridge-fd 0

Configuración de VLANs

Las VLANs permiten segmentar el tráfico de red. Habilita el soporte de VLANs en el bridge:

# Editar la configuración de red
nano /etc/network/interfaces

Agrega bridge-vlan-aware yes a la definición del bridge:

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    bridge-ports enp0s31f6
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094

Aplica la configuración:

# Aplicar cambios de red (ten cuidado en sistemas remotos)
ifreload -a

Ahora puedes asignar VLANs a VMs y contenedores en su configuración de red agregando una etiqueta VLAN (ej., tag=10 para VLAN 10).

Bonding de Red

Para redundancia y mayor throughput, vincula múltiples interfaces de red:

auto bond0
iface bond0 inet manual
    bond-slaves enp0s31f6 enp1s0
    bond-miimon 100
    bond-mode 802.3ad
    bond-xmit-hash-policy layer3+4

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    bridge-ports bond0
    bridge-stp off
    bridge-fd 0

Respaldo y Restauración

Respaldo con vzdump

Proxmox incluye vzdump para respaldar VMs y contenedores. Hay tres modos de respaldo:

  • Snapshot — toma un snapshot en vivo sin detener el invitado (recomendado)
  • Suspend — suspende brevemente el invitado para consistencia
  • Stop — detiene el invitado antes del respaldo (más consistente pero causa tiempo de inactividad)

Crear un respaldo manual:

# Respaldar VM 101 en modo snapshot
vzdump 101 --mode snapshot --compress zstd --storage local

# Respaldar contenedor 200 en modo snapshot
vzdump 200 --mode snapshot --compress zstd --storage local

# Respaldar todos los invitados en el nodo
vzdump --all --mode snapshot --compress zstd --storage local

Programar Respaldos Automáticos

Desde la interfaz web, navega a Datacenter > Backup > Add para crear un trabajo de respaldo programado. O configura vía CLI:

# Editar la configuración del trabajo de respaldo
nano /etc/pve/jobs.cfg

Agrega un trabajo de respaldo:

vzdump: daily-backup
    enabled 1
    schedule daily
    all 1
    mode snapshot
    compress zstd
    storage local
    mailnotification always
    mailto admin@example.com

Restaurar desde Respaldo

Restaura una VM o contenedor desde un respaldo:

# Listar respaldos disponibles
ls /var/lib/vz/dump/

# Restaurar un respaldo de VM
qmrestore /var/lib/vz/dump/vzdump-qemu-101-2026_01_21-02_00_00.vma.zst 101

# Restaurar un respaldo de contenedor
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-2026_01_21-02_00_00.tar.zst

Proxmox Backup Server (PBS)

Para gestión avanzada de respaldos, despliega un Proxmox Backup Server dedicado. PBS proporciona:

  • Respaldos incrementales con deduplicación de datos
  • Cifrado del lado del cliente
  • Verificación e integridad de respaldos
  • Historial detallado y estadísticas de respaldos

Agrega PBS como backend de almacenamiento en Proxmox VE:

# Agregar almacenamiento PBS
pvesm add pbs pbs-server \
  --server 192.168.1.51 \
  --datastore backups \
  --username backup@pbs \
  --password \
  --fingerprint <PBS_FINGERPRINT>

Plantillas y Cloud-Init

Creando Plantillas

Las plantillas permiten desplegar rápidamente VMs idénticas. Convierte una VM existente en plantilla:

# Detener la VM primero
qm stop 101

# Convertir a plantilla
qm template 101

Integración con Cloud-Init

Cloud-Init permite la configuración automática de VMs en el primer arranque (hostname, claves SSH, red, usuarios). Crea una plantilla lista para Cloud-Init:

# Descargar una imagen cloud
wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img

# Crear una nueva VM
qm create 9000 --name ubuntu-cloud-template --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0

# Importar la imagen cloud como disco
qm importdisk 9000 noble-server-cloudimg-amd64.img local-lvm

# Adjuntar el disco
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0

# Agregar una unidad Cloud-Init
qm set 9000 --ide2 local-lvm:cloudinit

# Establecer orden de arranque y consola serial
qm set 9000 --boot order=scsi0 --serial0 socket --vga serial0

# Configurar valores predeterminados de Cloud-Init
qm set 9000 --ciuser admin --cipassword <password> --sshkeys ~/.ssh/id_rsa.pub
qm set 9000 --ipconfig0 ip=dhcp

# Redimensionar el disco al tamaño deseado
qm disk resize 9000 scsi0 32G

# Convertir a plantilla
qm template 9000

Para desplegar una nueva VM desde la plantilla:

# Clonar la plantilla en una VM completa
qm clone 9000 110 --name web-server-01 --full

# Personalizar Cloud-Init para el clon
qm set 110 --ipconfig0 ip=192.168.1.110/24,gw=192.168.1.1
qm set 110 --nameserver 192.168.1.1
qm set 110 --searchdomain home.lab

# Iniciar la VM clonada
qm start 110

Referencia de Comandos CLI de Proxmox

La siguiente tabla proporciona una referencia rápida de los comandos CLI de Proxmox más utilizados:

ComandoDescripciónEjemplo
qm listListar todas las máquinas virtualesqm list
qm start <vmid>Iniciar una máquina virtualqm start 101
qm stop <vmid>Detener una máquina virtual (parada forzada)qm stop 101
qm shutdown <vmid>Apagar una VM de forma ordenadaqm shutdown 101
qm reboot <vmid>Reiniciar una máquina virtualqm reboot 101
qm create <vmid>Crear una nueva máquina virtualqm create 102 --name myvm --memory 2048
qm destroy <vmid>Eliminar una máquina virtualqm destroy 102 --purge
qm config <vmid>Mostrar configuración de VMqm config 101
qm set <vmid>Modificar configuración de VMqm set 101 --memory 4096
qm clone <vmid> <newid>Clonar una VM o plantillaqm clone 9000 103 --name clone-01 --full
qm snapshot <vmid>Crear un snapshotqm snapshot 101 pre-upgrade
qm template <vmid>Convertir VM a plantillaqm template 9000
qm importdisk <vmid>Importar una imagen de discoqm importdisk 101 image.img local-lvm
pct listListar todos los contenedorespct list
pct start <ctid>Iniciar un contenedorpct start 200
pct stop <ctid>Detener un contenedorpct stop 200
pct enter <ctid>Abrir una shell del contenedorpct enter 200
pct create <ctid>Crear un nuevo contenedorpct create 201 local:vztmpl/ubuntu-24.04-standard.tar.zst
pct destroy <ctid>Eliminar un contenedorpct destroy 201 --purge
pct config <ctid>Mostrar configuración del contenedorpct config 200
pct set <ctid>Modificar configuración del contenedorpct set 200 --memory 4096
pvesm statusListar todos los backends de almacenamientopvesm status
pvesm add <type> <id>Agregar un backend de almacenamientopvesm add nfs nas --server 192.168.1.50 --export /backup
pvesm list <storage>Listar contenidos de un almacenamientopvesm list local
vzdump <vmid/ctid>Respaldar una VM o contenedorvzdump 101 --mode snapshot --compress zstd
qmrestore <file> <vmid>Restaurar una VM desde respaldoqmrestore backup.vma.zst 101
pct restore <ctid> <file>Restaurar un contenedor desde respaldopct restore 200 backup.tar.zst
pveam availableListar plantillas disponiblespveam available --section system
pveam downloadDescargar una plantillapveam download local ubuntu-24.04-standard.tar.zst
pvecm statusMostrar estado del clusterpvecm status
pveversionMostrar versión de Proxmoxpveversion --verbose

Solución de Problemas

La VM No Inicia: Errores de IOMMU o Virtualización

Si una VM falla al iniciar con errores relacionados con KVM, verifica que la virtualización por hardware esté habilitada:

# Verificar si KVM está disponible
kvm-ok

# Si no está disponible, verificar soporte de virtualización del CPU
egrep -c '(vmx|svm)' /proc/cpuinfo

# Verificar que IOMMU esté habilitado (para PCI passthrough)
dmesg | grep -e DMAR -e IOMMU

Asegúrate de que Intel VT-x o AMD-V esté habilitado en la configuración del BIOS/UEFI.

Interfaz Web No Accesible

Si no puedes acceder a la interfaz web en el puerto 8006:

# Verificar si pveproxy está corriendo
systemctl status pveproxy

# Reiniciar el servicio proxy
systemctl restart pveproxy

# Verificar el firewall
iptables -L -n | grep 8006

# Verificar la configuración de IP
ip addr show vmbr0

Almacenamiento Lleno o Problemas de Espacio en Disco

Cuando el almacenamiento se llena, las VMs pueden congelarse o fallar al iniciar:

# Verificar uso de disco
df -h

# Verificar uso del thin pool LVM
lvs -a

# Verificar uso del pool ZFS (si usas ZFS)
zpool list
zfs list

# Eliminar respaldos antiguos para liberar espacio
ls -la /var/lib/vz/dump/
rm /var/lib/vz/dump/vzdump-qemu-101-OLD_DATE*.vma.zst

El Contenedor Falla al Iniciar con Errores de Permisos

Los contenedores no privilegiados pueden tener problemas de permisos con ciertas operaciones:

# Verificar el log del contenedor
pct start 200 --debug

# Si necesitas nesting (ej., para Docker), asegúrate de que esté habilitado
pct set 200 --features nesting=1

# Para problemas de montaje en contenedores no privilegiados, verificar mapeo de IDs
cat /etc/pve/lxc/200.conf

Problemas de Comunicación del Cluster

Si los nodos pierden contacto entre sí en un cluster:

# Verificar el estado del cluster
pvecm status

# Verificar que Corosync está corriendo
systemctl status corosync

# Verificar el anillo de Corosync
pvecm expected 1

# Revisar el log de Corosync
journalctl -u corosync -f

Rendimiento Lento de VM

Si una VM corre más lento de lo esperado:

# Verificar si los drivers VirtIO están instalados en el invitado
# Para invitados Windows, instalar los drivers VirtIO desde la ISO
# Disponible en: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/

# Habilitar el tipo de CPU host para mejor rendimiento
qm set 101 --cpu host

# Verificar si el ballooning está causando presión de memoria
qm monitor 101
# En el monitor, escribe: info balloon

# Verificar si la E/S de disco está generando un cuello de botella
iostat -x 1

Resumen

Proxmox VE es una excelente elección como plataforma de virtualización para home lab. Combina el poder de las máquinas virtuales KVM y los contenedores LXC en una única plataforma de código abierto gestionada por web y a costo cero. En esta guía, aprendiste cómo instalar Proxmox VE, configurar los ajustes post-instalación, crear máquinas virtuales y contenedores, configurar múltiples backends de almacenamiento incluyendo ZFS y NFS, configurar redes con VLANs y bonding, automatizar respaldos con vzdump y Proxmox Backup Server, y desplegar VMs rápidamente con plantillas y Cloud-Init.

Con tu home lab Proxmox VE funcionando, ahora puedes desplegar servicios como contenedores Docker dentro de tus VMs o contenedores LXC. Consulta nuestra guía sobre Cómo Instalar Docker en Ubuntu para comenzar con aplicaciones en contenedores. Para asegurar tus máquinas virtuales, sigue nuestra guía sobre Cómo Configurar el Firewall UFW en Ubuntu Server para establecer reglas de firewall adecuadas en tus sistemas operativos invitados.