Upgrade Hyper-V 2012 (R2)

Nachdem nun Windows Server 2012 R2 eine zeit lang auf dem Markt ist und gegenüber der 2012 Version einige interessante Verbesserungen (Export von laufenden VMs) mit sich bringt, stand ich vor der Frage – Upgrade oder Neuinstallation. Da ich auf meinen Server so gut wie keine 3rd-Party Tools installiert habe (außer dem Management der RAID-Controller und ein paar kleineren Utilities). Habe ich mich entschlossen mal einen Upgrade zu probieren und damit es nicht zu einfach wird, gleich mit der GUI-losen Version dem Microsoft Hyper-V Server 2012.

Das Ziel ist es also einen Microsoft Hyper-V Server 2012 auf das aktuelle Release Hyper-V 2012 R2 zu aktualisieren. Ich kann hier gleich vorweg nehmen, es geht – allerdings mit ein paar Dingen auf die man achten sollte.

Hier nochmals die Ausgangslage:

  1. Installierter Microsoft Hyper-V Server 2012 mit laufenden VMs
  2. Netzwerk-Adapter Team
  3. Upgrade erfolgt über eine RDP Session Winking smile
  4. Der Server besitzt eine eingebaute Remote-Management Karte (IPMI) welche über eine extra IP-Adresse erreichbar ist

Als erstes habe ich das ISO Image bei Microsoft herunter geladen (nach c:\temp) und mit PowerShell gemounted:

Mount-DiskImage -ImagePath "C:\Temp\en_microsoft_hyper-v_server_2012_r2_x64_dvd_2708236.iso"

Danach auf das neue Laufwerk gewechselt und den Update-Vorgang gestartet (über eine RDP Session, wohl gemerkt). Das Upgrade verlief ohne Probleme und der Server startete neu, allerdings war er auch nach einigem warten über seine alte IP-Adresse nicht erreichbar.

Ein Blick in den DHCP zeigte, dass beide Interfaces des Servers jeweils eine Adresse vom DHCP-Server bezogen hatten. In Folge des Upgrades war das Team gelöst worden, oder verloren gegangen – und damit auch die Verbindung zum virtuellen Switch.

Eine RDP Sitzung auf eine der im DHCP sichtbaren Adressen funktionierte auf Anhieb und nach Einrichtung des Teams und der Konfiguration des Hyper-V Switches konnte der Upgrade erfolgreich abgeschlossen werden.

Damit solch ein Upgrade problemlos funktioniert ist es notwendig, dass sich der DHCP Server außerhalb des Hyper-V Hosts befindet welcher aktualisiert werden soll. Alternativ ist eine IPMI Netzwerkkarte hilfreich welche einen Konsolenzugang ermöglicht ohne irgendwelche Adressen aus dem DHCP zu fischen.

Abschließend noch zwei Tips:

  • Für die PowerShell Anhänger unter uns: Ich kopiere immer die für die Konfiguration des Servers notwendigen Befehle in Form einer Text-Datei nach c:\temp, da die Zwischenablage über IPMI Boards nicht funktioniert.
  • Ein lokaler Admin ist ebenfalls hilfreich, wenn der Domain Controller nicht erreicht werden kann (das passiert schnell, wenn ein einziger SBS Server auf einem Host das Kundenszenario darstellt).

Update 2014-04-17:
Ein Kollege hat mich darauf aufmerksam gemacht, dass der \windows.old Ordner nach dem Update noch vorhanden ist und gelöscht werden muss! Dieser verhält sich aber ein wenig zickig, kann aber dennoch wie folgt gelöscht werden:

takeown /F \Windows.old /R /A /D Y
icacls \Windows.old /grant Administrators:(F) /T
rd \Windows.old /s /q

Enjoy it, b!

Windows Server 2012 R2 April-Update

Ab heute liefert Microsoft das sogenannte April-Update für Windows Server 2012 R2 und Windows 8.1 aus. Abonnenten des MSDN konnten das Update (welches aus insgesamt 6 Paketen besteht) schon seit letzter Woche herunter laden, der Rest wird das Paket über Windows Update oder einen WSUS angeboten bekommen.

Die Installation des Downloadpakets aus dem MSDN kann besonders einfach über folgendes Script erfolgen:

