Proxmox Virtual Environment (Proxmox VE) es una plataforma de virtualización de código abierto basada en Debian que combina el hipervisor KVM para máquinas virtuales completas y LXC para contenedores ligeros, todo gestionado desde una interfaz web y una línea de comandos. En este tutorial instalarás Proxmox VE 9 (basado en Debian 13 "Trixie") en un servidor físico, configurarás el repositorio de actualizaciones gratuito, crearás un usuario administrador propio y desplegarás una máquina virtual y un contenedor desde la terminal. Al terminar tendrás un nodo listo para alojar cargas de trabajo y hacer copias de seguridad.

Requisitos previos

Para seguir esta guía necesitas:

  • Un servidor físico de 64 bits con CPU compatible con virtualización por hardware (Intel VT-x o AMD-V activado en la BIOS/UEFI), por ejemplo un servidor dedicado de CubePath con acceso a consola remota (IPMI/KVM).
  • Al menos 8 GB de RAM (Proxmox funciona con menos, pero cada VM necesita su propia memoria) y un disco dedicado para el sistema. Proxmox borra por completo el disco donde se instala.
  • Una dirección IP fija, su máscara, la puerta de enlace y un servidor DNS para configurar la red durante la instalación.
  • Un pendrive USB de al menos 2 GB o la posibilidad de montar una ISO a través de la consola remota del servidor.

Paso 1: Descargar la ISO y preparar el medio de instalación

