„Linux 6.2“ apims Btrfs RAID5 ir RAID6 patobulinimus

Linux Kernel

Linux Kernel

Neseniai paaiškėjo, kad Btrfs patobulinimai buvo pasiūlyti įtraukti į Linux 6.2 branduolį Norėdami išspręsti RAID 5/6 diegimo rašymo skylės problemą.

Problemos esmė slypi tame, kad jei įrašymo metu įvyksta gedimas, iš pradžių neįmanoma suprasti, kuris blokas, kuriame iš RAID įrenginių buvo įrašytas teisingai, o kuriame įrašymas nebuvo baigtas.

Jei tokioje situacijoje bandysite atkurti RAID, blokai, atitinkantys prenumeruojamus blokus, gali būti sugadinti, nes RAID blokų būsena yra nesinchronizuota. Ši problema kyla bet kuriame RAID1/5/6 masyve, kur nesiimama jokių specialių priemonių šiam efektui įveikti.

Naudojant RAID diegimą, pvz., RAID1 btrfs, ši problema išspręsta naudojant kontrolines sumas abiejose kopijose, jei yra neatitikimų, duomenys tiesiog atkuriami iš antrosios kopijos. Šis metodas taip pat veikia, jei kuris nors įrenginys pradeda teikti blogus duomenis, o ne visiškai sugenda.

Tačiau RAID5/6 atveju failų sistema nesaugo kontrolinių sumų pariteto blokams - įprastoje situacijoje blokų teisingumas tikrinamas tuo, kad jie visi turi kontrolinę sumą, o pariteto bloką galima atkurti iš duomenų. Tačiau dalinio įrašymo atveju šis metodas gali neveikti tam tikrose situacijose. Tokiu atveju, atkuriant masyvą gali būti, kad blokai, palikti neužbaigtame įraše yra neteisingai atstatyti.

Btrfs atveju ši problema yra aktualesnė, jei įvykęs rašymas yra mažesnis nei juostelė. Tokiu atveju failų sistema turi atlikti skaitymo-keitimo-rašymo (RMW) operaciją.

Jei ji susiduria su rašymo eigos blokais, RMW operacija gali sukelti korupciją, kuri bus nepastebėta, nepaisant kontrolinių sumų. Kūrėjai padarė pakeitimus, kuriuose RMW operacija prieš atlikdama šią operaciją patikrina blokų kontrolinę sumą, o prireikus duomenų atkūrimas po įrašymo atlieka ir kontrolinės sumos patikrą.

Deja, tais atvejais, kai rašomas nepilnas pakraštys (RMW), tai sukuria papildomų išlaidų kontrolinių sumų skaičiavimui, tačiau žymiai padidina patikimumą. RAID6 tokia logika dar neparengta,

Be to, galime atkreipti dėmesį į kūrėjų rekomendacijas dėl RAID5/6 naudojimo, kurių esmė ta, kad Btrfs metaduomenų ir duomenų saugojimo profilis gali skirtis. Tokiu atveju metaduomenims galite naudoti RAID1 (veidrodinį) ar net RAID1C3 (3 kopijų) profilį, o duomenims – RAID5 arba RAID6.

Tai užtikrina patikimą metaduomenų apsaugą ir „įrašymo angos“ nebuvimą, kita vertus, efektyvesnį vietos panaudojimą, būdingą RAID5/6. Taip išvengiama metaduomenų sugadinimo ir duomenų sugadinimas gali būti ištaisytas.

taip pat Galima pastebėti, kad Btrfs SSD diskams 6.2 branduolyje, la asinchroninis operacijos „išmetimas“ vykdymas (pažymėkite atlaisvintus blokus, kurių nebegalima fiziškai saugoti) bus įjungta pagal numatytuosius nustatymus.

Šio privalumas režimas pasižymi dideliu našumu dėl efektyvaus atmetimo operacijų grupavimo eilėje ir eilės papildomo apdorojimo fono tvarkykle, todėl normalios FS operacijos nesulėtėja, kaip yra sinchroninio „išmetimo“ atveju, kai blokai atlaisvinami, o SSD gali pagerinti sprendimus. Kita vertus, jums nebereikės naudoti tokių paslaugų kaip fstrim, nes visi galimi blokai bus ištrinti FS be papildomo nuskaitymo ir nesulėtinant operacijų.

Galiausiai, jei jus domina galimybė sužinoti daugiau apie tai, galite paskaityti išsamią informaciją šią nuorodą.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.