Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Gestión de RAID a través de MDADM.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2013 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector, hace mal uso de éstos.

Introducción

MDADM (Multiple Device Administrator) es un conjunto de herramientas que son utilizadas en GNU/Linux para la gestión de RAID (Redundant Array of Independent Disks, que se traduce como conjunto redundante de discos independientes) administrado a través de software, distribuido bajo los términos de la Licencia Pública General de GNU versión 2 (GNU/GPLv2).

El RAID por software permite:

  • Una solución de RAID de muy bajo costo pues prescinde del uso de costosas tarjetas RAID y unidades de almacenamiento especiales y que carece de restricciones que regularmente imponen los fabricantes de dispositivos de hardware privativos.
  • Proceso de reconstrucción de arreglos en subprocesos.
  • Configuración basada sobre el núcleo del sistema.
  • Permite portar de manera transparente los arreglos entre sistemas GNU/Linux sin necesidad de reconstruir éstos.
  • Mejor aprovechamiento de los recursos del sistema pues la reconstrucción de los arreglos se hace utilizando recursos libres.
  • Soporte para unidades de almacenamiento con capacidad para realizar cambios en caliente (hot-swap).
  • Detección automática del número de núcleos del microprocesador a fin de aprovechar mejor los recursos del sistema.

URL: kernel.org/pub/linux/utils/raid/mdadm/.

Tipos de arreglos soportados.

MDADM permite configurar los siguientes arreglos RAID:

  • RAID0: Incrementa el índice de transmisión del sistema (throughput) mediante el uso de varias unidades de disco en paralelo. El rendimiento del sistema con la configuración RAID0 es superior a la que proporcionan las configuraciones RAID1 o RAID5, pero se incrementa la posibilidad de pérdida de datos porque no hay forma de recuperar o reconstruir los datos almacenados en cualquier disco que falle. Requiere 2 discos.

  • RAID1: Espejo. El arreglo más lento de todos. Requiere 2 unidades de almacenamiento.

  • RAID4: Igual que RAID0 pero con una unidad de almacenamiento extra para mejorar el desempeño a través de la paridad y al mismo tiempo lograr redundancia. Requiere 4 unidades de almacenamiento.

  • RAID5: Igual a RAID4 pero con una paridad distribuida en todas la unidades de almacenamiento. Requiere un mínimo de 3 unidades de almacenamiento.

  • RAID6: Igual que RAID5 pero con dos paridades. Requiere un mínimo de 4 unidades de almacenamiento.

  • RAID10: Se le conoce mejor como RAID1+0. Combina RAID1 y RAID0. Requiere un mínimo de 4 unidades de almacenamiento.

Nota.

Un RAID0+1 (también llamado RAID01 y que es muy diferente a RAID1 y totalmente opuesto a RAID1+0) es un arreglo usado para replicar y compartir datos entre varios discos. Un RAID0+1 es un espejo de divisiones. Es decir, dos arreglos RAID0 en el nivel inferior y un arreglo RAID1 en el nivel superior. Una falla de disco en RAID0+1 resulta en un una falla completa de uno de los arreglos RAID0 en el nivel inferior y degradación del arreglo en RAID1 en el nivel superior.

RAID10 es lo contrario a un RAID0+1, pues los niveles RAID que lo forman se invierten: un RAID10 es una división de espejos. Es decir un RAID0 en el nivel superior y dos arreglos RAID1 en el nivel inferior. Una falla de disco sólo degrada uno de los espejos del nivel inferior sin afectar el RAID0 en el nivel superior, salvo por el desempeño que se pierde por la falta de paridad.


MDADM permite también configurar los siguientes arreglos No-RAID:

  • LINEAR: Concatena unidades de almacenamiento en un sólo dispositivo md.

  • MULTIPATH: permite múltiples rutas con falla en un sólo dispositivo.

  • FAULTY: Un dispositivo que emula varios escenarios de falla de disco. Sólo se utiliza para pruebas y desarrollo.

  • CONTAINER: Grupo de dispositivos que son gestionados como un único dispositivo sobre el cual se pueden crear dispositivos RAID.

Equipamiento lógico necesario.

El paquete mdadm viene instalado de modo predeterminado en ALDOS, Fedora™, CentOS y Red Hat™ Enterprise Linux, pues se trata de un paquete obligatorio. Si por algún motivo estuviese ausente, instale o actualice el paquete mdadm.

