Cisco-k PuzzleFS fitxategi sistema aurkezten du Linux nukleorako

Cisco-k fitxategi sistema berri bat proposatu du, PuzzleFS, Linux nukleorako modulu gisa inplementatuta, Rust-en idatzia. Fitxategi-sistema isolatutako edukiontziak hartzeko diseinatuta dago eta Atomfs fitxategi-sisteman proposatutako ideiak garatzen jarraitzen du. Inplementazioa prototipo-fasean dago oraindik, Rust-next Linux kernel adarrarekin eraikitzea onartzen du eta Apache 2.0 eta MIT lizentzien arabera irekita dago.

Proiektuak OCI (Open Container Initiative) formatuan edukiontzien irudiak erabiltzean sortzen diren mugak saihestu nahi ditu. PuzzleFS-k arazoak konpontzen ditu, hala nola datu bikoiztuen biltegiratze eraginkorra, muntaketa zuzeneko gaitasuna, irudi errepikagarriak eraikitzea eta memoriaren segurtasuna.

Edukiontzi ezberdinetan errepikatzen diren datuak desbikoizteko, FastCDC (Fast Content-Defined Chunking) algoritmoa erabiltzen da, datuak tamaina arbitrarioko zatitan banatuz eta prozesatutako zatien hashekin indize bat mantenduz funtzionatzen duena. Errepikatzen diren zatiak behin gordetzen dira eta elkarrekin indexatzen dira fitxategi-sistemaren geruza guztietan, hau da. desduplicazioak muntaketa-puntu desberdinak estal ditzake (FS geruza berri bat abiarazi daiteke lehendik dagoen batean oinarrituta eta bertan dauden datu-zatiak erabil daitezke desduplicazioan).

Edukiontzien irudien muntaketa errepikakorra edukiontziaren irudi formatuaren irudikapen kanoniko bat definituz lortzen da. Direct-mount-ek OCI edukiontziaren irudi bat biltegiratze partekatu global batetik muntatzeko aukera ematen du, lehenik deskonprimitu gabe, edukiontziaren manifestuko edukien hash bat erabiliz identifikatzaile gisa. Biltegiratze partekatua erabiltzean datuen osotasuna egiaztatzeko, fs-verity mekanismoa erabil daiteke, zeinak, fitxategietara sartzean, indize bitarrean zehaztutako hashek benetako edukiarekin duten korrespondentzia egiaztatzen duena.

Rust lengoaia aukeratu zen, ondoriozko kodearen errendimendu handia eta memoriarekin seguru lan egiteko gaitasunak konbinatzen dituelako, eta horrek ahultasun arriskua murrizten du, hala nola memoria eremu batera atzitzea askatu ondoren eta buffer-en mugak gainezka egiteak eragindako arazoen arriskua. Rust nukleorako modulurako erabiltzeak nukleoaren eta erabiltzaile-espazioko osagaien artean kodea partekatzea posible egin zuen inplementazio bakarra eta segurua sortzeko.

Proiektuaren beste helburu batzuk honako hauek dira: irudien eraikuntza eta muntaketa oso azkarra, irudiak kanonalizatzeko aukerako tarteko etapa bat erabiltzeko gaitasuna, mtree estiloko fitxategi-zuhaitz osoko pasabideen aukera geruza anitzeko egitura erabiltzean, casync estiloko inposizioa. aldaketen, eta ezartzeko erraza den arkitektura.

Iturria: opennet.ru

Gehitu iruzkin berria