Eu gostaria de usar o recurso de envio / recebimento do btrfs para transmitir instantâneos de backup em uma conexão bastante lenta (semente inicial de cerca de 50 a 100 GB, largura de banda upstream com ~ 1-2 MBit / s) e não confiável (interrupção forçada diária em ambas as extremidades).
Eu vejo os seguintes requisitos:
- transferência criptografada (geralmente obtida usando um túnel SSH)
- robustez para conexões interrompidas
Parece que o ZFS é capaz de retomar transferências interrompidas automaticamente , semelhante à maneira como o rsync faz. Isso também se aplica ao BTRFS? A página wiki de envio / recebimento não é útil com relação a transferências interrompidas. Se o btrfs retomar as transferências interrompidas, tudo o que preciso fazer é usar um túnel SSH e continuar se for interrompido.
Caso contrário, eu teria que usar algum buffer intermediário para garantir que a conexão btrfs sobreviva às interrupções ou aproximar os dois servidores para propagação (o que será um problema com relação aos arquivos adicionados que melhoram a transmissão diária capacidades e envio de instantâneos).
O que terei que considerar para transmitir a semente e os instantâneos?
"enviar" para um arquivo ou sobre um tubo. "receber" com o arquivo ou tubo na outra extremidade. Com uma conexão questionável, você provavelmente faria melhor com arquivos e um transporte como o rsync.
fonte
Além do
buttersink
currículo S3,btrbk
suporta:Editar: desde então, soube que a transferência de snapshots individuais não é retomada
btrbk
; no entanto, ele lidará com o destino do backup ficando offline (reiniciando a transferência do snapshot interrompido).fonte
btrbk
e como isso implementa a retomada de transferências, embora eu deteste um pouco a escolha da linguagem de programação - mas parece implementar praticamente o conjunto de recursos que eu preciso.