[btrfs] read errors? (résolu)

Reconnaissance et configuration du matériel / kernel linux
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

[btrfs] read errors? (résolu)

Message par bobo »

J'ai une question à propos du check btrfs au démarrage, il semblerait qu'il y ait 2 erreurs en lecture détectées au démarrage:

Code : Tout sélectionner

mai 04 18:10:44 sharu kernel: BTRFS info (device sdb1): bdev /dev/sdc1 errs: wr 0, rd 2, flush 0, corrupt 0, gen 0
Ma config btrfs utilise 2 disques de 2To en RAID 1. D'après ce que j'ai compris une erreur en lecture est une section d'un disque dur qui aurait une somme de contrôle ne correspondrait pas à celle de l'autre disque dur. Je ne sais pas trop si j'ai bien compris la situation ni comment m'y prendre à ce stade pour corriger ça

Edition: je confonds peut-être avec une corruption
https://wiki.archlinux.org/index.php/Bt ... n_recovery
https://wiki.archlinux.fr/Btrfs#R.C3.A9 ... corruption
Dernière modification par bobo le sam. 05 mai 2018, 18:10, modifié 1 fois.
dwm — BÉPO — vim — “more is less !”
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [btrfs] read errors?

Message par bobo »

j'ai démarré un btrfs scrub

Code : Tout sélectionner

$ sudo btrfs scrub start /dev/sdb1
scrub started on /dev/sdb1, fsid 4fbdc6db-c13c-4f61-8e46-fe117dd24b79 (pid=18572)

Code : Tout sélectionner

$ sudo btrfs scrub status /dev/sdb1
scrub status for 4fbdc6db-c13c-4f61-8e46-fe117dd24b79
	scrub started at Fri May  4 18:25:10 2018, running for 00:05:01
	total bytes scrubbed: 54.31GiB with 0 errors
dwm — BÉPO — vim — “more is less !”
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [btrfs] read errors?

Message par bobo »

Code : Tout sélectionner

$ sudo btrfs scrub status /dev/sdb1
scrub status for 4fbdc6db-c13c-4f61-8e46-fe117dd24b79
	scrub started at Fri May  4 18:25:10 2018 and finished after 00:57:42
	total bytes scrubbed: 602.31GiB with 0 errors
bon a priori pas d'erreur
dwm — BÉPO — vim — “more is less !”
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [btrfs] read errors?

Message par bobo »

Bon toujours le même message étrange dans le journal après redémarrage:

Code : Tout sélectionner

$ journalctl -b | grep BTRFS
mai 04 20:08:09 sharu kernel: BTRFS: device fsid 4fbdc6db-c13c-4f61-8e46-fe117dd24b79 devid 1 transid 24069 /dev/sdc1
mai 04 20:08:09 sharu kernel: BTRFS: device fsid a64a9977-6cb8-4942-acc7-0ee0869ca847 devid 1 transid 5 /dev/sda2
mai 04 20:08:09 sharu kernel: BTRFS: device fsid 4fbdc6db-c13c-4f61-8e46-fe117dd24b79 devid 2 transid 24069 /dev/sdb1
mai 04 20:08:10 sharu kernel: BTRFS info (device sdb1): use lzo compression, level 0
mai 04 20:08:10 sharu kernel: BTRFS info (device sdb1): disk space caching is enabled
mai 04 20:08:10 sharu kernel: BTRFS info (device sdb1): has skinny extents
mai 04 20:08:10 sharu kernel: BTRFS info (device sdb1): bdev /dev/sdb1 errs: wr 0, rd 2, flush 0, corrupt 0, gen 0
mai 04 20:08:10 sharu kernel: BTRFS info (device sdb1): bdev /dev/sdc1 errs: wr 0, rd 2, flush 0, corrupt 0, gen 0
a priori le "btrfs scrub" n'a pas corrigé à partir d'une copie correcte, ni rapporté une erreur, c'est curieux

Code : Tout sélectionner

$ man btrfs-scrub | grep repa
       btrfs scrub is used to scrub a btrfs filesystem, which will read all data and metadata blocks from all devices and verify checksums. Automatically repair corrupted blocks if there’s a correct copy
           Scrub is not a filesystem checker (fsck) and does not verify nor repair structural damage in the filesystem.
dwm — BÉPO — vim — “more is less !”
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [btrfs] read errors?

Message par bobo »

bon j'ai donc contacté des gonzes par IRC: canal #btrfs sur freenode.net

il semblerait que la ligne dans journalctl est un compteur d'erreur (qui peut être remis à zéro "btrfs device stats -z <device>")

Code : Tout sélectionner

$ sudo btrfs device stats /dev/sdb1
[/dev/sdb1].write_io_errs    0
[/dev/sdb1].read_io_errs     2
[/dev/sdb1].flush_io_errs    0
[/dev/sdb1].corruption_errs  0
[/dev/sdb1].generation_errs  0
Un extrait de "man btrfs-device":

Code : Tout sélectionner

DEVICE STATS
       The device stats keep persistent record of several error classes related to doing IO. The current values are printed at mount time and updated during filesystem lifetime or from a scrub run.

           $ btrfs device stats /dev/sda3
           [/dev/sda3].write_io_errs   0
           [/dev/sda3].read_io_errs    0
           [/dev/sda3].flush_io_errs   0
           [/dev/sda3].corruption_errs 0
           [/dev/sda3].generation_errs 0

       write_io_errs
           Failed writes to the block devices, means that the layers beneath the filesystem were not able to satisfy the write request.

       read_io_errors
           Read request analogy to write_io_errs.

       flush_io_errs
           Number of failed writes with the FLUSH flag set. The flushing is a method of forcing a particular order between write requests and is crucial for implementing crash consistency. In case of
           btrfs, all the metadata blocks must be permanently stored on the block device before the superblock is written.

       corruption_errs
           A block checksum mismatched or a corrupted metadata header was found.

       generation_errs
           The block generation does not match the expected value (eg. stored in the parent node).
en RAID 1, btrfs ferait de l'auto-correction à chaud à partir du data block dont la somme de contrôle est OK, si j'ai bien compris
dwm — BÉPO — vim — “more is less !”
Répondre