BTRFS - Ausgereift und sicher genug fuer Anfaenger bzw. Laien?

@snaxilian
(open)SUSE entwickelt gezielt in die Richtung immutable OS bzw. hat ein entsprechendes Produkt im Portfolio (Leap Micro). Der Unterschied zu RR (MicroOS) sind afaik längere Rollout-Zyklen.

Ich bin in dem Bereich wirklich Laie (und erhebe keinen Anspruch auf Kompetenz), gehe aber davon aus, dass eine Firma deren Hauptgeschäft Server und dem Themenfeld sehr nahe Anwendungen sind schon auch auf ihren Gewinn achtet.
 
Ich würde das Thema eher anders angehen und mir an deiner Stelle einfach die Fragen stellen (im Prinzip eine Abwägung von Nutzen und Risiken):
  1. Habe ich bei der Nutzung des alten Dateisystems (vermutlich ext4) irgendwelche Probleme, wichtige fehlende Funktionalitäten oder irgendwas in meinem normalen Betrieb (inkl. der Backupmachanismen, die genutzt werden), was das alte Dateisystem nicht oder nur mit viel Aufwand abdeckt?

  2. Wie relevant sind für meinen Einsatzzweck die zusätzlichen oder verbesserten Funktionalitäten, mögliche Performancegewinne, etc. des neuen Dateisystems?

  3. Wenn der Einsatz des neuen Dateisystems für mich Vorteile hat: In welchem Verhältnis stehen diese zu den noch instabilen Features (soweit sie mich betreffen) und meiner noch nicht/kaum vorhandenen Erfahrung im Umgang mit dem neuen Dateisystem?
Vor einiger Zeit hatte ich mich auch mit dem Thema BTRFS befasst und bin zu dem Schluss gekommen, dass ich auf meinem PC in meiner "Arbeitsinstallation" weiter bei ext4 bleibe. Auf meinem Tablet-PC (ein älteres MS Surface 3 pro) setze ich es aber ein, um es mir dort anzusehen, Funktionen auszuprobieren, wo ein möglicher Bug oder ein Fehler meinerseits wenig negative Auswirkungen haben.

Vielleicht werde ich irgendwann generell auf BTRFS wechseln, aber sicher ist das nicht. Meine Installation läuft, für meinen Einsatzzweck, unter ext4 gut, weshalb ich keinen Grund sehe, die Risiken eines Wechsels überhaupt einzugehen.
 
  • Gefällt mir
Reaktionen: Ranayna und Kuristina
Capet schrieb:
Vor einiger Zeit hatte ich mich auch mit dem Thema BTRFS befasst und bin zu dem Schluss gekommen, dass ich auf meinem PC in meiner "Arbeitsinstallation" weiter bei ext4 bleibe.
Also ich benutze ZFS (aber mit Btrfs ist ja Vieles ähnlich) und man lernt schon die Flexibilität und bestimmte Features (wie Snapshots) zu schätzen. Es sind keine Sachen die z.B: beim Desktop unbedingt ein Must-have wären aber sie machen halt das Leben angenehmer.
Gerade auch das Backup-Thema wird damit super einfach und effizient (und damit auch schnell), weil das Dateisystem quasi Buch darüber führt welche Dateien seit dem letzten Mal geändert worden sind und ein Backuptool das für ein inkrementelles Backup nicht erst manuell checken muss.

Du hast auch solche Sachen wie Versionierung gleich automatisch mit dabei und kannst Dir so mit Bord-mitteln und kurzen Skripten ein Backup-Konzept bauen, wofür Du sonst extra Software brauchst.

Auch bei der Arbeit mit VMs ist das sehr vorteilhaft. Du kannst sehr schnell Volumes erzeugen und auch da hast Du die effizienten Snapshot und Rollback-Mechanismen dabei.
 
  • Gefällt mir
Reaktionen: snaxilian
SE. schrieb:
Ich bin in dem Bereich wirklich Laie
Jup und ich kenne Konzerne mit 4stelliger Anzahl Linuxserver und der überwiegende Anteil ist SLES oder RHEL.
Ja die Entwicklungen von MicroOS/immutable OS (SLES als auch RHEL) ist bekannt und ist toll für neue Deployments wenn die Anwendungen, die darauf laufen sollen, das auch mit machen und am Ende ist ein OS nur ein Mittel zum Zweck um $Anwendung zu betreiben. Ein OS ist kein Selbstzweck also außer halt für die Trolle in ihren Distro-Flamewars.
Geh den Gedanken mit immutable doch mal weiter und werden wir mal konkret anhand eines Beispiels: Eine "WebApp" wie es heutzutage heißt. Du hast da also einen oder mehrere Webserver die dir deinen statischen Content ausliefern und dahinter hast noch einen Application Server, vielleicht einen tomcat oder so etwas in der Art mit dem eigentlichen Programm und mit dem Programm bearbeitest du Kundendaten die du natürlich in einer Datenbank hälst.
Weil wir ja groß denken hast du also 1+ Loadbalancer, dahinter 2+ Webserver und 2+ Application Server und 1x DB Server als Primary für Schreiboperationen und 2+ DB Server als Secondary für Leseoperationen und 1+ Fileserver, die den statischen Content der Webseite/-anwendung hosten.

