Freigeben über


SQL Server-basierte Clusterkonfiguration (Windows Server AppFabric-Cache)

Windows Server AppFabric bietet die Option, eine SQL Server-Datenbank zum Speichern der Clusterkonfigurationseinstellungen zu verwenden. Der AppFabric-Konfigurations-Assistent bereitet die Zieldatenbank automatisch für das Verwalten der Clusterkonfiguration vor. AppFabric verwendet diese Datenbank anschließend als primären Bezugspunkt für die Definition des Cacheclusters, von Cachehosts und benannten Cachespeichern. Alle Cacheserver im Cluster müssen in der Lage sein, auf die Clusterkonfigurationsdatenbank zuzugreifen.

Weitere Informationen zum Vorbereiten einer SQL Server-Datenbank als Speicherort für die Clusterkonfiguration finden Sie im Windows Server AppFabric-Installationshandbuch (https://go.microsoft.com/fwlink/?LinkId=169172).

Während der Konfiguration des AppFabric-Cachefeatures besteht die Option, eine vorhandene SQL Server-Datenbank anzugeben oder den Assistenten eine neue Datenbank auf dem angegebenen SQL-Server erstellen zu lassen. Alle Cacheserver im Cluster müssen in der Lage sein, auf die Clusterkonfigurationsdatenbank zuzugreifen.

Tipp

Standardmäßig wird der AppFabric-Cachedienst nicht automatisch gestartet. Stattdessen müssen Sie den Dienst mit dem Befehl Start-CacheCluster von einer Windows Powershell-Administratoreingabeaufforderung starten. Wenn jedoch SQL Server für den Konfigurationsspeicher verwendet wird, können Sie den Dienst auf jedem Cachehost so ändern, dass er automatisch startet. Dies kann erfolgen, indem die Einstellungen des „AppFabric-Cachediensts“ im Verwaltungstool „Dienste“ auf jedem Cacheserver so geändert werden, dass die Startart in „automatisch“ geändert wird.

Verfügbarkeitsaspekte

Der Speicherort für die Clusterkonfiguration kann eine einzelne Fehlerquelle für Ihr verteiltes Cachesystem darstellen. Aus diesem Grund wird empfohlen, Schritte zum Erhöhen der Verfügbarkeit der SQL Server-Datenbank, in der die Clusterkonfigurationseinstellungen gespeichert sind, auszuführen. Eine Option besteht im Verwenden von Microsoft Windows Server 2008-Failoverclustern (https://go.microsoft.com/fwlink/?LinkId=130692) zum Hosten einer „geclusterten“ Datenbankressource für den Speicherort der Cacheclusterkonfiguration.

Eine andere Option besteht im Verwenden von SQL Server-Datenbankspiegelung. Weitere Informationen (möglicherweise in englischer Sprache) finden Sie unter Verwenden von Datenbankspiegelung (https://go.microsoft.com/fwlink/?LinkId=190691). Beachten Sie, dass zum Verwenden von Datenbankspiegelung drei Voraussetzungen erfüllt sein müssen:

  • Fügen Sie der Verbindungszeichenfolge die Eigenschaft Failover Partner hinzu.

  • Fügen Sie das Computerkonto für jeden Cachehost als SQL Server-Anmeldung auf dem Partnerserver hinzu. Wenn der Computername z. B. CacheServer1 in der Domain1-Domäne ist, ist das Computerkonto Domain1\CacheServer1$. Dies erfolgt für den primären SQL Server automatisch, es muss für den Failoverpartnerserver jedoch manuell ausgeführt werden.

  • Fügen Sie das Computerkonto für jeden Cachehost in der gespiegelten Konfigurationsdatenbank auf dem Partnerserver als Benutzer hinzu. Dieser Benutzer sollte über die Berechtigungen db_datareader und db_datawriter verfügen.

Wenn der Cachecluster bereits konfiguriert ist, können Sie die Verbindungszeichenfolge manuell mithilfe von Windows PowerShell-Befehlen ändern. Verwenden Sie die folgenden Schritte auf jedem Cachehostcomputer:

  1. Öffnen Sie ein Windows PowerShell-Befehlsfenster, und führen Sie den Befehl Use-CacheCluster aus.

  2. Führen Sie die Befehle Remove-CacheHost und Remove-CacheAdmin aus.

  3. Führen Sie den Befehl Add-CacheHost aus, und geben Sie dabei mit der Eigenschaft Failover Partner die neue Verbindungszeichenfolge an. Beispiel:

    Add-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"  -Account "NT Authority\Network Service"
    
  4. Führen Sie den Befehl Add-CacheAdmin aus, und geben Sie dabei mit der Eigenschaft Failover Partner die neue Verbindungszeichenfolge an. Beispiele:

    Add-CacheAdmin -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"
    

Tipp

Sie können das Skript ChangeConnString.ps1 zum Automatisieren der Änderungen an den Verbindungszeichenfolgen für alle Cachehosts herunterladen. Weitere Informationen finden Sie unter ChangeConnString.ps1-Download.

Hinweis

Der Cacheclusteradministrator muss in der Konfigurationsspeicherdatenbank des Cacheclusters über db_owner-Berechtigungen verfügen, um nach einem Failover die Cachebefehle in Windows PowerShell ausführen zu können.

Berechtigungen

Alle Cachehosts müssen über Anmeldeberechtigungen beim Datenbankserver, auf dem die Clusterkonfigurationsdatenbank gehostet ist, verfügen. Ferner müssen für die Clusterkonfigurationsdatenbank die Sicherheitseinstellungen konfiguriert sein, damit jeder Cacheserver eine SQL Server-Anmeldung und die Berechtigungen db_datareader, db_datawriter und EXECUTE für die Datenbank aufweist.

Hinweis

Das Installationsprogramm versucht, diese Berechtigungen automatisch zu konfigurieren. Beachten Sie, dass die Sicherheitsidentität des die Installation ausführenden Benutzers die Berechtigung db_owner für die SQL Server-Datenbank und eine SQL Server-Anmeldung für die Instanz von SQL Server besitzen muss.

Wenn Sie eine Windows-Sicherheitsgruppe für die Verwaltung des Zugriffs auf die Cachekonfigurationsdatenbank verwenden, müssen Sie die SQL Server-Anmeldung und die Datenbankberechtigungen nur einmal einrichten. Beispielsweise können Sie eine Windows-Sicherheitsgruppe mit dem Namen ClusterACacheServers einrichten, um die Cacheserver anzugeben, die über Berechtigungen zur Teilnahme am Cachecluster ClusterA verfügen.

Nachdem Sie die Sicherheitsgruppe ClusterACacheServers erstellt haben, machen Sie die Domänencomputerkonten der in Frage kommenden Cacheserver zu Mitgliedern dieser Gruppe (z. B. domain\computername$). Erteilen Sie anschließend der ClusterACacheServers-Sicherheitsgruppe eine SQL Server-Anmeldung und die Berechtigungen db_datawriter, db_datareader und EXECUTE für die Datenbank. Nachdem Sie diese Einstellungen vorgenommen haben, müssen Sie der Sicherheitsgruppe für jeden neuen Server, den Sie dem Cachecluster hinzufügen, nur noch das Domänencomputerkonto des neuen Servers hinzufügen.

Datenbankstruktur

Beim ersten Konfigurieren des AppFabric-Cachefeatures mit der SQL Server-basierten Konfigurationsoption erstellt das Konfigurationstool viele Tabellen in der angegebenen Datenbank. Ferner werden einige gespeicherte Prozeduren für interne Vorgänge im Cluster hinzugefügt.

Hinweis

Die Daten in der Clusterkonfigurationsdatenbank sind nicht für die manuelle Bearbeitung vorgesehen. Zur Unterstützung eines kontinuierlichen Betriebs des Clusters sollten nur die Cachehosts und das Installationsprogramm in die Datenbank schreiben.

Datenbanksicherheit

Die Verwendung von Kennwörtern in Verbindungszeichenfolgen stellt ein Sicherheitsrisiko dar und sollte nach Möglichkeit vermieden werden. Verbindungszeichenfolgen werden im Klartext in der Cachehost-Konfigurationsdatei DistributedCacheService.exe.config auf jedem der Cacheserver gespeichert. Verwenden Sie zum Minimieren dieser Risiken integrierte Sicherheit, um eine vertrauenswürdige Verbindung zu SQL Server herzustellen. Bei diesem Vorgehen braucht kein Kennwort in der Verbindungszeichenfolge gespeichert zu werden. Wenn keine integrierte Sicherheit verfügbar ist, ist ein unverschlüsseltes Kennwort in der Verbindungszeichenfolge erforderlich. Das beste Vorgehen zum Unterstützen der Sicherheit Ihrer Verbindungszeichenfolge ist wie folgt, mit zunehmendem Risiko der späteren Optionen:

  1. Verwenden von integrierter Sicherheit.

  2. Sichern von Verbindungszeichenfolgen mit Kennwörtern und Minimieren der Übergabe von Verbindungszeichenfolgen.

  3. Minimieren von Lebensdauer und Berührungspunkten für alle Verbindungszeichenfolgen.

Datenbankverbindungen

Achten Sie bei der Verwendung einer SQL Server 2005-Datenbank oder einer höheren Version zum Speichern von Clusterkonfigurationseinstellungen darauf, dass der Server für eine ausreichende Anzahl gleichzeitiger Verbindungen konfiguriert ist, um alle Cachehosts im Cluster berücksichtigen zu können. Eine höhere Anzahl Cachehosts im Cluster als die Anzahl der verfügbaren gleichzeitigen Verbindungen wird nicht unterstützt.

Der Server kann so konfiguriert werden, dass es keine Beschränkungen im Hinblick auf die Anzahl paralleler Verbindungen gibt, aber der Datenbankadministrator kann diese Einstellung aus administrativen oder anderen Gründen auch sehr niedrig halten. Stellen Sie in derartigen Fällen sicher, dass der Server zusätzliche Verbindungen unterstützen kann, bevor Sie dem Cachecluster Cachehosts hinzufügen.

Siehe auch

Konzepte

Clusterkonfiguration basierend auf einem freigegebenen Ordner (Windows Server AppFabric-Cache)
Clusterkonfigurationseinstellungen (Windows Server AppFabric-Cache)
Clientkonfigurationsoptionen (Windows Server AppFabric-Cache)
Konfigurieren des Cacheclusters (Windows Server AppFabric-Cache)
Entwickeln eines Cacheclients (Windows Server AppFabric-Cache)

  2011-12-05