Por qué tu homelab necesita Proxmox Backup Server (PBS)
Si tienes un homelab con Proxmox VE, VMs y contenedores LXC, probablemente dependes del respaldo integrado que vuelca archivos .vma o .tar.zst a una carpeta local o a un recurso NFS. Funciona, hasta que te das cuenta de que no tienes deduplicación, ni respaldos incrementales, ni un flujo de verificación y restauración, y que cada respaldo completo se come tu almacenamiento.
Proxmox Backup Server (PBS) es la solución hecha a medida para todo eso. Corre como un servicio independiente (en su propia VM, en un LXC o en hardware dedicado), se integra de forma nativa con Proxmox VE y te da respaldos incrementales eficientes con deduplicación del lado del cliente, cifrado y un sistema de recolección de basura como corresponde. Esta guía cubre una instalación completa de PBS en Proxmox VE en 2026: desde instalar PBS en un contenedor LXC hasta programar respaldos automáticos y verificar restauraciones.
Vista general de la arquitectura
El setup de PBS más limpio para un homelab usa un contenedor LXC dedicado (privilegiado) en un nodo de Proxmox, con un disco montado o un dataset ZFS como datastore de respaldos. También puedes correr PBS en un mini PC aparte, especialmente útil si quieres resiliencia fuera del nodo principal. Para un homelab de un solo nodo, un contenedor LXC en el mismo host de Proxmox con un disco secundario funciona muy bien, y es lo que cubre esta guía.
Esta es la arquitectura objetivo:
- Nodo de Proxmox VE: tu hipervisor principal con VMs y contenedores
- Contenedor LXC de PBS: corre el demonio de Proxmox Backup Server, con un disco de respaldo montado
- Datastore de respaldos: un pool ZFS dedicado o un disco/partición montado dentro del contenedor de PBS
- Almacenamiento de Proxmox VE: PBS agregado como destino de almacenamiento en la interfaz de PVE
Paso 1: prepara el disco de respaldo
PBS funciona mejor con un disco dedicado. Si tienes un NVMe o SATA libre, identifícalo en el host de Proxmox:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE
Supongamos que tu disco de respaldo es /dev/sdb. Crea un pool ZFS directamente en el host de Proxmox (después pasarás el punto de montaje al LXC):
# Create a single-disk ZFS pool named "pbspool"
zpool create -f pbspool /dev/sdb
# Verify
zpool status pbspool
zfs list
Si prefieres una partición ext4 en lugar de ZFS, formatéala y anota la ruta de montaje:
mkfs.ext4 /dev/sdb1
mkdir -p /mnt/pbsdisk
echo "/dev/sdb1 /mnt/pbsdisk ext4 defaults 0 2" >> /etc/fstab
mount -a
Si vas con un SSD NVMe, el SSD NVMe WD Black SN850X de 2 TB (~$129) 💿 ofrece excelentes velocidades de escritura secuencial que mantienen cortas las ventanas de respaldo, y su resistencia aguanta las escrituras constantes que generan los respaldos.
Paso 2: crea el contenedor LXC de PBS
PBS tiene que correr en un contenedor LXC privilegiado porque necesita acceso directo al datastore de respaldos y usa funciones a las que los contenedores sin privilegios no tienen acceso. En la consola de Proxmox:
# Download the Debian 12 LXC template if you don't have it
pveam update
pveam available | grep debian-12
pveam download local debian-12-standard_12.7-1_amd64.tar.zst
Ahora crea el contenedor por CLI (ajusta el CTID y el pool de almacenamiento según tu caso):
pct create 200 local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst \
--hostname pbs \
--memory 2048 \
--cores 2 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--storage local-lvm \
--rootfs local-lvm:8 \
--unprivileged 0 \
--features nesting=1 \
--password YourSecurePassword
Si usas un pool ZFS como datastore, agrega un bind mount para que el contenedor pueda acceder a él:
# Edit the container config to add the bind mount
echo "mp0: /pbspool,mp=/mnt/datastore,backup=0" >> /etc/pve/lxc/200.conf
Si usas un disco o partición montado en /mnt/pbsdisk:
echo "mp0: /mnt/pbsdisk,mp=/mnt/datastore,backup=0" >> /etc/pve/lxc/200.conf
Inicia el contenedor:
pct start 200
pct enter 200
Paso 3: instala Proxmox Backup Server
Dentro del contenedor de PBS:
# Add the PBS repository
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" \
> /etc/apt/sources.list.d/pbs.list
# Import the Proxmox GPG key
curl -fsSL https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
-o /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# Update and install
apt update && apt install -y proxmox-backup-server
# Start and enable the PBS service
systemctl enable --now proxmox-backup
systemctl status proxmox-backup
PBS corre en el puerto 8007 por defecto. Obtén la IP del contenedor y entra a la interfaz web en https://<PBS_IP>:8007. Las credenciales por defecto son root@pam con la contraseña que definiste al crear el contenedor.
Paso 4: crea el datastore de respaldos
En la interfaz web de PBS (o por CLI), crea un datastore que apunte a tu disco de respaldo montado:
# CLI method — create a datastore named "homelab"
proxmox-backup-manager datastore create homelab /mnt/datastore
# Verify
proxmox-backup-manager datastore list
Desde la interfaz web: ve a Administration → Datastores → Add Datastore, ponle de nombre homelab y como ruta /mnt/datastore.
Después, configura la recolección de basura para que corra automáticamente. La GC recupera los bloques que ya no usa ningún snapshot. Una vez por semana es un buen valor por defecto:
proxmox-backup-manager datastore update homelab \
--gc-schedule "sun 02:00"
Paso 5: crea un usuario de PBS y un token de API
Nunca uses root@pam para que Proxmox VE se conecte a PBS. Crea un usuario dedicado y un token de API:
# Create a user
proxmox-backup-manager user create backup@pbs --password BackupUserPass
# Grant the user DatastoreBackup role on the homelab datastore
proxmox-backup-manager acl update /datastore/homelab DatastoreBackup \
--auth-id backup@pbs
# Create an API token for this user
proxmox-backup-manager user generate-token backup@pbs pve-token
# Save the token secret from the output — you won't see it again
Paso 6: agrega PBS como almacenamiento en Proxmox VE
En tu nodo de Proxmox VE, ve a Datacenter → Storage → Add → Proxmox Backup Server:
- ID:
pbs-homelab - Server: la IP de tu contenedor de PBS
- Datastore:
homelab - Username:
backup@pbs!pve-token - Password: el secreto del token de API del paso 5
- Fingerprint: cópialo de la interfaz de PBS (Dashboard → Certificate Fingerprint)
O por CLI en tu nodo de PVE:
pvesm add pbs pbs-homelab \
--server 192.168.1.200 \
--datastore homelab \
--username "backup@pbs!pve-token" \
--password "YOUR_TOKEN_SECRET" \
--fingerprint "XX:XX:..." \
--content backup
Paso 7: programa respaldos automáticos
En Proxmox VE, ve a Datacenter → Backup → Add. Selecciona pbs-homelab como almacenamiento, elige tus VMs y contenedores y define una programación. Una buena programación para un homelab:
# Example backup job settings
Storage: pbs-homelab
Schedule: mon..fri 22:00 # Weeknights at 10 PM
Mode: Snapshot # For VMs; use Stop for LXC if needed
Compression: ZSTD
Max Protected Backups: 0
Keep Last: 7
Keep Weekly: 4
Keep Monthly: 6
Los ajustes de retención de arriba guardan respaldos diarios por una semana, semanales por un mes y mensuales por 6 meses: un RPO sólido para un homelab sin agotar el almacenamiento.
La deduplicación de PBS hace que, si tus VMs comparten una imagen base (por ejemplo, varios clones de LXC Debian), los bloques duplicados se guarden una sola vez. En la práctica, un homelab con 500 GB de VMs puede ocupar apenas 200-300 GB en el datastore de PBS una vez que actúa la deduplicación.
Paso 8: activa el cifrado del lado del cliente (opcional pero recomendado)
PBS soporta cifrado AES-256-GCM hecho en el cliente de Proxmox VE antes de que los datos lleguen al servidor de PBS. Es especialmente útil si PBS está en otra máquina o si respaldas a un PBS remoto.
# On the Proxmox VE node, generate an encryption key
proxmox-backup-client key create /etc/pve/priv/pbs-encryption.key
# Back up this key file somewhere safe — without it you cannot restore
# Reference it in the backup job via UI or CLI
# In the backup job config: encryption=1, keyfile=/etc/pve/priv/pbs-encryption.key
Paso 9: prueba tus respaldos con una restauración
Un respaldo que nunca probaste no es un respaldo. Haz una restauración a una VM/contenedor temporal para verificar:
# List snapshots in the PBS datastore
proxmox-backup-client list --repository backup@pbs!pve-token@192.168.1.200:homelab
# Restore a specific snapshot to a new VMID (101 in this example, restore to VMID 999)
qmrestore pbs-homelab:backup/vm/101/2026-08-19T22:00:00Z 999 --storage local-lvm
Desde la interfaz: Storage → pbs-homelab → Backups → selecciona un snapshot → Restore. Verifica que la VM restaurada arranque y que los datos estén intactos, y luego bórrala. Ponte un recordatorio en el calendario para hacerlo cada trimestre.
Solución de problemas comunes
El contenedor de PBS no puede escribir en el montaje del datastore
# Check ownership inside the container
ls -la /mnt/datastore
# Should be owned by root. If not:
chown root:backup /mnt/datastore
chmod 750 /mnt/datastore
Fingerprint que no coincide al agregar PBS en PVE
# Get the correct fingerprint from PBS
proxmox-backup-manager cert info | grep "Fingerprint"
El respaldo falla con un error de "lock"
Normalmente significa que un trabajo de respaldo anterior no limpió su archivo de bloqueo. Revisa:
proxmox-backup-manager garbage-collection start homelab
# Also check for stale .lock files in the datastore chunks directory
find /mnt/datastore -name "*.lock" -mmin +60 -delete
La interfaz web de PBS no responde después de reiniciar el contenedor
systemctl status proxmox-backup
# If the service failed to start, usually due to the mount not being ready yet:
systemctl restart proxmox-backup
Hardware recomendado para PBS
Para un nodo de PBS dedicado, lo ideal es un mini PC con RAM suficiente y un NVMe rápido. El mini PC Beelink EQ12 (~$189) 🖥 corre PBS con mucha eficiencia: consume poco en reposo y tiene espacio para un segundo disco, así que puedes poner el sistema en uno y dedicar el otro por completo a los respaldos de PBS. Agrégale un Crucial 32 GB DDR4 SODIMM (~$59) 💾 si piensas correr otros servicios junto a PBS, aunque PBS por sí solo funciona bien con 2-4 GB.
Si vas a conectar el nodo de PBS a un switch de 2.5GbE para transferir los respaldos más rápido, el adaptador Ethernet USB TP-Link de 2.5G (~$22) 🔌 agrega 2.5GbE a cualquier mini PC sin puerto interno y funciona de entrada en Debian 12 y Ubuntu 22.04.
Monitoreo y alertas
PBS tiene un sistema de notificaciones integrado. Configura alertas por correo para los respaldos fallidos en Administration → Notifications. En un stack autoalojado, también puedes apuntar los hooks de notificación de PBS a un webhook de n8n para enviar las alertas a Telegram, Discord o Slack:
# PBS supports custom notification scripts via the hook system
# /etc/proxmox-backup/notifications.cfg example:
[sendmail: default-matcher]
mailto root
mode all
Para una observabilidad más profunda, PBS expone un endpoint /metrics compatible con Prometheus, útil si ya corres un stack de Grafana en Proxmox.
Conclusión
Proxmox Backup Server es de esas herramientas que parecen de pago (y en el nivel empresarial con suscripción lo son), pero la edición comunitaria funciona perfectamente para un homelab. Solo la deduplicación justifica el tiempo de instalación: un homelab típico con 10 VMs puede guardar 6 meses de historial de respaldos en el mismo espacio que ocuparían 3 semanas de respaldos completos sin PBS.
La instalación es sencilla una vez que la haces la primera vez, y el flujo de restauración es lo bastante confiable como para que de verdad puedas confiar en él. Ponte un recordatorio trimestral para probar restauraciones, activa el cifrado si respaldas algo sensible y tendrás uno de los pipelines de respaldo más sólidos del mundo autoalojado.
¿Quieres algo así para tu negocio?
Instalo infraestructura privada y autoalojada en Proxmox: IA, automatización y herramientas internas en hardware que es tuyo, documentado y entregado. Ver el stack de IA privada →
¿No sabes qué necesitas? Agenda una llamada gratis.