Software-RAID wiederaufbauen (Linux/Dedicated Server mit UEFI)

In diesem Artikel wird erklärt, wie Sie ein Software-RAID nach dem Austausch einer defekten Festplatte wiederaufbauen. 

Achtung!

Diese Anleitung ist nur für Dedicated Server gültig, die UEFI als Schnittstelle zwischen Hardware und Betriebssystem verwenden. Wenn Sie einen Dedicated Server verwenden, der BIOS als Schnittstelle zwischen Hardware und Betriebssystem nutzt, finden Sie im folgenden Artikel Informationen, um das Software-RAID wieder aufzubauen.

Software-RAID wiederaufbauen (Linux/Dedicated Server mit BIOS)

Prüfen, ob ein Dedicated Server UEFI oder BIOS verwendet

Um zu prüfen, ob Ihr Server BIOS oder UEFI als Schnittstelle zwischen Hardware und Betriebssystem verwendet, geben Sie den folgenden Befehl ein:

[root@localhost ~]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Weitere Informationen zu UEFI

Weitere Informationen zu UEFI finden Sie im folgenden Artikel:

Allgemeine Informationen zu UEFI

Wichtige Informationen zur Partitionierung Ihres Dedicated Servers

Auf Dedicated Servern, die im Cloud Panel verwaltet werden, wird seit dem 20.10.2021 bei der Einrichtung und bei der Neuinstallation des Betriebssystems nur noch eine Partition eingerichtet. Auf Dedicated Servern, die vor diesem Datum eingerichtet wurden und auf Dedicated Servern die im Rahmen eines Server Power Deals erworben werden, sind die Betriebssystem-Images mit dem Logical Volume Manager (LVM) ausgestattet. Der Logical Volume Manager setzt eine logische Schicht zwischen dem Dateisystem und den Partitionen der verwendeten Datenspeicher. Dies ermöglicht es, ein Dateisystem anzulegen, das sich über mehrere Partitionen und/oder Datenträger erstreckt. Auf diese Weise kann z. B. der Speicherplatz von mehreren Partitionen oder Datenträgern zusammengefasst werden.

Ermittlung der Informationen, die zum Wiederaufbau des Software-RAIDs benötigt werden

Vorhandene Festplatten und Partitionen auflisten

Um die vorhandenen Festplatten und Partitionen aufzulisten, gehen Sie wie folgt vor:

  • Loggen Sie sich mit Ihrem Root-Konto auf dem Server ein.

  • Um die vorhandenen Festplatten und Partitionen aufzulisten, geben Sie den Befehl fdisk -l ein. fdisk ist ein Kommandozeilen-Programm zur Partitionierung von Festplatten. Mit diesem Programm kann man Partitionen anzeigen, anlegen oder löschen.
    [root@localhost ~]# fdisk -l

  • Notieren Sie die vorhandenen Festplatten, Partitionen und die Pfade der Auslagerungsdateien.

Hinweis

Nachdem die Festplatte ausgetauscht wurde, kann es passieren, dass diese als sdc erkannt wird. Dies passiert immer bei einem Austausch via Hot-Swap. Hier hilft nur ein Reboot, damit die Festplatte wieder als sda oder sdb erkannt wird.

Mountpoints ermitteln
  • Um die Mountpoints der von Ihnen genutzten Geräte und Partitionen anzuzeigen, geben Sie den folgenden Befehl ein:

    [root@localhost ~]# lsblk

    Anschließend werden z. B. die folgenden Informationen angezeigt:

    [root@2A2E3A1 ~]# lsblk
    NAME    MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
    sda       8:0    0  1.8T  0 disk
    ├─sda1    8:1    0  511M  0 part
    │ └─md1   9:1    0  511M  0 raid1 /boot/efi
    ├─sda2    8:2    0  1.4G  0 part
    │ └─md2   9:2    0  1.4G  0 raid1 /boot
    ├─sda3    8:3    0  3.7G  0 part  [SWAP]
    └─sda4    8:4    0  1.8T  0 part
      └─md4   9:4    0  1.8T  0 raid1 /
    sdb       8:16   0  1.8T  0 disk
    ├─sdb1    8:17   0  511M  0 part
    │ └─md1   9:1    0  511M  0 raid1 /boot/efi
    ├─sdb2    8:18   0  1.4G  0 part
    │ └─md2   9:2    0  1.4G  0 raid1 /boot
    ├─sdb3    8:19   0  3.7G  0 part  [SWAP]
    └─sdb4    8:20   0  1.8T  0 part
      └─md4   9:4    0  1.8T  0 raid1 /

  • Notieren Sie die Geräte und Partitionen sowie deren Mountpoints.

