Product Documentation

Datenbankfehlertoleranz

Sep 29, 2015

In diesem Abschnitt wird beschrieben, wie Sie die Fehlertoleranz in einer Bereitstellung erhöhen können, um die Verfügbarkeit essentiell wichtiger Anwendungen und Desktops zu jedem Zeitpunkt sicherzustellen.

Hinweis: Weitere Informationen zum Konfigurieren von Virtual Delivery Agent (VDA) für den Betrieb im Hochverfügbarkeitsmodus finden Sie unter Sicherstellen des Zugriffs auf Desktops und Anwendungen bei Ausfall der Delivery Controller

Konfigurieren der Datenbankfehlertoleranz

Alle Informationen werden in der Sitekonfigurationsdatenbank gespeichert; Controller kommunizieren nur mit der Datenbank und nicht untereinander. Ein Controller kann entfernt oder ausgeschaltet werden, ohne dass dies Auswirkungen auf die anderen Controller in der Site hat. Dies bedeutet jedoch, dass die Sitekonfigurationsdatenbank eine einzelne Fehlerquelle darstellt. Wenn der Datenbankserver ausfällt, funktionieren die bestehenden Verbindungen zu virtuellen Desktops weiter, bis der Benutzer sich entweder abmeldet oder die Verbindung mit dem virtuellen Desktop trennt. Wenn der Datenbankserver nicht erreichbar ist, können keine neuen Verbindungen hergestellt werden.

Citrix empfiehlt, dass Sie regelmäßig ein Backup der Datenbank durchführen, damit diese in dem Fall, dass der Datenbankserver ausfällt, von dem Backup wiederhergestellt werden kann. Außerdem gibt es einige Hochverfügbarkeitslösungen, die Sie berücksichtigen sollten, um automatisches Failover zu gewährleisten:

  • SQL-Spiegelung: Dies ist die empfohlene Lösung. Das Spiegeln der Datenbank stellt sicher, dass der automatische Failoverprozess in nur wenigen Sekunden stattfindet, falls der aktive Datenbankserver ausfällt. Benutzer werden in der Regel also nicht beeinträchtigt. Diese Methode ist jedoch teurer als andere Lösungen, da vollständigen SQL-Serverlizenzen auf jedem Datenbankserver erforderlich sind. In gespiegelten Umgebungen kann SQL Server Express nicht verwendet werden.
  • Verwenden der Hochverfügbarkeitsfeatures des Hypervisors: Bei dieser Methode wird die Datenbank als virtuelle Maschine bereitgestellt und die Hochverfügbarkeitsfeatures des Hypervisors werden verwendet. Diese Lösung ist billiger als das Spiegeln, da sie die bestehende Hostsoftware verwendet und Sie zudem SQL Express verwenden können. Der automatische Failoverprozess ist jedoch langsamer, da eine neue Maschine u. U. eine Weile braucht, bis sie gestartet wird, und dadurch auch die Datenbank. Möglicherweise wird also der Dienst für Benutzer unterbrochen.
  • SQL-Clustering: Mit dieser Technologie von Microsoft können Sie einem Server automatisch erlauben, die Tasks und Verantwortlichkeiten eines anderen, fehlgeschlagenen Servers zu übernehmen. Es ist jedoch etwas komplizierter, diese Lösung einzurichten. Zudem ist der automatische Failoverprozess in der Regel langsamer als mit anderen Lösungen, wie z. B. SQL-Spiegelung.
  • "AlwaysOn"-Verfügbarkeitsgruppen sind eine Lösung für Hochverfügbarkeit und Notfallwiederherstellung für Unternehmen, die mit SQL Server 2012 eingeführt wurde. Damit können Sie die Verfügbarkeit für eine oder mehrere Benutzerdatenbanken maximieren. AlwaysOn-Verfügbarkeitsgruppen erfordern, dass die SQL Server-Instanzen auf Windows Server Failover Clustering-Knoten (WSFC) residieren. Weitere Informationen finden Sie unter AlwaysOn Availability Groups (SQL Server).
Hinweis: Die Installation eines Controllers auf einem Knoten in einer SQL-Clustering- oder SQL-Spiegelungsinstallation wird nicht unterstützt.

Konfigurieren einer Site für die Verwendung einer gespiegelten Datenbank

