Independientemente de tu experiencia previa con matrices RAID, y de si has seguido todos los tutoriales de esta serie sobre RAID o no, gestionar RAID’s por software en Linux no es una tarea muy complicada una vez que te has familiarizado con el comando mdadm --manage.

Gestionar dispositivos Raid con Mdadm en Linux – Parte 9

En este tutorial repasaremos la funcionalidad que proporciona esta herramienta para que la tengas a mano cuando la necesites.

Escenario de prueba de RAID

Al igual que 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 dude en seguir adelante y añadir esta página a los marcadores de su navegador, y vamos a empezar.

Entendiendo las opciones y el uso de mdadm

Afortunadamente, mdadm proporciona una bandera built-in --help que proporciona explicaciones y documentación para cada una de las opciones principales.

Así, comencemos escribiendo:

# mdadm --manage --help

para ver cuáles son las tareas que mdadm --manage nos permitirá realizar y cómo:

Gestionar RAID con la herramienta mdadm

Como podemos ver en la imagen anterior, gestionar un array RAID implica realizar las siguientes tareas en un momento u otro:

  1. (Re)Añadir un dispositivo al array.
  2. Marcar un dispositivo como defectuoso.
  3. Retirar un dispositivo defectuoso del array.
  4. Reemplazar el dispositivo defectuoso por uno de repuesto.
  5. Iniciar un array que está parcialmente construido.
  6. Detener un array.
  7. Marcar un array como ro (sólo lectura) o rw (lectura-escritura).

Administrar dispositivos RAID con la herramienta mdadm

Tenga en cuenta que si omite la opción --manage, mdadm asume el modo de gestión de todos modos. Tenga en cuenta este hecho para evitar encontrarse con problemas más adelante.

El texto resaltado en la imagen anterior muestra la sintaxis básica para gestionar RAIDs:

# mdadm --manage RAID options devices

Ilustrémoslo con algunos ejemplos.

Ejemplo 1: Añadir un dispositivo a la matriz RAID

Típicamente añadirá un nuevo dispositivo cuando sustituya uno defectuoso, o cuando tenga una pieza de repuesto que quiera tener a mano en caso de fallo:

# mdadm --manage /dev/md0 --add /dev/sdd1
Añadir dispositivo a la matriz RAID
Ejemplo 2: Marcar un dispositivo RAID como defectuoso y retirarlo del array

Este es un paso obligatorio antes de retirar lógicamente el dispositivo del array, y más tarde de sacarlo físicamente de la máquina – en ese orden (si te saltas uno de estos pasos puedes acabar causando un daño real al dispositivo):

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

Nota cómo el dispositivo de repuesto añadido en el ejemplo anterior se utiliza para sustituir automáticamente el disco que ha fallado. No sólo eso, sino que la recuperación y reconstrucción de los datos del raid comienzan inmediatamente también:

Recuperar y reconstruir los datos del raid

Una vez que el dispositivo ha sido indicado como fallido manualmente, puede ser retirado con seguridad del array:

# mdadm --manage /dev/md0 --remove /dev/sdb1
Ejemplo 3: Volver a añadir un dispositivo que formaba parte del array y que había sido eliminado anteriormente

Hasta este punto, tenemos un array RAID 1 en funcionamiento que consta de 2 dispositivos activos: /dev/sdc1 y /dev/sdd1. Si ahora mismo intentamos volver a añadir /dev/sdb1 a /dev/md0:

# 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 el array ya está formado por el máximo número posible de unidades. Así que tenemos 2 opciones: a) añadir /dev/sdb1 como repuesto, como se muestra en el Ejemplo #1, o b) eliminar /dev/sdd1 del array y luego volver a añadir /dev/sdb1.

Elegimos la opción b), y empezaremos por detener el array para luego volver a montarlo:

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

Si el comando anterior no añade con éxito /dev/sdb1 de nuevo al array, utiliza el comando del Ejemplo #1 para hacerlo.

Aunque mdadm detectará inicialmente el dispositivo recién añadido como un repuesto, empezará a reconstruir los datos y cuando termine de hacerlo, debería reconocer el dispositivo como parte activa del RAID:

Estado de la reconstrucción del RAID
Ejemplo 4: Reemplazar un dispositivo Raid por un disco específico

Reemplazar un disco del array por uno de repuesto es tan fácil como:

# mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1
Sustituir dispositivo Raid

El resultado es que el dispositivo que sigue al interruptor --with se añade al RAID mientras que el disco indicado a través de --replace se marca como defectuoso:

Comprobar el estado de reconstrucción del Raid
Ejemplo 5: Marcar un array Raid como ro o rw

Después de crear el array, debes haber creado un sistema de ficheros sobre él y montarlo en un directorio para poder utilizarlo. Lo que probablemente no sabías entonces es que puedes marcar el RAID como ro, permitiendo así que sólo se realicen operaciones de lectura en él, o rw, para poder escribir también en el dispositivo.

Para marcar el dispositivo como ro, es necesario desmontarlo primero:

# umount /mnt/raid1# mdadm --manage /dev/md0 --readonly# mount /mnt/raid1# touch /mnt/raid1/test1
Set Permissions on Raid Array

Para configurar el array para que permita también operaciones de escritura, utiliza la opción --readwrite. Tenga en cuenta que tendrá que desmontar el dispositivo y detenerlo antes de establecer la bandera 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
Allow Read Write Permission on Raid

Summary

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 has seguido los artículos y los ejemplos proporcionados en estos artículos estás preparado para aprovechar el poder de los RAIDs por software en Linux.

Si tienes alguna pregunta o sugerencia, no dudes en ponerte en contacto con nosotros utilizando el siguiente formulario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.