Tak też robiłem, tylko przy takim podejściu, to na QNAPie przy wykonaniu każdej kopii tworzony jest nowy katalog i tam wrzucane są tylko te pliki które
doszły od czasu poprzedniej kopii. A więc docelowo na QNAPie nie mam struktury takiej jak na laptopie (czyli kilka plików w jednym katalogu) tylko wiele katalogów a w nich pojedyncze pliki (a dokładniej w katalogu tyle plików ile było zmodyfikowane/dodane po ostatniej kopii).
Chwile mi z tym zeszło, ale udało się co nie co przetestować i podzielę się z Wami wynikami, może kiedyś komuś się to do czego przyda
Założenia:
- w katalogu testowym który będę kopiował/synchronizował wrzuciłem dwa podkatalogi: w pierwszym jeden plik 450MB, w drugim 18tys małych plików. Łączny rozmiar całości to 800MB
- każdy test robiłem dwukrotnie: przy połączeniu obu QNAPów przez VPN (czyli w konfiguracji podawałem IP z puli VPN) oraz przy
bezpośrednim połączeniu (czyli z wykorzystaniem publicznego adresu IP docelowego QNAPa)
- testy wykonywałem w aplikacji HBS3
- pierwsze zdanie dla każdej
rodziny testowej to przerzucanie całości danych między QNAPami (czyli 800MB). W następnym kroku po stronie A wrzucałem jeden plik ze zdjęciem o rozmiarze 2MB i ponownie wykonywałem test.
Oczywiście jeśli warunki wejściowe (rozmiar i liczba plików) były by inne to i wyniki mogły by się różnić. Wartości bezwzględne oczywiście były by inne, ale mam nadzieję, że proporcje pozostały by podobne. Natomiast warunki do testów przyjąłem takie a nie inne, ze względu na to, że u mnie na
produkcji będzie to właśnie mniej więcej tak wyglądało: jednorazowo dużo plików a potem niewielka ilość plików o niewielkich rozmiarach.
Wykonane testy:
- kopia zapasowa z wykorzystaniem protokołu RTRR
- synchronizacja dwukierunkowa z wykorzystaniem protokołu RTRR
- synchronizacja jednokierunkowa z wykorzystaniem protokołu RTRR
- synchronizacja jednokierunkowa z wykorzystaniem protokołu rsync
Dla niektórych zadań dostępny był jeszcze protokół FTP oraz SMB. Z FTP w ogóle nie zamierzam korzystać więc go nie testowałem. SMB chciałem z ciekawości sprawdzić, ale pierwszy test przerwałem po godzinie kiedy zaawansowanie wynosiło 70% - stwierdziłem, że nie ma to sensu, bo już w tym momencie było widać, że
czasowo jest to nie do przyjęcia.
Wyniki testów:
Poniżej wrzucam wyniki testów w formie tabeli. Kolorami zaznaczyłem czasy od najmniejszego do największego.
Podsumowanie testów:
- w każdym przypadku czasy uzyskane przy bezpośrednim połączeniu był mniejsze niż przy połączeniu przez VPN. Jednak tak na prawdę
sensowne różnice są widoczne tylko dla rsynca, gdzie jest to w graniach 20-25%. Dla RTRR zysk ten był w okolicach 10% albo i mniej.
- synchronizacja dwukierunkowa za każdym razem trwała najdłużej, ale jeśli komuś zależy na takiej opcji to jest to jedyna metoda
- różne opcje i różne protokoły dają różne możliwości dodatkowych ustawień, to również zebrałem w tabeli (są to wybrane opcje które można włączyć/wyłączyć przy tworzeniu zadania):
- jeśli ważny jest czas to synchronizację jednokierunkową lepiej wykonywać z wykorzystaniem protokołu rsync, różnice w czasie w porównaniu do RTRR są znaczące (kilka-kilkanaście razy szybciej). Jednak RTRR daje (jako jedyne w tym zestawieniu) możliwość synchronizacji w czasie rzeczywistym (co też zostało przeze mnie potwierdzone)
Co dalej:
W moim przypadku zastanawiam się nad wyborem między kopią a synchronizacją jednokierunkową z wykorzystaniem rsync. W sumie to zależy czy po stronie B chcę mieć od razu dostęp do tych danych (synchronizacja), czy chcę je trzymać tam tylko w przypadku awarii po stronie A (kopia) - sam tego jeszcze nie wiem i muszę sobie na to pytanie odpowiedzieć.
Drugie pytanie to czy łączyć się przez VPN czy
bezpośrednio. Ponieważ i tak serwer VPN mam uruchomiony (więc na routerze po stronie B jeden port mam przekierowany) to ze względów bezpieczeństwa chyba wybiorę tą opcję (dzięki temu nie będzie konieczności przekierowywania żadnych innych portów). Pozostaje pytanie czy za każdym razem nawiązywać połączenie VPN a po wykonaniu zadania je rozłączać, czy jednak wygra wygoda i VPN będzie połączony cały czas.
Ten temat wydaje się więc wyczerpany. Pozostaje jeszcze druga kwestia czyli kopia danych z laptopa na QNAPa, ale tu mam zamiar przetestować jeszcze raz NetBak Replicator oraz polecane ostatnio przez
@Pawliko narzędzie o nazwie FreeFileSync.
Jeśli ktoś ma jakieś pytania czy uwagi to zapraszam do dyskusji.