BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
derTobsi
Beiträge: 7
Registriert: 05.06.2020 10:27:04

BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von derTobsi » 05.06.2020 10:45:58

Hallo Zusammen,

leider habe ich bis jetzt keine Lösung für mein Problem gefunden und hoffe das ich hier Hilfe finde. Sollte das hier im falschen Thema liegen. So entschuldige ich mich vorab dafür.

Nun zu meinen Problem:

Wir haben einen Server mit einen BTRFS Dateisystem und nutzen diesen als Backup ein und haben seit einigen Tagen Probleme Backups zu erstellen.

Code: Alles auswählen

Call Trace:
[<ffffffffb3134524>] ? dump_stack+0x5c/0x78
[<ffffffffb2e7a5cb>] ? __warn+0xcb/0xf0
[<ffffffffb2e7a64f>] ? warn_slowpath_fmt+0x5f/0x80
[<ffffffffc06f21b1>] ? __btrfs_free_extent.isra.70+0x821/0xd40 [btrfs]
[<ffffffffc0762e09>] ? btrfs_merge_delayed_refs+0x69/0x570 [btrfs]
[<ffffffffc06f69ab>] ? __btrfs_run_delayed_refs+0xb9b/0x13a0 [btrfs]
[<ffffffffc06fa3ed>] ? btrfs_run_delayed_refs+0x9d/0x2b0 [btrfs]
[<ffffffffc06fb36e>] ? btrfs_write_dirty_block_groups+0x15e/0x390 [btrfs]
[<ffffffffc070e496>] ? commit_cowonly_roots+0x256/0x2e0 [btrfs]
[<ffffffffc0710d87>] ? btrfs_commit_transaction+0x487/0xa10 [btrfs]
[<ffffffffb2ebd350>] ? prepare_to_wait_event+0xf0/0xf0
[<ffffffffc070b7ac>] ? transaction_kthread+0x1dc/0x200 [btrfs]
[<ffffffffc070b5d0>] ? btrfs_cleanup_transaction+0x580/0x580 [btrfs]
[<ffffffffb2e9a5d9>] ? kthread+0xd9/0xf0
[<ffffffffb3419364>] ? __switch_to_asm+0x34/0x70
[<ffffffffb2e9a500>] ? kthread_park+0x60/0x60
[<ffffffffb34193f7>] ? ret_from_fork+0x57/0x70
--[ end trace 8df1fb307c5732d0 ]---
BTRFS: error (device sdc) in __btrfs_free "extent:6959":extent:6959 : errno=-28 No space left
BTRFS info (device sdc): forced readonly
BTRFS: error (device sdc) in btrfs_run_delayed_ "refs:2967":refs:2967 : errno=-28 No space left
BTRFS warning (device sdc): Skipping commit of aborted transaction.
BTRFS: error (device sdc) in cleanup_tr "ansaction:1850":ansaction:1850 : errno=-28 No space left
Nach einigen Analysen habe ich wahrscheinlich ein Verständnis Problem.

Code: Alles auswählen

btrfs filesystem usage /media/eb759687
Overall:
    Device size:                  29.10TiB
    Device allocated:             15.28TiB
    Device unallocated:           13.82TiB
    Device missing:                  0.00B
    Used:                         14.03TiB
    Free (estimated):              7.54TiB      (min: 7.54TiB)
    Data ratio:                       2.00
    Metadata ratio:                   2.00
    Global reserve:              512.00MiB      (used: 0.00B)

Data,RAID1: Size:7.49TiB, Used:6.86TiB
   /dev/sda        3.75TiB
   /dev/sdb        3.75TiB
   /dev/sdc        3.74TiB
   /dev/sdd        3.73TiB

Metadata,RAID1: Size:157.00GiB, Used:154.77GiB
   /dev/sda       72.00GiB
   /dev/sdb       71.00GiB
   /dev/sdc       79.00GiB
   /dev/sdd       92.00GiB

System,RAID1: Size:32.00MiB, Used:1.30MiB
   /dev/sda       32.00MiB
   /dev/sdc       32.00MiB

Unallocated:
   /dev/sda        3.46TiB
   /dev/sdb        3.45TiB
   /dev/sdc        3.46TiB
   /dev/sdd        3.45TiB

Code: Alles auswählen

btrfs fi df /media/eb759687/

