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.
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:
Para crear el raid en modo espejo el comando es:
Una vez están sicronizadas las particiones, sólo queda formatear la partición raid de la siguiente manera:
Si queremos ver el estado del raid tenemos dos comandos que nos muestran rápidamente la información:
Espero que el navegante encuentre esta información de utilidad.
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 mdadmEn 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/sdc1Ahora mismo y en segundo plano mdadm está sincronizando las particiones. Se puede ver el progreso con el comando watch
watch -n2 cat /proc/mdstatTambié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/md0Veremos 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/md0Ambos 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.