Dies ist eine Situation, in der ich mich häufig befinde:
- Ich habe einen Quellserver mit einer 320-GB-Festplatte und 16 GB RAM (die genauen Spezifikationen sind hier verfügbar). Da dies jedoch ein Problem ist, auf das ich auch auf anderen Computern häufig stoße, würde ich es vorziehen, wenn die Antwort auf einem beliebigen Computer ausgeführt wird "vernünftiger" Linux-Rechner)
- Ich habe einen Backup-Server mit mehreren Terabyte Festplattenspeicher ( genaue Angaben hier , siehe Haftungsausschluss oben)
Ich möchte 320 GB Daten vom Quellserver auf den Zielserver übertragen (insbesondere die Daten von /dev/sda
).
- Die beiden Computer befinden sich physisch nebeneinander, sodass ich Kabel zwischen ihnen verlegen kann.
- Ich bin in einem LAN und verwende einen neuen Router , was bedeutet, dass meine Netzwerkgeschwindigkeit "ideal" 1000 MBit betragen sollte, oder?
- Sicherheit ist kein Thema. Ich bin in einem lokalen Netzwerk und vertraue allen Computern im Netzwerk, einschließlich des Routers.
- (Optional) Ich benötige nicht unbedingt eine signierte Prüfsumme der Daten, aber die grundlegende Fehlerprüfung (z. B. verworfene Pakete oder ein unlesbares Laufwerk) sollte erkannt werden, anstatt einfach in der Ausgabe zu verschwinden.
Ich habe online nach dieser Frage gesucht und mehrere Befehle getestet. Das, was am häufigsten auftaucht, ist folgendes:
ssh user@192.168.1.100 'dd bs=16M if=/dev/sda | gzip' > backup_sda.gz
Dieser Befehl hat sich als zu langsam erwiesen (er lief eine Stunde lang und hatte nur etwa 80 GB Datenvolumen). Es dauerte ungefähr 1 Minute und 22 Sekunden, bis das 1 GB-Testpaket doppelt so schnell war, wenn es nicht komprimiert wurde. Die Ergebnisse könnten auch durch die Tatsache verzerrt worden sein, dass die übertragene Datei weniger RAM als das Quellsystem beansprucht.
Außerdem (und dies wurde an 1 GB-Testobjekten getestet) treten Probleme auf, wenn ich den gzip
Befehl und verwende dd
. Die resultierende Datei hat eine andere Prüfsumme, wenn sie auf dem Ziel extrahiert wird, als wenn sie direkt weitergeleitet wird. Ich versuche immer noch herauszufinden, warum das passiert.
/dev/sda
als Bild oder nur die Dateien übertragen. Warum ist rsync keine Option? Wird /dev/sda
montiert, während Sie dd
ed?