Wie werden Festplatten überwacht?

Status
Not open for further replies.

tausday

Cadet
Joined
Dec 26, 2013
Messages
7
Hallo Leute,

ich beschäftige mich derzeit mit einem RAID1 / NAS.
Bis jetzt konnte ich aber noch nirgends lesen, wie FreeNAS bei einem RAID1 für die Ausfallsicherheit sorgt, bzw. wie kann ich erkennen, das langsam eine Festplatte stirbt ( Schreibfehler / Lesefehler etc.)
Gibt es dazu logs oder eine Fehlerreport?

Wie definiert FreeNAS eine defekt festplatte, bzw. stellt es fest?

Ich hoffe man kann verstehen was ich möchte.
 

tausday

Cadet
Joined
Dec 26, 2013
Messages
7
Danke für deine Antwort.
So wie ich es gelesen habe verwendet ZFS für jeden Block einzelne Checksummen, weicht eine Cehcksumme bei einem I/O Vorgang ab werden die Daten von der anderen Festplatte geladen und anschließend auf die andere Festplatte die zuvor den Fehler hatte neu geschrieben.

Nun für mein Verständnis bzw. meine eigentliche Frage.
Gibt es in ZFS stats /Status/Logs die mir zeigen, wie oft auf welcher Festplatte die Checksummen falsch waren und wie oft auf die Alternativfestplatte zugegriffen werde musste?

Mir geht es darum:
Wie kann ich erkennen, das eine Festplatte langsam immer mehr Fehler aufweist und somit bald defekt ist. bzw. einzelne Sektoren bereits def. sind?

Verwenden möchte ich das RAID1 mit zwei Festplatten.

Frage am Rand.
Worauf sollte am besten das FreeNAS laufen? USB STICK o. Seperate Festplatte?
 

RedShark

Dabbler
Joined
Jun 10, 2013
Messages
22
Hi,

das erledigt S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) für dich. Du kannst in FreeNAS Smart-Test konfigurieren und dir deren Ergebnisse über die Konsole anschauen. Wenn du eine E-Mail-Adresse hinterlegst, erhälst du eine Mail wenn ein Test fehlschlägt.

Grüße RedShark
 

tausday

Cadet
Joined
Dec 26, 2013
Messages
7
Hallo RedShark,

SMART kenne ich bereits jedoch finde ich SMART ist ein "nice to have" aber ob wirklich was im argen ist erkennt das system ggf. nicht.
Auf der Seite von Oracle http://docs.oracle.com/cd/E19253-01/819-5461/6n7ht6r6i/index.html

steht etwas von" zpool status", dieser soll eine Ausgabe erzeugen die unter config: read, write, cksum Fehler anzeigen kann.

1. Kann ich mir diese Werte in Freenas anzeigen lassen?
2. Kann ein logfile/E-Mail verschickt werden mit den Daten.
3. Sind die Daten (zpool status) überhaupt die richtigen, die Ich suche um festzustellen ob bereits I/O Fehler vorliegen?

Danke
 

RedShark

Dabbler
Joined
Jun 10, 2013
Messages
22
Hi,

den Befehl "zpool status" kannst du einfach in der Konsole eingeben, der erzeugt dann die entsprechende Ausgabe, siehe:http://docs.oracle.com/cd/E19253-01/820-2313/gbcve/index.html
Man kann sich auch einen Cronjob schreiben der dies alle x Sunden durchführt und das Ergebnis an eine E-Mail-Adresse schickt.

Wenn dir die Datensicherheit aber so extrem wichtig ist, kannst du dich drauf genauso wenig verlassen wie auf SMART und eine Spiegelung der Daten. Denn einen plötzlichen mechanischen Defekt, Blitzschlag, Feuer- oder Wassenschaden kann dir kein Programm voraussagen. In dem Fall solltest du regelmäßig Snapshots anfertigen und diese extern (geographisch) sichern.
 

tausday

Cadet
Joined
Dec 26, 2013
Messages
7
Das sollte jedem klar sein, das Fremdeinwirkungen nicht vorhersehbar sind, dennoch würde ich gerne normale Fehler erkennen.
Ich geb dir mal ein Beispiel:

Ich hatte mal eine Festplatte auf der Daten waren.
Plötzlich konnten diese nicht mehr gelesen werden. Also habe ich die Platte formartiert, neue Daten draufgepackt und konnte wieder drauf zugreifen.
Nach ein paar Stunden war wieder kein Zugriff auf diese Daten mehr möglich.

Also nochmal von vorne um es ein letztes mal zu überprüfen. -> Gleiche Ergebnis -> Festplatten schaden.
Nach überprüfen der Festplatte waren es SektorenFehler.

Nun komme ich zu meiner Interpretation von ZFS MIRROR.

1. Er versucht die Daten zu lesen. Stellt fest das die Checksumme nicht passt und greift auf die Reverenzplatte zu und gibt die Daten aus.
2. Nimmt ZFS die Daten von der Reverenzplatte und schreibt sie erneut auf die "defekte" Platte.
3. Nun überprüft ZFS Final die Daten die er zuvor auf die defekte Platte geschrieben hat und stellt fest, das die Checksumme nun passt.
4.Somit sollte kein Fehler ausgegeben werden, denn die Daten konnten erfolgreich auf der def. Platte wieder hergestellt werden.

