cat-scvmm

How-To: Backup und Recovery einer VMM Datenbank

VIRTUAL MACHINE MANAGER

Schon mal Gedanken zum Backup / Recovery Szenario von VMM gemacht? Nicht? Dann am besten ran an die Boardmittel und ein Backup der VMM Datenbank anlegen… Hyper-V funktioniert zwar auch ohne System Center, es würden aber dennoch einige wichtige Funktionen wegfallen, wenn VMM nicht mehr zur Verfügung stehen sollte.

Backup

Für den Backup einer VMM Datenbank kann ein PowerShell cmdlet von VMM eingesetzt werden. Backup-VMMServer verwendet TSQL Commands um ein Dump der SQL Datenbank zu erstellen. Eine Automatisierung lässt sich einfach mit einem PowerShell Script erreichen:

1
2
3
4
5
6
7
8
9
10
# Filename:    BackupVMMDatabase.ps1
# Description: Backs up the VMM database.
 
# Specify the VMM server and domain.
$VMMServer = Get-VMMServer -ComputerName "%MyVMMServer.fqdn.com%"
 
# Specify the backup folder path and name. To back
# up a database to a network share, specify the UNC
# path, for example, \\SQLServer01\VMMBackups.
Backup-VMMServer –Path "D:\VMMBackups" -VMMServer $VMMServer

Das Backup der VMM Datenbank wird jeweils auf dem SQL Server angelegt: VirtualManagerDB-12132010-224302.bak. Der Ziel-Ordner (z.B. D:\VMMBackups) muss existieren, da das Script diesen nicht selber anlegen kann. Ein Backup könnte  natürlich auch mit den SQL Tools erstellt werden…

Mit dem Windows Task Scheduler kann nun ein solches PowerShell Script auch regelmässig gestartet werden. Dazu muss durch den Scheduler einzig folgender Parameter aufgerufen werden: PS> PowerShell.exe -PSConsoleFile "C:\Program Files\Microsoft System Center Virtual Machine Manager 2008 R2\bin\cli.psc1" -Command ".'C:\MyScripts\BackupVMMDatabase.ps1'

Damit das Backup Script ausgeführt werden kann, muss allerdings zuvor die PowerShell Execution Policy angepasst werden:

  • Unsignierte PowerShell Scripts: PS> Set-ExecutionPolicy -ExecutionPolicy Unrestricted
  • Signierte PowerShell Scripts: PS> Set-ExecutionPolicy -ExecutionPolicy AllSigned

Recovery

Ein funktionierendes Backup Script ist allerdings nur die halbe Miete, zur Vollständigkeit braucht es noch weitere Schritte. Dazu wird das Tool “SCVMMRecover.exe” benötigt. Dies befindet sich im
VMM Programm Verzeichnis: “C:\Program Files\Microsoft System Center Virtual Machine Manager 2008 R2\bin”.

Das Recovery Tool verwendet auch TSQL Commands um den Restore der VMM Database durchzuführen. Der Restore Vorgang wird wie folgt auf dem VMM Server gestartet: C:\> SCVMMRecover -Path D:\VMMBackups\VirtualManagerDB-12132010-224302.bak –Confirm Der Pfad des Backup Files bezieht sich auf den SQL Server.

Dies funktioniert allerdings nur, wenn der gleiche VMM Server (Hostname, SID, etc) verwendet wird. Erfolgt das Recovery auf ein neues System müssen die Hosts neu mit dem VMM Server assoziiert werden. Dazu können die Hosts mit dem Status “Access Denied” unter Administration ⇒ Managed Computers selektiert und mit “Reassociate” die Verbindung zwischen Server / Agent sozusagen wieder repariert werden.

Troubleshooting

Nach einem Restore kann es in manchen Fällen vorkommen, dass sich der VMM Server Service (VMMService) nicht mehr starten lässt. Dies passiert dann, wenn Datum / Uhrzeit in einem unterschiedlichen Format in die VMM Datenbank geschrieben wurden. Um dies zu korrigieren muss zunächst sichergestellt werden, dass beim neuen VMM Server die gleichen System Locales, z.B. English (United States), wie beim ursprünglichen VMM Server verwendet werden.

Bleibt das Problem bestehen, hilft nur noch ein die Korrektur in der VMM Datenbank (VirtualManagerDB) selbst. Um den Fehler zu beheben, muss in der Tabelle “tbl_VMM_GlobalSetting” eine Anpassung vorgenommen werden, indem der Inhalt des Feldes “LastSQMEngineRefreshTime” entfernt wird. Danach lässt sich der Service wieder starten.

Wichtig!! Änderungen an der VMM Datenbank erfolgen auch eigenes Risiko. Es sollte immer ein funktionierendes Backup existieren, respektive vor der Änderung erstellt werden.

Weitere Informationen

SCVMM

, ,

About the Author

Michel Luescher is a solution architect in the worldwide Datacenter & Cloud Infrastructure Center of Excellence (CoE) at Microsoft Corporation based out of Zurich, Switzerland. Primarily, Michel is focused on hybrid cloud solutions (Hyper-V, System Center and Microsoft Azure). In addition Michel is speaker, blogger and author of several books.

Leave a Reply.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

How-To: Virtual Machine Manager Service Pack 1 Upgrade How-To: Weiterer Node in einem Failover Cluster hinzufügen