Hier finden eine Schritt-für-Schritt Anleitungen, wie Sie schnell und einfach eine lauffähige Umgebung einrichten können. Als Basis werde ich Windows Server 2012 R2 verwenden.
Meine Demo-Umgebung besteht aus folgenden Komponenten:
- Active Directory Domain Controller mit installierten DNS, DHCP-Diensten
- License-Server (Citrix und RDS)
- SQL-Server (in meinem Fall MS SQL 2012) Databasespiegelung wird hier empfohlen.
- Citrix XenDesktop 7.8 Controller
- Citrix PVS 7.8
- Worker Windows 10
- Worker Windows 2012 R2
- XenServer 6.5
Vorbereitung
DHCP
Wenn in Ihrem Netzwerk die Nutzung von PXE (DHCP Broadcast) erlaubt ist, muss man den DHCP-Server anpassen und die u.g. Optionen konfigurieren.
- Option 66: Boot Server Host Name (IP-Adresse des PVS-Servers, wenn Sie zwei PVS-Server einsetzen, müssen Sie hier die virtuelle Adresse des Load-Balancers eintragen)
- Option 67: Bootfile Name (ARDBP32.BIN)
Am schnellsten konfigurieren Sie die DHCP-Optionen per PowerShell:
Set-DhcpServerv4OptionValue -ComputerName dc.demo.lab -ScopeId 192.168.2.34 -OptionId 066 -Value "192.168.2.34"
Set-DhcpServerv4OptionValue -ComputerName dc.demo.lab -ScopeId 192.168.2.34 -OptionId 067 -Value "ARDBP32.bin"
Wichtig auch die hochverfügbare Konfiguration von DHCP-Servern. Mit Server 2012 besteht die Möglichkeit, DHCP-Server untereinander zu replizieren, die eingeführte Funktion heist DHCP-Failover. Hier ist eine Konfigurationsanleitung dazu.
Service Account
Es ist empfohlen, dass zum Starten vom Stream and Soap Service einen Dienst Account im AD angelegt wird. Dieser Dienst-Account wird sowohl für die Kommunikation mit der Datenbank, als auch für den Dienst-Start verwendet. Dabei ist die folgende Berechtigung notwendig:
- Mitgliedschaft in der Gruppe Lokale Administratoren (auf allen PVS-Servern)
- Mitgliedschaft in der Gruppe Maschinenkatalogadministrator in Citrix Studio. (Machine Catalog Administrator).
Je nachdem wie die PVS-Server in die XenDesktop-Infrastruktur integriert werden, soll auch folgende Berechtigung notwendig sein:
- Erstellen, Löschen und Zurücksetzen von Computerobjekten (bezieht sich auf die OU, die Computerkonten beinhaltet)
- Passwort zurücksetzen (bezieht sich auf die OU, die Computerkonten beinhaltet)
- Stream and Soap Service muss über volle Adminrechte verfügen
PVS-Service Account (SQL Datenbank Zugriff) soll über die folgende Berechtigung verfügen. Die korrekte Berechtigung wird normalerweise vom Konfiguration-Wizard automatisch gesetzt.
- db_datareader
- db_datawriter
- execute permissions on stored procedures
Datenbank
Es gibt zwei Arten die notwendige Datenbank für die PVS-Infrastruktur anzulegen. Eine Datenbank kann bei der Installation automatisch erstellt sein. Dafür soll aber der Benutzer, der die Installation gestartet hat über die folgende SQL-Rechte verfügen:
- dbcreator
- securityadmin
Falls Sie nicht über die entsprechende Berechtigung verfügen, sollen zur Alternative zugreifen. Es besteht die Möglichkeit ein Skript für eine manuelle Erstellung der PVS Datenbank zu generieren und diesem Skript von einem DB-Administrator ausführen zu lassen.
Password Reset für VM-Konten
In der OU, die für die Speicherung den provisionierten VMs verwendet wird, soll die folgende GPO-Option aktiviert sein. Diese Einstellung ermöglicht ein regelmäßiges Zurücksetzen von Passwörtern eines Computerkontos.
- Englisch: Computer Configuration > Windows Settings > Security Settings > Security Options > Domain member: Disable machine account password changes – Enabled
- Deutsch: Computerkonfiguration > Windows-Einstellungen > Lokale Richtlinien > Sicherheitsoptionen > Domänenmitglied: Änderungen von Computerkontenkennwörtern deaktivieren - Aktiviert
Firewall
Die Windows Ports werden nicht durch den Wizard freigeschaltet und müssen manuell konfiguriert werden.
- UDP 6890 – 6909, 6910 – 6930 Inter-server communication, vDiskStreaming
- UDP 67 / 4011 (Bootstrap Protocol Client)
- UDP 69 (PXE Service)
- UDP 6910 (TFTPServer)
- TCP 54321, 54322 (SOAPService)
- TCP 1433 Kommunikation mit MS SQL
- TCP 389 Kommunikation mit AD
Installation des Provisioning Services Servers
Der PVS-Server wurde in meiner Demo-Umgebung wurde folgendermaßen konfiguriert:
2 x vCPU - In einer kleinen produktiven Umgebung wurde ich 4 vCPU empfehlen.
6 GB RAM - In einer produktiven Umgebung wäre die folgende Konfiguration sinnvoll:
4 GB RAM für den Server
2 GB RAM pro aktive vDisk-Version (Desktop Betriebssystem / VDI z.B.Windows 10)
4 GB RAM pro aktive vDisk-Version (Published Application / Windows 2012 R2)
2 x Partitionen. Auf die zweite Partition werden die Disks gespeichert.
Sorgen Sie für die ausreichende Platzkapazitäten und Leseperformance. Auch die Ausfallsicherheit / Hochverfügbarkeit darf nicht vergessen werden.
Lesenswerte Information:
Updated Guidance on PVS Ports and ThreadsUpdated Guidance on PVS Ports and Threads
Durch redundante Installation von PVS-Servern erreicht man eine kontinuierliche Verfügbarkeit von Hauptkomponenten. Man braucht mindesten zwei PVS-Server um die Ausfallsicherheit zu gewährleisten. Die Provisioning Services haben keine eingebauten Mechanismen, um die vDisks zwischen den Knoten zu replizieren. Man verwendet dafür eine einfache und elektive Methode, nämlich ein Robocopy-Befehl:
Aufgabeplanung starten, Aufgabe erstelle, Zeiten festlegen, Bat-File hinzugügen
### Robocopy von PVS01(Quelle) auf PVS02(Ziel)
### REM Option /MIR synchronisiert nur geänderte Daten
### REM Option /XF schließt *.lok Dateien aus
### REM Option /XD schließt den Ordner WriteCache aus
### REM Option /XO kopiert nur die neueren Dateien (eXclude Older)
Robocopy D:\vDisks \\PVS02\D$\vDisks /mir /xf *.lok /xd WriteCache /xo
Die andere Alternative ist die Windows-Server Komponente – das verteilte Dateisystem (Distributed File System, DFS)
vCPU Empfehlung
Die Anzahl von vCPU hat einen direkten Einfluss auf die Boot-Performance. So berechnet man die Anzahl von vCPU (nach Citrix Best-Practice):
Anzahl von vCPU = Anzahl von Threads
Anzahl von Ports = Anzahl von Zielgeräten / Anzahl von Threads
Beispiel: 62 Ports = 250 / 4 vCPU
Aus einer anderen Perspektive betrachtet, ist der PVS-Server nicht besonders ressourcenfressend. Es ist nicht zwingen notwendig mehr vCPU einzusetzen, um den Bootvorgand zu beschleunigen.
1. Der Installationswizard startet sich automatisch. Hier wird "Server Installation" ausgewählt:
2. Install klicken
3. Weiter...
4. Lizenzbestimmung ankzeptieren und Weiter...
5. Benutzername eingeben
6. Installationspfad anpassen, wenn notwendig, sonst Weiter.
7. Installation wird gestartet
8. Die Installation wurde erfolgreich abgeschlossen.
9. Der Konfigurationswizard startet sich automatisch.
10. Hier die Option "The service that runs on another computer" auswählen. Wir haben bereits die Optionen 66/67 auf einem DHCP-Server konfiguriert.
11. Hier die Option "The service that runs on this computer" auswählen. Da wir in unserem Fall die DHCP-Optionen 66/67 verwenden. Wenn Sie die VMs per ISO starten wollen, können Sie die Option „The service that runs on another computer“ auswählen. In diesem Fall wird der PXE-Dienst inaktiv bleiben.
12. Wir erstellen eine neue Farm.
13. Der Servername eintragen. Wenn auf dem SQL-Server mehrere Instanzen installiert sind, dann auch den Instanzname eingeben.
14. Wenn die Datenbank schon existiert, wählen Sie die gewünschte Datenbank. Sonst wird die Datenbank vom Wizard erstellt.
Es gibt eine weitere Art die notwendige Datenbank für die PVS-Infrastruktur anzulegen: How to Manually Create a Database for Provisioning Services
15. Wählen Sie den Orden für die Speicherung von vDisks.
16. Den Name (oder FQDN) des Lizenzservers eingeben. Lassen Sie die Option "Validate License server version and communication" aktiviert.
17. Hier tragen wir unseren Service Account ein
18. Die Option "Automate computer account password updates" bleibt aktiviert. Mehr Informationen zum Thema finden Sie hier: CTX132289 - How to Troubleshoot Provisioning Services Server Machine Account Password
19. Hier werden keine Änderungen vornehmen, weiter...
20. Hier werden keine Änderungen vornehmen, weiter...
21. Überprüfen Sie, ob die Einstellungen korrekt sind.
22. Der Wizard zeigt eine Zusammenfassung der getätigten Einstellungen. Die Inhalte lassen sich per Copy and Paste in den Editor übernehmen.
23. Die Installation wurde erfolgreich abgeschlossen.
Jetzt können wir die Management Console installieren. Dafür muss man die Option "Console Installation" auswählen:
Alle Komponenten sind erfolgreich installiert. Die Provisioning Console kann gestartet werden. Nach dem Start der Konsole, wird die Verbindung zur Farm hergestellt.
Hier die IP-Adresse, lokalhost oder FQDN des PVS-Servers eingeben und auf Connect klicken