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/sdb2etc..
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 -lO 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, …….BytesAgora, digite:
fdisk /dev/sdccriamos 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/sdc1Entã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/sda1e removemos do RAID:
mdadm -r /dev/md0 /dev/sda1Agora 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/sdcO mesmo processo deve ser repetido para cada uma das partições do sistema:
mdadm -add /dev/md0 /dev/sdd1mdadm -f /dev/md0 /dev/sdb1mdadm -r /dev/md0 /dev/sdb1E 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/sdc2mdadm -f /dev/md0 /dev/sda2mdadm -r /dev/md0 /dev/sda2Aguarde 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/sdd2mdadm -f /dev/md0 /dev/sdb2mdadm -r /dev/md0 /dev/sdb2Aguarde 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/sdcgrub-install /dev/sddNeste 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/md0mdadm -A —scanmdadm —grow /dev/md0 —size=maxmdadm —examine —scane2fsck -f /dev/md0resize2fs /dev/md0mdadm —grow —raid-devices=2 /dev/md1mdadm -A —scanmdadm —grow /dev/md1 —size=maxmdadm —examine —scane2fsck -f /dev/md1resize2fs /dev/md1Quando 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.oldgrub-mkdevicemapupdate-grub2 && grub-install /dev/sda && grub-install /dev/sdbSe 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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.