Das macht nix weiter als ein "echo check > /sys/block/mdX/md/sync_action" dann rennt das Ding über die Platten und vergleicht die Checksumme mit den Daten.
Wobei mir noch keiner sagen konnte wem im Fehlerfall mehr geglaubt wird. Den Daten auf der Platte oder der Checksumme bei einem Raid5.
Und beim Raid 6 hat man ja eigentlich 2 Checksummen. Wird da eine Mehrheitsvotum genommen ? Also wenn die Daten im Unterschied zu beiden Checksummen sind. Werden dann die Daten korrigiert ?
Gruss
Das ist eine gute Frage!
Vorab: Das ist alles rein spekulativ und sind nur lediglich ein paar Gedankengänge meinerseits zu deiner Frage.
Normalerweise wird die Checksumme ja erstellt/geändert, wenn die Datei geändert wird oder halt angelegt wird. Sprich, sich der Wert eines Bits ändert. Wenn die Datei aber durch einen Hardwaredefekt (z.b. fehlerhafte Sektoren, Festplattenfehler usw.) verändert wird,
müsste die Checksumme davon ja unberührt bleiben, da nicht die RAID Steuerungssoftware die Datei verändert hat, sondern dies durch einen Hardwaredefekt herbeigeführt wurde. Ergo sollte dann bei einer Datenträgerbereinigung auch dann der Checksumme geglaubt werden und somit die Datei damit im Originalzustand wiederhergestellt werden können.
Das Problem hierbei ist allerdings, was passiert denn, wenn sowohl die betroffene Datei, als auch die Checksumme davon betroffen ist? Normalerweise liegen diese zwei Dinge aber nie auf der selben Platte. Da liegt dann die Datei auf Platte A1, aber die Parität dafür auf Platte A2. Tja... Dann wäre ja beides hinüber und somit eine Rekonstruktion der Originaldatei nicht mehr herstellbar. Ich vermute einfach mal, dass die betroffene Datei dann einfach verloren geht oder halt beschädigt wiederhergestellt würde. Ich weiß es aber auch nicht.
Das Wiki selbst sagt dazu irgendwie auch nichts:
https://de.wikipedia.org/wiki/RAID#...l_Striping_mit_verteilter_Paritätsinformation
Oder ich bin blind.