Ich bemerkte, dass mein HP N54L arbeitete und stellte fest, dass dies dmesg
gemeldet wurde:
[ 81.945530] btrfs read error corrected: ino 1 off 16685977600 (dev /dev/sdb sector 2636776)
[ 82.010023] btrfs read error corrected: ino 1 off 16637734912 (dev /dev/sdb sector 2589656)
[ 85.927604] verify_parent_transid: 43 callbacks suppressed
[ 85.927615] parent transid verify failed on 16956989440 wanted 13182 found 12799
[ 85.974600] parent transid verify failed on 16585043968 wanted 13145 found 12357
[ 89.903548] repair_io_failure: 26 callbacks suppressed
[ 89.903560] btrfs read error corrected: ino 1 off 16875483136 (dev /dev/sdb sector 2821816)
[ 115.951579] parent transid verify failed on 16963846144 wanted 13184 found 12802
[ 115.976830] btrfs read error corrected: ino 1 off 16963846144 (dev /dev/sdb sector 2908128)
[ 115.988907] parent transid verify failed on 16978874368 wanted 13187 found 12815
[ 543.848294] btrfs: device fsid e8f8fc09-3aae-4fce-85ca-fcf7665b9f02 devid 2 transid 13199 /dev/sdb
[ 1120.854825] verify_parent_transid: 5 callbacks suppressed
[ 1120.854838] parent transid verify failed on 16956600320 wanted 13184 found 12799
[ 1120.891229] repair_io_failure: 6 callbacks suppressed
[ 1120.891243] btrfs read error corrected: ino 1 off 16956600320 (dev /dev/sdb sector 2901016)
[ 1124.851937] parent transid verify failed on 16977842176 wanted 13187 found 12814
[ 1124.885429] btrfs read error corrected: ino 1 off 16977842176 (dev /dev/sdb sector 2921768)
Dies ist mein BTRFS-Setup. RAID10 über 4x3 TB Festplatte:
$ sudo btrfs filesystem df /mnt/btrfs
Data, RAID10: total=136.00GiB, used=134.70GiB
System, RAID10: total=64.00MiB, used=20.00KiB
System, single: total=4.00MiB, used=0.00
Metadata, RAID10: total=1.00GiB, used=363.21MiB
$ sudo btrfs filesystem show /mnt/btrfs
Label: none uuid: <UUID>
Total devices 4 FS bytes used 135.05GiB
devid 1 size 2.73TiB used 68.54GiB path /dev/sda
devid 2 size 2.73TiB used 68.53GiB path /dev/sdb
devid 3 size 2.73TiB used 68.53GiB path /dev/sdc
devid 4 size 2.73TiB used 68.53GiB path /dev/sdd
Und ich bemerkte, dass die Gerätestatistiken von BTRFS ... seltsam ... waren:
$ sudo btrfs device stats /mnt/btrfs
[/dev/sda].write_io_errs 0
[/dev/sda].read_io_errs 0
[/dev/sda].flush_io_errs 0
[/dev/sda].corruption_errs 0
[/dev/sda].generation_errs 0
[/dev/sdb].write_io_errs 207275
[/dev/sdb].read_io_errs 127287
[/dev/sdb].flush_io_errs 0
[/dev/sdb].corruption_errs 0
[/dev/sdb].generation_errs 0
[/dev/sdc].write_io_errs 0
[/dev/sdc].read_io_errs 0
[/dev/sdc].flush_io_errs 0
[/dev/sdc].corruption_errs 0
[/dev/sdc].generation_errs 0
[/dev/sdd].write_io_errs 0
[/dev/sdd].read_io_errs 0
[/dev/sdd].flush_io_errs 0
[/dev/sdd].corruption_errs 0
[/dev/sdd].generation_errs 0
Ich habe mir für alle Fälle eine Ersatz-3-TB-Festplatte bestellt, aber kann ich mit Sicherheit davon ausgehen, dass diese /dev/sdb
tot ist? Ich fand es nur etwas seltsam, dass BTRFS berichtete [/dev/sdb].corruption_errs 0
.
Gibt es eine allgemein akzeptierte Methode, um zu beweisen, dass eine Festplatte in einem BTRFS-RAID-Array tot ist?
badblocks
Vorschlag. Ich habe einen schreibgeschützten Test am begonnen/dev/sdb
. Grund für schreibgeschützt ist, dass es immer noch von BTRFS verwendet wird und ich nicht sicher bin, ob das Ausführenbadblocks
mit-n
BTRFS mich stoppen würde, wenn es BTRFS im Allgemeinen nicht unterstützt.Antworten:
Ich habe ähnliche Leistungseinbußen auf meinem Server hier zu Hause festgestellt (RAID-6 mit Btrfs an der Spitze). Es hat einen der Antriebe dreimal bewiesen.
Das erste, was ich mache, ist
smartctl
für jedes Laufwerk zu laufen . Dann bemerke ich für das fehlerhafte Laufwerk die Anzahl der Raw-Fehler:um diese im Auge zu behalten. Ich habe ein Laufwerk, das einmal einige Fehler aufwies, aber in den letzten 9 Monaten nach dem Zurücksetzen der Verkabelung stabil war. Ich weiß nicht warum, aber ich halte das für "noch nicht tot".
Wenn die Anzahl der Fehler wieder zunimmt, entferne ich das Laufwerk und bringe Ersatz (ich kann mit dem Risiko leben, dass eines der beiden zusätzlichen Laufwerke in meinem RAID-6 einen halben Tag lang offline ist).
quelle
/dev/sda: 115282712 /dev/sdb: 146960040 /dev/sdc: 134936032 /dev/sdd: 159359440
RAW_VALUE
letzte Eintrag in der Zeile, denRaw_Read_Error_Rate
Sie erhalten? Sie sind 0 für alle meine Laufwerke mit Ausnahme des noch nicht toten (46095). Am wichtigsten ist IMO, dass diese Zahlen nicht wachsen sollten.Raw_Read_Error_Rate
->RAW_VALUE
.Raw_Read_Error_Rate
Reihe sindVALUE
,WORST
undTHRESH
.VALUE
Hier befindet sich das Laufwerk derzeit - 200 sind ziemlich perfekt und 1 ist ein Fehler.WORST
sagt Ihnen, wie schlecht das Laufwerk in der Vergangenheit geworden ist - es wird also niemals höher sein alsVALUE
bei Verwendung derselben Skala.THRESH
ist die niedrigste Zahl, auf die der Hersteller das Laufwerk zugreifen lässt, bevor er es als "ausgefallen" ansieht. Also, 200 sind perfekt und 1 ist super gescheitert,/dev/sdb
sitzt um 110.THRESH
= 6