Nota:

Creación de una matriz RAID de software en Oracle Linux

Introducción

Una matriz redundante de discos independientes o dispositivo RAID es un dispositivo virtual creado a partir de dos o más dispositivos de bloques reales. Esta funcionalidad permite combinar varios dispositivos (normalmente unidades de disco o particiones de un disco) en un único dispositivo para alojar un único sistema de archivos. Algunos niveles de RAID incluyen redundancia, lo que permite que el sistema de archivos sobreviva algún grado de fallo del dispositivo.

El núcleo de Oracle Linux utiliza el controlador de varios dispositivos (MD) para admitir RAID de software de Linux y permite organizar unidades de disco en dispositivos RAID e implementar diferentes niveles de RAID.

Para obtener más información sobre estos diferentes niveles de RAID, consulte la documentación de Oracle.

Este tutorial funcionará con la utilidad MD (mdadm) para crear un dispositivo RAID1 con un repuesto y, a continuación, solucionar un fallo de disco.

Objetivos

Requisitos

Cualquier sistema Oracle Linux 8 con las siguientes configuraciones:

Configuración del entorno del laboratorio

Nota: Al utilizar el entorno de prácticas gratuitas, consulte Aspectos básicos de las prácticas de Oracle Linux para obtener información sobre la conexión y otras instrucciones de uso.

  1. Si aún no está conectado, abra un terminal y conéctese mediante ssh a cada instancia mencionada anteriormente.

    ssh oracle@<ip_address_of_instance>
    
  2. Verifique que los volúmenes en bloque existen.

    sudo lsblk
    

    La salida del entorno de prácticas libres debe mostrar /dev/sda para el sistema de archivos existente y los discos disponibles /dev/sdb, /dev/sdc y /dev/sdd.

Instalar la utilidad MD

  1. Si aún no está disponible en el sistema, instale la utilidad MD.

    Compruebe si mdadm está instalado.

    sudo dnf list --installed mdadm
    

    Si no está instalado, instale mdadm.

    sudo dnf -y install mdadm
    

    Nota: El entorno de prácticas libres ya tiene instalada la utilidad MD.

Cree un dispositivo RAID.

RAID1 proporciona redundancia y resiliencia de datos mediante la escritura de datos idénticos en cada unidad de la matriz. Si una unidad falla, un reflejo puede satisfacer las solicitudes de E/S. La creación de reflejos es una solución costosa porque el sistema escribe la misma información en todos los discos de la matriz.

Características de RAID1:

  1. Enumere las opciones disponibles para crear un dispositivo RAID.

    El uso de mdadm --help muestra utilizar la opción --create para crear una nueva matriz a partir de dispositivos no utilizados.

    sudo mdadm --create --help
    
  2. Cree un dispositivo RAID1 con un disco de repuesto.

    sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
    
    • --create:: crea la nueva matriz
    • --level: nivel de redada
    • --raid-devices: número de dispositivos activos en la matriz
    • --spare-devices: número de dispositivos de repuesto (extra) en la matriz inicial

    En este comando, el dispositivo (matriz) se denomina /dev/md0 y utiliza /dev/sdb y /dev/sdc para crear el dispositivo RAID1. El dispositivo /dev/sdd se utiliza automáticamente como reserva para recuperarse del fallo de cualquier dispositivo activo.

    Para aceptar el indicador Continue creating array?, escriba y y pulse ENTER.

    Resultado de ejemplo:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
    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
    mdadm: size set to 52395008K
    Continue creating array? y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    

Creación de un sistema de archivos

  1. Cree un sistema de archivos ext4 en el dispositivo RAID y móntelo.

    sudo mkfs.ext4 -F /dev/md0
    sudo mkdir /u01
    sudo mount /dev/md0 /u01
    
    
  2. Informar el uso del disco del sistema de archivos.

    df -h
    

    Resultado de ejemplo:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    ...
    /dev/md0                     49G   53M   47G   1% /u01
    
  3. Agregue una entrada a /etc/fstab y haga que el punto de montaje sea persistente tras los reinicios.

    echo "/dev/md0    /data01    ext4    defaults    0 0" | sudo tee -a /etc/fstab > /dev/null
    

