Cómo administrar software RAID 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 RAID o no, la administración de RAID de software en Linux no es una tarea muy complicada una vez que se ha familiarizado con mdadm --manage comando.

En este tutorial revisaremos la funcionalidad que brinda esta herramienta para que pueda tenerla a mano cuando la necesite.

Como en el último artículo de esta serie, usaremos 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í también se aplican a otros tipos de configuraciones. Dicho esto, siéntase libre de continuar y agregar esta página a los marcadores de su navegador, y comencemos.

Comprensión de las opciones y el uso de mdadm

Afortunadamente, mdadm proporciona un indicador incorporado --help que proporciona explicaciones y documentación para cada una de las opciones principales.

Por lo tanto, 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 anterior, administrar una matriz RAID implica realizar las siguientes tareas en un momento u otro:

  1. (Re)Adding a device to the array.
  2. Mark a device as faulty.
  3. Removing a faulty device from the array.
  4. Replacing the faulty device with a spare one.
  5. Start an array that’s partially built.
  6. Stop an array.
  7. Mark an array as ro (read-only) or rw (read-write).

Administrar 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.

Por lo general, agregará un nuevo dispositivo cuando reemplace uno defectuoso, o cuando tenga una pieza de repuesto que desee tener a mano en caso de falla:

# mdadm --manage /dev/md0 --add /dev/sdd1

Este es un paso obligatorio antes de retirar lógicamente el dispositivo de la matriz y luego extraerlo 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 el dispositivo de repuesto agregado en el ejemplo anterior se usa para reemplazar automáticamente el disco fallado. No solo eso, sino que la recuperación y reconstrucción de los datos de raid también comienzan de inmediato:

Una vez que se ha indicado que el dispositivo ha fallado manualmente, se puede quitar de la matriz de forma segura:

# mdadm --manage /dev/md0 --remove /dev/sdb1

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á compuesta por el número máximo posible de unidades. Así que tenemos 2 opciones: a) agregar/dev/sdb1 como repuesto, como se muestra en el Ejemplo # 1, ob) eliminar/dev/sdd1 del arreglo y luego volver a agregar/dev/sdb1.

Elegimos la opción b), y comenzaremos por detener el arreglo para luego reensamblarlo:

# mdadm --stop /dev/md0
# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

Si el comando anterior no agrega correctamente/dev/sdb1 a la matriz, use el comando del Ejemplo # 1 para hacerlo.

Aunque mdadm inicialmente detectará 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:

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 siga el --con que se agrega al RAID mientras que el disco indicado a través de --replace se marca como defectuoso:

Después de crear la matriz, debe haber creado un sistema de archivos encima y montarlo en un directorio para poder usarlo. Lo que probablemente no sabía entonces es que puede marcar el RAID como ro, permitiendo así que solo se realicen operaciones de lectura en él, o rw, para escribir también en el dispositivo.

Para marcar el dispositivo como ro, primero debe desmontarse:

# 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, está preparado para aprovechar el poder de los RAID de software en Linux.

Si tiene alguna pregunta o sugerencia, no dude en ponerse en contacto con nosotros mediante el formulario a continuación.