Seite 1 von 2

VCB/Snapshot und custom Backup Scripts in Windows VMs

Verfasst: 12.09.2008, 17:45
von irix
Moin,

seit dem U2 wird beim Backup ja nicht mehr unter C:\Windows\ nach pre-freeze-script.bat und co. gesucht sondern in "%ProgrammFiles%\VMware\VMware\Tools\backupScripts.d". Das Verzeichnis backupScripts.d musste ich anlegen.

Nun hab ich eine test.bat mit dem Inhalt
@echo "test script" >> c:\snaphot.log

angelegt in der Hoffnung das bei einem VCB nun das Script ausgefuehrt wird. Spaeter sollen hier Dienste gestoppt werden. Aber es tut sich nix.

Unter Linux klappt das ohne Problem.... ich kenne
http://viops.vmware.com/home/message/1152 aber geholfen hat es noch nicht ausser das es einem Angst macht. Die Doku (Seite 52) hilft nicht wirklich weiter.

Mein Testclient ist hier ein deutsches XP pro... hab auch schon testhalber ein c:\program files\ angelegt was auch nicht tut. Die VMware Tools sind aktuell.

Gruss
Joerg

Verfasst: 24.09.2008, 21:09
von irix
Na wenn sonst keiner was sagt.... ich hab mit VMware telefoniert.

Es ist bestaetigt das bei einer Windows XP SP VM immer noch der alte Pfad unter c:\windows\ genommen wird und nicht die neue Location welche seit Update2 existiert. Mein SR1137626945 beschreibt das Problem auch fuer WinXP SP3.

Bei W2k3 wird der neue Pfad genommen, sofern auch die akt. VmwareTools installiert sind. Die Hotline bestaetigt Fehler wenn die Tools nur immer Upgegraded werden und sagt man solle sie De-installieren und dann Installieren.

Da ab nun alle Scripts ausgefuehrt werden muss eine Kontrollstruktur vorhanden sein damit das Script nicht 2x ausgefuehrt wird (Vor und nach dem Snapshot). Aufgeruden wird es auf jeden Fall 2x!!!

Aus "C:\Programme\VMware\VMware Tools\backupScripts.d" die Datei vcb.bat:

Code: Alles auswählen

@echo off

if "%1%" == ""       goto noParam
if "%1%" == "freeze"     goto doFreeze
if "%1%" == "thaw"       goto dothaw
if "%1%" == "freezeFail" goto dofreezefail
goto wrongParam


:doFreeze
call c:\windows\pre-freeze-script.bat
goto Ende

:dothaw
call c:\windows\post-thaw-script.bat
goto Ende

:dofreezefail
call c:\windows\post-freezefail.bat
goto Ende

:noParam
echo "Usage: %0 <freeze|thaw|freezeFail>"
echo At least one Parameter is needed!
goto Ende

:wrongParam
echo "Usage: %0 <freeze|thaw|freezeFail>"
echo "%1" is not a valid parameter!
goto Ende

:Ende


Getestet mit 32/64 Bit unter de/en Windows 2003 Standard

Gruss
Joerg

Verfasst: 24.09.2008, 23:19
von Tschoergez
Gut zu wissen!

Klasse!!
Vielen Dank für die ausführliche Beschreibung!!

viele grüße,
jörg

Verfasst: 14.11.2008, 14:34
von Fisi
Wozu ist das Usage Feld in dem Scrtipt ? Für den Mounter oder was ? :grin:

Der Vcbmounter übergibt doch die Parameter zum "freeze" "thaw" und nicht der User . :shock:

Verfasst: 14.11.2008, 14:47
von Fisi
Ürigens würde ich gerne wissen wie sieht es in der 3,5 U3 mit den Scripts aus ?

Ist dieser Bug weg ?

Verfasst: 14.11.2008, 15:00
von irix
Fisi hat geschrieben:Wozu ist das Usage Feld in dem Scrtipt ? Für den Mounter oder was ? :grin:

Der Vcbmounter übergibt doch die Parameter zum "freeze" "thaw" und nicht der User . :shock:


