BTRFS fragen

Probleme mit Samba, NFS, FTP und Co.
Antworten
Colttt
Beiträge: 2983
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

BTRFS fragen

Beitrag von Colttt » 04.09.2017 10:47:56

Hallo,

ich versuche mich grade etwas mit BTRFS zu beschftigen, da ich ein Server aufsetzen moechte wo das OS auf ein Softwareraid kommt.
Was ich bis jetzt gemacht habe ist Debian auf ein BTRFS Dateisystem zu installieren, danach eine Platte hinzugefuegt damit es auch ein RAID1 ist. Platten rausgezogen, andere reingesteckt und getauscht hat geklappt.

Jetzt sehe ich aber im syslog folgendes:

Code: Alles auswählen

Sep  4 10:33:15 debian-test123 kernel: [  172.302549] BTRFS error (device sdb1): bad tree block start 0 3708911616
Sep  4 10:33:16 debian-test123 kernel: [  172.377558] BTRFS warning (device sdb1): csum failed ino 6516 off 290816 csum 3837911380 expected csum 3983755013
Sep  4 10:33:31 debian-test123 kernel: [  187.904519] btree_readpage_end_io_hook: 10 callbacks suppressed
Sep  4 10:33:31 debian-test123 kernel: [  187.904537] BTRFS error (device sdb1): bad tree block start 0 3706257408
Sep  4 10:33:31 debian-test123 kernel: [  187.909198] repair_io_failure: 71 callbacks suppressed
Sep  4 10:33:31 debian-test123 kernel: [  187.909201] BTRFS info (device sdb1): read error corrected: ino 1 off 3706257408 (dev /dev/sda1 sector 2989184)
Sep  4 10:33:31 debian-test123 kernel: [  187.915199] BTRFS info (device sdb1): read error corrected: ino 1 off 3706261504 (dev /dev/sda1 sector 2989192)
Sep  4 10:33:31 debian-test123 kernel: [  187.921203] BTRFS info (device sdb1): read error corrected: ino 1 off 3706265600 (dev /dev/sda1 sector 2989200)
Sep  4 10:33:31 debian-test123 kernel: [  187.927210] BTRFS info (device sdb1): read error corrected: ino 1 off 3706269696 (dev /dev/sda1 sector 2989208)
[...]
Sep  4 10:33:48 debian-test123 kernel: [  204.805447] BTRFS warning (device sdb1): csum failed ino 55217 off 24576 csum 2277254992 expected csum 1190377172
Sep  4 10:33:48 debian-test123 kernel: [  204.806585] BTRFS warning (device sdb1): csum failed ino 55217 off 28672 csum 3657389114 expected csum 1711738926
Sep  4 10:33:48 debian-test123 kernel: [  204.806808] BTRFS warning (device sdb1): csum failed ino 55217 off 32768 csum 2566472073 expected csum 975735716
Sep  4 10:33:48 debian-test123 kernel: [  204.806835] BTRFS warning (device sdb1): csum failed ino 55217 off 36864 csum 2566472073 expected csum 741684318
Sep  4 10:33:48 debian-test123 kernel: [  204.816429] BTRFS info (device sdb1): read error corrected: ino 1 off 3766337536 (dev /dev/sda1 sector 3106528)
Sep  4 10:33:48 debian-test123 kernel: [  204.822366] BTRFS info (device sdb1): read error corrected: ino 1 off 3766341632 (dev /dev/sda1 sector 3106536)
Sep  4 10:33:48 debian-test123 kernel: [  204.828374] BTRFS info (device sdb1): read error corrected: ino 1 off 3766345728 (dev /dev/sda1 sector 3106544)
Sep  4 10:33:48 debian-test123 kernel: [  204.830728] BTRFS info (device sdb1): read error corrected: ino 55217 off 36864 (dev /dev/sda1 sector 800880)
Sep  4 10:33:48 debian-test123 kernel: [  204.831575] BTRFS info (device sdb1): read error corrected: ino 55217 off 40960 (dev /dev/sda1 sector 800928)
Sep  4 10:33:48 debian-test123 kernel: [  204.832557] BTRFS info (device sdb1): read error corrected: ino 55217 off 61440 (dev /dev/sda1 sector 801128)
Sep  4 10:33:52 debian-test123 kernel: [  208.533948] BTRFS error (device sdb1): bad tree block start 0 3584196608
[...]
ist das gesund oder liegt das an einer sterbenden platte?
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: BTRFS fragen

Beitrag von smutbert » 04.09.2017 11:23:12

Sieht nicht gesund aus. Ob es an einer sterbenden Platte liegt, weiß ich nicht, aber die csum-Fehler bedeuten, dass die Prüfsummen nicht zu den Daten passen, mutmaßlich weil die Daten verfälscht worden sind (theoretisch könnten auch die Prüfsummen selbst defekt sein, das ist aber unwahrscheinlich).
Die meisten Fehler wurden, vermutlich mit Hilfe des Raid, korrigiert, aber was die letzte "bad tree block"-Meldung angeht, weiß ich auch nicht mehr.

Ähnliche Meldungen hatte ich bei einer Festplatte, die mit aktivierten NCQ Probleme hatte und immer wieder Lesefehler geliefert hat, die dann von btrfs korrigiert wurden, aber natürlich können es genauso gut wirklich defekte Sektoren sein.

Eventuell findest du im Log noch weitere Meldungen ob es bei einer Festplatte Lesefehler gegeben hat oder du überwachst vielleicht die SMART-Werte ob bei einer Festplatte die Zahl der neu zugewiesenen oder "pending" Sektoren auffällig hoch ist oder steigt (wobei letzteres wieder kein eindeutiges Indiz ist, denn die sind bei meinem NCQ-Problem ebenfalls aufgetreten).

