Exchange Logs mit qm Agent abschneiden

Heubach

Member
Oct 9, 2017
3
0
6
33
Hallo,

unser Proxmox läuft mit Linux auf einem ZFS. Ich habe ein Skript geschrieben, dass eine VM, über ssh auf dem Proxmox Terminal, mit dem quemu guest Agent erst einfriert, dann ein ZFS Snapshot macht und danach wieder auftaut.
Mir ist dabei nur aufgefallen, dass der Exchange Writer nach jedem Snapshot immer wieder das anzeigt (auch nach einem Neustart des Dienstes)

Status [1] Stabil
Letzter Fehler: Wiederholbarer Fehler

Exchange_Writer.png


Sonst laufen alle Writer korrekt.

Wenn ich dann nach der Konsistenz der Datenbank schaue, dann zeigt dieser mir einen Clean Shutdown an und die richtige Zeit wann das letzte Full Backup gemacht wurde (Zum Zeitpunkt meines ZFS Snapshots). Jedoch keine weiteren Zeiten.

Clean_Shutdown.png

Last_Backup.png

Soweit so gut, nun hätte ich nur gerne die Transaktionsprotokolle primär von Exchange abgeschnitten zum Zeitpunkt meines Snapshots. Was der Exchange Server nicht macht. Er gibt im Ereignislog nur die Meldung, dass die Protokolle von Exchange nicht abgeschnitten werden konnten.

Ereignislog:

Warnung: Ereginis 2038, MSExchangeRepl:
Fehler bei der Microsoft Exchange VSS Writer-Sicherung. Es wurden keine Protokolldateien abgeschnitten. Instanz 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'. Datenbank 'xxxxxxxx-xxxx-xxx-xxx-xxxxxxxxxxxx'

Fehler: Eregnis 2034, MSExchangeRepl:
Microsoft Exchange-Replikationsdienst: Fehler von VSS Writer (Instanz xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx) mit Fehler FFFFFFFC bei der Verarbeitung des Sicherungsabschlussereignisses.

Nun habe ich gelesen, dass über den qm Agent, keine Transaktionsprotokolle abgeschnitten werden.

PS:
Unser Exchange 2013 CU17 läuft auf einem Windows Server 2012 R2
Der Exchange läuft auf einer Testumgebung.
Das sind meine ersten Versuche mit vss.
Das ZFS Snapshot funktioniert sonst einwandfrei.

Nun meine Frage:
Ist es möglich über den qm Agent die Transaktionsprotokolle irgendwie abzuschneiden?
Wenn nicht, kann man dass in irgendeiner Art simulieren, sodass die Protokolle abgeschnitten werden?
Gibt es möglicherweise ein Workaround?
über Diskshadow villeicht? Kann man dass über Linux auf die Proxmox VM´s auslösen?
Ist dort irgendetwas in beabeitung bei dem Proxmox Te
am?

Ich danke für eure Hilfe und denke, dass dieses Problem nicht nur mich betrifft.

Grüße
Team Heubach
 
Last edited:
Ich habe ein paar kleine Fortschritte gemacht:

Als Workaronde habe ich nun über Diskshadow eine Sicherung "simuliert".
Diskshadow legt ja mit "Create" eine Schattenkopie an, sichert Sie jedoch nicht, wenn man dieses Skript auf der Exchange Server VM ausführt:

Begin Backup
Add volume c:
Create
End Backup

Wie schon gesagt, es ist eine reine Testumgebung.

Mit dieser Methode löscht Exchange alle Transaktionsprotokolle.
Nun habe ich aber nichts gefunden, wie ich dieses Skript von dem Host System aus starte.
Unter anderem finde ich diese Lösung auch nicht sehr elegant, weil das System dann zwei mal eingefroren wird, mit jeweils einem ZFS Snapshot und der Diskshadow Schattenkopie.

Dann dachte ich mit qm terminal (Serial terminal) möglicherweise, aber das funktioniert nur unter Linux bei Host und Guest System.
Wenn ich es nach dieser Anleitung einrichte: pve.proxmox.com/wiki/Serial_Terminal
Kommt bei dem Verbindungsversuch:

qm terminal xxx
Starting serial terminal on interface serial0 (press control-0 to exit)

und läuft nach einer gefühlten Ewigkeit auf ein Timeout.

Möglicherweise habe ich etwas übersehen.
Ich bin für Ideen und Lösungsansätze sehr Dankbar.

Grüße
Team Heubach
 
Kann man unter Windows ein Terminal (cmd oder Powershell) auf ein serielles Terminal legen? Alternativ müsste man eine Anwendung programmieren, die auf das serielle Terminal hört und dann entsprechend Kommandos im Gast absetzt, aber das hab ich unter Windows mangels Anwendunsfall bisher noch nicht gemacht.
 
Mittels qemu-guest-agent könnte es möglich sein, einen Script zu starten. Oder über ein Tool, wie ansible/salt könnte der ganze Prozess automatisiert werden.
 
Mittels qemu-guest-agent könnte es möglich sein, einen Script zu starten.

Ich habe in meinen Experimenten es noch nicht hinbekommen, dass die Skripte schnell genug fertig wären um zum einen was sinnvolles gemacht zu haben und zum anderen nicht in ein Timeout zu laufen. Wie löst ihr das Problem?
 
Hab es zwar selbst noch nie probiert, aber stelle mir vor ein Script/Programm in der VM müsste seinen State speichern, damit er auch per qemu-guest-agent abgefragt werden kann. Je nach State kann eine weitere Aktion folgen. Tools wie Ansible/Salt bringen diese Dinge schon mit und sind recht leicht zu konfigurieren/benutzen.
 
Vielen Dank für die Ideen,
ich werde es die nächste Zeit mal ausprobieren und mich mit meinen Ergebnissen wieder bei euch melden.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!