Posts

Es werden Posts vom 2012 angezeigt.

Automatisiertes Testen der XenApp-Performance (AAM)

Bild
Wer hätte nicht gerne eine EMail oder Warnung, * bevor * die Performance des XenApps / der Citrix Terminalserver-Farm den User zum Anruf bewegt? Eben. Dass es dafür ein Tool aus dem Dunstkreis von EdgeSight gibt, dass prinzipielle jeder einsetzen darf, der XenApp in der Enterprise- oder Platinum-Edition lizenziert hat, ist aber scheinbar eher unbekannt. Deshalb (und um einen Fehler nachzustellen, der mir in einem CXA-301 Lab begegnete – Danke an Sam!) geht es in diesem Blogbeitrag heute um “Active Application Monitoring” (AAM). Kapitel 1: die Installation Das AAM kann von der XenApp DVD installiert werden – dort befindet es sich im “\Service Monitoring\Installers\Server”-Verzeichnis als “EdgeSight Active Application Monitoring.msi”. Vor der Installation sollte das J#.Net Paket aus dem \Support-Ordner installiert werden umd die Unterstützung für die direkte Ansprache des XML-Dienstes zu erhalten, die Installation selbst kann dann mit “Custom” angepasst werden. In der angepasste

Workergroups der Server auflisten

Wer viel mit den Workergroups in XenApp arbeitet, kann im AppCenter jede Workergroup anklicken, um zu sehen, welche Server dazugehören. Was aber, wenn die Frage lautet: Zu welchen Workergroups gehört jeder meiner Server? Ein PowerShell-Einzeiler kann dies bequem erledigen (wenn die Citrix Snapins geladen sind, natürlich…): ---schnipp--- get-xaserver|foreach-object {write $_.servername;Get-XAWorkerGroup -servername $_|select workergroupname|ft} ---schnapp--- Have fun!

Einen Snapshot aller VMWare Workstation VMs erstellen

Wer kennt das nicht: Da hat man ein Lab auf dem Notebook, in dem die meisten Maschinen voneinander abhängen und möchte einen konsistenten Zustand konservieren, zu dem man im Falle eines Falles zurückkehren kann. Lösung bisher war das zeitaufwändige Sichern des kompletten Verzeichnisses inklusive aller VMs darin, so dass man im Fehlerfall alle VMs zu einem bestimmten (stabilen) Zustand wiederherstellen kann. Das folgende PowerShell-Skript ersetzt zwar kein Backup, erstellt aber von jeder gefundenen VM unterhalb eines Startpfads einen Snapshot mit dem Namen "Jahr-Monat-good", also 2012-10-good. ---schnipp--- ############################################### #### ####  Skript um für alle VMWare-Workstation  ####  Maschinen unterhalb des Startpfads "vmroot" ####  einen Snapshot anzulegen. ####  Rückfragen an daniel.wipperfuerth@adn.de #### ############################################### $vmroot="$home\documents\virtual machines" $vmrun="C:\Pr

XenApp Server 6.5 für Provisioning vorbereiten

Eine Art Sysprep für XenApp-Server hat Citrix uns mit dem Tool XenAppPrep beschert. Seit XenApp 6 ist dieses Tool Bestandteil des Server Configuration Tools, welches normalerweise über den XenApp Role Manager aufgerufen wird. Da dieser Prozess nicht nur für das erste Vorbereiten der vDisk provisionierter XenApp Server notwendig ist, sondern auch nach jeder Überarbeitung der Disk bietet sich hier der Einsatz einer kleinen Batch-Datei an, die diesen Schritt automatisiert. Hier ist sie: ----schnipp---- @Echo Off REM ############################################### REM #### REM ####  Skript um einen XenApp 6.5 für PVS REM ####  zu generalisieren. REM ####  Rückfragen an daniel.wipperfuerth@adn.de REM #### REM ############################################### “C:\program files (x86)\citrix\xenapp\serverconfig\xenappconfigconsole.exe” /executionmode:imageprep pause ---schnapp--- Have fun!

Reporting Services 2008 R2 wollen es sicher haben

