File system Composefs proposto per Linux

Alexander Larsson, il creatore di Flatpak presso Red Hat, ha rilasciato un'anteprima delle patch che implementano il file system Composefs per il kernel Linux. Il file system proposto ricorda Squashfs ed è adatto anche per il montaggio di immagini di sola lettura. Le differenze si riducono alla capacità di Composefs di condividere in modo efficiente il contenuto di più immagini disco montate e al supporto per l'autenticazione dei dati leggibili. Come aree di applicazione in cui Composefs FS può essere richiesto, vengono chiamati il ​​​​montaggio di immagini di contenitori e l'uso di un repository OSTree simile a Git.

Composefs utilizza un modello di archiviazione degli indirizzi basato sul contenuto, ad es. l'identificatore primario non è il nome del file, ma un hash del contenuto del file. Questo modello fornisce la deduplicazione e consente di archiviare effettivamente solo una copia degli stessi file presenti in diverse partizioni montate. Ad esempio, le immagini contenitore contengono molti file di sistema comuni e con Composefs ciascuno di questi file sarà condiviso da tutte le immagini montate, senza l'uso di trucchi come l'inoltro con collegamenti reali. Allo stesso tempo, i file condivisi non solo vengono archiviati come un'unica copia su disco, ma sono anche gestiti da una voce nella cache della pagina, che consente di salvare sia il disco che la RAM.

Per risparmiare spazio su disco, dati e metadati sono separati nelle immagini montate. Una volta montato, specificare:

  • Un indice binario che contiene tutti i metadati del file system, i nomi dei file, le autorizzazioni e altre informazioni, ad eccezione del contenuto effettivo dei file.
  • La directory di base in cui sono archiviati i contenuti di tutti i file immagine montati. I file vengono archiviati in relazione all'hash del loro contenuto.

Viene creato un indice binario per ogni immagine FS e la directory di base è la stessa per tutte le immagini. Per verificare il contenuto dei singoli file e dell'intera immagine in condizioni di archiviazione condivisa, è possibile utilizzare il meccanismo fs-verity che, durante l'accesso ai file, verifica che gli hash specificati nell'indice binario corrispondano al contenuto effettivo (ovvero se un utente malintenzionato apporta una modifica a un file nella directory di base o dati danneggiati a causa di un errore, tale riconciliazione rivelerà una discrepanza).

Fonte: opennet.ru

Aggiungi un commento