5. Nun greif ich wieder auf die def. Sektoren der Platte zu und das Spiel beginnt von vorne.

Deswegen bin ich der Meinung das ich nie eine Fehlermeldung bekommen würde denn die Daten konnten ja kurzfristig wieder erfolgreich hergestellt werden.

Wenn ich es jetzt richtig verstehe müsste ich doch mit "zpool status" erkennen können, das ZFS /Freenas immer wieder auf einer Festplatte Daten neu schreibt, weil zuvor die Blöcke eine falsche Checksumme erzeugt haben oder nicht?
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
Ich denke ein solcher Lesefehler wird als CHKSUM error im Output von zpool status zu erkennen sein, auch wenn er wieder repariert werden konnte. Kannst du gerne mal in einer VM ausprobieren - Mirror erstellen, Daten raufkopieren und dann mit dd ein paar Blöcke manipulieren.
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
Hi, solch ein Szenario ist hier beschrieben: https://blogs.oracle.com/timc/entry/demonstrating_zfs_self_healing (leider auf Englisch).
Mit dd kann man z.b. wie dort beschreiben einzelne Blöcke einer Festplatte beschreiben um absichtlich Datenkorruption herbeizurufen und damit die Raidfähigkeit von ZFS zu demonstrieren.

EDIT:
Dort wird auch gezeigt, dass nach einer solchen Manipulation CKSUM-Fehler angezeigt werden, und die Daten gleichzeitig repariert werden.
 

Michael Wulff Nielsen

Contributor
Joined
Oct 3, 2013
Messages
182
Wenn Freenas läuft und ein zpool plötzlich degradiert wird schickt freenas sofort ein email an dir. Das passiert auch wenn ein scrub durchgeführt wird. Insgesamt überwacht FreeNAS die Festplatten und schickt email wenn was schief geht.

Einfach scrubs alle 2 wochen durchführen und alle 24 stunden kürze smart-tests machen. Dann geht alles von alleine. :)
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
In diesem Fall wäre der Pool aber noch ONLINE und nicht DEGRADED. Bin nicht sicher, ob dann auch eine Email ankommt, bei einem Scrub wahrscheinlich schon.
 

Michael Wulff Nielsen

Contributor
Joined
Oct 3, 2013
Messages
182
Der pool wird fast sofort degraded weil zfs bei jedes lesen und schreiben alle checksumme überprüft.
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
Wenn alle Fehler korrigiert werden können, bleibt der Pool ONLINE.

Code:
[root@freenas] /mnt/tank# zpool status
  pool: tank
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
  scan: scrub repaired 0 in 0h0m with 0 errors on Mon Nov  4 15:46:26 2013
config:
 
NAME                                            STATE    READ WRITE CKSUM
tank                                            ONLINE      0    0    0
mirror-0                                      ONLINE      0    0    0
  gptid/fbf726c3-458f-11e3-880d-08002718027e  ONLINE      0    0    0
  gptid/fca25603-458f-11e3-880d-08002718027e  ONLINE      0    0    0
 
errors: No known data errors
 
[root@freenas] /mnt/tank# find . -type f -exec cat {} + | cksum
2032176395 427494872
 
<export pool via GUI>
 
[root@freenas] /mnt/tank# dd bs=1024k count=32 if=/dev/random of=/dev/ada1p2
32+0 records in
32+0 records out
33554432 bytes transferred in 0.637169 secs (52661736 bytes/sec)
 
<import pool via GUI>
 
[root@freenas] /mnt/tank# zpool status
  pool: tank
state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
  see: http://illumos.org/msg/ZFS-8000-9P
  scan: scrub repaired 0 in 0h0m with 0 errors on Mon Nov  4 15:46:26 2013
config:
 
NAME                                            STATE    READ WRITE CKSUM
tank                                            ONLINE      0    0    0
mirror-0                                      ONLINE      0    0    0
  gptid/fbf726c3-458f-11e3-880d-08002718027e  ONLINE      0    0    19
  gptid/fca25603-458f-11e3-880d-08002718027e  ONLINE      0    0    0
 
errors: No known data errors
 
[root@freenas] /mnt/tank# find . -type f -exec cat {} + | cksum
2032176395 427494872
 
[root@freenas] /mnt/tank# zpool status
  pool: tank
state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
  see: http://illumos.org/msg/ZFS-8000-9P
  scan: scrub repaired 0 in 0h0m with 0 errors on Mon Nov  4 15:46:26 2013
config:
 
NAME                                            STATE    READ WRITE CKSUM
tank                                            ONLINE      0    0    0
mirror-0                                      ONLINE      0    0    0
  gptid/fbf726c3-458f-11e3-880d-08002718027e  ONLINE      0    0  138
  gptid/fca25603-458f-11e3-880d-08002718027e  ONLINE      0    0    0
 
errors: No known data errors


Emails funktionieren in meiner VM leider nicht, also weiß ich nicht ob eine Warnung ankommt. Dieser Fall sollte aber auf jeden Fall im Scrub-Report und den SMART-Reports angezeigt werden.

EDIT:
Die GUI zeigt zumindest trotzdem eine Warnung:
WARNING: The volume tank (ZFS) status is ONLINE: One or more devices has experienced an unrecoverable error. An attempt was made to correct the error. Applications are unaffected.Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or replace the device with 'zpool replace'.
 
Status
Not open for further replies.
Top