@echo off

set log=%windir%\Temp\update-windows-server-2012r2.log

echo.
echo Windows Server 2012 R2 Update Pack (April 2014) starts to install
echo Windows Server 2012 R2 Update Pack (April 2014) starts to install >%log%
echo.
echo  1. Package KB2919442
start /wait Windows8.1-KB2919442-x64.msu /quiet /norestart >>%log%
echo RC=[%ERRORLEVEL%], start /wait Windows8.1-KB2919442-x64.msu /quiet /norestart >>%log%
echo.
echo  2. Package KB2919355
start /wait Windows8.1-KB2919355-x64.msu /quiet /norestart >>%log%
echo RC=[%ERRORLEVEL%], start /wait Windows8.1-KB2919355-x64.msu /quiet /norestart >>%log%
echo.
echo  3. Package KB2932046
start /wait Windows8.1-KB2932046-x64.msu /quiet /norestart >>%log%
echo RC=[%ERRORLEVEL%], start /wait Windows8.1-KB2932046-x64.msu /quiet /norestart >>%log%
echo.
echo  4. Package KB2937592
start /wait Windows8.1-KB2937592-x64.msu /quiet /norestart >>%log%
echo RC=[%ERRORLEVEL%], start /wait Windows8.1-KB2937592-x64.msu /quiet /norestart >>%log%
echo.
echo  5. Package KB2938439
start /wait Windows8.1-KB2938439-x64.msu /quiet /norestart >>%log%
echo RC=[%ERRORLEVEL%], start /wait Windows8.1-KB2938439-x64.msu /quiet /norestart >>%log%
echo.
echo  6. Package KB2949621
start /wait Windows8.1-KB2949621-v2-x64.msu /quiet /norestart >>%log%
echo RC=[%ERRORLEVEL%], start /wait Windows8.1-KB2949621-v2-x64.msu /quiet /norestart >>%log%
echo.
echo Windows Server 2012 R2 Update Pack (April 2014) installation finished!
echo Windows Server 2012 R2 Update Pack (April 2014) installation finished! >>%log%
echo Press any key to reboot
pause >NUL
shutdown -r -t 0

Das Script erzeugt ein Log-File unter c:\windows\temp\update-windows-server-2012r2.log welches die Rückgabewerte der Installer enthält:

Windows Server 2012 R2 Update Pack (April 2014) starts to install 
RC=[2359302], start /wait Windows8.1-KB2919442-x64.msu /quiet /norestart 
RC=[3010], start /wait Windows8.1-KB2919355-x64.msu /quiet /norestart 
RC=[3010], start /wait Windows8.1-KB2932046-x64.msu /quiet /norestart 
RC=[3010], start /wait Windows8.1-KB2937592-x64.msu /quiet /norestart 
RC=[3010], start /wait Windows8.1-KB2938439-x64.msu /quiet /norestart 
RC=[-2145124329], start /wait Windows8.1-KB2949621-v2-x64.msu /quiet /norestart Windows Server 2012 R2 Update Pack (April 2014) installation finished!

Eine List mit Rückgabecodes des Installers ist hier vorhanden: http://support.microsoft.com/kb/304888/de

Sowohl der erste als auch der letzte Patch in der Liste waren auf dem System schon vorhanden – daher der vom Installer abweichende Rückgabe-Code.

[Update 1]
Wenn das Paket herunter geladen wurde, muss kontrolliert werden ob es als kritische Datei identifiziert wird. Das erfolgt über die Eigenschaften explizit für jedes der 6 Pakete:

image

Enjoy, it!

Hyper-V 2012 R2: Live Migration Settings failed

Kürzlich hatte ich das Problem, dass ich auf einem Hyper-V Server 2012 R2 die Einstellungen für eine Live Migration nicht speichern konnte. Von der Hyper-V MMC welche auf meinem Admin-Rechner lief bekam ich folgende Rückmeldung:

lm

Ich habe darauf hin so gut wie alle Parameter geprüft, inklusive Domain Mitgliedschaft, WMI, DNS … aber die Einstellungen haben sich einfach nicht speichern lassen. Die letzte Möglichkeit war das Absetzen der entsprechenden Befehle in PowerShell:

