Archiv der Kategorie: Uncategorized

Citrix Zertifizierungen – Geld sparen und aktuell bleiben mit dem Early-Access Programm!

Mit den EarlyAccess-Programmen von Citrix kann man bares Geld sparen (bis zu 50%)!

http://training.citrix.com/cms/index.php?cID=496

Aktuell gibt es neue Kurse für XenApp/XenDesktop und NetScaler. Die Kurse werden für gewöhnlich direkt bei Citrix in Fort Lauderdale oder Virtuell abgehalten.  Bei den virtuellen Kursen gibt es übrigens 2 verschiedene Kurse angeboten aufgrund der Zeitverschiebung.

Der virtuelle NetScaler-Kurs wird sogar von Johannes Norz abgehalten!

Memory Management: Server 2008 R2 mit hoher RAM-Auslastung (PagedPool) – Part 1

Leider kommt es immer wieder mal vor, dass Programme bzw. Treiber ein Problem innerhalb des Betriebssystems verursachen (meist durch MemoryLeaks ausgelöst). Auslöser hierzu gibt es leider viel zu viele. Druckertreiber, Virenscanner, neue SoftwareReleases sind nur einige Beispiele. Dieses Mal nehme ich mir einen Terminalserver (Citrix, Server 2008R2) vor.

Details des Servers:

  • 4vCPU
  • 16GB RAM
  • 100GB HDD
  • Laufzeit: 47 Tage

Hier ein paar Screenshots des Servers.

TaskMgr-Leistung

TaskMgr-Details_anon

Folgendes ist hier seltsam: Physical Memory Usage: ca. 11GB obwohl so gut wie keine Applikationen am Server offen sind und fast keine User am Server angemeldet sind.

Im PerformanceMonitor ebenfalls dieselbe Ansicht:

PerformanceMonitor

Leider gibt hier der PerformanceMonitor nicht die notwendigen Infos da PerformanceMonitor und Tools wie ProcessExplorer gut geeignet sind um Memory-Problemen bei Applikationen zu finden, jedoch nicht wenn es um tiefer eingebettete Systeme geht (Treiber, etc.)

Mittels RamMap (SysInternals) kann der gesamte RAM aufgelistet werden. Wie hier gut zu sehen ist, befindet sich lediglich 2,5GB aktiv genutzt von Prozessen. Was hier jedoch noch ersichtlich ist, ist die PagedPool-Usage. Diese benötigt 5,7GB und lässt somit auf ein Treiberproblem bzw. MemoryLeak schließen.

RAMMap

Um die PagedPool bzw. non-PagedPool-Usage näher zu analysieren empfiehlt sich PoolMon (gibt es von Windows zu runterladen bzw. sind diese im WindowsDriverKit (WDK) enthalten). Sobald die Installation abgeschlossen ist kann die EXE direkt auf jedes supportete OS kopiert und gestartet werden.

poomon-b

Mittels „B“ kann noch nach Bytes sortiert werden. Wie hier zu sehen ist, hat der PagedPool-Bereich mit dem Tag „Toke“ und „CM31“ die größte Usage.

Leider wird das Tag „Toke“ für fast jedes Treiberobjekt in irgend einer Art und Weise verwendet und gibt leider ohne Windows Performance Recorder + Analyzer keinerlei Aufschluss (nächster Part folgt somit 😉 )

 

 

 

 

Upgrade von XenApp/XenDesktop 7.6 auf XenApp/XenDesktop 7.7

Ein frohes neues Jahr! Ende Dezember hat Citrix die neue Version 7.7 veröffentlicht. Um die neuen Features zu testen.

https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-7/what-is-new.html

Leider gibt es kein StoreFront-Update und ebenfalls die AppDisks für XenApp wurden noch nicht veröffentlicht. Somit leider noch etwas Geduld bzw. kann man es vorab in der „Technical Preview“ testen.

Wie geht es nun voran? Ganz einfach: Wie auf der Citrix-Seite beschrieben

https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-7/upgrade-migrate/upgrade.html

Upgrade-XA77-Req

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

  • Als Erstes wäre das Update des Lizenzservers an der Reihe – dies sollte kein großer Schritt sein. Der neue Lizenzserver liegt der ISO-Datei bei.
  • Kontrollieren ob die Lizenzfiles aktuell sind (wenn SA-Date nicht älter als unten geschildert, dann kanns weiter gehen)
    • PS: Citrix hat eine einheitliche Liste zusammengestellt für die notwendigen Produkt-SA-Dates -> leider fehlt die Version 7.7 hier: http://support.citrix.com/article/CTX111618Nun geht’s an die VDAs -> CD rein und los! Die Server/Desktop-VMs melden sich brav am DeliveryController und sind somit kompatibel
  • Danach geht’s an den Controller da es diesmal keinerlei Update für den StoreFront gab. Auch hier keinerlei Probleme und ein „weiter->weiter“ genügt.

Upgrade-XA77-pending

  • Nach dem Upgrade siehts ident aus wie die 7.6er Version -> bis auf den neuen Unterpunkt „Zones“ -> dies gehört jedoch in einem eigenen BlogPost näher erläutert was es hiermit auf sich hat

Upgrade-XA77-Zones

 

 

Citrix Universal Print Server – Installation + PrintDriverCertification

Nachdem das FeaturePack 3 für Xenapp 7.6 ebenfalls eine neue Version des UniversalPrintServers bereitstellte und ein Tool nannte das die Druckserver-Stabilität testet, wird es Zeit, dieses auf die Probe zu stellen.

