Pomoc Kopia QNAP->QNAP w różnych lokalizacjach - bezpieczeństwo

maks87

Network Architect
Q's Professional
20 Lipiec 2012
448
2
69
28
37
Warszawa
QNAP
TS-x73
Ethernet
1 GbE
Chciałbym wybrane katalogi z mojego QNAPa kopiować na drugiego QNAPa w innej lokalizacji. Oczywiście posiadam tam publiczny stały adres IP. W sumie metod takiego kopiowania jest kilka, a chciałem Was zapytać która będzie najlepsza, a dokładniej najbezpieczniejsza. Albo ewentualnie której na pewno unikać. To co przychodzi mi do głowy to:

1. W HBS synchronizacja jednokierunkowa - tu można wykorzystać kilka metod:
a) RTRR
b) rsync
c) FTP

2. W HBS aktywne zadanie synchronizacji - tu można wykorzystać kilka metod:
a) RTRR
b) rsync
c) FTP

3. W HBS utworzenie kopii zapasowej - tu w grę wchodzi jedynie RTRR

4. Podłączenie mojego QNAPa przez VPN do tego drugiego QNAPa i wykonanie którejś z powyższych metod, ale już przy konfiguracji posługujemy się nie publicznym IP drugiego QNAPa tylko jego lokalnym/VPNowym adresem IP.

W zależności od czasu wykonywania takiego kopiowania rozważam opcję kopiowania dużej ilości danych, jednorazowo ok. 100GB, a potem przyrosty będą niewielkie, po kila lub kilkaset MB. Co oczywiście poza prędkością internetu (głównie UL po mojej stronie, ok. 30Mbps) będzie jeszcze dużym ograniczeniem w prędkości? Albo zadam pytanie inaczej: która z powyższych metod będzie najszybsza, a która najwolniejsza?
 
Przede wszystkim - RRTR czyli Real-time Remote Replication to replikacja w czasie rzeczywistym. Zmienisz coś na serwerze źródłowym i od razu idzie na backapowy.
Rsync - ustawiasz żeby synchronizował np. raz dziennie. Ta druga metoda jest dobrze, jak serwer backupowy jest uruchamiany tylko do backupu.
Możesz zrobić testy porównawcze która metoda szybsza, ale rsync na pewno będzie dłużej porównywał dane, które ma synchronizować.
 
Do testów się przymierzam, wczoraj w nocy brakło czasu, może dzisiaj się uda. Ale już dzięki Tobie wiem, że prze rsync będzie to pewnie dłużej trwało.
Ogólnie oba QNApy działają non stop. Na co dzień będą się zmieniały tylko jakieś małe pliku (łącznie pewnie po kilka MB), mniej więcej raz na miesiąc będzie trochę więcej (pewnie kilkaset MB), więc w sumie i tak nie powinno to trwać bardzo długo.

A jak myślicie, lepiej to robić przez VPN czy niejako bezpośrednio między QNAPami (tzn. w HBS łączyć się po publicznym IP)? Testy zrobię pewnie na oba sposoby i czasy będę mógł porównać. Ale jak z bezpieczeństwem?
- trzymać non stop połączenie obu serwerów przez VPN?
- łączyć VPN tylko na czas kopiowania (w takim przypadku musiałbym zrezygnować z codziennej synchronizacji i robić to np. raz w tygodniu albo miesiącu)?
- zrezygnować z VPN i łączyć się bezpośrednio po IP przez RTRR?
FTP nie bierz pod uwage

Lepiej wybierz RTRR jeśli to wymiana między QNAPami.
przyrosty lepiej robi się rsyncem :p
FTP wpisałem czysto teoretycznie, ale faktycznie tego nie rozważałem raczej.
Oba serwery to QNAP więc RTRR jak najbardziej wchodzi w grę. Ale piszesz, że przyrosty lepiej przez rsync - więc chyba nie pozostaje nic innego jak własnie zrobić testy. Porównam sobie wtedy czas/wygodę, tylko co z tym bezpieczeństwem? :)
 
Bezpieczeństwo to temat rzeka. Nigdy nie wiadomo co backaupujesz i czy nie ma tam syfu. Generalnie, najlepiej łączyć się po VPN tylko na czas backupu, a serwer zdalny żeby nie był wystawiony na świat poza VPN (zakładam, że do niego się będziesz łączył).
 
Wydaje się, że własnie lepiej przez VPN - wtedy po stronie tego docelowego QNAPa, na routerze mam przekierowany tylko jeden port na potrzeby VPN i nie trzeba robić dodatkowych przekierowań na potrzeby rsync czy RTRR.
VPN 24/7 na pewno byłby wygodny. Wtedy jest stałe połączenie między QNAPami i można sobie już dalej synchronizacje czy kopie robić tak jak jest wygodniej/szybciej. I podejrzewam, że u mnie tak się to skończy.

