Quem administra um servidor de arquivos corporativo sabe dos problemas que ocorrem quando o usuário tem liberdade para gravar a alterar dados livremente. Entre os principais problemas podemos destacar:
- Ocupação de todo o espaço do disco rapidamente;
- Arquivos de caráter pessoal;
- Arquivos repetidos em várias pastas;
- Várias versões de arquivos;
- Demora para fazer o backup.
Uma das formas de amenizar isso é compactar os arquivos antigos ou menos acessados. Porém, onde há muitos executáveis, a compactação não vai adiantar muito. E isso apenas trata o problema de espaço em disco.
A deduplicação surgiu para tirar algum benefício do fato que existirem arquivos parecidos, como réplicas e arquivos com diferentes versões. Em uma réplica, o software de deduplicação pode apenas gravar um dos arquivos e criar links para os demais. Em arquivos de diferentes versões, os pedaços de arquivos comuns são gravados apenas uma vez, sendo criados links nos demais arquivos.
A ideia é fazer com que no sistema de arquivos nunca exista um cluster contendo os mesmos dados. Como isso, ganha-se espaço em disco. Esse ganho pode ser maior ainda usando-se compactação, além de diminuir a tempo do backup.
Neste artigo mostro como usar o
LessFS para deduplicar uma pasta em um computador desktop usando Debian Squeeze. Os benefícios podem ser ainda maiores se for usado em servidores.
Instalação e configuração
Primeiramente, instale as dependências. No meu caso, foram as seguintes:
# apt-get install mhash simhash libmhash-dev tokyocabinet fuse tokyocabinet-bin fuse-utils libtokyocabinet-dev libfuse-dev
A seguir, acesse o site:
e baixe o código fonte do LessFS. Descompacte-o e proceda com a compilação da forma tradicional.
# tar zxvf lessfs-1.5.8.tar.gz
# ./configure
# make
# make install
Todas as dependências podem ser resolvidas pelo apt-get.
Em seguida, copie o arquivo
etc/lessfs.cfg para a pasta /etc. Ele é auto-explicativo e, por isso, não vou me aprofundar nele.