Werden geschriebe Sektoren gecheckt?

geohei

Komplett-PC-Aufrüster(in)
Hallo.

Mache mir gerade einen Kopf (Verständnisfrage) über eine ausgefallenen HDD in meinem RAID1.

Wenn einen HDD Daten zwecks Schreibvorgang bekommt werden Sektoren geschrieben (nach ECC und Metadaten Aufbereitung).

AFAIK werden diese Sektoren von der HDD Firmware "blind" auf Platters geschrieben, d.h. nach dem Schreibvorgang werden die Daten nicht geprüft ob die Daten korrekt geschrieben wurden.

Ist das korrekt so?

Gruß,
 
Das ist korrekt. Ob die Daten richtig geschrieben wurden, stellt sich erst heraus, wenn auf die Sektoren das nächste Mal lesend zugegriffen wird. Andernfalls wäre ein zusätzlicher Lesezugriff notwendig, da HDDs nicht zur selben Zeit lesen und schreiben können. Festplatten merken lediglich, wenn der S-/L-Kopf die Spur nicht richtig getroffen oder sich außerhalb der tolerierten Flughöhe befunden hat, als die Daten geschrieben wurden oder werden sollten. Nur dann wird der Schreibzugriff erneut ausgeführt und in den Smart-Werten sieht man dann Einträge bei der Schreibfehlerrate.

Ein sogenanntes Write-Read-Verify halbiert bestenfalls die Übertragungsleistung einer HDD, weshalb das wohl weder durch die HDD-Firmware noch durch das Betriebssystem standardmäßig gemacht wird. Von älteren Serien von Maxtor ist mir bekannt, dass sie in den ersten Betriebsstunden ein Write-Read-Verify durchgeführt haben, um eine mögliche Transportbeschädigung zu finden. Über ein Tool konnte man das auch dauerhaft aktivieren. Von anderen Marken ist mir das nicht bekannt.
 
@RealMadnex

Alles klar. Vielen Dank für die Bestätigungen. Alles in Allem ist das Schreiben der Daten dann doch ein ziemlicher Ritt auf dem Drachen, da man mal einfach davon ausgeht die die Sektoren alle beschrieben werden können.

Programmiertechnisch sollte es jedoch ein leichtes sein, ein Tool zwischen Application und HDD beim Schreiben der Daten zu klemmen, welches genau dieses Write-Read-Verify macht. Es sollte dem Benutzer überlassen werden ob er Datensicherheit versus Geschwindigkeit wählt. Erste Google Suchen ergaben jedenfalls keine Hits, aber ehrlich gesagt weiß ich nicht so recht wie ich die Suche formulieren soll.

Wie heißt der SMART Wert den du ansprichst (der den Fehler der Köpfe beim Schreiben angebt)?

Was meine ursprüngliche Frage bzgl. RAID1 angeht, kann ich die Katze jetzt aus dem Sack lassen. Aber meine Frage erübrigt sich jetzt schon fast.

Ich wollte ein Tool, welches es erlaubt die Konsistenz der Daten zwischen 2 (physikalischen) HDDs bei RAID1 zu überprüfen. Es müsste sich dann natürlich hinter die RAID Treiber des benutzen Controllers einklinken, da das BS ja immer nur eine HDD sieht wo physikalisch 2 HDDs sind. Angesichts der Tatsache, dass eine HDD bereits "blind" auf die HDD schreibt, kann ich mir meine angedachte RAID1 Konsistenz Überprüfung beim Schrfeiben (oder händisch angestoßene Überprüfung) wohl ganz abschminken.
 
Zuletzt bearbeitet:
Darf es auch Linux sein? Dann geht das... :D

Das Dateisystem "BTRFS" schreibt zu jedem Block eine Checksumme. So kann es beim lesen Fehler erkennen.
Legt man ein BTRFS-Raid1 an, kann es einen Fehler so erkennen, und nimmt automatisch die korrekte Version von der anderen Platte.

Auf Wunsch checkt und repariert das Scrub-Kommando von BTRFS anhand der Checksummen die Platte.
"scrub - An online filesystem checking tool. Reads all the data and metadata on the filesystem, and uses checksums and the duplicate copies from RAID storage to identify and repair any corrupt data."

Ist zwar auch kein verify-after-write, aber ein guter Ersatz. :)
 
...
Das Dateisystem "BTRFS" schreibt zu jedem Block eine Checksumme. So kann es beim lesen Fehler erkennen.
Legt man ein BTRFS-Raid1 an, kann es einen Fehler so erkennen, und nimmt automatisch die korrekte Version von der anderen Platte.
...
Danke für die Info, aber hier wird beim Lesen gecheckt und ggf. korrigiert. Ist in der Tat kein Write-Read-Verify, aber besser als straight NTFS.
ZFS tut ja auch ähnliches.

Werden beim brtfs Lesen denn beide RAID1 Platten gelesen, oder nur eine? IMHO werden Sektoren alternativ gelesen damit RAID1 auch schön schnell ist. Somit könnte einn defekter Sektor längere Zeit unentdeckt bleiben.

Weiterhin ... werden beide HDDs ge"scrub"t oder nur alternierende Sektoren (werden Read Performance)?

Es gibt Tools und Befehle, verschiedene Mechanismen auszulösen, aber was im Hintergrund passiert ist oft nicht ganz transparent (jedenfalls für mich :) ).
 
Zurück