VMDK to VHD Converter: Microsoft Virtual Machine Converter HowTo

Aufgrund von Windows 8 und Hyper-V ist es nun an der Zeit, die VMware Workstation abzulösen (der Host ist ein gewöhnlicher Windows 8-PC mit 16GB RAM und SSD). Um dies durchführen zu können hat Microsoft ein Tool zur Verfügung gestellt: Den Microsoft Virtual Machine Converter. Dieses Tool bittet eine grafische Oberfläche um beispielsweise von vSphere, ESX und ESXi direkt in die AzureCloud oder einen Hyper-V Host migrieren zu können. Leider geht dies nicht ganz so einfach für eine VMware Workstation. Hier eine kleine Anleitung:

1. Download des Microsoft Virtual Machine Converter (derzeit V3): http://www.microsoft.com/en-us/download/details.aspx?id=42497

2. Um die Powershell-Features nutzen zu können muss das Modul zuerst registriert werden:

import-module Installationspfad\MvmcCmdlet.psd1

Bsp: import-module import-module ‚C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1‘

Als nächstes hat man Zugriff auf die Powershell-Befehle. Um beispielsweise eine VMDK konvertieren zu können geschieht dies folgendermaßen:

ConvertTo-MvmcVhd M:\VMware\VMSRV06\VMSRV06-1.vmdk M:\Hyper-V\vmsrv06

ps_vmdk_to_vhd

kleine Randnotiz: Standardmäßig ist dies (wenn bei einem Win7 bzw. Server 2008 R2 ausgeführt) ein VHD-File; bei Win8 und Server 2012 ein VHDX-File. Dynamisch ist ebenso Standard (fixed wäre ebenso möglich)

Über den Hyper-V Manager ist es nun an der Zeit, die VHDX zu importieren. Als Erstes muss eine neue VM angelegt werden (bitte als Gen1)

hyper-v_gen1

Danach die konvertierte Disk angeben:

hyper-v_vhd

Nun sollte sich bereits die VM starten lassen. Zum Abschluss noch die VMware Tools deinstallieren und schon geht’s unter Hyper-V weiter.

Citrix Universal Print Server – Performancevergleich nativ vs Citrix UPS

Bei einer Umgebung mit ThinClients (=Druckerumleitung nicht möglich) am Standort A wo Remote gearbeitet wird und die Anwendungen vom Rechenzentrum bezogen werden, stellt sich die Frage, wie man das Drucken realisieren würde. Hierzu wird einmal das Drucken nativ dargestellt und einmal mit dem Citrix Universal Print Server. Eine Bandbreitenaufzeichnung hilft uns, die Datensumme vergleichen zu können.

Testumgebung:

– Printserver VMSRV02 mit Citrix UPS Server v7.1 (nicht verwendet)

– XenApp 6.5 Server VMSRV06 mit Citrix UPS Client v7.1 (nicht verwendet)

– Testseite PDF (1,4MB)

 

Test nativ:

Benötigte Bandbreite: 2MB Download, 18MB Upload!!

Drucktest_PDF_Testseite_HPLJ4200_nativ_NetLimiter

 

Test Citrix UniversalPrintServer:

Benötigte Bandbreite: 0,5MB Download, 1,3MB Upload!!

Drucktest_PDF_Testseite_HPLJ4200_CitrixUPD_NetLimiter

Somit konnte eine Bandbreitenreduktion von über 90% erreicht werden – und das sogar noch gratis!! Und nicht vergessen: schnellerer Druck = Reduktion der Wartezeit auf das Dokument!

 

Citrix Universal Print Server – Installation: XenApp 6.5

Warum den UniversalPrintServer von Citrix verwenden? Aus zwei guten Gründen:

– Es werden keine Druckertreiber mehr auf den Citrix-Servern benötigt

– Die Druckperformance wird optimiert

Um den Universal Print Server in Betrieb zu nehmen, muss der Universal Print Server gedownloaded werden (Anmelden auf www.citrix.com -> Download -> Xenapp 6.5 Feature Pack 1 -> Components)

Der Download enthält folgende Dateien:

CitrixGroupPolicyManagement -> Installation am Management-Server für die XenApp-Farm

CitrixUPClient_SelfExtractor -> Installation auf den XenApp-Servern wo sich die User verbinden

CitrixUPServer_SelfExtractor -> Installation am PrintServer, wo die Drucker bereitgestellt werden

