Home
» LINUX
»
Come configurare un array RAID 1 su Debian 12 dalla riga di comando
Come configurare un array RAID 1 su Debian 12 dalla riga di comando
Questa procedura crea un array di dati RAID 1 software su Debian 12 (Bookworm) mdadm, formatta il dispositivo assemblato come ext4 e lo monta in modo permanente. Si presuppone che Debian sia già installato su un disco di sistema separato e che i due dischi RAID non siano utilizzati. I comandi seguenti sono esempi; i nomi e le dimensioni dei dispositivi devono essere verificati sul server che si sta configurando.
Avviso di perdita di dati: il partizionamento e la formattazione possono distruggere i dati. Non eseguire questi comandi su un disco che contiene file necessari. RAID 1 esegue il mirroring delle scritture; non sostituisce un backup indipendente e non può proteggere da cancellazione, danneggiamento del file system, furto o malware che modifica entrambe le copie.
Prima di iniziare: conferma i dischi di destinazione
È necessario disporre dei permessi di root o utilizzarli sudoprima di ogni comando amministrativo.
Utilizzare due dischi separati, idealmente con capacità uguale o quasi uguale. La capacità utilizzabile dell'array è limitata dal disco di capacità inferiore.
Mantieni il sistema operativo, il bootloader e la partizione di sistema EFI al di fuori di questa procedura di array di dati.
Eseguire il backup dei dati importanti e verificare che nessuno dei dischi di destinazione sia montato o in uso.
Debian 12 Bookworm fornisce gli strumenti qui utilizzati. Il comportamento di mdadm, sgdisk, e update-initramfsè documentato nel manuale di mdadm , nel manuale di sgdisk e nel manuale di update-initramfs di Debian Bookworm . Consultare questi riferimenti con le relative versioni se i pacchetti installati sono diversi.
Come configurare RAID 1 su Debian 12
1. Individua i dischi e verifica che non siano utilizzati.
Nell'esempio seguente, /dev/sdaè il disco di sistema Debian, mentre /dev/sdbe /dev/sdcsono dischi dati vuoti da 2 TB. I nomi che utilizzerete saranno probabilmente diversi. Confrontate dimensioni, modello, numero di serie, filesystem e punti di montaggio; non identificate un disco /dev/sdXsolo dal suo nome. Per un identificatore permanente, esaminate ls -l /dev/disk/by-id/e correlate ogni collegamento con il numero di serie stampato da lsblk.
Visualizzazione esemplificativa del terminale di lsblk: il disco di sistema è montato, mentre due dischi dati separati appaiono senza filesystem o punti di montaggio. Verificare questi dettagli sul proprio server prima di continuare.
2. Creare una partizione RAID Linux su ciascun disco vuoto
Per i dischi che risultano vuoti, crea una partizione GPT nello spazio disponibile e contrassegnala come RAID Linux. Ecco fd00il codice abbreviato di sgdisk per il RAID Linux:
Sostituisci entrambi i nomi dei dischi di esempio con i due target verificati. --new=1:0:0Chiede a sgdisk di allocare la partizione 1 utilizzando lo spazio disponibile. Le modifiche alla tabella delle partizioni sono distruttive se si selezionano dischi con dati esistenti. Se sgdisk segnala un layout esistente, partizioni impreviste o errori poco chiari, interrompi e indaga invece di forzare la modifica. Verifica che le nuove partizioni (normalmente /dev/sdb1e /dev/sdc1) siano presenti e abbiano approssimativamente le stesse dimensioni.
Visualizzazione a schermo dell'interfaccia utente di sgdisk durante la scrittura di una partizione RAID Linux su ciascuno dei due dischi dati selezionati. La partizione modifica i metadati del disco e deve essere applicata solo a unità vuote e verificate.
3. Installare mdadm e le utilità di partizionamento GPT
Aggiorna l'indice dei pacchetti e installa i comandi necessari:
apt update
apt install mdadm gdisk
Il gdiskpacchetto fornisce sgdisk. Esamina le modifiche proposte dal gestore dei pacchetti prima di accettarle, soprattutto su un host di produzione.
Visualizzazione a schermo dell'installazione di mdadm e gdisk tramite apt dai repository di Debian Bookworm.
4. Creare l'array RAID 1 a due dischi
Utilizza le partizioni, non i dischi interi, come elementi dell'array. Sostituisci i /dev/disk/by-id/…-part1percorsi stabili che hai verificato, se disponibili; i nomi abbreviati riportati di seguito mantengono l'esempio leggibile:
--level=1Seleziona il mirroring, --raid-devices=2imposta i due membri e specifica esplicitamente la versione 1.2 dei metadati. La creazione dell'array scrive i metadati RAID e avvia la sincronizzazione. Non continuare se mdadm avverte che un membro contiene metadati RAID esistenti o dati di cui non si ha traccia. Non rispondere con --forcecome scorciatoia.
Visualizzazione esemplificativa del terminale del comando mdadm --create per un array RAID 1 a due membri. I nomi dei dispositivi mostrati sono esempi e non dischi verificati.
5. Monitorare la sincronizzazione e verificare entrambi i membri
Verifica l'avanzamento e lo stato attuale dell'array:
cat /proc/mdstat
mdadm --detail /dev/md0
Durante la sincronizzazione iniziale, /proc/mdstatpotrebbero essere visualizzati una percentuale di risincronizzazione e un tempo stimato; attendere il completamento prima di considerare il mirror completamente sincronizzato. Un array a due membri tipicamente completato mostra [2/2] [UU], il che significa che entrambi gli slot dei membri previsti sono presenti, mentre mdadm --detaildovrebbe elencare due dispositivi attivi e segnalare uno stato pulito. Questi indicatori descrivono lo stato di salute dell'array in quel momento; non costituiscono un controllo di backup né una garanzia che entrambi i dischi fisici rimarranno integri.
Visualizzazione illustrativa del terminale di /proc/mdstat e mdadm --detail. Un array a due membri integro mostra in genere entrambi i membri attivi e [2/2] [UU]; controllare l'output in tempo reale sull'host.
6. Salvare la definizione dell'array per l'assemblaggio all'avvio
Chiedi a mdadm la definizione dell'array:
mdadm --detail --scan /dev/md0
Esamina la ARRAYriga restituita e aggiungila esattamente a /etc/mdadm/mdadm.conf, utilizzando un editor e preservando le voci dell'array esistenti. Evita di aggiungere ciecamente copie ripetute. Il manuale mdadm.conf di Debian documenta questo file e come le definizioni degli array supportano l'assemblaggio. Su un'installazione standard di Debian che utilizza initramfs-tools, ricostruisci l'initramfs dopo aver modificato la configurazione:
update-initramfs -u
Questa operazione aggiorna l'immagine initramfs esistente; non crea un backup dell'array. Se il sistema utilizza un framework initramfs diverso o una configurazione di avvio non standard, seguire la procedura di aggiornamento documentata per tale framework.
Visualizzazione a schermo di una voce ARRAY rilevata tramite il comando mdadm --detail --scan e un comando di aggiornamento initramfs.
7. Creare un filesystem e montare l'array assemblato
Solo dopo aver verificato che /dev/md0si tratti del nuovo array, crea un filesystem ext4 su quel dispositivo:
mkfs.ext4 /dev/md0
mkdir -p /srv/raid1
mount /dev/md0 /srv/raid1
blkid /dev/md0
mkfs.ext4cancella i dati del filesystem sul dispositivo di destinazione. Eseguilo sul dispositivo array assemblato, non su /dev/sdb1o /dev/sdc1; la formattazione diretta di un membro aggirerebbe il mirror. Copia l'UUID del filesystem stampato da blkid, quindi aggiungi una riga come la seguente a /etc/fstab, sostituendo il segnaposto con l'UUID reale:
L'utilizzo dell'UUID del filesystem evita di dipendere dall'ordine in cui Linux rileva i dischi. L'opzione finale 2abilita il normale ordine di controllo del filesystem secondario per i filesystem ext. Se si sceglie l' nofailopzione di montaggio in modo che l'avvio possa continuare quando lo storage non è disponibile, assicurarsi che i servizi non scrivano nella directory del punto di montaggio bare mentre l'array è assente.
Visualizzazione a schermo dell'interfaccia utente per la creazione di un filesystem ext4 sul dispositivo array assemblato e il suo montaggio in /srv/raid1. La formattazione cancella i dati del filesystem esistente.
8. Verificare la configurazione del mount e pianificare un riavvio controllato.
Controlla la voce fstab senza riavviare il sistema, quindi verifica lo stato di montaggio e RAID risultante:
mount -a
findmnt /srv/raid1
df -hT /srv/raid1
cat /proc/mdstat
mdadm --detail /dev/md0
findmntDovrebbe risultare /dev/md0montato /srv/raid1con il filesystem previsto. In caso contrario, correggerlo /etc/fstabprima del riavvio; un errore di battitura può interrompere l'avvio o rendere il mount assente. Una volta superati i controlli, pianificare un riavvio controllato e ripetere i controlli di mount e RAID in seguito. Questo articolo non garantisce che un server specifico sia stato testato al riavvio.
Visualizzazione a titolo esemplificativo da terminale di una voce UUID del filesystem in fstab e findmnt che mostra /dev/md0 montato su /srv/raid1.
Lista di controllo per la verifica rapida
Destinazione corretta: i controlli di numero di serie/modello e di montaggio hanno confermato che i dischi dati selezionati sono le unità non utilizzate previste.
Partizionamento: entrambe le partizioni dei membri esistono e hanno dimensioni simili.
Stato di salute dell'array:/proc/mdstat mostra entrambi i membri presenti come [UU]dopo la sincronizzazione e mdadm --detailsegnala due dispositivi attivi.
Filesystem e mount:findmnt /srv/raid1 mostra il dispositivo supportato dall'array e il filesystem previsto nel percorso specificato.
Persistenza: la definizione dell'array viene salvata in /etc/mdadm/mdadm.conf, l'UUID del filesystem si trova in /etc/fstab, e un riavvio pianificato conferma che entrambi sono assemblati e montati.
Limitazioni e considerazioni sul recupero
RAID 1 mantiene una copia dei blocchi scritti su ciascun membro, quindi il guasto di un singolo membro può lasciare l'array in uno stato degradato. Ciò non significa che tutte le applicazioni si comporteranno normalmente o che ogni guasto possa essere gestito senza tempi di inattività. Monitorare la macchina e intervenire tempestivamente in caso di avvisi relativi al disco o all'array. Prima di sostituire un disco guasto, utilizzare mdadm --detail /dev/md0identificatori di dispositivo stabili per determinare quale membro è interessato. Il disco di sostituzione deve normalmente avere una dimensione almeno pari a quella del membro esistente ed essere partizionato in modo da corrispondere all'array; l'aggiunta della partizione di sostituzione correttamente identificata mdadm --add /dev/md0 /dev/REPLACEMENT_PARTITIONavvia una ricostruzione. Verificare attentamente l'identità del dispositivo prima di eseguire qualsiasi comando di ripristino e monitorare la ricostruzione fino a quando entrambi i membri non tornano a uno stato integro.
Non utilizzare questa guida per la creazione di volumi di dati per replicare un filesystem root di Debian. Una configurazione RAID root avviabile comporta requisiti aggiuntivi relativi alla partizione di sistema EFI, all'installazione del bootloader, al contenuto di initramfs e ai test di ripristino. Allo stesso modo, non trattare una replica funzionante come una copia indipendente: mantieni un backup separato e versionato e testa il ripristino dei file da esso. Per informazioni generali sull'amministrazione di Debian SoftwareRAID, consulta la documentazione di Debian SoftwareRAID insieme ai manuali di Bookworm versionati collegati sopra.