• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

btrfs noch nicht reif für den produktiven Einsatz

Kurt M

Hacker
Opensuse 13.2 setzt auf das btrfs Filesystem für die root Partition.

Ich haben Opensuse 13.2 inzwischen auf 5 Rechnern und einem Server (24/7) installiert, das ganze läuft erstaunlich gut, ernsthafte Probleme gibt es bisher nirgends, außer mit btrfs.
Angeblich soll btrfs stabil sein, jedoch von Stabilität ist es noch weit entfernt.

Wenn man einen PC rund um die Uhr laufen läßt scheinen sich die Metadaten dieses Filesystems langsam aufzufüllen, solange bis die Platte voll ist (obwohl df noch jede Menge freien Platz meldet).
Wenn das im root Filesystem passiert (wie auf meinem Server), dann hat man keine Chance mehr. Selbst verschiedene Tricks, wie das hinzufügen von usb Laufwerken usw. führen nur zum Chaos.

Einzige Lösung: Opensuse 13.2 neu installieren, aber diesmal mit dem bewährten EXT4. Damit lief mein Server zuvor über Jahre stabil.

Die btrfs Entwickler müssen sich mal überlegen wie sie den Platz auf der Platte so verwalten und überwachen, dass diese nicht unbemerkt mit Datenmüll volllaufen kann und die Platte damit unbrauchbar wird.
Ich lasse jedenfalls die Finger von btrfs, zum Glück gibt es ja bewährte und stabile Alternativen.

Grüße
Kurt
 

marce

