Cisco stel die PuzzleFS-lêerstelsel vir die Linux-kern bekend

Cisco het 'n nuwe lêerstelsel, PuzzleFS, voorgestel wat as 'n module vir die Linux-kern geïmplementeer is, geskryf in Rust. Die lêerstelsel is ontwerp om gebruik te word om geïsoleerde houers te huisves en gaan voort om die idees wat in die Atomfs-lêerstelsel voorgestel word, te ontwikkel. Die implementering is nog in die prototipe stadium, ondersteun bou met die roes-volgende Linux kerntak en is oop onder die Apache 2.0 en MIT lisensies.

Die projek het ten doel om die beperkings wat ontstaan ​​wanneer houerbeelde in die OCI (Open Container Initiative)-formaat gebruik word, te omseil. PuzzleFS los probleme op soos doeltreffende berging van duplikaatdata, direkte monteervermoë, herhaalbare beeldbou en geheuesekuriteit.

Om data te dedupliseer wat in verskillende houers herhaal word, word die FastCDC (Fast Content-Defined Chunking) algoritme gebruik, wat werk deur die data in fragmente van arbitrêre grootte te verdeel en 'n indeks met hashes van die verwerkte fragmente te handhaaf. Herhalende fragmente word een keer gestoor en gesamentlik geïndekseer vir alle lae van die lêerstelsel, d.w.s. deduplisering kan verskillende monteerpunte dek ('n nuwe FS-laag kan op grond van 'n bestaande een geloods word en gebruik die datafragmente wat daarin vervat is tydens deduplisering).

Herhalende samestelling van houerbeelde word bereik deur 'n kanonieke voorstelling van die houerbeeldformaat te definieer. Met Direct-mount kan u 'n OCI-houerprent vanaf 'n wêreldwye gedeelde berging monteer sonder om dit eers uit te pak, deur 'n hash van die inhoud van die houermanifes as 'n identifiseerder te gebruik. Om data-integriteit te verifieer wanneer gedeelde berging gebruik word, kan die fs-verity-meganisme gebruik word, wat, wanneer toegang tot lêers verkry word, die ooreenstemming van die hashes wat in die binêre indeks gespesifiseer is, met die werklike inhoud nagaan.

Die Rust-taal is gekies aangesien dit hoë werkverrigting van die gevolglike kode kombineer met vermoëns om veilig met geheue te werk, wat die risiko van kwesbaarhede wat veroorsaak word deur probleme soos toegang tot 'n geheue-area nadat dit vrygestel is en oorloop van buffergrense, verminder. Die gebruik van Rust vir die kernmodule het dit ook moontlik gemaak om kode tussen die kern- en gebruikersspasiekomponente te deel om 'n enkele, veilige implementering te skep.

Ander doelwitte van die projek sluit in: baie vinnige bou en montering van beelde, die vermoë om 'n opsionele tussenstadium vir kanonisering van beelde te gebruik, die opsioneel van volledige mtree-styl lêerboom-passasies wanneer 'n multi-laag struktuur gebruik word, casync-styl oplegging van veranderinge, en 'n maklik-om-te-implementeer argitektuur.

Bron: opennet.ru

Voeg 'n opmerking