Sistemul de operare al Raspberry Pi este instalat fie pe cardul SD, fie pe un disc USB. Datorită ciclurilor limitate de scriere ale celulelor flash pe cardurile SD, fiabilitatea acestora nu este garantată. Hard disk-urile și SSD-urile se descurcă mai bine la fiabilitate; acesta din urmă folosește algoritmi de nivel de uzură pentru a prelungi durata de viață a dispozitivului. Dar totuși, păstrarea datelor doar pe un singur disc este întotdeauna riscantă.

Ideea de a oglindi datele utilizând RAID-1

Pentru a evita pierderea datelor în cazul unei defecțiuni a discului, Oglindirea datelor RAID-1 ar trebui implementat. Problema este că configurarea RAID nu este posibilă în timpul fazei de instalare a sistemului de operare pe un Raspberry Pi.

Această idee este despre configurarea RAID-1 Mirroring pe două SSD-uri USB, apoi copierea directorului de acasă în partiția RAID și configurarea pentru a-l folosi ca /home. Deoarece datele utilizatorului se află în directorul principal, datele pot fi recuperate complet și RAID poate fi reconstruit din nou în cazul unei singure erori de disc.

instagram viewer

Sistemul de operare va rămâne în continuare pe cardul SD (sau un alt SSD). Dacă discul OS eșuează, datele importante sunt încă disponibile pe matricea RAID-1. De asemenea, discul OS va dura mai mult, deoarece există o presiune mai mică pe disc. Acest lucru se datorează faptului că cea mai mare parte a activității discului are loc în directorul /home (de exemplu, citire/scriere continuă în „Fișiere de profil Firefox”).

Acest proces folosește o interfață web pentru a simplifica procesul, altfel complex, de configurare a RAID. Configurație afișată aici folosește Ubuntu MATE 22.04 și același proces poate fi aplicat oricărui alt sistem de operare Pi.

Alegeți hardware-ul potrivit ținând cont de disponibilitatea energiei

Pentru RAID-1 sunt necesare minim două discuri. Aceste discuri pot fi fie hard disk-uri, fie SSD-uri. Odată ce RAID-1 este configurat, datele sunt oglindite (clonate) în matrice. Înseamnă că datele sunt scrise pe ambele discuri și sunt citite de la cel mai rapid membru RAID.

Adaptoarele USB la SATA sunt folosite pentru a atașa SSD-urile la Pi. Un SSD consumă aproximativ 5 wați de putere la utilizarea maximă. Deoarece două dintre ele sunt necesare pentru RAID-1, disponibilitatea puterii trebuie luată în considerare.

2 (SSD-uri) x 5 (wați) = 10 wați

Un Pi 4 care rulează la ceas standard consumă în jur de 6 wați și un Pi 4 overclockat la sarcina maxima consuma aproape 8 wati.

Sursa de alimentare oficială a unui Raspberry Pi 4 este de 5,1 V, 3,0 A.

5,1 (volți) x 3 (amperi) = 15,3 wați

Rezumând, necesarul de putere este mai mare decât puterea maximă a adaptorului.

10 wați + 8 wați > 15,3 wați

Pi va trebui, de asemenea, să-și alimenteze sistemul de răcire. Deci, SSD-urile trebuie alimentate extern pentru a avea spațiu liber pentru o funcționare stabilă.

A USB HDD/SSD Dual Dock se potrivește ideal acestui scop, poate găzdui atât discuri de 2,5" cât și 3,5". Are propriul adaptor de alimentare și nu va consuma energie de la Pi.

SD-uri pentru RAID, alegeți modele cu TBW non-identice, astfel încât ambele discuri să aibă puncte de defecțiune la intervale diferite. Acest lucru oferă suficient timp pentru a reconstrui matricea RAID și vă va păstra datele în permanență intacte. Există două porturi USB 3.0 pe Pi 4. Deoarece dock-ul folosește doar unul dintre ele, un port de rezervă este încă disponibil pentru a conecta un alt dispozitiv rapid.

Conectați discurile la dock și porniți Pi. Configurarea RAID este ușoară folosind un instrument numit „Webmin”, interfața sa putând fi accesată prin browser. Deschideți terminalul (comandă rapidă: Ctrl+Alt+T) și utilizați aceste comenzi pentru a instala Webmin:

Editați fișierul sources.list:

sudo nano /etc/apt/sources.listă

Adăugați această linie (comandă rapidă: Ctrl+Shift+Insert):

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

Salvați fișierul folosind Ctrl+O, apăsați „Enter” și ieșiți folosind Ctrl+X.

Descărcați cheia pentru a avea încredere în sursă:

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

Actualizați noile depozite:

sudo apt Actualizați

Instalați Webmin:

sudo apt instalare webmin -y

Instalați utilitarul RAID software mdadm:

sudo apt instalare mdadm -y

Instalați instrumentul de gestionare a discurilor:

sudo apt instalare gnome-disk-utility -y

Setați o parolă pentru utilizatorul root (pentru a gestiona Webmin):

sudo su
passwd

Actualizați, faceți upgrade și reporniți:

actualizare sudo apt && sudo apt upgrade -y && sudo reboot

Procesul de construire a matricei RAID-1

Deschis Discuri instrument de la Meniu > Preferințe. De asemenea, puteți folosi comanda:

gnome-discuri

Ar arăta noile discuri, ar formata ambele.

Deschideți browserul web și introduceți această adresă URL:

https://localhost: 10000

Webmin rulează pe localhost la portul 10000. Deoarece se utilizează https și certificatul SSL nu este instalat, browserul va afișa un avertisment. Este sigur să faceți clic Avansat și apoi Acceptă riscul și continuă.