Guru
wie sah denn Deine Konfiguration für das System aus?`Wie viele Snapshots hattest Du erstellt, wie groß war der Umfang der Metadaten, ...?

Von der Beschreibung sieht das eher nach einer Fehlkonfiguration auf Anwenderseite (nicht böse gemeint) als nach einem Stabilitätsproblem von BTRFS aus...
 

gehrke

Administrator
Teammitglied
Nur als Hinweis gedacht: Mangels Erfahrung habe ich das LV für das root-Dateisystem unter BTRFS von 20 auf 40 GB vergrössert. Wie groß war Deine Partition?
 
Ich habe Btrfs nicht ausgiebig getestet, aber einiges darüber gelesen.
Was für ein Metadatenmüll soll das denn sein von dem Du da sprichst?
Soweit ich informiert bin legt openSUSE13.2 mit btrfs+snapper direkt nach Erstinstallation schonmal 15 Subvolumes an.
Jede weitere Paketinstallation/Deinstallation erzeugt neue Snapshots/Subvolumes.
Die Snapshots werden erst mit zunehmenden Paketinstallationen und wieder Deinstallationen und Änderungen am System immer größer, da die gelöschten Pakete tatsächlich für den alten Snapshot auf der Platte verbleiben müssen!
Wenn man also ein orgiastisches Pakete installieren und deinstallieren an den Tag legt und noch dazu eine kleine Root-Partition eingerichtet hat kann es so passieren das das System wie Du sagst "mit Datenmüll überläuft". Die Anzahl der gespeicherten Schnappschüsse und das Verhalten von Snapper kann je nach individuellen Bedürfnissen eingerichtet werden. Wenn Du willst kannst Du Snapper auch einfach abschalten.
http://webapp5.rrz.uni-hamburg.de/SuSe-Dokumentation/manual/sles-admin_de/cha.snapper.html
https://de.opensuse.org/SDB:Snapper
https://kofler.info/opensuse-13-2-ausprobiert/
Durch das "Copy-On-Write"-Verfahren sollte btrfs eigentlich besser mit Plattenspeicher haushalten können als ext4.
 

blechbox

Newbie
Danke für den Kofler-Link. Bin genau dieser Meinung!
Mir reicht ext4, rsync, rsnapshot und eben genügend Plattenplatz, diese Kombi ist für mich sicher zu handhaben.
 

spoensche

Moderator
Teammitglied
Bemerkung am Rande: BTRFS ist stabil. Um die Ursache im nachhinein ermitteln zu können müsste man schon ein paar Details wissen, die man jetzt eben nicht mehr ermitteln kann.
 

Maxtech

Member
Heute spielte ich die Updates von gestern 4.2. 19.40 Uhr ein.
Es kann eine Fehlermeldung beim installieren der Mesa Grafikdateien das nicht auf die Disc geschrieben werden kann.
Promt versagte danach das System und musste neu aufgesetzt werden.

Alle Updates konnten installiert werden und das System startete einwandfrei.
War das auch wegen dem btrfs oder das die grafische Oberfläche beim updaten gelockt war?
 
OP
Kurt M

Kurt M

Hacker
btrfs ist weit davon entfernt stabil zu sein.

Heute ist mein Notebook stehengeblieben, weil die Partition voll ist.
Wohlgemerkt df zeigte 12GB freien Speicherplatz an.

Zur Frage nach evt. falscher Konfiguration:
An einem Dateisystem will ich nichts konfigurieren.
Ich formatiere die Platte mit ext4, installiere das System und arbeite dann jahrelang damit ohne am Dateisystem irgendetwas konfigurieren zu müssen.
Bei btrfs geht das nicht, leider.

Wie ich inzwischen in anderen Beiträgen und Foren gelesen habe, sind diese Probleme gut bekannt.
btrfs legt sich sehr (!) große Daten zur Dateisystemverwaltung an. Diese werden in df jedoch nicht gezeigt. So kann
es passieren (und das tut es auch), dass eine Partiton langsam unbemerkt vollläuft. Wenn es sich dabei (wie bei mir) um die Partition
mit dem root Filesystem handelt, dann hat man Pech gehabt.
Also btrfs User: immer daran denken die btrfs eigenen Kommandos zu verwenden, btrfs hat ein eigenes df.
Dann ist man evt vorgewarnt bevor er kracht.

siehe u.a. auch hier:
http://askubuntu.com/questions/464074/ubuntu-thinks-btrfs-disk-is-full-but-its-not
 

marce

Guru
ich mag mich täuschen, aber das Problem ist nicht BTRFS sondern die schlecht implemetierte Metadatenverwaltung (z.B. unnötig viele Snapshots, fehlende einfach integrierte Info-Tools, ...) seitens der Distributionen.

Ähnliches Gefluche gab's damals auch beim Umstieg von ext2 auf ext3, ext3 auf ext4, ext auf ReiserFS, ... Und die Windows-Jungs waren da auch nicht immer vor Überraschungen geschützt.
 
@Kurt M:
Das von Dir beschriebene Problem hat nichts mit der Stabilität von Btrfs zu tun, sondern mit der Konfiguration von Snapper!
Ich habe diese Anleitung: http://webapp5.rrz.uni-hamburg.de/SuSe-Dokumentation/manual/sles-admin_de/cha.snapper.html (ab Punkt 4.2.4) benutzt um die voreingestellte Snapshot-Automatisierung ganz auszuschalten!
SLES11Verwaltungshandbuch schrieb:
Deaktivieren der stündlichen Snapshots
Bearbeiten Sie /etc/snapper/configs/root, und setzen Sie TIMELINE_CREATE auf no:
Code:
TIMELINE_CREATE="no"
Deaktivieren der zypper-Snapshots
Deinstallieren Sie das Paket snapper-zypp-plugin

Deaktivieren der YaST-Snapshots
Bearbeiten Sie /etc/sysconfig/yast2, und setzen Sie USE_SNAPPER auf no:
Code:
USE_SNAPPER="no"
Die /etc/snapper/configs/root musste ich nicht bearbeiten, da TIMELINE_CREATE="no" bereits gesetzt war.

Jetzt wird überhaupt nichts mehr ohne mein Zutun zugemüllt! Ich erstelle mir manuell nach Bedarf Snapshots und gebe diesen einen aussagekräftigen Namen.
So ist Snapper für mich ein wertvolles zusätzliches Tool!
Ebenfalls empfiehlt es sich die Root-Partition bei Btrfs größer zu gestalten um für genügend Platz für die Snapshots zu sorgen. Ich habe Root 40Gb gegeben und nie Probleme gehabt!

Es ist bei Btrfs außerdem zu empfehlen mit
Code:
btrfs filesystem balance /
die Metadaten von Zeit zu Zeit neu ausbalancieren zu lassen und mit
Code:
btrfs filesystem defragment /
die Btrfs-Partition zu defragmentieren.

Kurt M schrieb:
Also btrfs User: immer daran denken die btrfs eigenen Kommandos zu verwenden, btrfs hat ein eigenes df
Und zwar
Code:
btrfs filesystem df /
Eine gute Übersicht der Btrfs-Befehle findet sich hier:
http://wiki.ubuntuusers.de/Befehle_Btrfs-Dateisystem

Btrfs ist in einigen Punkten noch verbesserungswürdig, da gebe ich Dir recht!
Aber es ist ja auch noch ein vergleichsweise junges Dateisystem, welches sich noch in der Entwicklung befindet. Auch der Kernel wurde während der letzten Versionen immer wieder um eine verbesserte Btrfs-Unterstützung erweitert.
Wem das zu umständlich ist, der sollte lieber bei ext4 bleiben. Dann hat man allerdings z.B. kein Snapper.
 

gehrke

Administrator
Teammitglied
Kurt M schrieb:
btrfs ist weit davon entfernt stabil zu sein.
[...]
Heute ist mein Notebook stehengeblieben, weil die Partition voll ist.
Wohlgemerkt df zeigte 12GB freien Speicherplatz an.

btrfs legt sich sehr (!) große Daten zur Dateisystemverwaltung an. Diese werden in df jedoch nicht gezeigt. So kann
es passieren (und das tut es auch), dass eine Partiton langsam unbemerkt vollläuft. Wenn es sich dabei (wie bei mir) um die Partition
mit dem root Filesystem handelt, dann hat man Pech gehabt.
Also btrfs User: immer daran denken die btrfs eigenen Kommandos zu verwenden, btrfs hat ein eigenes df.
Dann ist man evt vorgewarnt bevor er kracht.
Aber wieso ist das Dateisystem Deiner Meinung nach instabil? Die Partition läuft voll, weil der Platz in Anspruch genommen wird. Das ist bei jedem anderen Dateisystem auch so.

Nur ist es hier scheinbar so, dass zusätzlicher Platz für die Wiederherstellung verwendet wird, und zwar mehr, als zur Verfügung stand. Das ist AFAIK in Feature von Snapper, nicht von BTRFS, welches dieses Feature aber ermöglicht.

Hier ist die Partition zu klein gewählt, und in diesem Fall würde jedes andere FS doch auch die Flügel strecken. Also entweder die Partiton vergrößern oder die Snapper-Konfiguration anpassen, dass die Snapshots nicht so viel Kapazität belegen.

Und wie Du schon sagst, zeigen die richtigen Tools auch den aktuellen Speicherverbrauch an.

Allerdings finde ich es auch sehr unschön, dass jahrelang gültige Standard-Tools (wie df) oder Verfahrensweisen damit ungültig werden.
 

Sauerland

Ultimate Guru
und ich dachte, dass ich das mit Linux losgeworden wäre. ;)

Ich bleibe damit vorerst bei ext4 und der 13.1.
Man kann aber btrfs/xfs auch bei einer Installtion von openSUSE 13.2 durch ext4 ersetzen.
Das sollte niemanden von einer Installtion abhalten.
 

Feuervogel

Hacker
Hallo Sauerland,

die Dateisysteme halten mich nicht davon ab. Weder btrfs noch XFS. Meine ext4-Bemerkung bezog sich auf das Defragmentieren ...

Derzeit halten mich eher die generellen "Macken" der 13.2 davon ab. Anscheinend wird es (subjektiv empfunden) bei openSUSE zu Gewohnheit, dass auf eine gute/sehr gute Version, wie eben zum Beispiel der 13.1, eben immer eine darauf folgt, die "Zicken" macht. ...

Gruß
Feuervogel
 

marce

Guru
gehrke schrieb:
Kurt M schrieb:
Allerdings finde ich es auch sehr unschön, dass jahrelang gültige Standard-Tools (wie df) oder Verfahrensweisen damit ungültig werden.
Stimmt doch gar nicht. Nennt mich kleinlich - aber aus Anwendersicht verhält sich das Dateisystem so wie bekannt.

Für den Sysadmin - ok, da gibt's neue Tools um die neuen Features zu nutzen. Das ist aber AFAIK bei anderen Dateisystemen, die derartige Features bieten genau so.

ja, man muss sich ggf. bei ein paar Sachen umgewöhnen und evtl. ist BTRFS auch nicht das richtige Dateisystem für den Privatanwender zu Hause der möglichst wenig mit seinem System zu zun haben will - aber es ist nun mal so, daß es nicht die Schuld der Badehose ist, wenn der Bauer nicht schwimmen kann. Und zu erwarten, daß bei Einsatz eines neuen Dateisystems sich alles so verhält wie beim alten ist blauäugig.
 

josef-wien

Ultimate Guru
marce schrieb:
daß es nicht die Schuld der Badehose ist, wenn der Bauer nicht schwimmen kann
Leider erklärt der Badehosen-Verkäufer, daß jeder mit dieser Badehose schwimmen kann. openSUSE bringt mit seinen extrem plattenplatzfressenden Voreinstellungen btrfs in Mißkredit. Es ist eine durchaus normale Reaktion des Menschen, nicht den falschen Einstellungen die Schuld zu geben, sondern schlicht und einfach zu sagen, daß btrfs schlecht ist, und diese Ansicht verbreitet er auch.

Ich kann aber auch btrfs nicht von aller Schuld freisprechen, denn es ist grob fahrlässig, daß ein Vollmüllen durch snapshots zugelassen wird. Ab einer bestimmten Belegungsgrenze erwarte ich von einem brauchbaren Dateisystem, daß derartige Vorgaben ignoriert und die ältesten unaktuellen Daten entfernt werden.
 
Josef-Wien schrieb:
Ich kann aber auch btrfs nicht von aller Schuld freisprechen, denn es ist grob fahrlässig, daß ein Vollmüllen durch snapshots zugelassen wird. Ab einer bestimmten Belegungsgrenze erwarte ich von einem brauchbaren Dateisystem, daß derartige Vorgaben ignoriert und die ältesten unaktuellen Daten entfernt werden.
Btrfs ist unschuldig ;) Das Dateisystem bietet mit Subvolumes die Option Schnappschüsse zu erstellen. Snapper ist ein SUSE-Tool welches diese Funktionalität nutzt.

Josef-Wien schrieb:
openSUSE bringt mit seinen extrem plattenplatzfressenden Voreinstellungen btrfs in Mißkredit.
Die Voreinstellungen sind wirklich Mist, da gebe ich Dir Recht. Es ist auch nicht gut das der User mit keinerlei Ahnung von den Snapper-Voreinstellungen das System installiert und dann plötzlich mit einer vollgelaufenen Root-Partition dasteht, wie es mittlerweile schon einigen seit Einführung OS13.2 passiert ist!
Eine Option im Yast-Modul Snapper "Automatisierung ausschalten" und "Automatisierung einstellen" würde ich mir wünschen.
Ich habe wie gesagt die Automatisierungsfunktion komplett abgeschaltet und erstelle manuell und nach Bedarf Snapshots. Ich denke auch das das für die Bedürfnisse der meisten anderen Usern so geeigneter ist. Diese Automatisierungseinstellungen sind wohl eher für die Enterprise-Version in Unternehmen und Server-Betrieben besser.
 
Oben