Set-VMHost -MaximumVirtualMachineMigrations 2 –MaximumStorageMigrations 2
Set-VMHost –UseAnyNetworkForMigration $true
Set-VMHost –VirtualMachineMigrationAuthenticationType Kerberos

Interessanter Weise konnte ich danach den Haken für die Live Migration setzen. Vielleicht hilft der Tipp dem einen oder anderen weiter:

Enjoy it, b!

WSUS 3.0, License Terms failed to download

Probleme lösen sich in der EDV leider nicht von selbst – und so hat auch alles Zuwarten nichts genutzt, bei einem Kunden verweigerte der WSUS schon seit geraumer Zeit den Download der Microsoft Software License Terms und quitierte den Download Prozess mit folgender Fehlermeldung:

image

Der erste Schritt war eine Prüfung des WSUS Log-Files unter C:\Program Files\Update Services\LogFiles\SoftwareDistribution.log welches folgende Informationen zu Tage forderte:

2014-03-11 06:23:51.810 UTC Info WsusService.16 EventLogEventReporter.ReportEvent EventId=364,Type=Error,Category=Synchronization,Message=Content file download failed. Reason: Error calling [kernel32.dll]:CreateDirectory(F:\WSUS\WsusContent\E7) Source File: Destination File: .

Cool Smiley dieser WSUS läuft gar nicht auf F:\WSUS\… sondern auf D:\WSUS\… ich bin mir nicht sicher ob der irgendwann einmal umgezogen wurde oder woher der Fehler kommt. Auf jeden Fall habe ich mich auf die Suche nach dem “falschen” Pfad in der Registry gemacht und bin dort auch wie folgt fündig geworden:

image

Nach einem Stopp des WSUS über den Service-Manager habe ich die grün hinterlegten Pfade von F:\WSUS auf D:\WSUS\… geändert, den WSUS neu gestartet und mit wsusutil.exe reset zurück gesetzt.

Danach wurden auch die Microsoft License Terms problemlos runter geladen.

Enjoy it, b!

Hyper-V R2: Update für Tests mit Windows 8

Der Betrieb von Windows 8 (egal ob Server oder Client) kann auf einem Hyper-V R2 System (Windows Server 2008 R2 oder Microsoft Hyper-V Server R2) zu einen BSOD führen. Dagegen gibt es einen Fix von Microsoft: http://support.microsoft.com/kb/2526776/en-us

Ich selbst habe W8 schon seit einigen Monaten im Test – ohne den Fix und ohne Probleme – dennoch habe ich den Fix eingespielt und alles funktioniert wie erwartet.

Update: 17.02.2014

Seit geraumer Zeit gibt es ein Update für den oben erwähnten Fix:

http://support.microsoft.com/kb/2744129/en-us

Enjoy it, b!

Acer Travelmate 8572G und Windows 8.1

Über Weihnachten hatte ich mal wieder ein wenig Zeit und so stand das Update eines Notebooks auf Windows 8.1 an. Das Gerät lief bisher sehr gut unter Windows 7, allerdings wuchs im Lauf der Zeit der Wunsch anstatt der 512GB großen Festplatte eine SSD einzusetzen. Anstatt die Daten nun auf die SSD zu migrieren, dachte ich mit Windows 8.1 x64 und Office 2013 gleich die aktuellsten Microsoft Releases in Einsatz zu bringen.

Die Installation von Windows 8.1 lief wie gewohnt schnell und problemlos ab. Letztendlich war das Notebook danach sofort betriebsfähig, ein Blick in den Gerätemanager offenbarte aber das einige Geräte nicht oder nicht korrekt erkannt wurden.

Das sind neben dem Fingerprint-Reader auch die Grafik-Hybrid-Karte welche neben dem Intel-Grafikchip auch einen Nvidia GeForce GT330M Grafikchip verwendet. Während der Intelchip nach kurzer Zeit von Windows selbstständig erkannt wurde, war der Nvidiachip lediglich als Microsoft Basic Display Adapter sichtbar.

Da Acer leider dieses Notebook nicht im Fokus für WIndows 8.1 hat und dafür keine Treiber mehr anbietet, musste ich mich mit den Windows 7 x64 Treibern behelfen. Von der Acer-Homepage habe ich dazu folgende Treiber verwendet:

