Bagaimana cara menggunakan btrf mengirim / menerima untuk mengirimkan snapshot cadangan melalui koneksi jaringan yang lambat dan tidak dapat diandalkan?

11

Saya ingin menggunakan fitur kirim / terima btrf untuk mentransmisikan snapshot cadangan melalui koneksi yang agak lambat (benih awal sekitar 50-100GB, bandwidth upstream ~ 1-2MBit / dtk) dan koneksi yang tidak dapat diandalkan (gangguan paksa harian pada kedua ujung).

Saya melihat persyaratan berikut:

  • transfer terenkripsi (biasanya dicapai dengan menggunakan terowongan SSH)
  • ketahanan untuk koneksi yang terputus

Tampaknya ZFS dapat melanjutkan transfer yang terputus secara otomatis , mirip dengan cara rsync. Apakah ini juga berlaku untuk BTRFS? The send / receive halaman wiki tidak berguna sehubungan dengan transfer terganggu. Jika btrfs akan melanjutkan transfer yang terputus, yang harus saya lakukan adalah menggunakan terowongan SSH dan melanjutkan jika terganggu.

Jika tidak, saya harus menggunakan beberapa buffer di antara yang memastikan koneksi btrfs bertahan interupsi, atau membuat kedua server dekat satu sama lain untuk seeding (yang akan menjadi masalah sehubungan dengan file yang ditambahkan yang unggul dalam transmisi harian kapasitas dan mengirim foto).

Apa yang harus saya pertimbangkan untuk mengirimkan benih dan foto?

Jens Erat
sumber

Jawaban:

8

Saya telah menggunakan "btrfs send" untuk cadangan untuk sementara waktu. Itu tidak menangani melanjutkan transfer yang rusak. Saya telah menulis sebuah utilitas yang dapat melanjutkan transfer, dan secara otomatis menyinkronkan snapshot dalam sistem file btrf lokal ke Amazon S3. Anda dipersilakan untuk mencobanya untuk melihat apakah itu membantu, dan saya akan menerima umpan balik! Keduanya ada di GitHub ( https://github.com/AmesCornish/buttersink ) dan PyPi ( https://pypi.python.org/pypi/buttersink/ ).

pengguna80646
sumber
Pasti akan memeriksanya begitu aku punya waktu luang. Readme Anda mengatakan bahwa ssh-backend belum diimplementasikan, ini berarti sinkronisasi ke sistem file btrfs jauh masih dalam antrian?
Jens Erat
kedengarannya hebat, tapi sayangnya saya juga membutuhkan SSH agar bermanfaat.
Matthias Urlichs
2
Backend SSH sekarang diimplementasikan (mulai 0,6)
user80646
4

"kirim" ke file atau melalui pipa. "terima" dengan file atau pipa di ujung yang lain. Dengan koneksi yang dipertanyakan, Anda mungkin akan melakukan yang terbaik dengan file dan transportasi seperti rsync.

pengguna66738
sumber
1
benar, bahkan mungkin untuk membagi file menjadi beberapa bagian. Mungkin lebih baik bagi rsync untuk melanjutkan transfer yang terputus (atau menggunakan --partial dengan rsync)
ascobol
1

Selain buttersinkresume S3, btrbkmendukung:

Melanjutkan pencadangan (jika target pencadangan tidak dapat dijangkau untuk sementara waktu)

Sunting: Saya telah mengetahui bahwa transfer snapshot individual tidak dilanjutkan btrbk, namun akan berurusan dengan target cadangan yang offline (memulai kembali transfer snapshot yang terputus).

Tom Hale
sumber
Saya pasti akan melihat btrbkdan bagaimana menerapkan melanjutkan transfer, meskipun saya agak tidak suka pilihan bahasa pemrograman - tetapi tampaknya menerapkan cukup banyak set fitur yang saya butuhkan.
Jens Erat