Auflösen eines RAIDs ohne Datenverlust und Reinstallation?

Meine “Versuche” in den letzten Wochen haben einge Probleme mit dem Software-RAID aufgezeigt, die die Vorteile der Datensicherheit nicht gerrecht werden. Viel zu komplex der Punkt, wenn die Hardware komplett getauscht werden muss bzw. eine Vollsicherung zurückgespielt werden muss.

Der BackupDC ist jetzt ohne RAID, da ich ihn eh neuinstallieren musste. Dann kam noch die Einrichtung (eine VM in KMV einrichten und das Agorum-Verzeichnis aus der DaSi zurücklesen)

Der MasterDC ist da schon komplizierter, was die Daten betrifft. Darum die Frage, könnte ich das RAID1 wieder auflösen? Ich hätte noch eine 3. Festplatte, die ich als neue “Zielplatte” verwenden kann/würde. Aber eine 1:1 Kopie wird da ja wohl nicht gehen, oder?

Generell muss ich zuerst ganz dringend dazu raten, wichtige Server immer mit RAID laufen zu lassen. Wenn Ihnen das Software-RAID zu kompliziert ist, so investieren Sie die paar wenigen 100 € in einen ordentlichen Hardware-RAID-Controller. Wenn Sie jemals einen Schaden an der einen Platte ohne RAID haben, so ist der Zeitaufwand zur Wiederherstellung ungleich viel größer als die Kosten eines Hardware-RAID-Controllers es jemals rechtfertigen würden. Und es ist ja nicht nur Ihre Zeit; auch alle anderen User in der Domäne sind davon betroffen.

könnte ich das RAID1 wieder auflösen?

Ja, es gibt mehrere Varianten, alle nicht trivial. Bevor Sie anfangen, benötigen Sie ein funktionierendes Vollbackup, denn Fehler können hier leicht zum Verlust der kompletten Daten führen.

Eine Möglichkeit sieht so aus: Verbund auflösen, von zweiter Platte auf erste Platte kopieren, Konfigurationsdateien anpassen, Bootloader installieren, zweite Platte entfernen, Reboot.

Die folgenden Befehle sind wie gesagt gefährlich. Auf keinen Fall einfach meine Beispiele verwenden, sondern sie statt dessen immer auf Ihre tatsächlichen Gegebenheiten anpassen!

  1. Zuerst mal von einer Rescue-CD booten, z.B. grml.
  2. Nun die laufenden RAIDs anschauen (sofern sie laufen): cat /proc/mdstat. Ziel: Sie müssen genau wissen, welche Partition in welchem RAID steckt.
  3. Nun für jedes RAID die Partition der ersten Platte entfernen. Wenn z.B. /dev/md0 aus /dev/sda1 und /dev/sdb1 besteht:
  4. mdadm --manage /dev/md0 --fail /dev/sda1
  5. mdadm --manage /dev/md0 --remove /dev/sda1
  6. Nun die RAID-Verwaltungsdaten auf den entfernten Partitionen überschreiben: mdadm --zero-superblock /dev/sda1
  7. Als nächstges die Daten vom noch laufenden RAID-Device auf die erste Platte kopieren: dd if=/dev/md0 of=/dev/sda1.
  8. Anschließend die Größe des kopierte Dateisystem prüfen, weil die rohe Partition nun etwas größer ist als das ursprüngliche RAID-Device: resize2fs /dev/sda1
  9. Kopierte Root-Partition mounten, z.B. mount /dev/sda3 /mnt (oder welche auch immer das war)
  10. In /mnt alle Vorkommen von md0 und so weiter auf sda1 umschreiben. Relevant sind primär /etc/fstab und /boot/grub/grub.cfg, wobei letztere potenziell gar nicht angepasst werden muss, weil wir die Partitionierung beibehalten und sich damit aus Sicht von grub die in der Konfiguration stehenden Partitionsnummern nicht ändern.
  11. Unmounten, herunterfahren, zweite Platte entfernen, wieder starten und hoffen, dass die Maschine ordentlich hochkommt.

Bei Verwendung von LVM wird das Ganze noch mal ein Stück komplizierter. Alles möglich und machbar, klar.

Natürlich könnten Sie auch das RAID heile lassen und auf eine dritte Platte kopieren. Das erfordert noch eine Partitionierung, das EInspielen des Bootloaders etc. Wäre halt eine andere Variante.

Mastodon