Përmirësime RAID5/6 në Btrfs do të përfshihen në kernelin Linux 6.2

Për aktivizimin e kernel-it Linux 6.2 janë propozuar përmirësime të Btrfs që lidhen me zgjidhjen e problemit "write hole" në implementimin e RAID 5/6. Thelbi i problemit është se, nëse ndodhi një dështim gjatë shkrimit, fillimisht është e pamundur të kuptohet se cili bllok në cilin nga pajisjet RAID është shkruar saktë dhe në cilin shkrimi nuk është përfunduar. Në rastin e përpjekjes për të rikuperuar RAID në një situatë të tillë, mund të ndodhi shkatërrimi i blloqeve që korrespondohen me blloqet e pa shkruara, pasi gjendja e blloqeve RAID është sinkronizuar. Ky problem ndodh në çdo masiv RAID1/5/6, ku nuk janë marrë masa speciale për të luftuar efektin e tillë.

Në implementimin e RAID, siç është RAID1 në btrfs, ky problem zgjidhet duke përdorur kontrollet e shumave në të dyja kopjet; në rast të mos përputhjes, të dhënat thjesht rindizen nga kopja e dytë. Ky qasje gjithashtu funksionon nëse ndonjë pajisje fillon të japë të dhëna të pa sakta në vend të një dështimi të plotë.

Megjithatë, në rastin e RAID5/6, sistemi i skedarëve nuk ruan kontrollet e shumave për blloqet e paritetit: në situatën normale, saktësia e blloqeve verifikohet nga fakti se të gjitha janë të pajisura me një shumë kontrolli, dhe blloku i paritetit mund të rindizet nga të dhënat. Megjithatë, në rastin e shkrimit të pjesëmarrë, ky qasje në disa situata mund të mos funksionojë. Në këtë rast, gjatë rikuperimit të masivit, nuk është e përjashtuar që blloqet e prekura nga një shkrim të papërfunduar të rikuperohen gabim.

Në rastin e btrfs, ky problem është më i theksuar kur shkrimi i prodhuar është më i vogël se strippi. Në këtë rast, sistemi i skedarëve duhet të kryejë operacionin e lexim-shkruar-modifikim (read-modify-write, RMW). Nëse gjatë këtij procesi hasen blloqe me shkrim të papërfunduar, operacioni RMW mund të shkaktojë dëmtime që nuk do të evidentohen, pavarësisht kontrollit të shumave. Zhvilluesit kanë bërë ndryshime në mënyrë që operacioni RMW të verifikojë shumën e kontrollit të blloqeve para se të kryejë këtë operacion, dhe në rast nevoje për rikuperimin e të dhënave, të kryejë kontrollimin e shumave të kontrollit pas shkrimit. Fatkeqësisht, në situatën me shkrimin e një strippi të papërfunduar (RMW), kjo çon në kosto të shtuar për llogaritjen e shumave të kontrollit, megjithatë ndihmon shumë në rritjen e aftësisë për të qenë të besueshëm. Për RAID6, kjo logjikë ende nuk është e gatshme, megjithatë për një dështim të tillë në RAID6 është e nevojshme që shkrimi të dështojë në dy pajisje menjëherë, që është më pak e mundshme.

Për më tepër, mund të theksohen rekomandimet nga zhvilluesit për përdorimin e RAID5/6, të cilat përmbledhin se në Btrfs, profili i ruajtjes së metadatat dhe të dhënave mund të ndahen. Në këtë rast, mund të përdoret profili RAID1 (pasqyrë) ose madje RAID1C3 (3 kopje) për metadatat, ndërsa për të dhënat RAID5 ose RAID6. Kjo siguron mbrojtje të besueshme të metadatat dhe mungesën e "write hole" nga njëra anë, dhe një përdorim më efikas të hapësirës, karakteristik për RAID5/6, nga ana tjetër. Kjo ndihmon në shmangien e dëmtimeve në metadatat, ndërsa të dhënat e dëmtuara mund të korrigjohen.

Gjithashtu, duhet theksuar se për SSD-në në Btrfs, në bërthamën 6.2 do të aktivizohet automatikisht ekzekutimi asinkron i operacionit "discard" (shënimi i blloqeve të lira, të cilat nuk mund të ruhen më fizikisht). Avantazhi i këtij regjimi është performanca e lartë për shkak të grumbullimit efikas të operacioneve "discard" në radhë dhe më pas përpunimit të radhës nga përpunuesi i prapambetur, për shkak të së cilës operacionet normale të FS nuk ngadalësohen, siç ndodh me "discard" sinkron ndërsa blloqet lirohen, dhe SSD mund të marrë vendime më të favorshme. Nga ana tjetër, nuk është më e nevojshme të përdoren mjete si fstrim, pasi të gjitha blloqet e disponueshme do të pastrohen në FS pa nevojën për skanime të mëtejshme dhe pa ngadalësimin e operacioneve.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster