Share via


Upgradeverfahren für einen AppFabric-Cachecluster (AppFabric 1.1)

In diesem Thema wird beschrieben, wie Offline- und Onlineupgrades des Microsoft AppFabric 1.1 für Windows Server-Cache-Diensts auf eine höhere Version für einen vorhandenen Cachecluster ausgeführt werden. Ein Onlineupgrade umfasst das einzelne Upgrade jedes Cachehosts, während der Cachecluster weiterhin ausgeführt wird.

Wichtig

Während dieses Upgrades können Sie ein integriertes Konto (z. B. NETWORK SERVICE) nicht in ein Domänenkonto ändern. Weitere Informationen finden Sie unter Ändern des Cachedienstkontos (AppFabric 1.1-Cache).

Jeder Version von Microsoft AppFabric 1.1 für Windows Server ist eine bestimmte Versionsnummer des AppFabric-Cache-Diensts zugeordnet.

AppFabric-Version AppFabric-Cache-Dienstversion

Windows Server AppFabric v1.0

1

Microsoft AppFabric 1.1 für Windows Server

3

Offlineupgradevorgang

Ein Offlineupgrade bezieht sich auf einen Cachecluster, der heruntergefahren wurde. In diesem Zustand kann für jeden Cachehost separat ein Upgrade auf die neue Version von AppFabric ausgeführt werden. An diesem Punkt sind die erforderlichen Schritte eine Untermenge der Schritte für ein Onlineupgrade. Die folgenden Schritte sind erforderlich.

  1. Schritt 1: Aktualisieren der Cacheverwaltungsfunktion auf dem Verwaltungscomputer

  2. Schritt 5: Aktualisieren des zulässigen Serverversionsbereichs, um nur die neue Versionsnummer zu verwenden

  3. Schritt 6: Aktualisieren des zulässigen Clientversionsbereichs, um die neue Versionsnummer zu berücksichtigen

  4. Schritt 7: Aktualisieren des Cachekonfigurationsspeichers

  5. Schritt 8: Aktualisieren der Cacheclientanwendungen

Onlineupgradevorgang

Das Onlineupgrade setzt sich aus den folgenden Schritten zusammen:

  • Schritt 1: Aktualisieren der Cacheverwaltungsfunktion auf dem Verwaltungscomputer

  • Schritt 2: Aktualisieren des zulässigen Serverversionsbereichs, um die neue Versionsnummer zu berücksichtigen

  • Schritt 3: Separates Upgrade der einzelnen Cachehosts

  • Schritt 4: Bestätigen, dass für alle Cachehosts ein Upgrade ausgeführt wurde

  • Schritt 5: Aktualisieren des zulässigen Serverversionsbereichs, um nur die neue Versionsnummer zu verwenden

  • Schritt 6: Aktualisieren des zulässigen Clientversionsbereichs, um die neue Versionsnummer zu berücksichtigen

  • Schritt 7: Aktualisieren des Cachekonfigurationsspeichers

  • Schritt 8: Aktualisieren der Cacheclientanwendungen

Wichtig

Wenn Sie diese Schritte erfolgreich ausführen möchten, muss das erforderliche Quorum der Server aufrecht erhalten werden, damit der Cachecluster weiterhin ausgeführt werden kann. Dieser Vorgang wird im Thema Aktualisieren von Cacheservern beschrieben.

Schritt 1: Aktualisieren der Cacheverwaltungsfunktion auf dem Verwaltungscomputer

Wenn Sie die Updateschritte ausführen möchten, sollten Sie zuerst die Cacheverwaltungsfunktion auf einem Computer aktualisieren, der nicht Teil des Zielcacheclusters ist. Die Cacheverwaltungsfunktion ermöglicht das Ausführen von Windows PowerShell-Befehlen für einen Cachecluster. Aktualisieren Sie die Cacheverwaltungsfunktion, indem Sie das AppFabric-Setup für die neue Version von Microsoft AppFabric 1.1 für Windows Server ausführen.

Wenn Sie noch nicht über einen separaten Computer zum Verwalten des Cacheclusters verfügen, können Sie die Cacheverwaltungsfunktion der neuen Version von Microsoft AppFabric 1.1 für Windows Server auf einem Computer außerhalb des Cacheclusters installieren.

