Software-RAID: Platte ersetzen

Auch in “VMware-ESX-Zeiten” und RAID-Controller habe ich noch Software-RAID im Einsatz. Und gerade weil es immer seltener wird, dass man da mal was machen muss, will ich hier mal aufschreiben, was ich gemacht habe, um eine ausgefallene SATA-Platte zu ersetzen:

Ich fange nach Austausch der (physikalischen) Platte an. D.h. Das Software-RAID ist degraded und die neue Platte hängt falsch oder nicht partitioniert im System:

  • Partitionierung kopieren:
    • Noch funktionierende Platte: Partitionen dumpen (bei mir /dev/sda):
      sfdisk -d /dev/sda > sfdisk_sda.txt
      
    • Im entstandenen Dumpfile alle sda durch sdb (= bei mir die neue Platte) ersetzen:
      cp sfdisk_sda.txt sfdisk_sdb.txt
      vi sfdisk_sdb.txt # oder mit sed...
      
    • Als Partitionstabelle der neuen Platte einlesen:
      sfdisk /dev/sdb <sfdisk_sdb.txt
      
    • Kurz manuell prüfen:
      cfdisk /dev/sdb
      cfdisk /dev/sda
      ls -la /dev/sdb*
      
    • ggf. rebooten, falls das System die neuen Partitionen nicht erkannt/aktiviert hat.

  • Soft-RAID-Devices wieder mit Partitionen der neuen Platte ergänzen:

    • Welche haben wir denn? -> Nachlesen, welche md-Devices existieren und fehlende Partitionen haben. Bei mir sieht das so aus:
      # cat /proc/mdstat 
      Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
      md0 : active raid1 sda1[0]
            208704 blocks [2/1] [U_]
      
      md1 : active raid1 sda3[0]
            937489024 blocks [2/1] [U_]
      
      md8 : active (auto-read-only) raid1 sda2[0]
            39061952 blocks [2/1] [U_]
      
      unused devices: <none>
      #
      
    • Dann alles einzeln adden:
      mdadm /dev/md0 -a /dev/sdb1
      mdadm /dev/md1 -a /dev/sdb3
      mdadm /dev/md8 -a /dev/sdb2
      
    • Danach wird das RAID (normalerweise) automatisch neu aufgebaut (rebuild). mdstat zeigt dann bei mir das an:
          # cat /proc/mdstat 
      Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
      md0 : active raid1 sdb1[1] sda1[0]
            208704 blocks [2/2] [UU]
      
      md1 : active raid1 sdb3[2] sda3[0]
            937489024 blocks [2/1] [U_]
            [>....................]  recovery =  0.1% (1543040/937489024) finish=242.6min speed=64293K/sec
      
      md8 : active raid1 sdb2[2] sda2[0]
            39061952 blocks [2/1] [U_]
              resync=DELAYED
      
      unused devices: <none>
      #
      

Fertig. Nach ein paar Stunden sollte alles wieder ok sein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert