Migrare e configurare GRUB e RAID passo per passo
Definizione rapida
RAID: insieme di dischi che fornisce ridondanza o prestazioni; mdadm è lo strumento per gestire i dispositivi RAID Linux. UUID: identificatore univoco di filesystem.
Sommario delle fasi principali
- Identificare gli UUID dei dispositivi md
- Aggiornare /etc/fstab nella copia dell’array montato
- Aggiornare la configurazione di GRUB nella copia dell’array
- Reboot e modifica del BIOS per avviare dal nuovo disco
- Convertire le partizioni del disco originale in partizioni RAID e rimettere i dispositivi nel RAID
- Installare GRUB su entrambi i dischi per tolleranza di guasto
Dettaglio procedura (passi 14–18)
14. Ottenere gli UUID dei dispositivi RAID
Apri un’altra console e esegui:
blkid | grep /dev/md
Vedrai l’UUID per ogni filesystem su dispositivi md. Dovrebbe apparire qualcosa del genere:
/dev/md0: UUID="0b0fddf7-1160-4c70-8e76-5a5a5365e07d" TYPE="ext2"
/dev/md1: LABEL="/ROOT" UUID="36d389c4-fc0f-4de7-a80b-40cc6dece66f" TYPE="ext4"
/dev/md2: UUID="47fbbe32-c756-4ea6-8fd6-b34867be0c84" TYPE="ext4"
/dev/md3: LABEL="/VAR" UUID="f92cc249-c1af-456b-a291-ee1ea9ef8e22" TYPE="ext4"
Annota l’UUID di /dev/md0 e copialo in /etc/fstab della copia del filesystem montato.
Monta l’array in modo che tu possa modificare i file di configurazione:
mount /dev/md1 /mnt/raid
Nel file /mnt/raid/etc/fstab sostituisci la riga che monta /boot con l’UUID del nuovo filesystem /dev/md0:
UUID=0b0fddf7-1160-4c70-8e76-5a5a5365e07d /boot ext2 defaults 1 1
Ripeti per il filesystem che deve diventare / (root). Trova e copia l’UUID corretto e sostituisci la riga per /:
UUID=36d389c4-fc0f-4de7-a80b-40cc6dece66f / ext4 defaults 1 1
Per ora lascia commentate le linee alternative basate su UUID e mantieni le linee esistenti che montano /var e /home. Una volta verificato tutto le sostituirai.
Aggiungeremo la nuova riga per /var ma la lasceremo commentata per sicurezza:
/dev/sdb5 /var ext4 defaults 1 2
#UUID=47fbbe32-c756-4ea6-8fd6-b34867be0c84 /var ext4 defaults 1 2
E la riga per /home:
/dev/sdb6 /home ext4 defaults 1 2
#UUID=f92cc249-c1af-456b-a291-ee1ea9ef8e22 /home ext4 defaults 1 2
Smonta la copia dell’array quando hai finito le modifiche:
umount /mnt/raid
15. Aggiornare GRUB nella copia dell’array
Monta nuovamente /dev/md0 su /mnt/raid se necessario e modifica il file di configurazione di GRUB nella copia montata:
Nel file /mnt/raid/grub/menu.lst cambia la voce del kernel in modo che il kernel usi come root il device raid corretto:
kernel PATH-TO-KERNEL ro root=/dev/md1 SOME OPTIONS
Important: assicurati che non ci siano opzioni che escludano dispositivi md!
Per evitare problemi copia i file di boot e fstab dall’array alla root del sistema così il sistema userà le configurazioni presenti nell’array RAID:
cp /mnt/raid/grub/menu.lst /boot/grub/menu.lst
cp /mnt/raid/etc/fstab /etc/fstab
Nota: puoi fare copie di backup aggiuntive, ma questo è il metodo più diretto.
16. Riavvio e selezione del disco nel BIOS
Riavvia la macchina:
reboot
Entra nel BIOS/UEFI e imposta il nuovo disco come dispositivo di avvio primario. Salva e avvia.
Se il sistema si avvia correttamente, procedi al passo successivo.
17. Convertire le partizioni del disco vecchio in partizioni RAID
Identifica quale disco è quello vecchio con:
fdisk -l
Nel risultato individua il disco che contiene partizioni di tipo 83 (Linux). Quello sarà il disco sorgente (nell’esempio assumiamo ancora /dev/sdb).
Usa fdisk, cfdisk o parted per cambiare il tipo di partizione su sdb1, sdb2, sdb5, sdb6 a 0xfd (Linux RAID). Poi informa il kernel delle modifiche:
partprobe
Aggiungi le partizioni modificate ai rispettivi dispositivi RAID per completare gli array:
mdadm /dev/md0 -a /dev/sdb1
mdadm /dev/md1 -a /dev/sdb2
mdadm /dev/md2 -a /dev/sdb5
mdadm /dev/md3 -a /dev/sdb6
Per monitorare la ricostruzione apri una nuova console come root e lancia:
watch -n 5 cat /proc/mdstat
Output di esempio (aggiornato ogni 5 secondi):
Personalities : [raid1]
md1 : active raid1 sdb3[1] sda3[0]
473792 blocks [2/2] [UU]
[===>.................] recovery 25.0% (118448/473792) finish=2.4min speed=2412
md2 : active raid1 sdb5[1] sda5[0]
4980032 blocks [2/2] [UU]
resync=DELAYED
md3 : active raid1 sdb6[1] sda6[0]
3349440 blocks [2/2] [UU]
resync=DELAYED
md0 : active raid1 sdb1[1] sda1[0]
80192 blocks [2/2] [UU]
unused devices:
Quando tutte le operazioni di recovery/resync sono completate, il sistema sarà sostanzialmente operativo.
18. Installare il record di avvio (MBR) sul secondo disco
Obiettivo: lo sistema deve poter avviarsi anche se il primo disco fallisce. Le istruzioni seguenti assumono GRUB legacy (vecchio stile). Per GRUB2 vedere documentazione specifica.
Avvia la shell di grub come root:
# grub
Al prompt di grub imposta temporaneamente la root sul secondo disco (hd1,0) e installa il boot record su (hd1):
grub>
grub> root (hd1,0)
Filesystem type is ext2fs, partition type is 0xfd
grub> setup (hd1)
Esempio di output durante l’installazione (verifica che i file esistano e che la procedura termini con “succeeded”):
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 embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+16 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
Ripeti la stessa procedura per il primo disco (hd0):
grub> root (hd0,0)
Filesystem type is ext2fs, partition type is 0xfd
grub> setup (hd0)
grub> quit
Quindi riavvia:
reboot
Se il sistema si avvia correttamente, prova a mettere alla prova la tolleranza ai guasti:
- Spegni la macchina e scollega il primo disco (sda). Avvia: il sistema dovrebbe avviarsi dal secondo disco.
- Riaccendi, ricollega il primo disco e scollega il secondo (sdb). Avvia: il sistema dovrebbe avviarsi anche da sda.
Queste prove verificano che GRUB sia stato installato correttamente su entrambi i dischi.
Best practice, suggerimenti e controllo qualità
Important: esegui sempre backup completi prima di modificare tabelle di partizione o fstab. Verifica due volte gli UUID prima di salvare /etc/fstab.
Note:
- Mantieni commentate le linee alternative in fstab finché non hai provato il boot dall’array.
- Usa watch o systemd journal per diagnosticare problemi di mount o boot.
Checklist ruolo: Amministratore sistema
- Backup completo del sistema e dei dati critici
- Verificare gli UUID con blkid
- Aggiornare /mnt/raid/etc/fstab e /mnt/raid/grub/menu.lst
- Copiare menu.lst e fstab nella root attiva
- Riavviare e verificare boot dal nuovo disco
- Cambiare partizioni del vecchio disco a tipo 0xfd
- Eseguire partprobe e aggiungere partizioni agli array con mdadm
- Monitorare /proc/mdstat fino a completamento
- Installare GRUB su entrambi i dischi
- Testare boot scollegando dischi uno alla volta
Playbook rapido (comandi essenziali)
- Identificare UUID: blkid | grep /dev/md
- Montare array: mount /dev/md1 /mnt/raid
- Copiare configurazioni: cp /mnt/raid/grub/menu.lst /boot/grub/menu.lst
- Ricaricare partizioni: partprobe
- Aggiungere partizione a RAID: mdadm /dev/md1 -a /dev/sdb2
- Monitorare RAID: watch -n 5 cat /proc/mdstat
- Shell GRUB: grub
Diagnosi rapida: problemi comuni e rimedi
- Problema: kernel non trova root su boot -> Controlla che root= punti a /dev/md1 o a UUID corretto e che initramfs supporti md.
- Problema: GRUB non si installa su disco -> Controlla che la partizione sia di tipo 0xfd e che non ci siano errori I/O.
- Problema: filesystem non viene montato al boot -> Verifica /etc/fstab, UUID e che i dispositivi md siano inizializzati prima del mount.
Criteri di accettazione
- Il sistema si avvia correttamente con entrambi i dischi collegati.
- Il sistema si avvia quando uno dei due dischi è scollegato (test per entrambi i dischi).
- Tutti i dispositivi md mostrano stato [UU] dopo la sincronizzazione.
- /etc/fstab e file di configurazione di boot puntano agli UUID o ai dispositivi RAID corretti.
Mini-metodologia per rollback rapido
Se dopo un cambiamento critico il sistema non si avvia:
- Avvia da Live USB o da manutenzione.
- Monta la copia di /mnt/raid e ripristina le versioni di backup di /etc/fstab e /boot/grub/menu.lst.
- Reinstallare GRUB sul disco di avvio noto se necessario.
- Riavviare e verificare.
Diagramma decisionale rapido
flowchart TD
A[Non si avvia?] --> B{BIOS vede disco di boot?}
B -- No --> C[Controlla ordine boot nel BIOS]
B -- Sì --> D{GRUB appare?}
D -- No --> E[Avvia Live, reinstalla GRUB su disco primario]
D -- Sì --> F{Errore kernel: root non trovato}
F -- Sì --> G[Verifica root= e initramfs/mdadm]
F -- No --> H[Controlla journal e /proc/mdstat]
Glossario rapido (1 riga ciascuno)
- mdadm: strumento per creare e gestire array RAID su Linux.
- UUID: identificatore univoco di un filesystem.
- GRUB: bootloader usato per avviare sistemi Linux.
Rischi e mitigazioni
- Rischio: perdita di avvio se fstab o GRUB sono errati. Mitigazione: avere backup e Live USB per ripristino.
- Rischio: corruzione dati durante partizionamento. Mitigazione: eseguire backup e cambiare partizioni solo dopo verifiche.
Conclusione
Seguendo i passaggi descritti aggiornerai /etc/fstab, copierai le configurazioni di GRUB dall’array RAID al sistema attivo, ricostruirai gli array aggiungendo le partizioni del disco originale e installerai GRUB su entrambi i dischi per garantire il boot anche in caso di guasto di un disco. Testa sempre scollegando i dischi singolarmente per verificare la tolleranza ai guasti.
Important: mantieni sempre backup aggiornati e verifica gli UUID prima di modificare /etc/fstab.
Materiali simili

Vedere e cancellare cronologia ricerche YouTube
Recuperare note eliminate su Mac

Trovare indirizzo e telefono online

Aggiornare un Chromebook: guida rapida

Ricerca inversa video: come trovare l'origine di una clip