Fuer den User, wenn er es von Hand testen muss da die Qualitaetssoftware aus Palo Alto ja nicht immer das Tut was die Doku beschreibt. Selbst wenn die Doku stimmen wuerde bedeutet es ja nicht das esfunktioniert. Wenn ich die Mails und Logs ausdrucken wuerde welche bei den SR aufgelaufen sind bei den Problemen mit VCB und Snapshots dann koennte ich mir die Tapete an den Buerowaenden hier sparen.

@Fisi
Kann ich nicht sagen... es liegt auch weniger am VC als an den VMware Tools bzw. ob und welcher Treiber installiert wurde. Der VMware Support hatte noch einmal ein paar Infos nachgeschoben. Die machen es am VSS Treiber fest ob die neue oder alte Location genommen wird und da scheint es bei XP wohl was im Argen zu liegen. Allerdings war ich immer der Meinung das XP sowas wie die VSS garnicht hat und das wuerde auch erklaeren warum es nicht tut :)

Gruss
Joerg

Verfasst: 14.11.2008, 16:12
von Fisi
irix hat geschrieben:
Fisi hat geschrieben:Wozu ist das Usage Feld in dem Scrtipt ? Für den Mounter oder was ? :grin:

Der Vcbmounter übergibt doch die Parameter zum "freeze" "thaw" und nicht der User . :shock:


Fuer den User, wenn er es von Hand testen muss da die Qualitaetssoftware aus Palo Alto ja nicht immer das Tut was die Doku beschreibt. Selbst wenn die Doku stimmen wuerde bedeutet es ja nicht das esfunktioniert. Wenn ich die Mails und Logs ausdrucken wuerde welche bei den SR aufgelaufen sind bei den Problemen mit VCB und Snapshots dann koennte ich mir die Tapete an den Buerowaenden hier sparen.

@Fisi
Kann ich nicht sagen... es liegt auch weniger am VC als an den VMware Tools bzw. ob und welcher Treiber installiert wurde. Der VMware Support hatte noch einmal ein paar Infos nachgeschoben. Die machen es am VSS Treiber fest ob die neue oder alte Location genommen wird und da scheint es bei XP wohl was im Argen zu liegen. Allerdings war ich immer der Meinung das XP sowas wie die VSS garnicht hat und das wuerde auch erklaeren warum es nicht tut :)

Gruss
Joerg


Also ich kann nur sagen, dass man bei XP eine msi installiert um VSS Ordner auf dem Server zu supporten. Aber ich meine das ist nur als client tool gedacht und macht keinen komplette VSS Support auf dem XP.

Wenn dieses Problemm nur XP betrifft ist es ja noch ok.

Das heisst für mich bei allen anderen Maschinen kann ich einfach mit C:\Windows\pre-freeze-script.bat und co. arbeitenn und brauche den neuen ordner und diesen shellscript nicht ?

Verfasst: 14.11.2008, 16:24
von irix
Fisi hat geschrieben:
Wenn dieses Problemm nur XP betrifft ist es ja noch ok.

Das heisst für mich bei allen anderen Maschinen kann ich einfach mit C:\Windows\pre-freeze-script.bat und co. arbeitenn und brauche den neuen ordner und diesen shellscript nicht ?


Nein genau anders herum... oder welche "anderen" meintest du?

Gruss
Joerg

Verfasst: 18.11.2008, 11:43
von Fisi
irix hat geschrieben:
Fisi hat geschrieben:
Wenn dieses Problemm nur XP betrifft ist es ja noch ok.

Das heisst für mich bei allen anderen Maschinen kann ich einfach mit C:\Windows\pre-freeze-script.bat und co. arbeitenn und brauche den neuen ordner und diesen shellscript nicht ?


Nein genau anders herum... oder welche "anderen" meintest du?

Gruss
Joerg


Also ich glaube ich bin durcheinander gekommen .
C:\Windows\ - Widr immer noch von XP VMs nach scripten durchsucht. "%ProgrammFiles%\VMware\VMware\Tools\backupScripts.d - geht bei allen anderen Maschinen, auch bei WSRV2008 ?

Verfasst: 25.06.2009, 11:35
von softeislutscher
so, das ganze ist ja zwar schon etwas älter, aber ich rolls trotdem mal auf :D

wir haben ESX3.5 U4 + VC2.5 U4 + VCB Framework 1.5 im Einsatz...



