cat-scvmm

How-To: Virtual Machine Mananger für shared ISO Image konfigurieren

VIRTUAL MACHINE MANAGER

System Center Virtual Machine Manager (VMM) ist Microsoft’s Management Lösung  für Hyper-V, Virtual Server, sowie auch VMware ESX (vCenter). Nebst der zentralen Verwaltung von Virtual Machines (VMs) und Templates, ist es auch wünschenswert zentral Software bereit zustellen. Bei VMM wird dafür ein Konzept mit einer zentralen Library verfolgt.

Per Default werden ISO Images welche in der Library abgelegt wurden auf den Hyper-V Host kopiert um dann einer VM gemountet werden zu können. Dies braucht Platz und auch entsprechend Zeit für den Kopiervorgang. Neu kann in VMM nun die Funktion “Share image file instead of copying it” genutzt werden.

Damit diese Funktion eingesetzt werden kann, sind zunächst folgende Voraussetzungen zu erfüllen, nachfolgend werden diese Anforderungen noch im Detail beschrieben:

  • Virtual Machine Manager 2008 R2
  • Active Directory
    • Windows Server 2003 Functional Level (oder höher)
    • Service Account

VMM Service Account

Damit die Funktion von shared ISO Images eingesetzt werden kann, muss Virtual Machine Manager (VMM) für den Betrieb mit einem Service Account konfiguriert sein. Dieses User Objekt muss Mitglied der Active Directory Domain, sowie der lokalen Gruppe “Administrators” sein. Da zukünftig dieser Service Account automatisch bei sämtlichen Hosts in die Gruppe Administrators mit aufgenommen wird, sollte dieser dediziert nur für VMM eingesetzt werden.

Wurde die Installation bereits mit der Option “Local System Account” durchgeführt, so kann dies nicht einfach gewechselt werden. VMM muss in einem solchen Fall deinstalliert und nochmals neu installiert werden, wobei der Service Account definiert werden kann.  Bei der Deinstallation kann die Option “Retain Data” gewählt werden, damit bei der Neuinstallation wieder auf die Database zurückgegriffen werden kann. Hinweis: Bei einer Deinstallation von VMM wird auch der Service Account aus der Gruppe “Administrators” entfernt.

Nach der Installation wird der Service “Virtual Machine Manager” (VMMService) mit dem Service Account gestartet. Der “Virtual Machine Manager Agent” (VMMAgent) läuft unter dem Local System Account. Der VMMAgent läuft auch auf jedem VMM Library, sowie auf den Hyper-V Hosts.

VMM Library

Bei Virtual Machine Manager (VMM) steht die Library im Zentrum. Dieses Verzeichnis dient zur Ablage von Virtual Machines, Templates und auch ISO Images. Automatisch wird bei einem VMM Server auch ein Share “MSSCVMMLibrary” als VMM Library angelegt. Damit ein ISO Image genutzt werden kann, müssen diese zunächst in die VMM Library kopiert werden. Es lohnt sich dabei auch eine entsprechende Struktur einzuführen, wie zum Beispiel:

\MSSCVMMLibrary
\ISOs
\Scripts
\VHDs

ISO Images werden in der VMM Library wie folgt dargestellt:

How-To: Virtual Machine Mananger für shared ISO Image konfigurieren

Der Datentransfer zwischen Hyper-V und der VMM Library erfolgt über “Background Intelligent Transfer Service” (BITS ) auf TCP 443.

Seit VMM 2008 können über die APIs von VMware vCenter auch VMware ESX Hosts verwaltet werden. Allerdings müssen bei VMware ESX die ISO Images immer auf den jeweiligen Host kopiert werden. Die Kommunikation erfolgt bei VMware ESX über das SFTP (22) und bei ESXi, welche über keine Service Console verfügt, wird das HTTPS (443) Protokoll verwendet.

NTFS & Share Permissions

Für den Zugriff von Hyper-V und Virtual Machine Manager (VMM) auf die ISO Images, müssen die Share und File System Permissions für “MSSCVMMLibrary” entsprechend konfiguriert werden. Dabei reicht es vollkommen aus, wenn die Hosts nur die Berechtigung zum Lesen erhalten.

  • Share Permissions (Read Only)
    • Hyper-V Hosts (zum Beispiel “HYPER01$”)
    • VMM Hosts (zum Beispiel “CONTOSO-VMM$”)
    • VMM Service Account (zum Beispiel “CONTOSO\service.vmm”)
  • NTFS Permissions (Read Only)
    • Hyper-V Hosts (zum Beispiel “HYPER01$”)
    • VMM Hosts (zum Beispiel “CONTOSO-VMM$”)
    • VMM Service Account (zum Beispiel “CONTOSO\service.vmm”)

Es empfiehlt sich die Permissions nach einem Delegation Modell zu konfigurieren, zum Beispiel nach “Account ⇒ Global Group ⇒ Domain Local Group ⇒ Permissions” (AGDLP).

Constrained Delegation

