Esta guía fue creada originalmente por ZaNgA. Agradecemos sinceramente su contribución.
Este tutorial le guía a través de la configuración de un ZimaBoard como un servidor de laboratorio doméstico compacto y fiable o servidor edge:
- Instalar la última versión de Ubuntu LTS (minimal) en el ZimaBoard
- Configurar dos discos SATA en un espejo RAID‑1 usando
mdadm - Instalar y validar el Docker Engine
La guía asume familiaridad básica con la línea de comandos de Linux y usa Ubuntu Server LTS (minimal, sin interfaz gráfica).
1. Requisitos Previos
Hardware
- ZimaBoard (cualquier modelo)
- Teclado USB + monitor HDMI o acceso serie/SSH
- Memoria USB (≥ 4 GB)
- 2× discos SATA (SSD o HDD, mismo tamaño recomendado)
- Cables de alimentación y datos SATA (incluidos con el ZimaBoard)
Software
- Ubuntu Server latest LTS ISO (minimal)
- Herramienta de creación: Balena Etcher, Rufus, o
dd
2. Descargar Ubuntu Server LTS (Minimal)
- Vaya a la página oficial de descargas de Ubuntu
- Descargue Ubuntu Server LTS (por ejemplo, 24.04 LTS)
- No se necesitan paquetes adicionales — el ISO del servidor ya es minimal
3. Crear el USB Arrancable
En Linux:
sudo dd if=ubuntu-24.04-live-server-amd64.iso of=/dev/sdX bs=4M status=progress oflag=sync |
Reemplace /dev/sdX con su dispositivo USB.
En Windows/macOS:
- Use Balena Etcher o Rufus
4. Instalar Ubuntu en el ZimaBoard
- Inserte la memoria USB en el ZimaBoard
- Enciéndalo y presione DEL o F7 para entrar a la BIOS
- Configure el USB como primer dispositivo de arranque
- Guarde y reinicie
Opciones del Instalador
- Idioma y teclado: según preferencia
- Red: DHCP (predeterminado)
- Proxy: dejar vacío
- Mirror: mirror predeterminado de Ubuntu
Configuración de Almacenamiento (Importante)
- Seleccione Disposición de almacenamiento personalizada
- Instale Ubuntu solo en el eMMC interno
- NO formatee aún los discos SATA
Disposición típica:
/en eMMC- Sin swap (opcional)
Proceda con la instalación y reinicie.
5. Activar Ubuntu Pro (Plan Gratuito)
Ubuntu Pro proporciona mantenimiento de seguridad extendido (ESM) y características adicionales de endurecimiento. Para uso personal y a pequeña escala, Ubuntu Pro es gratuito para hasta 5 máquinas.
5.1 Obtener un Token Gratuito de Ubuntu Pro
- Visite el sitio web de Ubuntu Pro
- Inicie sesión con una cuenta Ubuntu One
- Copie su token de Ubuntu Pro
5.2 Adjuntar Ubuntu Pro
En el ZimaBoard:
sudo pro attach <YOUR_TOKEN_HERE> |
Verificar estado:
pro status |
Debería ver esm-infra y esm-apps activados.
5.3 Activar Servicios Recomendados
sudo pro enable esm-infra esm-apps |
Opcional (recomendado para servidores):
sudo pro enable livepatch |
Livepatch permite correcciones de seguridad del kernel sin reiniciar.
5.4 Actualizar el Sistema
sudo apt update && sudo apt full-upgrade -y |
6. Actualizar el Sistema Base
Inicie sesión y actualice:
sudo apt update && sudo apt full-upgrade -y |
7. Identificar los Discos SATA
Listar dispositivos de bloque:
lsblk -o NAME,SIZE,TYPE,MODEL |
Ejemplo:
sda 1.8T disk Samsung_SSD |
Vamos a espejar /dev/sda y /dev/sdb.
8. Instalar Herramientas RAID
sudo apt install -y mdadm |
Durante la instalación, elija Sí cuando se le pregunte si desea iniciar arrays RAID automáticamente.
9. Crear el Espejo RAID‑1
Limpiar Firmas Existentes (Recomendado)
sudo wipefs -a /dev/sda |
Crear el Array
sudo mdadm --create /dev/md0 \ |
Monitorear el progreso de sincronización:
cat /proc/mdstat |
10. Crear un Sistema de Archivos
Formatear el array (ejemplo: ext4):
sudo mkfs.ext4 /dev/md0 |
Crear un punto de montaje:
sudo mkdir -p /srv/data |
Montarlo:
sudo mount /dev/md0 /srv/data |
11. Persistir la Configuración RAID
Guardar configuración de mdadm
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf |
Persistir el Montaje
Obtener UUID:
blkid /dev/md0 |
Editar /etc/fstab:
sudo nano /etc/fstab |
Agregar:
UUID=<uuid> /srv/data ext4 defaults,nofail 0 2 |
Probar:
sudo umount /srv/data |
12. Instalar Docker Engine
Instalar Dependencias
sudo apt install -y ca-certificates curl gnupg |
Agregar Clave GPG de Docker
sudo install -m 0755 -d /etc/apt/keyrings |
Agregar Repositorio de Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ |
Instalar Docker
sudo apt update |
13. Configuración Posterior a la Instalación de Docker
Permitir que su usuario ejecute Docker sin sudo:
sudo usermod -aG docker $USER |
Probar Docker:
docker run --rm hello-world |
14. (Opcional) Usar Almacenamiento RAID para Docker
Recomendado para contenedores y volúmenes:
sudo systemctl stop docker |
Editar configuración de Docker:
sudo nano /etc/docker/daemon.json |
Agregar:
{ |
Reiniciar Docker:
sudo systemctl start docker |
15. Verificaciones de Salud y Mantenimiento
Verificar estado del RAID:
cat /proc/mdstat |
Activar monitoreo SMART:
sudo apt install -y smartmontools |
16. Conceptos Básicos de Docker Compose y Ejemplos
Docker Compose es la forma recomendada de definir y gestionar aplicaciones multi-contenedor en su ZimaBoard.
Instalar Plugin de Docker Compose
Si siguió la sección Docker Engine anterior, el plugin Compose ya está instalado.
Verificar:
docker compose version |
17.1 Crear una Estructura de Directorios Estándar
Usar el array RAID‑1 para datos persistentes es la mejor práctica:
sudo mkdir -p /srv/data/compose |
Cada aplicación obtiene su propia carpeta:
/srv/data/compose/ |
17.2 Ejemplo 1: Portainer (Interfaz de Gestión Docker)
Crear directorio:
mkdir -p /srv/data/compose/portainer |
Crear docker-compose.yml:
version: "3.8" |
Iniciar:
docker compose up -d |
Acceder:
http://<zimaboard-ip>:9000 |
17.3 Ejemplo 2: Servidor de Archivos Samba (en Almacenamiento RAID)
Crear directorio:
mkdir -p /srv/data/compose/samba |
Crear carpeta compartida:
mkdir -p /srv/data/share |
docker-compose.yml:
version: "3.8" |
Iniciar:
docker compose up -d |
17.4 Ejemplo 3: Uptime Kuma (Monitoreo de Servicios)
Crear directorio:
mkdir -p /srv/data/compose/uptime-kuma |
docker-compose.yml:
version: "3.8" |
Acceder:
http://<zimaboard-ip>:3001 |
17.5 Ejemplo 4: Monitoreo Básico (cAdvisor + Node Exporter)
Crear directorio:
mkdir -p /srv/data/compose/monitoring |
docker-compose.yml:
version: "3.8" |
17.6 Comandos Comunes de Docker Compose
# Iniciar servicios |
18. Resultado
Ahora tiene:
- Ubuntu LTS minimal en eMMC
- Un array RAID‑1 en espejo para seguridad de datos
- Un Docker Engine completamente funcional