Ir al contenido principal

Configurar RAID1 en Linux Mint 17 Qiana

Resulta que he comprado dos discos SSD de 256Gb con el objetivo de aprender a configurarlos con RAID 1 por software bajo Linux.

La distro que estoy usando ahora mismo es Linux Mint.

Hay que hacerse dos preguntas: ¿para qué queremos rendundancia? y ¿qué uso queremos dar a esa redundancia?.

La respuesta a la primera pregunta parece obvia: "para no perder datos" y en parte es cierto. Sin embargo hay connotaciones.

Como he leído en más de un artículo, RAID 1 no te protege contra el borrado accidental de datos, o corrupción de ficheros por el mal uso o por algún programa con errores. Ya que cuando se tienen dos discos con RAID 1 a ambos les ocurre lo mismo y a la vez.

Por tanto hay que tener claro que RAID 1 no debe emplearse como sustituto de las copias de seguridad. Simplemente es para darle redundancia a tu sistema. En caso de fallo de uno de los discos, puedes continuar con tu trabajo, y en cuanto puedas, reemplazar el disco roto sin haber perdido ni un solo byte.

La segunda pregunta me la hice a mi mismo después de haber configurado RAID 1 por primera vez siguiendo un tutorial.

En este tutorial se explicaba (como en muchos otros) cómo montar un sistema RAID 1 en un PC con dos discos duros. He de decir que este no es mi caso. Yo dispongo de otro SSD de 128Gb que tengo destinado a pruebas de otras distros y también una partición con windows (sí, para jugar).

El caso es que nada más terminar de configurar los discos duros, me di cuenta que había creado una partición de 500Mb en ambos discos duros para el arranque, y otra de 16Gb también en ambos discos para linux-swap.

Después de la alegría inicial de haber conseguido configurar correctamente el RAID 1, me pregunté, ¿para qué quiero redundancia en la memoria swap? y por tanto procedí a borrar la unidad raid y a reformatear los discos otra vez.

Lo que me lleva al motivo real de redactar este post: no olvidar cómo se hace.

¿Cómo montar el dos discos en espejo por software en linux?

Tras haber instalado los dos discos yo he seguido los siguientes pasos:

Usando GParted y, primero en un disco duro y luego en el otro, he creado una tabla de particiones GPT, luego una partición primaria que use todo el espacio salvo los últimos 100MB.

Dejar los últimos 100MB está recomendado (aunque no es obligatorio) en sistemas RAID1 porque los discos duros aun siendo de la misma marca y modelo pueden no tener exactamente la misma capacidad y por tanto dejando este espacio libre al final se minimiza este problema.

Como he dicho antes, yo tengo otro disco SSD que es donde voy a tener la swap y el arranque. No necesito redundancia en ninguna de las dos.

Una vez tenemos los dos discos duros con la misma configuración de particionamiento, vamos a crear el raid.

Todos los tutoriales hacen referencia a mdadm, que parece el estándar de facto en lo que a raid por software bajo linux se refiere. Lo primero que he tenido que hacer es instalarlo:
sudo apt-get install mdadm
En mi caso, los discos son /dev/sda y /dev/sdc y son los que voy a usar en el ejemplo, se puede ver fácilmente con GParted la ruta de cada dispositivo.

Para crear el raid en modo espejo el comando es:
 mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdc1
Ahora mismo y en segundo plano mdadm está sincronizando las particiones. Se puede ver el progreso con el comando watch
watch -n2 cat /proc/mdstat
También basta con esperar unos minutos y ver el fichero /proc/mdstat con cat. Cuando el proceso ha terminado la salida de ese fichero es la siguiente:
Personalities : [raid1] 
md0 : active raid1 sdc1[1] sda1[0]
      243963712 blocks super 1.2 [2/2] [UU]
unused devices: <none>

Una vez están sicronizadas las particiones, sólo queda formatear la partición raid de la siguiente manera:
mkfs.ext4 /dev/md0
Veremos cómo en unos segundos tenemos la partición lista para usar cómo nosotros queramos.

Si queremos ver el estado del raid tenemos dos comandos que nos muestran rápidamente la información:
mdadm --query /dev/md0
mdadm --detail /dev/md0
Ambos nos sirven para ver el estado en que se encuentra el sistema. Aunque todavía no he visto lo que ocurre si se rompe un disco duro, imagino que aparecerá algún tipo de alerta.

Espero que el navegante encuentre esta información de utilidad.

Entradas populares de este blog

Practica mecanografía leyendo cuentos

Hace algunos meses, puse en marcha el sitio mecanito.es, que permite practicar mecanografía con algunos cuentos infantiles. Lo hice pensando sobretodo en los más pequeños. Por eso he tratado de mantenerlo lo más simple posible. ¡No dudes en echarle un ojo! puedes acceder desde este enlace .

Mejorar la salida de var_dump con xdebug

Hola, hoy quiero hablar sobre una característica que desconocía de xdebug y que la encuentro bastante útil. Se trata del "embellecedor" de var_dump, es una directiva que se configura en el fichero php.ini y que si se activa, mejora notablemente la salida que genera la función var_dump. La directiva es: xdebug.overload_var_dump = 1 Adjunto una captura de pantalla de un var_dump(): Seguro que muchos ya lo conocíais, pero me ha parecido interesante y quería compartirlo. Si alguno no conocía la extensión xdebug, debería probarla. Para más información: http://xdebug.org