Conectați-vă cu utilizatorul ca „root” și parola pe care ați setat-o ​​mai devreme pentru root. În primul rând, Reîmprospătare module. Odată terminat, extindeți Hardware și selectați Linux RAID. Din meniul drop-down, selectați RAID1 (oglindă) și faceți clic pe butonul Creați dispozitiv RAID de nivel.

Selectați cele două discuri ținând apăsat butonul Ctrl cheie. Comutare Omiteți inițializarea dispozitivelor. Acest lucru deoarece inițializarea durează mult timp, mai mult de o oră pentru fiecare 100 GB și nu este necesară replicarea discurilor goale.

Clic Crea. Webmin ar trebui să răspundă în trei minute cu matricea nou creată. Apoi puteți verifica mai multe detalii prin intermediul /dev/md0. Cele două discuri sunt prezentate ca Partiții în RAID si Starea sistemului de fișiere este Activ dar nu montat.

Noua matrice RAID trebuie formatată înainte de a o monta. Acest lucru se poate face folosind Discurile din stânga. Selectează RAID-1 Array și Formatați partiția.

Dați un nume, de exemplu Date. Selectați butonul radio Disc intern pentru utilizare numai cu sisteme Linux (Ext4) și progresați pentru a-l formata.

Această matrice trebuie să fie montată automat la fiecare pornire. Selectați Editați opțiunile de montare.

Comutare Sesiuni implicite ale utilizatorului și faceți clic O.K. După autentificare, acest proces modifică fișierul „/etc/fstab”.

Reporniți, matricea RAID-1 montată apare ca folderul „Date” în exploratorul de fișiere.

Mutați directorul principal în RAID-1 Array

Pentru a oglindi datele importante, directorul principal trebuie să fie pe matricea RAID-1. Se recomandă să faceți o copie în loc să o mutați, motiv pentru care va ajuta „RAID Rebuild” în viitor.

În terminal:

dir /mnt

Copiați numele monturii RAID, arată ca „6256d81c-c23c-42c4-aea3-d194466c6c33” și este diferit pentru dvs. Înlocuiți numele directorului și utilizați această comandă pentru a clona directorul principal:

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

Faceți ca acest director nou să se monteze ca /home în loc de cel vechi:

sudo nano /etc/fstab

Găsiți linia /dev/disk... (de obicei, ultima linie de când tocmai l-ați montat) și schimbați punctul de montare în „/home”, așa cum se arată în captura de ecran de mai jos.

Reporniți, directorul principal al lui Pi este acum pe RAID-1 și datele sunt oglindite.

Opțiuni de recuperare a erorilor RAID Raspberry Pi

În cazul unei eșecuri RAID, există două opțiuni disponibile pentru recuperare și trebuie setate acum.

1) Montați matricea degradată și reconstruiți

Creați un fișier nou:

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

Includeți acest conținut:

BOOT_DEGRADED=Adevărat

Aceasta va monta matricea RAID chiar dacă un disc eșuează. Va fi folosit directorul de acasă din matricea degradată.

2) Nu montați matricea degradată, ci reconstruiți

Nu faceți nimic, matricea degradată nu se va monta la pornire. În schimb, va fi folosit vechiul director principal; mai devreme ați copiat directorul principal în loc să-l mutați din acest motiv. Acum, va ajuta la reconstruirea matricei RAID. Nu intrați în panică după ce observați datele lipsă în acest mod, amintiți-vă că acesta nu este directorul dvs. de domiciliu real. Datele dvs. sunt în siguranță pe alt disc și așteaptă să fie recuperate.

În cazul în care Webmin afișează un mesaj de eroare „mdadm: Nu se pot obține informații despre matrice pentru /dev/md0”.

Utilizați această comandă pentru a porni matricea:

sudo mdadm --run /dev/md0

Reconstituirea matricei în cazul unei defecțiuni

Deși nu este necesar să replicați acest pas, este bine să știți că datele pot fi recuperate în cazul unei defecțiuni a discului.

Proces de simulare

Pi este oprit și un disc este îndepărtat. Pi este apoi pornit și este accesat Webmin. În Linux RAID, cel stare este acum prezentat ca Inactiv. La inspecție ulterioară, verificare /dev/md0 arată o matrice degradată cu un singur disc în RAID.

Datele sunt intacte, dar acum sunt doar pe un singur disc. Matricea RAID trebuie reconstruită pentru a păstra datele.

Pi-ul este oprit, un nou disc HDD/SSD gol este introdus în locul celui vechi și Pi-ul este pornit. Webmin este accesat, verificând /dev/md0 afișează opțiuni pentru a adăuga un nou disc la matricea RAID. Selectați noul disc din meniul drop-down și faceți clic Adăugați o partiție.

Reconstrucția ar începe imediat, durata depinde de dimensiunea discurilor. În general, durează o oră pentru fiecare 100 GB (pentru SSD-uri).

Protejarea datelor lui Pi este esențială

Cu această implementare, datele sunt mai sigure și Pi poate fi folosit ca un driver zilnic. În ultimul timp, Raspberry Pi-urile sunt utilizate pe scară largă în aplicații industriale, iar timpul de nefuncționare poate fi minimizat.

Puteți face o alegere inteligentă cu selecția de SSD-uri. Producătorii au SSD-uri de capacitate similară la puncte de preț diferite, diferența fiind TBW (Total Bytes Written); modelul mai bun are de obicei cu 50% mai mult TBW. Când utilizați SSD-uri pentru RAID, alegeți modele cu TBW-uri neidentice, astfel încât ambele discuri să aibă puncte de defecțiune la intervale diferite. Acest lucru oferă suficient timp pentru a reconstrui matricea RAID și vă va păstra datele în permanență intacte.