Guida alle tecnologie

Preparare GRUB e /dev/sda per RAID1

4 min read Sistemi Aggiornato 27 Sep 2025
Installare GRUB e preparare /dev/sda per RAID1
Installare GRUB e preparare /dev/sda per RAID1

6 Preparare GRUB

Dopo aver creato gli array, è necessario installare il bootloader GRUB sul secondo disco /dev/sdb. Avvia la shell di GRUB e inserisci i comandi indicati.

Esegui prima:

grub

Nella shell di GRUB, specifica la root della partizione di boot e poi installa GRUB sull’MBR del disco:

root (hd0,0)

Output di esempio dalla shell GRUB:

grub> root (hd0,0)  
 Filesystem type is ext2fs, partition type 0x83  
  
grub>

Quindi esegui:

setup (hd0)

Esempio di output completo della procedura di setup:

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>

Ripeti la stessa procedura per l’altro disco (qui mostrato come 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>

Esci dalla shell di GRUB:

quit

Torna alla shell normale e riavvia la macchina per verificare l’avvio dagli array RAID:

reboot

Importante: se il sistema non si avvia, non procedere con la rimozione delle partizioni originali. Avvia da live o da rescue e controlla l’installazione di GRUB su entrambi i dischi.

7 Preparare /dev/sda

Se tutto va bene, dopo il reboot dovresti vedere /dev/md0 tra i filesystem montati. Verifica con:

df -h

Esempio di output:

[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 ~]#

Controlla lo stato degli array:

cat /proc/mdstat

Esempio:

[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 ~]#

Verifica inoltre PV/VG/LV con pvdisplay, vgdisplay e lvdisplay; gli output tipici sono forniti qui come riferimento (non modificare i comandi reali quando li esegui):

pvdisplay
[root@server1 ~]# pvdisplay  
  --- Physical volume ---  
  PV Name               /dev/md1  
  VG Name               VolGroup00  
  PV Size               4.80 GB / not usable 22.25 MB  
  Allocatable           yes  
  PE Size (KByte)       32768  
  Total PE              153  
  Free PE               1  
  Allocated PE          152  
  PV UUID               pS3xiy-AEnZ-p3Wf-qY2D-cGus-eyGl-03mWyg  
  
[root@server1 ~]#
vgdisplay
[root@server1 ~]# vgdisplay  
  --- Volume group ---  
  VG Name               VolGroup00  
  System ID  
  Format                lvm2  
  Metadata Areas        1  
  Metadata Sequence No  9  
  VG Access             read/write  
  VG Status             resizable  
  MAX LV                0  
  Cur LV                2  
  Open LV               2  
  Max PV                0  
  Cur PV                1  
  Act PV                1  
  VG Size               4.78 GB  
  PE Size               32.00 MB  
  Total PE              153  
  Alloc PE / Size       152 / 4.75 GB  
  Free  PE / Size       1 / 32.00 MB  
  VG UUID               jJj1DQ-SvKY-6hdr-3MMS-8NOd-pb3l-lS7TA1  
  
[root@server1 ~]#
lvdisplay
[root@server1 ~]# lvdisplay  
  --- Logical volume ---  
  LV Name                /dev/VolGroup00/LogVol00  
  VG Name                VolGroup00  
  LV UUID                yt5b4f-m2XC-F3aP-032r-ulAT-Re5P-lmh6hy  
  LV Write Access        read/write  
  LV Status              available  
  # open                 1  
  LV Size                4.16 GB  
  Current LE             133  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     0  
  Block device           253:0  
  
  --- Logical volume ---  
  LV Name                /dev/VolGroup00/LogVol01  
  VG Name                VolGroup00  
  LV UUID                VrPqpP-40ym-55Gs-ShVm-Hlzs-Jzot-oYnonY  
  LV Write Access        read/write  
  LV Status              available  
  # open                 1  
  LV Size                608.00 MB  
  Current LE             19  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     0  
  Block device           253:1  
  
[root@server1 ~]#

Adesso modifica il tipo di partizione di /dev/sda1 in “Linux raid autodetect” usando fdisk:

fdisk /dev/sda

Output esempio della sessione interattiva:

[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 ~]#

A questo punto aggiungi /dev/sda1 all’array md0:

mdadm --add /dev/md0 /dev/sda1

Controlla lo stato della ricostruzione con:

cat /proc/mdstat

Esempio di array ora sincronizzato:

[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 ~]#

Aggiorna /etc/mdadm.conf in base alla situazione corrente:

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

/etc/mdadm.conf dovrebbe ora contenere le righe dell’array, ad esempio:

| 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 |

Reboot finale per verificare l’avvio automatico:

reboot

Dovrebbe avviarsi senza problemi. Complimenti — hai configurato con successo RAID1 software su un sistema LVM in esecuzione.

Criteri di accettazione

  • /dev/md0 è presente e montato su /boot come nell’esempio di df -h.
  • /proc/mdstat mostra gli array attivi e tutti i dispositivi marcati con [UU].
  • pvdisplay, vgdisplay e lvdisplay riflettono lo stato LVM atteso (VG e LV disponibili).
  • GRUB è installato sull’MBR di entrambi i dischi e la macchina si avvia senza interventi manuali.

Checklist operativa (operatore)

  • Verificare backup recenti prima di modifiche al disco.
  • Installare GRUB su entrambi i dischi (vedi sezione GRUB).
  • Cambiare il tipo di partizione a fd su /dev/sda1 con fdisk.
  • Aggiungere /dev/sda1 a /dev/md0 con mdadm –add.
  • Aggiornare /etc/mdadm.conf con mdadm –examine –scan.
  • Riavviare e verificare lo stato con df -h e cat /proc/mdstat.

Risoluzione problemi comuni

  • Problema: il sistema non si avvia dopo l’installazione di GRUB.

    • Controlla che GRUB sia stato installato su entrambi i dischi. Avvia un rescue/live e riesegui setup su ogni disco.
    • Verifica che /boot/grub/grub.conf (o menu.lst) punti al corretto kernel e initrd.
  • Problema: /proc/mdstat mostra un disco mancante o in ricostruzione lenta.

    • Controlla cavi e log del kernel (dmesg).
    • Usa mdadm –detail /dev/md0 per ulteriori informazioni.
  • Problema: fdisk non riesce a rileggere la tabella (error 16).

    • Riavviare quando possibile; la nuova tabella sarà usata dopo reboot.
    • Se non è possibile riavviare, smonta le partizioni interessate e riprova.

Approcci alternativi e note

  • GRUB2: su sistemi moderni preferisci grub-install/grub2 perché gestisce meglio UEFI e dispositivi multipli.
  • Hardware RAID: se disponibile, l’uso di un controller hardware può semplificare il boot ma richiede configurazione del controller.
  • Ripristino: se il disco primario fallisce, assicurati che il BIOS/UEFI possa avviare dall’altro disco.

Comandi rapidi — cheat sheet

  • Avviare GRUB shell: grub
  • Installare GRUB su disco: setup (hdX) [usato nella shell di GRUB legacy]
  • Aggiungere disco a RAID: mdadm –add /dev/md0 /dev/sda1
  • Rigenerare mdadm.conf: mdadm –examine –scan > /etc/mdadm.conf
  • Controllare array: cat /proc/mdstat
  • Verificare LVM: pvdisplay; vgdisplay; lvdisplay

Riepilogo

Questa guida mostra i passaggi pratici per installare GRUB sui dischi che partecipano a RAID1 e per aggiungere /dev/sda1 all’array md0 su un sistema LVM attivo. Verifica sempre lo stato degli array e dei volumi LVM prima e dopo ogni modifica. Usa la checklist e le procedure di debug per ridurre i rischi operativi.

Autore
Redazione

Materiali simili

Avviare Windows Server 2019 in Modalità Provvisoria
Amministrazione server

Avviare Windows Server 2019 in Modalità Provvisoria

Collegamenti rapidi Snapchat: guida completa
Social Media

Collegamenti rapidi Snapchat: guida completa

Installare e usare USB/IP sul client
Guida tecnica

Installare e usare USB/IP sul client

Visualizzare e cancellare la cronologia di YouTube
Privacy Online

Visualizzare e cancellare la cronologia di YouTube

Installare GRUB e preparare /dev/sda per RAID1
Sistemi

Installare GRUB e preparare /dev/sda per RAID1

Errore Hulu P-DEV320: soluzioni rapide
Streaming

Errore Hulu P-DEV320: soluzioni rapide