Server:Defekte Festplatte (md-Komponente) im Software-RAID austauschen

Aus manitu Wiki
Zur Navigation springen Zur Suche springen

Diese Anleitung zeigt Ihnen, wie Sie eine defekte oder ausgefallene Festplatte eines Linux Software-RAIDs (also eine Komponente eines md-Devices) entfernen bzw. austauschen.

Bitte koordinieren Sie den Austausch der defekten Festplatte vorher mit unserem Support, um unnötige Wartezeiten und damit verbundene Datenverluste zu vermeiden.

Hinweise

Diese Anleitung geht davon aus,

  • dass das erste md-Device /dev/md0 heißt
  • dass /dev/md0 ein RAID-1-Array ist
  • dass /dev/md0 aus folgenden Komponenten besteht:
    • /dev/sda1
    • /dev/sdb1
  • dass /dev/sdb1 die defekte md-Komponente ist

Die nachfolgenden Schritte können theoretisch auch im laufenden System, das Sie auf Ihrem Root-Server installiert haben, vorgenommen werden, wir empfehlen aber grundsätzlich, unser Rettungs-System zu verwenden.

Eine Festplatte austauschen, die nur in einem md-Device (RAID-Array) verwendet wird

(Über-)Prüfung, welche md-Komponente als fehlerhaft erkannt wurde

Bitte (über-)prüfen Sie zunächst, welche md-Komponente (z.B. Partition einer Festplatte) als fehlerhaft erkannt wurde, indem Sie die Ausgabe des Linux Software-RAID-Treibers über

$ cat /proc/mdstat

einsehen.

Dessen Ausgabe sieht ähnlich aus wie nachfolgend (gekürzt):

md0 : active raid1 sdb1[1](F) sda1[0]
      *** blocks [2/1] [_U]

Anhand des (F) erkennen Sie, dass sdb1 als defekte md-Komponente erkannt wurde.

Entfernen der defekten md-Komponente

Entfernen Sie die md-Komponente über

$ mdadm --remove /dev/md0 /dev/sdb1

Partitionieren der neuen Festplatte

Sofern die md-Komponente auf einer Festplatte lag, partitionieren Sie die neue Festplatte analog zur anderen im selben md-Device verwendeten Festplatte, z.B. via fdisk. Bitte stellen Sie unbedingt sicher, dass die Partitionen dieselbe Größe aufweisen.

Wenn Sie die Partitionierung einer ganzen Festplatte (z.B. von /dev/sda, die nicht defekt ist) übernehmen möchten, können Sie dies via

$ sfdisk -d /dev/sda | sfdisk /dev/sdb

tun. Bitte beachten Sie dabei unbedingt, dass /dev/sda die korrekt funktionierende und /dev/sdb die defekte Festplatte ist!

Hinzufügen der neuen md-Komponente

Fügen Sie die neue md-Komponenten nun via

$ mdadm --add /dev/md0 /dev/sdb1

hinzu und überprüfen Sie, ob der Vorgang erfolgreich war, via

$ cat /proc/mdstat

Sie sehen im Erfolgsfall den Status des Rebuilds:

md0 : active raid1 sdb1[1] sda1[0]
      *** blocks [2/1] [_U]
      [>.............] = *% (*/*) finish=*min speed=*K/sec

Unter Umständen ist es sinnvoll, die Geschwindigkeit des Rebuilds zu erhöhen.

Installation des Bootloaders auf der neuen Festplatte

Bitte installieren Sie nun den Bootloader auf die neue Festplatte - je nach Grub-Version.

Grub (Grub1, grub-legacy)

Die Installation bei Grub in Version 1, auch grub-legacy genannt, erfolgt in der Regel via

  1. rufen Sie die Grub-Konsole auf:
    $ grub
  2. geben Sie die Partition, auf der /boot liegt (also /dev/sdb2 in Grub1-Schreibweise) an:
    root (hd1,1)
  3. schreiben Sie den Bootloader in den MBR von /dev/sdb:
    setup (hd1)
  4. beenden Sie die Grub-Konsole:
    quit

Bitte beachten Sie dabei die Device-Nomenklatur von Grub1:

  • hd0,0 entspricht /dev/sda1
  • hd0,1 entspricht /dev/sda2
  • hd0,2 entspricht /dev/sda3
  • (...)
  • hd1,0 entspricht /dev/sdb1
  • hd1,1 entspricht /dev/sdb2
  • hd1,2 entspricht /dev/sdb3
  • (...)

Grub2

Die Installation ist hier in der Regel einfach über

$ grub-install /dev/sdb

zu erreichen, bitte beachten Sie jedoch Besonderheiten Ihrer Linux-Distribution.

Eine Festplatte austauschen, die in mehreren md-Devices (RAID-Arrays) verwendet wird

Wenn Sie ein Festplatte austauschen möchten, die in mehreren md-Devices (RAID-Arrays) verwendet wird, gehen Sie wie folgt vor:

  1. prüfen Sie wie unter 2. beschrieben, welche Festplatte defekt ist
  2. sollten nicht alle Partitionen der Festplatte als fehlerhaft erkannt worden sein, markieren Sie die restlichen Partitionen manuell als fehlerhaft, da Sie diese sonst im folgenden Schritt nicht entfernen können:
    $ mdadm --manage /dev/md1 --set-faulty /dev/sdb2
    $ mdadm --manage /dev/md2 --set-faulty /dev/sdb3
    
  3. entfernen Sie alle Partitionen der Festplatte aus allen md-Devices, in denen diese verwendet wird:
    $ mdadm --remove /dev/md0 /dev/sdb1
    $ mdadm --remove /dev/md1 /dev/sdb2
    $ mdadm --remove /dev/md2 /dev/sdb3
    
  4. partitionieren Sie die neue Festplatte wie unter 2.3 beschrieben
  5. fügen Sie die neuen Partitionen allen nötigen md-Devices hinzu:
    $ mdadm --add /dev/md0 /dev/sdb1
    $ mdadm --add /dev/md1 /dev/sdb2
    $ mdadm --add /dev/md2 /dev/sdb3
    
  6. installieren Sie den Bootloader wie unter 2.5 beschrieben