Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych
W tym artykule porównamy narzędzia do tworzenia kopii zapasowych, ale najpierw warto dowiedzieć się, jak szybko i dobrze radzą sobie z przywracaniem danych z kopii zapasowych.
Dla ułatwienia rozważymy przywrócenie z pełnej kopii zapasowej, zwłaszcza, że ​​wszyscy kandydaci obsługują ten tryb działania. Dla uproszczenia liczby są już uśrednione (średnia arytmetyczna z kilku przebiegów). Wyniki zostaną podsumowane w tabeli, która będzie również zawierać informacje o możliwościach: obecność interfejsu internetowego, łatwość konfiguracji i obsługi, możliwość automatyzacji, obecność różnych dodatkowych funkcji (na przykład sprawdzanie integralności danych) itp. Wykresy pokażą obciążenie serwera, na którym będą wykorzystywane dane (a nie serwera do przechowywania kopii zapasowych).

Odzyskiwanie danych

od tego czasu rsync i tar będą używane jako punkt odniesienia zazwyczaj na nich się opierają proste skrypty do tworzenia kopii zapasowych.

Rsync poradził sobie z zestawem danych testowych w 4 minuty i 28 sekund, pokazując

taki ładunekKopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Proces odzyskiwania napotkał ograniczenie podsystemu dyskowego serwera magazynu kopii zapasowych (wykresy piłokształtne). Wyraźnie widać też ładowanie jednego jądra bez żadnych problemów (niski iowait i softirq - brak problemów odpowiednio z dyskiem i siecią). Ponieważ pozostałe dwa programy, a mianowicie rdiff-backup i rsnapshot, są oparte na rsync i oferują również zwykły rsync jako narzędzie do odzyskiwania, będą miały w przybliżeniu ten sam profil obciążenia i czas odzyskiwania kopii zapasowej.

Smoła udało się to zrobić trochę szybciej

2 minuty i 43 sekundy:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Całkowite obciążenie systemu było wyższe średnio o 20% ze względu na zwiększony softirq – wzrosły koszty ogólne podczas pracy podsystemu sieciowego.

Jeśli archiwum jest dalej kompresowane, czas odzyskiwania wzrasta do 3 minut i 19 sekund.
przy takim obciążeniu na serwerze głównym (rozpakowywanie po stronie serwera głównego):Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Proces dekompresji zajmuje oba rdzenie procesora, ponieważ uruchomione są dwa procesy. Ogólnie rzecz biorąc, jest to oczekiwany wynik. Również porównywalny wynik (3 minuty i 20 sekund) uzyskano, uruchamiając gzip po stronie serwera z kopiami zapasowymi; profil obciążenia na głównym serwerze był bardzo podobny do uruchomionego tar bez kompresora gzip (patrz poprzedni wykres).

В rdiff-kopia zapasowa możesz zsynchronizować ostatnią kopię zapasową utworzoną przy użyciu zwykłego rsync (wyniki będą podobne), ale starsze kopie zapasowe nadal wymagają przywrócenia za pomocą programu rdiff-backup, który zakończył przywracanie w 17 minut i 17 sekund, pokazując

ten ładunek:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Być może miało to na celu przynajmniej ograniczenie szybkości działania autorów zaproponować takie rozwiązanie. Sam proces przywracania kopii zapasowej zajmuje nieco mniej niż połowę jednego rdzenia, przy proporcjonalnie porównywalnej wydajności (tj. 2-5 razy wolniejszej) na dysku i sieci z rsync.

Rmigawka Do odzyskiwania sugeruje użycie zwykłego rsync, więc jego wyniki będą podobne. Generalnie tak to wyszło.

Beknięcie Ukończyłem zadanie przywracania kopii zapasowej w 7 minut i 2 sekundy
z tym obciążeniem:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Działało dość szybko, a przynajmniej jest znacznie wygodniejsze niż czysty rsync: nie trzeba pamiętać żadnych flag, prosty i intuicyjny interfejs CLI, wbudowana obsługa wielu kopii - chociaż jest dwa razy wolniejsza. Jeśli chcesz przywrócić dane z ostatniej utworzonej kopii zapasowej, możesz użyć rsync, z kilkoma zastrzeżeniami.

