Was ist die Notwendigkeit für Rsync-Server im Daemon-Modus


29

Ich verstehe die Notwendigkeit eines Rsync-Servers im Dämonmodus nicht. Was sind die Vorteile davon, wenn ich rsync mit SSH oder Telnet verwenden kann?

Antworten:


22

Viele, aber ich werde ein paar aus meinem Kopf zitieren.

  1. Was ist, wenn ssh / rsh auf dem Remote-Server nicht verfügbar ist oder wenn sie hinsichtlich der Konfiguration oder der strengeren Netzwerkregeln fehlerhaft sind? Die Verwendung von rsh / ssh würde weiterhin den Client erfordern (abhängig von der Sender- oder Empfängerrolle), die Remote-Seite müsste jedoch die rsync-Binärdatei lokal teilen und die Verbindung mit dem auf der lokalen Seite ausgeführten rsync-Prozess herstellen. rsh / ssh würde lediglich einen Verbindungstunnel bereitstellen; Für rsync kommuniziert rsync mit dem anderen rsync-Prozess über die Pipe (s).

  2. Ein rsync-Prozess im Daemon-Modus würde den Server zu einem echten FTP-ähnlichen Server machen, auf dem einige der Dateisysteme über rsync-Module verfügbar gemacht werden können. Alles andere kann vermieden werden. Angenommen, ich möchte nur / usr / local und / var zum Download bereitstellen und lehne jede Anfrage eines rsync-Clients nach anderen Downloads ab. Ich kann Diskretion auf Host-Ebene oder auf Dateisystemebene (Module) anwenden, um das Hochladen oder Herunterladen (schreibgeschützt) zuzulassen.

  3. Kann den Zugriff auf Host- / Benutzerebene, die Authentifizierung, die Autorisierung, die Protokollierung und die Dateisystemmodule (Strukturmodule) zum Herunterladen / Hochladen gezielt über eine Konfigurationsdatei steuern. Bei jeder Änderung an der Konfigurationsdatei rsyncd --daemonmuss oder nicht neu gestartet werden HUPped. Sie können auch steuern, wie viele Clients gleichzeitig eine Verbindung zum rsync-Server herstellen können. Dies ist gut, da ich nicht möchte, dass mein rsyncd-Server den Host vollständig über CPU- oder festplattenbasierte E / A-Vorgänge auslastet.

  4. Die Chroot-Funktionalität kann über die Konfiguration für rsyncd im Dämonmodus verfügbar gemacht werden. Ich kann dies als hübsches Sicherheitsfeature verwenden, wenn ich verhindern möchte, dass Clients für Dateien / Dateisysteme, die auf dem Host gesichert werden müssen und keinen Zugriff von außen haben sollen, eine Verbindung zu meinem rsyncd herstellen.

  5. Ich kann einige der vom rsync-Client verwendeten Optionen komplett ablehnen und auf der Serverseite nicht unterhalten, z. B. die --deleteOption nicht zulassen .

  6. Kann die Option haben, einige Befehle / Skripte vor und nach dem rsync-Prozess auszuführen. Ein Beispiel wäre das Melden und Speichern der rsync-Statistiken im Post-Transfer-Modus.

Dies sind einige davon, aber ich bin sicher, dass die erfahrenen Benutzer von rsync mehr Licht in diese Sache bringen können.


8
  1. Beim Versuch, einen großen Ordner mit cygwin zwischen einem Linux-Computer und einem Windows-Computer zu synchronisieren, ist ein Problem aufgetreten. Nachdem ich den SSH-Tunnel zugunsten des rsync-Daemons fallen gelassen hatte, verschwanden meine Probleme.

  2. Der Client muss das Dateisystemlayout usw. des Servers, den er pusht / zieht, nicht kennen


1
+1 für # 2. Situationen wie Spiegelnetze erzeugen aufgrund ihrer hohen Verteilung Unsicherheit. Daher ist es schön, irrelevante lokale Entscheidungen vom Netzwerkbetrieb entkoppeln zu können.
Warren Young

@tim Was war das Problem, das Sie mit Cygwin und der rsyncVerwendung von SSH hatten?
Daniel Sokolowski

3

Eine gebräuchliche Verwendung für rsync ist das Spiegeln öffentlicher Archive von Dateien. Der Betreiber der primären Kopie möchte keinen Remote-Shell-Zugriff auf das Archiv zulassen, aber die Freiwilligen, die die Remote-Spiegel ausführen, möchten, dass sie eine vollständige Kopie der Archive effizient abrufen können. Rsync eignet sich hervorragend zum Erstellen eines Spiegels, da nur geänderte Bits heruntergeladen werden. Bei einer leichten Netzwerkunterbrechung wird keine große Datei (CD- / DVD-Images) erneut heruntergeladen.

Das Bit-Torrent-Protokoll ist jetzt vielleicht die bessere Wahl, aber rsync wurde viele Jahre zuvor veröffentlicht.

Auch heute noch verwenden viele große Archive Rsync für Spiegel.

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

Das von uns empfohlene Spiegelungsprotokoll ist rsync.


Siehe auch zsync für diese Art von Anwendung - es ist wie rsync, erledigt aber die ganze harte Arbeit auf dem Client, nicht auf dem Server. Der Server benötigt nur eine vorberechnete Liste von Hashes.
rjmunro

1

Sie können rsync-Dienste für ein Extranet bereitstellen und auf diese Weise Synchronisierungen zulassen, ohne ssh verfügbar machen zu müssen.

Im Daemon-Modus berechnet rsync lokale Prüfsummen wahrscheinlich schneller und ist daher besser geeignet, wenn Sie mehrere parallele Clients erwarten. Mit dem Standalone-Befehl müssen Prüfsummen für jede Sitzung neu berechnet werden.


0

SSH verursacht z. B. durch die Verwendung der Verschlüsselung Overhead. Theoretisch sollten Sie also mit einem rsync-Server-Daemon einen höheren Durchsatz erzielen.


2
Ich werde Sie dafür nicht herabstufen, denn es gibt ein theoretisches Netzwerk, in dem der Verschlüsselungsaufwand eine Rolle spielt. Ich denke, Sie werden feststellen, wenn Sie es messen, dass es in realen Netzwerken unbedeutend ist, außer vielleicht für die anfängliche Phase der Schlüsselverhandlung. Sobald Pakete fließen, wird die Verschlüsselungszeit durch die Netzwerklatenz verschlungen.
Warren Young

@WarrenYoung Ältere Maschine, die einen öffentlichen Rsync-Server auf einer großen Pipe hostet.
Gilles 'SO- hör auf böse zu sein'

1
@Gilles - Ein Computer, der langsam genug ist, dass er nicht schnell genug verschlüsseln kann, um die Pipe voll zu halten, stößt wahrscheinlich zuerst auf Bandbreitenprobleme. Unterm Strich möchte ich die Maße sehen. Versuchen Sie vor dem Posten von Messungen, die Übertragungsgröße zu verdoppeln, und stellen Sie sicher, dass alle von Ihnen gemessenen Effekte auch verdoppelt werden. Wenn nicht, zählen Sie die Schlüsselverhandlungen. Ich gebe zu, dass dies messbare Zeit in Anspruch nimmt.
Warren Young

In diesem Fall wäre es besser, rsync mit GNU parallel zu parallelisieren.
Nikhil Mulley
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.