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:
grubNo 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:
quitE, de volta ao shell normal, reinicie para testar o boot a partir dos arrays RAID:
rebootNota: 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/mdstatExemplo 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
lvdisplayAs 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/sdaExemplo 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/sda1Verifique novamente /proc/mdstat para confirmar que o dispositivo foi integrado e que o array está sincronizado:
cat /proc/mdstatExemplo 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.confUm /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:
rebootEle 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
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android