Der oben angeführte Inteltreiber ist prinzipiell nicht notwendig, insofern Windows 8.1 den Intelchip korrekt erkennt – was bei mir der Fall war. Sollte das nicht der Fall sein, und auch ein BIOS Update nicht helfen – der Intelchip ebenfalls als Microsoft Basic Display Adapter angezeigt wird, muss der Inteltreiber installiert werden.

Die Installation aller Grafiktreiber erfolgte über die setup.exe aus dem Treiberpaket und nicht über die Funktion zu Aktualisieren der Gerätetreiber von Windows 8.1. Nach der Installation ist ein Neustart des Notebooks notwendig und der Gerätemanager sollte folgende Devices anzeigen:

image

Ich habe zu den entsprechenden Geräten noch den jeweiligen Treiber mit rein kopiert.

Enjoy, it! und einen guten Rutsch ins Neue Jahr

b!

Error VSS 8193

Auf fast jedem meiner Server habe ich mit diesem Fehler zu kämpfen – der zwar keinen wesentlichen Einfluss auf die Stabilität des Servers zu haben scheint, aber einfach unnötig ist. Deshalb habe ich nach der Ursache geforscht und habe heraus gefunden das der Network Service nicht die notwendige Zugriffberechtigung auf den entsprechenden Registry Key hat:

image

Egal ob mit Regedit.exe oder über eine GPO, kann durch hinzufügen der folgenden Berechtigungen für den Network Service das Problem behoben werden.

image

Enjoy it, b!

Hyper-V generation 2 VM conversion utility

Mit Windows Server 2012 R2 hat Microsoft eine neue Generation von VMs fortgestellt (Generation 2 VMs) welche auf die Verwendung von emulierten Devices verzichtet. Detaillierte Infos gibt’s hier:

http://blogs.technet.com/b/jhoward/archive/2013/10/24/hyper-v-generation-2-virtual-machines-part-1.aspx

Generation 1 VMs können, insofern der Host und das Gastbetriebssystem das zulassen in Generation 2 VMs konvertiert werden. Dazu gibt es einen Konverter von John Howard:

http://code.msdn.microsoft.com/ConvertVMGeneration

Enjoy it, b!

Lizenz–interessante Option mit Windows Server 2012 R2 Standard

Mit dem Release von Windows Server 2012 R2 hat Microsoft die Rolle Windows Server Essentials Experience hinzugefügt, welche aus einem Windows Server 2012 R2 einen Windows Server 2012 R2 Essentials macht – mit integriertem Clientbackup, Dashboard, vereinfachter Benutzerverwaltung, und, und, und …

image

Durch die Tatsache, dass Windows Server 2012 R2 Standard 2 VSOS also die Möglichkeit 2 VMs mit Windows Server 2012 zu betreiben mit sich bringt, kann in Fällen wo ein normaler Essentials Server nicht ausreicht (z.B. zusätzliche Datenbanken etc.) folgender Ansatz gewählt werden:

  • Kauf eines Servers mit Windows Server 2012 R2 Standard
  • Installation VM 1 mit Windows Server 2012 R2 Standard und laden der Windows Server Essentials Experience Rolle
  • Installation VM 2 mit Windows Server 2012 R2 Standard für LOB Anwendungen

Damit wäre der Server welcher als Host zur Virtualisierung dient mit einem vollen Windows Server inklusive Hyper-V Management MMC ausgestattet und das Business läuft in den beiden vorhandenen VMs.

Enjoy it, b!

Deaktivieren des Lock Screens in Windows 8.1

Für den Fall, dass Windows 8.1 nicht auf einem Touch-Device betrieben wird oder aber der Einsatz im Firmenumfeld statt findet, kann es lästig sein immer den Lock Screen weg zu wischen bevor das Anmeldefenster kommt. Damit Windows nach dem Start direkt die Anmeldemaske präsentiert kann folgender Eintrag in der GPOs gesetzt werden (entweder lokal oder über eine Policy in der Domäne):

Local Computer\Computer Configuration\Administrative Templates\Control Panel\Personalization
Setting: Don not display the lock screen
State: Enabled

image

Enjoy it, b!