Product Documentation

Verbindungsleasing

Jul 08, 2016

Um sicherzustellen, dass die Sitedatenbank immer verfügbar ist, empfiehlt Citrix, unter Befolgung der bewährten Methoden zur hohen Verfügbarkeit von Microsoft mit einer fehlertoleranten SQL Server-Bereitstellung zu beginnen. Delivery Controller können jedoch aufgrund von Netzwerkproblemen und Unterbrechungen möglicherweise nicht auf die Datenbank zugreifen, was dazu führt, dass Benutzer keine Verbindung mit ihren Anwendungen oder Desktops herstellen können.

Das Feature für Verbindungsleasing ergänzt die bewährten Methoden zur hohen Verfügbarkeit bei SQL Server, da es Benutzern die Wiederverbindung mit den zuletzt verwendeten Anwendungen und Desktops ermöglicht, selbst wenn die Sitedatenbank nicht verfügbar ist.

Benutzer verfügen zwar über eine große Anzahl veröffentlichter Ressourcen, verwenden jedoch oft nur wenige davon regelmäßig. Wenn Sie das Verbindungsleasing aktivieren, werden die Benutzerverbindungen mit den zuletzt verwendeten Anwendungen und Desktops im Normalbetrieb (wenn die Datenbank verfügbar ist) von jedem Controller zwischengespeichert.

Die auf jedem Controller generierten Leases werden in die Sitedatenbank für eine regelmäßige Synchronisierung mit den anderen Controllern der Site hochgeladen. Neben den Leases werden in jedem Controllercache Informationen zu Anwendung, Desktop, Symbol und Worker gespeichert. Lease und zugehörige Informationen werden auf dem lokalen Datenträger eines jeden Controllers gespeichert. Wenn die Datenbank nicht mehr verfügbar ist, wechselt der Controller in den Leasingverbindungsmodus und beim Versuch der Herstellung oder des Neuaufbaus einer Verbindung mit einer kürzlich verwendeten Anwendung oder einem kürzlich verwendeten Desktop von StoreFront aus werden die zwischengespeicherten Vorgänge "abgespielt".

Die Verbindungen werden für eine Leasedauer von zwei Wochen zwischengespeichert. Wenn die Datenbank nicht verfügbar ist, besteht daher über StoreFront Zugriff auf die Desktops und Anwendungen, die in den vorherigen zwei Wochen gestartet wurden. Auf Desktops und Anwendungen, die nicht während der zweiwöchigen Leasedauer gestartet wurden, kann jedoch nicht zugegriffen werden, wenn die Datenbank nicht verfügbar ist. Wenn eine Anwendung z. B. vor drei Wochen gestartet wurde, ist ihre Lease abgelaufen und sie kann bei Nichtverfügbarkeit der Datenbank nicht gestartet werden. Leases für langwährende aktive oder getrennte Anwendungen oder Desktopsitzungen werden verlängert und somit nicht als abgelaufen behandelt.

Standardmäßig gilt das Verbindungsleasing für die komplette Site. Sie können jedoch alle Leases für bestimmte Benutzer widerrufen, wodurch verhindert wird, dass diese auf Anwendungen oder Desktops zugreifen können, wenn der Controller im Leasingverbindungsmodus ausgeführt wird. Mehrere weitere Registrierungseinstellungen gelten pro Controller.

Überlegungen und Einschränkungen

Das Verbindungsleasing kann zwar die Verbindungsresilienz und die Produktivität der Benutzer verbessern, es sind jedoch Überlegungen im Hinblick auf Verfügbarkeit, Betrieb und Leistung anderer Funktionen anzustellen.

Das Verbindungsleasing wird für servergehostete Anwendungen und Desktops und statische (zugewiesene) Desktops unterstützt. Es wird nicht unterstützt für gepoolte VDI-Desktops oder Benutzer, denen kein Desktop zugewiesen wurde, wenn die Datenbank betriebsunfähig wird.

