Jak korzystać z funkcji wysyłania / odbierania btrfs do przesyłania migawek zapasowych przez powolne i zawodne połączenie sieciowe?

11

Chciałbym użyć funkcji wysyłania / odbierania btrfs do przesyłania kopii zapasowych migawek przez raczej powolne (początkowe ziarno około 50-100 GB, przepustowość w górę ~ 1-2 MB / s) i zawodne (codzienne wymuszone przerwanie na obu końcach).

Widzę następujące wymagania:

  • szyfrowany transfer (zwykle uzyskiwany przy użyciu tunelu SSH)
  • odporność na przerwane połączenia

Wygląda na to, że ZFS jest w stanie automatycznie wznowić przerwane transfery , podobnie jak robi to rsync. Czy dotyczy to również BTRFS? Wyślij / odbierz wiki strona nie jest przydatna w odniesieniu do transferów przerwana. Jeśli btrfs wznowi przerwane transfery, wszystko, co musiałbym zrobić, to użyć tunelu SSH i wznowić je w przypadku przerwania.

Jeśli nie, musiałbym użyć między nimi bufora, aby upewnić się, że połączenie btrfs przeżywa przerwania, lub zbliżyć oba serwery do inicjowania (co będzie problemem w odniesieniu do dodanych plików, które przewyższają codzienną transmisję pojemności i wysyłanie migawek).

Co muszę wziąć pod uwagę przy przesyłaniu materiału siewnego i migawek?

Jens Erat
źródło

Odpowiedzi:

8

Od jakiegoś czasu używam „btrfs send” do tworzenia kopii zapasowych. To nie nie obsługuje wznawiania podziale transferów. Pisałem narzędzie, które robi transfery CV oraz automatycznie synchronizuje migawek w lokalnym systemie plików Btrfs do Amazon S3. Zapraszamy do wypróbowania go, aby sprawdzić, czy to pomaga, i chętnie przedstawię wszelkie opinie! Jest zarówno na GitHub ( https://github.com/AmesCornish/buttersink ), jak i PyPi ( https://pypi.python.org/pypi/buttersink/ ).

użytkownik80646
źródło
Na pewno się przyjrzę, jak tylko będę miał trochę wolnego czasu. Twój plik Readme mówi, że backend ssh nie jest jeszcze zaimplementowany, co oznacza, że ​​synchronizacja ze zdalnym systemem plików btrfs jest nadal w kolejce?
Jens Erat,
brzmi świetnie, ale niestety też potrzebuję SSH, aby był użyteczny.
Matthias Urlichs
2
Backend SSH jest teraz zaimplementowany (od wersji 0.6)
80646
4

„wyślij” do pliku lub przez potok. „otrzymuj” z plikiem lub potokiem na drugim końcu. Przy wątpliwym połączeniu najlepiej byłoby zrobić z plikami i transportem takim jak rsync.

user66738
źródło
1
tak, możliwe jest nawet podzielenie pliku na wiele części. Lepszym rozwiązaniem może być wznowienie przerwanego transferu przez rsync (lub użycie opcji --partial z rsync)
ascobol
1

Oprócz buttersinkwznowienia S3 btrbkobsługuje:

Wznów tworzenie kopii zapasowych (jeśli cel tworzenia kopii zapasowej nie był osiągalny przez jakiś czas)

Edycja: Od tego czasu dowiedziałem się, że przenoszenie pojedynczych migawek nie jest wznawiane btrbk, ale poradzi sobie z celem tworzenia kopii zapasowej w trybie offline (ponowne uruchomienie przesyłania przerwanej migawki).

Tom Hale
źródło
Na pewno przyjrzę się temu btrbki w jaki sposób implementuje wznawianie przesyłania, chociaż nieco nie podoba mi się wybór języka programowania - ale wydaje się, że implementuje on właściwie zestaw funkcji, których potrzebuję.
Jens Erat,