yum -y install mdadm

Reinicie el sistema sólo en caso de que el paquete hubiera estado ausente de la instalación, pues debe iniciar junto con el servicio mdmonitor.

Procedimientos.

Se asume que se han añadido varias unidades de almacenamiento en el sistema. Todas las unidades de almacenamiento que formen parte de un mismo arreglo siempre deben ser idénticas en capacidad.

Para listar las capacidades la primera unidad de almacenamiento libre y disponible (/dev/sdb) ejecute lo siguiente.

fdisk -l /dev/sdb

La salida debe ser similar a la siguiente:

Disco /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Para listar las capacidades la siguiente unidad de almacenamiento (/dev/sdc) ejecute lo siguiente

fdisk -l /dev/sdc

La salida debe ser similar a la siguiente:

Disco /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Compruebe que las unidades involucradas son exactamente de la misma capacidad.

Crear un arreglo tipo RAID1.

Ejecute lo siguiente para crear dispositivo RAID1, indicando el número de dispositivos que lo integrarán y las unidades de almacenamiento a utilizar.

mdadm --create /dev/md0 --level=1 \
    --raid-devices=2 /dev/sdc /dev/sdb

La salida siempre devuelve una advertencia que recuerda que se debe evitar utilizar dispositivos RAID con MDADM para /boot porque muchos gestores de arranque carecen de soporte para metadatos versión 1.x y que se recomienda usar --metadata=0.90. Pase por alto esta advertencia porque —al menos para los escenarios descritos en este documento— el arreglo sólo se utilizará para almacenar datos.

mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array?

Responda pulsado y para proceder.

Observe la información del arreglo:

mdadm --detail --scan

La salida de lo anterior puede ser similar a la siguiente.

ARRAY /dev/md0 metadata=1.2 name=0 UUID=ae6c23ea:c62d0933:7e89faee:1174c7d2

Ejecute lo siguiente para guardar la información del arreglo recién creado en el archivo /etc/mdadm.conf

mdadm --detail --scan >> /etc/mdadm.conf

Espere a que el arreglo se construya. Se puede ver el estado de progreso ejecutando lo siguiente:

mdadm --detail /dev/md0

Lo anterior puede devolver algo similar a lo siguiente:

