raid1 mdadm debian verify parity

17/11/2007 - 17:13 von tlehmann | Report spam
Hallo *!

Ich habe eine Frage zur Pruefung eines RAID-Verbandes.
Zwar habe ich per Google einiges zum Thema gefunden, aber leider
nichts zum konkreten Anwendungsfall.

- das h-IDS meldet die Aenderung einer Datei:

File: /usr/src/linux-2.4.30.tar.bz2
MD5 : ddjOQKNmhgMBfNGGkJ7+jQ== , m4jarDOo+aoBGNIejJCmmQ= SHA1 : KAdo9SnQGK9EzthbfJ0iHVNsodc= , 7Y/tozpNTvQ49l0fxxYkBjRVdGcAIDE produced no errors.


- die Datei hat schaden genommen:

# tar -tjf /usr/src/linux-2.4.30.tar.bz2
...

linux-2.4.30/drivers/net/ibm_emac/ibm_ocp_zmii.h
linux-2.4.30/drivers/net/ibm_emac/ibm_ocp_phy.h
tar: Skipping to next header

bzip2: Data integrity error when decompressing.
Input file = (stdin), output file = (stdout)


- defekte Datei liegt auf md7

- das RAID1-Device scheint konsistent.

# cat /proc/mdstat
Personalities : [raid1]
md7 : active raid1 sdb7[1] sda7[0]
4112512 blocks [2/2] [UU]

- Es scheint, dass 1 Bit auf einer Platte umgekippt ist.
Die Frage ist nur welche Platte hat einen Treffer?
- danach koennte man diese P. mit --re-add wieder aufnehmen.

- Man kann sicher jede P. einzeln ro-mounten und die Datei testen.
DIes wuerde aber auch nur bei diesem Beispiel funktionieren.
- smart meldet auf beiden HDs ein paar Fehler.
(Es gibt erst eine neue HD, wenn alte ganz kaputt)
- mdadm --monitor erkennt nur die Aenderung des Status in /proc/mdstat
- mdadm --detail, --examine liefert nur Infos ueber den Zustand des Arrays.
(s. "mdadm detail md-device")
- es gibt bereits mdadm-2.6.4 (Oct-2007). Aber ein update sollte nur im
Rahmen der Distr. erfolgen (akt. Debian mdadm-2.5.6 Nov-2006).


-> Wie kann man ein MD-Device im laufenden Betrieb testen?
Auch im Software-RAID.HOWTO (Pkt. 6) habe ich nichts dazu gefunden.

- mdadm detail md-device

# mdadm --detail /dev/md7 | more
Version : 00.90.03
Raid Level : raid1
State : clean
Number Major Minor RaidDevice State
0 8 7 0 active sync /dev/sda7
1 8 23 1 active sync /dev/sdb7

# mdadm -E /dev/sdb7
Magic : a92b4efc
Version : 00.90.00
State : clean
Checksum : 1927e37d - correct

# mdadm -E /dev/sda7
Magic : a92b4efc
Version : 00.90.00
State : clean
Checksum : 1927e39a - correct


Torsten
 

Lesen sie die antworten

#1 Christian Garbs
18/11/2007 - 11:34 | Warnen spam
Mahlzeit!

Torsten L. wrote:

-> Wie kann man ein MD-Device im laufenden Betrieb testen?



% echo check >> /sys/block/$MD/md/sync_action

Dann warten, bis /sys/block/$MD/md/sync_action auf "idle" wechselt und
aus "/sys/block/$MD/md/mismatch_cnt" die Fehleranzahl auslesen.

$MD ist das endsprechende Device.

Erraten, auf welcher der Platten der Fehler ist, kannst du erst ab
genügend Redundanz (z.B. drei statt zwei Platten als RAID1). Ob und
wie dir das dann der Kernel mitteilt (oder vielleicht sogar gleich
selbst korrigiert), weiß ich nicht.

Wenn du eine Swappartition auf einem RAID1 hast, dann wird das fast
schon von alleine inkonsistent, ganz ohne Bitfehler auf den Platten.
Regelmàßig die Partition nullen und mkswap drüberlaufen lassen scheint
hier die einzige Option.
Gegen dieses komische Verhalten hilft in Wechsel auf einen anderen
RAID-Level (RAID5 zeigt das Verhalten z.B. nicht) oder das Einfügen
eines zusàtzlichen Blocklayers (LVM oder crypto), dann bleibt Swap
auch auf RAID1 konsistent.
Klingt komisch, ist aber so :-)

Gruß,
Christian
Christian.Garbs.http://www.cgarbs.de
Laut einer Umfrage des forsa-Instituts würden 96% aller Frankfurter
PH-Studenten sich weigern, an einer Umfrage teilzunehmen.

Ähnliche fragen