Verificación del dispositivo RAID

  1. Obtiene detalles de la matriz.

    sudo mdadm --detail /dev/md0
    

    Resultado de ejemplo:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0
    /dev/md0:
               Version : 1.2
         Creation Time : Sat Jun  4 20:08:32 2022
            Raid Level : raid1
            Array Size : 52395008 (49.97 GiB 53.65 GB)
         Used Dev Size : 52395008 (49.97 GiB 53.65 GB)
          Raid Devices : 2
         Total Devices : 3
           Persistence : Superblock is persistent
    
           Update Time : Sat Jun  4 20:28:58 2022
                 State : clean, resyncing 
        Active Devices : 2
       Working Devices : 3
        Failed Devices : 0
         Spare Devices : 1
    
    Consistency Policy : resync
    
         Resync Status : 59% complete
    
                  Name : ol-mdadm-2022-06-04-180415:0  (local to host ol-mdadm-2022-06-04-180415)
                  UUID : f6c35144:66a24ae9:5b96e616:f7252a9f
                Events : 9
    
        Number   Major   Minor   RaidDevice State
           0       8       16        0      active sync   /dev/sdb
           1       8       32        1      active sync   /dev/sdc
    
           2       8       48        -      spare   /dev/sdd
    

    En la salida, State muestra que la matriz está limpia y se está resincronizando. El resysc siempre se produce después de la creación inicial de la matriz o después de la recuperación. La salida muestra que la resincronización está completa al 59%.

  2. Compruebe la información en tiempo real del núcleo.

    sudo cat /proc/mdstat
    

    Resultado de ejemplo:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ cat /proc/mdstat 
    Personalities : [raid1] 
    md0 : active raid1 sdd[2](S) sdc[1] sdb[0]
          52395008 blocks super 1.2 [2/2] [UU]
          [==================>..]  resync = 92.2% (48341824/52395008) finish=2.7min speed=24677K/sec
          
    unused devices: <none>
    

Crear archivo de configuración de RAID

  1. (Opcional) Agregue la configuración de RAID a /etc/mdadm.conf

    El archivo de configuración identifica qué dispositivos son dispositivos RAID y a qué matriz pertenece un dispositivo específico. Según este archivo de configuración, mdadm puede ensamblar las matrices en el momento del inicio.

    sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf
    

    Resultado de ejemplo:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf
    ARRAY /dev/md/0  metadata=1.2 UUID=f6c35144:66a24ae9:5b96e616:f7252a9f name=ol-mdadm-2022-06-04-180415:0
       spares=1
    

Gestionar Dispositivos RAID

Estas opciones son para gestionar los dispositivos de componentes dentro de una matriz, como agregar, eliminar o fallar un dispositivo.

  1. Enumere las opciones disponibles para gestionar un dispositivo RAID.

    sudo mdadm --manage --help
    
    • --add: agrega en caliente dispositivos posteriores.
    • --remove: elimine los dispositivos no activos posteriores.
    • --fail: marca los dispositivos posteriores como defectuosos.
  2. Sincronice las escrituras en caché con el almacenamiento persistente.

    Esto es necesario antes de ejecutar cualquier gestión de discos para garantizar que todas las cachés de discos se escriban en el disco.

    sudo sync
    
  3. Marcar un disco como fallido.

    sudo mdadm --manage /dev/md0 --fail /dev/sdb
    
  4. Obtener detalles de matriz.

    sudo mdadm --detail /dev/md0 
    

    Resultado de ejemplo:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0 
    /dev/md0:
               Version : 1.2
         Creation Time : Sat Jun  4 20:08:32 2022
            Raid Level : raid1
            Array Size : 52395008 (49.97 GiB 53.65 GB)
         Used Dev Size : 52395008 (49.97 GiB 53.65 GB)
          Raid Devices : 2
         Total Devices : 3
           Persistence : Superblock is persistent
    
           Update Time : Sat Jun  4 21:34:19 2022
                 State : clean, degraded, recovering 
        Active Devices : 1
       Working Devices : 2
        Failed Devices : 1
         Spare Devices : 1
    
    Consistency Policy : resync
    
        Rebuild Status : 1% complete
    
                  Name : ol-mdadm-2022-06-04-180415:0  (local to host ol-mdadm-2022-06-04-180415)
                  UUID : f6c35144:66a24ae9:5b96e616:f7252a9f
                Events : 19
    
        Number   Major   Minor   RaidDevice State
           2       8       48        0      spare rebuilding   /dev/sdd
           1       8       32        1      active sync   /dev/sdc
    
           0       8       16        -      faulty   /dev/sdb
    

    La matriz se marca como degraded y recovering. La salida también muestra que el dispositivo de repuesto /dev/sdd está reconstruyendo automáticamente la matriz, mientras que /dev/sdb tiene fallos.

  5. Elimine el disco fallido.

    sudo mdadm --manage /dev/md0 --remove /dev/sdb
    
  6. Sustituir el disco con fallos.

    Sustituya el disco físico fallido del servidor por uno nuevo.

    Nota: No hay nada que hacer para este paso al utilizar el entorno de prácticas libres. El laboratorio volverá a utilizar el dispositivo dev/sdb existente.

  7. Elimine la firma linux_raid_member anterior.

    Una firma, metadatos, se escribe en un disco cuando se utiliza en una matriz RAID, y el disco no se puede mover a otro sistema o volver a representar hasta eliminar esas firmas.

    sudo wipefs -a -f /dev/sdb
    

    Advertencia: El comando wipefs es destructivo y elimina toda la tabla de particiones del disco de destino (/dev/sdb) y las firmas.

  8. Agregue un nuevo repuesto a la matriz.

    sudo mdadm --manage /dev/md0 --add /dev/sdb
    
  9. Verifique que el disco de repuesto exista.

    sudo mdadm --detail /dev/md0 
    

    En la parte inferior de la salida, el dispositivo /dev/sdb debe aparecer en la lista con State establecido en spare.

Para obtener más información:

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.

Para obtener documentación sobre el producto, visite Oracle Help Center.