o www.atrops.com - Die Website von und für Sascha 'Xin' Atrops
Festplatten per SSH über das Netzwerk spiegeln

Gelegentlich gilt es Daten von einem Computer zu retten, der nicht mehr selbstständig hochfährt, weil beispielsweise das Dateisystem zerstört ist. Bevor man sich an die Rettung des Dateisystems macht, empfielt es sich ein Backup zu machen. Verfügt der Rechner über eine Netzwerkkarte, lässt sich so problemlos die Festplatte spiegeln, ohne den Rechner zu öffnen.
Über diese Methode lässt sich ebenfalls ein Testrechner realisieren, der in kürzerster Zeit das Betriebsystem wechselt oder wieder in den Ursprungszustand zurückversetzt wird.

Der Rechner wird mit einer Linux-Live-CD, z.B. Knoppix gestartet und ins Netzwerk eingefügt. Anschließend lässt sich die Festplatte oder Partition per 'dd' kopieren und der Datenstrom per 'ssh' über das Netzwerk tunneln.
Folgender Befehl spiegelt die erste Festplatte - User und Host sind entsprechend einzusetzen:
dd if=/dev/hda | ssh user@host "cat > image_hda.dd"

Dank der Möglichkeit unter Linux Befehle mittels der Pipe ('|') zu kombinieren lässt sich auch ein Packer dazwischenschalten, so dass weniger Daten über das Netz kopiert werden müssen. Um das Image während des Kopierens noch mit ZIP zu packen, lässt man den Datenstrom durch GZip laufen:
dd if=/dev/hda | gzip -c | ssh user@host "cat > image_hda.gz.dd"

Auch andere Packer, wie z.B. der effizientere bzip2, sind möglich, gzip ist jedoch eigentlich auf allen Distributionen enthalten, bzip2 muss unter Umständen nachinstalliert werden.

Um die Daten zurück zu spielen, verwendet man folgende Befehle:
ssh user@host "cat image_hda.dd" | dd of=/dev/hda                   # ungepackt
ssh user@host "cat image_hda.gz.dd" | gzip -d -c | dd of=/dev/hda" # gepackte Images

(Alle Befehle werden vom Client eingegeben, dessen Platte kopiert oder wiederhergestellt wird)


Tipps

Bessere Packraten

Möchte man einen Test-Rechner einrichten, bzw. plant das Kopieren eines frisch eingerichteten Betriebsystems, so empfielt es sich, die zu spiegelnden Partitionen vor der Betriebsysteminstallation zuerst mit Nullen zu formatieren und bei der Installation des OS 'Schnellformatierung' zu wählen. Dies erleichtert GZip die Arbeit deutlich und die gepackten Images werden so deutlich verkleinert.
Folgender Befehl überschreibt die erste Partition der ersten Platte mit Nullen. Überlegen Sie vorher, was sie tun, überprüfen Sie die Schreibweise mehrfach. Das Formatieren ist nicht reversibel und Linux erwartet von Ihnen, dass sie wissen, was sie tun. Sollten Sie nicht sicher sein, dass Sie die Festplatten in diesen Rechner komplett formatieren dürften, so lassen Sie es bleiben. Sollten Sie auf dem Rechner Daten haben, die sie noch benötigen, sollten Sie diese kopieren, selbst wenn Sie wissen, was sie tun.
dd if=/dev/zero of=/dev/hda1

User 'Images'

Kopiert man häufiger Images über das Netz, so lohnt es sich auf dem Image-Server einen Benutzer 'images' anzulegen, in dessen Home-Verzeichnis die einzelnen Images liegen. Das erspart lange Pfade und die Images liegen getrennt von der täglichen Arbeit der Nutzer.

DMA einschalten

Wenn Knoppix startet ist DMA (Direct Memory Access) in der Regel abgeschaltet, um auch auf sehr alter Hardware zu laufen. Ist ihre Hardware DMA fähig (und das ist eigentlich nahezu jede Hardware), so lässt sich 'dd' mit DMA extrem beschleunigen. Folgender Befehl prüft, ob DMA für die erste Festplatte eingeschaltet ist:
hdparm -d /dev/hda

Sollte DMA abgeschaltet sein, benutzen Sie folgenden Befehl, um es zu aktivieren:
hdparm -d 1 /dev/hda