Vor dem Erstellen der Citrix Site müssen zunächst vom Administrator alle Konfigurationsaufgaben mit den SQL Server-Verwaltungstools durchgeführt werden. Beim Ausführen des Assistenten zum Erstellen der Site werden dann die verbleibenden Aufgaben erledigt.

Bei einer gespiegelten Umgebung werden mindestens zwei SQL-Servermaschinen benötigt (z. B. SQL-Server A und SQL-Server B). SQL Server Express kann nicht für Prinzipal- oder Spiegeldatenbanken verwendet werden.

Verwenden Sie zum Konfigurieren der SQL-Serverdatenbanken die Microsoft SQL Server-Verwaltungstools:

  1. Installieren Sie die SQL-Serversoftware auf SQL-Server A und SQL-Server B
  2. Erstellen Sie auf SQL-Server A die Datenbank, die als Prinzipaldatenbank verwendet wird (z. B. myDatabaseMirror).

    Stellen Sie sicher, dass die Datenbank das vollständige Wiederherstellungsmodell und nicht das einfache Modell verwendet. (Das einfache Modell ist standardmäßig konfiguriert, dabei wird jedoch das Transaktionsprotokoll nicht gesichert.)

    Stellen Sie sicher, dass die Sortierreihenfolge mit _CI_AS_KS endet. (Damit werden Groß- und Kleinschreibung nicht erkannt, Akzente und japanische Schriftzeichen werden erkannt.)

    Aktivieren Sie einen Read Committed Snapshot wie unter How to Enable Read-Committed Snapshot in XenDesktop beschrieben. Es ist wichtig, diese Aktivierung vor dem Spiegeln der Datenbank durchzuführen, um Fehler zu vermeiden.

  3. Legen Sie auf SQL-Server A eine Sicherungskopie der Datenbank an und kopieren Sie sie auf SQL-Server B.
  4. Stellen Sie auf SQL-Server B die Backupdatei wieder dort (SQL-Server B) her.
  5. Beginnen Sie auf SQL-Server A mit der Spiegelung.

Der nächste Schritt hängt davon ab, ob der Citrix Administrator (der Person, die den Assistenten zum Erstellen der Site ausführt) auch über vollständige Datenbankberechtigungen verfügt:

  • Wenn der Citrix Administrator Datenbankberechtigungen hat (Datenbank- und Citrix Administrator sind ein- und dieselbe Person), wird alles über Studio abgewickelt:
    1. Der Citrix Administrator erstellt mit Studio eine Site und gibt die Adressen der zuvor erstellten SQL-Serverdatenbank A und deren Namen (myDatabaseMirrorForXD) ein.
    2. Die Datenbankskripts werden automatisch angewendet und die Prinzipal- und die Spiegeldatenbank werden festgelegt.
  • Wenn der Citrix Administrator keine Datenbankberechtigungen hat, muss der Citrix Administrator einen Datenbankadministrator hinzuziehen:
    1. Der Citrix Administrator erstellt mit Studio eine Site und gibt die Adressen der zuvor erstellten SQL-Serverdatenbank und deren Namen (myDatabaseMirrorForXD) ein.
    2. Durch Aktivieren von Skript erstellen im Assistenten für die Siteerstellung werden ein Spiegelungs- und ein Primärskript generiert. Der Citrix Administrator gibt diese Skripts an den Datenbankadministrator, der sie dann anwendet (das Spiegelungsskript sollte zuerst angewendet werden). Der Datenbankadministrator muss den Citrix Administrator informieren, wenn die Aufgabe abgeschlossen ist.
    3. Der Citrix Administrator kann jetzt in Studio den Assistenten für die Siteerstellung fortsetzen und abschließen. Die Prinzipal- und die Spiegeldatenbank sind eingerichtet.

Um die Spiegelung nach dem Erstellen der Site zu überprüfen, führen Sie das PowerShell-Cmdlet get-configdbconnection aus, damit sichergestellt ist, dass der Failoverpartner in der Verbindungszeichenfolge für die Spiegelung eingerichtet wurde.

Wenn Sie später einen Delivery Controller in einer gespiegelten Datenbankumgebung hinzufügen, verschieben oder entfernen möchten, können Sie entsprechende Anweisungen unter Hinzufügen, Entfernen oder Verschieben von Controllern anzeigen.