Damit die Windows PowerShell-Befehle auf einem Nur-Verwaltungscomputer ausgeführt werden können, muss zuerst der Befehl Use-CacheCluster mit den beiden Parametern Provider und ConnectionString ausgeführt werden. Dieser Vorgang wird im Thema Häufige Aufgaben der Cacheclusterverwaltung (AppFabric 1.1-Cache) beschrieben.

Schritt 2: Aktualisieren des zulässigen Serverversionsbereichs, um die neue Versionsnummer zu berücksichtigen

Während des Onlineupgrades führen einige Server die alte Version des Cachediensts aus, andere hingegen die aktualisierte Version. Damit dies berücksichtigt wird, müssen Sie den Windows PowerShell-Befehl Update-CacheHostAllowedVersions verwenden, um den Wert der Eigenschaft EndServerVersion zu vergrößern. Wenn Sie z. B. von der Version 1 zur Version 3 wechseln, verwenden Sie den folgenden Befehl.

Update-CacheHostAllowedVersions –EndServerVersion 3

Führen Sie anschließend den Befehl Get-CacheHost ohne Parameter aus, um die Versionsänderungen zu bestätigen. Die folgende Beispielausgabe zeigt diese Änderung auf einem Cachecluster mit drei Knoten.

HostName : CachePort Service Name            Service Status Version Info
-------------------- ------------            -------------- ------------
CACHESERVER1:22233 AppFabricCachingService UP             1 [1,3][1,1]
CACHESERVER2:22233 AppFabricCachingService UP             1 [1,3][1,1]
CACHESERVER3:22233 AppFabricCachingService UP             1 [1,3][1,1]

Die Spalte mit den Versionsinformationen enthält in diesem Beispiel den Wert 1 [1,3][1,1]. Dies entspricht den folgenden Versionsdetails:

1

Der Version des Cachediensts, die auf dem betreffenden Cachehost ausgeführt wird.

[1,3]

Dem Bereich der Cachedienstversionen, die auf einem bestimmten Host im Cachecluster während des Onlineupgrades ausgeführt werden können.

[1,1]

Dem Bereich der Cacheclientversionen, die den Cachecluster verwenden können.

Bevor Sie den Vorgang fortsetzen, müssen Sie sicherstellen, dass jeder Cachehost auf den zulässigen Zielserverbereich aktualisiert wurde. Wenn ein Fehler bei der Aktualisierung des Serverversionsbereichs eines Cachehosts aufgetreten ist, müssen Sie diesen herunterfahren, bevor Sie den Vorgang fortsetzen können. Zu diesem Zweck kann der Windows PowerShell-Befehl Stop-CacheNonUpdatedHosts verwendet werden. Der Befehl Get-CacheHost kann zuvor verwendet werden, um die Server zu ermitteln, die nicht aktualisiert wurden und beendet werden müssen. Das folgende Beispiel beendet alle Cachehosts, deren Versionsbereich nicht in 1 oder 3 geändert wurde und deren aktuelle Dienstversion 1 ist.

Stop-CacheNonUpdatedHosts -Version 1 -BeginServerVersion 1 –EndServerVersion 3

Schritt 3: Separates Upgrade der einzelnen Cachehosts

Beim Ausführen eines Onlineupgrades wird jeder Cachehost beendet und dann separat aktualisiert. Die folgenden Schritte müssen für jeden Cachehost im Cachecluster ausgeführt werden.

  1. Verwenden Sie auf dem Cacheverwaltungscomputer den Windows PowerShell-Befehl Stop-CacheHost, um den Cachehost zu beenden.

    Warnung

    Wenn die Funktion "Hohe Verfügbarkeit" nicht in Gebrauch ist, kann das Beenden eines Cachehosts zu Verlusten der zwischengespeicherten Daten führen. Selbst wenn hohe Verfügbarkeit verwendet wird, können für Clients vorübergehende Ausnahmen auftreten, die nach Wiederholungsversuchen aufgelöst werden, wenn der Cluster weiterhin ausgeführt wird.

  2. Aktualisieren Sie auf dem beendeten Cachehost den Microsoft AppFabric 1.1 für Windows Server auf die neue Version, indem Sie das Setup für die neue Version ausführen.

  3. Nachdem das Upgrade abgeschlossen ist, verwenden Sie Start-CacheHost, um den Cachehost neu zu starten.

  4. Führen Sie dann Get-CacheClusterHealth aus. Stellen Sie sicher, dass alle Werte in die Kategorie "Fehlerfrei" fallen und sich die Cacheanteile auf allen Cachehosts stabilisiert haben. Stellen Sie außerdem sicher, dass keine Einträge unter "Unallocated fraction" oder "Unallocated named cache fractions" vorhanden sind. Sie können dies bestätigen, indem Sie Get-CacheClusterHealth mehrmals ausführen, bis sich die Cacheanteile stabilisiert haben.

  5. Wiederholen Sie diese Schritte für den nächsten Cachehost im Cachecluster.