Loadbalancer, Webserver, App-Server inkl. der Anwendung als solches kann man voll immutable betreiben mit ner sinnvollen CI/CD denn da hat man ja keinerlei persistente Daten. Solche Systeme die man früher also klassisch installiert und dann gepatcht hat regelmäßig könnte man auch jedes Mal weg schmeißen und neu ausrollen und wenn man es noch mehr verkleinert könnten das auch alles Container sein.
Kommen wir zu den persistenten Daten, den Servern die diese Daten bereit stellen und den Storages/Dateisystemen dieser Server. Diese Systeme sind alles aber nicht gerade immutable und da willst du vor allem eine Stabilität des Services. Ja auch das kann man mit verteilten Systemen erreichen und auch gerne in schnellen, kurzen Steps patchen aber sobald das Änderungen am Dateisystem beinhaltet, riskierst du Inkonsistenten wenn manche Systeme (des Storages oder der DBs) andere Versionen nutzen als der noch ungepatchte Rest. Das klappt nur wenn sich da nix (grundlegendes) ändert oder du musst alles in einem Rutsch patchen -> Downtime. Machbar aber User wollen tagsüber keine Downtime und Admins wollen nicht nachts oder am Wochenende arbeiten.

Hinzu kommt: Was wenn deine Anwendung nicht immutable ist sondern einfach nur stateful an allen Ecken und Kanten weil bei der Entwicklung niemand daran gedacht hat?
Dafür kannst dann das angesprochene Suse/SLE MicroOS oder auch das normale SLES nehmen mit btrfs und Snapshots denn gewisse Pfade sind da von Snapshots exkludiert. Du als Admin musst nur sicherstellen, dass deine stateful Anwendung sich nur in diesen Pfaden bewegt und die Snapshots kann man dann wunderbar vor Updates oder Änderungen nutzen. Immutable ist das aber auch nicht.
Im übrigen verwendet SLES zwar standardmäßig btrfs für / seit SLES 12 aber in der Doku steht auch weiterhin dass multi device usage nur mit den btrfs Raid Modi 0/1/10 unterstützt ist.

Natürlich arbeiten RHEL, SLES & Co auch zusätzlich an immutable OS Lösungen wenn sie weiterhin Geld verdienen wollen bzw. auch im Cloud & Containerumfeld mit verdienen wollen.
 
  • Gefällt mir
Reaktionen: sedot und andy_m4
snaxilian schrieb:
Geh den Gedanken mit immutable doch mal weiter und werden wir mal konkret anhand eines Beispiels (…)
Erstmal danke für deinen Text, vieles ist für mich eben auch aufgrund meines hier fehlenden Backgrounds schwerer nachvollziehbar. Vielleicht, oder eher ganz sicher, ist meine Wahrnehmung eine andere deshalb.

Weitergedacht aus meiner Perspektive. MicroOS, oder sonstwas „immutables“, upgraded sich selbst. Falls in diesem Prozess irgendwas schiefläuft wird der zuletzt funktionierende Snapshot wiederhergestellt.
Anwendungen sind in Containern (wie flatpaks, you name it) und von diesem Prozess nicht betroffen, weil diese unabhängig vom OS gemanagt werden.

Rein aus Anwendersicht finde ich das Konzept reizvoll, egal was technisch schiefläuft, am nächsten Tag kann ich dort weiterarbeiten wo ich aufgehört habe weil das OS immer einen betriebsfähigen Zustand hat.
Jetzt Vermutung, ich glaube nicht das der Unterschied zu Servern großartig anders ist. Die genutzten Anwendungen sind „nur“ andere.
Downtime soll vermieden werden, kommt aber auch jetzt vielerorts und gefühlt häufig vor. Zudem sind Upgrades in der Regel planbar, oder anders, ich hab bisher seltenst erlebt das die Firmen-IT einfach macht und alles andere stillsteht.

Hier der obligatorische Nachsatz, IT-Profis werde ich ihren Job nicht erklären, das ist einfach nicht mein Fachbereich. Irgendwelche Grabenkämpfe um den idealen Weg überlasse ich anderen.

Ganz unabhängig davon jetzt, SteamOS auf dem SteamDeck ist doch auch immutable, kennt da wer die Umsetzung im Detail oder Quellen dazu?
 
