Czego potrzebuje serwer rsync w trybie demona


29

Nie rozumiem potrzeby serwera rsync w trybie demona. Jakie są z tego korzyści, jeśli mogę używać rsync z SSH lub telnet?

Odpowiedzi:


22

Wiele, ale przytoczę kilka z góry mojej głowy.

  1. Co się stanie, jeśli ssh / rsh nie są dostępne na zdalnym serwerze lub są uszkodzone pod względem konfiguracji lub surowszych reguł sieciowych? Używanie rsh / ssh nadal wymagałoby klienta (zależy od roli nadawcy lub odbiorcy), strona zdalna musiałaby jednak rozwidlić plik binarny rsync lokalnie i nawiązać połączenie z procesem rsync działającym po stronie lokalnej. rsh / ssh po prostu zapewnia tunel połączenia; jeśli chodzi o rsync, rsync komunikuje się z innym procesem rsync przez potoki.

  2. Posiadanie procesu rsync w trybie demona sprawi, że serwer będzie prawdziwym serwerem podobnym do ftp, w którym niektóre systemy plików mogą być udostępniane za pośrednictwem modułów rsync. Wszystko inne można uniknąć. Powiedz, że chcę udostępnić tylko / usr / local i / var do pobrania i odrzuć każde żądanie klienta rsync dotyczące innych pobrań. Mogę używać dyskrecji na poziomie hosta lub systemu plików (modułów), aby zezwolić na wysyłanie lub pobieranie (tylko do odczytu).

  3. Może kontrolować dostęp na poziomie hosta / użytkownika, uwierzytelnianie, autoryzację, logowanie i moduły systemu plików (struktura) do pobierania / wysyłania, w szczególności poprzez plik konfiguracyjny. Po każdej zmianie pliku konfiguracyjnego rsyncd --daemonnie trzeba go ponownie uruchamiać lub HUPped. Może również kontrolować, ilu klientów może połączyć się z procesem serwera rsync jednocześnie. Jest to dobre, ponieważ nie chcę, aby mój proces serwera rsyncd całkowicie spychał hosta za pośrednictwem operacji we / wy opartych na procesorze lub dysku.

  4. Funkcję chroot można udostępnić poprzez konfigurację rsyncd w trybie demona. Mogę użyć tego jako całkiem fajnej funkcji bezpieczeństwa, jeśli chcę uniknąć klientów łączących się z moim programem rsyncd dla dowolnego pliku / systemu plików, który musi być zabezpieczony na hoście i nie powinien mieć dostępu z zewnątrz.

  5. Mogę wprost odmówić niektórym opcjom używanym przez klienta rsync i nie zabawiać po stronie serwera, takich jak niedozwolenie --deleteopcji.

  6. Może mieć opcję uruchamiania niektórych poleceń / skryptów przed i po procesie rsync. Przykładem może być raportowanie i przechowywanie statystyk rsync w trybie post-transfer.

Oto niektóre z nich, ale jestem pewien, że eksperci rsync mogą rzucić na to więcej światła.


8
  1. Wystąpił problem podczas próby zsynchronizowania dużego folderu między komputerem z systemem Linux a komputerem z systemem Windows za pomocą programu cygwin. Po upuszczeniu tunelu SSH na rzecz używania demona rsync moje problemy zniknęły.

  2. Klient nie musi znać układu systemu plików itp. Serwera, który przesuwa / wyciąga do / z


1
+1 za # 2. Sytuacje takie jak sieci lustrzane powodują niepewność ze względu na ich wysoce rozproszony charakter, dlatego dobrze jest móc oddzielić nieistotne decyzje lokalne od działania sieci.
Warren Young,

@tim jaki był problem z Cygwin i rsyncużywaniem SSH?
Daniel Sokołowski

3

Typowym zastosowaniem rsync jest tworzenie kopii lustrzanych publicznych archiwów plików. Operator kopii podstawowej nie chce zezwalać na zdalny dostęp powłoki do archiwum, ale chce, aby wolontariusze zarządzający zdalnymi serwerami lustrzanymi mogli efektywnie uzyskać pełną kopię archiwów. Rsync działa bardzo dobrze do tworzenia kopii lustrzanych, ponieważ pobiera tylko zmienione bity, a jeśli nastąpi niewielka przerwa w sieci, nie pobierze ponownie całego dużego pliku (obrazów cd / dvd).

Protokół bit torrent może być teraz lepszym wyborem, ale rsync został wydany wiele lat wcześniej.

Nawet teraz wiele dużych archiwów nadal używa rsync do mirrorów.

Zobacz: http://www.debian.org/mirror/ftpmirror

Zalecanym protokołem kopii lustrzanej jest rsync.


Zobacz także zsync dla tego rodzaju aplikacji - jest jak rsync, ale wykonuje całą ciężką pracę na kliencie, a nie na serwerze. Serwer potrzebuje tylko wstępnie obliczonej listy skrótów.
rjmunro,

1

Możesz zapewnić usługi rsync w ekstranecie i pozwolić na synchronizację w ten sposób bez konieczności ujawniania ssh.

W trybie demona rsync prawdopodobnie szybciej oblicza lokalne sumy kontrolne, a zatem jest lepszym pakietem, jeśli oczekujesz wielu równoległych klientów. W przypadku samodzielnego polecenia sumy kontrolne muszą być ponownie obliczane dla każdej sesji.


0

SSH zapewnia narzut związany np. Z użycia szyfrowania. Teoretycznie powinieneś uzyskać większą przepustowość dzięki demonowi serwera rsync.


2
Nie będę cię za to głosować, ponieważ tak, istnieje sieć teoretyczna, w której narzuty szyfrowania mają znaczenie. Myślę, że przekonasz się, że zmierzysz to, że jest to nieistotne w prawdziwych sieciach, z wyjątkiem być może początkowej fazy negocjacji klucza. Po przepłynięciu pakietów czas szyfrowania jest połykany przez opóźnienie sieci.
Warren Young,

@WarrenYoung Starszy komputer hostujący publiczny serwer rsync na dużej rurze.
Gilles „SO- przestań być zły”

1
@Gilles - Maszyna na tyle wolna, że ​​nie może szyfrować wystarczająco szybko, aby zapełnić potok, prawdopodobnie najpierw napotyka problemy z przepustowością dysku. Podsumowując, chciałbym zobaczyć pomiary. Zanim ktoś opublikuje pomiary, spróbuj podwoić rozmiar transferu i upewnić się, że każdy zmierzony efekt również się podwoi. Jeśli nie, liczysz kluczowe negocjacje, które przyznam z góry, zajmuje wymierny czas.
Warren Young,

W takim przypadku równoległe rsync byłoby lepszą opcją z równoległym GNU.
Nikhil Mulley,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.