Come installare Ubuntu 8.04 con RAID1 software
Installare Ubuntu 8.04 con RAID1 software crea due copie identiche dei dati su dischi diversi. Durante l’installazione si crea prima la partizione «physical volume for RAID» su entrambi i dischi, si configura il dispositivo MD (RAID1) e si monta md0 come «/» e md1 come swap. Dopo l’installazione occorre rendere avviabili entrambi i dischi con GRUB e monitorare lo stato con mdadm e smartctl.
Panoramica
Questa guida spiega come configurare un mirror RAID1 software durante l’installazione iniziale di Ubuntu 8.04 (Hardy Heron) e come mantenere, sostituire e ripristinare dischi nel tempo. RAID1 mantiene due copie identiche dei dati: se un disco fallisce, l’altro continua a servire il sistema. Questo approccio è economico e flessibile rispetto a molte soluzioni hardware, ma richiede qualche intervento manuale in caso di guasti.
Definizione rapida: RAID1 è un array a specchio che duplica i dati su almeno due dischi, garantendo ridondanza e disponibilità in caso di guasto di un dispositivo.
Importante: questa procedura modifica le tabelle delle partizioni e può cancellare dati. Eseguire backup prima di procedere.
Durante l’installazione di Ubuntu
Nota: i nomi dei menu e delle voci di installazione possono apparire leggermente diversi a seconda della localizzazione del programma di installazione. Di seguito la procedura adattata e tradotta per chiarezza.
- Dal dialogo Partiziona dischi, selezionare Modifica manuale della tabella delle partizioni.
- Selezionare il primo disco (ad es. /dev/sda).
- Confermare la creazione di una nuova tabella delle partizioni vuota su questo dispositivo.
- Creare, tramite i dialoghi, una partizione primaria sufficientemente grande per contenere il filesystem root (/).
- Per «Come usare questa partizione» scegliere «physical volume for RAID» invece del predefinito filesystem Ext3.
- Impostare la partizione come avviabile (bootable).
- Creare un’altra partizione primaria con lo spazio rimanente; questa sarà usata per lo swap.
- Per la seconda partizione scegliere ancora «physical volume for RAID», non «Ext3» e non «swap area».
- Ripetere i passaggi per creare partizioni identiche sul secondo disco (/dev/sdb). Assicurarsi che la partizione numero 1 su entrambi i dischi sia marcata come avviabile.
- Una volta configurate le partizioni, nella parte alta del dialogo principale selezionare Configura RAID software.
- Alla richiesta di scrivere le modifiche sui dispositivi di memorizzazione selezionare Sì.
- Per Azioni di configurazione multidisco scegliere Crea dispositivo MD.
- Per Tipo di dispositivo multidisco selezionare RAID1.
- Per Numero di dispositivi attivi per l’array RAID1 inserire 2.
- Per Numero di dispositivi di riserva inserire 0.
- Alla selezione dei dispositivi attivi scegliere /dev/sda1 e /dev/sdb1 per il primo array.
- Selezionare crea dispositivo MD.
- Ripetere la procedura per creare un secondo dispositivo MD che contenga /dev/sda2 e /dev/sdb2.
- Alla fine selezionare Fine nelle Azioni di configurazione multidisco.
Successivamente configurare md0 come filesystem montato su / e md1 come swap:
- Dal dialogo Partiziona dischi, selezionare il dispositivo RAID #0 (md0).
- Configurare il dispositivo come filesystem Ext3 e punto di mount /.
- Selezionare il dispositivo RAID #1 (md1) e configurarlo come area di swap.
Nota: alcuni installer moderni offrono LVM sopra RAID o RAID sopra LVM; qui descriviamo un RAID1 semplice senza LVM.
Rendere ogni disco avviabile
Dopo il primo avvio del nuovo sistema Ubuntu, eseguire GRUB per installare il bootloader anche sul secondo disco. Aprire un terminale come root e lanciare il comando seguente per entrare nella console di GRUB legacy:
grub
Poi eseguire i comandi nella console GRUB:
device (hd1) /dev/sdb
root (hd1,0)
setup (hd1)
quit
Questi comandi impostano hd1 come dispositivo che corrisponde a /dev/sdb, indicano la partizione root su hd1 e installano GRUB sul secondo disco.
Aggiungere il secondo disco al menu di GRUB
Modificare il file /boot/grub/menu.lst per includere una voce di emergenza che avvii il sistema dal secondo disco se /dev/sda dovesse fallire. Aprire il file con un editor come vi:
vi /boot/grub/menu.lst
Aggiungere una sezione simile a questa (modificare i nomi del kernel e dell’initrd se necessario):
### To boot if sda fails ###
title Ubuntu 8.04.1, kernel 2.6.24-19-generic /dev/sda fail
root (hd1,0)
kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/md0 ro quiet splash
initrd /boot/initrd.img-2.6.24-19-generic
### End mod ###
Dopo la modifica, riavviare e verificare che il sistema possa avviarsi anche dal secondo disco scollegando temporaneamente il primo (procedura di test controllata).
Manutenzione e monitoraggio
Avere due dischi in mirror consente al server di continuare a funzionare se uno dei dischi si guasta. Quando un disco fallisce completamente, il driver RAID del kernel lo rimuove automaticamente dall’array. Tuttavia, potrebbe verificarsi un degrado delle prestazioni anche prima di un guasto completo, ad esempio se un disco inizia a mostrare errori di seek.
Comandi utili per ispezionare lo stato RAID:
cat /proc/mdstat
mdadm --query --detail /dev/md0
mdadm --query --detail /dev/md1
È consigliato monitorare SMART dei dischi con smartctl (pacchetto smartmontools). SMART può dare segnali utili, ma non è infallibile: alcuni guasti avvengono senza avvisi SMART.
Esempio di rimozione manuale di un disco degradato (marcare come failed):
mdadm --fail /dev/md0 /dev/sda1
mdadm --fail /dev/md1 /dev/sda2
Poi rimuovere le partizioni fallite dall’array:
mdadm --remove /dev/md0 /dev/sda1
mdadm --remove /dev/md1 /dev/sda2
Dopo aver sostituito il disco fisico, ricreare una tabella di partizioni equivalente e riaggiungere le partizioni ai rispettivi device MD con:
# Copia tabella partizioni da sdb a sda (modificare sorgente/destinazione con attenzione)
sfdisk --dump /dev/sdb | sfdisk /dev/sda
# Aggiungi le partizioni all'array
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
Monitorare la ricostruzione (resync) con:
cat /proc/mdstat
La ricostruzione sfrutta cicli CPU inattivi per ridurre l’impatto sulle prestazioni.
Creare un nuovo array usando spazio libero
Se è disponibile spazio libero su entrambi i dischi, è possibile creare un nuovo array RAID1 come segue (dopo aver creato partizioni fd con fdisk):
sudo mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sda5 /dev/sdb5
Accertarsi che il tipo di partizione sia impostato su RAID (codice fd) quando si usa fdisk.
Quando e perché RAID1 software può fallire o non essere adeguato
- Se l’obiettivo è la tolleranza a errori multipli in ambienti enterprise con molte unità e RAID più complessi, RAID1 potrebbe non bastare; valutare RAID6 o soluzioni basate su controller hardware certificato.
- RAID non è un backup. RAID protegge dalla perdita di un disco fisico, non dalle cancellazioni accidentali, da errori dell’applicazione, da corruzione logica o da eventi catastrofici (furto, incendio). Mantenere backup separati.
- Se non si presta attenzione a firmware, compatibilità e modello dei dischi, due dischi identici acquistati insieme possono guastarsi nello stesso periodo. Valutare mix di vendor o rotazioni temporali d’acquisto.
Approcci alternativi e considerazioni
- Hardware RAID: controller dedicati con batteria/cache possono offrire prestazioni migliori e funzionalità enterprise, ma a costo maggiore e minore flessibilità.
- LVM su RAID: usare LVM sopra RAID per creare volumi logici più flessibili; viceversa, alcuni scelgono RAID sopra LVM per particolari flussi di lavoro. Progettare in base ai requisiti di snapshot, ridimensionamento e backup.
- Filesystem resilienti: usare filesystem moderni con controllo di integrità (es. btrfs o ZFS) per rilevare corruzione dei dati; questi filesystem hanno specifiche integrazioni con RAID e snapshot.
Checklist rapida (ruoli: amministratore)
- Prima dell’installazione: eseguire backup completi e verificare integrità dei backup.
- Durante l’installazione: creare partizioni identiche su entrambi i dischi e impostare type «physical volume for RAID».
- Dopo l’installazione: installare GRUB su entrambi i dischi.
- Monitoraggio: configurare mdadm –monitor per notifiche via email e abilitare controlli SMART.
- In caso di guasto: marcare l’unità come failed, rimuoverla dall’array, sostituirla fisicamente, clonare la tabella partizioni e aggiungere le nuove partizioni con mdadm –add.
Procedura standard operativa (Playbook rapido)
- Controllo pre-sostituzione: verificare /proc/mdstat e i dettagli con mdadm.
- Segnalazione: notificare le parti interessate e pianificare finestra di manutenzione se necessaria.
- Isolare il disco degradato: mdadm –fail e mdadm –remove sul device corrispondente.
- Spegnere la macchina (se richiesto) e sostituire il disco fisico.
- All’avvio, replicare la tabella partizioni e aggiungere le partizioni all’array con mdadm –add.
- Monitorare la ricostruzione e verificare il log di syslog per eventuali errori.
- Verificare GRUB e testare il boot dal secondo disco in ambiente controllato.
Esempi di casi limite ed errori comuni
- Errore comune: digitare l’unità di origine e destinazione sbagliata con sfdisk. Questo azzera la tabella partizioni del disco sbagliato. Sempre ricontrollare /dev/sda vs /dev/sdb.
- Errore di parametrizzazione: usare trattini lunghi o caratteri non ASCII nelle opzioni dei comandi mdadm. Assicurarsi di usare due trattini minuscoli per le opzioni lunghe, es. –fail, –remove, –add.
- Incompatibilità GRUB: sistemi con GRUB2 hanno file di configurazione diversi rispetto a GRUB legacy; adattare le istruzioni al bootloader in uso.
Piccola metodologia per decisioni rapide (Impact × Effort)
- Rebuild immediato dell’array dopo sostituzione: Impatto alto, Sforzo medio — azione consigliata.
- Test di avvio sul secondo disco: Impatto alto sulla affidabilità, Sforzo basso — raccomandato.
- Passare a hardware RAID per prestazioni: Impatto medio-alto, Sforzo alto — valutare se le esigenze crescono.
Mini-fact box
- Scopo primario: ridondanza dei dati su due dischi identici.
- Limite chiave: non sostituisce i backup.
- Strumenti principali: mdadm, sfdisk, grub, smartctl.
Esempio di comando di monitoraggio automatizzato
Un modo semplice per ricevere notifiche di degrado è avviare mdadm in modalità monitor (spesso gestita automaticamente quando Ubuntu rileva una configurazione RAID):
mdadm --monitor --daemonise --mail=root@localhost --delay=180
Nota: configurare il sistema di posta locale o un servizio di inoltro per ricevere le email di notifica.
Test di accettazione rapidi
- Il sistema si avvia correttamente con un disco scollegato.
- mdadm mostra lo stato SYNCHRONIZING dopo aver aggiunto un disco nuovo.
- I backup sono stati eseguiti e verificati prima dell’operazione.
Riepilogo
Software RAID1 su Linux (Ubuntu 8.04) offre una soluzione economica e flessibile per la ridondanza dei dati. Richiede un po’ di attenzione durante l’installazione e manutenzione, ma fornisce continuità di servizio quando un disco fallisce. Integrare il monitoraggio di mdadm e SMART e avere procedure scritte per la sostituzione dei dischi riduce i tempi di inattività e il rischio di perdita di dati.
Importante: RAID non è un backup. Conservare sempre copie separate e testare periodicamente procedure di ripristino.
Fine.