Während dieser Schritte des Vorgangs wird die Verwendung der folgenden Windows PowerShell-Befehle nicht unterstützt. Sie sollten diese Befehle erst wieder verwenden, nachdem alle Cachehosts auf die neue Version aktualisiert wurden und der Anfangsversionsbereich des Servers auf die neue Version aktualisiert wurde.

Nicht unterstützter Befehl während des Upgrades Fehlergenerierung?

Grant-CacheAllowedClientAccount

Ja

Import-CacheClusterConfig

Ja

New-Cache

Ja

Remove-Cache

Ja

Revoke-CacheAllowedClientAccount

Ja

Set-CacheClusterSecurity

Ja

Set-CacheConfig

Ja

Set-CacheHostConfig

Ja

Update-CacheHostAllowedVersions*

Ja

New-CacheCluster

Nein

Remove-CacheCluster

Nein

Register-CacheHost

Nein

Unregister-CacheHost

Nein

Die Befehle, die einen Fehler generieren, geben Text aus, der den folgenden Angaben ähnelt: ErrorCode<ERRPS024>:SubStatus<ES0001>:This command is not currently allowed. Changes to the cache cluster configuration is restricted during a rolling upgrade of the caching service.

* Update-CacheHostAllowedVersions generiert keinen Fehler, wenn alle Cachehosts im Cluster die gleiche Version des AppFabric-Cache-Diensts ausführen.

Schritt 4: Bestätigen, dass für alle Cachehosts ein Upgrade ausgeführt wurde

Nach dem Upgrade der einzelnen Cachehosts verwenden Sie den Befehl Get-CacheHost, um die Version des Cachediensts auf jedem Cachehost anzuzeigen. Alle Cachehosts müssen die neue Version aufweisen, bevor der Vorgang fortgesetzt werden kann. Untersuchen Sie die folgende Beispielausgabe von Get-CacheHost:

HostName : CachePort Service Name            Service Status Version Info
-------------------- ------------            -------------- ------------
CACHESERVER1:22233 AppFabricCachingService UP             3 [1,3][1,1]
CACHESERVER2:22233 AppFabricCachingService UP             3 [1,3][1,1]
CACHESERVER3:22233 AppFabricCachingService UP             1 [1,3][1,1]

In diesem Beispiel führen die ersten beiden Server nun den aktualisierten Cachedienst mit der Version 3 aus. Der Computer CACHESERVER3 führt jedoch noch die alte Version des Cachediensts mit der Version 1 aus. Für diesen Cachehost muss ein erfolgreiches Upgrade mithilfe des oben beschriebenen Schrittes ausgeführt werden, oder er muss beendet werden, um den Upgradevorgang fortsetzen zu können.

Schritt 5: Aktualisieren des zulässigen Serverversionsbereichs, um nur die neue Versionsnummer zu verwenden

Verwenden Sie den Befehl Update-CacheHostAllowedVersions, um BeginServerVersion auf die neue Version zu aktualisieren.

Update-CacheHostAllowedVersions –BeginServerVersion 3

Das folgende Beispiel zeigt das Ergebnis von Get-CacheHost, nachdem dieser Schritt in einem Cluster mit drei Knoten aufgeführt wurde, in dem die Zielversion 3 ist.

HostName : CachePort Service Name            Service Status Version Info
-------------------- ------------            -------------- ------------
CACHESERVER1:22233 AppFabricCachingService UP             3 [3,3][1,1]
CACHESERVER2:22233 AppFabricCachingService UP             3 [3,3][1,1]
CACHESERVER3:22233 AppFabricCachingService UP             3 [3,3][1,1]

