Existe um sistema de arquivos que mantém apenas uma cópia de um arquivo, e outras cópias são apenas referências?

18

A pergunta pode ser imprecisa, então tentarei explicá-la com mais detalhes.

Por vários motivos, tenho muitas cópias do mesmo arquivo no meu sistema de arquivos Linux. Muitos deles são bem grandes.

Digamos que eu tenha /path/to/some.file e cópias desse arquivo /other/path/file.name e /yet/another/path/third.copy . Gostaria de saber se existe um sistema de arquivos que literalmente faria com que dois desses arquivos funcionassem como uma referência ao original. Naturalmente, se o usuário modifica um deles, só então eles se tornam arquivos independentes.

PS. Eu sei que isso pode ser (parcialmente) realizado usando links. Mas eu quero que esse recurso que eu tentei explicar acima seja tratado de forma transparente pelo sistema de arquivos.

    
por DejanLekic 16.11.2012 / 14:34

3 respostas

17

Esse recurso é chamado de desduplicação . Nenhum dos sistemas de arquivos populares do Linux (ext *) oferece suporte, mas aparentemente, o ZFS o suporta parcialmente . Há também uma listagem de tabela de sistemas de arquivos , entre outros, a desduplicação, mas parece que não há nenhuma escolhas - é um recurso planejado para o Btrfs.

Eu acho que verificar periodicamente seu sistema de arquivos e criar hard links apropriados é o melhor que você pode fazer no momento, embora isso não implique copy-on-write.

    
por 16.11.2012 / 14:50
10

A palavra-chave primária que você deseja procurar é "copiar na gravação". O BTRFS tem uma operação clone que faz exatamente o que você quer, e cp --reflink fará o que você está procurando, desde que seu sistema tenha um kernel moderno e um kernel 7.5. Wiki Source Além disso, bedup é uma ferramenta que mesclará duplicatas em um volume inteiro. A CoW também é a característica motriz da tecnologia de snapshots da btrfs, a IIRC.

    
por 16.11.2012 / 15:17
4

Existe um sistema de arquivos on-line S3QL projetado para backups com grande capacidade de desduplicação.

    
por 22.11.2012 / 13:41