Linux 6.2 va include îmbunătățiri la RAID5 și RAID6 în Btrfs

Linux Kernel

Linux Kernel

Recent a fost dezvăluit că au fost propuse îmbunătățiri ale Btrfs pentru a fi incluse în nucleul Linux 6.2 pentru a remedia problema găurii de scriere în implementarea RAID 5/6.

Esența problemei se rezumă la faptul că, dacă are loc o blocare în timpul înregistrării, este inițial imposibil de înțeles care bloc pe care dintre dispozitivele RAID a fost scris corect și pe care înregistrarea nu a fost finalizată.

Dacă încercați să reconstruiți un RAID în această situație, blocurile corespunzătoare blocurilor abonate pot deveni corupte deoarece starea blocurilor RAID nu este sincronizată. Această problemă apare în orice matrice RAID1/5/6 unde nu sunt luate măsuri speciale pentru a combate acest efect.

Într-o implementare RAID precum RAID1 în btrfs, această problemă este rezolvată prin utilizarea sumelor de control pe ambele copii, dacă există o nepotrivire, datele sunt pur și simplu restaurate din a doua copie. Această abordare funcționează și dacă orice dispozitiv începe să ofere date proaste în loc să eșueze complet.

Sin embargo, în cazul RAID5/6, sistemul de fișiere nu stochează sume de verificare pentru blocurile de paritate - într-o situație normală, corectitudinea blocurilor este verificată prin faptul că toate sunt echipate cu o sumă de control, iar blocul de paritate poate fi recreat din date. Cu toate acestea, în cazul înregistrării parțiale, este posibil ca această abordare să nu funcționeze în anumite situații. În acest caz, la restaurarea matricei, este posibil ca blocurile rămase în înregistrarea incompletă sunt restaurate incorect.

În cazul btrfs, această problemă este mai relevantă dacă scrierea care apare este mai mică decât dunga. În acest caz, sistemul de fișiere trebuie să efectueze o operație de citire-modificare-scriere (RMW).

Dacă întâlnește blocuri de scriere în curs, operațiunea RMW poate provoca corupție care va rămâne nedetectată, indiferent de sumele de control. Dezvoltatorii au făcut modificări în care operațiunea RMW verifică suma de control a blocurilor înainte de a efectua această operațiune, iar dacă este necesar, recuperarea datelor efectuează și o verificare a sumei de control după scriere.

Din păcate, într-o situație în care este scrisă o margine incompletă (RMW), acest lucru creează o suprasarcină suplimentară pentru a calcula sumele de control, dar crește semnificativ fiabilitatea. Pentru RAID6, o astfel de logică nu este încă pregătită,

În plus, putem observa recomandările privind utilizarea RAID5/6 de la dezvoltatori, a căror esență este că în Btrfs profilul pentru stocarea metadatelor și a datelor poate diferi. În acest caz, puteți utiliza profilul RAID1 (oglindă) sau chiar RAID1C3 (3 copii) pentru metadate și RAID5 sau RAID6 pentru date.

Acest lucru asigură o protecție fiabilă a metadatelor și absența unei „găuri de scriere”, pe de o parte, și o utilizare mai eficientă a spațiului, tipică RAID5/6, pe de altă parte. Acest lucru previne coruperea metadatelor, iar coruperea datelor poate fi corectată.

de asemenea Se poate remarca faptul că pentru SSD-urile de pe Btrfs în kernel 6.2, la execuția asincronă a operațiunii „renunțare”. (marcați blocurile eliberate care nu mai pot fi stocate fizic) va fi activat în mod implicit.

Avantajul acestui lucru modul este de înaltă performanță datorită grupării eficiente a operațiunilor de aruncare într-o coadă și postprocesării cozii de către un handler de fundal, astfel încât operațiunile normale FS nu sunt încetinite, așa cum este cazul „renunțării” sincrone, pe măsură ce blocurile sunt eliberate, iar SSD-ul poate îmbunătăți deciziilor. Pe de altă parte, nu va mai trebui să utilizați utilități precum fstrim, deoarece toate blocurile disponibile vor fi șterse în FS fără a fi nevoie de scanare suplimentară și fără a încetini operațiunile.

În cele din urmă, dacă sunteți interesat să puteți afla mai multe despre aceasta, puteți consulta detaliile în următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.