Cisco har introduceret filsystemet PuzzleFS til Linux-kernen

Cisco har præsenteret et nyt filsystem PuzzleFS, der er implementeret som et modul til Linux-kernen, skrevet i Rust. Filsystemet er designet til at blive brugt til placering af isolerede containere og er en fortsættelse af ideerne præsenteret i filsystemet Atomfs. Implementeringen er stadig på prototypestadiet, understøtter bygning med Linux-kernelens rust-next gren og er åbent under licenserne Apache 2.0 og MIT.

Projektet har til formål at overvinde begrænsningerne, der opstår ved brug af containerbilleder i OCI-formatet (Open Container Initiative). PuzzleFS løser udfordringer som effektiv opbevaring af duplikerede data, mulighed for direkte montering, gentagelig opbygning af billeder og sikker håndtering af hukommelse.

Til deduplicering af duplikerede data i forskellige containere anvendes algoritmen FastCDC (Fast Content-Defined Chunking), der arbejder ved at opdele data i fragmenter af vilkårlig størrelse og føre et indeks med hashes af de behandlede fragmenter. Duplikerede fragmenter opbevares én gang og indkapsles fælles for alle lag i filsystemet, dvs. dedupliceringen kan dække forskellige monteringspunkter (et nyt lag i filsystemet kan startes baseret på et eksisterende og bruge de fragmenter, der findes i det, til deduplicering).

Gentagen opbygning af containerbilleder opnås gennem definitionen af en kanonisk repræsentation af containerbilledeformatet. Direkte montering (direct-mount) gør det muligt at montere et containerbillede i OCI-formatet fra et globalt delt lager uden forudgående udpåkning og ved at bruge en hash af indholdet fra containerens manifest som identifikator. For at verificere dataintegritet under brug af et delt lager kan mekanismen fs-verity anvendes, som ved adgang til filer tjekker, om de angivne hashes i den binære indeks stemmer overens med det faktiske indhold.

Rust-sproget er valgt, da det kombinerer høj ydeevne af den resulterende kode med sikkerhed for hukommelsen, hvilket reducerer risikoen for sårbarheder forårsaget af problemer som at tilgå hukommelse efter frigivelse og buffer-overløb. Anvendelsen af Rust i kerne-modulet har også gjort det muligt at dele kode mellem kernen og komponenter, der kører i brugerrummet, for at skabe en fælles, sikker implementering.

Blandt andre mål for projektet er: meget hurtig bygning og montering af billeder, muligheden for at bruge en valgfri mellemmæssig fase til konvertering (kanonalisering) af billeder, fraværet af nødvendige komplette gennemløb i FS-træet i mtree-stil ved brug af en lagdelt struktur, påføring af ændringer i casync-stil og en let implementerbar arkitektur.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster