tantalos
Goto Top

Backup von Linux VMs unter Hyper-V

Hallo,

es geht um die Sicherung von virtuellen CentOS 7-Maschinen unter Hyper-V auf Basis von Server 2012 R2.

In einer VM läuft eine MySQL-Datenbank, bei der größere Datenmengen (ca. 6GB) gecached werden.

Das Backup soll konsistent sein, d.h. "application consistent" ... es dürfen keine Transaktionsdaten verloren gehen.

Ich möchte nur mit Windows-CLI-Bordmitteln sichern und mir ein passendes Script bauen (Sicherung auf Ebene des Hyper-V, nicht in den VMs direkt).

Wie lautet Eure Meinung zu den folgenden Fragen:

  • (1) Kann man mit wbadmin ein derart konsistentes Backup erreichen?
  • (2) Falls ja, muss die VM hierzu vor dem Backup heruntergefahren werden (durch die ab 2012 R2 verfügbaren snapshot driver soll das ja nicht mehr nötig sein)?
  • (3) Könnte man über einen Export der VM ein derart konsistentes Backup erreichen?

Beim Export sehe ich die Schwierigkeit, dass man immer Platz für mindestens zwei Exporte pro VM benötigt, wenn man immer ein garantiert funktionierendes Backup haben möchte, denn überschreibe ich den vorhandenen Export mit dem neuen und funktioniert dieser nicht, habe ich kein nutzbares Backup.

Windows Server Backup scheint ja inkrementell zu sichern, d.h. es sollte a) schneller gehen als ein Export und b) hätte ich zumindest noch ein Backup vom Lauf davor, sollte der aktuelle Lauf scheitern, oder?

Danke und Grüße,
tantalos

Content-Key: 320889

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

Printed on: April 20, 2024 at 02:04 o'clock

Member: Pjordorf
Pjordorf Nov 13, 2016 updated at 18:16:27 (UTC)
Goto Top
Hallo,

Zitat von @tantalos:
  • (1) Kann man mit wbadmin ein derart konsistentes Backup erreichen?
Ja. Einfach die VM wegsichern

* (2) Falls ja, muss die VM hierzu vor dem Backup heruntergefahren werden
Wenn dein Linux mit unbekannten SQL Server Konsistent sein soll, fahr die VM runter (nicht Pausieren), Sicher per WB die VM weg, Starte die VM neu. Das kann alles ein Skript tun. Erst wenn du sicher weisst das dein WBackup auf MS Basis dein Linux mit seiner geöffneten (innerhalb der VM im cache hängenden 6 GB SQL Daten) es sauber tut würde ich es ändern. Und dann stellst sich noch die Frage welcher Zeitpunkt stellt deine Konsistente SQL-Daten Sicherung denn überhaupt da wenn permanent ca. 6 GB SQL-Daten im Cache hängen. Wann und wie kann dort von Konsistent geredet werden?

* (3) Könnte man über einen Export der VM ein derart konsistentes Backup erreichen?
Ein Export im laufenden Betrieb oder die gemachter Sicherung woanders hin exportieren oder was meinst du mit Export? Die VM auf einen anderen Host exportieren ist doch niemals ein Sicherung ausser du lässt die VM ausgeschaltet. face-smile

Windows Server Backup scheint ja inkrementell zu sichern, d.h. es sollte a) schneller gehen als ein Export
Ja, andere nutzen dort auch VSS. Nur deine Forderung nach 100% Konsiste Daten lässt ein anhalten der VM doch irgendwie nicht zu, vor allem wenn beim anhalten dort noch ca. 6 GB SQL-Daten im cache hängen. Wenn also dein Snapshot einen Zeitpunkt von vor 6 Stunden wiederspiegelt und die Änderungen seit dem sich noch im Cache befinden, hast du konsistenz von einen Zeitpunkt von vor 6 stunden. Kommt es zum GAU sind deine Konsistenten Daten evtl. veraltert - aber Konsistent. Die datenbank wird wohl starten...face-smile

Gruß,
Peter
Member: tantalos
tantalos Nov 13, 2016 at 22:47:47 (UTC)
Goto Top
Hallo Peter,

danke für Deine Infos.

Es geht um eine MariaDB-Datenbank. Unter "konsistent" verstehe ich im besten Fall, dass zum Zeitpunkt des Beginns des Backups das Datenbanksystem alle Daten aus dem Cache auf die Platte schreibt und der sich dadurch ergebende Zustand gesichert wird, wie bei den Exchange-VSS-Writern. Mir mangelt es aber an Wissen, ob Hyper-V im Zusammenspiel mit CentOS und speziell MariaDB so eine Funktionalität bietet. Hast Du hier Erkenntnisse?

Falls es so eine VSS-Funktion unter Linux nicht gibt, wird vermutlich "nur" ein Checkpoint erstellt und dieser von wbadmin gesichert, mithin wird dabei der im RAM befindliche Cache ignoriert, korrekt? Der gesicherte Zustand entspricht dann vermutlich demjenigen nach einem Stromausfall, oder? Die Datenbank kann man dann vermutlich in die Gänge bringen, evtl. sind die Daten dann aber nicht ganz konsistent?

Mit "exportieren" meine ich: Export-VM. Hier hat man bei einem Export im laufenden Betrieb vermutlich dasselbe Problem in Bezug auf die Cache-Daten, oder?

Grüße,
tantalos
Member: runasservice
runasservice Nov 13, 2016 at 23:41:02 (UTC)
Goto Top
Zitat von @tantalos:

Das Backup soll konsistent sein, d.h. "application consistent" ... es dürfen keine Transaktionsdaten verloren gehen.

  • (1) Kann man mit wbadmin ein derart konsistentes Backup erreichen?

  • Nein, das von wbadmin erstellte Backup, deiner laufenden Linux VM, ist lediglich "crash-consistent" bzw. "system-consistent".
  • Ja, wenn deine Linux VM abgeschaltet ist.

* (2) Falls ja, muss die VM hierzu vor dem Backup heruntergefahren werden (durch die ab 2012 R2 verfügbaren snapshot driver soll das ja nicht mehr nötig sein)?

Wenn Du die VM, vor dem Backup, runterfährst ist deine Sicherung immer "application consistent" face-wink

* (3) Könnte man über einen Export der VM ein derart konsistentes Backup erreichen?

Alles was Du im laufenden Betrieb machst, ist bei Hyper-V Linux VMs nicht "application consistent"!

Ist aber auch kein Problem, sorge einfach dafür (per cron), das sich dein SQL-Server vor der Sicherung in einen konsistenten Zustand befindet. Dann kannst Du deine Linux VM auf mit wbadmin oder sonstigen VSScopy Programmen sichern.

Viel Erfolg...