Linux Software RAID - Data scrubbing / Datenbereinigung

Um schleichende Korruption der Daten in einem RAID System vorzubeugen, ist es sinnvoll regelmässig die (Roh-)Daten eines RAID-Sets zu ’schrubben’. Korrupte Daten können durch das ‘kippen’ einzelner Bits entstehen (soweit mir bekannt). Das passiert nicht im Filesystem sondern direkt in den Rohdaten des RAID-Verbunds. Das bedeutet das ein solcher Defekt vom Betriebssystem nicht ‘bemerkt’ wird.

siehe:

http://de.wikipedia.org/wiki/Datenbereinigung
http://en.wikipedia.org/wiki/Data_scrubbing
http://en.wikipedia.org/wiki/Memory_scrubbing
http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID#Data_Scrubbing

Unter Linux  ist es seit 2.6.16 möglich einen Konsistenzcheck durchzuführen. Alle Blöcke werden gelesen. Falls Blöcke nicht sauber gelesen werden können, werden diese neu geschrieben.

Beispiel

Starten des Checks

[root@doom ~]# echo check >> /sys/block/md0/md/sync_action

Fortschritt überprüfen

[root@doom ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid1]
md0 : active raid1 sda1[0] sdb1[1] sdc1[2]
      521984 blocks [3/3] [UUU]
      [=====>...............]  resync = 28.8% (150528/521984) finish=0.0min speed=150528K/sec

Ergebnis anzeigen

[root@doom ~]# cat /sys/block/md0/md/mismatch_cnt
256

Reparieren

[root@doom ~]# echo repair >> /sys/block/md0/md/sync_action

Fortschritt anzeigen

[root@doom ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid1]
md0 : active raid1 sda1[0] sdb1[1] sdc1[2]
      521984 blocks [3/3] [UUU]
      [===========>.........]  resync = 59.2% (309952/521984) finish=0.0min speed=77488K/sec

Ergebnis kontrollieren

[root@doom ~]# cat /sys/block/md0/md/mismatch_cnt
256

About this entry