Program pokazywał w przybliżeniu tę samą prędkość i obciążenie Kopia zapasowa komputera podczas włączania trybu transferu rsync, wdrażanie kopii zapasowej dla

7 minut i 42 sekundy:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Jednak w trybie przesyłania danych BackupPC radził sobie z tarem wolniej: po 12 minutach i 15 sekundach obciążenie procesora było ogólnie mniejsze

półtora raza:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Dwulicowość bez szyfrowania wykazało nieco lepsze wyniki, przywracając kopię zapasową w 10 minut i 58 sekund. Jeśli aktywujesz szyfrowanie za pomocą gpg, czas odzyskiwania wzrasta do 15 minut i 3 sekund. Tworząc repozytorium do przechowywania kopii, możesz także określić rozmiar archiwum, które będzie używane podczas dzielenia przychodzącego strumienia danych. Ogólnie rzecz biorąc, na konwencjonalnych dyskach twardych, również ze względu na jednowątkowy tryb pracy, nie ma dużej różnicy. Może pojawiać się w różnych rozmiarach bloków, gdy używana jest pamięć hybrydowa. Obciążenie głównego serwera podczas odzyskiwania było następujące:

brak szyfrowaniaKopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

z szyfrowaniemKopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Duplikować wykazał porównywalny współczynnik regeneracji, kończąc go w 13 minut i 45 sekund. Sprawdzenie poprawności odzyskanych danych zajęło kolejne około 5 minut (w sumie około 19 minut). Obciążenie było

całkiem wysoko:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Gdy wewnętrznie włączono szyfrowanie AES, czas odzyskiwania wynosił 21 minut i 40 sekund, przy maksymalnym obciążeniu procesora (oba rdzenie!) podczas odzyskiwania; Podczas sprawdzania danych aktywny był tylko jeden wątek, zajmujący jeden rdzeń procesora. Sprawdzanie danych po odzyskaniu trwało tyle samo 5 minut (w sumie prawie 27 minut).

Doświadcz mocnych i skutecznych rezultatówKopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

duplicati było nieco szybsze w przypadku odzyskiwania przy użyciu zewnętrznego programu gpg do szyfrowania, ale ogólnie różnice w stosunku do poprzedniego trybu są minimalne. Czas działania wynosił 16 minut i 30 sekund, a weryfikacja danych trwała 6 minut. Obciążenie było

taki:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

AMANDA, używając smoły, ukończył go w 2 minuty i 49 sekund, co w zasadzie jest bardzo zbliżone do zwykłego smoły. W zasadzie obciążenie systemu

ten sam:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Podczas przywracania kopii zapasowej za pomocą zkopia zapasowa Następujące wyniki zostały osiągnięte:

szyfrowanie, kompresja lzmaKopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Czas trwania 11 minut i 8 sekund

Szyfrowanie AES, kompresja lzmaKopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Czas pracy 14 minut

Szyfrowanie AES, kompresja lzoKopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Czas trwania 6 minut i 19 sekund

Ogólnie nie jest źle. Wszystko zależy od szybkości procesora na serwerze zapasowym, co wyraźnie widać po czasie działania programu przy różnych kompresorach. Po stronie serwera kopii zapasowych został uruchomiony zwykły tar, więc jeśli go z nim porównać, odzyskiwanie jest 3 razy wolniejsze. Może warto sprawdzić działanie w trybie wielowątkowym, z więcej niż dwoma wątkami.

Kopia zapasowa Borg w trybie niezaszyfrowanym był trochę wolniejszy niż tar, w 2 minuty i 45 sekund, jednak w przeciwieństwie do tar, stała się możliwa deduplikacja repozytorium. Okazało się, że ładunek

następny:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Jeśli włączysz szyfrowanie oparte na blake, prędkość odzyskiwania kopii zapasowej będzie nieco mniejsza. Czas odzyskiwania w tym trybie wynosi 3 minuty 19 sekund, a obciążenie zniknęło

lubię to:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Szyfrowanie AES jest nieco wolniejsze, czas odzyskiwania wynosi 3 minuty i 23 sekundy, obciążenie jest szczególnie duże

