Harddisk-Clone mit dd inkl. Komprimierung und Statusanzeige

Auf dem Zielrechner

Zuerst muss der Zielrechner vorbereitet werden. Dabei kann der Port (-p 555) frei gewählt werden. Er muss nur entsprechend auf der Gegenseite identisch sein. Für kann man ein Zeildevice eingeben (hda, sda, etc.). Aber Vorsicht. Diese Platte wird überschrieben und alle Daten sind dann gelöscht!

netcat -l -p 5555 | dd of=/dev/hdx bs=16065b

Auf dem Quellrechner

dd if=/dev/hda bs=16065b | pv | bzip2 -1 | netcat ZielIP 5555

Die Blocksize sind 100 KB, da dies auch der Blockwert von bzip2 -1 ist. Es wird die erste lokale IDE-Platte als Quelle verwendet. Die Komprimierung ist in diesem Fall mit bzip2, welches recht langsam ist, aber große Blöcke mit gleichen Daten (z.B. leere Plattenbereiche, auf denen noch keine Daten liegen) sehr gut komprimiert. Falls pv nicht gefunden wird, kann dieser mit apt-get install pv installiert werden.

Warum netcat: Netcat verschlüsselt nicht und hat somit Geschwindigkeitsvorteile gegenüber ssh.

Alternativ geht dies natürlich auch ohne Komprimierung oder mit einem “normalen” Gzip.

dd if=/dev/hda bs=16065b | pv | netcat ZielIP 5555
dd if=/dev/hda bs=16065b | pv | gzip -1 | netcat ZielIP 5555

Man muss mit den Werten rumspielen, um entsprechend der CPU- und Netzwerkleistung die richtigen Werte zu finden. Die Blocksize (bs=) muss auf beiden Seiten immer identisch sein und kann mit fdisk -l /dev/hda geprüft werden.

Ohne pv geht es natürlich auch. Allerdings ist das dann wie früher mit ISDN: Man sieht nichts, man riecht nicht und man hört nichts. ;-)

Clone in eine Datei

dd if=/dev/hda bs=16065b | pv | gzip -1 >/mnt/irgendwo/clone.gz

Rücksicherung:

gunzip -dc /mnt/irgendwo/clone.gz | pv | dd of=/dev/hdc bs=16065b

Das ganze über SSH:

dd if=/dev/hda bs=16065b | pv | gzip -c | ssh user@host "cat > clone.gz"

Und noch eine Rücksicherung über SSH:

ssh user@host "gzip -d -c clone.gz" | pv | dd of=/dev/hda bs=16065b

Interessante Beiträge zu diesem Thema

2 Reaktionen zu “Harddisk-Clone mit dd inkl. Komprimierung und Statusanzeige”

  1. marek am 7. Januar 2008, 12:11

    Hi, die Befehlszeilen enthalten leider ein paar Fehler - so endet man in Variante 1 mit einem KOMPRIMIERTEN Abbild auf der Zielfestplatte, es auf der Zielseite das Entpacken des ge-bzip-ten Datenstroms fehlt, bevor er auf hdx geschrieben wird.
    Zudem sind 16065b nicht 100kb, wenn ich nicht irre :-)
    Zudem möchte ich noch das Tool dcfldd erwähnen, u.a. weil es eine Statusanzeige eingebaut hat.
    Insgesamt aber wieder ein nützlicher Artikel, wie so vieles anderes in diesem Blog auch. Weiter so!

  2. Alexandros am 5. September 2008, 16:44

    Hallo, wirklich sehr gute Anleitung. Hat mir sehr weiter geholfen.

Kommentar schreiben

Werden Kommentare eindeutig zur kommerziellen Werbung missbraucht, behalte ich es mir vor 50,- Euro Löschgebühr oder 250,- Euro Werbekosten pro Monat und Eintrag zu berechnen.