:Sicherheitskopie des gesamten Systems auf einer baugleichen Festplatte:

Es gibt viele Gründe rechtzeitig und regelmäßig seine Daten zu sichern. Soweit man sich nicht durch die Untiefen eines inkrementellen Backups oder ähnlicher Strategien durchwühlen kann oder möchte, bietet sich das Voll-Backup in Form einer Spiegelung der gesamten Festplatte an. Diese Strategie hat durchaus ihre Berechtigung, erfordert allerdings gewisse Verhaltensweisen und dauert mit zunehmenden Festplattengrößen immer länger.

Bedingungen sind:

Die hier geschilderte Verfahrensweise setzt den grundlegenden Umgang mit div. LiveCDs[1] vorraus! Geignet sind mehrere, favorisiert werden sollten aber jene, die das Tool dd_rescue enthalten, so z.B. die schon öfters angesprochenen div. RecoveryCDs. Die Paketierung der CDs kann sich im Laufe der Zeit ändern, daher solltet ihr deren Zusammenstellung stets genau überprüfen und ältere Versionen nicht leichtfertig hinauswerfen. Da Silberlinge nicht als Archivierungsmedium taugen habe ich u.a. ein separates Festplattenpaar nur für ISO-Abbilddateien[2], von denen aus ich defekte CDs ggfs. durch Neubrennen ersetzen, sowie aus irgendwelchen Gründen benötigte und im Netz nicht mehr verfügbare ältere Versionen archivieren kann! So enthält – um mal ein Beispiel zu nennen – Knoppix[3, 4] seit dem Sprung zu v6.0 kein dd_rescue[5, 6] sowie div. andere Tools mehr, da ihr Maintainer seinen Fokus seit dieser Version verlagert hat. Aus diesem und dem weiteren Grund der Flexibilität bei Hardware-Problemen empfehle ich stets die Bevorratung unterschiedlicher LiveCDs.

Zur Erläuterung des oben genannten Begriffs „ebenbürtig“: Im Idealfall kauft ihr identische Datenträger, denn unterschiedliche Modelle können trotz gleicher Größenangaben leicht voneinander abweichen. Das kann sehr schnell unangenehm werden, nämlich genau dann, wenn die Zielplatte kleiner als die Quellplatte ist, und die Kopie somit nicht auf die Zielplatte drauf passt! Ich möchte in diesem Zusammenhang daran erinnern, daß dd[7, 8, 9] (und dd_rescue) blockweise kopieren, also auch die leeren Bereiche der Festplatte. Das hat zur Folge, daß das geschilderte Problem auch auftritt, wenn die Platten nicht voll sind! Wenn ihr ein solches Paar erwischt haben, tja dann müssen ihr zunächst herausfinden, welche Platte die kleinere und welche die größere ist und ggfs. zunächst die Daten in gemountetem Zustand von der größeren auf die kleinere kopieren und anschließend nach der unten folgenden Verfahrensweise die kleinere auf die größere Platte spiegeln! Das ganze wird sicher mit Einsatz des LVM[10, 11, 12] einfacher zu handhaben sein, den ich aber bis heute nicht einsetze, da mich der Nutzen im Vergleich zum Aufwand und dem möglichen Risiko des Datenverlusts bei Partitions-Problemen noch nicht wirklich überzeugen konnte. Ausserdem konnte ich mir bis heute immer ohne LVM helfen, auch wenn die Verfahrensweise zugegebenermaßen etwas umständlich ist.

Als mögliches Gegenargument zu meinem Ratschlag las ich neulich, daß gleiche Festplattenmodelle auch nahezu gleichzeitig kaputt gehen sollen, was sich wohl nur bedingt gegenprüfen läßt. Falls ihr paranoid genug sind, kauft ihr einfach noch eine dritte Platte dazu, um das Risiko zu vermindern.

Grundsätzlich empfehle ich die Partitionierung beider Platten gleichzeit über eine geeignete LiveCD, wie z.B. die GParted LiveCD[13] oder auch die SystemRescueCd[14, 15, 16] durchzuführen. Sie alle beinhalten das grafische Tool GParted[17, 18, 19, 20], welches die Partitionierung der Festplatten sehr komfortabel macht, so dass man nicht versehentlich unterschiedlich große Partitionen auf den Platten anlegt. Einbau und Wechsel der Platten sind dank S-ATA[21] heutzutage wirklich simpel und zuverlässig geworden. Im Gegensatz dazu neigen die alten IDE-Kabel[22] nach häufigem Anstecken und Abziehen irgendwann zum Wackelkontakt, was im schlimmsten Fall zu Datenverlust führen kann. Zwar sind diese Kabel nicht wirklich teuer, der regelmäßige Austausch nervt irgendwann aber doch!