nie zostało zmienione:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Ponieważ Borg może pracować w trybie wielowątkowym, obciążenie procesora jest maksymalne, a po włączeniu dodatkowych funkcji czas działania po prostu wzrasta. Najwyraźniej warto zgłębiać wielowątkowość w podobny sposób jak zbackup.

Spokojny radził sobie z odzyskiem nieco wolniej, czas działania wyniósł 4 minuty 28 sekund. Ładunek wyglądał

w następujący sposób:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Najwyraźniej proces odzyskiwania działa w kilku wątkach, ale wydajność nie jest tak wysoka jak BorgBackup, ale porównywalna w czasie do zwykłego rsync.

Z urKopia zapasowa Przywrócenie danych było możliwe w 8 minut i 19 sekund, obciążenie było

taki:Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych

Obciążenie nie jest jeszcze bardzo wysokie, nawet mniejsze niż w przypadku smoły. W niektórych miejscach występują impulsy, ale nie większe niż obciążenie jednego rdzenia.

Wybór i uzasadnienie kryteriów porównania

Jak stwierdzono w jednym z poprzednich artykułów, system tworzenia kopii zapasowych musi spełniać następujące kryteria:

  • Łatwość użycia
  • wszechstronność
  • stabilność
  • Prędkość

Warto bardziej szczegółowo rozważyć każdy punkt z osobna.

Łatwość obsługi

Najlepiej, gdy jest jeden przycisk „Zrób wszystko dobrze”, ale jeśli wrócisz do prawdziwych programów, najwygodniej będzie Ci znana i standardowa zasada działania.
Większość użytkowników najprawdopodobniej będzie w lepszej sytuacji, jeśli nie będą musieli zapamiętywać wielu kluczy do cli, konfigurować wielu różnych, często niejasnych opcji za pośrednictwem Internetu lub tui, ani konfigurować powiadomień o nieudanej operacji. Obejmuje to również możliwość łatwego „dopasowania” rozwiązania do tworzenia kopii zapasowych w istniejącej infrastrukturze, a także automatyzację procesu tworzenia kopii zapasowych. Istnieje również możliwość instalacji za pomocą menedżera pakietów lub za pomocą jednego lub dwóch poleceń, takich jak „pobierz i rozpakuj”. curl ссылка | sudo bash - metoda złożona, ponieważ trzeba sprawdzić, co przychodzi przez link.

Na przykład spośród rozważanych kandydatów prostym rozwiązaniem są berp, rdiff-backup i restic, które mają klucze mnemoniczne dla różnych trybów pracy. Nieco bardziej złożone są borg i dwulicowość. Najtrudniejsza była AMANDA. Reszta plasuje się gdzieś pośrodku pod względem łatwości obsługi. W każdym razie, jeśli potrzebujesz więcej niż 30 sekund na przeczytanie instrukcji obsługi, albo musisz wejść do Google lub innej wyszukiwarki, a także przewinąć długi arkusz pomocy, decyzja jest trudna, tak czy inaczej.

Część z rozważanych kandydatów potrafi automatycznie wysłać wiadomość poprzez e-mailjabber, część natomiast opiera się na skonfigurowanych w systemie alertach. Co więcej, najczęściej złożone rozwiązania mają nie do końca oczywiste ustawienia alertów. W każdym razie, jeśli program do tworzenia kopii zapasowych wygeneruje niezerowy kod powrotu, który będzie poprawnie zrozumiany przez obsługę systemu przy zadaniach okresowych (wiadomość zostanie wysłana do administratora systemu lub bezpośrednio do monitorowania) - sytuacja jest prosta. Jeśli jednak nie można skonfigurować systemu tworzenia kopii zapasowych, który nie działa na serwerze kopii zapasowych, oczywistym sposobem na stwierdzenie problemu jest to, że jego złożoność jest już nadmierna. W każdym razie wydawanie ostrzeżeń i innych komunikatów wyłącznie do interfejsu WWW lub do logu jest złą praktyką, gdyż najczęściej będą one ignorowane.

