btrfs-balance caught in write loop?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Hinweis: In dem Thema btrfs-balance caught in write loop? gibt es 13 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • btrfs-balance caught in write loop?

    Neu

    Hi,

    btrfs-balance scheint aktuell hier in einer Schreibschleife festzustecken.

    Auf die SSD wird seit dem Booten mit etwa 180 MByte/s geschrieben, während laut iostat nichts bzw. nahezu nichts gelesen wird:



    Quellcode

    1. > iostat -m -d 30
    2. Linux 4.12.14-lp151.28.25-default (lake) 06.11.2019 _x86_64_ (4 CPU)
    3. Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
    4. sda 2504,23 1,69 176,18 1779 185658
    5. sdb 1,29 0,05 0,00 48 0
    6. sdd 0,91 0,03 0,00 36 0
    7. Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
    8. sda 2313,07 0,00 181,23 0 5436
    9. sdb 0,00 0,00 0,00 0 0
    10. sdd 0,00 0,00 0,00 0 0
    11. Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
    12. sda 2350,93 0,00 183,43 0 5502
    13. sdb 0,00 0,00 0,00 0 0
    14. sdd 0,00 0,00 0,00 0 0
    15. Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
    16. sda 2327,00 0,00 182,04 0 5461
    17. sdb 0,00 0,00 0,00 0 0
    18. sdd 0,00 0,00 0,00 0 0
    Alles anzeigen




    usw. usw.



    Da nichts gelesen wird, gehe ich davon aus, dass btrfs-balance jetzt ÜBERHAUPT nichts Sinnvolles macht!!!


    Quellcode

    1. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
    2. 433 root 20 0 0 0 0 D 21,26 0,000 7:36.68 btrfs-balance




    Was tun?

    Damit von der SSD noch etwas übrig bleibt werde ich den Rechner um 19:20 neu booten (es sei denn, jemand klinkt sich ein).

    VG,
    Frieder

    Bitte benutze für Konsolenausgaben Code-Tags

    Für den Inhalt des Beitrages 136837 haftet ausdrücklich der jeweilige Autor: frief

  • Neu

    journalctl

    ...skipping...
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:53 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:16:56 lake kernel: btrfs_printk: 230 callbacks suppressed


    usw. usw.

    Nov 06 19:21:07 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:07 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:07 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:07 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:07 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents
    Nov 06 19:21:08 lake kernel: BTRFS info (device sda2): found 10 extents


    df

    /dev/sda2 41943040 37985464 3458876 92% /
    /dev/sda3 98991640 85275816 8664240 91% /home

    mount

    /dev/sda2 on /opt type btrfs (rw,relatime,ssd,space_cache,subvolid=263,subvol=/@/opt)
    /dev/sda3 on /home type ext4 (rw,relatime,stripe=32684,data=ordered)



    inzwischen >500 GB written (Partition selber ist nur 41.9 GB)


    > iostat -m -d 30
    Linux 4.12.14-lp151.28.25-default (lake) 06.11.2019 _x86_64_ (4 CPU)

    Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
    sda 2433,22 0,61 178,34 1800 526364




    Für den Inhalt des Beitrages 136839 haftet ausdrücklich der jeweilige Autor: frief

  • Neu

    Thx (hatte Schriftart Courier verwendet. Die verschluckten Leerzeichen gehen aufs Konto der Forensoftware)

    Quellcode

    1. > sudo btrfs balance status -v /
    2. Balance on '/' is running
    3. 0 out of about 1 chunks balanced (5 considered), 100% left
    4. Dumping filters: flags 0x11, state 0x1, force is off
    5. DATA (flags 0x2): balancing, usage=30

    Für den Inhalt des Beitrages 136841 haftet ausdrücklich der jeweilige Autor: frief

  • Neu

    Hast / hattest du ein Raid x?
    Poste einmal als Root:

    Quellcode

    1. snapper ls

    Quellcode

    1. systemctl list-timers --all

    Quellcode

    1. btrfs subvolume list /

    Quellcode

    1. btrfs device stats /

    Quellcode

    1. btrfs qgroup show /

    Quellcode

    1. btrfs fi usage /
    Zitat Albert Einstein:
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit,
    aber bei dem Universum bin ich mir noch nicht ganz sicher."

    Für den Inhalt des Beitrages 136842 haftet ausdrücklich der jeweilige Autor: sterun

  • Neu

    nein, kein Raid. "Normaler" Desktop Rechner.

    Inzwischen 2x rebootet. Nach erneutem Hochfahren jeweils gleicher Zustand (Write mit ~180 MByte/s).

    Quellcode

    1. # snapper ls
    2. Die Konfiguration "Root" ist nicht vorhanden. Snapper ist wahrscheinlich nicht konfiguriert.
    3. Weitere Anweisungen finden Sie in "man snapper".

    Quellcode

    1. # systemctl list-timers --all
    2. NEXT LEFT LAST PASSED UNIT ACTIVATES
    3. Wed 2019-11-06 20:58:44 CET 4min 40s left n/a n/a snapper-cleanup.timer snapper-cleanup.service
    4. Wed 2019-11-06 21:00:00 CET 5min left n/a n/a snapper-timeline.timer snapper-timeline.service
    5. Wed 2019-11-06 21:03:44 CET 9min left n/a n/a systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
    6. Thu 2019-11-07 00:00:00 CET 3h 5min left Wed 2019-11-06 00:00:59 CET 20h ago logrotate.timer logrotate.service
    7. Thu 2019-11-07 00:00:00 CET 3h 5min left Wed 2019-11-06 00:00:59 CET 20h ago mandb.timer mandb.service
    8. Thu 2019-11-07 00:18:07 CET 3h 24min left Wed 2019-11-06 08:25:14 CET 12h ago check-battery.timer check-battery.service
    9. Thu 2019-11-07 01:26:40 CET 4h 32min left Wed 2019-11-06 08:25:14 CET 12h ago backup-sysconfig.timer backup-sysconfig.service
    10. Thu 2019-11-07 01:30:24 CET 4h 36min left Wed 2019-11-06 08:25:14 CET 12h ago backup-rpmdb.timer backup-rpmdb.service
    11. Mon 2019-11-11 00:00:00 CET 4 days left Mon 2019-11-04 00:00:27 CET 2 days ago btrfs-balance.timer btrfs-balance.service
    12. Mon 2019-11-11 00:00:00 CET 4 days left Mon 2019-11-04 00:00:27 CET 2 days ago fstrim.timer fstrim.service
    13. Sun 2019-12-01 00:00:00 CET 3 weeks 3 days left Fri 2019-11-01 08:37:22 CET 5 days ago btrfs-scrub.timer btrfs-scrub.service
    14. 11 timers listed.
    Alles anzeigen

    Quellcode

    1. # btrfs subvolume list /
    2. ID 257 gen 11387887 top level 5 path @
    3. ID 258 gen 11399580 top level 257 path var
    4. ID 259 gen 11187905 top level 257 path usr/local
    5. ID 260 gen 11373654 top level 257 path tmp
    6. ID 261 gen 10272377 top level 257 path srv
    7. ID 262 gen 11382204 top level 257 path root
    8. ID 263 gen 10272377 top level 257 path opt
    9. ID 264 gen 10272377 top level 257 path home
    10. ID 265 gen 10272377 top level 257 path boot/grub2/x86_64-efi
    11. ID 266 gen 10272377 top level 257 path boot/grub2/i386-pc
    Alles anzeigen

    Quellcode

    1. # btrfs device stats /
    2. [/dev/sda2].write_io_errs 0
    3. [/dev/sda2].read_io_errs 0
    4. [/dev/sda2].flush_io_errs 0
    5. [/dev/sda2].corruption_errs 0
    6. [/dev/sda2].generation_errs 0

    Quellcode

    1. # btrfs qgroup show /
    2. ERROR: can't list qgroups: quotas not enabled

    Quellcode

    1. # btrfs fi usage /
    2. Overall:
    3. Device size: 40.00GiB
    4. Device allocated: 40.00GiB
    5. Device unallocated: 1.00MiB
    6. Device missing: 0.00B
    7. Used: 36.16GiB
    8. Free (estimated): 3.57GiB (min: 3.57GiB)
    9. Data ratio: 1.00
    10. Metadata ratio: 1.00
    11. Global reserve: 70.28MiB (used: 480.00KiB)
    12. Data,single: Size:39.23GiB, Used:35.65GiB
    13. /dev/sda2 39.23GiB
    14. Metadata,single: Size:768.00MiB, Used:519.55MiB
    15. /dev/sda2 768.00MiB
    16. System,single: Size:20.00MiB, Used:16.00KiB
    17. /dev/sda2 20.00MiB
    18. Unallocated:
    19. /dev/sda2 1.00MiB
    Alles anzeigen
    Danke,

    Für den Inhalt des Beitrages 136843 haftet ausdrücklich der jeweilige Autor: frief

  • Neu

    System aktualisiert (Dist-Upgrade) von openSUSE Leap xyz auf openSUSE Leap 15.1?
    Snapper und quotas beabsichtigt deaktiviert?
    Deine 40 GB BTRFS-Partition ist schlicht voll.
    Dazu kommt, dass /home ebenfalls auf dieser enthalten ist.
    Poste noch:

    Quellcode

    1. fdisk -l

    Quellcode

    1. df -h
    PS:
    Schau mal, ob iotop aussagekräftiger ist, was Lese- und Schreibzugriffe angeht.
    Ggf. installieren mit:

    Quellcode

    1. zypper in iotop
    Zitat Albert Einstein:
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit,
    aber bei dem Universum bin ich mir noch nicht ganz sicher."

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von sterun ()

    Für den Inhalt des Beitrages 136845 haftet ausdrücklich der jeweilige Autor: sterun

  • Neu

    > System aktualisiert (Dist-Upgrade) von openSUSE Leap xyz auf openSUSE Leap 15.1?

    Ja, es ist ein "altes" System. (Wann / neu aufgesetzt wurde weiß ich leider nicht)

    > Snapper und quotas beabsichtigt deaktiviert?

    Nein.

    > Deine 40 GB BTRFS-Partition ist schlicht voll.

    Laut df (siehe unten) und "btrfs fi usage /" (siehe letzten Post) sind noch >3 GB frei.

    > Dazu kommt, dass /home ebenfalls auf dieser enthalten ist.

    Dies ist nicht der Fall.

    Quellcode

    1. # fdisk -l
    2. Festplatte /dev/sda: 931,5 GiB, 1000204886016 Bytes, 1953525168 Sektoren
    3. Disk model: WDC WDS100T2B0A
    4. Einheiten: Sektoren von 1 * 512 = 512 Bytes
    5. Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
    6. E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
    7. Festplattenbezeichnungstyp: dos
    8. Festplattenbezeichner: 0x3d2797a4
    9. Gerät Boot Anfang Ende Sektoren Größe Kn Typ
    10. /dev/sda1 2048 16779263 16777216 8G b W95 FAT32
    11. /dev/sda2 * 16779264 100665343 83886080 40G 83 Linux
    12. /dev/sda3 100665344 302073855 201408512 96G 83 Linux
    13. /dev/sda4 302073856 1735673855 1433600000 683,6G 5 Erweiterte
    14. /dev/sda5 302075904 1350651903 1048576000 500G 83 Linux
    15. Festplatte /dev/sdb: 232,9 GiB, 250059350016 Bytes, 488397168 Sektoren
    16. Disk model: Samsung SSD 850
    17. Einheiten: Sektoren von 1 * 512 = 512 Bytes
    18. Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
    19. E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
    20. Festplattenbezeichnungstyp: gpt
    21. Festplattenbezeichner: 0710D324-CA8D-49A7-98EC-DC029103AF94
    22. Gerät Anfang Ende Sektoren Größe Typ
    23. /dev/sdb1 2048 1023999 1021952 499M Windows-Wiederherstellungsumgebung
    24. /dev/sdb2 1024000 1226751 202752 99M EFI-System
    25. /dev/sdb3 1226752 1259519 32768 16M Microsoft reserviert
    26. /dev/sdb4 1259520 488396799 487137280 232,3G Microsoft Basisdaten
    Alles anzeigen


    Quellcode

    1. # df
    2. Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
    3. devtmpfs 6047564 0 6047564 0% /dev
    4. tmpfs 6056184 374028 5682156 7% /dev/shm
    5. tmpfs 6056184 17988 6038196 1% /run
    6. tmpfs 6056184 0 6056184 0% /sys/fs/cgroup
    7. /dev/sda2 41943040 37994468 3449924 92% /
    8. /dev/sda2 41943040 37994468 3449924 92% /usr/local
    9. /dev/sda3 98991640 85256768 8683288 91% /home
    10. /dev/sda2 41943040 37994468 3449924 92% /var
    11. /dev/sda2 41943040 37994468 3449924 92% /boot/grub2/i386-pc
    12. /dev/sda2 41943040 37994468 3449924 92% /opt
    13. /dev/sda2 41943040 37994468 3449924 92% /boot/grub2/x86_64-efi
    14. /dev/sda2 41943040 37994468 3449924 92% /tmp
    15. /dev/sda2 41943040 37994468 3449924 92% /srv
    16. /dev/sda2 41943040 37994468 3449924 92% /root
    17. tmpfs 1211236 20 1211216 1% /run/user/1000
    Alles anzeigen



    Auch bei voller Disk dürfte ein Dauerzustand mit ~165000 kByte written/s und ~0 kByte read/s (siehe unten) nicht auftreten.
    (Der Rechner hat nur 12 GByte RAM (i7 2600 mit multithreading disabled) und hätte (wenn er nichts liest) seinen Hauptspeicher in etwa anderthalb Minuten auf die Platte geschrieben.)
    Ich befürchte, dass Problem liegt tiefer. Wenn es von allgemeinem Interesse ist, kann ich versuchen, weitere Info zu liefern. Ansonsten setze ich die root Partition neu auf.

    Quellcode

    1. # uptime; iostat -k -d 10 3
    2. 22:10:42 0:34 an, 3 Benutzer, Durchschnittslast: 1,46, 1,35, 1,22
    3. Linux 4.12.14-lp151.28.25-default (lake) 06.11.2019 _x86_64_ (4 CPU)
    4. Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
    5. sda 3009,65 730,90 182380,57 1505435 375649268
    6. sdb 0,17 5,06 0,00 10432 0
    7. Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
    8. sda 2852,30 0,00 184172,00 0 1841720
    9. sdb 0,00 0,00 0,00 0 0
    10. Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
    11. sda 2854,20 0,00 185620,00 0 1856200
    12. sdb 0,00 0,00 0,00 0 0
    Alles anzeigen

    Für den Inhalt des Beitrages 136848 haftet ausdrücklich der jeweilige Autor: frief

  • Neu

    Aus der BTRFS Manpage:
    Manpage/btrfs-balance - btrfs Wiki

    Note:
    The balance operation needs enough work space, ie. space that is completely unused in the filesystem, otherwise this may lead to ENOSPC reports. See the section ENOSPC for more details.

    Demnach wäre angebracht:

    Quellcode

    1. btrfs balance start -dusage=85 /path
    Wobei der Wert 85 auch größer gewält werden kann (einfach mal herantesten - bis 100).
    Wenn "balance" einmal richtig durchläuft, sollte Ruhe sein (auf jeden Fall 1 Woche - siehe "systemctl list-timers").

    Hast du dir iotop mal angeschaut?
    Zitat Albert Einstein:
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit,
    aber bei dem Universum bin ich mir noch nicht ganz sicher."

    Für den Inhalt des Beitrages 136849 haftet ausdrücklich der jeweilige Autor: sterun

  • Neu

    frief schrieb:

    > Dazu kommt, dass /home ebenfalls auf dieser enthalten ist.

    Dies ist nicht der Fall.
    Vielleicht nicht dein "home" aber trotzdem "home" als Subvolume - siehe hier (aus deinem Post #6:

    frief schrieb:

    ID 264 gen 10272377 top level 257 path home
    Zitat Albert Einstein:
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit,
    aber bei dem Universum bin ich mir noch nicht ganz sicher."

    Für den Inhalt des Beitrages 136850 haftet ausdrücklich der jeweilige Autor: sterun