O sistema de arquivos ComposeFS agora está estável

componentes

componefs é um novo sistema de arquivos proposto para Linux

No final do ano passado nós compartilhamos aqui no blog informações sobre um novo sistema de arquivos em que você estava trabalhando Alexandre Larsson, o criador do Flatpak e agora nesta ocasião ele anunciou o lançamento da primeira versão estável sistema de arquivo ComporFS.

ComposeFS é um “novo” sistema de arquivos que é otimizado para compartilhar com eficiência o conteúdo de várias imagens de disco montadas. Na prática, o ComposeFS pode ser útil para montar imagens de contêiner e hospedar um repositório OSTree semelhante ao Git.

componentes
Artigo relacionado:
ComposeFS, um sistema de arquivos do criador do Flatpak

Sobre o ComposeFS

No início do desenvolvimento do ComposeFS, Sua implementação foi concebida como um módulo separado do kernel Linux, mas com o passar do tempo No trabalho de desenvolvimento, Alexander Larsson menciona que Ele percebeu que promover um novo FS na estrutura principal do kernel É muito mais complicado Sobre o que pensei. É por isso que os desenvolvedores mudaram de tática e reformularam o projeto na forma de um plugin sobre FS OverlayFS e EROFS, que já estão presentes no kernel, cuja funcionalidade se sobrepõe parcialmente ao ComposeFS. Portanto, o trabalho para integrar o suporte do ComposeFS ao kernel Linux foi reduzido à promoção de patches para OverlayFS e EROFS que implementam os recursos específicos necessários para FS.

É mencionado que A funcionalidade EROFS atende aos requisitos do ComposeFS para começando com a versão 5.15 do kernel. As mudanças no OverlayFS foram feitas em vários estágios: No kernel 6.5, foi incluído suporte para camadas “somente dados”, que são usadas apenas para dados (separados dos metadados).

As alterações restantes, juntamente com a capacidade de armazenar hashes fs-verity no atributo overlay.verity estendido (xattr), foram recentemente adotadas no kernel de teste 6.6-rc1, marcando a inclusão de todas as funcionalidades necessárias para executar o Composefs no Linux.

Alexander Larsson menciona que graças à adoção de todas as mudanças necessárias no kernel, foi possível determinar e corrigir o formato de imagem final do ComposeFS e com o qual poderia ser lançada a primeira versão estável do sistema de arquivos, estabilizando o formato de armazenamento e a biblioteca API/ABI.

Principais novos recursos do ComposeFS 1.0

Entre as diferenças funcionais desta versão estável em relação aos desenvolvimentos anteriores, o introdução de otimizações que aumentam a eficiência do formato de armazenamento, Além disso, o uso de ferramentas integradas ao subsistema do kernel fs-verity para verificar assinaturas digitais agora é evitado em favor de bibliotecas que funcionam no espaço do usuário.

Outro destaque é o Utilitário composefs-info para inspecionar arquivos de imagem do ComposeFS e identificar inconsistências entre metadados e dados armazenados separadamente.

Além disso, para montar o ComposeFS, o módulo FUSE carregado no espaço do usuário composefs-fuse e o utilitário mount.composefs são agora usados, e o utilitário mkcomposefs é fornecido para criar o FS.

Pára verifique o conteúdo de arquivos individuais e a imagem completa em condições de armazenamento compartilhado, mecanismo fs-verity é usado que, ao acessar arquivos, verifica a correspondência dos hashes especificados no índice binário com o conteúdo real, se um invasor fizer uma alteração em um arquivo no diretório base ou os dados forem corrompidos como resultado de uma falha, tal reconciliação irá revelar uma discrepância.

Vale ressaltar que dos projetos que já utilizam o ComposeFS, estão o Ostree e o Container Storage Library. O repositório git de Ostree oferece suporte total ao ComposeFS, incluindo recursos de verificação de conteúdo, mas o código permanece marcado como experimental por enquanto.

A biblioteca de armazenamento de contêineres fornece uma implementação inicial de um back-end que usa ComposeFS para armazenar imagens de contêiner. Depois de concluído, o back-end pode ser usado para usar o ComposeFS para desduplicação e anti-spoofing de imagens gerenciadas usando o Podman.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes em o seguinte link.