La protección y redundancia de nuestros datos en un factor básico. Además de seguir una política proactiva en cuanto a backups (regla 1,2,3) es también muy importante para asegurar la continuidad de negocio establecer sistemas para minimizar riesgos debidos a fallos de hardware y que en caso que se produzcan provoquen el menor impacto posible en nuestros sistemas. En el Cybertruco de hoy vamos a ver como podemos montar de manera sencilla un RAID por software en nuestros servidores Linux.

server hard drives

 

En cualquier servidor, NAS, etc... pero también porque no en nuestros ordenadores personales la opción de disponer de un RAID es muy interesante, teniendo en cuenta que el precio de los discos duro, los quebraderos de cabeza y tiempo de recuperación que podemos ahorrarnos y el hecho de que lo podemos montar por software olvidándonos de necesitar hardwares especiales.

Como crear un RAID por software en Linux

Para este ejemplo utilizaremos 2 discos que hemos añadido a nuestro sistema, /dev/sdb y /dev/sdc y con ellos crearemos un RAID 1 en espejo. Podríamos usar el mismo procedimiento y añadir tres discos para obtener un RAID 5 o cuatro por ejemplo para un RAID 10.. Pero los pasos serían los mismos.

Crear particiones

El primer paso es tener listas las particiones que utilizaremos para nuestro RAID, con el comando fdisk podemos crear las particiones fácilmente

sudo fdisk /dev/sdb/
sudo fdisk /dev/sdc/

Por defecto al crear una nueva partición en ambos, en los diferentes menús de opciones por defecto fdisk ya ofrecerá ocupar todo el espacio disponible. Podemos sin embargo utilizar solo una parte, etc..

Crear y formatear RAID

Una vez listas las particiones, vamos a crear con el comando mdadm el raid en si mismo, con el comando siguiente

sudo mdadm --create /dev/md0 --level=1 --raid-disks=2 /dev/sdb /dev/sdc

Indicamos en level que va a ser un raid 1 y con el parámetro -raid-disks indicamos los discos que serán miembros del mismo. Ahora, con mkfs le damos formato al RAID, en este caso usaremos ext4.

sudo mkfs.ext4 /dev/md0

Verificar estado del RAID

Ya tenemos creado el RAID con nuestros dos discos y hemos creado el sistema de ficheros en el mismo, ahora podemos comprobar el estado del mismo con el siguiente comando. En caso que todo esté ok veremos que el campos state nos lo indica con el valor “clean”

mdadm --detail /dev/md0

Guardar detalles del RAID en mdadm.conf

Una vez tenemos el RAID listo, tenemos aún que almacenar los detalles del mismo en diferentes ficheros para tenerlo disponible en futuros reinicios y otras sesiones. Primero, almacenaremos los datos del array en el fichero /etc/mdadm.conf. Esto no es obligatorio pero a nivel de gestión es muy recomendable ya que en el fichero tendremos detalles de los diferentes RAIDs presentes en el sistema y en caso que estos por algún motivo estuvieran desmontados no tendríamos que ir investigando por los diferentes discos.

Para obtener la información del RAID y ponerla en /etc/mdadm.conf utilizaremos el siguiente comando

sudo bash -c “mdadm –detail –scan >> /etc/mdadm.conf”

En caso de disponer de varios RAID, el anterior comando nos generaría una línea por cada uno de ellos de tipo “ARRAY” y tendríamos que añadir manualmente al inicio del fichero una línea de tipo “DEVICE” para indicar en ella todos los discos que forman parte de alguno de los RAIDs

Montar el RAID

Para montar el RAID, necesitamos como siempre un punto de montaje que en este caso será por ejemplo /myraid, vamos a crearlo con el siguiente comando

sudo mkdir /myraid

Y montamos el RAID en el punto de montaje con el siguiente comando

sudo mount /dev/md0 /myraid

Añadir automontaje en fstab

Por último y siempre que queramos disponer de nuestro RAID directamente al arrancar sistema, añadiremos la siguiente línea al fichero /etc/fstab. En esta linea le estamos diciendo al sistema, que automonte el dispositivo /dev/md0 (nuestro raid) en el punto de montaje /myraid, el tipo de sistema de ficheros, que utilice los valores por defecto para ext4 y con un 0 para que no lo incluya en tareas de backups y finalmente un 2 para que compruebe el sistema de ficheros con fsck pero sin darle una prioridad especial.

/dev/md0 /myraid ext4 defaults 0 2

Espero que os sea útil, en un próximo cybertruco, veremos cómo podemos monitorizar el estado de nuestro RAID.