Data, RAID1: total=7.48TiB, used=6.86TiB
System, RAID1: total=32.00MiB, used=1.30MiB
Metadata, RAID1: total=157.00GiB, used=154.77GiB
GlobalReserve, single: total=512.00MiB, used=0.00B
Wie zu sehen, reicht der Platz Aktuell wirklich nicht aus. Aber was mich leider verwundert, der Unallocated Speicherplatz der einzelnen Devices. Müsste der nicht Automatisch freigegeben werden?
Übersehe ich irgend etwas?

Vielleicht könnt Ihr mir da weiter helfen. Dafür Danke ich Euch.

Vg Tobias

Ach ganz vergessen. Folgendes hatte ich gestern noch probiert.
btrfs balance start --full-balance /media/eb759687
und
btrfs fi balance start -dusage=10 /media/eb759687

Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von schorsch_76 » 08.06.2020 06:58:56

Hallo Tobias,

Code: Alles auswählen

Data,RAID1: Size:7.49TiB, Used:6.86TiB
   /dev/sda        3.75TiB
   /dev/sdb        3.75TiB
   /dev/sdc        3.74TiB
   /dev/sdd        3.73TiB

Raid1: Alle Daten werden auf allen Geräten gespiegelt. Meine Vermutung: Du hast 2 Platten im Nachhinein hinzugefügt und die Daten wurden nicht Balaciert. Ich tippe dass eine deiner Platten voll ist aber dass die anderen Platten noch Platz haben. Das könnte bei deinem Szenario das Verhalten erklären.

Vielleicht hilft dir das weiter:
https://wiki.debianforum.de/Btrfs#Balancieren
und
https://wiki.debianforum.de/Btrfs#Wechsel_auf_RAID1

"Normalerweise" sollte ein Raid1 aus 4 Platten die Kapazität einer Platte aufweisen ...... :? Hast du eventuell das Raid Level von 0 auf 1 gewechselt?

derTobsi
Beiträge: 7
Registriert: 05.06.2020 10:27:04

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von derTobsi » 08.06.2020 08:07:05

Hi Schorsch,

Danke für deine Antwort. Leider kann ich hier nicht sagen ob die Platten nach und nach hinzugefügt wurden sind. Da ich es so übernommen habe. Mich wundert es auch ein bisschen. Zumal noch nicht zugewiesener Speicher nicht freigegeben wird.

Ein nachträgliche Balancierung wurde gemacht, hat aber leider nicht sehr viel gebracht. Nach Analysen ist mir aber aufgefallen das alle Platten fast gleich belegt sind.

Vg Tobias

Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von schorsch_76 » 08.06.2020 08:38:23

Hallo Tobias,

Code: Alles auswählen

Global reserve:              512.00MiB      (used: 0.00B)
Ich denke das ist das Problem .... mal Google befragen was das bedeutet....

Gruß
Georg

EDIT: Nein, kein Problem.

EDIT2:
https://btrfs.wiki.kernel.org/index.php ... into_it.21

Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von schorsch_76 » 08.06.2020 08:48:50

Kannst du mal

Code: Alles auswählen

btrfs fi df ${dein mount point}
und

Code: Alles auswählen

btrfs fi show
zeigen?

Welchen Kernel und welches Debian setzt du ein? Das ist in Bezug auf btrfs wichtig...

Sind eventuell quotas gesetzt in deinem Subvolume?

https://wiki.archlinux.org/index.php/Btrfs#Quota

Code: Alles auswählen

# btrfs qgroup show -reF path

derTobsi
Beiträge: 7
Registriert: 05.06.2020 10:27:04

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von derTobsi » 08.06.2020 10:11:05

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
08.06.2020 08:48:50
Kannst du mal

Code: Alles auswählen

btrfs fi df ${dein mount point}
und

Code: Alles auswählen

btrfs fi show
zeigen?

Welchen Kernel und welches Debian setzt du ein? Das ist in Bezug auf btrfs wichtig...

Sind eventuell quotas gesetzt in deinem Subvolume?

https://wiki.archlinux.org/index.php/Btrfs#Quota

Code: Alles auswählen

# btrfs qgroup show -reF path

Akutell Sieht es so aus:

Code: Alles auswählen

btrfs fi df /media/eb759687/

Data, RAID1: total=7.47TiB, used=6.87TiB
System, RAID1: total=32.00MiB, used=1.30MiB
Metadata, RAID1: total=162.00GiB, used=160.46GiB
GlobalReserve, single: total=512.00MiB, used=56.55MiB
und

