Preparare GRUB e /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.
Materiali simili

Avviare Windows Server 2019 in Modalità Provvisoria

Collegamenti rapidi Snapchat: guida completa
Installare e usare USB/IP sul client

Visualizzare e cancellare la cronologia di YouTube
Installare GRUB e preparare /dev/sda per RAID1
