Linux Software Raid 10 hängt, nachdem 1 Laufwerk ausgefallen ist. MDADM lässt mich das fehlerhafte Gerät nicht zwangsweise entfernen

8

Ich habe ein Linux-Software-Raid-10-Setup, das aus 5 RAID 1s (zwei Laufwerke pro gespiegeltem Setup) und einem RAID 0 über alle 5 RAID 1-Paare besteht. Um zu testen, ob keines der Laufwerke unter Last schnell ausfallen würde, habe ich Badblocks über RAID 0 mit einem destruktiven Lese- / Schreibmodus verwendet.

Badblocks-Befehl: badblocks -b 4096 -c 98304 -p 0 -w -s / dev / md13

Eines der Geräte fiel aus und statt des Badblocks-Programms hing es glücklich weiter. Wenn ich einen Synchronisierungsbefehl ausführe, hängt dieser ebenfalls. Zunächst würde ich annehmen, dass dies kein Standardverhalten für ein RAID 1-Gerät ist. Wenn eines der Laufwerke ausfällt, sollte es weiterhin problemlos auf das virtuelle Gerät schreiben können, aus dem die beiden Laufwerke bestehen.

Also erzwang ich einen Ausfall des Laufwerks und versuchte, es zu entfernen. Ich kann das Laufwerk problemlos auf fehlerhaft einstellen (die E / A-Vorgänge hängen jedoch noch). Ich kann das Gerät nicht vollständig aus dem Raid entfernen, der besagt, dass es beschäftigt ist. Ich gehe davon aus, dass das IO fortgesetzt wird, wenn ich es vollständig aus dem Raid rauswerfen kann, aber das ist nur eine Annahme, und ich glaube, ich habe es mit einer Art Fehler zu tun.

Was ist hier genau los? Bin ich aufgrund eines Fehlers an einem nicht behebbaren Ort?

Auf dem System wird Kernel 2.6.18 ausgeführt, daher ist es nicht gerade neu, aber ich würde denken, dass Software-Raids schon so lange existieren, dass solche Probleme nicht auftreten würden.

Jeder Einblick wird sehr geschätzt.

mdadm --detail / dev / md13

/ dev / md13:

    Version : 00.90.03   Creation Time : Thu Jan 21 14:21:57 2010
 Raid Level : raid0
 Array Size : 2441919360 (2328.80 GiB 2500.53 GB)    Raid Devices : 5  

Total Devices: 5 Preferred Minor: 13 Persistenz: Superblock ist persistent

Update Time : Thu Jan 21 14:21:57 2010
      State : clean  Active Devices : 5 Working Devices : 5 

Fehlerhafte Geräte: 0 Ersatzgeräte: 0

 Chunk Size : 64K

       UUID : cfabfaee:06cf0cb2:22929c7b:7b037984
     Events : 0.3

Number   Major   Minor   RaidDevice State
   0       9        7        0      active sync   /dev/md7
   1       9        8        1      active sync   /dev/md8
   2       9        9        2      active sync   /dev/md9
   3       9       10        3      active sync   /dev/md10
   4       9       11        4      active sync   /dev/md11

Die fehlgeschlagene RAID-Ausgabe:

/ dev / md8: Version: 00.90.03 Erstellungszeit: Do 21.01.14 14:20:47 2010 RAID-Level: raid1 Array-Größe: 488383936 (465,76 GiB 500,11 GB) Gerätegröße: 488383936 (465,76 GiB 500,11 GB) Raid-Geräte: 2
Total Devices: 2 Preferred Minor: 8 Persistenz: Superblock ist persistent

Update Time : Mon Jan 25 04:52:25 2010
      State : active, degraded  Active Devices : 1 Working Devices : 1

Fehlerhafte Geräte: 1 Ersatzgeräte: 0

       UUID : 2865aefa:ab6358d8:8f82caf4:1663e806
     Events : 0.11

Number   Major   Minor   RaidDevice State
   0      65       17        0      active sync   /dev/sdr1
   1       8      209        1      faulty   /dev/sdn1
ScottZ
quelle

Antworten:

1

Entschuldigung, vielleicht habe ich es nicht gut verstanden und ein cat / proc / mdstat könnte hilfreich sein, aber soweit ich sehen kann, haben Sie sich in den Fuß geschossen und Ihre Daten auf RAID0 und so weiter auf den zugrunde liegenden RAID1-Arrays zerstört. Wenn Sie die RAID-Zuverlässigkeit testen müssen, müssen Sie ein Laufwerk, eine Festplatte, als fehlerhaft markieren, um keine logischen Blöcke zu zerstören, die sich auf alle darunter liegenden RAID1-Festplatten beziehen, wenn ich das Problem gut verstanden habe (lassen Sie es mich wissen).

verdrehtes Gehirn
quelle
0

Möglicherweise müssen Sie den Kernel bitten, das fehlerhafte Laufwerk zu entfernen. Das Hangy-RAID wird freigegeben.

Sie können es mit einem Skript wie http://bash.cyberciti.biz/diskadmin/rescan-linux-scsi-bus/ entfernen.

Dom
quelle
Dieses Skript ist zwar interessant und ich muss mir genauer ansehen, wie es Geräte hinzufügt / entfernt, um zu sehen, ob ich das Entfernen erzwingen kann, aber letztendlich sieht das System das Laufwerk immer noch als aktiv an. Das Gerät muss nicht vollständig tot sein, damit Software-Raids es aus dem RAID1 werfen können. In diesem Fall sind einige Schreibvorgänge fehlgeschlagen, aber das Gerät "existiert"
ScottZ