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

Remover KB5063878 no Windows 11 — corrigir 0x800f0905
Windows

Remover KB5063878 no Windows 11 — corrigir 0x800f0905

Proteção contra Ransomware no Windows 11 — Guia
Segurança

Proteção contra Ransomware no Windows 11 — Guia

iPhone SE 2020 grátis — oferta Sprint Memorial Day
Promoções

iPhone SE 2020 grátis — oferta Sprint Memorial Day

Recuperar arquivos no Mac com Stellar Data Recovery
Recuperação de Dados

Recuperar arquivos no Mac com Stellar Data Recovery

Corrigir tela que pisca no Windows 11
Windows 11

Corrigir tela que pisca no Windows 11

RAID1 em /dev/sda e GRUB no Fedora 8
Linux RAID

RAID1 em /dev/sda e GRUB no Fedora 8