Konfiguration Datenbankspiegelung (Mirroring) SQL 2016 / 2017 für Citrix XenDesktop 7.x

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.

DB Mirroring Architekture

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

01 SQL 2017 Install

2. Wenn der Server über einen Internetzugang verfügt, dann können die Option „Mit Microsoft Update nach Updates suchen“ aktivieren lassen.

02 SQL 2017 Install

3. Weiter, falls der Tests erfolgreich war.

03 SQL 2017 Install

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.

04 SQL 2017 Install

5. Ein Instanz-Name eingeben und weiter.

05 SQL 2017 Install

6. Für SQL Server Agentund SQL Server Database Engine den Service-Name auswählen und das Passwort eingeben.

06 SQL 2017 Install

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.

07 SQL 2017 Install

8. Administrativen Gruppen hinzufügen und nach Bedarf den Authentifizierungsmodus anpassen. Der Authentifizierungsmodus lässt sich auch nachhinein konfigurieren.

08 SQL 2017 Install

9. Installation starten und den Speicherort der Konfigurationsdatei merken, diese Datei wird für die Installation des zweiten SQL-Servers benötigt.

09 SQL 2017 Install

10. Die Installation auf den ersten SQL-Server wurde erfolgreich abgeschlossen.

10 SQL 2017 Install

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

01 SQL 2017 Studio Install

Citrix Datenbanken erstellen

Um die weiteren Konfigurationsschritte zu vereinfachen, werden alle SQL-Server (Instanzen) in SQL Management Konsole angebunden.

SQL 2017 Studio DB anbinden

01. Erstellen Sie eine Citrix Datenbank:

01 Create CTX DB

02. Neue Citrix DB erstellen

02 Create CTX DB

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

03 Create CTX DB

04. Wiederholen Sie die Schritte 1-3 auch für zwei weiteren Citrix-Datenbanken.

 04 Create CTX DB

05. Erstellen Sie eine Datenbanksicherung. Die Datenbank auswählen > Rechtsklick auf die DB > Tasks > Sichern

05 Create CTX DB

06. Auf der Registerkarte Allgemein den Sicherungstyp Vollständig auswählen.

06 Create CTX DB

07. Die  Schritte 5-6  wiederhohlen.  Transaktionsprotokoll sichern

07 Create CTX DB

08. Kopieren Sie die gespeicherten Backup-Dateien von einem Prinzipal auf der Mirror Server.

08 Create CTX DB

From: C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup
To: \\SQL-M02\C$\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup

09 Create CTX DB

10. Stellen Sie die gesicherten DBs wieder her. Rechtsklick auf den Datenbank-Ordner > Datenbank wiederherstellen.

10 Create CTX DB

11. Markiertes Symbol anklicken:

11 Create CTX DB

12. Hinzugügen

12 Create CTX DB

13. Die gesicherte Datenbank auswählen

13 Create CTX DB

14. OK

14 Create CTX DB

15. Die Registerkarte Optionen auswählen:

15 Create CTX DB

16. Wiederherstellungsstatus RESTORE WITH NORECOVERY auswählen.

16 Create CTX DB

17. Die Erfolgsmeldung mit OK schließen.

17 Create CTX DB

18.  Wiederholen Sie die obigen Schritte für zwei weitere DBs.

18 Create CTX DB

Spiegelung Wizard

01. Wählen sie die Datenbank, die Sie spiegeln möchten. Rechtemauste > Tasks > Spiegeln

 SQL2016 Mirroring 020

02. Klicken Sie auf Sicherheit konfigurieren, um den Wizard zu starten.

SQL2016 Mirroring 021

03. Weiter...

SQL2016 Mirroring 022

04. Antworten Sie mit Ja, da wir den Witness Server für das automatische Failover benötigen.

SQL2016 Mirroring 023

05. Weiter

SQL2016 Mirroring 024

06. Falls Sie in Ihrer Infrastruktur ändere Ports verwenden, die Portnummer anpassen, sonst weiter.

SQL2016 Mirroring 025

07. Den Spiegelserver auswählen und auf die Fläche Verbinden anklicken

SQL2016 Mirroring 026

08. Verbinden

SQL2016 Mirroring 027

09. Weiter

SQL2016 Mirroring 028

10. Die Verbindung mit dem Witness Server (SQL-Express) herstellen.

SQL2016 Mirroring 029

11. Die Service-Konten eingeben.

SQL2016 Mirroring 030

12. Wenn alle Einstellungen korrekt sind, Fertigstellen

SQL2016 Mirroring 031

13. Schließen Sie den Wizard.

SQL2016 Mirroring 032

14. Die Spiegelung ist soweit konfiguriert und kann gestartet werden.

SQL2016 Mirroring 033

15.

SQL2016 Mirroring 034

 

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.

SQL2016 Mirroring 036

02.

SQL2016 Mirroring 037

03.

SQL2016 Mirroring 038

 

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

 

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.