/dev/md0:
        Version : 1.2
  Creation Time : Tue Jun 11 22:25:30 2013
     Raid Level : raid1
     Array Size : 8384448 (8.00 GiB 8.59 GB)
  Used Dev Size : 8384448 (8.00 GiB 8.59 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Tue Jun 11 22:25:45 2013
          State : active, resyncing 
 Active Devices : 2
Working Devices : 2
    Persistence : Superblock is persistent

         Layout : near=2
     Chunk Size : 512K

  Resync Status : 44% complete

           Name : 1
           UUID : 3ae6c23ea:c62d0933:7e89faee:1174c7d2
         Events : 8

    Number   Major   Minor   RaidDevice State
       0       8       32        0      active sync   /dev/sdc
       1       8       16        1      active sync   /dev/sdb

Mientras se va construyendo el arreglo, observe que el valor de State es active, resyncing. El valor de Resync Status informará respecto del porcentaje de progreso de la operación. El proceso puede demorar desde unos pocos minutos hasta varias horas dependiendo el tamaño de las unidades de almacenamiento utilizadas.

Cuando el arreglo esté terminado el valor mostrado por State debe ser sólo active. Ejemplo:

/dev/md0:
        Version : 1.2
  Creation Time : Tue Jun 11 22:25:30 2013
     Raid Level : raid1
     Array Size : 8384448 (8.00 GiB 8.59 GB)
  Used Dev Size : 8384448 (8.00 GiB 8.59 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Tue Jun 11 22:26:18 2013
          State : active 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : 0
           UUID : ae6c23ea:c62d0933:7e89faee:1174c7d2
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       32        0      active sync   /dev/sdc
       1       8       16        1      active sync   /dev/sdb

Puede verificarse un resumen del estado a través de /proc/mdstat.

cat /proc/mdstat

Lo anterior puede devolver una salida similar a la siguiente:

Personalities : [raid1] 
md0 : active raid1 sdb[1] sdc[0]
      8384448 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>

A partir de este momento puede utilizar el dispositivo /dev/md0 como cualquier otra unidad de almacenamiento. Ejemplo:

mkfs.ext4 /dev/md0

mkdir /datos00

mount /dev/md0 /datos00

df -h

umount /datos00

Lo más recomendado es utilizar el nuevo dispositivo RAID para crear volúmenes lógicos.

Primero hay que crear una unidad física en el dispositivo RAID. Ejecute lo siguiente:

pvcreate /dev/md0

Lo anterior puede devolver una salida similar a la siguiente:

  Physical volume "/dev/md0" successfully created

Visualice el nuevo volumen físico ejecutando lo siguiente:

pvscan

Lo anterior puede devolver una salida similar a la siguiente:

  PV /dev/sda2   VG VolGroup        lvm2 [39,51 GiB / 0    free]
  PV /dev/md0                       lvm2 [8,00 GiB]
  Total: 2 [47,50 GiB] / in use: 1 [39,51 GiB] / in no VG: 1 [8,00 GiB]

Ejecute lo siguiente para generar un nuevo grupo de volumen:

vgcreate VGDatos00 /dev/md0

Lo anterior puede devolver una salida similar a la siguiente:

  Volume group "VGDatos00" successfully created

Ejecute lo siguiente para visualizar el nuevo grupo de volumen:

vgscan

Lo anterior puede devolver una salida similar a la siguiente:

  Reading all physical volumes.  This may take a while...
  Found volume group "VolGroup" using metadata type lvm2
  Found volume group "VGDatos00" using metadata type lvm2

Genere un volumen lógico denominado LVDatos00 dentro del grupo de volumen VGDatos00 utilizando cualquier porcentaje del espacio disponible. Se recomienda dejar siempre al menos un 10% libre para poder asignarlo sólo cuando sea necesario.

lvcreate -l 90%FREE VGDatos00 -n LVDatos00

Lo anterior puede devolver una salida similar a la siguiente:

  Logical volume "LVDatos00" created

Ejecute lo siguiente para visualizar el nuevo volumen lógico:

lvscan

Lo anterior puede devolver una salida similar a la siguiente:

  ACTIVE            '/dev/VolGroup/lv_root' [38,04 GiB] inherit
  ACTIVE            '/dev/VolGroup/lv_swap' [1,47 GiB] inherit
  ACTIVE            '/dev/VGDatos00/LVDatos00' [7,19 GiB] inherit

Ejecute lo siguiente para asignar formato al nuevo volumen lógico:

mkfs.ext4 /dev/VGDatos00/LVDatos00

Lo anterior puede devolver una salida similar a la siguiente:

mke2fs 1.41.12 (17-May-2010)
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
Stride=0 blocks, Stripe width=0 blocks
471424 nodos-i, 1885184 bloques
94259 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=1933574144
58 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8128 nodos-i por grupo
Respaldo del superbloque guardado en los bloques: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Escribiendo las tablas de nodos-i: hecho                           
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Este sistema de ficheros se revisará automáticamente cada 23 montajes o
180 días, lo que suceda primero.  Utilice tune2fs -c o -i para cambiarlo.

Ejecute lo siguiente para generar un punto de montaje para asignar al nuevo volumen lógico:

mkdir -p /datos00

Ejecute lo siguiente para montar el nuevo volumen lógico en el nuevo directorio:

mount /dev/VGDatos00/LVDatos00 /datos00/

Ejecute lo siguiente para visualizar el sistema de archivos en el nuevo volumen lógico que se ha añadido en el sistema.

df -h

Lo anterior puede devolver una salida similar a la siguiente:

S.ficheros            Size  Used Avail Use% Montado en
/dev/mapper/VolGroup-lv_root
                       38G  4,3G   32G  13% /
tmpfs                 376M     0  376M   0% /dev/shm
/dev/sda1             485M   66M  394M  15% /boot
/dev/mapper/VGDatos00-LVDatos00
                      7,1G  145M  6,6G   3% /datos00

Para que el punto de montaje sea permanente y sea montado automáticamente con el siguiente inicio del sistema, edite el archivo /etc/fstab:

vi /etc/fstab

Añada la siguiente línea:

/dev/mapper/VGDatos00-LVDatos00	/datos00	ext4	defaults	1 2

Guarde y cierre el archivo. Verifique la configuración desmontando el volumen lógico y volviendo a montar éste del siguiente modo:

umount /datos00

mount /datos00

Lo anterior sólo debe devolver el símbolo de sistema.

Reinicie el sistema para verificar que todo quedó correctamente. Si el sistema reinició correctamente significa que esta primera parte del procedimiento se ha concluido el procedimiento.

Si más adelante necesita utilizar el espacio libre disponible en la unidad física, puede asignarlo con el sistema en funcionamiento y la partición montada sólo ejecutando lo siguiente:

lvextend -l +100%FREE /dev/mapper/VGDatos00-LVDatos00

resize2fs /dev/mapper/VGDatos00-LVDatos00

Compruebe el espacio disponible ejecutando lo siguiente:

df -h

Para este escenario, que está lejos de ser el más óptimo, si necesita hacer crecer el sistema de archivos se puede crear otro arreglo en RAID1 y repetir el procedimiento para configurar éste como unidad física, luego añadirlo a grupo de volumen y crecer el volumen lógico LVDatos00 para incrementar la capacidad de almacenamiento. Sólo revise el siguiente ejemplo y en su lugar realice el procedimiento descrito más adelante para crear un RAID10.

mdadm --create /dev/md1 --level=1 \
    --raid-devices=2 /dev/sde /dev/sdd

mdadm --detail --scan >> /etc/mdadm.conf

vi /etc/mdadm.conf

mdadm --detail

pvcreate /dev/md1

vgextend VGDatos00 /dev/md1

lvextend -l +90%FREE /dev/mapper/VGDatos00-LVDatos00

resize2fs /dev/mapper/VGDatos00-LVDatos00

Crear un arreglo tipo RAID10.

Un RAID10, con o sin LVM, es más eficiente en cuanto a rendimiento que un RAID1+LVM pues el rendimiento sigue siendo el de un RAID1 (espejo sin paridad).

Para un RAID10 requerirá un mínimo de 4 unidades de almacenamiento. Para el ejemplo a continuación se utilizarán 6 unidades de almacenamiento, donde se utilizarán 4 unidades activas en el arreglo y utilizarán 2 unidades de repuesto, las cuales serán utilizados automáticamente en cuanto falle cualquier otra unidad de almacenamiento. Tome en consideración que MDADM es incapaz de hacer crecer los arreglos en RAID10 y sólo permite agregar o reemplazar unidades de almacenamiento.

Ejecute lo siguiente para apagar el sistema:

poweroff

Añada 6 unidades de almacenamiento idénticas.

Encienda de nuevo el sistema.

Ejecute lo siguiente para generar un arreglo en RAID10 utilizando las primeras 4 unidades de almacenamiento recién agregadas.

mdadm  --create /dev/md1 --level=raid10 --raid-devices=4 \
    /dev/sdd /dev/sde /dev/sdf /dev/sdg

Espere a que el arreglo se construya. Se puede ver el estado de progreso ejecutando lo siguiente:

mdadm --detail /dev/md1

Lo anterior puede devolver una salida similar a la siguiente:

/dev/md1:
        Version : 1.2
  Creation Time : Tue Jun 11 23:30:10 2013
     Raid Level : raid10
     Array Size : 16768000 (15.99 GiB 17.17 GB)
  Used Dev Size : 8384000 (8.00 GiB 8.59 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Tue Jun 11 23:30:49 2013
          State : active, resyncing 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

  Resync Status : 44% complete

           Name : 1
           UUID : 342944f9:8d1f5acf:2d72653b:a1f2f253
         Events : 8

    Number   Major   Minor   RaidDevice State
       0       8       48        0      active sync   /dev/sdd
       1       8       64        1      active sync   /dev/sde
       2       8       80        2      active sync   /dev/sdf
       3       8       96        3      active sync   /dev/sdg

Continúe hasta que se haya completado por completo la construcción del arreglo.

Tras unos minutos, ejecute lo siguiente para verificar que haya concluido el proceso de construcción del arreglo.

mdadm --detail /dev/md1

Lo anterior puede devolver una salida similar a la siguiente:

/dev/md1:
        Version : 1.2
  Creation Time : Tue Jun 11 23:30:10 2013
     Raid Level : raid10
     Array Size : 16768000 (15.99 GiB 17.17 GB)
  Used Dev Size : 8384000 (8.00 GiB 8.59 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Tue Jun 11 23:31:36 2013
          State : active 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : 1
           UUID : 342944f9:8d1f5acf:2d72653b:a1f2f253
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       48        0      active sync   /dev/sdd
       1       8       64        1      active sync   /dev/sde
       2       8       80        2      active sync   /dev/sdf
       3       8       96        3      active sync   /dev/sdg

Ejecute lo siguiente para agregar dos unidades de almacenamiento como repuestos:

mdadm --add /dev/md1 /dev/sdh
mdadm --add /dev/md1 /dev/sdi

Ejecute lo siguiente para observar el estado del arreglo y verificar que se han añadido todas las unidades de almacenamiento de repuesto inactivas.

mdadm --detail /dev/md1

Lo anterior puede devolver una salida similar a la siguiente:

/dev/md1:
        Version : 1.2
  Creation Time : Tue Jun 11 23:30:10 2013
     Raid Level : raid10
     Array Size : 16768000 (15.99 GiB 17.17 GB)
  Used Dev Size : 8384000 (8.00 GiB 8.59 GB)
   Raid Devices : 4
  Total Devices : 6
    Persistence : Superblock is persistent

    Update Time : Tue Jun 11 23:34:56 2013
          State : active 
 Active Devices : 4
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 2

         Layout : near=2
     Chunk Size : 512K

           Name : 1
           UUID : 342944f9:8d1f5acf:2d72653b:a1f2f253
         Events : 20

    Number   Major   Minor   RaidDevice State
       0       8       48        0      active sync   /dev/sdd
       1       8       64        1      active sync   /dev/sde
       2       8       80        2      active sync   /dev/sdf
       3       8       96        3      active sync   /dev/sdg

       4       8      112        -      spare   /dev/sdh
       5       8      128        -      spare   /dev/sdi

Guarde la información del arreglo recién creado en el archivo /etc/mdadm.conf.

mdadm --detail --scan >> /etc/mdadm.conf

Edite el archivo /etc/mdadm.conf y quite las líneas repetidas.

vi /etc/mdadm.conf

Este paso es importante, pues puede hacer que los arreglos repetidos sean imposibles de utilizar y el sistema sea incapaz de iniciar normalmente.

Una vez que esté todo configurado, proceda a crear otro volumen lógico:

pvcreate /dev/md1

pvscan

vgcreate VGDatos01 /dev/md1

vgscan

lvcreate -l 90%FREE VGDatos01 -n LVDatos01

lvscan

mkfs.ext4 /dev/mapper/VGDatos01-LVDatos01

mkdir -p /datos01

mount /dev/mapper/VGDatos01-LVDatos01 /datos01

df -h

umount /datos01

Edite el archivo /etc/fstab:

vi /etc/fstab

Añada la siguiente línea:

/dev/mapper/VGDatos01-LVDatos01	/datos01	ext4	defaults	1 2

Reinicie el sistema para verificar que todo quedó configurado correctamente.

Si el sistema reinició correctamente significa que se ha concluido el procedimiento.

Eliminar una unidad de almacenamiento de un arreglo.

Para eliminar una unidad de almacenamiento por falla o simplemente para probar, ejecute:

mdadm /dev/md1 --fail /dev/sdd --remove /dev/sdd

Lo anterior puede devolver una salida similar a la siguiente:

mdadm: set /dev/sdd faulty in /dev/md1
mdadm: hot removed /dev/sdd from /dev/md1

Ejecute lo siguiente para observar el detalle del arreglo donde observará que se reconstruye el arreglo con la unidad de almacenamiento de repuesto:

mdadm --detail /dev/md1

Lo anterior puede devolver una salida similar a la siguiente donde se podrá observar que en el estado se reporta arreglo limpio, degradado pero en recuperación:

/dev/md1:
        Version : 1.2
  Creation Time : Tue Jun 11 23:30:10 2013
     Raid Level : raid10
     Array Size : 16768000 (15.99 GiB 17.17 GB)
  Used Dev Size : 8384000 (8.00 GiB 8.59 GB)
   Raid Devices : 4
  Total Devices : 5
    Persistence : Superblock is persistent

    Update Time : Tue Jun 11 23:48:05 2013
          State : clean, degraded, recovering 
 Active Devices : 3
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 2

         Layout : near=2
     Chunk Size : 512K

 Rebuild Status : 67% complete

           Name : 1
           UUID : 342944f9:8d1f5acf:2d72653b:a1f2f253
         Events : 36

    Number   Major   Minor   RaidDevice State
       5       8      128        0      spare rebuilding   /dev/sdi
       1       8       64        1      active sync   /dev/sde
       2       8       80        2      active sync   /dev/sdf
       3       8       96        3      active sync   /dev/sdg

       4       8      112        -      spare   /dev/sdh

Ejecute lo siguiente para añadir al arreglo la unidad anteriormente eliminada, simulando que se trata de una unidad de almacenamiento nueva:

mdadm --zero-superblock /dev/sdd
mdadm --add /dev/md1 /dev/sdd

Lo anterior puede devolver una salida similar a la siguiente:

mdadm: added /dev/sdd

Ejecute lo siguiente para comprobar que la unidad de almacenamiento se ha agregado como unidad de repuesto:

mdadm --detail /dev/md1 

Lo anterior puede devolver una salida similar a la siguiente:

/dev/md1:
        Version : 1.2
  Creation Time : Tue Jun 11 23:30:10 2013
     Raid Level : raid10
     Array Size : 16768000 (15.99 GiB 17.17 GB)
  Used Dev Size : 8384000 (8.00 GiB 8.59 GB)
   Raid Devices : 4
  Total Devices : 6
    Persistence : Superblock is persistent

    Update Time : Tue Jun 11 23:50:09 2013
          State : clean 
 Active Devices : 4
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 2

         Layout : near=2
     Chunk Size : 512K

           Name : 1
           UUID : 342944f9:8d1f5acf:2d72653b:a1f2f253
         Events : 46

    Number   Major   Minor   RaidDevice State
       5       8      128        0      active sync   /dev/sdi
       1       8       64        1      active sync   /dev/sde
       2       8       80        2      active sync   /dev/sdf
       3       8       96        3      active sync   /dev/sdg

       4       8      112        -      spare   /dev/sdh
       6       8       48        -      spare   /dev/sdd

Eliminar un arreglo del sistema.

Para eliminar un arreglo, primero desmonte el sistema de archivos. En el siguiente ejemplo realizará con el arreglo configurado como /dev/md0.

umount /datos00

Edite el archivo /etc/fstab:

vi /etc/fstab

Elimine la linea que corresponda al sistema de archivos contenido en el arreglo.

Si fuese el caso, se debe eliminar el volumen lógico que pudisese contener. Ejemplo:

lvremove LVDatos00

Ejecute lo siguiente para eliminar el grupo de volumen:

vgremove VGDatos00

Ejecute lo siguiente para detener el arreglo:

mdadm --stop /dev/md0

Edite el archivo /etc/mdadm.conf:

vi /etc/mdadm.conf

Elimine la línea que correspondía al arreglo /dev/md0.

Verifique que se ha eliminado el arreglo ejecutando:

mdadm --detail --scan

Ejecute lo siguiente para poder volver a utilizar las unidades de almacenamiento saludables para añadirlas a otro arreglo o bien como unidades físicas en un volumen lógico:

mdadm --zero-superblock /dev/sdb
mdadm --zero-superblock /dev/sdc

Otras alternativas para gestionar MDADM.

Cabe señalar que Webmin incluye una excelente herramienta de administración para arreglos de disco con MDADM.

Si utiliza CentOS o Red Hat™ Enterprise Linux, descargue el archivo de configuración del almacén YUM de AlcanceLibre.org ejecutando lo siguiente:

wget http://www.alcancelibre.org/al/server/AL-Server.repo \
    -O /etc/yum.repos.d/AL-Server.repo

Instale el paquete ejecutando lo siguiente

yum -y install webmin

Una vez concluida la instalación del paquete, para poder acceder hacia la interfaz de Webmin es necesario abrir en el muro cortafuegos el acceso hacia el puerto 10000 por TCP. Ejecute lo siguiente para modificar el cortafuegos predeterminado del sistema:

iptables -A INPUT -m state --state NEW -m tcp -p tcp \
--dport 10000 -j ACCEPT

Ejecute lo siguiente para guardar los cambios en la configuración del muro cortafuegos:

service iptables save

Acceda hacia https://nombre.dominio.tld:10000/ utilizando cualquier navegador para interfaz gráfica. Ingrese como root y descubra que todos los procedimientos descritos en este documento se pueden hacer más fácilmente desde el módulo Linux RAID de la sección de Hardware de Webmin. El objetivo de este documento es que usted conozca cómo funciona todo por debajo de lo que puede hacer Webmin y pueda prescindir de dicha interfaz en cualquier circunstancia que así lo requiera.

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Última Edición: 17/06/2013, 17:30|Hits: 34,412 Ver la versión para imprimir