Guida alle tecnologie

Preparazione di GRUB e /dev/sda per RAID1 su LVM

5 min read Storage Aggiornato 28 Sep 2025
GRUB e /dev/sda per RAID1 su LVM
GRUB e /dev/sda per RAID1 su LVM

Sommario rapido

  • Installare GRUB sui dispositivi di avvio.
  • Verificare che /dev/md0 sia attivo e che LVM riconosca i volumi.
  • Cambiare il tipo di partizione di /dev/sda1 in “Linux raid autodetect” e aggiungerlo a md0.
  • Rigenerare /etc/mdadm.conf e riavviare.

6 Preparare GRUB

Dopo aver creato gli array RAID, dobbiamo installare il bootloader GRUB sul secondo disco /dev/sdb. Apri una shell di GRUB e inserisci i comandi mostrati.

Esempio di avvio della shell GRUB:

grub

Nella shell di GRUB, esegui questi comandi per impostare la root e installare GRUB sul primo disco (hd0):

root (hd0,0)

Output atteso nella shell GRUB:

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

Quindi lancia l’installazione su (hd0):

setup (hd0)

Esempio di output di setup:

grub> setup (hd0)
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)"...  15 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>

Ripeti la stessa procedura per il secondo disco (hd1) — questo garantisce che entrambi i dischi possano avviare il sistema in caso di guasto dell’altro:

root (hd1,0)

Output di esempio:

grub> root (hd1,0)
root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub>

Poi installa GRUB su (hd1):

setup (hd1)

Output di esempio:

grub> setup (hd1)
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)"...  15 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>

Infine, esci dalla shell di GRUB:

quit

Torna alla shell normale e riavvia per verificare che il sistema possa avviarsi dagli array RAID appena configurati:

reboot

Importante: se il sistema non si avvia, non spegnere. Avvia da un liveCD/USB e riesegui la procedura di installazione di GRUB sui dischi, quindi verifica che /boot sia montato correttamente prima di eseguire setup.

7 Preparare /dev/sda

Se tutto è andato a buon fine, dovresti vedere /dev/md0 tra i file system montati. Controlla con:

df -h

Esempio di output:

[root@server1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
8.6G  1.4G  6.8G  18% /
/dev/md0               99M   16M   79M  17% /boot
tmpfs                 250M     0  250M   0% /dev/shm
[root@server1 ~]#

Verifica lo stato degli array RAID con:

cat /proc/mdstat

Output di esempio:

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1]
104320 blocks [2/1] [_U]

md1 : active raid1 sdb2[1] sda2[0]
10377920 blocks [2/2] [UU]

unused devices: 
[root@server1 ~]#

I comandi LVM possono confermare che i volumi logici sono corretti. Ecco gli output attesi di pvdisplay, vgdisplay e lvdisplay, utili per confrontare lo stato del tuo sistema:

pvdisplay
[root@server1 ~]# pvdisplay
--- Physical volume ---
PV Name               /dev/md1
VG Name               VolGroup00
PV Size               9.90 GB / not usable 22.69 MB
Allocatable           yes (but full)
PE Size (KByte)       32768
Total PE              316
Free PE               0
Allocated PE          316
PV UUID               u6IZfM-5Zj8-kFaG-YN8K-kjAd-3Kfv-0oYk7J

