Il sistema operativo di Raspberry Pi è installato sulla scheda SD o su un disco USB. A causa dei limitati cicli di scrittura delle celle flash sulle schede SD, la loro affidabilità non è garantita. I dischi rigidi e gli SSD hanno prestazioni migliori in termini di affidabilità; quest'ultimo utilizza algoritmi di livello di usura per prolungare la vita del dispositivo. Tuttavia, mantenere i dati su un solo disco è sempre rischioso.

L'idea di eseguire il mirroring dei dati utilizzando RAID-1

Per evitare la perdita di dati in caso di guasto del disco, Mirroring dei dati RAID-1 dovrebbe essere implementato. Il problema è che non è possibile impostare RAID durante la fase di installazione del sistema operativo su un Raspberry Pi.

Questa idea riguarda la configurazione del mirroring RAID-1 su due SSD USB, quindi la copia della directory home nella partizione RAID e la configurazione per utilizzarla come /home. Poiché i dati dell'utente risiedono nella home directory, i dati possono essere completamente recuperati e il RAID può essere ricostruito nuovamente in caso di guasto di un singolo disco.

instagram viewer

Il sistema operativo rimarrà comunque sulla scheda SD (o un altro SSD). Se il disco del sistema operativo si guasta, i dati importanti sono ancora disponibili sull'array RAID-1. Inoltre, il disco del sistema operativo durerà più a lungo poiché la pressione del disco è inferiore. Ciò è dovuto al fatto che la maggior parte dell'attività del disco si verifica nella directory /home (ad esempio, lettura/scrittura continua su "Firefox Profile Files").

Questo processo utilizza un'interfaccia web per semplificare il processo altrimenti complesso di configurazione del RAID. Configurazione mostrata qui utilizza Ubuntu MATE 22.04 e lo stesso processo può essere applicato a qualsiasi altro sistema operativo Pi.

Scegli l'hardware giusto considerando la disponibilità di alimentazione

Per RAID-1 sono necessari almeno due dischi. Questi dischi possono essere dischi rigidi o SSD. Una volta configurato RAID-1, i dati vengono duplicati (clonati) nell'array. Significa che i dati vengono scritti su entrambi i dischi e letti dal membro RAID più veloce.

Gli adattatori da USB a SATA vengono utilizzati per collegare gli SSD al Pi. Un SSD consuma circa 5 Watt di potenza al picco di utilizzo. Poiché due di questi sono necessari per RAID-1, è necessario tenere conto della disponibilità di alimentazione.

2 (SSD) x 5 (Watt) = 10 Watt

Un Pi 4 in esecuzione a un clock standard consuma circa 6 Watt e un Pi 4 overcloccato a pieno carico consuma quasi 8 Watt.

L'alimentazione ufficiale di un Raspberry Pi 4 è 5,1 V, 3,0 A.

5,1 (Volt) x 3 (Ampere) = 15,3 Watt

Riassumendo, la richiesta di alimentazione è superiore alla potenza massima dell'adattatore.

10 Watt + 8 Watt > 15,3 Watt

Il Pi dovrà anche alimentare il suo sistema di raffreddamento. Quindi, gli SSD devono essere alimentati esternamente per avere il margine per un funzionamento stabile.

UN Dock doppio HDD/SSD USB si adatta idealmente a questo scopo, può ospitare sia dischi da 2,5" che da 3,5". Ha il suo alimentatore e non assorbirà energia dal Pi.

SD per RAID, scegli modelli con TBW non identici in modo che entrambi i dischi abbiano punti di guasto a intervalli diversi. Questo dà tempo sufficiente per ricostruire l'array RAID e manterrà i tuoi dati perennemente intatti. Ci sono due porte USB 3.0 sul Pi 4. Poiché il dock ne utilizza solo uno, è ancora disponibile una porta di riserva per collegare un altro dispositivo veloce.

Collega i dischi al dock e accendi il Pi. La configurazione RAID è facile utilizzando uno strumento chiamato "Webmin", la sua interfaccia è accessibile tramite il browser. Apri il terminale (scorciatoia: Ctrl+Alt+T) e utilizzare questi comandi per installare Webmin:

Modifica il file sources.list:

sudo nano /etc/apt/sources.elenco

Aggiungi questa riga (scorciatoia: Ctrl+Maiusc+Inserisci):

deb http://download.webmin.com/download/repository sarge contrib

Salva file utilizzando Ctrl+O, premi "Invio" ed esci usando CTRL+X.

Scarica la chiave per fidarti della fonte:

wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add

Aggiorna nuovi repository:

sudo apt aggiornare

Installa Webmin:

sudo apt installare webmin -y

Installa l'utility RAID software mdadm:

sudo apt installare mdam -y

Installa lo strumento di gestione del disco:

sudo apt installare utilità-disco-gnome -y

Imposta una password per l'utente root (per gestire Webmin):

sudo su
passwd

Aggiorna, aggiorna e riavvia:

sudo apt aggiornamento && sudo apt upgrade -y && sudo riavvio

Processo per costruire l'array RAID-1

Aprire Dischi strumento da Menu > Preferenze. Puoi anche usare il comando:

gnomi-dischi

Mostrerebbe i nuovi dischi, formatta entrambi.

Apri il browser web e inserisci questo URL:

https://host locale: 10000

Webmin viene eseguito su localhost alla porta 10000. Poiché viene utilizzato https e il certificato SSL non è installato, il browser visualizzerà un avviso. È sicuro fare clic Avanzate poi Accetta il rischio e continua.

