Debian – Softwareraid mit mdadm fehlerhafte Festplatte entfernen und tauschen

Remove faulty Disk zu neudeutsch ist das Thema. D.h. ich werde hier kurz zeigen, wie man eine Festplatte die Fehler aufweist aus einem Softwareraid entfernen kann.

1. der Status mdadm -D /dev/md2

/dev/md2:
Version : 1.2
Creation Time : Wed Sep 18 20:57:17 2013
Raid Level : raid6
Array Size : 17550928896 (16737.87 GiB 17972.15 GB)
Used Dev Size : 2925154816 (2789.65 GiB 2995.36 GB)
Raid Devices : 8
Total Devices : 8
Persistence : Superblock is persistent

Update Time : Sat May  3 21:48:27 2014
State : clean
Active Devices : 8
Working Devices : 8
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : node01:2  (local to host node01)
UUID : 94f3531e:20b308d6:aa1db813:2d37c71d
Events : 22490

Number   Major   Minor   RaidDevice State
0       8        4        0      active sync   /dev/sda4
1       8       20        1      active sync   /dev/sdb4
2       8       36        2      active sync   /dev/sdc4
3       8       52        3      active sync   /dev/sdd4
4       8       68        4      active sync   /dev/sde4
5       8       84        5      active sync   /dev/sdf4
6       8      100        6      active sync   /dev/sdg4
7       8      116        7      active sync   /dev/sdh4

2. Disk oder Partition als fehlerhaft setzen, sofern sie es nicht schon ist

mdadm /dev/md0 –fail /dev/sdh2
mdadm: set /dev/sdh2 faulty in /dev/md0
root@node01:~# mdadm /dev/md1 –fail /dev/sdh3
mdadm: set /dev/sdh3 faulty in /dev/md1
root@node01:~# mdadm /dev/md2 –fail /dev/sdh4
mdadm: set /dev/sdh4 faulty in /dev/md2

Number   Major   Minor   RaidDevice State
0       8        4        0      active sync   /dev/sda4
1       8       20        1      active sync   /dev/sdb4
2       8       36        2      active sync   /dev/sdc4
3       8       52        3      active sync   /dev/sdd4
4       8       68        4      active sync   /dev/sde4
5       8       84        5      active sync   /dev/sdf4
6       8      100        6      active sync   /dev/sdg4
7       0        0        7      removed

7       8      116        –      faulty spare   /dev/sdh4

Das Ergebnis sieht dann so aus

Personalities : [raid1] [raid6] [raid5] [raid4]
md2 : active raid6 sda4[7] sdg4[8](F) sdf4[5] sde4[4] sdd4[3] sdc4[2] sdb4[1]
14625774080 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]

md1 : active raid6 sda3[7] sdg3[8](F) sdf3[5] sde3[4] sdd3[3] sdc3[2] sdb3[1]
9758720 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]

md0 : active raid6 sda2[7] sdg2[8](F) sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb2[1]
14638080 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]

3. als nächstes kann die Festplatte / Partition dann aus dem Raidverbund entfernt werden:

mdadm /dev/md0 –remove /dev/sdh2
mdadm: hot removed /dev/sdh2 from /dev/md0
root@node01:~# mdadm /dev/md1 –remove /dev/sdh3
mdadm: hot removed /dev/sdh3 from /dev/md1
root@node01:~# mdadm /dev/md2 –remove /dev/sdh4
mdadm: hot removed /dev/sdh4 from /dev/md2
Number   Major   Minor   RaidDevice State
0       8        4        0      active sync   /dev/sda4
1       8       20        1      active sync   /dev/sdb4
2       8       36        2      active sync   /dev/sdc4
3       8       52        3      active sync   /dev/sdd4
4       8       68        4      active sync   /dev/sde4
5       8       84        5      active sync   /dev/sdf4
6       8      100        6      active sync   /dev/sdg4
7       0        0        7      removed

4. neue Festplatte vorbereiten (GPT) – Partitionstabelle von sda auf sdh kopieren

sgdisk -R /dev/sdh /dev/sda

eigene UUID für sdh erzeugen (sgdisk ist im Paket gdisk enthalten)
sgdisk -G /dev/sdb

5. neue Festplatte sdh hinzufügen
mdadm /dev/md0 --add /dev/sdh2
mdadm /dev/md1 --add /dev/sdh3
mdadm /dev/md2 --ad /dev/sdh4

6. Kontrolle des Raidrebuilds mittels:
#cat /proc/mdstat

7. Grub2 in für die neue Disk sdh installieren:
# grub-install /dev/sdh

Fertig

Schreibe einen Kommentar

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