[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               9.88 GB
PE Size               32.00 MB
Total PE              316
Alloc PE / Size       316 / 9.88 GB
Free  PE / Size       0 / 0
VG UUID               ZPvC10-cN09-fI0S-Vc8l-vOuZ-wM6F-tlz0Mj

[root@server1 ~]#
lvdisplay
[root@server1 ~]# lvdisplay
--- Logical volume ---
LV Name                /dev/VolGroup00/LogVol00
VG Name                VolGroup00
LV UUID                vYlky0-Ymx4-PNeK-FTpk-qxvm-PmoZ-3vcNTd
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                8.88 GB
Current LE             284
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:0

--- Logical volume ---
LV Name                /dev/VolGroup00/LogVol01
VG Name                VolGroup00
LV UUID                Ml9MMN-DcOA-Lb6V-kWPU-h6IK-P0ww-Gp9vd2
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                1.00 GB
Current LE             32
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:1

[root@server1 ~]#

Ora dobbiamo cambiare il tipo di partizione di /dev/sda1 in “Linux raid autodetect” (codice fd). Apri fdisk:

fdisk /dev/sda

Esempio di sessione fdisk (interattiva):

[root@server1 ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

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

Dopo aver segnato la partizione come RAID, aggiungi /dev/sda1 all’array md0:

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

Controlla di nuovo lo stato degli array:

cat /proc/mdstat

Esempio di output finale atteso:

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0] sdb1[1]
104320 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
10377920 blocks [2/2] [UU]

unused devices: 
[root@server1 ~]#

Ora rigenera il file /etc/mdadm.conf affinché contenga gli UUID corretti degli array:

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

Verifica il contenuto:

cat /etc/mdadm.conf

Esempio del contenuto aggiornato:

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=0a96be0f:bf0f4631:a910285b:0f337164
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=f9e691e2:8d25d314:40f42444:7dbe1da1

Riavvia il sistema:

reboot

Se tutto è corretto, il sistema dovrebbe avviarsi normalmente usando gli array RAID.

Checklist rapida (prima di procedere)

  • Backup: assicurati di avere backup aggiornati di /boot e dei dati critici.
  • Controlla la corrispondenza delle partizioni su sda e sdb (dimensioni e offset).
  • Monta /boot se necessario prima di eseguire setup su GRUB.
  • Se usi BIOS legacy, conferma che GRUB venga installato nel MBR di entrambi i dischi.
  • Se UEFI, procedura differente: usa grub-install con –target=x86_64-efi e gestione degli ESP.

Cosa fare se non si avvia (passi di recovery)

  1. Avvia da live CD/USB con supporto per LVM e mdadm.
  2. Assembla manualmente gli array: mdadm –assemble –scan.
  3. Monta i dispositivi LVM: vgchange -ay.
  4. Monta /dev/mapper/VolGroup00-LogVol00 su /mnt e /dev/md0 su /mnt/boot.
  5. Chroot in /mnt: mount –bind /dev /mnt/dev, mount –bind /proc /mnt/proc, mount –bind /sys /mnt/sys, chroot /mnt.
  6. Reinstalla GRUB su entrambi i dischi: grub-install /dev/sda && grub-install /dev/sdb.
  7. Rigenera /etc/mdadm.conf e update-initramfs / grub-mkconfig as needed.
  8. Esci e riavvia.

Errori comuni e soluzioni rapide

  • Problema: “Filesystem type is ext2fs” inesperato o partizione non trovata. Soluzione: controlla che /boot sia montato e che i percorsi /grub/stage* esistano.

  • Problema: fdisk non riesce a rilegger tabella partizioni (errore 16). Soluzione: riavvia la macchina quando possibile o smonta dispositivi che tengono aperta la tabella.

  • Problema: mdadm –add fallisce. Soluzione: verifica che la partizione sia realmente impostata con tipo fd e che non ci siano errori S.M.A.R.T. che impediscano l’uso del disco.

Mini-metodologia: ordine operativo raccomandato

  1. Costruisci gli array RAID su sdb (o disco primario iniziale).
  2. Installa GRUB su entrambi i dischi, partendo dal disco secondario per ridurre tempo d’inattività.
  3. Verifica che /dev/md0 e LVM siano corretti con pvdisplay, vgdisplay, lvdisplay.
  4. Cambia il tipo di partizione su sda in fd.
  5. Aggiungi /dev/sda1 all’array md0 e verifica sincronizzazione completa.
  6. Aggiorna /etc/mdadm.conf e riavvia.

Ruoli e responsabilità (breve checklist per ruolo)

  • Sysadmin:

    • Eseguire i comandi di setup di GRUB.
    • Aggiornare /etc/mdadm.conf.
    • Pianificare riavvii.
  • Operatore storage:

    • Verificare lo stato SMART dei dischi.
    • Controllare offset e dimensioni delle partizioni.
  • Team di backup:

    • Assicurarsi che backup di /boot e dati critici siano presenti.

Fact box: numeri chiave estratti dagli esempi

  • /dev/md0: 104320 blocchi, 99M montato su /boot.
  • /dev/md1: 10377920 blocchi, usato per LVM (circa 9.9 GB PV).
  • LV root: LogVol00 = 8.88 GB; LogVol01 = 1.00 GB.

Note importanti

  • Se il sistema usa UEFI, la procedura GRUB mostrata per BIOS non è corretta. Usa gli strumenti UEFI dedicati.
  • Non cambiare partizioni su disco in produzione senza backup e finestra di manutenzione.

Riepilogo

Hai installato GRUB su entrambi i dischi e aggiunto /dev/sda1 all’array md0. Hai verificato lo stato RAID e aggiornato /etc/mdadm.conf. Dopo il riavvio il sistema dovrebbe avviarsi correttamente dal RAID1. Se incontrerai problemi, usa un liveCD per assemblare gli array, montare i volumi LVM e reinstallare GRUB.

Autore
Redazione

Materiali simili

Corneal Key Logger: PIN da una selfie
Sicurezza informatica

Corneal Key Logger: PIN da una selfie

Touchpad non funziona su Windows 10 — Guida rapida
Risoluzione problemi

Touchpad non funziona su Windows 10 — Guida rapida

BoltWire su Ubuntu 18.04 — Guida d'installazione
CMS

BoltWire su Ubuntu 18.04 — Guida d'installazione

GRUB e /dev/sda per RAID1 su LVM
Storage

GRUB e /dev/sda per RAID1 su LVM

Disattivare notifica macOS High Sierra
Mac

Disattivare notifica macOS High Sierra

Come creare un poster efficace in 6 passaggi
Design grafico

Come creare un poster efficace in 6 passaggi