Accedi con l'utente come "root" e la password che hai impostato per root in precedenza. Primo su, Aggiorna moduli. Una volta fatto, espandi Hardware e seleziona RAID Linux. Dal menu a tendina, seleziona RAID1 (con mirroring) e fare clic sul pulsante Crea dispositivo RAID di livello.

Seleziona i due dischi tenendo premuto il tasto Ctrl chiave. Attiva/disattiva Salta l'inizializzazione dei dispositivi. Questo perché l'inizializzazione richiede molto tempo, più di un'ora per ogni 100 GB, e non è necessario replicare i dischi vuoti.

Clic Creare. Webmin dovrebbe rispondere in tre minuti con l'array appena creato. È quindi possibile controllare più dettagli tramite /dev/md0. I due dischi sono mostrati come Partizioni in RAID e il Stato del file system è Attivo ma non montato.

Il nuovo array RAID deve essere formattato prima di montarlo. Questo può essere fatto usando i dischi a sinistra. Seleziona il Array RAID-1 e Formatta partizione.

Dai un nome, per esempio Dati. Seleziona il pulsante di opzione Disco interno per l'utilizzo solo con sistemi Linux (Ext4) e procedi per formattarlo.

Questo array deve essere montato automaticamente ad ogni avvio. Selezionare Modifica le opzioni di montaggio.

Attiva/disattiva Predefinito sessione utente e fare clic OK. Dopo l'autenticazione, questo processo modifica il file "/etc/fstab".

Riavvia, l'array RAID-1 montato viene visualizzato come cartella "Dati" in Esplora file.

Sposta la directory principale nell'array RAID-1

Per eseguire il mirroring di dati importanti, la home directory deve trovarsi sull'array RAID-1. Si consiglia di fare una copia invece di spostarla, perché in futuro aiuterà la "ricostruzione RAID".

Nel terminale:

dir /mnt

Copia il nome del montaggio RAID, sembra "6256d81c-c23c-42c4-aea3-d194466c6c33" ed è diverso per te. Sostituisci il nome della directory e usa questo comando per clonare la home directory:

sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/

Crea questa nuova directory da montare come /home invece di quella vecchia:

sudo nano /etc/fstab

Trova la linea /dev/disk... (di solito l'ultima riga da quando l'hai appena montato) e cambia il punto di montaggio in "/home" come mostrato nello screenshot qui sotto.

Riavvia, la home directory del Pi è ora su RAID-1 e i dati vengono duplicati.

Opzioni di ripristino dell'errore RAID Raspberry Pi

In caso di errore RAID, sono disponibili due opzioni per il ripristino e devono essere impostate ora.

1) Montare l'array degradato e ricostruire

Crea un nuovo file:

sudo nano /etc/initramfs-tools/conf.d/mdadm

Includi questo contenuto:

BOOT_DEGRADED=VERO

Ciò monterà l'array RAID anche se un disco si guasta. Verrà utilizzata la directory home sull'array degradato.

2) Non montare l'array degradato, ma ricostruire

Non fare nulla, l'array degradato non verrà montato all'avvio. Verrà invece utilizzata la vecchia home directory; prima hai copiato la home directory invece di spostarla per questo motivo. Ora, aiuterà a ricostruire l'array RAID. Non farti prendere dal panico dopo aver osservato i dati mancanti in questa modalità, ricorda che questa non è la tua vera directory home. I tuoi dati sono al sicuro su un altro disco e sono in attesa di essere recuperati.

Nel caso in cui Webmin mostri un messaggio di errore "mdadm: Impossibile ottenere informazioni sull'array per /dev/md0".

Utilizzare questo comando per avviare l'array:

sudo mdamm --run /dev/md0

Ricostruzione dell'array in caso di guasto

Sebbene non sia necessario replicare questo passaggio, è bene sapere che i dati possono essere recuperati in caso di guasto del disco.

Processo di simulazione

Il Pi è spento e un disco viene rimosso. Il Pi viene quindi acceso e si accede a Webmin. In RAID Linux, il Stato è ora mostrato come Non attivo. Dopo un'ulteriore ispezione, controllo /dev/md0 mostra un array degradato con un solo disco in RAID.

I dati sono intatti, ma ora si trovano solo su un disco. L'array RAID deve essere ricostruito per preservare i dati.

Il Pi è spento, un nuovo disco HDD/SSD vuoto viene inserito al posto di quello vecchio e il Pi viene acceso. Si accede a Webmin, controllando /dev/md0 mostra le opzioni per aggiungere un nuovo disco all'array RAID. Seleziona il nuovo disco dal menu a discesa e fai clic Aggiungi partizione.

La ricostruzione inizierà immediatamente, la durata dipende dalla dimensione dei dischi. In genere ci vuole un'ora per ogni 100 GB (per gli SSD).

La protezione dei dati del tuo Pi è essenziale

Con questa implementazione, i dati sono più sicuri e il Pi può essere utilizzato come driver quotidiano. Di recente, i Raspberry Pi sono ampiamente utilizzati nelle applicazioni industriali e i tempi di inattività possono essere ridotti al minimo.

Puoi fare una scelta intelligente con la selezione di SSD. I produttori hanno SSD di capacità simile a prezzi diversi, la differenza è TBW (Total Bytes Written); il modello migliore di solito ha il 50% in più di TBW. Quando si utilizzano SSD per RAID, scegliere modelli con TBW non identici in modo che entrambi i dischi presentino punti di errore a intervalli diversi. Questo dà tempo sufficiente per ricostruire l'array RAID e manterrà i tuoi dati perennemente intatti.