Code: Alles auswählen

btrfs fi show
Label: none  uuid: eb759687
        Total devices 4 FS bytes used 7.03TiB
        devid    1 size 7.27TiB used 3.81TiB path /dev/sdd
        devid    2 size 7.27TiB used 3.81TiB path /dev/sda
        devid    3 size 7.27TiB used 3.81TiB path /dev/sdb
        devid    4 size 7.27TiB used 3.81TiB path /dev/sdc
Kernelversion: 4.9.0-8-amd64
Debianversion: Debian GNU/Linux 9 (stretch)

Aktuell sind da keine Sub volumes eingerichetet:
ERROR: can't list qgroups: No such file or directory

Danke für Eure Hilfe :-)


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

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von smutbert » 08.06.2020 12:44:48

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
08.06.2020 06:58:56
[...]
Raid1: Alle Daten werden auf allen Geräten gespiegelt. [...]
Stimmt, das bedeutet es normalerweise, aber btrfs hält sich nicht an die übliche Nomenklatur. Raid1 bedeutet bei btrfs, dass jede (Meta)Dateneinheit (Block, Chunk oder was auch immer) zwei Mal gespeichert wird und zwar auf zwei unterschiedlichen Geräten.


Könnte hier nicht schon vorher einmal etwas passiert sein (Soft- oder Hardwarefehler oder inkosistentes Dateisystem wegen eines Absturzes oder ähnliches), was dazu geführt hat, dass mindestens /dev/sdc read-only geschaltet worden ist?

Code: Alles auswählen

Call Trace:
[...]
--[ end trace 8df1fb307c5732d0 ]---
BTRFS: error (device sdc) in __btrfs_free "extent:6959":extent:6959 : errno=-28 No space left
BTRFS info (device sdc): forced readonly
(Irgendetwas muss ja erst die ganze „Call Trace“-Meldung verursacht haben.)

Ich würde auch

Code: Alles auswählen

# btrfs device stats /dev/sda
# btrfs device stats /dev/sdb
# btrfs device stats /dev/sdc
# btrfs device stats /dev/sdd
prüfen.

derTobsi
Beiträge: 7
Registriert: 05.06.2020 10:27:04

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von derTobsi » 08.06.2020 13:19:02

Sehr merkwürdig. Das stimmt.

Alles Prüfungen mit 0 Fehlern. Was mir aufgefallen ist, dass beim Backup der Status RW zu RO wechselt.

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

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von Colttt » 08.06.2020 13:49:48

smutbert hat geschrieben: ↑ zum Beitrag ↑
08.06.2020 12:44:48
[...] Raid1 bedeutet bei btrfs, dass jede (Meta)Dateneinheit (Block, Chunk oder was auch immer) zwei Mal gespeichert wird und zwar auf zwei unterschiedlichen Geräten. [...]
Das stimmt laut meiner Erfahrung nicht, das ganze heisst nur btrfs die Daten doppelt speichert, heisst aber nicht das es auf 2Geräten sein muss.


btw: installiere mal einen aktuelleren Kernel, da btrfs (mMn) noch Beta ist und stark daran rum gebastelt wird ist um so aktueller um so besser
Debian-Nutzer :D

ZABBIX Certified Specialist

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

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von smutbert » 08.06.2020 14:08:13

Doch raid1 sollte bei btrfs sehr wohl auf zwei unterschiedlichen Geräten je eine Kopie speichern und tut es meiner Erfahrung nach auch verlässlich.
https://btrfs.wiki.kernel.org/index.php/Glossary hat geschrieben: RAID-1
A form of RAID which stores two complete copies of each piece of data. Each copy is stored on a different device. btrfs requires a minimum of two devices to use RAID-1. This is the default for btrfs's metadata on more than one device.

Daneben gibt es auch noch dup, das einfach nur zwei Kopien auf einem Gerät speichert.

derTobsi
Beiträge: 7
Registriert: 05.06.2020 10:27:04

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von derTobsi » 09.06.2020 09:44:08

Guten Morgen zusammen,

leider haben die verschiedene Arten von "Balancing" nicht geholfen. Wir gehen aber derzeit davon aus, dass die Daten einfach nur auf 4 Platten gespiegelt werden und BTRFS mir hier falsche werte zurück gibt.

