Gisugyot sa Cisco ang sistema sa file nga PuzzleFS alang sa Linux kernel

Gisugyot sa Cisco ang usa ka bag-ong sistema sa file, PuzzleFS, nga gipatuman ingon usa ka module alang sa kernel sa Linux, nga gisulat sa Rust. Ang sistema sa file gidesinyo nga gamiton sa pag-host sa nahilit nga mga sudlanan ug nagpadayon sa pagpalambo sa mga ideya nga gisugyot sa Atomfs file system. Ang implementasyon anaa pa sa prototype stage, nagsuporta sa pagtukod nga adunay rust-next Linux kernel branch ug bukas ubos sa Apache 2.0 ug MIT nga mga lisensya.

Ang proyekto nagtumong sa paglaktaw sa mga limitasyon nga motumaw sa paggamit sa mga sudlanan nga mga imahe sa OCI (Open Container Initiative) format. Gisulbad sa PuzzleFS ang mga problema sama sa episyente nga pagtipig sa doble nga datos, direkta nga katakus sa pag-mount, balik-balik nga paghimo sa imahe, ug seguridad sa memorya.

Aron ma-deduplicate ang datos nga gisubli sa lain-laing mga sudlanan, ang FastCDC (Fast Content-Defined Chunking) algorithm gigamit, nga naglihok pinaagi sa pagbahin sa datos ngadto sa mga tipik sa arbitraryong gidak-on ug pagmentinar sa indeks nga adunay mga hash sa giprosesong mga tipik. Ang nagbalikbalik nga mga tipik gitipigan sa makausa ug hiniusa nga gi-index alang sa tanan nga mga layer sa file system, i.e. Ang deduplication mahimong maglakip sa lain-laing mga mount point (usa ka bag-ong FS layer mahimong ilunsad base sa usa nga anaa na ug gamiton ang mga tipik sa datos nga anaa niini atol sa deduplication).

Ang nagbalik-balik nga asembliya sa mga imahen sa sudlanan makab-ot pinaagi sa pagtino sa usa ka kanonikal nga representasyon sa format sa imahe sa sulud. Gitugotan ka sa Direct-mount nga i-mount ang usa ka imahe sa sulud sa OCI gikan sa usa ka global nga gipaambit nga pagtipig nga dili una kini i-unpack, gamit ang usa ka hash sa mga sulud gikan sa gipakita nga sudlanan ingon usa ka identifier. Aron mapamatud-an ang integridad sa datos kung naggamit sa gipaambit nga pagtipig, ang mekanismo sa fs-verity mahimong magamit, nga, kung mag-access sa mga file, susihon ang mga sulat sa mga hash nga gitakda sa binary index nga adunay tinuud nga sulud.

Ang Rust nga pinulongan gipili tungod kay kini naghiusa sa taas nga performance sa resulta nga code uban sa mga kapabilidad alang sa luwas nga pagtrabaho uban sa memorya, nga makapamenos sa risgo sa mga kahuyang tungod sa mga problema sama sa pag-access sa usa ka memory area human kini mapagawas ug nag-awas sa mga utlanan sa buffer. Ang paggamit sa Rust para sa kernel module nagpaposible usab sa pagpaambit sa code tali sa kernel ug user-space nga mga sangkap aron makahimo og usa, luwas nga pagpatuman.

Ang uban nga mga katuyoan sa proyekto naglakip sa: paspas kaayo nga paghimo ug pag-mount sa mga imahe, ang abilidad sa paggamit sa usa ka opsyonal nga intermediate nga yugto para sa canonicalization sa mga imahe, ang opsyonalidad sa puno nga mtree-style nga file tree pass kung mogamit usa ka multi-layer nga istruktura, pagpahamtang sa istilo sa casync sa mga pagbag-o, ug usa ka dali nga ipatuman nga arkitektura.

Source: opennet.ru

Idugang sa usa ka comment