Damit Virtual Machine Manager (VMM) ein ISO Image mounten kann, sind zusätzliche Delegationen notwendig. Diese Server Authorization Delegation erlaubt einem Service einen User oder Computer Account zu imitieren (impersonate) um eine Netzwerkressource anzusprechen. Diese Art von Delegation wird häufig in einem Szenario angewendet, wo ein User einen Computer Service anspricht und dieser Service eine weitere Ressource im Netzwerk ansprechen muss. Der Haken ist dabei, dass der Zugriff nur erfolgen kann, wenn der Service die Berechtigungen des Users, anstelle deren des Computers (Local System) verwendet.

Die Konfiguration dieser Delegation erfolgt in Active Directory Users and Computers. Bei jedem Hyper-V Host Computer Account muss in den “Properties” geöffnet und in das Tab “Delegation” gewechselt werden. Um den Zugriff auf die Library zu erteilen, müssen sämtliche VMM Library Server hinzugefügt werden. Dabei muss das “Common Internet File System” (CIFS) Protokoll und den Modus “Use any authentication Method” gewählt werden.

How-To: Virtual Machine Mananger für shared ISO Image konfigurieren

Nach einem Reboot des Hyper-V Host wird die Einstellung wirksam.

Mount shared ISO

Ab diesem Zeitpunkt kann in der Virtual Machine Manager Administrator Console das ISO Image gemountet werden, ohne dass dies zuerst auf den Hyper-V Host kopiert werden muss. In VMM muss dazu lediglich in der Hardware Configuration der Virtual Machine (VM) mit “Capture mode ⇒ Existing image file” ein ISO Image von der Library gewählt werden. Mit der Option “Share image file instead of copying it” wird das Image über das Netzwerk bereit gestellt – That’s all.

How-To: Virtual Machine Mananger für shared ISO Image konfigurieren

Hinweis: Aktuell scheint die shared ISO Funktion nicht mit dem “New Virtual Machine” Wizard zu funktionieren. Stay tuned, the story has to continue…

Troubleshooting

Werden die Berechtigungen, oder die Delegation nicht entsprechend konfiguriert, so wird im Job Monitor von VMM folgende Fehlermeldung angezeigt:

Error (13233)
Unable to install Virtual Guest Services on virtual machine Contoso-DC. The Hyper-V Integration Services setup exited with error code 60001.

Warning (12700)
VMM cannot complete the Hyper-V operation on the HYPER01.contoso.com server because of the error: ‘Contoso-DC ‘ failed to add device ‘Microsoft Virtual CD/DVD Disk’. (Virtual machine ID 0409CC27-4ABC-4573-9AB1-7C392AC744A6)

‘Contoso-DC ‘: User account does not have permission required to open attachment ‘\\Contoso-VMM\MSSCVMMLibrary\ISOs\ en_windows_server_2008_r2.iso’. Error: ‘General access denied error’ (0x80070005). (Virtual machine ID 0409CC27-4ABC-4573-9AB1-7C392AC744A6) (Unknown error (0x8001))

Im Eventlog wird zudem eine vergleichbare Meldung ausgegeben. Für eine weitere Analyse des Problems steht nebst den bekannten Auditing Tools für NTFS auch eine Möglichkeiten zur Analyse der VMM Logfiles zur Verfügung, VMM Traces.

Zur Diagnose und weitere Analyse von Virtual Machine Manager (VMM) Fehlermeldungen, können VMM Traces gesammelt werden. Bei der Reproduzierung eines Fehlers kann so einfacher die Ursache ermittelt werden. Wie Traces aktiviert werden können, kann im Microsoft KB 970066 nachgelesen werden. Im Fall von shared ISO Images mit fehlenden Berechtigungen wird folgender Eintrag im Logfile erstellt:

2058 | 00002056    31.66240692    [2432] 0980.0570::09/23-14:56:38.031#19:Task.cs(246): Task failed error VirVMAsyncTaskError (12700); HR: 0x8001 with exception Microsoft.Carmine.WSManWrappers.WSManException: VMM cannot complete the Hyper-V operation on the HYPER01.contoso.com server because of the error: ‘Contoso-DC’ failed to add device ‘Microsoft Virtual CD/DVD Disk’. (Virtual machine ID 3F2D74BD-91B1-4E34-9CF9-F3DA2F5F0D82)
2059 | 00002057    31.66240692    [2432]
2060 | 00002058    31.66240692    [2432] ‘Contoso-DC’: User Account does not have sufficient privilege to open attachment ‘\\Contoso-VMM\MSSCVMMLibrary\ISOs\ en_windows_server_2008_r2.iso’. Error: ‘General access denied error’ (0x80070005). (Virtual machine ID 0409CC27-4ABC-4573-9AB1-7C392AC744A6)
2061 | 00002059    31.66240692    [2432] Resolve the issue in Hyper-V and then try the operation again.

Um das sammeln von VMM Traces noch weiter zu vereinfach hat Jonathan Jordan (Microsoft CSS) hierzu ein CMD Script erstellt und veröffentlicht.

Weitere Informationen

Hyper-V , 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.

Happy Birthday “Server Talk” Nachfolger von ServerManagerCMD