Observação:

Criar uma Matriz RAID de Software no Oracle Linux

Introdução

Um Array Redundante de Discos Independentes ou dispositivo RAID é um dispositivo virtual criado a partir de dois ou mais dispositivos de bloco reais. Essa funcionalidade permite que vários dispositivos (normalmente unidades de disco ou partições de um disco) sejam combinados em um único dispositivo para conter um único sistema de arquivos. Alguns níveis de RAID incluem redundância, permitindo que o sistema de arquivos sobreviva a algum grau de falha de dispositivo.

O kernel do Oracle Linux usa o driver de Vários Dispositivos (MD) para suportar o RAID de software do Linux e permite organizar unidades de disco em dispositivos RAID e implementar diferentes níveis de RAID.

Para obter mais informações sobre esses diferentes níveis de RAID, consulte a documentação da Oracle.

Este tutorial funcionará com o utilitário MD (mdadm) para criar um dispositivo RAID1 com um disco de reserva e, em seguida, resolver uma falha no disco.

Objetivos

Pré-requisitos

Qualquer sistema Oracle Linux 8 com as seguintes configurações:

Configurar Ambiente de Laboratório

Observação: ao usar o ambiente de laboratório gratuito, consulte Conceitos Básicos do Oracle Linux Lab para obter conexão e outras instruções de uso.

  1. Se ainda não estiver conectado, abra um terminal e conecte-se via ssh a cada instância mencionada acima.

    ssh oracle@<ip_address_of_instance>
    
  2. Verifique se os volumes em blocos existem.

    sudo lsblk
    

    A saída do ambiente de laboratório gratuito deve mostrar o /dev/sda para o sistema de arquivos existente e os discos disponíveis /dev/sdb, /dev/sdc e /dev/sdd.

Instalar o Utilitário MD

  1. Se ainda não estiver disponível no sistema, instale o utilitário MD.

    Verifique se mdadm está instalado.

    sudo dnf list --installed mdadm
    

    Se não estiver instalado, instale mdadm.

    sudo dnf -y install mdadm
    

    Observação: O ambiente de laboratório gratuito já tem o utilitário MD instalado.

Crie um dispositivo RAID.

RAID1 fornece redundância de dados e resiliência gravando dados idênticos em cada unidade no array. Se uma unidade falhar, um espelho pode atender às solicitações de entrada/saída. O espelhamento é uma solução cara porque o sistema grava as mesmas informações em todos os discos do array.

Recursos do RAID1:

  1. Liste as opções disponíveis para criar um dispositivo RAID.

    O uso de mdadm --help mostra o uso da opção --create para criar um novo array de dispositivos não utilizados.

    sudo mdadm --create --help
    
  2. Crie um dispositivo RAID1 com um disco de reserva.

    sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
    
    • --create: : Cria o novo array
    • --level : O nível de ataque
    • --raid-devices : O número de dispositivos ativos no array
    • --spare-devices: O número de dispositivos de reserva (extra) no array inicial

    Neste comando, o dispositivo (array) tem o nome /dev/md0 e usa /dev/sdb e /dev/sdc para criar o dispositivo RAID1. O dispositivo /dev/sdd é usado automaticamente como um disco de reserva para se recuperar da falha de qualquer dispositivo ativo.

    Aceite o prompt Continue creating array? digitando y e acessando ENTER.

    Exemplo de Saída:

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

Criar um sistema de arquivos

  1. Crie um sistema de arquivos ext4 no dispositivo RAID e monte-o.

    sudo mkfs.ext4 -F /dev/md0
    sudo mkdir /u01
    sudo mount /dev/md0 /u01
    
    
  2. Relate o uso do disco do sistema de arquivos.

    df -h
    

    Exemplo de Saída:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    ...
    /dev/md0                     49G   53M   47G   1% /u01
    
  3. Adicione uma entrada a /etc/fstab e torne o ponto de montagem persistente entre as reinicializações.

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

Verificar Dispositivo RAID

  1. Obtenha detalhes sobre o array.

    sudo mdadm --detail /dev/md0
    

    Exemplo de Saída:

    [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
    

    Na saída, State mostra que o array está limpo e ressincronizado. O resysc sempre ocorre após a criação inicial do array ou após a recuperação. A saída mostra que a ressincronização está 59% concluída.

  2. Verifique as informações em tempo real do kernel.

    sudo cat /proc/mdstat
    

    Exemplo de Saída:

    [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>
    

Criar arquivo de configuração RAID

  1. (Opcional) Adicione a configuração RAID a /etc/mdadm.conf

    O arquivo de configuração identifica quais dispositivos são dispositivos RAID e a qual o array de um dispositivo específico pertence. Com base nesse arquivo de configuração, mdadm pode montar os arrays no momento da inicialização.

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

    Exemplo de Saída:

    [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
    

Gerenciar dispositivos RAID

Essas opções se destinam ao gerenciamento dos dispositivos de componentes em uma matriz, como adição, remoção ou falha de um dispositivo.

  1. Liste as opções disponíveis para gerenciar um dispositivo RAID.

    sudo mdadm --manage --help
    
    • --add : Hotadd dispositivos subsequentes.
    • --remove : Remove os dispositivos não ativos subsequentes.
    • --fail : Marque os dispositivos subsequentes como defeituosos.
  2. Sincronizar gravações em cache para armazenamento persistente.

    Isso é necessário antes da execução de qualquer gerenciamento de disco para garantir que todos os caches de disco sejam gravados no disco.

    sudo sync
    
  3. Marque um disco como falha.

    sudo mdadm --manage /dev/md0 --fail /dev/sdb
    
  4. Obtenha detalhes do array.

    sudo mdadm --detail /dev/md0 
    

    Exemplo de Saída:

    [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
    

    O array é marcado como degradado e recuperando. A saída também mostra que o dispositivo de reserva /dev/sdd está recriando automaticamente o array, enquanto /dev/sdb está com falha.

  5. Remova o disco com falha.

    sudo mdadm --manage /dev/md0 --remove /dev/sdb
    
  6. Substitua o disco com falha.

    Substitua o disco físico com falha do servidor por um novo.

    Observação: Não há nada a fazer para esta etapa ao usar o ambiente de laboratório gratuito. O laboratório redirecionará o dispositivo dev/sdb existente.

  7. Remova a assinatura linux_raid_member anterior.

    Uma assinatura, metadados, é um disco quando usado em um array RAID e o disco não pode ser movido para outro sistema ou reaproveitado até a remoção dessas assinaturas.

    sudo wipefs -a -f /dev/sdb
    

    Aviso: O comando wipefs é destrutivo e remove toda a tabela de partições no disco de destino (/dev/sdb) e quaisquer assinaturas.

  8. Adicione um novo disco de reserva à matriz.

    sudo mdadm --manage /dev/md0 --add /dev/sdb
    
  9. Verifique se o disco de reserva existe.

    sudo mdadm --detail /dev/md0 
    

    Na parte inferior da saída, o dispositivo /dev/sdb deve aparecer na lista com o Estado definido como spare.

Para Obter Mais Informações:

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.