No momento, tenho uma estrutura de sistema de arquivos de backup bastante tradicional em cima do ext4. Sempre que um backup é feito, backup-DATE
é criada uma nova pasta na qual os arquivos são sincronizados (com hardlinks criados usando a --link-dest
opção do rsync ).
Como li sobre o bitrot, gostaria de ter uma soma de verificação para todos os arquivos, de forma transparente. Aparentemente, o ext4 não pode fazer isso, mas o btrfs oferece suporte para somas de verificação de dados (e até um modo RAID1 embutido). Para começar, eu gostaria de usar btrfs
como um sistema de arquivos "burro", que suporta somas de verificação de dados sem usar seus recursos avançados, como RAID, instantâneos de subvolume, envio / recebimento, etc.
No entanto, o wiki deles realmente não inspira confiança no sistema de arquivos para fins de backup:
"Embora muitas pessoas o usem com confiabilidade, ainda existem problemas. Você deve manter e testar os backups de seus dados e estar preparado para usá-los." - Introdução
"O btrfs é estável? Resposta longa: [..] Faça o que fizer, recomendamos manter backups bons, testados, fora do sistema (e fora do local)." - FAQ .
Meu caso de uso é ter um backup offline. Por esse motivo, o disco terá muito pouco uso (como em horas) e será frequentemente conectado / desconectado (eSATA ou USB 3.0). Ter um sistema de arquivos confiável é uma obrigação. Não deve ser pior que ext4 wrt. falhas de energia, desligamentos impuros, etc.
É realmente recomendado o uso de btrfs como sistema de arquivos para fins de backup? Existem outras propriedades do btrfs que podem torná-lo menos (ou mais) adequado?
fonte
Respostas:
Vou apenas fornecer uma resposta curta, porque acho que isso está sendo exagerado.
Se você ler o wiki principal do kernel sobre os comandos btrfs (sub-) , verá que existem dois comandos para:
btrfs-send
btrfs-restore
Por precaução, isso significa que não é (projetado para ser) um backup, mas um sistema de arquivos de captura instantânea, com a idéia de retroceder, se necessário, não como um backup, mas como "flexível".
Portanto - não, não o use como backup - use-o como um sistema de arquivos com versão onde você pode testar as coisas e voltar. Não confie nisso.
fonte
Recentemente, tive problemas com um sistema de arquivos btrfs em um kernel 4.10.0 atualizado. O sistema de arquivos foi destruído em uma VM de caixa virtual porque o TRIM não parece ter sido implementado corretamente em algum lugar, e o AFAIK tinha algo a ver com números de índice de sub-volumes. Depois de mudar para o VMware, o sistema de arquivos ainda estava corrompido e surpreendentemente
btrfs check
não conseguiu encontrar e corrigir o erro. Finalmente voltei ao ext4.O bom: não perdi dados. O btrfs parece ser sempre consistente, pelo menos para a leitura, mas me mostrou que ainda está longe da disponibilidade da produção.
De qualquer forma, em um servidor ainda o estou usando como volume de backup, porque preciso do recurso de cópia de vaca para desduplicação (exatamente o seu caso de uso). Os dados têm tamanho demais para um sistema de arquivos tradicional.
Atualizar
Eu ainda tenho o sistema de arquivos no meu servidor (veja acima), mas ele quebrou logo após a publicação aqui. Agora, eu tenho um grande volume de backup somente leitura de 700G, que seria expandido para ~ 7 TB no ext4 se eu tentar copiar tudo usando
tar|tar
. Devido à falta de tempo, ainda não verifiquei se as versões mais recentes do kernel podem lidar com isso. O problema real é um "cancelamento de transação" que ocorre aproximadamente 2 segundos após a montagem gravável e que remonta o volume somente leitura. A causa original é provavelmente uma versão quebradabtrfs-convert
, que eu usei anos atrás quando criei este volume, e ainda um conjunto limitado de recursos da correntebtrfs check
que pelo menos deve ser capaz de encontrar todos os danos em um volume que reproduzívelmente levem a uma interrupção da transação. ou qualquer outro problema, em vez de apenas dizer que meu sistema de arquivos é íntegro.fonte