Preparando GRUB e /dev/sda para RAID1 em um sistema LVM
Visão geral
Este guia continua a instalação de um sistema com RAID1 por software sobre LVM. Ele mostra os comandos para instalar o GRUB nos discos, verificar o status dos arrays e adicionar /dev/sda1 ao array /dev/md0. As saídas de exemplo foram mantidas para referência.
Importante: os exemplos usam a sintaxe do GRUB legado; em distribuições modernas pode ser necessário usar grub-install/grub2-install e ajustar para UEFI se aplicável.
1. Preparando o GRUB
Primeiro, instale o carregador de boot GRUB no segundo disco (/dev/sdb). No shell, execute:
grub
No prompt do GRUB, informe as partições raiz e execute o setup. Exemplo de sessão:
root (hd0,0)
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub>
setup (hd0)
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>
Repita para o segundo disco (hd1):
root (hd1,0)
grub> root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub>
setup (hd1)
grub> setup (hd1)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd1)"... 16 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+16 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>
Depois digite:
quit
E, de volta ao shell normal, reinicie para testar o boot a partir dos arrays RAID:
reboot
Nota: se a sua máquina usa UEFI ou uma versão recente do GRUB (grub2), utilize grub-install/grub2-install e adapte os caminhos e comandos conforme a distribuição.
2. Verificações pós-boot
Se tudo ocorrer bem, verifique se /dev/md0 aparece na saída de df -h:
df -h
[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
4.1G 2.0G 1.9G 51% /
/dev/md0 190M 16M 165M 9% /boot
tmpfs 151M 0 151M 0% /dev/shm
[root@server1 ~]#
Verifique o status dos arrays com:
cat /proc/mdstat
Exemplo de saída esperada:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1]
200704 blocks [2/1] [_U]
md1 : active raid1 sda2[0] sdb2[1]
5036288 blocks [2/2] [UU]
unused devices:
[root@server1 ~]#
Confira também os volumes físicos e lógicos:
pvdisplay
vgdisplay
lvdisplay
As saídas de exemplo (mantidas para referência) estão no texto original e mostram que VolGroup00 e os LogVols estão ativos.
3. Preparando /dev/sda e adicionando ao array
Altere o tipo da partição /dev/sda1 para “Linux raid autodetect” usando fdisk:
fdisk /dev/sda
Exemplo interativo:
[root@server1 ~]# fdisk /dev/sda
Command (m for help): <- t
Partition number (1-4): <- 1
Hex code (type L to list codes): <- fd
Changed system type of partition 1 to fd (Linux raid autodetect)
Command (m for help): <- w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@server1 ~]#
Em seguida, adicione /dev/sda1 ao array /dev/md0:
mdadm --add /dev/md0 /dev/sda1
Verifique novamente /proc/mdstat para confirmar que o dispositivo foi integrado e que o array está sincronizado:
cat /proc/mdstat
Exemplo de resultado após adição:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0] sdb1[1]
200704 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
5036288 blocks [2/2] [UU]
unused devices:
[root@server1 ~]#
Atualize /etc/mdadm.conf com o mapeamento atual:
mdadm --examine --scan > /etc/mdadm.conf
Um /etc/mdadm.conf típico deverá incluir entradas ARRAY semelhantes a estas:
cat /etc/mdadm.conf
| ARRAY /dev/md0 level=raid1 num-devices=2 UUID=7d2bf9c3:7cd9df21:f782dab8:9212d7cb ARRAY /dev/md1 level=raid1 num-devices=2 UUID=d93a2387:6355b5c5:25ed3e50:2a0e4f96
|
Reinicie o sistema:
reboot
Ele deve iniciar normalmente a partir dos arrays RAID.
Quando isso pode falhar
- Se o sistema usa UEFI e /boot não estiver configurado corretamente, o GRUB legado pode não funcionar. Use grub-install/grub2-install para UEFI.
- Se um dos discos estiver com setores defeituosos, a sincronização poderá travar ou falhar; monitore /proc/mdstat e dmesg.
- Se o fdisk não conseguir reler a tabela de partições (device busy), um reboot pode ser necessário antes de adicionar a partição ao array.
Abordagens alternativas
- Usar grub-install em vez do shell interativo do grub (mais comum em distribuições modernas).
- Em ambientes críticos, preparar e testar o boot em modo manutenção antes de alterar partições ativas.
- Para UEFI, instalar o bootloader no ESP (EFI System Partition) e usar grub2-efi.
Checklist por função
- Administrador (antes de executar): backup das configurações do mdadm e /etc/fstab; snapshot ou backup da VM/host.
- Operador (execução): executar os comandos na ordem, monitorar /proc/mdstat, verificar eventos em dmesg.
- Pós-mudança (validação): confirmar df -h, pvdisplay, vgdisplay, lvdisplay; testar reboot e boot alternativo.
Glossário (1 linha)
- RAID1: espelhamento de discos para redundância;
- mdadm: utilitário de Linux para criar e gerenciar arrays RAID por software;
- LVM: Logical Volume Manager, camada de volumes lógicos sobre volumes físicos.
Resumo final
Seguindo estes passos você instala o GRUB nos discos, adiciona /dev/sda1 ao array md0 e atualiza /etc/mdadm.conf, garantindo que o sistema continue inicializável e que o RAID1 esteja sincronizado. Teste o boot e monitore as saídas de status para confirmar que tudo está saudável.
Notas: adapte os comandos de instalação do GRUB se sua distribuição usar GRUB2 ou UEFI. Sempre tenha backups antes de manipular tabelas de partição ou arrays RAID.
Materiais semelhantes

Corrigir erro Python oxzep7 — guia prático
Recuperar Lixeira esvaziada no Mac

Evitar números falsos em resumos de IA

Usar iMessage no Android com AirMessage

Iniciar Windows Server 2019 em Modo de Segurança
