PuzzleFS, el sistema de fitxers de Cisco escrit a Rust

Cisco

Puzzlefs és un sistema de fitxers contenidor dissenyat per Cisco

Cisco va donar a conèixer fa poc mitjançant la llista de correu del Kernel de Linux, la proposta d'un nou sistema de fitxers que té com a nom «PuzzleFS» i que es proposa implementar com un mòdul per al kernel de Linux.

PuzzleFS, és un sistema de fitxers escrit a Rust, dissenyat per Cisco per allotjar contenidors aïllats i continua el desenvolupament de les idees proposades al sistema d'arxius AtomfsFS, per abordar les
limitacions del format OCI existents.

¡Hola a todos!

Aquest és un controlador de prova de concepte escrit per a PuzzleFS sistema de fitxers contenidor d'última generació [1]. He inclòs un breu resum. sobre puzzlefs més avall. Aquest controlador es basa en el rust-next branch, a més de tot això he recolzat les abstraccions del sistema de fitxers…

Sobre el desenvolupament del projecte, s'esmenta que es té com a objectiu sortejar les limitacions que sorgeixen en utilitzar imatges de contenidors en format OCI (Open Container Initiative). PuzzleFS aborda problemes com el emmagatzematge eficient de dades duplicades, la capacitat de muntatge directe, lla creació d'imatges repetibles i la seguretat de la memòria.

Per a la deduplicació de dades repetides en diferents contenidors s'utilitza l'algorisme FastCDC (Fast Content-Defined Chunking), que funciona dividint les dades en fragments de mida arbitrària i mantenint un índex amb hash dels fragments processats.

Els fragments repetits s'emmagatzemen una vegada i s'indexen conjuntament per a totes les capes FS, és a dir, la deduplicació pot cobrir diferents punts de muntatge (es pot llançar una nova capa FS basada en l'existent i fer servir els fragments de dades que conté durant la deduplicació).

La compilació repetible d'imatges de contenidor s'aconsegueix mitjançant la definició d'una representació canònica del format d'imatge del contenidor. El muntatge directe permet muntar una imatge de contenidor OCI des de l'emmagatzematge compartit global sense desempaquetar primer, utilitzant el hash de contingut del manifest del contenidor com a identificador.

El suport de muntatge directe és una característica clau de puzlefs i, juntament amb fs-verity, proporciona integritat de dades. Actualment, puzzlefs s'implementa com un sistema de fitxers d'espai d'usuari (FUSE), tot i que un controlador de sistema de fitxers del nucli de només lectura està en marxa.

el mecanisme fs-verity es pot utilitzar per verificar la integritat de les dades en les condicions d'ús d'un emmagatzematge compartit que, en accedir als fitxers, verifica si els valors hash especificats a l'índex binari corresponen al contingut real.

Sobre el llenguatge de programació, s'esmenta que es va triar el llenguatge Rust perquè combina l'alt rendiment del codi resultant amb capacitats de memòria segura, cosa que redueix el risc de vulnerabilitats causades per problemes com l'accés a la memòria després d'alliberar-la i les saturacions de memòria intermèdia. L'ús de Rust per al mòdul del nucli també va fer possible compartir codi als components del nucli i de l'espai d'usuari per crear una única implementació segura.

Finalment, s'esmenta que altres objectius del projecte inclouen la construcció i el muntatge d'imatges molt ràpids, la capacitat dutilitzar una etapa intermèdia opcional per a la canonicalització dimatges, els recorreguts darbres FS destil mtree opcionals quan sutilitza una estructura en capes, canvis destil casync, la duplicació reduïda, el suport de muntatge directe i les garanties de seguretat de la memòria, algunes inspirades en el document de disseny OCIv2, entre d'altres coses més.

Cal esmentar que fins ara la implementació d'aquest sistema d'arxius encara es troba a l'etapa de prototip, per la qual cosa no se'n recomana l'ús ni la implementació en entorns de producció, però per als interessats han de saber que és compatible amb la construcció amb la branca del nucli de Linux rust-next.

Finalment per als interessats a poder conèixer més sobre això, han de saber que el codi del projecte està obert sota les llicències Apache 2.0 i MIT i pots consultar els detalls de la nota al següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.