kmbach
Goto Top

Wie sorgt BTRFS unter Linux für konsistente Snapshots im Vergleich zu VSS bei Windows

Guten Tag,

ich befasse mich gerade mit dem Ziel ein konsistentes Images von einem laufenden Linux unter Raspian Buster zu erstellen. Bei Windows ist ein solches Image unter Verwendung von VSS kein Problem. Dabei sorgt VSS dafür, dass zum Zeitpunkt des einfrierens des Dateisystems alle Transaktionen abgeschlossen und alle Dateien geschlossen sind. Um dies zu erreichen kann das Erstellen eines Snapshots unter Windows dann auch bis zu einer Minute dauern. Dazu müssen die Applikationen VSS fähig sein, was bedeuter, dass der VSS Dienst mit den Applikationen kommuniziert. Soweit zumindes die Literatur. In der Praxis habe ich unter Windows viel mit Snapshots gearbeitet und noch nie ein unbrauchbares Images erlebt.

Unter Linux scheint sich dafür BTRFS anzubieten. Allerdings finde ich nirgendswo Hinweise auf einen Lösungsansatz zur Gewährleistung der Konsistenz des Snapshots. Ein Snapshot dauert unter BTRFS nur wenige Millisekunden. Was nach meiner Vorstellung dann einem Dateisystemabbild nach einem "Netzsteckerziehen" entspricht. Sprich, alle zum schreiben geöffneten Datei und Transaktionen können unvollständig oder gar beschädigt sein.

Gibt es unter BTRFS Mechanismen die für einen konsistentes Snapshot sorgen? Hat jemand Erfahrungen mit dieser Problematik?

Gruß kmbach

Content-Key: 530263

Url: https://administrator.de/contentid/530263

Ausgedruckt am: 28.03.2024 um 14:03 Uhr

Mitglied: Kraemer
Kraemer 30.12.2019 um 12:01:35 Uhr
Goto Top
Moin,

btrfs nutzt Copy on Write. Da gibt es keine / nur kaum Verzögerungen.

Gruß
Mitglied: kmbach
kmbach 30.12.2019 aktualisiert um 12:21:06 Uhr
Goto Top
Hallo,

ja, ist mir bekannt, dass BTRFS CoW verwendet und dass das sehr schnell geht. Sorry, aber leider beantwortet das nicht meine Frage nach der Konsistenz solcher Snapshots.

Gruß
Mitglied: Kraemer
Kraemer 30.12.2019 um 12:21:57 Uhr
Goto Top
Zitat von @kmbach:
Sorry, aber leider beantwortet das nicht meine Frage nach der Konsistenz solcher Snapshots.
was fehlt dir? Eine statistische Berechnung, wie oft so ein Snapshot in die Hose gehen kann?
Mitglied: emeriks
emeriks 30.12.2019 aktualisiert um 12:28:17 Uhr
Goto Top
@Kraemer, die Frage von @kmbach ist schon berechtigt. Eine Festplatte "im Augenblick einzufrieren" bedeutet nicht automatisch, dass man einen Applikations-konsistenten Snapshot hat. Dieser Snapshot kann rein auf das Volume bezogen "superkonsistent" sein, für die Applikation aber trotzdem total unbrauchbarer Schrott sein. Das hängt von der Apllikation ab und kann nicht pauschalisiert werden.
Mitglied: kmbach
kmbach 30.12.2019 um 12:44:08 Uhr
Goto Top
Hallo,

Sorry, aber wollten wir in diesem Forum nicht höflich und sachlich bleiben?

Ich habe eine technische begründete Frage gestellt. Mit Deiner Antwort kann ich leider nicht viel anfangen oder willst Du mir (als Admin) ernsthaft verkaufen, dass Datenverluste auf dieser Ebene keine Rolle spielen ... Ich habe mehrmals beschädigte Dateisysteme nach Spannungsausfall erlebt. Willst Du sagen, ich soll ein derartiges Image ruhig für meine Desaster Recovery Strategie einplanen?

Gruß
Mitglied: Kraemer
Kraemer 30.12.2019 um 14:22:12 Uhr
Goto Top
@emeriks

Seine Konkrete Frage war:
Gibt es unter BTRFS Mechanismen die für einen konsistentes Snapshot sorgen? Hat jemand Erfahrungen mit dieser Problematik?

diese habe ich ihm beantwortet. Bin sogar auf sein
Ein Snapshot dauert unter BTRFS nur wenige Millisekunden. Was nach meiner Vorstellung dann einem Dateisystemabbild nach einem "Netzsteckerziehen" entspricht.
eingegangen.

Alles andere, was du schreibst, stimmt zwar, gilt aber auch für VSS. Das sollte selbst dem TO klar sein (er ist sich dessen zumindest unter Windows bewusst).
Mitglied: Kraemer
Kraemer 30.12.2019 um 14:22:52 Uhr
Goto Top
Zitat von @kmbach:

