Linux 6.2 će uključiti poboljšanja RAID5 i RAID6 u Btrfs

Linux Kernel

Linux Kernel

Nedavno je to otkriveno Predložena su poboljšanja Btrfs-a za uključivanje u jezgro Linuxa 6.2 da popravimo problem rupe za pisanje u implementaciji RAID 5/6.

Suština problema se svodi na činjenicu da ako dođe do pada tokom snimanja, u početku je nemoguće razumjeti koji blok na kojem od RAID uređaja je ispravno napisan, a na kojem nije završeno snimanje.

Ako pokušate ponovo izgraditi RAID u ovoj situaciji, blokovi koji odgovaraju pretplaćenim blokovima mogu postati oštećeni jer stanje RAID blokova nije sinhronizirano. Ovaj problem se javlja u bilo kojem RAID1/5/6 polju gdje se ne poduzimaju posebne mjere za borbu protiv ovog efekta.

U RAID implementaciji kao što je RAID1 u btrfs-u, ovaj problem je riješen korištenjem kontrolnih suma na obje kopije, ako postoji neusklađenost, podaci se jednostavno vraćaju iz druge kopije. Ovaj pristup također funkcionira ako bilo koji uređaj počne da daje loše podatke umjesto da potpuno pokvari.

Međutim, u slučaju RAID5/6, sistem datoteka ne pohranjuje kontrolne sume za paritetne blokove - u normalnoj situaciji, ispravnost blokova se provjerava činjenicom da su svi opremljeni kontrolnim zbrojem, a blok parnosti se može ponovo kreirati iz podataka. Međutim, u slučaju djelomičnog snimanja, ovaj pristup možda neće raditi u određenim situacijama. U ovom slučaju, prilikom vraćanja niza, moguće je da blokovi preostali u nekompletnom zapisu se neispravno vraćaju.

U slučaju btrfs-a, ovaj problem je relevantniji ako je upis koji se javlja manji od trake. U ovom slučaju, sistem datoteka mora izvršiti operaciju čitanja-mjenjanja-pisanja (RMW).

Ako naiđe na blokove u toku pisanja, operacija RMW može uzrokovati oštećenje koje će ostati neotkriveno, bez obzira na kontrolne sume. Programeri su napravili izmjene u kojima RMW operacija provjerava kontrolnu sumu blokova prije izvođenja ove operacije, a ako je potrebno, oporavak podataka također vrši verifikaciju kontrolne sume nakon pisanja.

Nažalost, u situaciji kada je napisan nepotpuni rub (RMW), ovo stvara dodatne troškove za izračunavanje kontrolnih suma, ali značajno povećava pouzdanost. Za RAID6 takva logika još nije spremna,

Osim toga, možemo primijetiti preporuke programera o korištenju RAID5/6, čija je suština da se u Btrfs-u profil za pohranjivanje metapodataka i podataka može razlikovati. U ovom slučaju, možete koristiti RAID1 (ogledalo) ili čak RAID1C3 (3 kopije) profil za metapodatke i RAID5 ili RAID6 za podatke.

Ovo osigurava pouzdanu zaštitu metapodataka i odsustvo "rupe za upis" s jedne strane, te efikasnije korištenje prostora, tipično za RAID5/6, s druge strane. Ovo sprečava oštećenje metapodataka i oštećenje podataka se može ispraviti.

Takođe Može se primijetiti da za SSD-ove na Btrfs-u u kernelu 6.2, la asinhrono izvršavanje operacije "odbaci". (označite oslobođene blokove koji se više ne mogu fizički pohraniti) će biti uključeno po defaultu.

Prednost ovoga režim je visokih performansi zbog efikasnog grupisanja operacija odbacivanja u redu i naknadne obrade reda od strane pozadinskog rukovaoca, tako da se normalne FS operacije ne usporavaju kao što je slučaj sa sinhronim "odbacivanjem" jer se blokovi oslobađaju, a SSD može poboljšati odluke. S druge strane, više nećete morati koristiti uslužne programe kao što je fstrim, jer će svi dostupni blokovi biti izbrisani u FS-u bez potrebe za dodatnim skeniranjem i bez usporavanja operacija.

Konačno, ako ste zainteresirani da saznate više o tome, možete pogledati detalje u sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.