Jeśli chodzi o automatyzację, prosty program potrafi czytać zmienne środowiskowe, które ustawiają jego tryb działania, lub ma rozwinięte CLI, które może całkowicie zduplikować zachowanie na przykład podczas pracy przez interfejs WWW. Obejmuje to również możliwość ciągłej pracy, dostępność możliwości rozbudowy itp.

wszechstronność

Częściowo powtarzając poprzedni podrozdział dotyczący automatyzacji, „dopasowanie” procesu tworzenia kopii zapasowych do istniejącej infrastruktury nie powinno stanowić szczególnego problemu.
Warto zaznaczyć, że wykorzystywanie do pracy niestandardowych portów (no może poza interfejsem webowym), realizowanie szyfrowania w niestandardowy sposób, wymiana danych przy pomocy niestandardowego protokołu są oznakami nie -uniwersalne rozwiązanie. W większości kandydaci je mają w taki czy inny sposób z oczywistego powodu: prostota i wszechstronność zwykle nie idą w parze. W drodze wyjątku - beknięcie, są też inne.

Jako znak - możliwość pracy przy użyciu zwykłego ssh.

Prędkość pracy

Najbardziej kontrowersyjny i kontrowersyjny punkt. Z jednej strony uruchomiliśmy proces, zadziałał możliwie najszybciej i nie kolidował z głównymi zadaniami. Z drugiej strony w okresie tworzenia kopii zapasowych następuje gwałtowny wzrost ruchu i obciążenia procesora. Warto też zaznaczyć, że najszybsze programy do wykonywania kopii są z reguły najuboższe pod względem ważnych dla użytkowników funkcji. Znowu: jeśli po to, żeby dostać jeden niefortunny plik tekstowy o wielkości kilkudziesięciu bajtów z hasłem, a co za tym idzie koszt całej usługi (tak, tak, rozumiem, że proces tworzenia kopii zapasowych najczęściej nie jest tu winny), i trzeba ponownie po kolei czytać wszystkie pliki w repozytorium lub rozbudowywać całe archiwum - system tworzenia kopii zapasowych nigdy nie jest szybki. Kolejną kwestią, która często staje się przeszkodą, jest szybkość wdrażania kopii zapasowej z archiwum. Jest tu wyraźna zaleta dla tych, którzy mogą po prostu skopiować lub przenieść pliki do wybranej lokalizacji bez większych manipulacji (na przykład rsync), ale najczęściej problem należy rozwiązać w sposób organizacyjny, empirycznie: mierząc czas odzyskiwania kopii zapasowej i otwarcie informować o tym użytkowników.

stabilność

Należy to rozumieć w ten sposób: z jednej strony musi istnieć możliwość ponownego uruchomienia kopii zapasowej w dowolny sposób, z drugiej strony musi ona być odporna na różne problemy: przerwy w sieci, awarię dysku, usunięcie części magazyn.

Porównanie narzędzi do tworzenia kopii zapasowych

Skopiuj czas utworzenia
Skopiuj czas odzyskiwania
Łatwa instalacja
Łatwe ustawienie
Łatwy w użyciu
Prosta automatyzacja
Czy potrzebujesz serwera klienta?
Sprawdzanie integralności repozytorium
Kopie różnicowe
Praca poprzez rurę
wszechstronność
Niezależność
Przejrzystość repozytorium
Szyfrowanie
kompresja
Deduplikacja
interfejs sieciowy
Wypełnienie do chmury
Obsługa systemu Windows
Ocena

Rsync
4m15
4m28
tak
nie
nie
nie
tak
nie
nie
tak
nie
tak
tak
nie
nie
nie
nie
nie
tak
6

Smoła
czysty
3m12
2m43
tak
nie
nie
nie
nie
nie
tak
tak
nie
tak
nie
nie
nie
nie
nie
nie
tak
8,5

gzip
9m37
3m19
tak

Kopia zapasowa Rdiff
16m26
17m17
tak
tak
tak
tak
tak
nie
tak
nie
tak
nie
tak
nie
tak
tak
tak
nie
tak
11

Rmigawka
4m19
4m28
tak
tak
tak
tak
nie
nie
tak
nie
tak
nie
tak
nie
nie
tak
tak
nie
tak
12,5