No ale to w najbliższym czasie postaram się zrobić różne testy i pochwalę się wynikami.

Natomiast wczoraj odświeżyłem tu na forum jeszcze jeden temat, nieco podobny, ale jednak trochę inny, czyli kopiowanie danych z laptopa na QNAPa w sieci lokalnej. Bo plan jest taki: dane z laptopa wrzucać na lokalny QNAP. Część z tych danych (te dla mnie najważniejsze) dodatkowo przerzucać do drugiego, zdalnego QNAPa - tu testy dadzą odpowiedź jak to najlepiej zrobić. Ale nie wiem jak najlepiej zrobić pierwszą część, czyli przerzucać dane z laptopa na QNAPa.
 
Qsynca nawet nie biorę pod uwagę. Też spotkałem się z przypadkami jakiś dziwnych "zniknięć" plików.
Jeśli chodzi o Cobian to pamiętam, że nieraz go tu na forum polecałeś. I nawet wczoraj robiłem testy, ale nie spełnia moich wymagań. Tzn. robię kopie jakiegoś katalogu, następie wrzucam do niego nowy plik i robię kolejną kopię. Wtedy w miejscu docelowym (czyli na QNAPie) Cobian tworzy nowy katalog (z datą i godziną wykonania kopii) i tam, w zależności od wybranego rodzaju kopii, wrzuca albo tylko ten jeden plik, albo cały katalog, a więc po raz kolejny kopiuje te dane które już przy pierwotnej kopii były przerzucane z laptopa na QNAPa.
No chyba, że ja coś źle robię, to chętnie dowiem się jak to robić prawidłowo. Założenia mam takie: jednorazowo kopiuję np. 100GB, a potem codziennie przybywa mi tylko kilka małych plików (a np. raz na miesiąc przybywa ich kilkaset MB). Więc na QNAPie chcę mieć zawsze wszystkie pliki, ale przy codziennej (albo online) kopii aby były przesyłane tyle te nowe/zmodyfikowane pliki - oczywiście bez sensu było by kopiować codziennie te 100GB:)
 
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.

upload_2021-11-14_23-32-34.png


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):
upload_2021-11-14_23-39-11.png


- 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.
 
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ć.
A jak wygląda to w przypadku kopii? Tworzony jest plik, w którym nie można podejrzeć folderów. Trzeba zrobić później przywracanie? Czy ta operacja zajmuje dodatkowo miejsca na dysku?
 
W przypadku kopii tworzony jest jeden plik z którego potem można odzyskać całość, albo przed odzyskaniem podejrzeć jakie tam są dane i wybrać tylko interesujące nas foldery.
Oczywiście musisz mieć miejsce aby te dane odzyskać. Przykład: na QNAP A masz katalog 100GB, robisz jego kopie na QNAP B i tam tworzony jest plik z rozszerzeniem qdff który zajmuje również 100GB (w przybliżeniu, bo dokładniej to zajmie troszkę więcej). I potem z tego pliku możesz odzyskać całość albo wskazać tylko wybrany katalog do odzyskania. Jak wybierzesz całość to musisz mieć wolne 100GB aby te dane odzyskać. Można powiedzieć, że przypomina to spakowany plik np. RAR czy ZIP. Masz plik który zajmuje ileś tam miejsca, i jak chcesz go rozpakować to potrzebujesz również wolne miejsce na wypakowanie tych danych.

Takie przywracanie kopii możesz zrobić na QNAP B (czyli tam gdzie zapisałeś tą kopię) ale też na QNAP A - pod warunkiem, że z poziomu QNAP A masz dostęp do QNAP B. No a zakładamy, że masz, bo inaczej być nie zrobił w ogóle kopii:)
 
Co byś proponował zrobić w takiej sytuacji? Jaki backup?
NAS1 - na tym NAS robi się backup Nakivo, o godzinie X
NAS2 - tutaj backupuje się cały katalog Nakivo, o godzinie X+3

Sorry, że się już powtarzam, ale czy ten komunikat oznacza, że będę mógł dokończyć backup, jeśli np. powiększę partycję?
'Failed to complete Backup job: "Backup". Insufficient storage space in cloud storage. Increase storage capacity, or remove files from cloud storage.'
 

Użytkownicy znaleźli tą stronę używając tych słów:

  1. rrtr
  2. Nakivo
  3. kopia danych NAS na dysku usb
  4. kopiowanie z qnap do qnap
  5. przywracanie danych
  6. rrtr vs rsync
  7. przyrostowa
  8. kopia qnap->qnap w różnych