RAID Debian · 5 min read · Nov 14, 2025

Expandindo um RAID de software no Debian migrando para novos discos rígidos grandes

A configuração: dois discos físicos de um RAID 1 (espelho) serão substituídos por dois discos mais capaciosos, faremos uma substituição “quente” diretamente do sistema operacional em execução, sem a necessidade de inicializar a partir de um meio de inicialização externo. Este guia foi testado nas distribuições Debian 6, 7, 8, tanto 32 quanto 64 bits.

Assumimos que os dois discos estão particionados com uma partição raiz e uma partição swap e que essas duas partições formam os dois dispositivos RAID md0 e md1:

  • A partição sda1 e sdb1 que compõem o volume md0 (raiz)
  • As partições sda2 e sdb2 que compõem o volume md1 (swap)

Primeiro, faça um backup de todos os seus dados, mesmo que o guia tenha sido testado várias vezes, a má sorte ainda está lá… Nós fornecemos (na minha opinião, a melhor solução) para uma substituição, desconectamos um dos dois discos antigos com a máquina desligada, em seguida, conectamos um novo disco temporário, depois ressincronizamos, assim ainda teremos o RAID funcionando e um único disco (com RAID em modo degradado) e você ainda pode recriar um RAID funcional se algo não funcionar. Para fazer isso, basta digitar esses comandos após substituir o disco cheio pelo vazio:

sfdisk -d /dev/hd source | sfdisk —force /dev/hd empty  
mdadm —zero-superblock /dev/hd empty  
mdadm —add /dev/md(raid) /dev/hd(empty)

Repita as duas últimas linhas para cada RAID / partição no sistema

