Dateisystem „nachträglich“ in RAID1 wandeln

Linux mdadm Raid

Ich wurde im Februar 2015 bei einem erfolglosen Bewerbungsgespräch Zeuge, wie auf einem Arbeitsplatz-Computer das Dateisystem, welches ohne RAID-Verbund eingerichtet wurde, das System auf mittels mdadm in ein RAID 1 umgewandelt werden sollte.

Ich fand die Idee einen Arbeitsplatz Computer nachträglich, scheinbar direkt nach der Neuinstallation auf ein RAID zu verschieben überflüssig und umständlich.
Persönlich nutze ich lieber das Backup des Systems welches in jedem Fall vorhanden ist um nach einer Neuinstallation des Computers mit Einrichtung eines RAID Verbundes, zur Wiederherstellung der Daten.

Als Fingerübung fand ich die Idee jedoch interessant.
In meinen eigenen Überlegung gehe ich davon aus das im Notfall eine solche Nachträgliche Verschiebung der Daten in ein RAID die offline-Zeit eines Systems zugunsten einiger Arbeit und der zusätzlichen Chance das das System unerkannte Schäden enthält, reduziert werden. Daher ziehe ich auch in diesen Fällen eine saubere Neuinstallation vor.

Während des Bewerbungsgesprächs hörte ich nur ein paar Fetzen, ein Mitarbeiter fragte tatsächlich den Leiter seiner Abteilung wie mdadm und die Grub Installation erfolgreich durchzuführen seien. (Nein, es war ein fest eingestellter Mitarbeiter in der Administration, kein Azubi)

Nach nur zwei Versuchen, die beide erfolgreich waren, kann ich guten Gewissens berichten das die Umstellung eines Systems in ein RAID 1 ist tatsächlich so kompliziert nicht ist.

1.) Partitionierung klonen

Nach dem Einbau der zweiten Festplatte muss die Partitionierung der ersten Festplatte auf die neue Festplatte übertragen werden.

Auf der ersten Festplatte befinden sich 3 Partitionen, Boot, Swap und die eigentliche Datenpartition.

Der folgende Befehl liest die Partitionierung der Festplatte /dev/sda aus und schreibt diese auf die Festplatte /dev/sdb.

„sfdisk -d“ gibt die aktuelle Partitionstabelle der Festplatte /dev/sda aus und „sfdisk“, ohne Parameter, nimmt diesen Export und schreibt die Partitionen auf die Festplatte /dev/sdb.
Das die Übertragung der Partitionen erfolgreich war prüfe ich vor dem nächsten Schritt mit Hife der Eingabe von „sfdisk -l /dev/sdb“.

Im Anschluss wechseln wir die Partitions-ID von den für das RAID vorgesehenen Partitionen /dev/sdb1 und /dev/sdb3 auf fd (Linux raid autodetect).
Mit fdisk kann dies über das Kommando t, zum ändern der Partitions-ID, gefolgt von der Nummer der gewünschten Partition, zuerst 1 für die erste Partition später 3 für die dritten Partition, und in Folge die Eingabe der Zeichenfolge fd erfolgen.

2.) Raid initialisieren

Anschließend erstellen wir das RAID 1 Arrays mit den neuen Partitionen und „mit fehlendem zweiten Datenträger“.
Hierbei ist missing der Platzhalter für die aktuell fehlenden, da „aktiven“ und mit den Daten des Systems belegten Partitionen. „-l 1“ steht für RAID 1, „-n 2“ dafür daß das RAID 1 aus zwei Datenträgern bestehen wird.
(Bei einer minimal-Debian Installation muss mdadm zuvor mit dem Aufruf „apt install mdadm“ installiert werden.)

3.) Daten übertragen

Nach dem Anlegen der beiden neuen RAID 1 Arrays erzeuge ich ein ext3-Dateisystem auf den neuen Partitionen und erzeuge die neue swap-Partition.:

Nach dem anlegen des Dateisystems können die Datenträger eingehängt werden…

…und im Anschluss die Daten auf den neuen Datenträger kopieren:

4.) RAID ergänzen

Wie bereits im ersten Schritt, werden nun die Partitions-IDs angepasst. Diesmal jedoch für die Festplatte /dev/sda auf welcher zuvor noch unsere Nutzdaten gespeichert waren:

Im Anschluss muss in der Datei /etc/fstab für / den Eintrag /dev/md0 und für /boot den Eintrag /dev/md1 hinerlegt werden.

Anschließend kann der Computer neu gestartet werden.

Sobald der Grub2 Bootloader erscheint mit der Taste e den Editor für den Booteintrag atarten. In dem Booteintarg die Zeile „linux /vmlinux-3.3 root=UUID=“ in das aktuell verwendete „linux /vmlinux-3.3 root=/dev/md1“ korrigieren und im Anschluss mit F10 den Bootvorgang starten.

Das RAID mit den folgenden beiden Befehlen vervollständigen.:

Der erste Aufruf fügt dem RAID Array md0 den Fehlenden Datenträger sda1 hinzu. Nicht schwer zu erraten fügt zweite Aufruf den Datenträger sda3 dem RAID md1 hinzu.

5.) Grub für das neue RAID Installieren

Jetzt abschließend den Grub Bootloader für beide Festplatten konfiguriert und auf diese Installieren.

nur noch die Zeile „GRUB_TERMINAL=console“ in der Datei /etc/default/grub auskommentieren und mit den folgenden Befehlen eine neue Grub Konfiguration schreiben.

Jetzt kann der Computer auch mit nur einer einzelnen Festplatte, /dev/sda oder /dev/sdb, erfolgreich starten.

kleine Gedankenstützen

Ersetze <? durch <?php in allen php Dateien

Große Dateien Suchen

Dateien finden und löschen

Dateien finden und löschen

Superbloks eines ext2 oder ext3 Dateisystems finden

Startus eines Linux Raid herausfinden

Details eines Linux Raid anzeigen