Sistema de archivos Composefs propuesto para Linux

Alexander Larsson, el creador de Flatpak en Red Hat, ha publicado una vista previa de los parches que implementan el sistema de archivos Composefs para el kernel de Linux. El sistema de archivos propuesto se asemeja a Squashfs y también es adecuado para montar imágenes de solo lectura. Las diferencias se reducen a la capacidad de Composefs para compartir de manera eficiente el contenido de varias imágenes de disco montadas y la compatibilidad con la autenticación de datos legibles. Como áreas de aplicación en las que Composefs FS puede tener demanda, se denominan el montaje de imágenes de contenedores y el uso de un repositorio OSTree tipo Git.

Composefs utiliza un modelo de almacenamiento de direccionamiento basado en contenido, es decir, el identificador principal no es el nombre del archivo, sino un hash del contenido del archivo. Este modelo proporciona deduplicación y le permite almacenar solo una copia de los mismos archivos que se encuentran en diferentes particiones montadas. Por ejemplo, las imágenes de contenedores contienen muchos archivos comunes del sistema y con Composefs, cada uno de estos archivos será compartido por todas las imágenes montadas, sin el uso de trucos como el reenvío con enlaces físicos. Al mismo tiempo, los archivos compartidos no solo se almacenan como una sola copia en el disco, sino que también se administran mediante una entrada en la memoria caché de la página, lo que permite guardar tanto el disco como la RAM.

Para ahorrar espacio en disco, los datos y los metadatos se separan en imágenes montadas. Cuando esté montado, especifique:

  • Un índice binario que contiene todos los metadatos del sistema de archivos, nombres de archivos, permisos y otra información, excepto el contenido real de los archivos.
  • El directorio base donde se almacena el contenido de todos los archivos de imagen montados. Los archivos se almacenan en relación con el hash de su contenido.

Se crea un índice binario para cada imagen de FS y el directorio base es el mismo para todas las imágenes. Para verificar el contenido de los archivos individuales y la imagen completa en condiciones de almacenamiento compartido, se puede utilizar el mecanismo fs-verity, que, al acceder a los archivos, verifica que los valores hash especificados en el índice binario se correspondan con el contenido real (es decir, si un atacante hace un cambio en un archivo en el directorio base o los datos se dañan como resultado de una falla, dicha reconciliación revelará una discrepancia).

Fuente: opennet.ru

Añadir un comentario