Ich empfehle das schon im vorhergehenden Artikel Praxisgerechte Partitionierung der Festplatte geschilderte Partitionierungschema, da ein Anlegen der Datenpartition als letzte Partition den Umzug auf eine größere Platte vereinfacht. Denn die Größe der Systempartition werdet ihr in den seltensten Fällen verändern wollen, soweit ihr sie bei der Installation groß genug dimensioniert habt.

Fahrt nun euren Rechner über eine geeignete LiveCD hoch (die grafische Oberfläche benötigt ihr hierfür noch nicht einmal). Überprüft ggfs. durch manuelles readonly-mounten welche Platte die Quell- und welche die Zielplatte ist. Nachdem ihr euch Orientierung verschafft haben, empfehle ich die Durchführung des Dateisystemchecks[23] fsck[24] (Partitionen vorher aushängen!) um sicher zu stellen, daß eure Quellplatte in konsistenten Zustand ist. Im zugehörigen Manual[25, 26] eures Dateisystems findet ihr Anleitungen zu sinnvollen Optionen des Tests, also z.B. via man fsck.ext3 im Falle eines ext3-Dateisystems[27].

Nachdem der Test (der bei großen Partitionen lange dauern kann, zum Wohle eurer Daten aber niemals übersprungen oder abgebrochen werden sollte) durchgelaufen ist, spiegelt eure ausgehängte! Platte mittels dd durch den Befehl dd if=/dev/hdX of=/dev/hdY, wobei hdX und hdY die Platten-Bezeichner sind (nicht die Partitionsbezeichner!), also z.B. „hda“ und „hdb“ bzw. bei neueren Systemen „sda“ und „sdb“. Selbstverstädlich könnt ihr auch einzelne (gleich große!) Partitionen via dd if=/dev/hdaX of=/dev/hdbX (gleiche Partition auf den beiden Platten) spiegeln. Achtung: dd ist sehr wortkarg. Wenn ihr versehentlich eine größere Partition/Festplatte auf eine kleinere kopieren wollt, bekommen ihr allenfalls am Ende eine Fehlermeldung des versuchten Kopiervorgangs. Mit dem Ergebnis, dass die Struktur eurer Ziel-Datenträgers möglicherweise defekt ist. Das ist besonders lästig beim Versuch der Datenrettung von einer physisch beschädigten Quell-Festplatte! Ermittelt daher die passende Partitions-/Festplattengröße besser vor dem Kopiervorgang!
Vorzuziehen ist allerdings der schon erwähnte Befehl dd_rescue, da er im Falle von Problemen mehr Möglichkeiten sowie mehr Interaktion bietet. Er funktioniert ähnlich: dd_rescue /dev/hdX /dev/hdY bzw. dd_rescue /dev/hdaX /dev/hdbX für einzelne Partitionen. Nach Abschluß des Kopiervorgangs solltet ihr auf der Zielplatte ebenfalls einen Dateisystemcheck durchführen als zusätzliche Sicherheit, daß die Daten auch korrekt angekommen sind. dd_rescue bietet übrigens Option zur Handhabung von Datenlöchern (z.B. bei partiell physisch beschädigten, aber noch zugreifbaren Festplatten nach einem Sturz aus großer Höhe), dd dagegen bricht an dieser Stelle einfach ab, so dass die folgenden Daten nicht mit kopiert werden!

Dieser einfachste Fall bietet ein Mindestmaß an Sicherheit gegenüber in der Praxis leider immer wieder vorkommenden Datenkonsistenzproblemen und den immer ungelegen kommenden Plattencrashs. Ich erinnere erneut daran, daß ein veraltetes Backup nur bedingten Nutzen bringt, so dass ständige Sicherungen oberste Priorität haben. Evtl. solltet ihr auch mal über ein Kurz- und ein 2. Archiv-Backup auf einer 3. Festplatte nachdenken, sowie eine räumliche Trennung des Sicherungsmediums um Brand oder Diebstahl vorzubeugen. Wie ihr im Falle einer Aufrüstung mit eurem System auf eine größere Festplatte umziehen könnt, beschreibe ich im später folgenden Artikel „Tapetenwechsel – Wie man ohne LVM auf eine größere Festplatte umzieht“. Auch wird noch zur Sprache kommen, wie man einzelne verschlüsselte Partitionen spiegeln kann.

Status: testing