Snapper mit LVM Snapshots - gute Idee?

Hinweis: In dem Thema Snapper mit LVM Snapshots - gute Idee? gibt es 4 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo zusammen,


    vor einiger Zeit hatte ich ja schon mal eine Diskussion über btrfs hier losgetreten. Nun bin ich glücklich bei ext4 für das root Filesystem und freue mich über kurze Bootzeiten und eine stabile Installation ohne Hänger. Ob man Snapshots nun braucht oder nicht wurde auch kontrovers diskutiert: Ich kann gut ohne leben, aber wie das so ist im richtigen Leben, vielleicht braucht man sie doch mal? Angeregt durch diesen Post über die Snapper GUI habe ich dann weiter nachgelesen und festgestellt, dass Snapshots auf thin provisioned LVM volumes von Snapper ebenfalls unterstützt werden, und das nicht nur experimentell. Auf dem LVM Volume darf dann ext3, ext4 oder XFS laufen (siehe hier). Nun habe ich mich gefragt, ob ich so nicht auch mit ext4 noch zu vernünftigen Snapshots komme!


    Snapper ist ja im Grunde lediglich ein Verwaltungstool. die eigentlichen Snapshots werden ja von btrfs oder eben LVM erzeugt. LVM Snapshots arbeiten ja erst mal auf einer anderen Ebene und sind damit weitgehend unabhängig vom darüber liegenden Filesystem. Wenn LVM Snapshots für meine Zwecke geeignet sind, dann könnte man doch...


    Meine Idee ist also:

    • Ein Logical Volume einrichten, das lediglich aus einer Partition besteht
    • Darauf thin provisioned meine Boot Partition erstellen
    • Diese ext4 formatieren
    • Und dann mit den LVM Snapshots und Snapper doch noch in den Genuss der Snapshot-Funktion kommen

    Und meine Frage:

    • Ist das eine gute Idee?
    • Hat jemand Erfahrung mit LVM Snapshots?
    • Sonst noch Tipps?

    Danke!

  • Snapper arbeite auch mit ext4.
    Aber ist halt nicht stable.


    Du kannst es verwenden und wirst bei ähnlichen Zuverlässigkeitswerten landen, wie bei BTRFS.
    Schätze ich.
    Probieren werde ich das sicher nicht.


    Es ist einfach so, dass ein Filesystem eine so grundlegende und mittlerweile so komplexe Angelegenheit ist,
    dass ein neues Filesystem gut 10 Jahre braucht, um halbwegs brauchbar zu sein.
    Btrfs ist gerade erst bei diesem Stadium angelangt.
    ext4 ist im Alter so Ende Jüngling. Also potent und stabil.
    Snapper ist etwas neuer als BTRFS.


    Es genügt also für die besamte BTRFS- Parition, oder für die gesamte LVM/ext/Snapper Partition ein einziges gekipptes Bit an heikler Stelle
    und du bist im Datennirvana.
    Die Wahrscheinlichkeit dafür ist extrem gering.
    Also wird genau das passieren.


    Wenn du eh schon LVM mit ext4 einsetzt, würde ich den ganzen Käse vergessen und lieber borgbackup lernen.
    Da hast du dann mehr und Backups sogar richtig.
    Meine Meinung.

  • Borgbackup hab ich schon von dir gelernt und verwende ich für meine /home Partition. Da hab ich mit all den Fotos so um die 100.000 Files, und in zweieinhalb Minuten ist ein neues Delta Backup fertig! So stelle ich mir das vor! Deutlich flotter als backintime, was mein alternativer Kandidat gewesen wäre.


    Snapper mit ext4 war nicht die Frage, sondern Snapper mit LVM. Was da dann als Filesystem drüber liegt, ist ein anderes Thema.


    Beim Risiko würde ich eher auf die LVM Snapshots schauen, die gehen ja mit den Bits um. Ich vermute dass snapper nur noch lvcreate --snapshot aufruft, und ich mir deshalb nur Gedanken über die Stabilität von LVM Snapshots machen muss, nicht aber (zumindest nicht primär) über die von snapper. Eine "Snapper Partition" in dem Sinne gibt es ja nicht, und Snapper werkelt soweit ich das sehe auch nicht selbst an den Bits rum.


    Aber du hast recht: ich muss nur eben auch meine root Partition mit borgbackup sichern, dann hab ich auch meine Snapshots. Direktes Booten vom Snapshot geht sowohl mit LVM als auch mit borgbackup nicht, da ist also kein Unterschied.


    Nur: kann ich wirklich im laufenden Betrieb ein Backup meiner /root Partition einspielen? Ist da ein Snapshot nicht irgendwie "atomarer", d.h. der gesamte Reset als ein Vorgang, statt dem schrittweisen Zurücksichern vieler Files? Aber das ist nur so ein Gefühl.

  • Da passe ich dann.
    Dazu müsste man wissen, wie Snapper intern tatsächlich arbeitet,
    und was die tatsächlichen Unterschiede bei Snapper zwischen btrfs/lvm/ext4 sind.


    Ich würde wohl raten (und wirklich nur raten), dass ein Snapshot auf BTRFS atomarer ist.


    Letztlich ist LVM ja lediglich eine Zwischenschicht, die die tatsächlichen vorhandenen Plattensektoren verwaltet.
    Ob die physikalischen Volumes nun eine ganze Platte belegen und die Plattensektoren direkt verwalten, oder dort nur althergebrachte Partitionen liegen, wovon dann halt die ein- oder andere ein PVM ist, ist da auch schon egal. (es schrubbt halt nur auf einigen Sektoren rum)
    Damit wäre dann ein LVM Snapshot -falls das physikalische Volume in einer zugrundeliegenden Partition wohnt, höchstens eine "halbe Schicht" mehr, aber deshalb wohl etwas weniger atomar,
    aber läge das physikalische Volume ohne Partitionierung auf einer Platte komplett, dürfte sich die Zeit kaum mehr unterscheiden.
    Sind ja letztlich gleich viele Abstraktionsschichten von den physikalischen Sektoren der Platte.
    Das sollte man mal in einem Labor testen. (Mit Bordmitteln kriegt man das sicher nicht aussagefähig hin)


    Aber nochmal: Das weiß ich nicht.


    Um das vernünftig beantworten zu können, sollte man die jeweilige Entwicklermailingliste kontaktieren.
    Oder halt die Quellen selber lesen.


    You've got the source, Luke!
    Read it!
    8)

  • Also, inzwischen habe ich einiges über LVM Snapshots gelesen und möchte meine Erkenntnisse hier mitteilen.


    Sehr nützliches Hintergrundwissen darüber, wie LVM Snapshots funktionieren, habe ich hier gefunden: LVM snapshots explained - Clever Net Systems. Wenn ein LVM Snapshot erstellt wird, dann passiert erst mal nicht viel, außer dass ein weiteres Volume für den Snapshot angelegt wird, das erst einmal leer ist. Sobald dann aber auf das Original Volume geschrieben wird, aber erst dann, werden die ursprünglichen Daten in den Snapshot kopiert. Der Snapshot wächst dann über die Zeit, je mehr Blöcke auf dem Volume verändert werden. Mehr Details liefert der obige Link.


    Nützlich fand ich auch dies: LVM Snapshots – Thomas-Krenn-Wiki, denn da wird ganz klar gemacht wozu die Snapshots gedacht sind: nämlich um konsistente Backups eines Live-Systems zu machen. Ein Backup dauert ja einige Zeit, und währenddessen können weiter Daten verändert werden. Macht man nun vor dem Backup einen Snapshot und sichert dann den Snapshot, so hat man auch jeden Fall einen zeitlich punktgenauen Zustand. Ist das Backup fertig, kann man den Snapshot wieder löschen. Sehr nützlich für Backups von laufenden Servern.



    Den Snapshot wieder zu löschen ist auch deshalb notwendig, weil die I/O Performance eines Volumes sinkt, solange ein Snapshot existiert. Dann müssen nämlich bei jedem Schreibvorgang weitere Tabellen konsultiert werden, die festhalten, ob der Block bereits in den Snapshot kopiert wurde oder ob dies noch zu erfolgen hat. Hat ein Volume mehrere Snapshots, so wird das nicht besser...



    Das macht auch der letzte Absatz in diesem Post deutlich: Articles - Understanding LVM snapshots and how to use them.



    One last point, and this is very important: Once a snapshot has served its purpose, it must be removed using "lvremove" or merged back into it's source LV using "lvconvert --merge". If you do not do this, it will continue to grow until all its allocated space is used. When the snapshot is full, it is disabled, which prevents you from remounting the source logical volume.

    Man sollte sich also genau überlegen, wozu man LVM Snapshots einsetzt. Gut vorstellen kann ich mir, dass ein Snapshot vor einem größeren System Upgrade sinnvoll ist. Hat das Upgrade geklappt, entfernt man den Snapshot. Ansonsten kann man auf ihn zurückfallen. Mehrere Snapshots aber auf längere Sicht zu halten, um vielleicht auf einzelne Dateien daraus zugreifen zu können, ist aber wohl keine so gute Idee.


    Meine persönliche Schlussfolgerung: Für meinen Einsatzfall sind LVM Snapshots nicht wirklich gut geeignet. Einfache Backups tun's da erst mal genauso.