Wenn der Controller im Leasingverbindungsmodus ist, gilt Folgendes:
  • Administratoren können Studio, Director und die PowerShell-Konsole nicht verwenden.
  • Workspace Control ist nicht verfügbar. Wenn sich ein Benutzer bei Citrix Receiver anmeldet, werden Sitzungen nicht automatisch wieder verbunden. Der Benutzer muss die Anwendung neu starten.
  • Wenn eine neue Lease unmittelbar vor dem Nichtverfügbarwerden der Datenbank erstellt wurde, die Leaseinformationen jedoch noch nicht auf allen Controllern synchronisiert wurden, können Benutzer möglicherweise eine betroffene Ressource nicht starten.
  • Benutzer servergehosteter Anwendungen und Desktops können möglicherweise mehr Sitzungen verwenden als das für sie konfigurierte Sitzungslimit zulässt. Beispiel:
    • Ein Benutzer stellt eine Verbindung von einem Gerät (extern über NetScaler Gateway) her, während der Controller im normalen Verbindungsmodus ist. Später stellt der Benutzer von einem anderen Gerät im LAN eine Verbindung her, während Controller im Leasingverbindungsmodus ist. In diesem Fall findet möglicherweise kein Roaming der Sitzung statt.
    • Die Wiederverbindung einer Sitzung kann fehlschlagen, wenn eine Anwendung startet, kurz bevor die Datenbank betriebsunfähig wird. In diesem Fall werden eine neue Sitzung und Anwendungsinstanz gestartet.
  • Bei statischen (zugewiesenen) Desktops findet keine Energieverwaltung statt. VDAs, die beim Umschalten des Controllers in den Leasingverbindungsmodus ausgeschaltet werden, stehen erst wieder zur Verfügung, wenn die Datenbankverbindung wiederhergestellt ist, es sei denn, der Administrator schaltet sie manuell ein.
  • Sind Sitzungsvorabstart und Sitzungsfortbestehen aktiviert, werden neue Vorabstartsitzungen nicht gestartet. Vorab gestartete und fortbestehende Sitzungen werden während der Nichtverfügbarkeit der Datenbank nicht entsprechend den konfigurierten Schwellenwerten beendet.
  • Die Lastverwaltung der Site kann beeinträchtigt werden. Serverbasierte Verbindungen werden an den zuletzt verwendeten VDA geleitet. Lastauswertungsprogramme (und insbesondere Sitzungszahlregeln) werden möglicherweise überschritten.
  • Der Controller wechselt nicht in den Leasingverbindungsmodus, wenn Sie die Datenbank mit SQL Server Management Studio offline nehmen. Verwenden Sie stattdessen eine der folgenden Transact-SQL-Anweisungen:
    • ALTER DATABASE <Datenbankname> SET OFFLINE WITH ROLLBACK IMMEDIATE
    • ALTER DATABASE <Datenbankname> SET OFFLINE WITH ROLLBACK AFTER <Sekunden>

    Beide Anweisungen beenden ausstehende Transaktionen und trennen die Verbindung des Controllers mit der Datenbank. Der Controller wechselt dann in den Leasingverbindungsmodus.

Beim Verbindungsleasing gibt es zwei kurze Intervalle, während derer Benutzer keine Verbindung (wieder)herstellen können: (1) zwischen dem Zeitpunkt, zu dem die Datenbank betriebsunfähig wird bis zum Umschalten des Controllers in den Leasingverbindungsmodus und (2) vom Zeitpunkt des Umschaltens des Controllers vom Leasingverbindungsmodus bis der Datenbankzugriff vollständig wiederhergestellt ist und die VDAs erneut registriert sind.

Wenn Sie einen nicht standardmäßigen Wert für das Sitzungsroaming festlegen und ein Controller auf eine geleaste Verbindung schaltet, tritt bei Sitzungswiederverbindung wieder der Standardwert in Kraft. Weitere Informationen finden Sie unter Verbindungsleasing und Sitzungsroaming.

Informationen zum Speicherort der Verbindungsleasingdaten finden Sie in dem Artikel Zonen.

Weitere Überlegungen finden Sie unter XenDesktop 7.6 Connection Leasing Design Considerations.

Konfigurieren und Bereitstellen

Beim Konfigurieren der Bereitstellung zum Ermöglichen des Verbindungsleasings ist Folgendes zu beachten:
  • VDAs müssen mindestens in Version 7.6 und die Maschinenkataloge und Bereitstellungsgruppen, die diese Maschinen verwenden, müssen in der entsprechenden Mindestversion vorliegen.
  • Die Speicherplatzanforderungen der Sitedatenbank sind größer.
  • Jeder Controller erfordert zusätzlichen Speicherplatz für die zwischengespeicherten Leasedateien.

Das Verbindungsleasing ist standardmäßig aktiviert.

Sie können das Verbindungsleasing im PowerShell-SDK oder in der Windows-Registrierung deaktivieren und aktivieren. Im PowerShell-SDK können Sie auch aktuelle Leases entfernen. Die folgenden PowerShell-Cmdlets wirken sich auf das Verbindungsleasing aus. Informationen hierzu finden Sie in der Cmdlet-Hilfe.
  • Set-BrokerSite -ConnectionLeasingEnabled $true|$false: Aktiviert bzw. deaktiviert das Verbindungsleasing. Standard = $true
  • Get-BrokerServiceAddedCapability: Gibt "ConnectionLeasing" für den lokalen Controller aus.
  • Get-BrokerLease: Ruft alle Leases oder einen gefilterten Satz aktueller Leases auf.
  • Remove-BrokerLease: Markiert alle Leases oder einen gefilterten Satz Leases zum Löschen.
  • Update-BrokerLocalLeaseCache: aktualisiert den Cache für das Verbindungsleasing auf dem lokalen Controller. Bei der nächsten Synchronisierung werden die Daten neu synchronisiert.