Bild
Wer hat für kleine Labs schon mal gegen alle Real-World-Best-Practices verstoßen und auf seinem DomainController mit aktiver Zertifizierungsstelle den SQL-Server mit den Reporting Services installiert? Vielleicht für Citrix EdgeSight? Bestimmt mehr Personen als bloß ich. Wem es dabei passiert, dass die virtuellen Verzeichnisse /reports und /reportserver nicht angesprochen werden können, weil eine automatische Umleitung auf eine zertifikatsgeschützte (https / ssl) Seite dazwischenfunkt, dem sei hiermit geholfen. Die Konfiguration der ReportingServices ist fast gänzlich in der Datei RSReportServer.config im Pfad “ C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer ” enthalten. Hier befindet sich auch der Grund für die automatische Umleitung in Form des Tags “ SecureConnectionLevel ”. Die zugehörige Zeile sieht etwa so aus: <Add Key="SecureConnectionLevel" Value="2"/> Jeder Wert, der von “0” abweicht (im obigen Beispie

Netzwerkadresse anpassen

Baue ich ständig irgendwelche Labs oder Classrooms, Demo-Umgebungen oder Nachstellszenarien? Richtig. Und jedes mal muss ich Maschinen, die aus dem Sysprep-Winterschlaf erwachen eine statische IP-Adresse vergeben – sofern es sich nicht um ultra-kurzlebige oder Client-Systeme handelt. Es wäre auch gar nicht so schlimm, wenn nicht mit der Vergabe der IP-Adresse auch jedes mal die Subnetzmaske, Gateway und DNS gesetzt werden müssten – fehleranfällig und unnötig arbeitsintensiv. Ich habe daher eine kleine Batch-Datei geschrieben (wozu Zugfahrten doch brauchbar sind), die z.B. auf die Netlogon-Share des DCs gelegt werden kann. Von zukünftigen Lab-Systemen aus wird diese Batch-Datei nun per Kommandozeile mit Parameter aufgerufen oder einfach durch Doppelklick gestartet (ein Link / die Datei selbst) kann natürlich auch bereits Bestandteil des Sysprep-Images sein. Im Inneren der Batchdatei sind die verwendeten Netzwerkadressen, Subnetzmasken und DNS-Server etc. anzupassen, danach reicht ein

F-Secure Server Security auf provisionierten XenApp Servern einsetzen

Bild
Wer schon mal XenApp Server mit den Citrix Provisioning Services provisioniert hat, kennt das Problem, dass manche Software sich als cloning-untauglich erweist. Eine solche Software ist scheinbar auch F-Secure Server Security, die sich eine eindeutige ID in die Registry schreibt. Wird diese ID nicht auf der vDisk (golden Image) gelöscht, melden danach alle provisionierten XenApps die gleiche ID gegenüber dem Management Server von F-Secure. Nach der Installation ist deshalb der “F-Secure Management Service” (fsma) auf die Startart “manuell” zu setzen. Keine Sorge, gestartet wird er noch, bloß später. Die folgende Batch-Datei übernimmt die Aufgabe, jeder provisionierten Maschine eine eindeutige ID zu erstellen und auf der write-cache-disk (persistent disk) zu sichern. Diese Disk muss natürlich bei jeder Maschine vorhanden und NTFS-formatiert sein, setze ich hier voraus, da es ohnehin best practice für provisionierte XenApps ist – schließlich sollte man ja auch auf die gleiche Disk

Dateitypzuordnung für alle User

Bild
Habe ich schon mal eine neue Anwendung auf einem XenApp-Server installiert, freigegeben und dann festgestellt, dass sich die Anwendung nicht oder nur für mich mit bestimmten Dateiendungen registriert hat? Bestimmt. Bei einem Einzelplatzsystem ist das normalerweise kein Problem – mit Shift einen Rechtsklick auf eine unregistrierte Datei, “Öffnen mit…” auswählen und ein Standardprogramm festlegen, aber wie geht das auf einem Terminalserver? Um für die Ctirix Filetypeassociation / Dateitypzuordnung einen neuen Eintrag zu erstellen nehmen wir mal an, dass wir ein Programm installiert haben, welches sich um *.abc-Dateien kümmern soll. In meinem Beispiel verwende ich ein kopiertes und umbenanntes Notepad dafür. Die unregistrierte Datei wird von Windows zunächst ohne besonderes Icon dargestellt (unbekannte Erweiterung). Der erste Schritt besteht darin, in einer Command-Shell (als Admin starten!) mit dem Befehl assoc .abc=DanielsApp eine Zuordnung zwischen der Dateiendung und einem “Namen

Wer checkt hier Lizenzen aus?

Bild
Ein Schulungsteilnehmer fragte mich, welcher Task / welche DLL genau eigentlich bei XenApp 6.5 die Lizenzen auscheckt. Da ich keine passende Literatur auf die Schnelle gefunden habe, aber ein passendes Lab mit mir herumtrage, habe ich mich im Lab an einem XenApp angemeldet, was ja zu einer Kontaktaufnahme zwischen XenApp und Lizenzserver führt (Port 27000 und dann 7279). Mit tcpview lässt sich dann leicht herausfinden, welcher Task diese Ports soeben benutzt: Wie hier ersichtlich ist, findet das Ausbuchen der Lizenz auf Port 7279 gegen meinen Lizenzserver dc01.demo.adn durch einen Prozess “svchost.exe” statt. Das alleine bringt normalerweise noch keine Klärung – schliesslich ist dieser Task explizit für das Hosting von verschiedenen Diensten vorgesehen, die normalerweise auf DLLs basieren. Etwas mehr Klarheit bringt nun das Auflösen über die Prozess-ID (3768 im obigen Bild als Beispiel) mit dem folgenden Befehl: tasklist /fi “imagename eq svchost.exe” /svc Die zuvor ermittelte P

Ein published Desktop pro Server für Admins

In vielen XenApp-Farmen gibt es für jeden Server einen eigenen freigegebenen Desktop – so kann sich der Admin vorbei an den Regeln von Loadbalancing bequem auf einen bestimmten Server verbinden um z.B. Hotfixes einzuspielen oder Funktionen gezielt zu prüfen. Doch wie werden diese Desktops eingerichtet? Sicherlich kein Problem in einer Farm mit fünf Servern, aber was ist mit 25 Servern? Damit solche Arbeiten nicht wieder bei Azubis landen, gibt es ja Automatisierungstechniken wie etwa PowerShell: Zunächst kann man in der Powershell mit New-XAFolder applications\AdminDesktops einen zusätzlichen Ordner für die neuen Desktops erzeugen – dies dient zwar primär der Ordnung in der Managementkonsole, kann aber auch für die Delegation von Berechtigungen benutzt werden. Danach kann mit dem Befehl Get-XAServer|ForEach-Object{New-XAApplication -ApplicationType serverdesktop -displayname $_.servername -Description "Administrative Desktop" -ClientFolder Admin -servernames $_.serve

XenServer mit Software-Raid einrichten

Bild
  Haben wir nicht alle schon zum Experimentieren den Citrix XenServer auf ausgedienter Hardware installiert? Sicher – aber oft sind es die alten Festplatten der alten Hardware, die die Gesamtperformance des Systems bremsen. Ein Raid-Verbund von Festplatten könnte das Problem mildern: Raid-5 sorgt für Ausfallsicherheit, während Raid-0 die gewünschte Geschwindigkeit bringt. Doch “echte” Raid-Controller mit XenServer-Support sind teuer und für HostRaid / FakeRaid / BiosRaid fehlt die Treiberunterstützung oft gänzlich (davon abgesehen ist deren Performance nicht besser, als das CPU-gestützte Softwareraid des Betriebssystems). Dem SoftwareRaid kommt hierbei sogar eine interessante Sonderaufgabe zu: Die Installation des XenServers erfolgt auf einer der drei Festplatten, deren restlichen Speicher wir aber noch für das Raid verwenden werden :-) Zu Demonstrationszwecken und für die Screenshots habe ich unter Oracles VirtualBox einen XenServer erstellt, der über drei 100 GB Sata Festplatten v