SE. schrieb:
MicroOS, oder sonstwas „immutables“, upgraded sich selbst. Falls in diesem Prozess irgendwas schiefläuft wird der zuletzt funktionierende Snapshot wiederhergestellt.
Naja, von selbst passiert da erst einmal herzlich wenig sondern man hat entweder eigenen Aufwand oder verlässt sich auf vorgefertigte Scripte Dritter, wie z.B. dem Anbieter der jeweiligen Distribution.
/ und andere relevante Bereiche sind bei "immutables" im besten Fall read-only und Änderungen werden in einen parallelen Bereich geschrieben. Beim Reboot entscheidet man dann ob man in den neuen Bereich booten will oder in den alten.
Das kann man wie bei Suse mit btrfs lösen oder mit OSTree (Fedora Silverblue afaik) oder man nutzt 'simples' A/B Deployment. Hier hat man das OS bzw. deren Partition zweimal vorliegen. Du befindest dich anfangs in Partition A, neue Version des OS inkl. Updates werden nach B installiert, du bootest in B, checkst ob alles läuft und falls nicht, bootest wieder nach A. Bleibst du in B und es gibt neue Updates, wird das neue OS mit den Updates nach A installiert und du bootest nach A und so weiter und sofort. Afaik nutzt das SteamDeck wohl so ein A/B Deployment. Kann aber genauso gut sein, dass da OSTree verwendet wird und dir immer nur 2 Versionen angeboten werden.
SE. schrieb:
Anwendungen sind in Containern
Das Problem ist: Nur ein Teil deiner Anwendungen sind in Containern. Die btw dafür ziemlich viele andere Probleme mit sich bringen...

SE. schrieb:
Downtime soll vermieden werden
Bei solchen "immutable" Systemen hast halt Downtime durch Reboots.
 
  • Gefällt mir
Reaktionen: sedot
@snaxilian
So wie ich MicroOS verstehe ist B keine komplette Kopie von A, sondern eher eine partielle. Der User rbrownsuse (Release Manager MicroOS) erklärt (neben anderen Usern) gelegentlich Details dazu im opensuse Subreddit.
https://www.reddit.com/r/openSUSE/comments/wlas5a/comment/iju1jvr/?context=1

Anders als bei Tumbleed mit Snapshots sind wohl keine manuellen Eingriffe bei MicroOS notwendig, weil automatisiert. MicroOS ist ein openSUSE Projekt, nicht SUSE direkt.
Genauer als mit gelegentlichen Lesen von Beiträgen im opensuse Subreddit (oder anderen tech-sites) hab ich mich bisher noch nicht damit auseinandergesetzt. Zum einen brauchte ich Snapshots noch nicht und zum anderen verwende ich zwar flatpaks aber eben nicht nur.

Zumindest im Home-Einsatz ist Downtime egal denk ich mir, zum professionellen Umfeld kann ich wie schon geschrieben nix beitragen außer anekdotischen Erzählungen aus dem Freundeskreis/Umfeld.
 
Also ich kann jetzt nur aus meiner Erfahrung sprechen.

Also ich nutze BTRFS seit 6 Jahren problemlos und stabil auf meiner Synology DS216+, kann hier also nichts negatives berichten.

Auf meinem PC nutze ich seit kurzem auch BTRFS + LUKS und das auch völlig problemfrei.
Das schöne sind hier die Snapshots, wie auch du schon erwähnt hast.

Ich habe mich einfach an diese Anleitung (meiner Distro) gehalten, welche auch mit anderen Distros welche den Calemares Installer verwenden, funktionieren sollte:
https://discovery.endeavouros.com/e...timeshift-snapshots-on-the-grub-menu/2022/02/
 
btrfs ist für den Alltag schon länger stabil und auch empfehlenswert, da es ein modernes FS mit tollen Features ist (insb. von Snapshots und transparenter Kompression kann quasi jeder profitieren).
Nur ein paar bestimmte (weniger gebräuchliche) Features oder Use Cases, die die meisten User nicht interessieren, sind vielleicht noch nicht ganz stabil, das kann man aber auf der Status-Seite nachschauen. Vor ein paar Jahren war da noch vieles gelb oder rot, jetzt fast gar nichts mehr.

Die Warnung mit dem Backups anlegen ist allgemein zu verstehen, man sollte IMMER Backups anlegen. Das ist einfach nur offene Kommunikation der Entwickler. Im Gegensatz zur kommerziellen Software-Welt, wo zwischen Entwicklern und dem Enduser oft noch ordentlich dicke Schichten an Marketing und (teilweise) Bullsh*t-Versprechungen sitzen, ist man in der Open Source Welt halt oft mit den direkten Fakten und Problemen ohne Schönreden konfrontiert. Für manche User, die bisher nur Windows/OSX kennen mit den ganzen Luftschlössern die da marketing-mäßig immer aufgebaut werden (insbesondere bei Apple), kann sowas natürlich etwas komisch wirken anfangs. Aber tatsächlich ist es so, dass Entwickler/Ingenieure normalerweise nicht lügen sondern einfach nur Fakten präsentieren, weril sie tagtäglich nur daran arbeiten, Probleme zu beseitigen und zu dokumentieren und zu einer Lösung zu kommen. Solche Aussagen sind also im Regelfall viel mehr vertrauenswürdig als wenn jemand, der viel weiter weg von der Materie ist (z.B. Marketing, CEO, etc.), etwas dazu sagt. Wenn also im btrfs-Wiki steht, dass das FS stabil ist für den Alltagsgebrauch, dann ist das mehr wert als irgendein Feel-Good-Werbespruch von irgendeiner (egal wie großen) kommerziellen Software-Firma.
 
Zurück
Oben