Sistema de ficheiros Composefs proposto para Linux

Alexander Larsson, o creador de Flatpak, que traballa en Red Hat, presentou unha versión preliminar dos parches que implementan o sistema de ficheiros Composefs para o núcleo de Linux. O sistema de ficheiros proposto aseméllase a Squashfs e tamén é axeitado para montar imaxes en modo de só lectura. As diferenzas redúcense á capacidade de Composefs para compartir de forma eficiente o contido de varias imaxes de disco montadas e ao soporte para a autenticación de datos lexibles. Algunhas áreas de aplicación nas que Composefs poden ser útiles inclúen a montaxe de imaxes de contedores e o uso dun repositorio OSTree tipo Git.

Composefs usa un modelo de almacenamento baseado en contidos, é dicir. O identificador principal non é o nome do ficheiro, senón un hash do contido do ficheiro. Este modelo ofrece a deduplicación e permítelle almacenar só unha copia dos ficheiros idénticos que se atopan en diferentes particións montadas. Por exemplo, as imaxes do contedor conteñen moitos ficheiros de sistema comúns e, se se utiliza Composefs, cada un destes ficheiros será compartido por todas as imaxes montadas, sen utilizar trucos como o reenvío mediante ligazóns duras. Neste caso, os ficheiros compartidos non só se almacenan como unha copia no disco, senón que tamén custan unha entrada na caché da páxina, o que permite gardar tanto o disco como a RAM.

Para aforrar espazo no disco, os datos e os metadatos sepáranse en imaxes montadas. Ao montar, indicar:

  • Un índice binario que contén todos os metadatos do sistema de ficheiros, nomes de ficheiros, permisos e outra información, excluíndo o contido real do ficheiro.
  • O directorio base no que se almacena o contido dos ficheiros de todas as imaxes montadas. Os ficheiros almacénanse en relación a un hash do seu contido.

Créase un índice binario para cada imaxe do sistema de ficheiros e o directorio base é o mesmo para todas as imaxes. Para verificar o contido dos ficheiros individuais e da imaxe enteira en condicións de almacenamento compartido, pódese utilizar o mecanismo fs-verity que, ao acceder aos ficheiros, verifica a correspondencia dos hash especificados no índice binario co contido real (é dicir, se un atacante fai un cambio nun ficheiro do directorio base ou datos danados como resultado dun fallo, tal reconciliación revelará unha discrepancia).

Fonte: opennet.ru

Engadir un comentario