Observação:
- Este tutorial está disponível em um ambiente de laboratório gratuito fornecido pela Oracle.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir o laboratório, substitua esses valores pelos específicos do seu ambiente de nuvem.
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
- Crie um dispositivo RAID1 com um disco de reserva
- Recuperar um dispositivo RAID1 com falha
Pré-requisitos
Qualquer sistema Oracle Linux 8 com as seguintes configurações:
- um usuário não raiz com permissões sudo
- volumes em blocos adicionais para uso com o Linux Software RAID
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.
-
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>
-
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
-
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:
- Inclui redundância.
- Usa dois ou mais discos com zero ou mais discos de reserva.
- Mantém um espelho exato dos dados gravados em cada disco.
- Os dispositivos de disco devem ter o tamanho igual.
- Se um dispositivo de disco for maior que outro, o dispositivo RAID terá o tamanho do menor disco.
- Permite que até n-1 dispositivos de disco sejam removidos ou falhem enquanto todos os dados permanecem intactos.
- Desde que o sistema sobreviva a uma falha e discos de reserva estão disponíveis, a recuperação do espelho RAID1 acontece automaticamente e imediatamente após a detecção da falha.
- O desempenho de gravação mais lento ocorre em comparação com um único disco devido à gravação dos mesmos dados em vários discos do conjunto de espelhos.
-
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
-
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?
digitandoy
e acessandoENTER
.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
-
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
-
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
-
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
-
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. -
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
-
(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.
-
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.
-
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
-
Marque um disco como falha.
sudo mdadm --manage /dev/md0 --fail /dev/sdb
-
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. -
Remova o disco com falha.
sudo mdadm --manage /dev/md0 --remove /dev/sdb
-
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. -
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. -
Adicione um novo disco de reserva à matriz.
sudo mdadm --manage /dev/md0 --add /dev/sdb
-
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.
Build a Software RAID Array on Oracle Linux
F58428-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.