Backup / Clone de uma partição btrfs

9

É possível fazer backup de uma partição btrfs literalmente (incluindo todas as estruturas compartilhadas que economizam espaço marcando árvores de captura instantânea como COW) para outra? Por exemplo, eu gostaria de fazer backup da minha partição raiz, que possui alguns subvolumes btrfs (instantâneos do / propriamente dito).

A única maneira de pensar é usar uma ferramenta de cópia de blocos, ddmas isso é ineficiente, pois minha partição está apenas 20% cheia e pretendo fazer backup regularmente. Já faço backup de tudo de forma incremental rsync, portanto, essa não é uma solução alternativa para outro problema. Eu só preciso de um clone de bit por bit da minha partição btrfs sem precisar usar uma ferramenta como dd.

Eu sei que o ext3, por exemplo, fornece um utilitário de despejo e restauração. Esse é o tipo de coisa que estou procurando.

ATUALIZAR

Aqui está uma atualização para esclarecer o fato de que desejo acessar os arquivos no armazenamento de backup da mesma maneira que no disco ativo (ou seja, não quero armazenar arquivos de despejo no armazenamento de backup).

Mansour
fonte

Respostas:

6

partclone é a ferramenta que você está procurando.

  • suporta muitos sistemas de arquivos linux, incluindo BTRFS
  • ele ainda suporta alguns outros sistemas de arquivos (como FAT ou exFAT)
  • ao contrário, ddele olha para o mapa de alocação de sistemas de arquivos (por exemplo: tabelas FAT e exFAT, mapas de extensão BTRFS, etc.) e clona apenas os blocos usados.

Dependendo do seu padrão de uso:

  • use -b(long --dev-to-dev:) se o dispositivo preto de origem e de destino de backup estiver visível na mesma máquina (basicamente se os dois discos estiverem conectados ao mesmo computador).
  • ou use -ce -r(long: --clonee --restore) para clonar primeiro no próprio formato de imagem do partclone na máquina de origem e depois restaurar a partir da imagem na máquina de backup
  • de acordo com a página de manual do partclone , é possível canalizar imagens; portanto, deve ser possível copiar partições pela rede sem salvar arquivos reais, se você estiver com pouco espaço, mas tiver uma rede extremamente confiável.

Uma maneira completamente diferente de lidar com o problema seria usar btrfs sende btrfs receivemecanismo.

  • Isso NÃO produzirá cópias de dispositivos de bloco para o setor
  • mas, fornecendo corretamente as referências nas duas extremidades, também é possível manter as referências entre os arquivos vinculados por ref (partes de).

Portanto, o mecanismo do btrfs não é uma cópia perfeita do setor (ao contrário do partclone), mas é uma extensão da cópia perfeita (muito melhor do rsynv -aSHAXque a que apenas lida com arquivos vinculados).

DrYak
fonte
1

Canalize a saída ddatravés de algo como bzip2ou outro programa de compactação favorito que será lido da entrada padrão. Eu fiz isso em um disco de 500 GB que tinha uma instalação relativamente pequena e acabou com um arquivo de 8 GB.

Cry Havok
fonte
1
Você teria que preencher primeiro o espaço livre com zeros (por exemplo cat /dev/zero > zeroes) para se livrar dos dados não vinculados que ainda estão no disco. Mas isso pode não funcionar mais quando o BTRFS obtém a desduplicação de dados em nível de bloco no futuro.
Wm Coenen
Por favor, veja a atualização para minha pergunta.
Mansour
1

Ainda não tentei, mas btrfs-imageparece resolver este problema:

https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-image

Atualização: não use isso como backup. Obrigado pelo comentário.

Deixo isso em aberto e não o excluo, para que outros possam aprender com ele também.

Jonas Stein
fonte
2
Atenção, o btrfs-image copia apenas os dados META, não os dados nos próprios arquivos. (É usado para enviar uma cópia aos desenvolvedores para que eles possam ver o que deu errado. Não para copiar os dados).
amigos estão dizendo sobre dryak
-2

apenas fyi ext2 / 3/4 dump não faz o que você quer fazer ... apenas os fs capazes de fazer isso que conheço são ntfs (usando ntfs-3g) e zfs

embora você possa fazer isso usando lvm e provisionamento thin experimental ...

Edit: voltamos a isso alguns anos depois percebendo, você pode fazer isso com qualquer sistema de arquivos usando squashfs ...

Raposa
fonte
O partclone conseguiu fazer exatamente isso em muitas partições que não são ntfs-3g nem zfs.
DrYak
@DrYak imagens esparsas montáveis de NTFS definitivamente é suportado por ntfsclone ... linux.die.net/man/8/ntfsclone
Fox
-3

Acho que aparentemente não existe essa ferramenta (ainda, ATM).

poige
fonte