Raspberry RAID5 mdadm

Raspberry RAID5 mdadm è un tutorial su un sistema Linux Raspbian per realizzare sistemi raid software.

Raspberry RAID5 mdadm linux

Se vuoi realizzare un NAS ( Network Attached Storage )  che possa fornirti l’affidabilità dei dati avrai certamente pensato ad un sistema raid.

Il tutorial che stai leggendo ti spiega passo-passo come realizzare un RAID 5 su Raspberry Pi basato su 4 dischi.

Per l’occasione ho scelto 4 usb-key da 64Gb ciascuna USB2.0 in quanto le porte della RPi sono in standard 2.0

Inoltre non disponendo di un controller RAID hardware userai mdadm per realizzare un raid software.

RAID5

Non ho la pretesa di spiegare cosa sia e come sia costruito un RAID5, ti invito a leggere le pagine di siti più autorevoli come Wikipedia o specifici sull’argomento.

Inizia dalle caratteristiche del RAID 5:

  • ha necessità di almeno 3 dischi per essere configurato;
  • offre una capacità pari a Cx(N-1): C = Capacità del singolo disco, N = numero di dischi impiegati;
  • l’affidabilità è N-1 dischi: ossia puoi permetterti che un solo disco alla volta sia corrotto;

In questo tutorial leggerai come realizzare un RAID5 a 4 dischi.

Il metodo che un RAID5 utilizza per immagazzinare i dati è quello visibile in figura:

RAID 5 Wikipedia

Fonte: wikipedia

ossia il dato A viene ripartito sui primi tre dischi e sul quarto inserisce la parità relativa all’informazione.

Allo stesso modo i dati B,C,D, ecc.. distribuendo il dato di parità in modo uniforme su tutti i dischi.

Tale sistema permette, in caso di rottura di uno dei dischi di sopperire alle informazioni in esso presenti ricostruendole da quelle sugli altri dischi.

Allo stesso modo la rottura di due dischi comporta la perdita di tutti i dati in esso contenuti.

Un vantaggio ulteriore della suddivisione dei dati secondo questo schema è la velocità di lettura che può essere eseguita in parallelo su tutti i device.

Di contro la scrittura viene penalizzata dal numero di I/O necessari per collocare e distribuire il dato su tutti dischi e calcolarne la parità.

Raspberry RAID5 mdadm

Concentrati adesso sullo scopo del nostro tutorial: Raspberry RAID5 mdadm, hai già letto che si tratta di un RAID5 software.

Userai il più conosciuto software raid per Linux “mdadm”, inizia con l’installazione del software mediante apt-get:

Raspberry RAID5 mdadm apt get

collega poi i dischi ed esegui in “lsblk” per controllare che siano tutti correttamente visibili:

Raspberry RAID5 mdadm lsblk disk

se tutti sono stati riconosciuti dal sistema li vedrai come sda,sdb,sdc ed sdd, in ciascuno dei quali potrebbe essere presente una o più partizioni ( sda1, sdb1, .. ) 

Il disco mmcblk0 e sue partizioni ( p1 e p2 ) sono quelle della SD card e relative al sistema operativo.

Procedi ora a creare il tuo raspberry RAID5 mdadm usando il comando:

Raspberry RAID5 mdadm create raid

mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

in cui le opzioni:

  • –create: ti permette di creare un nuovo raid;
  • /dev/md0: è il nome del nuovo device che sarà creato;
  • –level=5: specifica che si tratta di un raid di livello 5 ( RAID5 );
  • –raid=devices=4: indica che il numero di dischi ( devices ) su cui vuoi che sia creato il raid è 4;
  • /devsdX: sono i 4 device elencati sopra e su cui vuoi creare il raid;

l’operazione di creazione dura qualche secondo ed il prompt ti chiede conferma:

Raspberry RAID5 mdadm create raid confirm

prima di continuare.

Dopo la conferma ritorna la seguente schermata:

Raspberry RAID5 mdadm raid created

del il prompt è nuovamente disponibile.

L’operazione di creazione è in corso, quella in cui, mdadm sincronizza tutti i dischi e predispone il RAID 5.

Puoi controllare tale operazione con il comando:

Raspberry RAID5 mdadm raid status mdstat

cat /proc/mdstat

in cui la barra di avanzamento a sinistra ti mostra lo stato della costruzione del raid, nell’esempio 0.1%.

Dopo qualche ora, nell’esempio 215.3min potrai osservare che il medesimo comando ti mostrerà:

Raspberry RAID5 mdadm completed

