Wiederherstellen von Dateien nach der Ausführung von rsync mit Komprimierung

Wiederherstellen von Dateien nach der Ausführung von rsync mit Komprimierung

Ich verstehe, dass Sie mit den Argumenten -z und -a rsync zum Komprimieren und Archivieren verwenden können.

Kann mir jemand sagen, ob diese Optionen die zu sichernden Dateien in irgendeiner Weise beeinflussen, wenn sie jemals in ihren ursprünglichen Ordner wiederhergestellt werden müssen?

Ich habe Beispiele von Mediendateien zurückkopiert, nachdem ich rsync -avz ausgeführt habe, und sie scheinen einwandfrei zu funktionieren, aber ich wollte sichergehen...

Danke

Antwort1

Kann mir jemand sagen, ob diese Optionen die zu sichernden Dateien in irgendeiner Weise beeinflussen, wenn sie jemals in ihren ursprünglichen Ordner wiederhergestellt werden müssen?

Nein, der -zWechsel hat keinerlei Auswirkungen auf die Daten, die an den Zielort geschrieben werden, und -asoll lediglich sicherstellen, dass eine originalgetreuere Kopie erstellt wird. Weitere Informationen finden Sie weiter unten...


Die Manpage für rsync beschreibt den -z( --compress)-Schalter folgendermaßen:

-z,--compressKomprimieren Sie die Dateidaten während der Übertragung

( -aist einfach eine Abkürzung, die Schalter aktiviert, die sicherstellen sollen, dass die Zielstandortdaten nach Abschluss der Übertragung in jeder Hinsicht mit den Quellstandortdaten identisch sind. Dies wirkt sich auf Dateimetadaten aus, nicht jedoch auf Dateiinhalte. DieInhaltder kopierten Dateien bleibt gleich, unabhängig davon, ob Sie sie verwendet haben -aoder nicht.)

Beachten Sie, dass die Beschreibung „ -zKomprimierung“ lautet.während der Übertragung. Das ist der wichtige Teil, aber ohne Hintergrundwissen ist er möglicherweise nicht leicht zu verstehen.

In erster Linie die Tatsache, dass rsync eine Client/Server-Architektur verwendet, sogar für lokale Übertragungen; eine Seite liest Daten vom Quellort und die andere Seite schreibt sie an den Zielort. Zwischen diesen beiden kann eine Netzwerkverbindung bestehen oder sie können auf demselben Host laufen. Diese Architektur ermöglicht es rsync, genau dasselbe Protokoll und im Wesentlichen dieselbe Implementierung für lokales Kopieren oder Kopieren über ein Netzwerk zu verwenden: Der einzige Teil, der geändert werden muss, ist eine Zwischenschicht, die tatsächlichleitet Daten zwischen den rsync-Instanzen hin und her.

Wenn Ihr Durchsatz durch den Netzwerkdurchsatz begrenzt ist,oderwenn Ihnen die übertragene Datenmenge im Netzwerk berechnet wird,und möglicherweise wennSie verfügen über freie CPU-Zeit auf den Quell- und Zielsystemen,DannDurch die Komprimierung des Datenstroms, der über das Netzwerk fließt, kann der Kopiervorgang schneller abgeschlossen werden (oder weniger kosten), da Sie etwas zusätzliche CPU-Zeit gegen eine geringere Datenmenge im Netzwerk eintauschen.

Der Ziel-rsync-Prozess dekomprimiert dann die Daten, bevor er sie weiter verarbeitet und schließlich in den Speicher schreibt.

Daraus folgt, dassDas Einschalten der Komprimierung beim lokalen Kopieren von Dateien mit rsync verschwendet im Wesentlichen CPU-Zeit.da die Verbindung zwischen den beiden beteiligten rsync-Instanzen viel schneller ist als alle anderen beteiligten I/O-Vorgänge und dieselbe CPU sowohl die Komprimierung als auch die Dekomprimierung des Datenstroms durchführen würde. In einem solchen Fall würden die Daten, wenn man das Caching für einen Moment außer Acht lässt, von der Festplatte (langsam) in den RAM gelesen, möglicherweise innerhalb des RAM kopiert (schnell) und anschließend wieder auf die Festplatte geschrieben (langsam). Die langsamen Komponenten werden dominieren, und das Kopieren von weniger Daten innerhalb des RAM wird den Prozess nicht merklich beschleunigen (und könnte ihn aufgrund der zusätzlichen erforderlichen Verarbeitung, die möglicherweise selbst das Kopieren von Daten in den RAM erfordert, sehr wohl verlangsamen). Wenn SieWirklichUnglücklicherweise wird die Aktivierung der Komprimierung dazu führen, dass Sie über das Limit hinausgehen, bei dem Swap-Speicher verwendet werden muss, um alle erforderlichen Daten in den Speicher zu bringen, was im Grunde dazu führt,tötenLeistung.

Normaler RAM kann heutzutage problemlos mehrere Gigabyte pro Sekunde übertragen. Ein rotierendes Laufwerk mit 7200 U/min erreicht im sequentiellen Betrieb meist maximal 120-150 MB/s, und zufällige Datei-E/A (wie sie von rsync durchgeführt werden) ist praktisch nie sequentiell für mehr als kurze Zeiträume. SSDs können sowohl in Bezug auf Latenz als auch Durchsatz besser abschneiden, sind aber immer nochGrößenordnungenlangsamer als RAM. Daher sind Sie beim lokalen Kopieren immer I/O-gebunden undKomprimieren des Datenstroms während der Übertragungbestenfallsmacht keinen Unterschiedweil immer noch dieselbe Datenmenge gelesen und geschrieben wird, was, wie wir oben gesehen haben, die langsamen Teile des Prozesses sind.

verwandte Informationen