¿Cómo usar el envío / recepción de btrfs para transmitir instantáneas de respaldo a través de una conexión de red lenta y poco confiable?


11

Me gustaría usar la función de envío / recepción de btrfs para transmitir instantáneas de respaldo a través de una conexión bastante lenta (inicial de aproximadamente 50-100GB, ancho de banda ascendente ~ 1-2MBit / s) y poco confiable (interrupción forzada diaria en ambos extremos).

Veo los siguientes requisitos:

  • transferencia encriptada (generalmente lograda mediante el uso de un túnel SSH)
  • robustez a las conexiones interrumpidas

Parece que ZFS puede reanudar las transferencias interrumpidas automáticamente , de forma similar a como lo hace rsync. ¿Esto también se aplica a BTRFS? La página wiki de envío / recepción no es útil con respecto a las transferencias interrumpidas. Si btrfs reanudara las transferencias interrumpidas, todo lo que tendría que hacer es usar un túnel SSH y reanudar si se interrumpe.

De lo contrario, tendría que usar un búfer intermedio que asegure que la conexión btrfs sobreviva a las interrupciones, o que ambos servidores se acerquen entre sí para sembrar (lo que será un problema con respecto a los archivos agregados que sobresalgan de la transmisión diaria capacidades y envío de instantáneas).

¿Qué tendré que considerar para transmitir la semilla y las instantáneas?

Respuestas:


8

He estado usando "btrfs send" para copias de seguridad por un tiempo. No , no manejar la reanudación de las transferencias rotas. He escrito una utilidad que hace transferencias curriculum vitae, y sincroniza automáticamente las instantáneas en el sistema de archivos Btrfs local para Amazon S3. Le invitamos a probarlo para ver si ayuda, ¡y me encantaría cualquier comentario! Está en GitHub ( https://github.com/AmesCornish/buttersink ) y PyPi ( https://pypi.python.org/pypi/buttersink/ ).


Definitivamente lo analizaré tan pronto como tenga algo de tiempo libre. ¿Su archivo Léame dice que el ssh-backend aún no está implementado, esto significa que la sincronización a un sistema de archivos btrfs remoto todavía está en la cola?
Jens Erat

Suena genial, pero desafortunadamente también necesito SSH para que sea útil.
Matthias Urlichs

2
SSH backend ahora está implementado (a partir de 0.6)
user80646

4

"enviar" a un archivo o sobre una tubería. "recibir" con el archivo o la tubería en el otro extremo. Con una conexión cuestionable, probablemente lo harías mejor con archivos y un transporte como rsync.


1
bien, incluso es posible dividir el archivo en varios fragmentos. Puede ser mejor que rsync reanude una transferencia interrumpida (o use --partial with rsync)
ascobol

1

Además del buttersinkcurrículum de S3, btrbkadmite:

Reanudación de copias de seguridad (si el objetivo de la copia de seguridad no fue alcanzable por un tiempo)

Editar: desde entonces me enteré de que no se reanuda la transferencia de instantáneas individuales btrbk, sin embargo, se tratará de que el objetivo de la copia de seguridad se desconecte (reiniciando la transferencia de la instantánea interrumpida).


Definitivamente echaré un vistazo btrbky cómo implementa la reanudación de transferencias, aunque de alguna manera no me gusta la elección del lenguaje de programación, pero parece implementar prácticamente el conjunto de características que necesito.
Jens Erat
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.