Cisco prupone un sistema di schedari PuzzleFS per u kernel Linux

Cisco hà prupostu un novu sistema di schedari, PuzzleFS, implementatu cum'è un modulu per u kernel Linux, scrittu in Rust. U sistema di fugliali hè pensatu per esse usatu per accoglie cuntenituri isolati è cuntinueghja à sviluppà l'idee pruposte in u sistema di schedari Atomfs. L'implementazione hè sempre in u stadiu di prototipu, supporta a custruzione cù u ramu rust-next Linux kernel è hè aperta sottu a licenze Apache 2.0 è MIT.

U prugettu hà da scopu di scaccià e limitazioni chì si sviluppanu quandu utilizanu l'imaghjini di u containeru in u formatu OCI (Open Container Initiative). PuzzleFS risolve i prublemi cum'è l'almacenamiento efficiente di dati duplicati, a capacità di muntazione diretta, a creazione di l'imaghjini ripetibili è a sicurità di memoria.

Per deduplicate e dati chì sò ripetuti in diversi cuntenituri, l'algoritmu FastCDC (Fast Content-Defined Chunking) hè utilizatu, chì travaglia dividendu e dati in frammenti di dimensione arbitraria è mantene un indice cù hashes di i frammenti processati. I frammenti ripetuti sò guardati una volta è indiziati in modu cumunu per tutti i strati di u sistema di fugliale, i.e. a deduplicazione pò copre diversi punti di muntagna (una nova capa FS pò esse lanciata basatu annantu à una esistente è utilizate i frammenti di dati cuntenuti in questu durante a deduplicazione).

L'assemblea ripetitiva di l'imaghjini di u containeru hè ottenuta da a definizione di una rappresentazione canonica di u formatu di l'imaghjini di u containeru. Direct-mount permette di muntà una maghjina di cuntainer OCI da un almacenamentu cumunu glubale senza sbulicà prima, utilizendu un hash di u cuntenutu da u manifestu di u containeru cum'è identificatore. Per verificà l'integrità di dati quandu si usa l'almacenamiento spartutu, u mecanismu fs-verity pò esse usatu, chì, quandu accede à i schedari, verifica a currispundenza di l'hashes specificati in l'indici binariu cù u cuntenutu propiu.

A lingua Rust hè stata scelta perchè combina un altu rendimentu di u codice resultanti cù capacità per travaglià in modu sicuru cù a memoria, chì reduce u risicu di vulnerabilità causati da prublemi cum'è l'accessu à una zona di memoria dopu chì hè stata liberata è i limiti di buffer overflowing. Utilizà Rust per u modulu di u kernel hà ancu permessu di sparte u codice trà u kernel è i cumpunenti di u spaziu di l'utilizatori per creà una implementazione unica è sicura.

L'altri scopi di u prugettu includenu: custruzzione assai veloce è muntagna di l'imaghjini, a capacità d'utilizà una tappa intermedia opzionale per a canonicalizazione di l'imaghjini, l'opzionalità di l'arbulu di file full mtree-style passa quandu si usa una struttura multi-layer, imposizione in stile casync. di cambiamenti, è un'architettura faciule da implementà.

Source: opennet.ru

Add a comment