Sistema de arquivos Composefs proposto para Linux

Alexander Larsson, o criador do Flatpak na Red Hat, lançou uma prévia dos patches que implementam o sistema de arquivos Composefs para o kernel do Linux. O sistema de arquivos proposto se assemelha ao Squashfs e também é adequado para montar imagens somente leitura. As diferenças se resumem à capacidade do Composefs de compartilhar com eficiência o conteúdo de várias imagens de disco montadas e suporte para autenticação de dados legíveis. Como áreas de aplicação nas quais o Composefs FS pode estar em demanda, são chamadas a montagem de imagens de contêiner e o uso de um repositório OSTree semelhante ao Git.

O Composefs usa um modelo de armazenamento de endereçamento baseado em conteúdo, ou seja, o identificador primário não é o nome do arquivo, mas um hash do conteúdo do arquivo. Este modelo fornece desduplicação e permite que você realmente armazene apenas uma cópia dos mesmos arquivos que ocorrem em diferentes partições montadas. Por exemplo, as imagens de contêiner contêm muitos arquivos de sistema comuns e, com o Composefs, cada um desses arquivos será compartilhado por todas as imagens montadas, sem o uso de truques como encaminhamento com links físicos. Ao mesmo tempo, os arquivos compartilhados não são apenas armazenados como uma única cópia no disco, mas também são gerenciados por uma entrada no cache da página, o que permite salvar o disco e a RAM.

Para economizar espaço em disco, dados e metadados são separados em imagens montadas. Quando montado, especifique:

  • Um índice binário que contém todos os metadados do sistema de arquivos, nomes de arquivos, permissões e outras informações, exceto o conteúdo real dos arquivos.
  • O diretório base onde o conteúdo de todos os arquivos de imagem montados são armazenados. Os arquivos são armazenados em relação ao hash de seu conteúdo.

Um índice binário é criado para cada imagem FS e o diretório base é o mesmo para todas as imagens. Para verificar o conteúdo de arquivos individuais e de toda a imagem em condições de armazenamento compartilhado, pode ser usado o mecanismo fs-verity, que, ao acessar arquivos, verifica se os hashes especificados no índice binário correspondem ao conteúdo real (ou seja, se um invasor faz uma alteração em um arquivo no diretório base ou dados danificados como resultado de uma falha, tal reconciliação revelará uma discrepância).

Fonte: opennet.ru

Adicionar um comentário