Cisco proponas PuzzleFS-dosiersistemon por Linukso-kerno

Cisco proponis novan dosiersistemon, PuzzleFS, efektivigitan kiel modulo por la Linukso-kerno, skribita en Rust. La dosiersistemo estas dizajnita por esti uzita por gastigi izolitajn ujojn kaj daŭre evoluigas la ideojn proponitajn en la Atomfs dosiersistemo. La efektivigo estas ankoraŭ en la prototipa stadio, subtenas konstruadon kun la rust-next Linuksa kerno branĉo kaj estas malfermita sub la Apache 2.0 kaj MIT-licencoj.

La projekto celas preteriri la limigojn, kiuj aperas kiam oni uzas ujnajn bildojn en la formato OCI (Open Container Initiative). PuzzleFS solvas problemojn kiel efika stokado de duplikataj datumoj, rekta muntaĵo, ripetebla bildkonstruaĵo kaj memorsekureco.

Por dedupliki datumojn, kiuj ripetas en malsamaj ujoj, oni uzas la algoritmon FastCDC (Fast Content-Defined Chunking), kiu funkcias dividante la datumojn en fragmentojn de arbitra grandeco kaj konservante indekson kun hashoj de la prilaboritaj fragmentoj. Ripetaj fragmentoj estas stokitaj unufoje kaj komune indeksitaj por ĉiuj tavoloj de la dosiersistemo, t.e. deduplikado povas kovri malsamajn muntajn punktojn (nova FS-tavolo povas esti lanĉita surbaze de ekzistanta kaj uzi la datenfragmentojn enhavitajn en ĝi dum deduplikado).

Ripeta kunigo de ujbildoj estas atingita per difinado de kanonika reprezentado de la ujbildformato. Rekta-muntado permesas vin munti OCI-ujobildon el tutmonda komuna stokado sen malpaki ĝin unue, uzante hash de la enhavo de la ujmanifesto kiel identigilo. Por kontroli la integrecon de datumoj uzante komunan stokadon, oni povas uzi la mekanismon fs-verity, kiu, alirante dosierojn, kontrolas la korespondadon de la hashoj specifitaj en la binara indekso kun la reala enhavo.

La Rust-lingvo estis elektita ĉar ĝi kombinas altan efikecon de la rezulta kodo kun kapabloj por sekura laborado kun memoro, kiu reduktas la riskon de vundeblecoj kaŭzitaj de problemoj kiel ekzemple aliro al memorareo post kiam ĝi estis liberigita kaj superfluaj bufrolimoj. Uzado de Rust por la kernomodulo ankaŭ ebligis kunhavigi kodon inter la kerno kaj uzantspacaj komponantoj por krei ununuran, sekuran efektivigon.

Aliaj celoj de la projekto inkluzivas: tre rapida konstruo kaj muntado de bildoj, la kapablo uzi laŭvolan mezan stadion por kanonizigo de bildoj, la laŭvoleco de plenaj mtree-stilaj dosier-arboj dum uzado de plurtavola strukturo, kasinc-stila altrudo. de ŝanĝoj, kaj facile efektivigebla arkitekturo.

fonto: opennet.ru

Aldoni komenton