ad indicare che tutti e 4 i device sono allineati ed attivi [UUUU] del tuo raspberry RAID5 mdadm.

Monta il nuovo Filesystem raspberry RAID5 mdadm

In questo momento hai creato il tuo raspberry RAID5 mdadm e disponi di un nuovo device ( /dev/md0 ) che devi formattare e montare prima di poterlo utilizzare.

Inizia con la formattazione, similmente a come se fosse un disco unico e fisico, esegui l’mkfs:

Raspberry RAID5 mdadm mkfs ext4

al termine del quale avrai formattato il disco /dev/md0 del raspberry RAID5 mdadm e puoi quindi procedere a montarlo ed utilizzarlo.

Crea la directory che userai come “mount point” ossia il percorso a cui il Fs Raid5 è collegato e da cui vi accederai:

Raspberry RAID5 mdadm mount raid disk

e subto dopo esegui il comando di mount, ricordandoti che il device, primo parametro, è /dev/md0 e il mount point, secondo parametro, è il path che hai creato.

Se tutto è andato a buon fine non avrai ricevuto errori e ritrovi il tuo raspberry RAID5 mdadm tra i path in cui puoi inserire dati:

Raspberry RAID5 mdadm show new raid disk

Nel nuovo percorso potrai salvare tutti i dati che reputerai da proteggere in caso di fault di una usb-key.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/informatica/raspberry-raid5-mdadm.html

2 commenti

    • Andrea il 9 Luglio 2019 alle 15:39
    • Rispondi

    Ciao, mi sono letto la tua guida con molto interesse, è fatta davvero molto bene.
    Avrei delle domande e spero di potertele fare qui, cerco di non rubarti troppo tempo prometto! 🙂
    1) Su un raid 5 se si rompono due dischi si perdono i dati… è possibile (con 4 dischi) fare un raid più sicuro sempre su Raspberry?
    2) Presumo che i dischi debbano essere uguali di capacità ma anche di marca o modello?
    3) Sto cercando di creare un cloud casalingo con Rasp e Nextcloud ma con un occhio alla sicurezza dei dati. Una volta creato il nuovo volume raid (secondo te) è possibile farlo vedere a nextcloud?
    4) Se non parto subito con 4 dischi ma con due e creo un raid 1 (mirroring) posso “aggiungere” dischi e passare a raid 5 senza prima formattare tutto e dover spostare tutto? (conosco la risposta che è no, ma chiedo avendo conoscenze limitate di linux e raid, magari vengo molto piacevolmente smentito!
    Spero di non farti perdere troppo tempo e ti ringrazio del tempo che vorrai dedicarmi 🙂

    1. Ciao Andrea,
      le tue domande sono tutte interessanti e rispondo volentieri a chi sta cercando di accrescere le proprie conoscenze.
      Inizio col fornirti una link ( https://it.wikipedia.org/wiki/RAID ) che seppur in modo solo introduttivo ti risolverà qualche dubbio in merito a tipologie di RAID esistenti e realizzabili.

      In merito ai dubbi:
      Su un RAID 5 la rottura di un secondo disco è deleterea per i dati stessi che diventano irrecuperabili, come leggi nel link su wikipedia.
      Un raid più sicuro con soli 4 dischi è difficile da immaginare, il RAID 5 è un giusto compromesso tra affidabilità, velocità di acceso e capacità di storage. Considera in ogni caso che su Raspberry che io sappia non esistono controller RAID dedicati e, come ho mostrato io, devi lavorare con raid software.

      I dischi possono essere anche differenti in capacità/marca/modello ovviamnte per ciascuna differenza avrai un limite su uno degli aspetti quali disponibilità di spazio/affidabilità/performance.

      Io l’ho realizzato diverse volte un cloud ( NExtCloud ) provando alcune schede SBC ( Single Board Computer: come RPi ) ed altre tradizionali ed attualmente utilizzo un NAS, di cui ho realizzato e descritto anche il case in questo blog, basato su una matherboard mini-itx di una nota casa hardware, dopo aver trovato il NAS con Rapspberry Pi utile come dispositivo portatile di storage sicuro, come uso quello che ho presentato, ma non adatto a performance elevate.

      Il assaggio tra RAID level è possibile con mdadm, io l’ho utilizzato una volta con successo, solitamente incrementi il livello, non ho mai provato a cambiare decrementandolo. Se inizi con due dischi in RAID 1 quando disporrai di altri due dischi cerca nella documentazione dell’mdadm come fare.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.