(por exemplo:

mdadm -add /dev/md0 /dev/sdb1 

e então

mdadm -add /dev/md1 /dev/sdb2

etc..

Dessa forma, forçamos a tabela de partição do disco de origem para o alvo vazio, depois adicionamos isso ao RAID.

Obviamente, você deve esperar até o final do processo de reconstrução, monitorado por:

watch cat / pro / mdstat

(E, claro, CTRL + C para sair do processo)

Desligue a máquina neste ponto, adicionamos dois novos discos, que se tornam respectivamente sdc e sdd, em seguida, inicie o servidor e execute o comando:

fdisk -l

O resultado deve ser semelhante a isto:

Disco /dev/sda: ……MB , ………….Bytes  
… cabeçotes, …setores/track , ….. cilindros  
Tamanho I/O (mínimo/otimizado): 512 bytes / 512 bytes  
Disco: identificador : ………..
Dispositivo inicializa Início Fim Blocos Id   Sistema
/dev/sda2        970           1044 602437+ fd   Linux raid autodetect
/dev/sda2            1 969 7783461 fd   Linux raid autodetect 
……
/dev/sdb1     *       1 969 7783461 fd   Linux raid autodetect 
/dev/sdb2            970        1044 602437+ fd   Linux raid autodetect 
……
Disco /dev/sdc: …Mb, …….Bytes
……
Disco /dev/sdd: …Mb, …….Bytes
……
Disco /dev/md0: …Mb, …….Bytes
…...
Disco /dev/md1: …Mb, …….Bytes

Agora, digite:

fdisk /dev/sdc

criamos uma nova partição com o comando n,

selecionamos p partição primária,

selecionamos o número da partição ( 1,2,3, etc …),

selecionamos o cilindro inicial ( 1),

selecionamos o tamanho da partição primária digitando o símbolo + seguido do tamanho em GB e GB das letras (por exemplo: +480GB)

fazemos com que seja inicializável com o comando a, selecionando o mesmo número da partição.

mudamos o ID da partição para “ fd “ (Linux Raid Autodetect) com t, e escrevendo como código Hex, apenas “ fd

Então repetimos TODAS as comandos para a segunda partição (a partição será a swap).

Salvamos as alterações com w.

Obviamente, preste atenção ao tamanho das partições. A melhor solução é subtrair o tamanho atual da swap do total do espaço livre para criar a partição de trabalho com o maior espaço possível.

Agora, realizaremos exatamente as mesmas operações no disco SDD, certificando-nos de criar a mesma partição com os mesmos tamanhos que usamos anteriormente.

Neste ponto, fazemos uma troca entre o primeiro disco “cheio” e o primeiro novo disco, adicionando este último como um spare ao RAID:

mdadm -add /dev/md0 /dev/sdc1

Então devemos verificar a situação do disco RAID, deve ser assim:

md0: active raid 1 sdc1[S] sda1[2] sdb1[3]
 ………blocos super 1.2 [2/2] [UU]

Então colocamos no disco original:

mdadm -f /dev/md0 /dev/sda1

e removemos do RAID:

mdadm -r /dev/md0 /dev/sda1

Agora verificamos se a reconstrução começou automaticamente e esperamos até que seja concluída monitorando novamente com:

watch cat /proc/mdstat

(E, claro, CTRL + C para sair do processo)

No final, instalamos o carregador de inicialização (grub) no novo disco (/ dev / sdc):

grub-install /dev/sdc

O mesmo processo deve ser repetido para cada uma das partições do sistema:

mdadm -add /dev/md0 /dev/sdd1
mdadm -f /dev/md0 /dev/sdb1
mdadm -r /dev/md0 /dev/sdb1

E esperamos novamente até que a reconstrução esteja concluída:

watch cat /proc/mdstat

(E, claro, CTRL + C para sair do processo)

Em seguida, fazemos o mesmo procedimento para a primeira partição swap dos dois novos discos:

mdadm -add /dev/md1 /dev/sdc2
mdadm -f /dev/md0 /dev/sda2
mdadm -r /dev/md0 /dev/sda2

Aguarde novamente até que a reconstrução tenha terminado:

watch cat /proc/mdstat

(E, claro, CTRL + C para sair do processo)

E o último disco:

mdadm -add /dev/md1 /dev/sdd2
mdadm -f /dev/md0 /dev/sdb2
mdadm -r /dev/md0 /dev/sdb2

Aguarde novamente até que a reconstrução tenha terminado:

watch cat /proc/mdstat

(E, claro, CTRL + C para sair do processo)

Neste ponto, reinstale o carregador de inicialização em ambos os discos:

grub-install /dev/sdc
grub-install /dev/sdd

Neste ponto, nos encontramos com o antigo disco expulso do RAID, e os novos discos estão instalados e operacionais. Mas com o espaço utilizável abaixo do máximo permitido pela partição

Então, prosseguimos com o aumento da partição e a verificação dela, como de costume para ambos os volumes:

mdadm —grow —raid-devices=2 /dev/md0
mdadm -A —scan
mdadm —grow /dev/md0 —size=max
mdadm —examine —scan
e2fsck -f /dev/md0
resize2fs /dev/md0
mdadm —grow —raid-devices=2 /dev/md1
mdadm -A —scan
mdadm —grow /dev/md1 —size=max
mdadm —examine —scan
e2fsck -f /dev/md1
resize2fs /dev/md1

Quando terminar, desligue o PC, desconecte os discos antigos e reinicie a máquina.

Mesmo que a reinicialização tenha funcionado, reconstruímos o grub por razões de segurança, uma vez que o lançamento do novo disco terá assumido o nome do antigo (sda e sdb):

mv /boot/grub/device.map /boot/grub/device.map.old
grub-mkdevicemap
update-grub2 && grub-install /dev/sda && grub-install /dev/sdb

Se você quiser ter certeza absoluta de que a nova configuração do RAID está funcionando, desligue a máquina, desconecte um dos novos discos e inicie novamente. Deve iniciar sem problemas. Depois, desligue novamente, conecte o disco e inicie. Você pode usar este comando para verificar o estado do RAID.

watch cat /proc/mdstat

(E, claro, CTRL + C para sair do processo)

Terminamos o trabalho, celebramos.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.