Búsqueda de sitios web

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:

  1. (Re) Agregar un dispositivo a la matriz.
  2. Marcar un dispositivo como defectuoso.
  3. Eliminación de un dispositivo defectuoso de la matriz.
  4. Reemplazo del dispositivo defectuoso por uno de repuesto.
  5. Inicie una matriz que esté parcialmente construida.
  6. Detener una matriz.
  7. 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.