Armazenando arquivos duplicados eficientemente no linux

3

Eu hospedo muitos sites e nosso sistema facilita a duplicação de itens nesses sites, o que é útil, mas leva a muitos arquivos duplicados (e potencialmente muito grandes). Eu queria saber se este é qualquer mecanismo no linux (especificamente Ubuntu), onde o sistema de arquivos só irá armazenar o arquivo uma vez, mas link para ele de todos os seus locais.

Eu preciso que isso seja transparente, e também lide com o caso de que, se um usuário alterar um dos arquivos, ele não altera o conteúdo do arquivo principal, mas cria um novo arquivo apenas para essa instância específica do arquivo. arquivo.

O objetivo do exercício é reduzir o espaço desperdiçado usado por arquivos duplicados.

    
por Brendon Muir 20.01.2014 / 04:28

2 respostas

4

I'd need this to be transparent

recurso ZFS-on-Linux × chamado "deduplicação on-line".

UPD. : Eu releio sua pergunta mais uma vez agora e parece que Aufs pode seja de ajuda para você. É uma solução muito popular para ambientes de hospedagem. E, na verdade, também posso mencionar o Btrfs sozinho - o padrão é que você tenha algum sub-volume de modelo que captura instantaneamente toda vez que precisar de outra instância. É COW, portanto, apenas blocos de arquivos alterados precisariam de mais espaço. Mas lembre-se, o Btrfs é, ergh… bem, não muito estável de qualquer maneira. Eu o usaria em produção somente se os dados nele estiverem absolutamente certos para ir embora.

    
por 20.01.2014 / 04:40
1

Existe um sistema de arquivos / espaço de usuário linux que fará essa desduplicação.

link

Linux Journal tem um bom artigo sobre isso na edição de agosto de 2011. Existem também várias opções específicas do sistema de arquivos com o btrfs e o zfs.

    
por 20.01.2014 / 05:59