Device Image

Eine etwas komfortablere Alternative zu »dd« bietet die Werkzeugsammlung Device Image [4]. Für die Datensicherung benötigt man von der Download-Seite zunächst »zsplit« . Das Programm zu Kompilieren, setzt lediglich die »zlib« -Bibliothek voraus. Nach erfolgreicher Übersetzung sichert ein

zsplit -s 4.5G -N meinimage.img -d /dev/hda1

die erste Partition der ersten Festplatte (»-d /dev/hda1« ) in die Datei »meinimage.img« . Im Gegensatz zu dd komprimiert zsplit das Ergebnis auch gleich noch und zerteilt es abschließend in mundgerechte Häppchen von jeweils 4,5 GByte Größe (»-s 4.5G« ). Das kleine Werkzeug vereint somit die drei Standardbefehle »dd « , »gzip« und »split« .

Um eine solche Sicherung wieder zurückzuspielen, brauchen Sie das zweite Werkzeug im Bunde namens »unzsplit« . Seine Installation erfolgt genau wie die von »zsplit« . Anschließend verschmilzt ein

unzsplit -D /dev/hda1 -d meinepartition

die einzelnen Häppchen wieder zu einem Ganzen und entpackt das Ergebnis auf die Partition »/dev/hda1« .

Das Duo »zsplit« und »unzsplit« erscheint auf den ersten Blick etwas handlicher als die langen »dd« -Befehlsketten. Spätestens bei der Übertragung der Daten müssen jedoch wieder »dd« und »netcat« zu Hilfe eilen. Zunächst lässt man den Backup-Server wieder im Netzwerk lauschen:

netcat -l -p 9000 | zsplit -s 4.5G -N meinimage -d -

zsplit liest hier via »-d -« von der Standardeingabe, die »netcat« zufüttert. Anschließend schiebt man auf dem Quellrechner die Partition mittels »dd« rüber:

dd if=/dev/hda1 | netcat 192.168.2.131 9000

Die Rücksicherung erfolgt auf genau umgekehrtem Weg. Zumindest bei einer Sicherung über das Netzwerk könnte man sich folglich Device Image sparen. Wer bereit ist, etwas Geld zu investieren, sollte den Seiten der Firma Waxar einen kleinen Besuch abstatten. Sie entwickelt Device Image mittlerweile unter einer kommerziellen Lizenz weiter. Den gegenüber der GPL-Version stark erweiterten Funktionsumfang bekommt man in der Basic-Variante ab 50 Euro.

Partimage

»dd« und Device Image haben den Nachteil, dass sie auch die unbenutzten Bereiche einer Partition sichern und somit das Image eigentlich unnötig aufblähen. Intelligenter wäre es, nur die tatsächlich belegten Sektoren zu sichern. Genau diesen Weg geht Partimage [5]. Das kleine Werkzeug besteht aus zwei Teilen: Zum einen dem Client »partimage« , welcher die gewünschte Partition ausliest, und zum anderem dem Server »partimaged« , der das Image entgegennimmt und auf dem Backup-Server ablegt (Abbildung 4 und 5).

Abbildung 4: Partimage sichert nur die belegten Sektoren einer Festplatte – vorausgesetzt es kennt das Dateisystem.
Abbildung 5: Der Partimage-Server wartet auf Arbeit.

