Proxmox VE¶
Guía completa de Proxmox Virtual Environment: plataforma de virtualización empresarial de código abierto.
📋 Tabla de Contenidos¶
- Introducción
- Instalación
- Configuración Básica
- Gestión de Máquinas Virtuales
- Contenedores LXC
- Almacenamiento
- Redes
- Backup y Recuperación
- Clustering
- Seguridad
- Monitoreo
- Casos de Uso
- Herramientas Útiles
- Referencias
Introducción¶
Proxmox Virtual Environment (Proxmox VE) es una plataforma de virtualización empresarial de código abierto que combina:
- Virtualización de máquinas virtuales (KVM/QEMU)
- Contenedores LXC para aplicaciones ligeras
- Gestión web unificada con interfaz intuitiva
- Almacenamiento distribuido con múltiples opciones
- Clustering para alta disponibilidad
- Backup integrado con múltiples destinos
Características Principales¶
- Código abierto: Basado en Debian GNU/Linux
- Alto rendimiento: KVM para virtualización de hardware
- Escalabilidad: Clustering nativo para múltiples nodos
- Flexibilidad: Soporte para múltiples tipos de almacenamiento
- Seguridad: Contenedores LXC aislados
- Monitoreo: Métricas en tiempo real
Instalación¶
Requisitos del Sistema¶
- CPU: 64-bit con soporte para virtualización (Intel VT-x/AMD-V)
- RAM: Mínimo 4GB, recomendado 8GB+
- Almacenamiento: Mínimo 32GB, recomendado 100GB+
- Red: Interfaz de red configurada
Instalación desde ISO¶
- Descargar ISO desde proxmox.com
- Crear USB booteable o usar PXE
- Bootear desde el medio de instalación
- Seguir el asistente de instalación
# Ejemplo de instalación automatizada
# Crear archivo de configuración para instalación desatendida
cat > /tmp/proxmox-ve.conf << EOF
# Configuración de red
interface=eth0
ip=192.168.1.100/24
gateway=192.168.1.1
dns=8.8.8.8
# Configuración de almacenamiento
target=sda
filesystem=ext4
# Configuración de usuario
password=TuContraseñaSegura
email=admin@tudominio.com
EOF
Instalación sobre Debian¶
# Añadir repositorio de Proxmox
echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
# Añadir clave GPG
wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
# Actualizar e instalar
apt update
apt install proxmox-ve postfix open-iscsi
Configuración Básica¶
Acceso a la Interfaz Web¶
# URL de acceso
https://IP-DEL-SERVIDOR:8006
# Credenciales por defecto
Usuario: root
Contraseña: (la configurada durante la instalación)
Configuración de Red¶
# Editar configuración de red
nano /etc/network/interfaces
# Ejemplo de configuración
auto lo
iface lo inet loopback
auto vmbr0
iface vmbr0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
bridge-ports eth0
bridge-stp off
bridge-fd 0
Configuración de DNS¶
# Editar resolv.conf
nano /etc/resolv.conf
# Añadir servidores DNS
nameserver 8.8.8.8
nameserver 8.8.4.4
Gestión de Máquinas Virtuales¶
Crear una VM desde la Interfaz Web¶
- Navegar a Datacenter → Nodo → Create VM
- Configurar parámetros básicos:
- General: Nombre, ID, OS Type
- OS: ISO image, OS version
- System: SCSI controller, Qemu agent
- Hard Disk: Size, storage location
- CPU: Sockets, cores
- Memory: RAM allocation
- Network: Bridge, model
Crear VM desde Línea de Comandos¶
# Crear VM con ID 100
qm create 100 --name "Ubuntu-Server" --memory 2048 --cores 2
# Añadir disco
qm set 100 --scsi0 local-lvm:32
# Añadir ISO
qm set 100 --ide2 local:iso/ubuntu-22.04-server-amd64.iso,media=cdrom
# Configurar boot
qm set 100 --boot c --bootdisk scsi0
# Configurar red
qm set 100 --net0 virtio,bridge=vmbr0
# Iniciar VM
qm start 100
Gestión Avanzada de VMs¶
# Clonar VM
qm clone 100 101 --name "Ubuntu-Server-Clone"
# Migrar VM
qm migrate 100 target-node --online
# Snapshot
qm snapshot 100 snap1
# Backup
qm backup 100 local:backup
# Monitoreo
qm monitor 100
Contenedores LXC¶
Crear Contenedor¶
# Crear contenedor Ubuntu
pct create 200 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.gz \
--hostname ubuntu-ct \
--memory 512 \
--cores 1 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.1.200/24,gw=192.168.1.1
# Iniciar contenedor
pct start 200
# Acceder al contenedor
pct enter 200
Gestión de Contenedores¶
# Listar contenedores
pct list
# Parar contenedor
pct stop 200
# Reiniciar contenedor
pct restart 200
# Clonar contenedor
pct clone 200 201
# Backup
pct backup 200 local:backup
Almacenamiento¶
Tipos de Almacenamiento¶
- local: Almacenamiento local en el nodo
- local-lvm: LVM para VMs y contenedores
- NFS: Sistema de archivos de red
- Ceph: Almacenamiento distribuido
- iSCSI: Bloque de red
- ZFS: Sistema de archivos avanzado
Configurar NFS¶
# Añadir almacenamiento NFS
pvesm add nfs nfs-storage --server 192.168.1.10 --export /mnt/storage --content images,iso,vztmpl
Configurar Ceph¶
# Instalar Ceph
apt install ceph
# Crear cluster Ceph
ceph-deploy new node1 node2 node3
# Añadir OSDs
ceph-deploy osd create node1:/dev/sdb
ceph-deploy osd create node2:/dev/sdb
ceph-deploy osd create node3:/dev/sdb
# Añadir almacenamiento Ceph a Proxmox
pvesm add ceph ceph-storage --monhost 192.168.1.10,192.168.1.11,192.168.1.12 --username admin
Redes¶
Configuración de Bridge¶
# Bridge simple
auto vmbr0
iface vmbr0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
bridge-ports eth0
bridge-stp off
bridge-fd 0
VLAN¶
# Bridge con VLAN
auto vmbr0.100
iface vmbr0.100 inet static
address 192.168.100.100/24
vlan-raw-device vmbr0
Bonding¶
# Bond de dos interfaces
auto bond0
iface bond0 inet manual
bond-slaves eth0 eth1
bond-mode 802.3ad
bond-miimon 100
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
Backup y Recuperación¶
Configurar Backup¶
# Configurar job de backup
nano /etc/pve/nodes/nodo/backup.conf
# Ejemplo de configuración
backup: local:backup
compress: lz4
mode: snapshot
retention: 7
schedule: daily 02:00
storage: local:backup
Backup Manual¶
# Backup de VM
qm backup 100 local:backup --compress lz4
# Backup de contenedor
pct backup 200 local:backup --compress lz4
# Restaurar backup
qm restore 100 /var/lib/vz/dump/vzdump-qemu-100-2023_01_01-02_00_00.vma.lz4
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-2023_01_01-02_00_00.tar.lz4
Clustering¶
Crear Cluster¶
# En el primer nodo
pvecm create cluster1
# En nodos adicionales
pvecm add 192.168.1.100
Gestión del Cluster¶
# Ver estado del cluster
pvecm status
# Migrar VM entre nodos
qm migrate 100 nodo2 --online
# Configurar HA (High Availability)
ha-manager add vm:100
ha-manager add ct:200
Seguridad¶
Configuración de Firewall¶
# Habilitar firewall
pve-firewall set --enable 1
# Reglas para nodo
pve-firewall set --policy-in ACCEPT
pve-firewall set --policy-out ACCEPT
# Reglas para VM
qm set 100 --firewall 1
pve-firewall set --rulegroup vm:100 --policy-in ACCEPT
Certificados SSL¶
# Generar certificado autofirmado
pvecm updatecerts --force
# Configurar certificado Let's Encrypt
apt install certbot
certbot certonly --standalone -d proxmox.tudominio.com
Monitoreo¶
Métricas del Sistema¶
# Ver uso de recursos
pvesm status
qm list
pct list
# Monitoreo de red
iftop -i vmbr0
Logs¶
# Logs del sistema
tail -f /var/log/syslog
# Logs de Proxmox
tail -f /var/log/pve/tasks/
# Logs de VMs
tail -f /var/log/pve/qemu-server/100.log
Casos de Uso¶
Entorno de Desarrollo¶
# Crear VM de desarrollo
qm create 300 --name "Dev-Ubuntu" --memory 4096 --cores 4
qm set 300 --scsi0 local-lvm:50
qm set 300 --net0 virtio,bridge=vmbr0
qm set 300 --ide2 local:iso/ubuntu-22.04-desktop-amd64.iso,media=cdrom
Servidor Web¶
# Crear contenedor para web
pct create 400 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.gz \
--hostname webserver \
--memory 1024 \
--cores 2 \
--rootfs local-lvm:20 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.1.10/24,gw=192.168.1.1
Base de Datos¶
# VM para base de datos
qm create 500 --name "DB-Server" --memory 8192 --cores 4
qm set 500 --scsi0 local-lvm:100
qm set 500 --scsi1 local-lvm:200 # Disco adicional para datos
qm set 500 --net0 virtio,bridge=vmbr0
Buenas Prácticas¶
- ✅ Usar snapshots antes de cambios importantes
- ✅ Configurar backups automáticos regulares
- ✅ Monitorear recursos del sistema
- ✅ Usar contenedores LXC para aplicaciones ligeras
- ✅ Configurar HA para servicios críticos
- ✅ Mantener actualizado el sistema
- ✅ Documentar configuraciones importantes
- ✅ Usar VLANs para separar redes
Herramientas Útiles¶
ProxMenuX¶
ProxMenuX es una herramienta de gestión avanzada para Proxmox VE que proporciona una interfaz gráfica mejorada y funcionalidades adicionales.
Características principales: - Interfaz web mejorada con mejor UX/UI - Gestión avanzada de VMs y contenedores - Monitoreo en tiempo real con gráficos - Backup y restauración simplificados - Gestión de usuarios y permisos - Integración con múltiples almacenamientos
Instalación:
# Clonar repositorio
git clone https://github.com/ayufan/proxmox-ve-helper.git
cd proxmox-ve-helper
# Instalar dependencias
npm install
# Configurar y ejecutar
npm run build
npm start
Proxmox VE Helper¶
Proxmox VE Helper es una colección de scripts y herramientas para automatizar tareas comunes en Proxmox VE.
Funcionalidades: - Scripts de automatización para backup - Herramientas de migración de VMs - Utilidades de monitoreo y alertas - Scripts de configuración de red - Herramientas de mantenimiento del cluster
Instalación:
# Descargar scripts
wget https://github.com/ayufan/proxmox-ve-helper/archive/refs/heads/master.zip
unzip master.zip
cd proxmox-ve-helper-master
# Dar permisos de ejecución
chmod +x scripts/*.sh
# Ejecutar script de instalación
./scripts/install.sh
Ejemplos de uso:
# Backup automático de todas las VMs
./scripts/backup-all-vms.sh
# Migración de VM con verificación
./scripts/migrate-vm.sh 100 target-node
# Monitoreo de recursos
./scripts/monitor-resources.sh
Otras Herramientas Recomendadas¶
- Proxmox Backup Server: Solución de backup dedicada
- Cockpit: Interfaz web para gestión de servidores
- Grafana: Dashboards de monitoreo avanzado
- Prometheus: Sistema de monitoreo y alertas
- Ansible: Automatización de configuración
Referencias¶
- Documentación oficial: https://pve.proxmox.com/wiki/Documentation
- Wiki de Proxmox: https://pve.proxmox.com/wiki/Main_Page
- Foro de la comunidad: https://forum.proxmox.com/
- Repositorio Git: https://git.proxmox.com/
- Descargas: https://www.proxmox.com/en/downloads
- ProxMenuX: https://github.com/ayufan/proxmox-ve-helper
- Proxmox VE Helper: https://github.com/ayufan/proxmox-ve-helper