Zu diesem Zeitpunkt können Sie alle verfügbaren Windows PowerShell-Befehle sowie alle neuen Funktionen verwenden, die durch das Upgrade bereitgestellt werden.

Schritt 6: Aktualisieren des zulässigen Clientversionsbereichs, um die neue Versionsnummer zu berücksichtigen

Anwendungen, die für die Verwendung der neuen Cacheclientfunktionen konzipiert wurden, müssen mit dem aktualisierten Cachecluster kommunizieren können. Verwenden Sie den Befehl Update-CacheHostAllowedVersions, um die neue Version im Bereich der zulässigen Cacheclientversionen zu berücksichtigen. Das folgende Beispiel vergrößert zu diesem Zweck den Parameter EndClientVersion auf 3.

Update-CacheHostAllowedVersions -EndClientVersion 3

Das folgende Beispiel zeigt das Ergebnis dieser Änderung in der Ausgabe des Befehls Get-CacheHost.

HostName : CachePort Service Name            Service Status Version Info
-------------------- ------------            -------------- ------------
CACHESERVER1:22233 AppFabricCachingService UP             3 [3,3][1,3]
CACHESERVER2:22233 AppFabricCachingService UP             3 [3,3][1,3]
CACHESERVER3:22233 AppFabricCachingService UP             3 [3,3][1,3]

Zu diesem Zeitpunkt können Sie alle Anwendungen so aktualisieren, dass sie die neuen Cacheclientassemblys und -funktionen verwenden. Wenn Sie die Cacheclients ausschließlich auf die neue Version einschränken möchten, können Sie auf den Befehl Update-CacheHostAllowedVersions verwenden, um BeginClientVersion in die neue Versionsnummer zu ändern. Es besteht jedoch auch die Möglichkeit, den Versionsbereich so zu gestalten, dass neue und alte Clients den Cachecluster verwenden können. Wenn Sie sich entscheiden, Cacheclients auf eine bestimmte Version einzuschränken, müssen Sie zuerst alle diese Clients auf diese Version aktualisieren, bevor Sie den Wert von BeginClientVersion vergrößern.

Schritt 7: Aktualisieren des Cachekonfigurationsspeichers

Aktualisieren Sie den Cachekonfigurationsspeicher mit dem Befehl Update-CacheConfigurationStore. Dieser Befehl kann erst verwendet werden, nachdem ein Upgrade für alle Cachehosts ausgeführt wurde.

Update-CacheConfigurationStore

Neben anderen internen Änderungen übersetzt dieser Befehl die Hostnamen in der Cacheclusterkonfiguration so, dass die vollqualifizierten Domänennamen (Fully-Qualified Domain Names, FQDNs) verwendet werden.

Schritt 8: Aktualisieren der Cacheclientanwendungen

Wie bereits im vorherigen Schritt beschrieben, müssen Cacheclientanwendungen die neuen AppFabric-Cache-Assemblys verwenden, um die Vorteile der neuen AppFabric-Cache-Funktionen für die Kommunikation mit einem Cachecluster nutzen zu können, der einen Versionsbereich aufweist, der auf die aktuellste Version eingeschränkt ist (z. B. 3,3).

Beachten Sie unbedingt, dass die AppFabric-Cache-Assemblys nicht mehr im globalen Assemblycache (GAC) registriert werden. Dies bedeutet, dass die Binärdateien der Cacheclientanwendung und die AppFabric-Cache-Assemblys zusammen gespeichert werden müssen. Sie können jedoch auch den Abschnitt <assemblyBinding> in der Anwendungskonfigurationsdatei verwenden. Das Element <codeBase> kann auf den Speicherort der Assemblys verweisen.

Hinweis

Beachten Sie, dass es nicht immer erforderlich ist, die Cacheclientanwendungen neu zu erstellen. Durch die Deinstallation oder das Upgrade von Windows Server AppFabric v1.0 werden die AppFabric-Cache-Assemblys aus dem globalen Assemblycache (GAC) entfernt. Zu diesem Zeitpunkt können Sie eine der oben beschriebenen Methoden verwenden, damit die Cacheclientanwendungen die neuen Assemblys laden. Cacheclientanwendungen müssen jedoch neu erstellt werden, wenn sie die neuen Funktionen (z. B. Komprimierung) verwenden sollen.

  2012-03-05