Preparazione di 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)
- Avvia da live CD/USB con supporto per LVM e mdadm.
- Assembla manualmente gli array: mdadm –assemble –scan.
- Monta i dispositivi LVM: vgchange -ay.
- Monta /dev/mapper/VolGroup00-LogVol00 su /mnt e /dev/md0 su /mnt/boot.
- Chroot in /mnt: mount –bind /dev /mnt/dev, mount –bind /proc /mnt/proc, mount –bind /sys /mnt/sys, chroot /mnt.
- Reinstalla GRUB su entrambi i dischi: grub-install /dev/sda && grub-install /dev/sdb.
- Rigenera /etc/mdadm.conf e update-initramfs / grub-mkconfig as needed.
- 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
- Costruisci gli array RAID su sdb (o disco primario iniziale).
- Installa GRUB su entrambi i dischi, partendo dal disco secondario per ridurre tempo d’inattività.
- Verifica che /dev/md0 e LVM siano corretti con pvdisplay, vgdisplay, lvdisplay.
- Cambia il tipo di partizione su sda in fd.
- Aggiungi /dev/sda1 all’array md0 e verifica sincronizzazione completa.
- 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.
Materiali simili

Corneal Key Logger: PIN da una selfie

Touchpad non funziona su Windows 10 — Guida rapida

BoltWire su Ubuntu 18.04 — Guida d'installazione
GRUB e /dev/sda per RAID1 su LVM

Disattivare notifica macOS High Sierra
