Zum Zwecke der Sicherung möchte ich (mehrere) Partitionen der gesamten Festplatte über einen SSH-Link übertragen. Die Quelle ist ein Blockspezialgerät und das Ziel sollte eine reguläre Datei sein. Gängige Tools scheinen dafür jedoch ungeeignet zu sein:
scp
werde mich beschwerennot a regular file
tar
wird versuchen, Geräte-Inodes auf der Zielseite neu zu erstellenrsync
sagtskipping non-regular file
Meine beste Wette ist derzeit nc
eine Portweiterleitung oder ein cat
Aufruf auf der Remote-Seite pro Partition. Dies bedeutet einen Kennworteintrag pro Partition, sofern nicht öffentliche Schlüssel eingerichtet werden. Gibt es eine elegantere Lösung?
Die Umgebung wäre ein vernünftiges Linux-Live-System. Momentan habe ich zufällig ein Debian-Keuchen herumliegen, aber es sollte nicht zu spezifisch dafür sein.
Antworten:
Sie könnten durch SSH leiten. Beispiel mit
dd
:Wenn die Netzwerkverbindung während der Übertragung unterbrochen wird, können Sie fortfahren, wenn Sie wissen, wie viel kopiert wurde. Zum Beispiel, wenn Sie sicher sind, dass mindestens
1000MiB
bereits übertragen wurden (überprüfen Sie die Dateigröße vondisk.img
):dd
ist nur ein Beispiel, es funktioniert genauso gut mit anderen Befehlen, solange sie mit Pipes arbeiten.quelle
dd
? Dinge zu verlangsamen?dd
. Es funktioniert großartig und ich habe keine Beschwerden über seine Leistung. YMMV.</dev/disk ssh -C target 'cat >disk.img'
, der das zusätzliche Fehlerrisiko kompensieren würde (if
Tippfehler wieof
ein Biggie)?dd
, du benutzt etwas anderes. So einfach ist das. Wie für Tippfehler, können Sie genauso gut verwirren<
und>
in vielen Fällen ist es nur als katastrophal.-C
Option fürssh
wahrscheinlich Ihre Übertragung.Ich würde das Pufferprogramm installieren (falls es nicht bereits in Ihrer Distribution vorhanden ist), wenn Sie versuchen, über eine Ethernet-Verbindung zu übertragen. Es ist wie dd, aber weitaus besser und schneller. Grundsätzlich ist es so programmiert, dass es gleichzeitig mit einem gemeinsam genutzten Speicherpuffer liest und schreibt. Ich habe dies für Band-Dumps verwendet und es hat ungefähr 10% Übertragungszeit gespart. Die Befehlszeile wäre:
Es stehen weitere Optionen zur Verfügung. Die Standardblockgröße beträgt 10 KB. Das oben genannte weist 100 MByte gemeinsam genutzten Speicher zu. Möglicherweise müssen Sie entweder diesen Parameter oder Ihre Konfiguration anpassen, um dies zu ermöglichen.
WARNUNG: Die Übertragung einer ACTIVE-Partition auf diese Weise ist problematisch. Stellen Sie daher sicher, dass die zu übertragende Partition NICHT gemountet ist.
quelle
-C
Option fürssh
wahrscheinlich Ihre Übertragung.