ich habe auch schon das obigen script (dank an den autor) eingefügt, auch die ganzen pre-freeze usw erstellt...

leider arbeitet die VM nicht die skripts beim erstellen eines snapshots ab...
egal ob Win 2003 oder Win 2008 x64...

habt ihr vielleicht noch nen Tipp, was man nachkontrollieren könnte?

Danke

Verfasst: 25.06.2009, 11:55
von irix
Der Dank ist angekommen :).

Ich bilde mir ein das in den Logfiles zusehen das er nach den Customscripts such bzw. sie ausfuehrt. Allerdings befuerchte ich das diese Info generell drin steht und der Fehlerfall evtl. garnicht ersichtlich ist.

Bei der Entwicklung hab ich eigentlich immer folgendes gemacht. In das Trigger Script ein echo "blabla %1" >> c:\foobar.log um dann zusehen obs ausgefuehrt wird.

Kontrolliere mal ob mit den VMware Tools das VSS Modul gekommen ist fuer dein W2k3.

Wenn es denn mal funktioniert bei dir sag bescheid und ich kann dir ein paar Demo "vcb-pre-freeze.bat"s,welche Dienste Stoppen und auch eine Info E-Mail versenden bei Bedarf schicken.
Hier werden E-Mails mit dem Stopp/Start der Dienste versendet. Damit man im Notfall die Dinger bei Bedarf wieder starten kann.

Gruss
Joerg

Verfasst: 25.06.2009, 12:10
von softeislutscher
es scheint so, als würde die vcb.bat gar nicht ausgeführt...

ich kann diese manuell starten, also vcb.bat freeze, dann führt er das sauber aus, ohne problem, auch den restart thaw macht er... logging hab ich auch schon aktiviert...

vss ist mitinstalliert, die vmwaretools hab ich auch schon mal komplett deinstalliert, dann neu drauf...

das ist ja das komisch :(

Verfasst: 25.06.2009, 12:14
von irix
Dann mal die c:\windows\vcb-pre-freeze.bat anlegen und das ganze nochmal ausprobieren ob die direkt aufgerufen wird. Der Sinn des Wrappers war es ja
1. Die Standortproblematik in den Griff zubekommen
2. das komische Verhalten das nun die Scripte 2x ausgefuehrt werden wenn die neue Location zum Einsatz kommt

Gruss
Joerg

Verfasst: 25.06.2009, 12:22
von softeislutscher
jo, schon alles durch :D :D

das funktioniert auch...
hab da zum test auch nur nen net stop spooler reingehackt... dann sollte ja nach dem snapshot ziehen der spooler down sein...

gibts ne möglichkeit mal den snapshot über comandozeile vom vc aus zu starten?
oder mal vom esx, gleich mal guggen...

werden noch irgendwelche ports benötigt, um vom vc den befehl sauber abzusetzen?

Verfasst: 25.06.2009, 12:47
von softeislutscher
btw.

sollte die config.js editiert werden, bzw. sollten andere config files geändert werden?

Verfasst: 25.06.2009, 12:59
von irix
softeislutscher hat geschrieben:btw.

sollte die config.js editiert werden, bzw. sollten andere config files geändert werden?


Ja die config.js sollte angepasst werden.

Gruss
Joerg

Verfasst: 25.06.2009, 13:08
von irix
Du verwendest aber nicht -Q 0 als Parameter oder?. Weil das verhindert alles Arten von CustomScripts bzw. Quiscing.

Gruss
Joerg

Verfasst: 25.06.2009, 14:06
von softeislutscher
muss die auch editiert werden, wenn ich im VC "nur" einen snapshot machen will?

weil da sollte er das blöde vcb.bat ausführen... :cry:

EDIT:
ne, da hab ich nix geändert mit den zusätzlichen Parametern....

ich hab prizipiell "nur" die vcb.bat erstellt, die pre-xxx.bat's und das wars eigentlich schon...

Verfasst: 25.06.2009, 14:14
von irix
softeislutscher hat geschrieben:muss die auch editiert werden, wenn ich im VC "nur" einen snapshot machen will?


Nun kommt Licht ins Dunkel :idea:

weil da sollte er das blöde vcb.bat ausführen... :cry:


Das ganze hat mit normalen Snapshots nichts zutun, sondern nur wenn VMware Consolidated Backup zum Einsatz kommt, sprich du ein "vcbmounter.exe <params" ausfuehrst. Hierbei wird kurzfristig ein Snapshot erzeugt damit der Zugriff auf die vDisk Dateien moeglich wird. Dieser wird automatisch am Ende der Sicherung geloescht.



EDIT:
ne, da hab ich nix geändert mit den zusätzlichen Parametern....

ich hab prizipiell "nur" die vcb.bat erstellt, die pre-xxx.bat's und das wars eigentlich schon...


Gruss
Joerg

Verfasst: 25.06.2009, 14:57
von softeislutscher
sorry, das ich da was unterschlagen habe...:cry:
war absolut keine absicht...


aaaaber...
hab dafür weiter rumgebastelt...

also...
vcbsnapshot.exe funktioniert, dienst wird beendet (aber nur mit memory) guter Tipp von dir
vmware-cmd createsnapshot funktioniert, dienst wird beendet (aber nur mit memory)
snapshot vi-client funktioniert, dienst wird nicht beendet
snapshot vc vi-client funktioniert, dienst wird nicht beendet


hattest du das problem schon mal?

bzw. wird der snapshot über den vi-client anders abgesetzt, als direkt am esx, bzw. über vcbsnapshot?

ich verstehs einfach net :cry:

EDIT:
noch mehr hintergründe ;)