Das Partimage-Gespann verlangt nach nur wenigen Abhängigkeiten. Im Einzelnen sind dies »OpenSSL« , »newt« (Nifty Erik's Windowing Toolkit), »zlib« , »libbz2« und »slang« .

Als erstes bespielen Sie den Backup-Server mit einer Partimage-Installation. Bevor Sie zum Compiler greifen, erstellen Sie zuerst ein neues Benutzerkonto unter dem Namen »partimag« . Ihn benötigt der Partimage-Server, der zwar als Benutzer Root gestartet wird, dessen Rechte jedoch schnellstmöglich abstreift und gegen die von »partimag« eintauscht.

Jetzt installieren Sie den Quellcode per »./configure --prefix=/usr; make; sudo make install« . Um die Daten später verschlüsselt über das Netzwerk zu schicken, erstellen Sie noch die passenden SSL-Zertifikate via »sudo make certificates« .

Im letzten Schritt richten Sie für jeden Benutzer, der auf dem Backup-Server später seine Image-Dateien abladen darf, ein eigenes Konto an. Die dabei vergebenen Benutzernamen tragen Sie in die Datei »partimagedusers« ein. In jede Zeile gehört dabei genau ein Name. Wo »partimagedusers« liegt, spuckt »partimaged -i« auf der Kommandozeile aus.

Sind alle zugriffsberechtigten Personen eingetragen, startet »sudo partimaged« (nicht das »d« am Ende übersehen) den Partimage-Server. Bis zu 10 Clients gleichzeitig dürfen bei ihm ihre Daten abliefern. Welche Computer gerade ihre Schnappschüsse übermitteln, verraten ihre IP-Adressen auf der angezeigten Oberfläche.

Auf dem Client-Rechner installieren Sie eine weitere Partimage-Kopie. Dort reicht allerdings schon ein »./configure --prefix=/usr; make; sudo make install« . Anschließend startet »sudo partimage« den Partimage-Client. Auf der erscheinenden Eingabemaske wählen Sie im oberen Teil die zu sichernde Partition. In das Eingabefeld darunter gehört der Name der anzulegenden Image-Datei, einschließlich des Pfades zum Backup-Verzeichnis auf dem Server. Im unteren Teil der Maske legen Sie den Sicherungsvorgang und die »Verbindung zum Server« fest. Dieser lauscht standardmäßig am TCP-Port »4025« , sodass Sie nur noch die IP-Adresse korrigieren müssen. Die Verschlüsselung sollte immer aktiviert sein. Weiter geht es mit einem Druck auf [F5]. Der neue Bildschirm möchte nun den Namen und das Passwort eines Benutzers wissen, der auf dem Backup-Server ein Benutzerkonto besitzt und in der Datei »partimagedusers« steht.

Jetzt kommt der spannende Teil: Akzeptiert der Server die Login-Daten, geht es direkt weiter zur Auswahl des Kompressionsverfahrens. Ein erneuter Druck auf [F5] stößt die eigentliche Sicherung an. Die Anmeldung am Server klappt allerdings nur, wenn das zugrunde liegende Linux-System seine Passwörter per DES oder MD5-Verfahren verschlüsselt. Einige aktuelle Distributionen setzen jedoch standardmäßig auf modernere Algorithmen. In diesen Fällen bleibt vorerst nichts anderes übrig, als in allen Partimage-Kopien die Authentifizierung bereits bei der Übersetztung zu deaktivieren. Dazu ruft man »configure« mit dem zusätzlichen Parameter »--disable-login« auf. Wer auf Nummer Sicher gehen will, startet beide Rechner von der System-Rescue-CD, eine auf Datenrettung spezialisierten Mini-Distribution [6].

Das Rücksichern einer Partition verläuft nach dem gleichen Schema: Auf dem Backup-Server starten Sie wieder »partimaged« und werfen anschließend den Client an. Dort wählen Sie diesmal die Partition, in die Partimage das Backup zurückspielen soll und dann unter »Aufgabe durchführen« den Punkt »Partition aus einer Datei rücksichern« . In das Feld »Imagedatei erstellen/benutzen« gehört der gleiche Eintrag, wie er schon bei der Sicherung benutzt wurde.

Das Backup einer Partition via Partimage ist wesentlich bequemer und nicht ganz so fehleranfällig wie per »dd« oder Drive Image. Allerdings besitzt auch Partimage ein paar Pferdefüße. So deklarieren es seine Entwickler nach wie vor als instabil, auch wenn es in der Praxis tadellos seinen Dienst verrichtet. Als wichtige vorbeugende Maßnahmen sollte man dennoch darauf achten, dass die Versionen von Daemon und Client zusammenpassen.

Ein weiteres Problem entsteht durch die Arbeitsweise: Damit Partimage entscheiden kann, welche Sektoren belegt und welche frei sind, muss es das Dateisystem wie seine Westentasche kennen. Im Moment trifft dies leider nur auf die gängigen Linux-Vertreter, wie Ext2, Ext3 oder ReiserFS und die veralteten FAT-Systeme zu. Das Windows-Dateisystem NTFS steht zwar schon länger auf dem Wunschzettel der Anwender, wann Partimage damit endlich problemfrei umgehen kann, steht aufgrund der recht behäbigen Weiterentwicklung aber noch in den Sternen.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019