Descarga la ISO más reciente de Proxmox VE desde la página oficial de descargas (https://www.proxmox.com/en/downloads) y comprueba su suma SHA256 con la que aparece publicada junto al enlace:

sha256sum proxmox-ve_*.iso

Si el servidor tiene consola remota con soporte de medios virtuales, monta la ISO directamente desde ahí. Si vas a usar un USB desde un equipo Linux, identifica primero el dispositivo con lsblk y escribe la imagen con dd, sustituyendo /dev/sdX por tu pendrive (todo su contenido se borrará):

lsblk
sudo dd if=proxmox-ve_9.0-1.iso of=/dev/sdX bs=4M status=progress conv=fsync

Ajusta el nombre del archivo a la versión que hayas descargado. En Windows o macOS puedes usar una herramienta como Etcher para el mismo fin.

Paso 2: Instalar Proxmox VE

Arranca el servidor desde la ISO y elige Install Proxmox VE (Graphical). El asistente te pedirá:

  1. Aceptar la licencia (EULA).
  2. Disco de destino: selecciona el disco del sistema. Con el botón Options puedes elegir el sistema de archivos. ext4 con LVM es la opción por defecto y crea el almacenamiento local-lvm para discos de VM; ZFS (por ejemplo en RAID1 sobre dos discos) aporta redundancia y snapshots, pero necesita más RAM.
  3. País, zona horaria y distribución de teclado.
  4. Contraseña de root y correo electrónico: usa una contraseña robusta; el correo recibe las alertas del sistema.
  5. Red de gestión: la interfaz física, el nombre de host en formato FQDN (por ejemplo pve1.your_domain), la IP con máscara en notación CIDR (your_server_ip/24), la puerta de enlace y el DNS.

Revisa el resumen, pulsa Install y, cuando termine, retira el medio de instalación y reinicia. En la consola verás un mensaje similar a este:

Welcome to the Proxmox Virtual Environment. Please use your web browser to
configure this server - connect to:

  https://your_server_ip:8006/

Paso 3: Acceder a la interfaz web y por SSH

Abre https://your_server_ip:8006 en el navegador. El certificado es autofirmado, así que el navegador mostrará un aviso que debes aceptar. Inicia sesión con el usuario root, la contraseña que definiste y el dominio Linux PAM standard authentication. Al entrar aparecerá un aviso de "No valid subscription"; es informativo y no limita ninguna función.

Conéctate también por SSH, ya que el resto de pasos se hacen desde la terminal del nodo:

ssh root@your_server_ip

Comprueba la versión instalada y que los servicios web y de API están activos:

pveversion
systemctl status pveproxy pvedaemon --no-pager
pve-manager/9.0.3/025864202ebb6109 (running kernel: 6.14.8-2-pve)

Los números de versión exactos dependerán de la ISO que hayas usado.

Paso 4: Configurar los repositorios de actualizaciones

Una instalación nueva tiene activos los repositorios enterprise de Proxmox VE y de Ceph, que requieren una suscripción de pago. Sin ella, apt update devolverá errores 401. Si no tienes suscripción, desactívalos y usa el repositorio pve-no-subscription, que es gratuito y recibe las mismas actualizaciones con algo menos de pruebas previas.

Proxmox VE 9 usa el formato deb822 (archivos .sources). Desactiva el repositorio enterprise añadiendo la línea Enabled: no:

nano /etc/apt/sources.list.d/pve-enterprise.sources
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Enabled: no

Haz lo mismo en /etc/apt/sources.list.d/ceph.sources si no vas a usar Ceph con suscripción. Después crea el archivo del repositorio gratuito:

nano /etc/apt/sources.list.d/proxmox.sources
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

También puedes hacer estos cambios desde la interfaz web en Datacenter > nombre del nodo > Updates > Repositories. Actualiza el sistema:

apt update
apt full-upgrade

Usa siempre full-upgrade (o dist-upgrade) en Proxmox, nunca apt upgrade a secas, porque las actualizaciones de Proxmox suelen añadir o sustituir paquetes. Si se ha instalado un kernel nuevo, reinicia el nodo con reboot.

Paso 5: Crear un usuario administrador y activar 2FA

Trabajar siempre como root@pam no es buena idea: no puedes revocarlo sin perder el acceso y aparece en todos los registros igual. Crea un usuario en el dominio interno de Proxmox (pve) con el rol de administrador:

pveum user add admin@pve --comment "Administrador"
pveum passwd admin@pve
pveum acl modify / --users admin@pve --roles Administrator

Comprueba que el usuario existe y tiene el permiso asignado:

pveum user list
pveum acl list

La salida de pveum acl list debe mostrar una fila con la ruta /, el rol Administrator y el usuario admin@pve.

Cierra sesión en la web y entra como admin con el dominio Proxmox VE authentication server. Desde el menú de usuario (arriba a la derecha) > TFA añade un segundo factor TOTP y hazlo también para root@pam.

Paso 6: Revisar la red y el almacenamiento

El instalador crea un puente Linux llamado vmbr0 que contiene la interfaz física y la IP del nodo. Las VM y contenedores se conectan a ese puente para salir a la red. Revisa la configuración:

cat /etc/network/interfaces
auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
        address your_server_ip/24
        gateway your_gateway_ip
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0

El nombre de la interfaz física (eno1, enp1s0, etc.) variará según tu hardware. Si modificas este archivo, aplica los cambios con ifreload -a.

Consulta ahora los almacenamientos disponibles:

pvesm status
Name             Type     Status           Total            Used       Available        %
local             dir     active        98497780         3124532        90323700    3.17%
local-lvm     lvmthin     active       832888832               0       832888832    0.00%

Con la instalación por defecto, local (directorio /var/lib/vz) guarda ISOs, plantillas de contenedores y copias de seguridad, y local-lvm guarda los discos de las VM y contenedores. Si elegiste ZFS verás local-zfs en lugar de local-lvm; úsalo en los comandos siguientes.

Paso 7: Crear una máquina virtual KVM

Descarga la ISO de instalación del sistema invitado en el almacenamiento local. Por ejemplo, Ubuntu Server 24.04:

cd /var/lib/vz/template/iso
wget https://releases.ubuntu.com/24.04/ubuntu-24.04.3-live-server-amd64.iso

Comprueba en https://releases.ubuntu.com/24.04/ el nombre exacto del último point release. Crea la VM con el ID 100, 2 núcleos, 2 GB de RAM, un disco de 32 GB con controlador VirtIO SCSI y la tarjeta de red en vmbr0:

qm create 100 --name ubuntu-vm --ostype l26 --cores 2 --memory 2048 \
  --scsihw virtio-scsi-single --scsi0 local-lvm:32 \
  --net0 virtio,bridge=vmbr0 \
  --ide2 local:iso/ubuntu-24.04.3-live-server-amd64.iso,media=cdrom \
  --boot 'order=scsi0;ide2' --agent enabled=1

Arranca la VM y comprueba su estado:

qm start 100
qm list
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID
       100 ubuntu-vm            running    2048              32.00 12345

Completa la instalación del sistema invitado desde la consola de la VM en la interfaz web (VM 100 > Console). Cuando termine, instala dentro de la VM el agente de QEMU para que Proxmox pueda consultar su IP y apagarla limpiamente:

sudo apt install qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent

Paso 8: Crear un contenedor LXC

Los contenedores LXC comparten el kernel del nodo, arrancan en segundos y consumen muy poca memoria, lo que los hace ideales para servicios Linux sencillos. Actualiza la lista de plantillas y busca la de Debian o Ubuntu:

pveam update
pveam available --section system | grep -E 'debian|ubuntu'

Descarga la plantilla que quieras usando el nombre exacto que aparece en la lista (el siguiente es un ejemplo):

pveam download local debian-13-standard_13.1-2_amd64.tar.zst

Crea un contenedor no privilegiado con ID 200, 1 GB de RAM, un disco de 8 GB e IP por DHCP. La opción --ssh-public-keys copia tus claves SSH autorizadas al usuario root del contenedor:

pct create 200 local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst \
  --hostname ct-web --cores 1 --memory 1024 \
  --rootfs local-lvm:8 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp \
  --unprivileged 1 --features nesting=1 \
  --ssh-public-keys /root/.ssh/authorized_keys

Si tu red no tiene DHCP, sustituye ip=dhcp por ip=your_ct_ip/24,gw=your_gateway_ip. Arranca el contenedor y entra en él:

pct start 200
pct list
pct enter 200
VMID       Status     Lock         Name
200        running                 ct-web

Dentro del contenedor, comprueba que tiene red con ip a y ping -c 3 1.1.1.1, y sal con exit.

Paso 9: Hacer y restaurar copias de seguridad

Proxmox incluye vzdump para copias de seguridad de VM y contenedores. El modo snapshot hace la copia sin detener la máquina. Lanza una copia manual de la VM 100 al almacenamiento local:

vzdump 100 --storage local --mode snapshot --compress zstd

Las copias se guardan en /var/lib/vz/dump/:

ls -lh /var/lib/vz/dump/
-rw-r--r-- 1 root root 1.9G Sep 25 10:14 vzdump-qemu-100-2026_09_25-10_12_03.vma.zst
-rw-r--r-- 1 root root 6.1K Sep 25 10:14 vzdump-qemu-100-2026_09_25-10_12_03.log

Para restaurarla como una VM nueva con el ID 101:

qmrestore /var/lib/vz/dump/vzdump-qemu-100-2026_09_25-10_12_03.vma.zst 101 --storage local-lvm

Los contenedores se restauran con pct restore. Para copias periódicas, crea un trabajo en Datacenter > Backup > Add, indicando horario, máquinas, almacenamiento y política de retención (por ejemplo, 7 diarias y 4 semanales). Guarda las copias en un almacenamiento distinto del propio nodo, como un NFS o un Proxmox Backup Server, para no perderlas junto con el servidor.

Solución de problemas

apt update devuelve 401 Unauthorized para enterprise.proxmox.com. El repositorio enterprise sigue activo sin suscripción. Revisa que pve-enterprise.sources y ceph.sources tengan Enabled: no, como en el paso 4.

qm start falla con "KVM virtualisation configured, but not available". La virtualización por hardware está desactivada en la BIOS/UEFI o el servidor es una VM. Actívala (Intel VT-x o AMD-V) y comprueba con grep -cE 'vmx|svm' /proc/cpuinfo que el resultado es mayor que cero.

La interfaz web no carga en el puerto 8006. Comprueba el servicio con systemctl status pveproxy y sus registros con journalctl -u pveproxy -n 50. Si cambiaste la IP del nodo, /etc/hosts debe resolver el nombre del host a la IP nueva.

La VM o el contenedor no tiene red. Verifica que la interfaz virtual está en vmbr0 y que bridge-ports en /etc/network/interfaces apunta a la interfaz física correcta. Si tu proveedor filtra por dirección MAC, las IPs adicionales pueden requerir una MAC virtual asignada desde su panel.

Conclusión

Has instalado Proxmox VE 9, configurado las actualizaciones gratuitas, creado un administrador con 2FA y desplegado una VM KVM y un contenedor LXC con sus copias de seguridad. A partir de aquí puedes añadir más nodos y formar un clúster con pvecm create y pvecm add, configurar un Proxmox Backup Server para copias incrementales con deduplicación, o activar el firewall de Proxmox a nivel de datacenter y de cada VM.