Beispielszenario

In dieser Anleitung wird folgende Konfiguration angenommen:

[root@2A2E3A1 ~]# cat /proc/mdstat
Personalities : [raid1]
md4 : active raid1 sdb4[2] sda4[0]
      1947653952 blocks super 1.0 [2/1] [U_]
 
md2 : active raid1 sdb2[2] sda2[0]
      1428416 blocks super 1.0 [2/2] [UU]
 
md1 : active raid1 sdb1[1] sda1[0]
      523200 blocks [2/2] [UU]
 
unused devices: <none>

In diesem Beispiel existieren 3 Arrays:

/dev/md1 mit dem Mountpoint /boot/efi
/dev/md2 mit dem Mountpoint /boot
/dev/md4 mit dem Mountpoint /

Darüber hinaus gibt es noch zwei Swap-Partitionen, die nicht zum RAID gehören. In diesem Beispiel handelt es sich um sda3 und sdb3.

RAID wiederherstellen

Das weitere Vorgehen hängt davon ab, ob Festplatte 1 (sda) oder Festplatte 2 (sdb) getauscht wurde:

Festplatte 1 (sda) wurde getauscht

Wurde die Festplatte 1 (sda) getauscht, müssen Sie prüfen, ob diese korrekt erkannt wurde. Unter Umständen müssen Sie einen Neustart ausführen. Booten Sie den Server anschließend in das Rescue-System und führen Sie die unten aufgeführten Schritte durch. 

  • Kopieren Sie als erstes die Partitionstabellen auf die neue (leere) Festplatte:
    [root@host ~]# sfdisk -d /dev/sdb | sfdisk /dev/sda(Ggf. müssen Sie die Option -–force verwenden)

  • Fügen Sie die Partitionen dem RAID hinzu:
    [root@host ~]# mdadm /dev/md1 -a /dev/sda1
    [root@host ~]# mdadm /dev/md2 -a /dev/sda2
    [root@host ~]# mdadm /dev/md4 -a /dev/sda4
    Sie können nun mit cat /proc/mdstat den Rebuild des RAIDS verfolgen.

  • Mounten Sie dann die Partitionen:[root@host ~]# mount /dev/md1 /boot/efi
    [root@host mount /dev/md2 /boot
    [root@host ~]# mount /dev/md4 /

  • Nachdem Sie die Partitionen gemountet haben, springen Sie in die Chroot-Umgebung und installieren den Grub-Bootloader:
    [root@host ~]# chroot /mnt
    [root@host ~]# grub-install --efi-directory=/boot/efi /dev/sda

  • Verlassen Sie Chroot mit Exit und hängen alle Festplatten wieder aus:
    [root@host ~]# umount -aWarten Sie, bis der Rebuildvorgang abgeschlossen ist und booten Sie dann den Server wieder in das normale System.

  • Abschließend müssen Sie nun noch die Swap-Partition über die folgenden Befehle aktivieren:
    [root@host ~]# mkswap /dev/sda3
    [root@host ~]# swapon -a

Festplatte 2 (sdb) wurde getauscht

Wurde die Festplatte 2 (sdb) getauscht, gehen Sie wie folgt vor:

  • Führen Sie einen Neustart durch, damit die Festplatte 2 (sdb) angezeigt wird.

  • Kopieren Sie im lokalen System die Partitionstabellen auf die neue (leere) Festplatte:
    [root@host ~]# sfdisk -d /dev/sda | sfdisk /dev/sdb
    (Ggf. müssen Sie die Option -–force verwenden)

  • Fügen Sie die Partitionen dem RAID hinzu:
    [root@host ~]# mdadm /dev/md1 -a /dev/sdb1
    [root@host ~]# mdadm /dev/md2 -a /dev/sdb2
    [root@host ~]# mdadm /dev/md4 -a /dev/sdb4

    Sie können nun mit cat /proc/mdstat den Rebuild des RAIDs verfolgen.

  • Abschließend müssen Sie nun noch die Swap-Partition über die folgenden Befehle aktivieren:
    [root@host ~]# mkswap /dev/sdb3
    [root@host ~]# swapon -a