wir wollen einen Exchange 2007 CCR --> SCR Cluster implementieren... am 2. Node vom CCR Cluster, sollen Snapshots gezogen werden... die ganze VM läuft dann auf dem Netapp-Filer... wir wollen die Snapshots erstellen, um ggf. an die EDB Files noch zukommen... wir haben von Netapp ein VIBE Script bekommen, das zuerst einen Snapshot am ESX, danach am Filer initiiert und wieder am ESX löscht... dafür würden wir gerne kurz die Exchange Dienste anhalten...

Verfasst: 25.06.2009, 16:38
von Tschoergez
Hi,

es sieht im hintergrund so aus: Sowohl vcb als auch vmware-cmd als auch der VI Client nutzen die selbe API-funktion vom ESX zum erstellen eines Snapshots. Diese Funktion hat einen Schalter "quiesce", wenn der gesetzt ist, werden die Skripte im Gast ausgeführt (und bei Windows eben das Dateisystem sauber geflusht).

Beim VI Client fehlt die Möglichkeit, den Schalter zu aktivieren (vmware-cmd hat sie).

Viele Grüße,
Jörg

Verfasst: 25.06.2009, 16:50
von softeislutscher
danke für deine Antwort, jetzt ist mir das ganze schon um einiges klarer...

als ists besser, man versucht es über das VCB Framework...

um die vcb.bat ausführen zu können, muss man also den "quiesce" Schalter nutzen...

hab ich das dann richtig verstanden?

EDIT:
wie war das vor dem U2?

wie implementiert ihr das bei euch? ist bei uns ja nicht nur Exchange, auch ein paar SQL Server haben wir auch noch rumstehen*G*

Verfasst: 26.06.2009, 10:56
von softeislutscher
soooo...

vielen dank für eure Hilfe...
Problem hab ich jetzt in den Griff bekommen...

warum VMware das "quiesce" nicht in die GUI vom Client packt ist mir zwar ein Rätsel, aber damit kann man ja leben;-)...

danke nochmal für eure Geduld und Hilfe...

Verfasst: 15.12.2009, 18:26
von irix
Altes Thema....
aber weil es mir gerade passiert ist. Wie haben hier mit dem vSphere U1 die Tools und Hardware Version von 4 auf 7 angehoben. Bei den 64bit Gaesten werden nun (evtl. auch schon mit 4.0.0) die VMware Tools in der 64bit Version installiert. Damit aendert sich auch der Pfad von "C:\Program Files (x86)" nach "C:\Program Files".

Wir musten unser backupScripts.d Verzeichnis haendisch verschieben damit das mit den Scripten wieder klappte.

Gruss
Joerg

Verfasst: 16.12.2009, 08:15
von Tschoergez
Danke für die Info!

Stand so gaaanz bestimmt in der Anleitung, dass man da dran denken muss, oder :grin: ?

Viele Grüße,
Jörg