🛠 NAS Samba et conteneurs Docker sur NVMe
Objetivos
Transformar el ODROID-M1 en un miniservidor doméstico: compartición Samba en el SSD NVMe (y el puerto SATA 3.0 nativo, alimentación de 5 V únicamente) más contenedores Docker. Este es el uso que hizo del M1 un éxito: NVMe rápido + Gigabit por menos de 100 $.
Material
- ODROID-M1 arrancando desde NVMe (ver el tutorial de arranque), 4 u 8 GB de LPDDR4
- SSD SATA de 2,5" (los discos de 3,5" requieren una alimentación externa: el puerto SATA solo proporciona 5 V)
- Cable de red Ethernet Gigabit, red local
Código completo
#!/usr/bin/env bash
set -euo pipefail
# 1) Disque de données formaté et monté sur /srv/nas
sudo mkfs.ext4 /dev/nvme0n1p3 || true # partition dédiée, attention aux données
sudo mkdir -p /srv/nas && sudo mount /dev/nvme0n1p3 /srv/nas
# 2) Partage Samba
sudo apt-get install -y samba
sudo smbpasswd -a projet
sudo tee -a /etc/samba/smb.conf <<'EOF'
[nas]
path = /srv/nas
writable = yes
valid users = projet
EOF
sudo systemctl restart smbd
# 3) Docker sur le même disque
curl -fsSL https://get.docker.com | sudo sh
sudo docker run -d --name watchdog --restart unless-stopped \
-v /srv/nas:/data busybox tail -f /dev/null
Verificación esperada
Desde un PC: smb://dirección-del-m1/nas se abre y permite escribir; docker ps muestra el contenedor iniciado; una transferencia de archivos alcanza el límite de Gigabit (~110 MB/s) sin que los 4 núcleos A55 se saturen.
Errores frecuentes
- Conectar un disco de 3,5" al SATA de la placa: no gira, el conector solo entrega 5 V.
- Olvidar smbpasswd después de crear el usuario del sistema: acceso denegado a pesar de la compartición.
- Ejecutar mkfs en la partición equivocada y destruir el sistema: siempre verificar con lsblk antes.
- Imágenes Docker arm64 no encontradas: verificar la arquitectura (uname -m debe devolver aarch64) y elegir imágenes multi-arquitectura.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash