Semântica de deduplicação com btrfs - metadados difere, dados de arquivo idênticos

2

Então eu li este artigo Wiki sobre a desduplicação com o btrfs. No entanto, ele não descreve a semântica seguida pela deduplicação do btrfs.

Suponha que você tenha uma dúzia de arquivos. Todos eles contêm dados idênticos, mas sua propriedade e permissões de usuário e grupo (juntamente com atributos estendidos, ACLs, etc.) podem ser diferentes.

O recurso de desduplicação do btrfs permite que eu reduza o tamanho do disco para aproximadamente um décimo do tamanho total antes?

Os hardlinks obviamente não funcionarão porque a sua semântica implica metadados compartilhados (propriedade, permissões).

Minha versão do kernel é 3.16.

    
por 0xC0000022L 07.05.2015 / 20:49

1 resposta

2

A desduplicação funciona em um nível de bloco. Se você tiver arquivos com conteúdo idêntico, mas com metadados diferentes, supondo um sistema totalmente desduplicado, todo o conteúdo será armazenado apenas uma vez. Mesmo que os arquivos sejam apenas parcialmente idênticos, a desduplicação pode economizar espaço. Por exemplo, se você tivesse blocos de dois bytes e arquivos contendo

file1 = ABCD
file2 = AABAAB
file3 = AAB

eles seriam armazenados em 5 blocos:

file1 = block1,block2
file2 = block3,block4,block1
file3 = block3,block5

Se você tiver diretórios idênticos (ou seja, diretórios contendo arquivos com os mesmos nomes e os mesmos números de inode, por exemplo, como resultado de cp -al ou um backup incremental de desduplicação no nível de arquivo), eles também podem ser armazenados no mesmo blocos.

    
por 07.05.2015 / 23:53