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 BIOS als Schnittstelle zwischen Hardware und Betriebssystem verwenden. Wenn Sie einen Dedicated Server verwenden, der UEFI als Schnittstelle zwischen Hardware und Betriebssystem nutzt, finden Sie im folgenden Artikel Informationen um das Software-RAID wiederaufzubauen:

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

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

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 vorhanden 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@s20776641:~# lsblk
    NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    loop1             7:1    0  54.9M  1 loop  /snap/lxd/12631
    loop2             7:2    0 110.6M  1 loop  /snap/core/12834
    loop3             7:3    0  61.9M  1 loop  /snap/core20/1434
    loop4             7:4    0  80.4M  1 loop  /snap/lxd/23037
    sda               8:0    0 931.5G  0 disk
    ├─sda1            8:1    0     4G  0 part
    │ └─md1           9:1    0     4G  0 raid1 /
    ├─sda2            8:2    0     2G  0 part  [SWAP]
    └─sda3            8:3    0 925.5G  0 part
      └─md3           9:3    0 925.5G  0 raid1
        ├─vg00-usr  253:0    0     5G  0 lvm   /usr
        ├─vg00-var  253:1    0     5G  0 lvm   /var
        └─vg00-home 253:2    0     5G  0 lvm   /home
    sdb               8:16   0 931.5G  0 disk
    ├─sdb1            8:17   0     4G  0 part
    │ └─md1           9:1    0     4G  0 raid1 /
    ├─sdb2            8:18   0     2G  0 part  [SWAP]
    └─sdb3            8:19   0 925.5G  0 part
      └─md3           9:3    0 925.5G  0 raid1
        ├─vg00-usr  253:0    0     5G  0 lvm   /usr
        ├─vg00-var  253:1    0     5G  0 lvm   /var
        └─vg00-home 253:2    0     5G  0 lvm   /home
    root@s20776641:~# cat /proc/mdstat

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

Beispielszenario

In dieser Anleitung wird folgende Konfiguration angenommen:

root@s20776641:~# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md3 : active raid1 sdb3[1] sda3[0]
      970470016 blocks [2/2] [UU]
 
md1 : active raid1 sdb1[1] sda1[0]
      4194240 blocks [2/2] [UU]

 

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda1[0] sdb1[1]
4194240 blocks [2/2] [UU]

md3 : active raid1 sda3[0] sdb3[1]
1458846016 blocks [2/2] [UU]

Es existieren 2 Arrays:

/dev/md1 als /

/dev/md3 für die log. Partitionen /var /usr /home

Typischerweise gibt es mit sda2 und sdb2 noch zwei Swap-Partitionen, die nicht zum RAID gehören.

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 Reboot 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/md3 -a /dev/sda3

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

  • Mounten Sie dann die Partitionen var, usr und home:

    [root@host ~]# mount /dev/md1 /mnt
    [root@host ~]# mount /dev/mapper/vg00-var /mnt/var
    [root@host ~]# mount /dev/mapper/vg00-usr /mnt/usr
    [root@host ~]# mount /dev/mapper/vg00-home /mnt/home

  • Damit später Grub fehlerfrei installiert werden kann, mounten Sie noch proc, sys und dev:

    [root@host ~]# mount -o bind /proc /mnt/proc
    [root@host ~]# mount -o bind /sys /mnt/sys
    [root@host ~]# mount -o bind /dev /mnt/dev

  • 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 /dev/sda

  • Verlassen Sie Chroot mit Exit und hängen alle Festplatten wieder aus:

    [root@host ~]# umount -a

    Warten 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/sda2
    [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/md3 -a /dev/sdb3

    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/sdb2