Cómo administrar RAID de software en Linux con la herramienta 'Mdadm' - Parte 9
Independientemente de su experiencia previa con matrices RAID y de si siguió todos los tutoriales de esta serie de RAID o no, administrar RAID de software en Linux no es una tarea muy complicada una vez que se haya familiarizado con mdadm --manage
comando.
En este tutorial revisaremos la funcionalidad que proporciona esta herramienta para que puedas tenerla a mano cuando la necesites.
Escenario de prueba RAID
Como en el último artículo de esta serie, utilizaremos para simplificar una matriz RAID 1 (espejo) que consta de dos discos de 8 GB (/dev/sdb y /dev/sdc) y un dispositivo de repuesto inicial (/dev/sdd) para ilustrar, pero los comandos y conceptos enumerados aquí se aplican a otros tipos de configuraciones también. Dicho esto, no dudes en seguir adelante y agregar esta página a los favoritos de tu navegador y comencemos.
Comprender las opciones y el uso de mdadm
Afortunadamente, mdadm proporciona un indicador integrado --help
que proporciona explicaciones y documentación para cada una de las opciones principales.
Entonces, comencemos escribiendo:
mdadm --manage --help
para ver cuáles son las tareas que mdadm --manage
nos permitirá realizar y cómo:
Como podemos ver en la imagen superior, administrar una matriz RAID implica realizar las siguientes tareas en un momento u otro:
- (Re) Agregar un dispositivo a la matriz.
- Marcar un dispositivo como defectuoso.
- Eliminación de un dispositivo defectuoso de la matriz.
- Reemplazo del dispositivo defectuoso por uno de repuesto.
- Inicie una matriz que esté parcialmente construida.
- Detener una matriz.
- Marque una matriz como ro (solo lectura) o rw (lectura-escritura).
Gestión de dispositivos RAID con la herramienta mdadm
Tenga en cuenta que si omite la opción --manage
, mdadm asume el modo de administración de todos modos. Tenga esto en cuenta para evitar tener problemas en el futuro.
El texto resaltado en la imagen anterior muestra la sintaxis básica para administrar RAID:
mdadm --manage RAID options devices
Ilustremos con algunos ejemplos.
Ejemplo 1: agregar un dispositivo a la matriz RAID
Normalmente agregará un nuevo dispositivo cuando reemplace uno defectuoso o cuando tenga una pieza de repuesto que desee tener a mano en caso de una falla:
mdadm --manage /dev/md0 --add /dev/sdd1
Ejemplo 2: marcar un dispositivo RAID como defectuoso y eliminarlo de la matriz
Este es un paso obligatorio antes de retirar lógicamente el dispositivo de la matriz y luego sacarlo físicamente de la máquina, en ese orden (si omite uno de estos pasos, puede terminar causando daños reales al dispositivo):
mdadm --manage /dev/md0 --fail /dev/sdb1
Observe cómo se utiliza el dispositivo de repuesto agregado en el ejemplo anterior para reemplazar automáticamente el disco fallido. No sólo eso, sino que la recuperación y reconstrucción de los datos del raid también comienzan inmediatamente:
Una vez que se haya indicado manualmente que el dispositivo falló, se puede eliminar de forma segura de la matriz:
mdadm --manage /dev/md0 --remove /dev/sdb1
Ejemplo 3: volver a agregar un dispositivo que formaba parte del conjunto que se había eliminado anteriormente
Hasta este punto, tenemos una matriz RAID 1 en funcionamiento que consta de 2 dispositivos activos: /dev/sdc1 y /dev/sdd1. Si intentamos volver a agregar /dev/sdb1 a /dev/md0 ahora mismo:
mdadm --manage /dev/md0 --re-add /dev/sdb1
nos encontraremos con un error:
mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible
porque la matriz ya está formada por el máximo número posible de unidades. Entonces tenemos 2 opciones: a) agregar /dev/sdd1 como repuesto, como se muestra en el Ejemplo #1, o b) eliminar /dev/sdd1 de la matriz y luego vuelva a agregar /dev/sdb1.
Elegimos la opción b), y comenzaremos deteniendo el array para posteriormente volver a montarlo:
mdadm --stop /dev/md0
mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1
Si el comando anterior no agrega correctamente /dev/sdb1 a la matriz, utilice el comando del Ejemplo n.º 1 para hacerlo.
Aunque mdadm detectará inicialmente el dispositivo recién agregado como repuesto, comenzará a reconstruir los datos y, cuando termine, debería reconocer que el dispositivo es una parte activa del RAID:
Ejemplo 4: reemplazar un dispositivo Raid con un disco específico
Reemplazar un disco en la matriz por uno de repuesto es tan fácil como:
mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1
Esto da como resultado que el dispositivo que sigue el interruptor --with
se agregue al RAID mientras que el disco indicado mediante --replace
se marca como defectuoso:
Ejemplo 5: marcar una matriz Raid como ro o rw
Después de crear la matriz, debe haber creado un sistema de archivos encima y haberlo montado en un directorio para poder usarlo. Lo que probablemente no sabías entonces es que puedes marcar el RAID como ro, permitiendo así que solo se realicen operaciones de lectura en él, o rw, para poder escribir. al dispositivo también.
Para marcar el dispositivo como ro, primero es necesario desmontarlo:
umount /mnt/raid1
mdadm --manage /dev/md0 --readonly
mount /mnt/raid1
touch /mnt/raid1/test1
Para configurar la matriz para permitir también operaciones de escritura, use la opción --readwrite
. Tenga en cuenta que deberá desmontar el dispositivo y detenerlo antes de configurar el indicador rw:
umount /mnt/raid1
mdadm --manage /dev/md0 --stop
mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1
mdadm --manage /dev/md0 --readwrite
touch /mnt/raid1/test2
Resumen
A lo largo de esta serie hemos explicado cómo configurar una variedad de matrices RAID de software que se utilizan en entornos empresariales. Si siguió los artículos y los ejemplos proporcionados en estos artículos, estará preparado para aprovechar el poder de los RAID de software en Linux.
Si tiene preguntas o sugerencias, no dude en contactarnos mediante el siguiente formulario.