XA650W2K8R2X64013 -> Ist das XenApp 6.5 HotfixRollupPack1 (kann auch das neueste HotfixRollupPack installiert werden, jedoch erscheint dann ein Fenster, wo der Druckertreiberdialog bestätigt werden muss.

UPDATE!! Ebenfalls das XenApp 7.6 Installationsmedium downloaden, und die folgenden Komponenten installieren um die aktuellste Universal Print Server Engine nutzen zu können (v7.6 anstatt der 1.0)

– Unter dem Ordner x64\Universal Print Server die Installationsdatei UpsServer_x64.msi am PrintServer installieren (ist nun auch für Server 2012 supported)

– Unter dem Ordner x64\Virtual Desktop Components die Installationsdatei UpsClient_x64.msi am XenApp-Server installieren (ist auch für XenApp 6.5 supported)

Bei meiner Testumgebung handelt es um folgende Konstellation:

VMSRV06: XenApp Server (Server 2008 R2, XenApp 6.5 HRP03)

VMSRV02: PrintServer (Server 2008 R2)

Ist die Installation erfolgreich, können nun folgende Einstellungen vorgenommen werden:

Auf den Citrix Server gibt es nun die neue Kategorie „Universal Print Server“:

Citrix_Policies_UniversalPrintServer

Wenn man sich nun über Citrix am Desktop anmeldet und sich einen Drucker über den UNC-Pfad verbindet, schaltet sich der UniversalPrintAgent dazwischen und der Drucker wird mittels UniversalPrintDriver erstellt:

HP Laserjet 4200_UniversalPrintDriver

 

 

StorageSpaces 2012 R2 und SSD Tiering auf Demo-Umgebung mit VMware Workstation

Da ich mir eine neue SSD angeschafft habe für den PC und noch mehrere „normale“ HDDs habe, möchte ich diese beiden Vorzüge (SSD=Schnell, HDD=viel Speicherplatz) vereinen.

Auf dem PC ist die VMware Workstation installiert. Einen DemoServer der unter Windows Server 2012 R2 läuft, ist ebenso vorhanden. Um die beiden Disken zu vereinen werden jeweils virtuelle Disken dem Server bereitgestellt:

1. Disk: 60GB SSD Storage

2. Disk: 200GB HDD Storage

Nun geht es in den ServerManager unter den Punkt „File and Storage Services“. Rechts unten sind die beiden nicht zugeordneten Disken zu sehen.

storagespaces_physicaldisks

Nun muss ein neuer StoragePool angelegt werden. Hier werden alle Disken definiert, die enthalten werden sollten.

Actions -> New Storage Pool. Namen eingeben (in diesem Fall „StoragePool1“) und los geht’s:

StoragePoolAnlage

Damit StorageSpaces den Cache eindeutig zuordnen kann, werden die Parameter „MediaType“ abgefragt. Diese sind (da ja virtuelle Disken) nicht sauber übergeben, was mit dem Powershell-Befehl „Get-PhysicalDisk | Select-Object FriendlyName, MediaType, Size“ rausgefunden werden kann:

powershell-Get-PhysicalDisk

Um den MediaType in „HDD“ umwandeln zu können, wird lediglich dieser PS Befehl benötigt:

Set-PhysicalDisk -FriendlyName PhysicalDisk2 -MediaType HDD

Danach erscheint bei den Disken der richtig/falsche MediaType:

MediaType_HDD

Nun kann eine virtuelle Disk erstellt werden. Hierfür kann nun das Häckchen „Create Storage Tier“ verwendet werden:

create_storage_tiers

Meine Einstellungen seht ihr wiefolgt:

VirtualDiskSettings

Und nach dem virtuellen Disk folgt noch das Volume:

new_volume_wizard_confirmation

Das Volume ist nun als ganz normaler Laufwerksbuchstabe zu sehen.

Um nun die Performance testen zu können, habe ich noch eine weitere Disk dem Server eingehängt (normale HDD ohne SSD-Cache). Nun der Performancevergleich mittels CrystalDiskMark:

SSD-Performance auf Workstation:

crystaldiskmark_nativ_ssd

native SSD, bereitgestellt durch VMware Workstation:

crystaldiskmark_ssd

StorageTiering (mit SSD-Cache):

crystaldiskmark_ssd_cache

ohne SSD-Cache (native HDD), bereitgestellt durch VMware Workstation:

crystaldiskmark_hdd

Vielleicht ist euch aufgefallen, dass die native SSD langsamer ist als das SSD-Tiering. Ich bin mir nicht sicher, aber ich tippe mal eher dass es von der VMware Workstation kommt bzw. vom CrystalDiskMark oder von meiner Herangehensweise des Performancetests. Nichtsdestotrotz hat der Test gezeigt, dass das SSD-Tiering sicherlich ein interessantes Feature ist und sicherlich das ein- oder andere Storagesystem nun durch einen Windows FileServer-Cluster ersetzt wird. Dadurch wird auch sicherlich der Hyper-V geforced, da dieser ja nun auf VHDs auf SMB3.0-Speicherorte unterstützt. Ebenfalls kann die Hyper-V Rolle dazu installiert werden und hätte somit einen sogenannten „Cluster-in-a-Box“.

PS: Der SSD-Cache sollte bei ca. 20-30% liegen, je nach Anwendungsfall.

 

 

CAD Workstations und Performance – Analyse der benötigen Leistung

Ich möchte hier mal einen kleinen Überblick geben wie man eine Serverinfrastruktur für die Desktopvirtualisierung im Bereich CAD dimensionieren kann:

Leider wissen die wenigsten was wirklich von der Software gefordert wird. Teure CAD-Workstations sind in (fast) jedem Industrieunternehmen anzufinden, gerade in Ingenieurbüros. Spätestens in den nächsten Jahren wird man nicht um das Thema Zentralisierung aneinander vorbei kommen. Welche Hardware wird denn nun auf Seiten des Servers benötigt?

Die ersten Ansätze ist mal, mit dem Softwarehersteller Kontakt aufzunehmen und auf eventuell vorhandenen „Best Practice“ zurückzugreifen. Sollten diese nicht vorhanden sein gibt es folgende Möglichkeit:

Analyse der IST-Werte der Leistung der Workstation:

Da das System eher schneller als langsamer werden sollte man sich vorab ein Bild des RessourcenManagers machen bzw. einem Perfmon-Bericht. Der Zeitraum sollte relativ hoch angesetzt sein (mind. 1 normal ablaufender Tag). Somit bekommt man schon einen relativ guten Eindruck was die CPU, RAM und Disk angeht. Oft ist es auch wichtiger, eine schnelle CPU zu haben mit hoher Taktrate und weniger Cores als langsamere Taktrate und mehr Cores.

Die GPU jedoch ist ja das Interessanteste und hier kann das kleine Programm „GPU-Z“ wahre Wunder helfen:

gpu-z-sensorsgpu-z-gpu

Das kleine Programm wirkt wie das fehlende Bindeglied vom Perfmon der Grafikkarte und gibt einen schnellen Überblick ob die benötigte GPU-RAM und die Leistung der Grafikkarte genügt. In den wenigsten Fällen ist auch wirklich eine K5000 notwendig – auch wenn dies die wenigsten nun hören wollen 😉 somit steht einer virtualisierten Nvidia Grid K2 bzw. K1 nichts im Wege.

Das Thema CPU und Storage spielt in den meisten Fällen eine wesentlich wichtigere Rolle und hierfür ist das Thema 3D-CAD-Virtualisierung wie geschaffen: Aufgrund unnötiger Netzwerk-Switches und direkter Anbindung an das Storage (und natürlich nicht zu vergessen die SSDs) können hier wesentlich bessere Geschwindigkeiten erreicht werden. Ebenfalls ist es anzudenken ob eine Servervirtualisierung ala XenApp oder XenDesktop preferiert wird (bzw. Server-OS oder dediziertes Client-OS) – warum? Ganz einfach: Da bei XenDesktop i.d.R. nur 2-4vCPUs vergeben werden, kann man einem XenApp-Server die vollen Cores bereitstellen und somit wesentlich mehr parallele Threads zum Laufen bringen. Ein Server 2012 R2 mit 40 Cores und 80GB RAM läuft mit 20 Usern wesentlich performanter als 20 Windows 7 VMs mit 2 Cores und 4 GB RAM. Und ja – 40 Cores sind keine Seltenheit mehr aufgrund Quad-Socket-Server.

Sollte jemand etwas Unterstützung in dem Bereich benötigen -> Meine Kontaktdaten siehe oben 😉

Nvidia Grid Workspace Demo #1

Da ich derzeit ein interessantes Projekt mit Nvidia Grid-Grafikkarten habe möchte ich euch heute die Demo von nVidia kurz vorstellen:

Diese kann sich jeder gerne für 24h selbst ansehen – unter https://trial.gimli.nvidiagrid.net/accounts/login/ kann man sich anmelden und kann dann über die nVidia Grid Workspace einen Win7 Demo-Account nutzen. Kurz den Installer nach dem Anmelden runter laden und schon geht’s los:

Optisch sieht es auf jeden Fall interessant aus – die Anwendungen lassen sich auch alle problemlos starten. Was aufgefallen ist, dass hier an der Storage-Performance etwas gespart wurde (Programme dauerten teilweise minutenlang zum starten) – das Arbeiten aber wäre auf jeden Fall problemlos möglich gewesen (leider hat meine 3MBit Leitung mir den Test etwas verweigert – es ruckelte stark. Wäre wahrscheinlich mit Citrix besser gegangen 😉 )

Hier ein paar Ausschnitte:

Die Oberfläche von nVidia Workspace:nvidia_grid_demo_nvidia_workspace

Und hier noch ein paar Demos (bitte beachtet rechts unten die Internetauslastung – leider am Limit und für mich nicht zumutbar so zu arbeiten)nvidia_grid_demo_faceworks

nvidia_grid_demo_webgl_water_nw_limit

Als Vergleich werde ich nächstes mal die Amazon AWS Grid-Umgebung testen – natürlich mit Citrix 😉

XenDesktop GPU Passthrough mit XenServer 6.2 (ServicePack 1)

Da GPU-Passthrough nicht nur mit teurer Markenhardware realisierbar ist, möchte ich euch hier kurz zeigen wie eine „Low-Budget“ – Variante realisiert werden kann (zwar nicht zertifiziert, aber dennoch sehr interessant).

Meine Basis ist ein herkömmlicher PC mit 2 Grafikkarten. Hier die Details:

– Asrock 990fx Extreme3 Mainboard (notwendig da nur die 990er-Serie die IOMMU-Funktionen für die Virtualisierung freigeschalten hat)

– AMD FX 6100

– 16GB DDR3-RAM

– 1x 2TB SATA-Disk

– 1x Geforce GTX 550TI

– 1x AMD Radeon HD7770

Installiert wird die von xenserver.org – bezogene herkömmliche (kostenfreie) Version des XenServers in der Version 6.2. Anschließend muss noch ein ServicePack nachinstalliert werden

http://support.citrix.com/article/CTX139788

Außerdem ist mit diesem ServicePack auch das OS Windows 8.1 und Server 2012 R2 supportet.

Im Bios gehören noch die Schritte für die Virtualisierung durchgeführt (IOMMU gehört aktiviert). Sollte dies erledigt sein ist nun im XenServer die GPU für Passthrough ersichtlich:

blog-vgpu-1

Nun gehört eine Basis-Installation der XenDesktop-Umgebung installiert. Folgendes ist hier zu machen:

1x VM als DomainController (Server 2012 R2)

1x VM als XenDesktop-Controller („Weiter“ – „Weiter“ – Installation 😉 )  – (Server 2012 R2)

1x VM als HDX-3D-Pro – Testmaschine (Windows 8.1)

Nach erfolgreicher Installation kann über das WebInterface der Desktop gestartet werden.

Wichtig ist, dass im GeräteManager die Grafikkarte richtig erkannt wurde:

blog-vgpu-geraetemanager

Man kann auch über das kleine „dxdiag“ testen, ob alles richtig funktioniert:

blog-vgpu-dxdiag

Nun kann jegliche Software installiert werden und getestet werden (in meinem Fall ein kurzer Test mit Skyrim 🙂 )

blog-vgpu-skyrim

Ein paar kleine Einschränkungen gibt es hierbei aber:

– Ändern der Auflösung der Citrix-Sitzung sollte nicht durchgeführt werden wenn bereits eine 3D-Anwedung ausgeführt wird. Besser hierbei ist, die Sitzung zu schließen und die Auflösung dann zu ändern

– mind. 2 vCPUs für die HDX 3D Pro-VM (ein Core ist i.d.Regel bereits von Citrix für die Code-Optimierung belegt)

Update eines ESXi-Servers mittels esxcli

Wer Besitzer eines Root-Servers ohne KVM-Konsole ist und noch eine ältere ESXi-Version (Bsp 5.0.0) hat, der hat sicherlich bemerkt dass sich die neuen Server 2012-OS sich nicht als virtuelle Maschine installieren lassen.

Abhilfe gibt es nur, wenn…

– man die VMs auf einen neuen Root-Server verschiebt

– den Root-Server mindestens auf den Stand 5.0.0 Update 1 hebt (siehe  https://blogs.vmware.com/guestosguide/2013/10/windows-server-2012-r2.html )

Um das Update durchführen zu können wird nicht viel benötigt und geht auch relativ schnell:

– Download der Patches: https://www.vmware.com/patchmgr/findPatch.portal

esxi_patches

Dieser Patch kann dann mittels VMware vSphere Client upgeloaded werden auf ein Volume.

Danach geht’s per Putty weiter (ESXi muss SSH aktiviert haben hierfür): sich verbinden sollte kein Problem sein, Credentials können dieselben eingegeben werden wie für das Verbinden mit dem vSphere Client.

Nun muss folgender Befehl eingegeben werden:

esxcli software vib install -d „/vmfs/volumes/Datastore/DirectoryName/PatchName.zip

Danach den Server Rebooten und der Server ist auf dem aktuellen Stand und die neuen Windows-Betriebssysteme lassen sich installieren.

Upgrade von XenDesktop 7.0 auf XenDesktop 7.1

Erstmal vorweg: Warum sollte man die 7.1er nutzen? Ganz klar: Es werden die neuen OS-Typen (Server 2012 R2 + Windows 8.1) erstmals unterstützt!

Q: Wie gehe ich am Besten voran?

A: Wie auf der Citrix-Seite beschrieben:

http://support.citrix.com/proddocs/topic/xendesktop-71/cds-xd-upgrade-xd7-to-7-1.html

XenDesktop 7.0 to XenDesktop 7.1

Nicht vergessen: Backup und Restore vorher testen (in Zeiten der Virtualisierung sollte dies kein Problem mehr darstellen – wie man hierzu vorgeht gibt es natürlich auch wieder was schönes von Citrix 😉

http://support.citrix.com/article/CTX135207

1. Kontrollieren ob die Lizenzfiles aktuell sind (wenn SA-Date nicht älter als unten geschildert, dann kanns weiter gehen)

 

2. Upgrade StoreFront (hierzu gab es bereits einen Blog – siehte „Storefront 2.0 Upgrade auf Storefront 2.1“

 

3. Update der VDA-Agents:

Nach Einlegen der DVD erscheint links bereits der Upgrade-Button:

Sind alle Komponenten upgedatet (bis auf

 

4. Upgrade Citrix-Komponenten:

Auch nicht weiters interessant -> DVD einlegen und loslegen!

XenDesktop 7.1 - installer

„Weiter-Weiter“ kann auch hier angewendet werden.

5. Nach Update der Komponenten kann nun das Citrix Studio aufgerufen werden. Hier kann nun der endgültige Abschluss stattfinden – das Update der SQL-Datenbank. Dieses kann entweder manuell oder automatisch stattfinden. Manuell ist hierfür interessanter, da bei einem Fehler besser nachgeforscht werden kann.

Nach Klick auf „Manuell“ kommt man in einem Ordner mit mehreren Dateien die der Reihe nach ausgeführt werden müssen. Die Scripts können direkt am SQL-Server (mit einem Admin-Account) ausgeführt werden.

Kurz zusammengefasst: Der Update-Prozess ist sehr sauber bei Citrix dokumentiert und sollte kein Problem darstellen.

PS: Wer eventuell auch Probleme beim Anzeigen der „Session Duration“ hatte – dies sollte mit der 7.1er-Version Vergangenheit sein.

Storefront 2.0 Upgrade auf Storefront 2.1

Da nun seit einiger Zeit StoreFront 2.1 rausgekommen ist, wird natürlich das Upgrade dringend empfohlen. Vorteile wie nativer HTML5-Support und Unterstützung von Server 2012 R2 sind die Hauptgründe hierfür. SessionPreLaunch ist nun ebenfalls wieder verfügbar mit XenApp 6.5 (War für viele ein Grund, den StoreFront nicht einzuführen).

Achtung bei einem bestehenden StoreFront mit bereits aktiviertem HTML5!! Das Update weigert sich strikt und es empfiehlt sich daher, den StoreFront zu deinstallieren und danach eine „frische“ Installation vom StoreFront 2.1 durchzuführen. Da die StoreFronts HA-LoadBalanced sein sollten ist dieser Schritt auch unter dem Tagesgeschäft möglich.

PS: Wer noch einen Storefront <2.0 hat, der wird sich sicherlich über die seit 2.0 nicht mehr benötigte SQL-Datenbank freuen!