edit:
Wenn ich genauer darüber nachdenke bin ich mir aber nicht sicher was genau du nun gemacht hast:
Colttt hat geschrieben: ↑ zum Beitrag ↑
04.09.2017 10:47:56
[…] Debian auf ein BTRFS Dateisystem zu installieren, danach eine Platte hinzugefuegt damit es auch ein RAID1 ist. Platten rausgezogen, andere reingesteckt und getauscht hat geklappt.
[…]

Colttt
Beiträge: 2983
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: BTRFS fragen

Beitrag von Colttt » 04.09.2017 12:30:18

Nunja, ich hab 4platten zur verfuegung.
auf 1-2 hab ich es installiert, dann hab ich 1 rausgezogen und durch 3ersetzt (waehrend das system an war) jetzt bin ich grade dabei platte 2 raus zu ziehen das nur 3 da ist, das ganze booten.. dann lade ich in der initramfs weil btrfs nicht bootet wenn du ein device da ist (warum eigentlich nicht? kann doch trotzdem booten aber mit meldungen) jetzt ist er gerade dabei von platte 3 auf 4 die daten zu kopieren (btrfs replace) damit diese wieder sync sind..

Da das aber alles nur auf alten Servern zum testen gemacht wird ist das erstmal nicht sooo tragisch, das kann schon sein das was mit den Platten nicht stimmt, SMART gibt da leider auch keine naehren auskuenfte. :(

(warum das ganze? man muss sich es ja erst angucken und testen ob das alles so klappt wie in der theorie beschrieben)
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: BTRFS fragen

Beitrag von smutbert » 04.09.2017 13:54:28

mit der Mountoption degraded, gegebenenfalls zusätzlich als Kernelparameter "rootflags=degraded,subvol=..." kann man auch mit nur einem Teil des Raids starten.

Colttt
Beiträge: 2983
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: BTRFS fragen

Beitrag von Colttt » 04.09.2017 15:18:34

interessant zu wissen, reicht da auch nur degraded?

interessant ist jetzt auch das es jetzt keine fehler mehr gibt wenn ich auf den Platten 3-4 das ganze am laufen haben, muss dann wohl nen Problem auf der 2Platte gewesen sein.
Gibt es eigentlich eine schöne Möglichkeit BTRFS zu überwachen?
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: BTRFS fragen

Beitrag von smutbert » 04.09.2017 15:27:08

ja, das subvol habe ich nur dazugeschrieben, weil man es beim Booten ja üblicherweise braucht wenn / darauf liegt.

Ich kenne keine spezielle Möglichkeit zur Überwachung. "btrfs scrub" und "btrfs device stats" wirst du ja schon kennen.

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: BTRFS fragen

Beitrag von jph » 04.09.2017 20:30:48

Colttt hat geschrieben:Gibt es eigentlich eine schöne Möglichkeit BTRFS zu überwachen?
https://github.com/kdave/btrfsmaintenance

Colttt
Beiträge: 2983
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: BTRFS fragen

Beitrag von Colttt » 09.09.2017 15:12:07

@jph: überwachen != wartung
Debian-Nutzer :D

ZABBIX Certified Specialist

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: BTRFS fragen

Beitrag von Cae » 09.09.2017 16:30:46

Das dmesg wuerde ich als "btrfs ist kaputt" interpretieren. Fuer einen Plattendefekt fehlen mir die typischen (Begleit-)Erscheinungen wie "read error", die vom Blockdevice darunter kommen.

Hattest du nach dem btrfs device add auch ein btrfs balance mit den noetigen Optionen ausgefuehrt? Falls nein, dann hast du ungefaehr das Aequivalent von einem JBOD, dem eine Platte fehlt. Bin mir nicht sicher, ob das irgendwie ohne Datenverlust reparierbar ist (auch wenn da jetzt nur Testdaten drauf sind). Falls du vor dem Plattendrehen balanciert hattest... tja dann hast du dasselbe Verhalten wie bei meinen letzten Tests (aber noch unter 3.16 oder so, ist schon ein bisschen her). Dort hatte ich auch ein laut Doku alles auf RAID1 eingestellt, eine (virtuelle) Platte gezogen und hatte anschliessend Lesefehler sowie einen Rebuild, der nicht funktionierte...

Mit "Ueberwachen" meinst du wahrscheinlich das Gegenstueck zu mdadm --monitor mit "Platte ist kaputt"-Mail? In dieselbe Richtung scheint auch [1] zu gehen, dort wird Debiansec mit entsprechend passenden Regeln empfohlen (gibt wohl nix fertiges).

Gruss Cae

[1] https://superuser.com/questions/789303/ ... ors#999542
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Colttt
Beiträge: 2983
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: BTRFS fragen

Beitrag von Colttt » 09.09.2017 22:38:10

Hallo Cae, ich hab immer ein btrfs replace genutzt das sollte das eigentlich alles tun.. ich hab auch mal die platte rausfestöpselt kurz gewartet und wieder rein gestöpselt.. dann gabs auch wieder fehler die aber mit btrfs scrub weg gingen.. den ersten server nutze ich schon mit btrfs und raid1 (nur die Installation ist etwas buggy wenn man sich ein raid1 bei der Installation baut, bsp kann man grub nicht installieren, da wollt ich noch nen bugreport schreiben)
Debian-Nutzer :D

ZABBIX Certified Specialist

Antworten