O btrfs é adequado como sistema de arquivos de backup?


9

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-destopçã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 btrfscomo 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?


3
Consulte unix.stackexchange.com/questions/140360/… . Com o BTRFS, você pode usar snapshots de subvolume em vez de hardlinks.
StrongBad

1
Você pode ler um bom artigo sobre o uso de btrfs aqui, mas para backups eu recomendaria o ZFS (encontrado nos sistemas BSD e Solaris). Você também pode usá-lo no wiki do
kirill-a

@ StrongBad, um indicador confiável de espaço livre é definitivamente algo em que o btrfs realmente não se destaca. A questão, no entanto, não é sobre a substituição de hardlinks por snapshots de subvolume, mas a confiabilidade do btrfs como sistema de arquivos para um disco de backup.
Lekensteyn

@ kirill-a Eu considerei o ZFS, mas como ele não é mainstream, hesito em usá-lo.
Lekensteyn

@Lekensteyn Acho que os snapshots de subvolume são qualificados como "Existem outras propriedades do btrfs que podem torná-lo menos (ou mais) adequado como sistema de arquivos de backup?"
StrongBad

Respostas:


3

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:

  1. fazendo um "backup" :btrfs-send
  2. e restaure :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.


1

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 checknã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 quebrada btrfs-convert, que eu usei anos atrás quando criei este volume, e ainda um conjunto limitado de recursos da corrente btrfs checkque 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.