Guia de tecnologias

Testando e substituindo um disco falho em RAID1

4 min read Administração Linux Atualizado 09 Oct 2025
Substituir disco RAID1: guia prático
Substituir disco RAID1: guia prático

Visão geral

Este guia mostra, passo a passo, como testar a substituição de um disco em um array RAID1 usando mdadm, sfdisk e GRUB. Definição rápida: RAID1 espelha dados em dois discos para tolerância a falhas.

Importante: verifique sempre os nomes dos dispositivos (/dev/sda, /dev/sdb). Um erro pode causar perda de dados.

Simular a falha do disco

Não importa se você escolhe /dev/sda ou /dev/sdb — neste exemplo assumimos que /dev/sdb falhou.

Opcionalmente, desligue a máquina e remova fisicamente o disco, ou remova-o (soft) com mdadm:

mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb2
mdadm --manage /dev/md2 --fail /dev/sdb3

Remova as partições do array (opcionalmente):

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb3

Para desligar o sistema:

shutdown -h now

Coloque o novo disco no lugar (ou reconecte o disco substituído) e inicialize. O sistema deve iniciar normalmente mesmo com o array degradado.

Verificar estado do array

Execute:

cat /proc/mdstat

Exemplo de saída (array degradado):

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0]
      104320 blocks [2/1] [U_]

md1 : active raid1 sda2[0]
      513984 blocks [2/1] [U_]

md2 : active raid1 sda3[0]
      4618560 blocks [2/1] [U_]

unused devices: 
[root@server1 ~]#

Também é útil verificar as partições com fdisk:

fdisk -l

(Para brevidade, omitimos aqui a saída completa do fdisk mostrada no exemplo original.)

Copiar a tabela de partições do disco saudável

Copie a tabela de partições de /dev/sda para /dev/sdb:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Se houver erro sobre assinatura MBR, tente com –force:

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

Exemplo de execução bem-sucedida resultará em novas partições em /dev/sdb (sdb1, sdb2, sdb3).

Limpar metadados RAID e adicionar o novo disco

Remova quaisquer restos de um array anterior no disco novo:

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3

Adicione as partições ao array:

mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
mdadm -a /dev/md2 /dev/sdb3

Verifique novamente o progresso de sincronização:

cat /proc/mdstat

Exemplo mostrando recuperação em andamento:

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
      104320 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
      513984 blocks [2/2] [UU]

md2 : active raid1 sdb3[2] sda3[0]
      4618560 blocks [2/1] [U_]
      [===>.................]  recovery = 15.4% (715584/4618560) finish=4.9min speed=13222K/sec

unused devices: 
[root@server1 ~]#

Aguarde até que todos os arrays mostrem [UU] indicando que ambos os membros estão presentes.

Reinstalar o GRUB em ambos os discos

Após a sincronização, reinstale o carregador de boot em cada disco para garantir que o sistema inicialize mesmo com um disco ausente. No prompt do grub legacy (exemplo):

grub

No prompt do GRUB, execute:

root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit

Observação: em sistemas modernos com grub2, use grub-install /dev/sda e grub-install /dev/sdb conforme a distribuição.

Verificação final

Confirme que todos os arrays estão saudáveis:

cat /proc/mdstat

Todos os md* devem mostrar [UU]. Reinicie se desejar testar o boot com um disco removido.

Critérios de aceitação

  • O sistema inicializa com o disco novo instalado.
  • Os arrays md0, md1 e md2 mostram [UU] em /proc/mdstat.
  • GRUB foi instalado em ambos os discos e o sistema inicializa se um disco for removido.
  • Não há dados corrompidos nos sistemas de arquivos montados.

Checklist rápido (antes, durante e depois)

  • Antes: backup recente e snapshot, identificar dispositivos (/dev/sda, /dev/sdb).
  • Durante: falhar o dispositivo correto com mdadm –fail; copiar tabela de partições; zerar superblocos.
  • Depois: adicionar partições com mdadm -a; monitorar /proc/mdstat até terminar; reinstalar GRUB em ambos os discos.

Runbook de incidente — substituir um disco em RAID1

  1. Notifique stakeholders e faça backup.
  2. Marque o disco como failed: mdadm –manage … –fail.
  3. Remova a partição do array: mdadm –manage … –remove.
  4. Substitua o hardware fisicamente ou reconecte o disco novo.
  5. Copie partições: sfdisk -d /dev/sda | sfdisk /dev/sdb.
  6. Zere superblocos antigos: mdadm –zero-superblock /dev/sdbX.
  7. Adicione ao array: mdadm -a /dev/mdX /dev/sdbX.
  8. Monitorar sincronização; reinstalar GRUB; validar boot.
  9. Documentar o incidente e fechar ticket.

Mini-metodologia — por que este fluxo funciona

  • RAID1 mantém um espelho; um disco pode falhar sem perda de dados.
  • Copiar a tabela de partições garante que as partições do novo disco correspondam ao layout do array.
  • Zerar o superbloco previne conflitos com metadados RAID anteriores.
  • Reinstalar o GRUB em ambos os discos garante tolerância na inicialização.

Glossário (uma linha cada)

  • RAID1: espelhamento de discos para redundância.
  • mdadm: utilitário Linux para gerenciar arrays RAID.
  • sfdisk: ferramenta para manipular tabelas de partição via linha de comando.
  • GRUB: carregador de boot utilizado para inicializar o sistema.

Notas importantes

  • Nunca execute comandos de partição sem confirmar o dispositivo alvo.
  • Em sistemas com UEFI, o procedimento de instalação do boot difere (use EFI e grub-install apropriado).
  • Se usar LVM por cima do RAID, verifique volumes lógicos após a reconstrução.

Links

Resumo: este procedimento cobre a simulação de falha, cópia de partições, limpeza de metadados antigos, adição do novo disco ao array, sincronização e reinstalação do GRUB. Siga o checklist e os critérios de aceitação para validar a operação com segurança.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE