Eu tenho o problema, que eu quero salvar backups para um NAS. Infelizmente, o NAS é apenas disponível como compartilhamento de rede CIFS (mais acesso SSH raiz). Eu não quero modificar nada na configuração lá como o NAS também é usado por meus colegas; por isso tenho que trabalhar principalmente na minha máquina.
O uso de qualquer solução de backup * nix leva ao problema, que o CIFS não permite informações de usuário / grupo * nix e permissões de arquivo.
Eu agora criei um arquivo esparso (via CIFS), um sistema de arquivos ext4
dentro dele e o montei.
Agora posso usar o rsnapshot para criar meus backups enviando os dados para o arquivo (esparso), sem problemas até agora.
O problema surge se eu executar o backup várias vezes.
Cada vez que um (mais ou menos) pequeno pedaço de informação é escrito.
Tanto quanto eu acho que o ext4
dentro do arquivo aloca os setores a serem escritos "aleatoriamente".
Quero dizer que o fs não tentará reutilizar os blocos o máximo possível.
Assim que um novo bloco é usado, o arquivo esparso é ampliado.
Mas o bloco antigo, agora sem uso, não é liberado.
Assim, o arquivo cresce a cada backup até que o tamanho máximo seja atingido.
Então, claramente algum espaço livre pode estar lá, mas o benefício de um arquivo esparso é perdido: O arquivo requer o espaço completo no NAS, mesmo que apenas uma parte seja suficiente.
Eu li sobre uma possibilidade usando o TRIM, mas eu acho que isso só é possível se eu pudesse dizer ao sistema de arquivos do host (no NAS), que um bloco especial não era mais usado. Então estou procurando um fs que faça uma alocação mínima de novos setores.
Se você tiver uma ideia melhor, sinta-se à vontade para expressar sua opinião.
Tags backup linux filesystems