Hallo!
Linux-freund bat mich, meine in diesem Thread behandelten Erfahrungen mit btrfs hier wiederzugeben. Wahrscheinlich hat nicht alles von dem, was ich hier schildere, direkt mit btrfs zu tun; manches ist eher ein allgemeiner Erfahrungsbericht mit openSUSE 13.2, manches sind auch nur Randbemerkungen (Dinge, auf die ich gerne eine Antwort hätte).
Ich möchte mit einem Grundsatz starten, den ihr hoffentlich für sinnvoll haltet: "Wenn ein OS per default für die Root-Partition ein bestimmtes Filesystem verwendet, dann müssen alle Systemkomponenten mit diesem Filesystem harmonieren."
Meines Erachtens verletzt die Verwendung von btrfs für die Root-Partition in openSUSE 13.2 diesen Grundsatz in mehrfacher Hinsicht, und ein paar OS-unabhängige Probleme von btrfs/snapper sehe ich ebenfalls.
Diagnosemöglichkeiten
---------------------------------
Ich benutze das Miniprogramm "Festplattenbelegung". Es zeigte mir an, dass in der Root-Partition viel Platz war. Auch gemäß "df -h" war die Root-Partition nur zu 66% belegt, in diesem englischsprachigen Thread waren es sogar nur 29%. Dennoch konnte mein Laptop plötzlich nicht mehr normal booten, ich erhielt nur noch ein Login auf der Kommandozeile, weil die Root-Partition komplett voll war. Grund waren anscheinend Metadaten, wie mir "btrfs filesystem df" zeigte.
==>
a) Wenn eine Partition wie in dem englischsprachigen Thread zu 70% aus Metadaten besteht, ist mit dem Filesystem was faul (grundsätzliche Kritik an btrfs)
b) Wenn bekannte Diagnosetools plötzlich irreführende Antworten liefern, ist der oben formulierte Grundsatz verletzt.
Randbemerkung: Das Miniprogramm "Festplattenbelegung" hat mir früher per Balkengraphik die Plattenbelegung gezeigt. Jetzt sehe ich nur noch für ziemlich kurze Zeit eine Textanzeige, wenn ich mit der Maus drüber gehe. Suboptimal. Lässt sich das anders einstellen?
Balancierung
-------------------
Wenn ich es richtig verstanden habe, sorgt der Befehl "btrfs balance start /" für eine bessere Verteilung der Daten in der Root-Partition und damit zu einer Reduzierung der Metadaten. Ist das so etwas ähnliches wie eine Defragmentierung? Irgendwann hat mir mal jemand gesagt, dass das zwar bei Windows sinnvoll ist, aber die Filesysteme in Linux besser sind. Hat sich wohl geändert...
Es war viel manuelle Intervention nötig (Beschränkung der zu verschiebenden Chunks), bis "btrfs balance start /" wirklich Erfolg hatte, einfach weil zu wenig Platz war.
Jedenfalls:
a) Letztlich war es straight forward, das Balancieren zu ermöglichen. Sollte das nicht automatisch gehen? (grundsätzliche Kritik an btrfs)
b) WENN es wirklich sinnvoll ist, regelmäßig "btrfs balance start /" durchzuführen, um das Default-System benutzbar zu halten, dann sollte es dafür einen default Cron-Job geben. Andernfalls ist der oben formulierte Grundsatz verletzt.
Softwareverwaltung
---------------------------
- Früher gab es unten in der Leiste mit den Miniprogrammen ein käferartiges Symbol, welches anzeigte, dass es Updates gibt. Jetzt hingegen taucht plötzlich über die ganze Bildschirmbreite im VORDERGRUND ein dicker fetter Balken auf, der mich über die Updates informiert, und der weder minimiert noch geschlossen werden kann. Die einzige Möglichkeit ist, sich die vorgeschlagenen Updates anzeigen zu lassen. Ich möchte nicht, dass dieser Vordergrundbalken jemals auftaucht, wenn ich gerade auf einer Konferenz eine Präsentation halte!!
- Ich benutze Apper (oder heißt das PackageKit?). Gerade jetzt versuche ich ein Update. Seit rund einer halben Stunde tut sich nichts! Es gibt ein Fenster "Auf die Berechtigung wird gewartet", welches "auf andere Vorgänge" wartet (welche denn?); schlecht! Ich drückte auf "Abbrechen", aber es brach nicht ab; schlecht! Müsste ich nicht an dieser Stelle das Root-Passwort eingeben können? Dafür gibt es aber kein Fenster; schlecht!
- Vor wenigen Tagen war das auch schon so. Ich killte das PackageKit manuell und versuchte das Update per "zypper up". Das scheiterte, weil angeblich kein Platz mehr auf der Platte war, und nach einem Reboot konnte ich mich nur noch auf der Kommandozeile einloggen.
==>
zypper sollte unbedingt in der Lage sein, den benötigten Platz abzuschätzen, EINSCHLIESSLICH der vom Filesystem verwendeten Metadaten; wenn der Platz nicht reicht, sollte es gar nicht erst das Update starten. Hier ist wieder der oben formulierte Grundsatz verletzt.
Snapshots
---------------
Ob Snapshots für einen Benutzer, der keine OS-Entwicklung betreibt, wirklich sinnvoll sind, wage ich nicht zu beurteilen. Jedenfalls: Als ich wie oben erwähnt mit "zypper up" updatete, wurden mehr als 10(!) Snapshots gespeichert --- nicht etwa nur zwei (einer vorher, einer nachher)! Das ist m.E. ein schwerwiegendes Problem von btrfs/snapper (wenn auch kein grundsätzliches).
Es darf jedenfalls nicht möglich sein, dass snapper tatsächlich den ganzen Platz auf der Root-Partition verbraucht. Wenn kein Platz ist, muss snapper eben abbrechen, mit einem Warnhinweis an den Benutzer. Hier ist wieder der oben formulierte Grundsatz verletzt.
Zusammenfassung
==============
openSUSE 13.2 verletzt den oben formulierten Grundsatz in mehrfacher Hinsicht, bis hin zu dem Punkt, dass plötzlich der Computer unbenutzbar wird. So etwas würde in einer x.0.beta-Version wenig überraschen, aber in einer x.2-Version möchte ich das nicht haben.
Viele Grüße,
Simon