Dies Bezüglich wurde ich nun gefragt ob es eventuell möglich ist ohne Daten verlust das Raid neu aufzubauen bzw. zu ändern.

Daher wollte ich mich mal Informieren, was Ihr für ein Raid bzw. Konfiguration als gut empfindet? Für Eure Ratschläge wäre ich sehr Dankbar.

Vg Tobias

Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von schorsch_76 » 09.06.2020 09:48:55

Hallo Tobias,

das geht natürlich. Alle Daten sichern auf externe Datenträger und dann das Raid neu aufzubauen und anschliessend wieder zurückspielen.

Als sehr stabil hat sich MD Raid + ext4 oder xfs erwiesen. Du nutzt ja eh keine Subvolumes und damit keine Snapshots damit ist dieses Feature für dich kein Grund bei btrfs zu bleiben.

Um dieselbe Kapazität wie bei btrfs zu erreichen ist das also ein RAID10 [1][2].

Gruß

Georg

EDIT: Mit MD Raid habe ich schon etliche Festplattenausfälle ohne Probleme und ohne Datenverlust "überlebt". Du kannst auf das Raid auch noch ein LVM drauf setzen. Das ist aber Anwendungsabhängig ob du das brauchst oder nicht. Du schreibst ja, das das RAid backups enthält deshalb eber Konfiguration "Datengrab". Ohne Schnickschnak adirekt auf das Raid ein sehr stabiles Filesystem. Es hat einen Grund warum Debian und andere Distris ext4 als default einsetzen ;)

[1] https://en.wikipedia.org/wiki/Nested_RA ... ls#RAID_10
[2] https://de.wikipedia.org/wiki/RAID#RAID_10

derTobsi
Beiträge: 7
Registriert: 05.06.2020 10:27:04

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von derTobsi » 09.06.2020 10:23:02

Ich denke das ist die bessere Variante. Somit müsste ich die Daten des BTRFS auf ein externes Laufwerk sichern und danach mit mdraid ein neues Raid aufbauen auf ext4 und wieder mounten :-).

Ich danke vielmals für Eure Hilfe.

Vg Tobias
schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
09.06.2020 09:48:55
Hallo Tobias,

das geht natürlich. Alle Daten sichern auf externe Datenträger und dann das Raid neu aufzubauen und anschliessend wieder zurückspielen.

Als sehr stabil hat sich MD Raid + ext4 oder xfs erwiesen. Du nutzt ja eh keine Subvolumes und damit keine Snapshots damit ist dieses Feature für dich kein Grund bei btrfs zu bleiben.

Um dieselbe Kapazität wie bei btrfs zu erreichen ist das also ein RAID10 [1][2].

Gruß

Georg

EDIT: Mit MD Raid habe ich schon etliche Festplattenausfälle ohne Probleme und ohne Datenverlust "überlebt". Du kannst auf das Raid auch noch ein LVM drauf setzen. Das ist aber Anwendungsabhängig ob du das brauchst oder nicht. Du schreibst ja, das das RAid backups enthält deshalb eber Konfiguration "Datengrab". Ohne Schnickschnak adirekt auf das Raid ein sehr stabiles Filesystem. Es hat einen Grund warum Debian und andere Distris ext4 als default einsetzen ;)

[1] https://en.wikipedia.org/wiki/Nested_RA ... ls#RAID_10
[2] https://de.wikipedia.org/wiki/RAID#RAID_10

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von Lord_Carlos » 09.06.2020 10:30:51

Wenn du noch keine Snapshots benutzt wuerde ich es mir nochmal angucken. Ich habe es lieben gelernt. Vor allem weil man es schoen automatisieren kann.
Je nach Daten ist Transparente Komprimierung auch nett zu haben.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

derTobsi
Beiträge: 7
Registriert: 05.06.2020 10:27:04

Re: BTRFS: Speicherprobleme (errno=-28 No space left) trotz freien Speicher

Beitrag von derTobsi » 09.06.2020 11:09:37

Es wird wie ich gesehen habe nur für RSNAPSHOT genutzt.
Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
09.06.2020 10:30:51
Wenn du noch keine Snapshots benutzt wuerde ich es mir nochmal angucken. Ich habe es lieben gelernt. Vor allem weil man es schoen automatisieren kann.
Je nach Daten ist Transparente Komprimierung auch nett zu haben.

Antworten