Guia de tecnologias

Configurando RAID1 em /dev/sda e GRUB no Fedora 8

4 min read Linux RAID Atualizado 01 Oct 2025
RAID1 em /dev/sda e GRUB no Fedora 8
RAID1 em /dev/sda e GRUB no Fedora 8

7 Preparando /dev/sda

Se tudo correu bem, você deve ver /dev/md0 e /dev/md2 na saída de:

df -h
[root@server1 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/md2              4.4G  2.4G  1.8G  58% /  
/dev/md0               99M   15M   80M  16% /boot  
tmpfs                 185M     0  185M   0% /dev/shm  
[root@server1 ~]#

A saída de

cat /proc/mdstat

deve ser semelhante a:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sdb1[1]  
      104320 blocks [2/1] [_U]  
  
md1 : active raid1 sdb2[1]  
      513984 blocks [2/1] [_U]  
  
md2 : active raid1 sdb3[1]  
      4618560 blocks [2/1] [_U]  
  
unused devices:   
[root@server1 ~]#

Agora precisamos alterar o tipo das três partições em /dev/sda para “Linux raid autodetect”:

fdisk /dev/sda
[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): <-- t  
Partition number (1-4): <-- 2  
Hex code (type L to list codes): <-- fd  
Changed system type of partition 2 to fd (Linux raid autodetect)

Command (m for help): <-- t  
Partition number (1-4): <-- 3  
Hex code (type L to list codes): <-- fd  
Changed system type of partition 3 to fd (Linux raid autodetect)

Command (m for help): <-- w  
The partition table has been altered!
Calling ioctl() to re-read partition table.  
Syncing disks.  
[root@server1 ~]#

Agora podemos adicionar /dev/sda1, /dev/sda2 e /dev/sda3 aos arrays RAID correspondentes:

mdadm --add /dev/md0 /dev/sda1  
mdadm --add /dev/md1 /dev/sda2  
mdadm --add /dev/md2 /dev/sda3

Verifique o progresso com:

cat /proc/mdstat

Você deverá ver que os arrays estão sendo sincronizados:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sda1[0] sdb1[1]  
      104320 blocks [2/2] [UU]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      513984 blocks [2/2] [UU]  
  
md2 : active raid1 sda3[2] sdb3[1]  
      4618560 blocks [2/1] [_U]  
      [=====>...............]  recovery = 29.9% (1384256/4618560) finish=2.3min speed=22626K/sec  
  
unused devices:   
[root@server1 ~]#

Dica: execute

watch cat /proc/mdstat

para acompanhar continuamente o progresso. Para sair do watch, pressione CTRL+C.

Aguarde até a sincronização terminar — a saída deverá ficar assim:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sda1[0] sdb1[1]  
      104320 blocks [2/2] [UU]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      513984 blocks [2/2] [UU]  
  
md2 : active raid1 sda3[0] sdb3[1]  
      4618560 blocks [2/2] [UU]  
  
unused devices:   
[root@server1 ~]#

Importante: não desligue nem reinicie o sistema enquanto um array estiver em processo de recuperação; isso aumenta o tempo necessário para re-sincronizar e pode degradar a redundância.

Ajustar /etc/mdadm.conf

Atualize o arquivo /etc/mdadm.conf para refletir a configuração atual:

mdadm --examine --scan > /etc/mdadm.conf

/ etc / mdadm.conf deve agora conter entradas ARRAY similares a estas:

| ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2848a3f5:cd1c26b6:e762ed83:696752f9 ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8a004bac:92261691:227767de:4adf6592 ARRAY /dev/md2 level=raid1 num-devices=2 UUID=939f1c71:be9c10fd:d9e5f8c6:a46bcd49 |

Verifique o conteúdo com:

cat /etc/mdadm.conf

8 Preparando o GRUB

Estamos quase terminando. Agora edite /boot/grub/menu.lst. Atualmente está configurado para iniciar a partir de /dev/sdb (hd1,0). Para assegurar boot caso /dev/sdb falhe, copie a primeira stanza do kernel (que contém hd1), cole-a abaixo e substitua hd1 por hd0. Comente outras entradas de kernel que não queira usar. Deve ficar parecido com:

vi /boot/grub/menu.lst

| # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda3 # initrd /initrd-version.img #boot=/dev/sda default=0 fallback=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Fedora (2.6.23.1-42.fc8) root (hd1,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img title Fedora (2.6.23.1-42.fc8) root (hd0,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img #title Fedora (2.6.23.1-42.fc8) # root (hd0,0) # kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet # initrd /initrd-2.6.23.1-42.fc8.img |

Isso garante que tanto hd0 quanto hd1 tenham uma entrada adequada para o mesmo kernel, permitindo que cada disco possa inicializar o sistema independentemente.

Atualizar ramdisk e reiniciar

Atualize o initrd para incluir os módulos md/raid necessários e crie um backup do initrd atual:

mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2  
mkinitrd /boot/initrd-`uname -r`.img `uname -r`

Após isso, reinicie:

reboot

O sistema deverá subir normalmente; verifique se os arrays estão ativos após o boot com:

cat /proc/mdstat
mdadm --detail /dev/md0

Checklist rápido para execução (para administradores)

  • Fazer backup das configurações importantes (/etc/fstab, /boot/grub/menu.lst, /etc/mdadm.conf)
  • Verificar estado atual de /proc/mdstat e df -h
  • Alterar tipos de partição em /dev/sda para fd (Linux raid autodetect)
  • Adicionar sda1/2/3 aos arrays com mdadm –add
  • Monitorar sincronização com watch cat /proc/mdstat
  • Atualizar /etc/mdadm.conf com mdadm –examine –scan
  • Ajustar /boot/grub/menu.lst para suportar ambas as unidades (hd0 e hd1)
  • Atualizar initrd e reiniciar

Quando isso pode falhar

  • Se o disco de destino (/dev/sda) tiver setores defeituosos, a sincronização pode falhar. Faça smartctl/hdparm para checar saúde do disco antes.
  • Se /boot estiver em um filesystem não acessível durante o boot (por ex. LVM não inicializado), o GRUB pode não encontrar o kernel. Certifique-se de que /boot permaneça uma partição simples e acessível.
  • Mudar o mapeamento de hd0/hd1 em sistemas com controladoras diferentes (SCSI vs SATA) pode alterar a ordem; teste em rebootes antes de depender da nova configuração.

Abordagens alternativas

  • Usar um instalador ou ferramenta que escreva o GRUB em ambos os discos automaticamente (algumas distribuições ou scripts de provisioning fazem isso).
  • Em vez de editar manualmente menu.lst, instalar o GRUB em /dev/sda com grub-install –recheck /dev/sda após copiar a configuração.
  • Para sistemas modernos: migrar para grub2 e usar os mecanismos de configuração automáticos (grub2-mkconfig) e systemd-boot, dependendo da distro.

Mini-metodologia (passos de alto nível)

  1. Validar estado atual e backups.
  2. Marcar partições como RAID (tipo fd).
  3. Adicionar partições ao array e monitorar a reconstrução.
  4. Atualizar /etc/mdadm.conf.
  5. Ajustar GRUB para suportar boot de ambos os discos.
  6. Regenerar initrd, testar e reiniciar.

Glossário rápido

  • mdadm: utilitário Linux para criar/manter arrays RAID por software.
  • initrd: ramdisk inicial usado pelo kernel para carregar módulos necessários antes do root filesystem.
  • GRUB: carregador de boot que inicia o kernel.

Resumo final

Você configurou as partições de /dev/sda como RAID, adicionou-as aos arrays mdadm, esperou a sincronização completar, atualizou /etc/mdadm.conf, ajustou o menu do GRUB para garantir boot redundante e regenerou o initrd. Após o reboot o sistema deve iniciar normalmente e continuar com RAID1 ativo.

Nota: este guia foca em Fedora 8 com GRUB legado e mdadm; para versões mais novas consulte a documentação da sua distribuição e considere GRUB2 e initramfs modernos.

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