Führende Hosts und Clusterverwaltung (Windows Server AppFabric-Cache)
Ein Windows Server AppFabric-Cachecluster ist eine dynamische Gruppe von Servern, die zusammenarbeiten, um einen vereinheitlichten logischen Cache für die Daten Ihrer Anwendung bereitzustellen. Damit dies geschieht, ist Mehraufwand erforderlich, um die Clustervorgänge zwischen den Cachehosts zu orchestrieren. Die Clusterverwaltungsrolle ist für die Verwaltung der Cachehosts und letztlich auch des Cacheclusters verantwortlich.
Abhängig von der Art der Bereitstellung des verteilten Cachesystems bestehen zwei Optionen, durch wen die Clusterverwaltungsrolle ausgeführt wird. Wenn Sie Ihre Clusterkonfigurationseinstellungen in einer SQL Server-Datenbank speichern, kann diese SQL Server-Instanz ebenfalls zum Ausführen der Clusterverwaltungsrolle verwendet werden.
Wenn Sie die Clusterkonfigurationseinstellungen in einem freigegebenen Netzwerkordner speichern, wird die Clusterverwaltungsrolle immer durch besondere Cachehosts ausgeführt, die als führende Hosts bezeichnet werden. Führende Hosts führen die gleichen Aufgaben wie andere Cachehosts aus, die nicht als führende Hosts reserviert sind. Sie sind jedoch zusätzlich dafür verantwortlich, mit den anderen führenden Hosts zusammenzuarbeiten, um die Clusterverwaltungsrolle auszuführen.
Die folgende Tabelle zeigt die Beziehung zwischen Ihrer Auswahl zum Installationszeitpunkt und den Optionen für die Clusterverwaltung. Weitere Informationen zur Auswahl der für Ihre Situation geeigneten Konfigurationsoptionen finden Sie unter Speicheroptionen für die Clusterkonfiguration (Windows Server AppFabric-Cache).
Speichertyp der Clusterkonfiguration | Speicherort der Clusterkonfiguration | Clusterverwaltung |
---|---|---|
XML-Datei |
Freigegebener Netzwerkordner |
Führende Hosts |
SQL Server-Datenbank |
SQL Server |
SQL Server (Standardeinstellung) oder führende Hosts |
Benutzerdefinierter Anbieter |
Benutzerdefinierter Speicher |
Benutzerdefinierter Speicher |
Aufgaben der Clusterverwaltungsrolle
Zwei Konfigurationshaupteinstellungen bestimmen, wie der Cluster hinsichtlich der Clusterverwaltung funktioniert:
leadHostManagement
: Diese Einstellung auf Clusterebene legt fest, von wem die Clusterverwaltungsrolle ausgeführt wird. Wenn der Wert True ist, üben führende Hosts die Clusterverwaltungsrolle aus. Wenn Sie Ihre Clusterkonfigurationseinstellungen in einem freigegebenen Netzwerkordner gespeichert haben, ist True der einzig gültige Wert für diese Einstellung. Der Wert False gibt an, dass SQL Server oder ein benutzerdefinierter Anbieter die Clusterverwaltungsrolle ausführt. Wenn SQL Server oder ein benutzerdefinierter Anbieter zum Speichern der Clusterkonfigurationseinstellungen verwendet wird, können Sie diese Einstellung auf True festlegen und führende Hosts die Clusterverwaltungsrolle ausführen lassen.leadHost
: Diese Einstellung auf Cachehostebene legt fest, welche Cachehosts führende Hosts sind, wenn führende Hosts die Clusterverwaltungsrolle ausführen. Selbst wenn SQL Server die Clusterverwaltungsrolle ausführt, legt das Installationsprogramm führende Hosts für den Fall fest, dass Sie die EinstellungleadHostManagement
zu einem späteren Zeitpunkt ändern.
Weitere Informationen zum Ändern dieser Einstellungen finden Sie unter Festlegen von Clusterverwaltungsrolle und führenden Hosts (Windows Server AppFabric-Cache)
Mit diesen zwei Eigenschaften ergeben sich vier Möglichkeiten für das Verhalten des Cachehosts. Eine Beschreibung dieser Möglichkeiten finden Sie in der folgenden Tabelle.
leadHostManagement Einstellungen auf Clusterebene |
Cachehosteinstellung leadHost |
Beschreibung der Einstellungskombination | Cachehostverantwortlichkeiten |
---|---|---|---|
|
|
SQL Server oder ein benutzerdefinierter Anbieter führt die Clusterverwaltungsrolle aus. Dies ist kein führender Host. |
Nur normale Cachehostvorgänge. |
|
|
SQL Server führt die Clusterverwaltungsrolle aus. Dies ist ein führender Host, wenn Sie die Einstellung |
Nur normale Cachehostvorgänge. |
|
|
Führende Hosts führen die Clusterverwaltungsrolle aus, dies ist jedoch kein führender Host. |
Nur normale Cachehostvorgänge. |
|
|
Führende Hosts führen die Clusterverwaltungsrolle aus. Dies ist ein führender Host. |
Normale Cachehostvorgänge sowie Zusammenarbeit mit anderen führenden Hosts, um den Cluster zu verwalten. |
Führende Hosts führen die Clusterverwaltungsrolle aus
Wenn die Einstellungen leadHostManagement
und leadHost
den Wert true
besitzen, wird der Cachehost heraufgestuft, übernimmt größere Verantwortung im Cluster und wird als führender Host festgelegt. Der führende Host arbeitet zusätzlich zu den Zwischenspeicherungsaufgaben von Daten normaler Hosts mit anderen führenden Hosts zusammen, um die Clustervorgänge zu verwalten.
Fehler eines führenden Hosts
Damit der Cachecluster verfügbar bleibt, muss die Mehrheit der führenden Hosts verfügbar bleiben. Dies stellt in kleinen Clustern ein höheres Risiko als in großen Clustern dar, weil weniger Serverfehler erforderlich sind, um den Cluster herunterzufahren.
Hinweis
Wenn führende Hosts die Clusterverwaltungsrolle ausführen und die Mehrheit der führenden Hosts ausfällt, wird der gesamte Cachecluster heruntergefahren.
Die folgende Abbildung zeigt einen aus sechs Servern bestehenden Cachecluster. In diesem Beispiel üben führende Hosts die Clusterverwaltungsrolle aus, und zwei Cachehosts wurden als führende Hosts festgelegt.
Wenn einer der normalen Cachehosts im Cluster ausfällt, wird der Cluster weiterhin ausgeführt. Die Daten der nicht führenden Hosts gehen in diesem Fall verloren (wenn hohe Verfügbarkeit nicht aktiviert wurde), der restliche Cluster setzt die Ausführung jedoch fort und speichert Daten. Der Cluster würde sogar dann noch funktionieren, wenn alle vier Cachehosts ausfallen, die keine führenden Hosts sind.
Wenn nur einer der führenden Hosts ausfällt, wird der gesamte Cachecluster heruntergefahren, weil keine Mehrheit von führenden Hosts mehr ausgeführt wird. Wenn Sie dieses Risiko verringern möchten, besteht die Option, weitere führende Hosts festzulegen.
Hinweis
Der Befehl Stop-CacheHost
beendet einen Cachehost-Windows-Dienst nicht, wenn dieser die Clusterverwaltungsrolle ausführt. Der Beendigungsbefehl fährt den gesamten Cluster herunter.
Festlegen zusätzlicher führender Hosts
Der AppFabric-Konfigurations-Assistent verwendet die Dropdownliste Cluster Size
, um die geeignete Anzahl von führenden Hosts zu ermitteln, die im Cluster vorhanden sein sollten. Sie können auch nach der Installation weitere führende Hosts festlegen. Bedenken Sie jedoch unbedingt, dass die Zuweisung einer zu großen Anzahl führender Hosts ebenfalls ein Problem darstellen kann:
Es muss immer eine Mehrheit führender Hosts verfügbar sein, damit der Cachecluster weiterhin ausgeführt wird. Je mehr Hosts als führende Hosts festgelegt werden, desto weniger Serverfehler kann der Cluster ausgleichen, um betriebsfähig zu bleiben.
In kleinen Clustern, in denen ein oder zwei Ausfälle führender Hosts zu einem Clusterausfall führen, wird empfohlen, weitere führende Hosts festzulegen.
In großen Clustern sollten fünf bis sieben führende Hosts ausreichen, um sicherzustellen, dass ein Cluster mit 50 Cacheservern funktionsfähig bleibt.
Weitere Informationen zum Ändern der Zuweisungen führender Hosts finden Sie unter Festlegen von Clusterverwaltungsrolle und führenden Hosts (Windows Server AppFabric-Cache)
SQL Server führt die Clusterverwaltungsrolle aus
Wenn die Einstellung leadHostManagement
des Clusters den Wert false
aufweist, führt jeder Host unabhängig von der Einstellung leadHost
nur seine normalen Aufgaben eines nicht führenden Hosts zur Zwischenspeicherung von Daten aus. Unter diesen Umständen wird die Instanz von SQL Server, die zum Speichern der Clusterkonfigurationseinstellungen verwendet wird, auch zum Ausführen der Clusterverwaltungsrolle verwendet.
Auftreten eines Serverfehlers
Damit der Cluster verfügbar bleibt, wenn SQL Server die Clusterverwaltungsrolle ausführt, muss mindestens ein Cachehost in der Lage sein, auf die SQL Server-Datenbank zuzugreifen.
Die folgende Abbildung zeigt einen aus sechs Servern bestehenden Cachecluster.
In diesem Beispiel führt SQL Server die Clusterverwaltungsrolle aus, und alle sechs Cachehosts können ihre Ressourcen für den Datenzugriff für die Cacheclients reservieren.
Wenn einer der Cachehosts im Cluster ausfällt, gehen die Daten auf diesen Servern verloren (wenn hohe Verfügbarkeit nicht aktiviert wurde), der Cluster wird jedoch weiterhin ausgeführt. Die Daten auf den anderen Cachehosts sind auch weiterhin für die Cacheclients verfügbar. Unter diesen Umständen bleibt der Cluster sogar funktionsfähig, wenn fünf der sechs Cachehosts ausfallen.
Wenn SQL Server ausfällt, wird der gesamte Cluster innerhalb weniger Minuten heruntergefahren. Damit dieses Risiko verringert wird, wird dringend die Verwendung der Microsoft Windows Server 2008 Failover-Clusterunterstützung (https://go.microsoft.com/fwlink/?LinkId=130692) zum Hosten einer „geclusterten“ Datenbankressource als Speicherort der Cacheclusterkonfiguration und für die Clusterverwaltungsrolle empfohlen.
Siehe auch
Konzepte
Diagramm der physischen Windows Server AppFabric-Cachearchitektur
Diagramm der logischen Windows Server AppFabric-Cachearchitektur
Clusterkonfigurationseinstellungen (Windows Server AppFabric-Cache)
Festlegen von Clusterverwaltungsrolle und führenden Hosts (Windows Server AppFabric-Cache)
2011-12-05