Der Aussagetext von Citrix: https://www.citrix.com/downloads/xenapp/product-software/xenapp-76-feature-pack-3-platinum.html

Enhancing the Printing Experience from Any Device

Universal Print Server – now available for Server 2012R2 and Windows 10, radically improves the printing experience by up to 2x including self- healing diagnostics that promote the stability of the printing environment, a new tool that allows you to test your print drivers under load, and optionally enroll in Citrix Customer Experience Improvement Program.

Insgesamt finden sich in dem Download 6 Dateien wider (jeweils 3 für x86 und x64-OS). Diese gilt es in der folgenden Reihenfolge zu installieren:

  • CDF
  • vcredist (sofern nicht bereits installiert)
  • UPSServer

Nachdem dies erledigt war, konnte mit dem Tool PrintDriverCertification gestartet werden:

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

Achtung!! Das Tool nicht vom Desktop aus starten -> da kommt beim Start eine Fehlermeldung. Unter C:\temp funktionierts perfekt 😉

Es gehören hierfür im Vorfeld Testuser angelegt unter dem der Druckertest durchgeführt wird. Der Einfachheit halber wurde der Index „1“ ausgewählt. Der DomainUser „dadmin1“ wurde hierzu angelegt.

CitrixUPS_PrintDriverCertification

Das Ergebnis eines LaserJet 4200:

CitrixUPS_PrintDriverCertification_result_LJ4200

Hier wäre ein Screenshot mit einem Treiberproblem -> zumindest nicht geeignet für UniversalPrintServer und XPS:

CitrixUPS_PrintDriverCertification_result_CLJ9500

Bei Problemen: Im selben Verzeichnis liegt ein LogFile das eventuell Aufschluss gibt.

Bitte nicht am Produktivsystem durchführen da die Druckerports umgeleitet werden! Am Besten eine Test-VM mit Snapshot.

 

 

Server 2012 R2 – DHCP Failover und IPAM

DHCP Failover ist ja nichts neues (seit Server 2012 „eingebettet“ und oftmals genutzt), jedoch gab es einen kleinen Haken an der ganzen Sache: Die Reservierungen. Kaum jemand kommt ohne DHCP-Reservierungen aus (seien es Drucker oder spezielle Geräte die mittels IP-Freischaltung weitergehend konfiguriert sind). Seit Server 2012 R2 hat IPAM die automatische Reservierungs-Erstellung auf allen beteiligten Servern integriert. Somit sind keinerlei Powershell-Scripte mehr notwendig.

Folgende IST-Situation: Ein Unternehmen mit einer Niederlassung die über eine langsame WAN-Verbindung an das Hauptrechenzentrum angebunden ist. Es werden nur Server 2012 R2 verwendet. Am Aussenstandort gibt es lediglich einen physischen Server der DHCP-Server ist.

Aus Hochverfügbarkeitsgründen sollte nun DHCP redundant ausgeführt werden um bei einem Ausfall des Aussenstandortservers den DHCP-Service nach wie vor aufrecht zu erhalten.

Server Site1 (RZ):

  • vmsrv17 (2012 R2, IPAM-Server)
  • vmsrv18 (2012 R2, DHCP-Server)

Server Site2 (Aussenstandort):

  • vmsrv19 (2012 R2, DHCP-Server)

Die Basis-Konfiguation der DHCP-Server ist nicht nennenswert (Add Roles -> DHCP)

IPAM möchte ich jedoch nochmals kurz zeigen:

Die Installation erfolgt genau so über „Add Roles and Features“. Nach der Installation und Aufruf der IPAM-Overview muss man sich im Punkt 1) mit dem IPAM-Server Verbindungen und bei Punkt 2) eine Datenbank auswählen. Der Einfachheit halber wurde eine Windows InternalDatabase verwendet (kann jederzeit zu einer SQL-DB migriert werden)

Provision IPAM

Danach wird die Provisionierung gewählt. Hier wird die Provisionierung über GPOs gewählt. Die GPOs enthalten die notwendigen Freischaltungen und Einstellungen und werden mithilfe des SecurityFilterings über IPAM mit den entsprechenden Server befüllt.

Provision IPAM_2

Nach dem Erstellen muss noch über Powershell das Provisionieren angestoßen werden (ansonsten wird es die GPOs nie geben 😉 )invoke-IPAMGpoProvisioning

Nun muss noch das ServerDiscovery durchgeführt werden. Danach können bereits die Server zum IPAM Inventory hinzugefügt werden. Mittels „Tasks -> Add Server“ können Server hinzugefügt werden und mittels „Edit Server“ und dem ändern auf „Managed“ können die Server (nach einem Reboot) von IPAM gemanaged werden.

IPAM_Add_Server

Mittels „Add Scope“ kann nun am ersten DHCP-Server der erste Scope angelegt werden. IPAM_CreateScope

Nach dem Anlegen kann das Failover konfiguriert werden („Configure DHCP Failover“) wie hier zu sehen ist.IPAM_DHCP_Failover

Nun kann ein Failover-Relationship-Name vergeben werden und die üblichen Failover-Settings:IPAM_DHCP_Failover_Settings

Wenn dies konfiguriert ist kann der Test erfolgen (IP Addressreservierung einrichten). Beim Speichern müsste gleich auffallen, dass auf beiden Servern die Reservierungen eingetragen werden. Somit ist ein manuelles Replizieren nicht mehr notwendig.IPAM_Reservation_DHCP-Servers

Kurz noch ein Checkout mittels der DHCP-MMC und fertig 🙂DHCP_Reservations_PIR

 

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.

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)