cat-scvmm

Das optimierte VM Template in System Center 2012 Virtual Machine Manager

VIRTUAL MACHINE MANAGER

Eine der ersten Aufgaben nach der Installation von System Center 2012 Virtual Machine Manager ist die Konfiguration von Virtual Machine Templates. Diese Vorlagen dienen dazu die Erstellung von VMs zu vereinfachen und zu standardisieren.

Ein Standard VM Template besteht aus folgenden Komponenten:

  • VHD Image
  • Guest OS Profile
  • Hardware Profile

Weitere Details zu den verschiedenen Profilen gibt es in einem früheren Artikel. Nachfolgend es geht es darum, wie ein VM Template erstellt und mittels Guest OS Profile weiter optimiert werden kann.

Erstellen eines VM Template

Am einfachsten kann ein Template erstellt werden, indem eine existierende VM als Referenz verwendet wird. Das heisst, generell erforderliche Installationen, Konfigurationen, Updates werden bereits im Template abgebildet damit diese nicht für alle Installationen (nochmals) separat durchgeführt werden muss. Was sich generell empfiehlt in einem Master Image abzubilden:

  • Aktuellste Version der Hyper-V Integration Services;
  • Letzte Windows Updates;
  • Abhängen von ISO-Images (sofern nicht benötigt);
  • Defragmentierung des C:\ Laufwerk;

Sind alle Vorbereitungen getroffen, kann der Prozess wie folgt in der Virtual Machine Manager Admin Console angestossen werden. Da die VM mittels sysprep /generalize zum VM Template “umgewandelt” wird, können einige Benutzerspezifische Einstellungen verloren gehen. Es empfiehlt es sich daher vorher ein “Clone” anzulegen, damit einfach wieder auf das Master Image zurückgegriffen werden kann.

  1. In die “VM and Services” Ansicht wechseln;
  2. Herunterfahren der Referenz VM;
  3. Die Referenz VM selektieren und ein Clone erstellen, “Ribbon ⇒ Create ⇒ Clone”;
  4. Aus dem neuen Clone das VM Template erzeugen, “Ribbon ⇒ Create ⇒ Create VM Template”;
  5. Dadurch wird der entsprechende Wizard gestartet;

Wie zuvor erwähnt, führt der “Create Template” Vorgang ein sysprep /generalize in der VM durch, dazu wird diese VM wieder kurz gestartet. Anschliessend wird das VHD Image in die Library verschoben und zum VM Template hinzugefügt. Je nach Grösse des VHD Image kann dieser Vorgang etwas länger dauern.

Damit das VM Template flexibel eingesetzt werden kann, also damit die Betriebssystem Installation ohne zusätzliche Eingaben durchgeführt wird, sind noch zwei – drei kleine Anpassungen im OS Profil notwendig:

  1. In die “Library” Ansicht wechseln;
  2. Die Properties des zuvor erstellten VM Templates öffnen, “Templates ⇒ VM Template”;
  3. Im “OS Configuration” Tab die Werte unter “General Settings” anpassen;
  4. Mit “Save As” kann die Konfiguration als Guest OS Profile gespeichert werden, z.B. für weitere Templates;

Unter “General Settings” werden entsprechende Angaben zum Betriebssystem vorgenommen wie zum Beispiel:

Parameter Möglicher Wert
Operating System 64-bit edition of Windows Server 2012 Datacenter
Identity Information Computer Name (* generiert ein Zufallsname)
Admin Password Run-As Account für lokales Administrator Passwort
Product Key 48HP8-DN98B-MYWDG-T2DCC-8W83P (KMS Setup Key)
Time Zone GMT +01:00
Domain Domain Name Account für Domain Join

Die Optionen für “Roles” und “Features” stehen beim Standard VM Template nicht zur Verfügung. Diese kommen nur bei den Service Templates zum Zuge.

Optimieren des VM Template

Wie kann nun das VM Template noch weiter verbessert werden? Hier kommt wieder das Guest OS Profile ins Spiel. Mit den Optionen “Answer File” und “[GuiRunOnce]” können weitere hilfreiche Konfigurationen des Betriebssystems definiert werden. Da nicht sämtliche Optionen im UI abgebildet wurden, kann ein Profil mittels (Standard) Answer File erweitert werden. Ein solches kann zum Beispiel mittels WAIK (oder neu ADK) erstellt werden.

Nachfolgend ein einfaches Beispiel eines solchen XML:

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <UserLocale>de-CH</UserLocale>
            <InputLocale>de-CH</InputLocale>
            <SystemLocale>en-US</SystemLocale>
            <UILanguage>en-US</UILanguage>
            <UILanguageFallback>en-US</UILanguageFallback>
        </component>
    </settings>
</unattend>

Solch ein Answer File kann natürlich um viele weitere Funktionen erweitert werden. Damit dies im Profil oder Template eingebunden werden kann, muss das XML File lediglich in der VMM Library abgelegt werden. Ab dem nächsten Library Refresh steht dies bereits zur Verfügung.

Anstelle eines dedizierten XML kann eine solche Erweiterung auch mittels PowerShell direkt dem VM Template hinzugefügt werden.

1
2
3
4
5
6
7
$MyTemplate = Get-SCVMtemplate "MyWS2012"
$MySettings = $MyTemplate.UnattendSettings
$MySettings.Aadd("oobeSystem/Microsoft-Windows-International-Core/UserLocale","de-CH")
$MySettings.Add("oobeSystem/Microsoft-Windows-International-Core/SystemLocale","en-US")
$MySettings.Add("oobeSystem/Microsoft-Windows-International-Core/UILanguage","en-US")
$MySettings.Add("oobeSystem/Microsoft-Windows-International-Core/InputLocale","de-CH")
Set-SCVMTemplate -VMTemplate $MyTemplate -UnattendSettings $MySettings

Natürlich können viele weitere Anpassungen so vorgenommen werden. Wird ein Answer File geladen, werden die zuvor geladenen Einstellungen allerdings wieder überschrieben.

Weitere Informationen

SCVMM

, , ,

About the Author

Michel Luescher ist bei Microsoft Corporation als Solution Architect im Center of Excellence (CoE) für Datacenter & Cloud Infrastructure tätig. Michel ist Speaker und Blogger rund um das Thema Microsoft Cloud und bei Microsoft zudem Subject Matter Expert (SME) für Hyper-V + System Center Virtual Machine Manager.

Hinterlasse eine Antwort.