Hallo,

Sorry, aber wollten wir in diesem Forum nicht höflich und sachlich bleiben?

bin ich und war ich.
Mitglied: broecker
broecker 30.12.2019 aktualisiert um 16:08:05 Uhr
Goto Top
Moin,
nochmal rein fachlich zusammengefaßt:

BTRFS hat keinen eigenen Mechanismus, die Integrität des Snapshots über die Abarbeitung der laufenden Blockoperationen hinaus sicherzustellen.

D.h. wie bei praktisch allen Storage-Lösungen, man muß diese Konsistenz durch einen Agenten im Server-OS realisieren: Backup-Job soll starten -> SQL-Server soll sein Filesystem konsistent zurückschreiben -> nach Bestätigung -> Backupjob erzeugt BTRFS-Snapshot -> SQL-Server darf wieder schreiben -> Backupjob kopiert das RO-Image z.B. via SSH -> Backupjob löst den Snapshot auf.

HG
Mark
Mitglied: kmbach
kmbach 04.01.2020 um 12:56:57 Uhr
Goto Top
Hallo,

vielen Dank für Eure Kommentare.

Wundert mich schon, dass es diverse Beiträge zum Thema BTRFS und die Verwendung von Snapshots für Backup's gibt aber in keinem Beitrag auf die Problematik der möglichen Inkonsistenz von Applikationsdaten hingewiesen wird - zumindest habe ich keinen gesehen und deshalb hier die Frage gestellt.

Zusammenfassend kann man vielleicht festhalten:
Ein Backup unter BTRFS unter Verwendung von Snapshots ist vermutlich noch eher brauchbar als ein direktes Backup von "/" mir rsync im laufenden Betrieb, weil zumindest das Filesystem konsistent ist. Vorsicht ist aber dennoch angebracht.

Es kann aber auch ohne Snapshots gut funktionieren, wie man am Beispiel von 'raspiBackup.sh' sehen kann. Kommt eben ggf. auf die laufenden Applikationen sowie Pre- und Postoperationen des Backups an.

VSS unter Windows ist nicht Bestandteil des Filesystem NTFS. Soweit hatte ich aber nicht gedacht. Unter Linux scheint es keine vergleichbare Zwischenschicht zu geben. Dort sorgen aber diverse Applikationen wie z.B. Oracle selbst für Absturzkonsistenz. Deren Mechanismus paßt nun aber nicht mit CoW zusammen - sagen zumindes Beiträge im Web aus.

Leider habe ich keinen Beitrag gefunden der dieses Thema umfassend behandelt. Für mich zumindest war es sehr zeitaufwendig passende Informationen zu finden. Vielleicht hat ja jemand noch einen entsprechenden Link den er hier posten kann.

Gruß kmbach
Mitglied: Lochkartenstanzer
Lochkartenstanzer 04.01.2020 aktualisiert um 13:16:19 Uhr
Goto Top
Zitat von @kmbach:

Guten Tag,

ich befasse mich gerade mit dem Ziel ein konsistentes Images von einem laufenden Linux unter Raspian Buster zu erstellen. Bei Windows ist ein solches Image unter Verwendung von VSS kein Problem.

Denkst Du. Aber ich hatte oft genug schon Probleme, weil manche Anwendungen nicht "VSS-Aware" waren.

Dabei sorgt VSS dafür, dass zum Zeitpunkt des einfrierens des Dateisystems alle Transaktionen abgeschlossen und alle Dateien geschlossen sind. Um dies zu erreichen kann das Erstellen eines Snapshots unter Windows dann auch bis zu einer Minute dauern.

Funktioniert nur, wenn wenn die Anwendungen auch wissen, wie sie mit VSS umzugehen haben. Ansonsten hast Du inkonsistenzen in den Anwendungsdaten.

Dazu müssen die Applikationen VSS fähig sein, was bedeuter, dass der VSS Dienst mit den Applikationen kommuniziert. Soweit zumindes die Literatur. In der Praxis habe ich unter Windows viel mit Snapshots gearbeitet und noch nie ein unbrauchbares Images erlebt.

Ich schon.

lks
Mitglied: emeriks
emeriks 05.01.2020 um 18:55:16 Uhr
Goto Top
Ich glaube, da wirst Du auch nichts allheilendes finden. Das ist eine ganz normale Problemstellung im Zusammenhang mit Snapshots, ganz egal, wie diese erstellt werden. Nicht umsonst betonen die´Anbieter der verschiedensten Lösungen immer wieder, dass man Snapshots nicht mit Backup verwechseln soll, und dass diese bestenfalls lediglich als Unterstützung für die Erstellung von nahezu konsistenten Backups oder für die Sicherung geöffneter Dateien dienen können.