Diciembre
2009
Montando un NAS con Debian Lenny (Intel SS4200)
Mi último «capricho» ha sido comprarme un NAS para tenerlo como servidor de almacenamiento y aplicaciones en mi pequeña red de casa.
Después de buscar entre muchos modelos y ver las desventajas de los más pequeños, basados en micros ARM (lentos) me decidí por el Intel SS4200, tuvo que ver que habíua bastante documentación de montarlo desde el blog de binarito.
El NAS es un poco más grande de lo que me esperaba (lo que está encima es un disco USB de 3.5") pero si lo vemos por dentro es bastante lógico ya que tiene 4 discos y la refrigeración es a través del flujo desde la parte delantera.
Instalación
- Como el NAS no tiene tarjeta gráfica hay varias opciones de instalarlo, la que aparentemente es la única es mediante un cable serie DB9-IDC10 con el esquema de conexión DTK/Intel. (howto instalación por cable serie)
- Los que conocemos un poco linux sabemos que se puede instalar un sistema operativo en un disco duro conectado en una máquina y si lo conectamos a otra y hacemos unos pocos cambios, la instalación sirve y funciona correctamente, así que esta fue mi opción, el primer disco duro lo conecté a un equipo normal e hice uns instalación de Debian lenny básica, el único detalle a tener en cuenta es hacer que en cada reinicio no se guarde la MAC de la tarjeta de red, para eso edité /etc/rc.local añadiendo esta línea
cat /dev/null > /etc/udev/rules.d/70-persistent-net.rules
antes del exit 0. Esto se puede quitar una vez tengamos en disco en el NAS. - La instalación es muy simple, he usado una partición primaria de unos 10GB para el sistema y el resto lo he dejado como Linux Raid Autodetect. Hay que configurarle una IP fija en /etc/network/interfaces e instalar ssh para poder entrar una vez que lo pinchemos en el NAS.
- Desmontamos el disco del PC y conectamos el disco (en la ranura 1) en el NAS, conectando el resto de los discos.
- Conectamos cable de red y alimentación y encendemos, puede que en el primer arranque no carguepero después de un botonazo sí lo hace (quizás la primera vez que la BIOS ve los discos no sabe desde donde arrancar)
- Una vez que lo tenemos funcionando nos conectamos por ssh y empezamos a instalar aplicaciones...
- ssmtp - reemplazará a exim4 y nos permitirá enviar avisos a la cuenta que indiquemos, yo lo he configurado para que me mande a mi cuenta de gmail cuando pase algo
- mdadm y lvm2 - Para montar el RAID y luego crear los volúmenes, con unos discos tan grandes es recomendable usar algo como esto... para montar el RAID5 he ejecutado lo siguiente:
Clonamos las particiones a todos los discossfdisk -d /dev/sda > sda.pf sfdisk /dev/sdb < sda.pf sfdisk /dev/sdc < sda.pf sfdisk /dev/sdd < sda.pf
Creamos el RAIDmdadm --create /dev/md0 --level=5 -n 4 /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2 pvcreate /dev/md0 vgcreate vg0 /dev/md0 lvcreate --name mirror --size 350G vg0 lvcreate --name descargas --size 400G vg0 mkfs.ext3 -m 0 -L mirror /dev/vg0/mirror mkfs.ext3 -m 0 -L descargas /dev/vg0/descargas
Añadir al /etc/fstab/dev/mapper/vg0-mirror /mnt/mirror ext3 rw,noatime 0 0 /dev/mapper/vg0-descargas /mnt/descargas ext3 rw,noatime 0 0
- smartmontools - Monitoriza la salud de los discos y avisa por mail si algo empieza a fallar.
- hddtemp - Es imprescindible que los discos esten lo más frescos posible, ahora mismo estan los 4 entre 36 y 42
- ntpdate - para que se sincronice la hora (cada día desde el crontab)
- rsync - impresincible para copiar datos de manera eincremental, hacer backups, etc...
- módulo ss4200 - es un módulo del kernel para controlar a través de /sys el estado de los leds frontales, de hecho me he hecho un script que por defecto apaga todos y los enciende si pasa algo raro. En la web, explican como parchear el kernel pero no es necesario ya que se puede compilar como módulo y las cabeceras de Debian (linux-headers-2.6.26-2-686)
- No tenía claro si usar RAID5 o un doble RAID1 con la solución mixta RAID10, en la doc del paquete mdadm no recomiendan usar RAID5 aunque no acabo de tener muy claros los motivos.
- Una de las cosas que he probado es instalar Xvfb (virtual framebuffer X server) para tener un programa gráfico arrancado (lease estilo JDownloader o un cliente bittorrent) aquí el script.
- Este es el script para activar los leds (cada 10 minutos desde el cron) en caso de emergencia.
Resumiendo, tener un NAS no es algo que necesite todo el mundo, pero en mi caso (uso portátil en lugar de sobremesa desde hace muchos años) los discos USB no estan hechos para funcionar 365/24 y ya me han petado unos cuantos.