Hier finden Sie eine kurze Anleitung, wie man die SQL Datenbankspiegelung installiert und als Basis für die Citrix Infrastruktur bereitstellt. (Angepasst Dezember 2017) Die Datenbankspiegelung ist eine von mehreren Optionen, die es ermöglicht, die SQL-Datenbanken für eine XenApp / XenDesktop-Infrastruktur hochverfügbar bereitzustellen. Die Datenbankspiegelung ist eine von Citrix empfohlene Option.
Obwohl die Datenbankspiegelung von Microsoft als eine nahezu abgekündigte Feature gilt und offiziell durch AlwaysOn Basis Verfügbarkeitsgruppen ersetzt werden soll, lässt sich die Spiegelung auch in der Version 2017 immer noch einrichten. Außerdem wird die Datenbankspiegelung von Citrix immer noch präferiert.
Empfohlene SQL Hochverfügbarkeitslösungen (Citrix VDI Handbook - XenApp and XenDesktop 7.15 LTSR)
Konponenten |
HA / Backup mit Hypervisor |
Spiegelung |
AllwaysOn Failover Cluster |
AllwaysOn Avalibility Groups |
AllwaysOn Basic Avaliblity Groups |
Site DB |
Für kleine, bzw. Testumgebungen |
Empfohlen | Supported | Supported | Supported |
Configuration Logging DB |
Supported | Supported | Supported | Supported | |
Monitoring DB | Empfohlen | Supported | Supported | Supported | |
PVS DB | Empfohlen | Supported | Not Supported | Not Supported |
Standardmäßig werden alle drei Citrix Datenbanken auf dem selben SQL-Server erstellen. Sie können aber die unterschiedlichen Datenbanken auf den unterschiedlichen SQL-Servern hosten. Die Datenbanken können sowohl bei der Installation ausgewählt werden, als auch nachträglich geändert werden. Es wird sogar von Citrix empfohlen, die Überwachungsdatenbank auf einem separaten SQL-Server zu betreiben und aus folgenden Gründen:
- Überwachungsdatenbank je nach Konfiguration kann ziemlich groß werden
- der Verlust der Datenbank ist nicht so kritisch. Es werden nur die historischen Daten nicht mehr angezeigt.
Datenbank Spiegelung Architecture
Die Umgebung besteht aus drei SQL-Servern: Prinzipal, Mirror (SQL Server 2017 Standard Edition) und Witness (SQL Server 2017 Express). Der Witness-Server sorgt für den automatischen Failover, falls der Prinzipal-Server nicht mehr erreichbar ist. Nach einem Ausfall des Prinzipal-Servers übernimmt der Mirror-Server die Rolle eines Prinzipals.
Die Datenbankspiegelung kann in drei unterschiedlichen Modi laufen, wobei nur einer Modus von Citrix empfohlen wird (High Protection Mode wird oft High Safety Mode genannt):
1.1. Der synchrone Hochsicherheitsmodus mit automatischen Failover. In diesem Modus werden die Transaktionen vom Prinzipal-Server an Mirror-Server gesendet und der Prinzipal-Server wartet auf eine Bestätigung vom Mirror-Server, bevor die nächsten Transaktionen gesendet werden.
1.2. Der synchrone Hochsicherheitsmodus ohne automatischen Failover. Die zweite Option ist der ersten Option identisch, mit einem Unterschied, dass der Witness-Server nicht eingesetzt wird. Zum Umschwenken der Datenbanken wird der manuelle Failover benötigt.
2. Asynchronous Database Mirroring (High-Performance Mode) . Offizielle Microsoft Dokumentation zum Thema: Öffnen
3. Im dritten Modus werden Transaktionen vom Prinzipal-Server an Mirror-Server gesendet, ohne auf die Bestätigung über den Erhalt der Transaktionen zu warten. In diesem Fall kann die Synchronität der Daten nicht mehr gewährleistet werden. Diese Option unterstützt nur einen erzwungenen Failover, wenn keine Verbindung zwischen den beiden SQL-Server mehr besteht.
Vorbereitung
Es ist keine besondere Vorbereitung notwendig, außer:
- Service-Account für DB einrichten. Durch das neue Konto werden die vordefinierten Service Accounts (NT Service\MSSQLSERVER, NT SERVICE\SQLSERVERAGENT) ersetzt. Für den SQL-Service Account muss auch ein SPN (ServicePrincipalName) konfiguriert werden. Weitere Information zum Thema finden Sie hier: Registrieren eines Dienstprinzipalnamens für Kerberos-Verbindungen
- Service-Account zur lokalen Administratoren auf allen SQL-Servern hinzufügen
- zusätzlich zu SQL Port 1433, wird auch der Port 5022 freigegeben.
- jeder SQL Server soll über Port 1433 von jedem Delivery Controller erreichbar sein
- Der Benutzer, der den Citrix Wizard startet, soll über diese Berechtigung auf dem SQL-Server verfügen: dbcreator, securityadmin
Konfigurationsschritte
Die Installation und Konfiguration lässt sich in folgende Schritte unterteilen:
1. drei Windows Server vorbereiten.
2. SQL Server auf den ersten beiden (Prinzipal und Mirror) Servern installieren
3. SQL Management Studio installieren
4. SQL Server Express auf dem dritten Server installieren und die Kommunikation per TCP aktivieren
5. drei Citrix Datenbanken erstellen (Wiederherstellungsmodell: Vollständig)
6. Backup der drei Citrix DBs erstellen und auf zweiten (Mirror) kopieren.
7. kopierten DBs wiederherstellen (Wiederherstellungsstatus: RESTORE WITH NORECOVERY)
8. Mirroring Wizard für die drei Citrix DBs ausführen
Installation der SQL 2016 / 2017 Datenbanken
Die Installation einer SQL-Datenbank ist ziemlich einfach. Hier befinden Sie nur die Screenshot, die von Bedeutung sind. Die Installation der beiden Versionen 2016/2017 ist absolut identisch.
1. Installation starten
2. Wenn der Server über einen Internetzugang verfügt, dann können die Option „Mit Microsoft Update nach Updates suchen“ aktivieren lassen.
3. Weiter, falls der Tests erfolgreich war.
4. Database Engine Services und SQL Server Replication, sowie weitere Features nach Bedarf auswählen. Da es sich um einen Test-Server handelt, wird hier ein Standard-Speicherort ausgewählt. SQL Management Studio ist nicht mehr Bestandteil des Installationspaketes und muss zuerst heruntergeladen werden.
5. Ein Instanz-Name eingeben und weiter.
6. Für SQL Server Agentund SQL Server Database Engine den Service-Name auswählen und das Passwort eingeben.
7. Ich verwende in meinem Fall eine für SCCM empföhle Kollation: SQL_Latin1_General_CP1_CI_AS. Die empfohlene Citrix-Kollation Latin1_General_100_CI_AS_KS wird sich bei der DB-Erstellung konfiguriert.
8. Administrativen Gruppen hinzufügen und nach Bedarf den Authentifizierungsmodus anpassen. Der Authentifizierungsmodus lässt sich auch nachhinein konfigurieren.
9. Installation starten und den Speicherort der Konfigurationsdatei merken, diese Datei wird für die Installation des zweiten SQL-Servers benötigt.
10. Die Installation auf den ersten SQL-Server wurde erfolgreich abgeschlossen.
SQL Server Management Studio
Die SQL Server Management Studio kann unter folgendem Link heruntergeladen werden. Führen danach die Installation aus.
Herunterladen von SQL Server Management Studio 17.3
Citrix Datenbanken erstellen
Um die weiteren Konfigurationsschritte zu vereinfachen, werden alle SQL-Server (Instanzen) in SQL Management Konsole angebunden.
01. Erstellen Sie eine Citrix Datenbank:
02. Neue Citrix DB erstellen
03. Wählen Sie von Citrix empfohlene Collation: Latin1_General_100_CI_AS_KS. Die Option READ COMMITTED Snapshot sorgt für eine optimale Performance und wird ebenso von Citrix empfohlen. Quelle: CTX137161
04. Wiederholen Sie die Schritte 1-3 auch für zwei weiteren Citrix-Datenbanken.
05. Erstellen Sie eine Datenbanksicherung. Die Datenbank auswählen > Rechtsklick auf die DB > Tasks > Sichern
06. Auf der Registerkarte Allgemein den Sicherungstyp Vollständig auswählen.
07. Die Schritte 5-6 wiederhohlen. Transaktionsprotokoll sichern
08. Kopieren Sie die gespeicherten Backup-Dateien von einem Prinzipal auf der Mirror Server.
From: C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup
To: \\SQL-M02\C$\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup
10. Stellen Sie die gesicherten DBs wieder her. Rechtsklick auf den Datenbank-Ordner > Datenbank wiederherstellen.
11. Markiertes Symbol anklicken:
12. Hinzugügen
13. Die gesicherte Datenbank auswählen
14. OK
15. Die Registerkarte Optionen auswählen:
16. Wiederherstellungsstatus RESTORE WITH NORECOVERY auswählen.
17. Die Erfolgsmeldung mit OK schließen.
18. Wiederholen Sie die obigen Schritte für zwei weitere DBs.
Spiegelung Wizard
01. Wählen sie die Datenbank, die Sie spiegeln möchten. Rechtemauste > Tasks > Spiegeln
02. Klicken Sie auf Sicherheit konfigurieren, um den Wizard zu starten.
03. Weiter...
04. Antworten Sie mit Ja, da wir den Witness Server für das automatische Failover benötigen.
05. Weiter
06. Falls Sie in Ihrer Infrastruktur ändere Ports verwenden, die Portnummer anpassen, sonst weiter.
07. Den Spiegelserver auswählen und auf die Fläche Verbinden anklicken
08. Verbinden
09. Weiter
10. Die Verbindung mit dem Witness Server (SQL-Express) herstellen.
11. Die Service-Konten eingeben.
12. Wenn alle Einstellungen korrekt sind, Fertigstellen
13. Schließen Sie den Wizard.
14. Die Spiegelung ist soweit konfiguriert und kann gestartet werden.
15.
Anbindung der Datenbanken bei der initialen Konfiguration der Citrix Site
01. Tragen Sie die Namen der Citrix Datenbanken in die „Database name“ ein. Im Felder Location wird der Name der aktuellen Prinzipalserver eingetragen.
02.
03.
Offizielle Dokumentation
How to Backup and Restore your XenApp/XenDesktop Database - CTX135207
Supported Databases for XenApp and XenDesktop Components - CTX114501
Database Access and Permission Model for XenDesktop - CTX127998
What’s the right order to update XenDesktop 7.1 services for SQL mirroring? Lesen
Updating Database Connection Strings in XenDesktop 7.x Lesen