RAID con mdadm
Contenido
- 1 Paso 6: Creación de un RAID
- 1.1 Paso 6.1: Añadir discos a la máquina virtual
- 1.2 Paso 6.2: Instalación de la herramienta de mdadm
- 1.3 Paso 6.3: Utilización de la herramienta de mdadm
- 1.4 Paso 6.4: Guardar la configuración del RAID
- 1.5 Paso 6.5: Particionar y formatear el RAID
- 1.6 Paso 6.6: Montar el RAID
- 1.7 Paso 6.7: Comprobar tolerancia a fallos
Paso 6: Creación de un RAID
En este apartado vamos a configurar un RAID 1 (espejo) que nos permite aumentar la fiabilidad. La idea es que si uno de los discos del RAID deja de funcionar, los datos en el sistema de fichero siguen estando disponibles con lo que disponemos de algo de tiempo para reemplazar el disco defectuoso.
Paso 6.1: Añadir discos a la máquina virtual
Como explicamos en el Paso 1, vamos a añadir a una máquina virtual 2 discos duros de 5GB cada uno.
Paso 6.2: Instalación de la herramienta de mdadm
Por defecto, esta herramienta viene instalada en el ubuntu cloud server, pero en el caso de utilizar otra distribución diferente, necesitaremos instalarla:
sudo apt install mdadmPaso 6.3: Utilización de la herramienta de mdadm
Empezamos escribiendo el comando, y luego pasamos a explicar los detalles:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/vdb /dev/vdcExplicamos los parámetros:
- --create: para crear el raid
- --verbose: nos muestra más información del proceso
- /dev/md0: El nombre del nuevo raid, normalmente se utiliza md0
- --level=1: crea un raid 1 que es el que queremos
- --raid-devices=2: cantidad de dispositivos que vamos a utilizar, 2 en nuestro caso
- /dev/vdb1: Nombre de la partición 1
- /dev/vdc1: Nombre de la partición 2
Una vez ejecutado el comando, creará el RAID 1, pasemos ahora a ver los detalles:
sudo mdadm --detail /dev/md0Esto nos mostrará la información del RAID, lo que a nosotros nos interesa son las últimas líneas:
Name : ubuntu:0 (local to host ubuntu)
UUID : e40ba520:5ed1bd37:5c818550:03a18368
Events : 17
Number Major Minor RaidDevice State
0 252 17 0 active sync /dev/vdb1
1 252 33 1 active sync /dev/vdc1Aqui vemos el UUID de nuestro RAID, y también veremos en las dos última líneas, las dos particiones, las cuales están marcadas con active sync, esto quiere decir que están activos y sincronizados. Puede que si hacemos muy rápido este comando, muestre algo diferente porque tarda un poco en sincronizar la primera vez, pero pronto estará.
Paso 6.4: Guardar la configuración del RAID
Vamos a modificar la configuración, tendremos que editar el fichero /etc/mdadm/mdadm.conf y debajo de la línea que pone '# definitions of existing MD arrays', añadir lo siguiente:
ARRAY /dev/md0 UUID=e40ba520:5ed1bd37:5c818550:03a18368Recuerda que el UUID lo puedes consultar con la orden:
mdadm --detail /dev/md0Busca el campo UUID.
Tras actualizar /etc/mdadm/mdadm.conf, tienes que invocar la siguiente orden:
update-initramfs -uEsto asegura que en el próximo arranque el RAID usa la unidad /dev/md0.
Paso 6.5: Particionar y formatear el RAID
Como explicamos en los Pasos 2, 3 y 4, vamos a particionar el disco RAID:
lsblk # comprobamos los dicos, en mi caso sería md0
sudo fdisk /dev/md0Ahora vamos a formatear la partición:
sudo mkfs -t ext4 /dev/md0p1Paso 6.6: Montar el RAID
Como previamente hemos hecho, crearemos una carpeta donde montar el RAID y lo montaremos usando el comando mount:
mkdir /home/ubuntu/datos
sudo mount /dev/md0p1 /home/ubuntu/datos
sudo chown -R ubuntu /home/ubuntu/datosAsí ya tenemos nuestro RAID montado y podemos utilizarlo, vamos a probar a escribir en él.
touch /home/ubuntu/datos/ficheroEsto está funcionando, pero como comentamos en uno de los pasos previos, el comando mount solo montará el raid temporalmente, para automatizar este montado al arrancar, tendremos que añadir la siguiente línea a /etc/fstab:
/dev/md0p1 /home/ubuntu/datos ext4 defaultsPaso 6.7: Comprobar tolerancia a fallos
Vamos a probar que sin un disco duro, todo sigue funcionando bien, ya que al tener un RAID 1 y tener los datos en espejo, no debería de haber problemas.
La siguiente orden marca el disco /dev/sdb como dañado:
mdadm --fail /dev/md0 /dev/sdbPodemos ver con la siguiente orden que el disco aparece como faulty:
mdadm --detail /dev/md0Sin embargo, podemos ver que el sistema de ficheros sigue montado y el contenido sigue estando disponible.
ls /home/ubuntu/datos/Podéis retirar definitivamente el disco defectuoso con la orden:
mdadm --remove /dev/md0 /dev/sdbPara volver a incluirlo en el RAID:
mdadm --add /dev/md0 /dev/sdbPodéis consultar que está sincronizando con la orden:
mdadm --detail /dev/md0Que mostrará el disco /dev/sdb en estado spare rebuilding y mostrará el porcentaje de sincronización.
Finalmente, para destruir el RAID, basta hacer:
mdadm --stop /dev/md0