Beknięcie
11m9
7m2
tak
nie
tak
tak
tak
tak
tak
nie
tak
tak
nie
nie
tak
nie
tak
nie
tak
10,5

Dwulicowość
bez szyfrowania
16m48
10m58
tak
tak
nie
tak
nie
tak
tak
nie
nie
tak
nie
tak
tak
nie
tak
nie
tak
11

Gpg
17m27
15m3

Duplikować
bez szyfrowania
20m28
13m45
nie
tak
nie
nie
nie
tak
tak
nie
nie
tak
nie
tak
tak
tak
tak
tak
tak
11

AES
29m41
21m40

Gpg
26m19
16m30

zbackup
bez szyfrowania
40m3
11m8
tak
tak
nie
nie
nie
tak
tak
tak
nie
tak
nie
tak
tak
tak
nie
nie
nie
10

AES
42m0
14m1

aes+lzo
18m9
6m19

Kopia zapasowa Borg
bez szyfrowania
4m7
2m45
tak
tak
tak
tak
tak
tak
tak
tak
tak
tak
nie
tak
tak
tak
tak
nie
tak
16

AES
4m58
3m23

blake2
4m39
3m19

Spokojny
5m38
4m28
tak
tak
tak
tak
nie
tak
tak
tak
tak
tak
nie
tak
nie
tak
nie
tak
tak
15,5

urKopia zapasowa
8m21
8m19
tak
tak
tak
nie
tak
nie
tak
nie
tak
tak
nie
tak
tak
tak
tak
nie
tak
12

Amanda
9m3
2m49
tak
nie
nie
tak
tak
tak
tak
nie
tak
tak
tak
tak
tak
nie
tak
tak
tak
13

Kopia zapasowa komputera
rsync
12m22
7m42
tak
nie
tak
tak
tak
tak
tak
nie
tak
nie
nie
tak
tak
nie
tak
nie
tak
10,5

smoła
12m34
12m15

Legenda tabeli:

  • Zielony, czas działania krótszy niż pięć minut lub odpowiedź „Tak” (z wyjątkiem kolumny „Potrzebujesz serwera klienckiego?”), 1 punkt
  • Żółty, czas działania od pięciu do dziesięciu minut, 0.5 punktu
  • Czerwony, czas pracy przekracza dziesięć minut lub odpowiedź brzmi „Nie” (z wyjątkiem kolumny „Czy potrzebujesz serwera klienckiego?”), 0 punktów

Według powyższej tabeli najprostszym, najszybszym, a jednocześnie wygodnym i wydajnym narzędziem do tworzenia kopii zapasowych jest BorgBackup. Restic zajął drugie miejsce, pozostali brani pod uwagę kandydaci uplasowali się mniej więcej po równo, z różnicą jednego lub dwóch punktów na końcu.

Dziękuję wszystkim, którzy doczytali serię do końca, zapraszam do omówienia opcji i zaproponowania własnych, jeśli takie istnieją. W miarę postępu dyskusji tabelę można rozszerzać.

Efektem serii będzie końcowy artykuł, w którym zostanie podjęta próba opracowania idealnego, szybkiego i łatwego w zarządzaniu narzędzia do tworzenia kopii zapasowych, które pozwoli na ponowne wdrożenie kopii w możliwie najkrótszym czasie, a jednocześnie będzie wygodne i łatwe konfigurować i konserwować.

Zapowiedź

Backup, część 1: Dlaczego backup jest potrzebny, przegląd metod, technologii
Kopia zapasowa Część 2: Przegląd i testowanie narzędzi do tworzenia kopii zapasowych opartych na rsync
Kopia zapasowa Część 3: Przegląd i testowanie duplikacji, duplikatów
Kopia zapasowa, część 4: Przegląd i testowanie zbackup, restic, borgbackup
Kopia zapasowa, część 5: Testowanie kopii zapasowych Bacula i Veeam dla systemu Linux
Kopia zapasowa, część 6: Porównanie narzędzi do tworzenia kopii zapasowych
Część zapasowa 7: Wnioski

Źródło: www.habr.com

Dodaj komentarz