Esta es la Parte 2 de la serie sobre cómo monté mi ZimaBlade como servidor principal. En la Parte 1 expliqué cómo instalar Proxmox VE desde cero. Aquí viene lo interesante — crear la VM y migrar todos mis servicios desde la Raspberry Pi al ZimaBlade sin perder nada.
El objetivo
Tenía una Raspberry Pi corriendo CasaOS con un buen puñado de servicios — Nextcloud, Jellyfin, Radarr, Sonar y varios más. El objetivo era moverlo todo al ZimaBlade manteniendo las configuraciones y los datos intactos.
La clave que lo hizo posible: todos los datos estaban en un SSD externo extraíble. Eso convirtió una migración potencialmente dolorosa en algo relativamente sencillo.
Paso 1 — Crear la VM en Proxmox
En el panel de Proxmox pulsa Create VM y configúrala así:
General
- ID: el que quieras (ej:
100) - Name:
CasaOSZima1
OS
Antes de seleccionar la ISO hay que descargarla. En Proxmox ve a:
local (pve) → ISO Images → Download from URL
Pega la URL de descarga de la ISO de Ubuntu 24.04 y espera a que se descargue directamente en el servidor. Luego selecciónala en este paso.
System
- Machine:
q35
Disks
- Tamaño: el que necesites según tu disco — en mi caso 1.35TB del HDD disponible
CPU
- Cores:
2— el máximo disponible en el ZimaBlade
Memory
- RAM:
7800 MB— equivale a ~7.6GB de los 8GB disponibles, dejando algo de margen al sistema
Network
- Dejar por defecto
Con esto ya tienes la VM creada. Arráncala e instala Ubuntu 24.04 siguiendo el proceso de instalación estándar.
Paso 2 — Configurar hostname e IP estática
Una vez instalado Ubuntu, lo primero es darle una identidad fija al servidor. Sin IP estática, si el router le asigna una IP diferente al reiniciar, pierdes acceso a todos los servicios.
# Ver el hostname actual y cambiarlo
hostnamectl
sudo hostnamectl set-hostname casaoszima1
# Editar el archivo hosts para que coincida
sudo nano /etc/hosts
# Cambiar contraseñas por seguridad
sudo passwd ubuntu
sudo passwd root
# Reiniciar para aplicar cambios
sudo reboot
Para configurar la IP estática usa nmtui — tiene interfaz gráfica en terminal, mucho más cómodo que editar netplan a mano:
sudo nmtui
Selecciona Edit a connection → tu interfaz de red → configura la IPv4 como Manual y asigna la IP que quieras. Guarda y sal.
Paso 3 — Instalar CasaOS
Con la VM lista instalamos CasaOS con el comando oficial:
curl -fsSL https://get.casaos.io | sudo bash
La instalación es automática y tarda unos minutos. Una vez termine, CasaOS estará accesible desde el navegador en el puerto 80 de la IP de la VM — pero de momento estará vacío, sin ningún servicio.
Paso 4 — Montar el SSD externo de la Raspberry Pi
Conecta el SSD externo de la Raspberry Pi al ZimaBlade por USB. Proxmox se encargará de detectarlo automáticamente. Ahora hay que pasárselo a la VM.
En el panel de Proxmox ve a la VM → Hardware → Add → USB Device y selecciona el SSD externo. Esto lo monta directamente dentro de la VM.
Dentro de la VM verifica que el disco aparece:
lsblk
Monta el disco en una ruta temporal:
sudo mkdir -p /mnt/rpi
sudo mount /dev/sdb2 /mnt/rpi
💡 Silsblkmuestra más información necesaria sobre los discos usalsblk -f
Paso 5 — Preparar la migración
Antes de copiar nada hay que hacer dos cosas: parar los servicios para evitar archivos corruptos, y ampliar el almacenamiento de la VM para que quepa todo.
Parar servicios
sudo systemctl stop casaos
sudo systemctl stop docker
Ampliar el almacenamiento
# Ver los volúmenes lógicos disponibles
sudo lvdisplay
# Ampliar al máximo disponible
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
# Redimensionar el sistema de archivos
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
# Verificar el espacio disponible
df -h
Paso 6 — Copiar los datos
Aquí está el núcleo de la migración. Copiamos las carpetas que contienen toda la configuración y los datos de CasaOS:
# Datos principales (Nextcloud, Jellyfin, etc.)
sudo rsync -avh --progress /mnt/rpi/DATA/ /DATA/
# Configuración de CasaOS
sudo rsync -avh /mnt/rpi/var/lib/casaos/ /var/lib/casaos/
sudo rsync -avh /mnt/rpi/etc/casaos/ /etc/casaos/
# Configuración de servicios lsio
sudo rsync -avh /mnt/rpi/srv/lsio/ /srv/lsio/
💡 El flag --progress en el primer rsync te muestra el progreso en tiempo real. Con varios cientos de GB puede tardar un buen rato.Una vez copiado todo, asigna los permisos correctos:
sudo chown -R root:root /DATA
sudo chown -R root:root /var/lib/casaos
sudo chown -R root:root /etc/casaos
sudo chown -R root:root /srv/lsio/
Paso 7 — Arrancar y verificar
Arranca Docker y CasaOS:
sudo systemctl start docker
sudo systemctl start casaos
Abre el panel de CasaOS desde el navegador. Si todos los servicios aparecen y funcionan correctamente — la migración fue perfecta. 🎉
Una vez verificado, desmonta el SSD externo de forma limpia:
# Verificar que no hay procesos usando el disco
sudo lsof +D /mnt/rpi 2>/dev/null
# Desmontar
sudo umount /mnt/rpi
# Verificar que está desmontado
lsblk
Retira el SSD externo físicamente y reinicia la VM. Si arranca correctamente con todos los servicios — ya no lo necesitas.
Bonus — Dashboard con Glance
Para tener una vista general de todos los servicios del homelab instalé Glance en una LXC dedicada a servicios de red. Es un dashboard muy personalizable con una estética limpia.
mkdir glance && cd glance && curl -sL \
https://github.com/glanceapp/docker-compose-template/archive/refs/heads/main.tar.gz \
| tar -xzf - --strip-components 2
docker compose up -d
La configuración está en ./glance/config/ — viene con ejemplos pero yo los borré y creé la mía desde cero. Para obtener métricas de los contenedores Docker añade el agente al docker-compose.yml:
services:
glance-agent:
container_name: glance-agent
image: glanceapp/agent:latest
restart: unless-stopped
volumes:
- /:/host:ro
- /proc:/proc:ro
- /sys:/sys:ro
- /dev:/dev:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /etc/os-release:/etc/os-release:ro
ports:
- "27973:27973"
Accede al dashboard en http://IP-DE-TU-LXC:8080/
Resultado final
Con esto tienes el ZimaBlade completamente operativo con todos los servicios migrados:
- ✅ VM con Ubuntu 24.04 corriendo en Proxmox
- ✅ IP estática configurada
- ✅ CasaOS instalado y funcionando
- ✅ Todos los servicios migrados desde la Raspberry Pi
- ✅ Dashboard Glance para monitorización
El siguiente paso fue añadir el segundo ZimaBlade al cluster para tener alta disponibilidad y replicación — que es exactamente lo que explico en el siguiente tutorial. 👀