RAID-raspberry-pi

NAS casero avanzado disco RAID en Raspberry Pi

Por si no lo conocéis, un RAID es una batería de discos duros que se comportan como un conjunto unificado según los configuremos. Hay dos necesidades que llevan a esta configuración:

  1. Obtener más velocidad con los RAID de tipo 0
  2. Obtener más seguridad frente a fallos con los tipo 1

Y luego combinaciones tener velocidad y seguridad, siempre a costa de perder espacio de almacenamiento.

El tipo 0 lo que hace es grabar los datos repartidos bajo su criterio entre varios discos duros que nosotros solo veremos como uno de mayor tamaño. Así se simplifica su manejo y se gana en velocidad ya que se va escribiendo por 2 o más vías al mismo tiempo. El tamaño del conjunto se suma a partir del disco más pequeño que usemos: 60Gb + 80Gb = 60+60 = 120Gb RAID 0. La desventaja es que si perdemos un disco, lo perdemos todo.

NAS Casero lista completa

  1. Formatear disco en ext4 : preparando un NAS o servidor casero 1
  2. Añadir disco de forma permanente : preparando un NAS o servidor casero
    2
  3. Instalar SAMBA : preparando un NAS o servidor casero 3
  4. Optimizar SAMBA : preparando un NAS o servidor casero y 4
  5. NAS casero avanzado disco RAID en Raspberry Pi

Todo lo necesario lo he sacado de esta excelente guía: RAID por software en Debian 7 con mdadm. Yo solo la he aplicado a la Raspberry Pi. Para empezar, entramos a la Raspberry por Terminal

Solo he considerado dos opciones. También podréis usar más con un HUB USB alimentado, pero en ese caso todo pasa por una sola conexión USB lo cual es un cuello de botella considerable.

Para el Hardware del RAID os hará falta:

Para el Software del RAID os hará falta:

Y a continuación instalamos el software para esto: mdadm

sudo apt-get install mdadm

pr02

seguramente nos pida instalar más paquetes que son necesarios según cada caso, le decimos que

pr03

Al instalarse nos preguntará dos cosas muy importantes, en el caso de la Raspberry Pi aún más:

  1. La primera es si queremos que el software RAID arranque al principio de todo para instalar ahí el sistema operativo. A lo que tenemos que contestar que no, pero que si leemos el texto se hace indicando: none
  2. Y luego nos pregunta que si cuando haya discos RAID en el equipo los ponga en funcionamiento con esta configuración de forma automática y en este caso le decimos que sí:

pr04

pr05

pr06

pr07

A continuación termina de instalarse todo.

pr08

Comprobamos los discos disponibles en la Raspberry Pi usando la orden: lsblk

pr09

Ahora conectamos los discos que van a formar parte del RAID y volvemos a comprobar con lsblk cual es su nombre

pr10

En este caso son sdb y sdc . Y el comando para crear un solo disco de tipo RAID 0 es:

sudo mdadm --create /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc

pr11

Esto significa:

  • sudo mdadm –create >> crear un disco RAID
  • /dev/md0 >> será el nombre del disco RAID
  • -l 0 >> esto indica que es un RAID de nivel 0
  • -n 2 >> esto indica que vamos a usar 2 discos
  • /dev/sdb /dev/sdc >> estos son los nombre de los discos a incluir en el RAID

Al ejecutar el comando me advierte que los discos tienen otro formato y que se perderán. Respondemos que sí, o sea: Yes

pr12

pr13

Comprobamos que el disco ya está creado con lsblk

pr14

A partir de aquí todo es igual que lo expliqué en la guía para montar un NAS casero. Ahora formateamos el nuevo disco: sudo mke2fs -t ext4 /dev/md0

pr15

Y ahora lo preparamos todo para poder usarlo:

sudo mkdir /media/raid
sudo chmod 777 /media/raid/
sudo mount /dev/md0 /media/raid/

pr16

Ya lo podemos utilizar y vemos como aparece con: df -h Este comando nos muestra df = disk free en formato -h = humano, o sea, para ver que espacio libre tenemos en los discos.

pr17

Para terminar vamos a incluirlo de forma permanente en el sistema, como también comenté la guía de NAS casero, pero que repito aquí. Primero buscamos el código único del nuevo disco con sudo blkid

pr18

Y ahora editamos el archivo fstab recordando que:

Cthulhu Warning Sign-100

OJO QUE PODEMOS LIARLA, VAMOS A IR CON CUIDADO AL TOCAR ESTE FICHERO

Para ello ejecutamos el editor de texto nano con la siguiente orden: sudo nano -w /etc/fstab

pr19

En principio podría valer con las opciones estándar defaults, pero para acelerar más este disco pensado para aprovechar la velocidad de 2 puertos USB a la vez, he puesto esta configuración:

UUID=el-que-tenga-tu-raid /media/raid ext4 rw,noauto,noatime,nodiratime 0 0

  • UUID=el-que-tenga-tu-raid >> obtenido mediante el comando blkid
  • /media/raid >> la carpeta que creamos para montar el disco
  • ext4 >> el tipo de formateo del disco
  • rw >> permiso de escritura y lectura
  • noauto >> no se monta automáticamente
  • noatime >> no cambia la fecha de los archivos
  • nodiratime >> no cambia la fecha de directorios
  • 0 >> no incluir en copia de tipo dump
  • 0 >> no detenerse en caso de fallo
  • Jose Maria Diaz Gorriz

    El problema de usar la RPi como servidor de archivos es que la interfaz de red no te dejara mucho mas de 4MBps. Yo en cada tengo problemas para ver pelis usando una RPi como NAS y otra con XBMC si las pelis son en FullHD y necesitan mucho ancho de banda.

    • Es que no se pueden pedir peras al olmo.
      Si quieres full HD en esa configuración te tienes que ir a una combinación de: Cubietrcuk o OLinuXino Lime2 con Gigabit Ethernet para el NAS y una Vero para XBMC https://getvero.tv/ o una CuboxTV http://www.solid-run.com/cuboxtv/
      Pero todo eso es más caro que las dos Raspberry Pi.

  • miquel

    he creado un RAID tipo 1 con dos memorias USB con formato NTFS.

    para probar si funciona, le quito una de las memorias con :

    mdadm /dev/md0 –fail /dev/sdc –remove /dev/sdc

    extraigo la memoria y la pongo en un ordenador para ver que datos tiene, y esta vacía…
    no debería tener los mismos datos que la otra memoria, al estar en mirror??

  • Anto Villarejo

    ¿Se podría realizar el proceso (RAID 0) con discos que están llenos?

    Yo ya tengo montado un NAS con un RPi y 3 discos. ¿Podría montarlo como un sólo disco sin pérdida de datos?

    • No es posible, y menos si es RAID 0 que para ganar velocidad reparte los ficheros e incluso un mismo fichero a través de los 2 o más discos disponibles. OJO que RAID 0 es más rápido pero más peligroso, si se estropea uno de los discos se pierden los datos que haya en todos, aunque los otros no estén rotos.

  • Pingback: NAS caseros : Raspberry Pi 2 vs otras opciones | Raspberry para torpes()

  • Pingback: Two excellent tutorials for make a NAS and have Time Machine in your Raspberry Pi – Apartments Smart()