AppFabric キャッシュ クラスター (AppFabric 1.1) のアップグレード手順
このトピックでは、既存のキャッシュ クラスターに対して使用する Microsoft AppFabric 1.1 for Windows Server キャッシュ サービスを新しいバージョンに更新するためのオフラインとオンライン両方のアップグレードの方法について説明します。オンライン アップグレードでは、キャッシュ クラスターを実行中の状態にしたままで、キャッシュ ホストを個別にアップグレードします。
重要
このアップグレードの実行中は、ビルトイン アカウント (たとえば NETWORK SERVICE) からドメイン アカウントに変更することはできません。詳細については、「キャッシュ サービス アカウントの変更 (AppFabric 1.1 キャッシュ)」を参照してください。
Microsoft AppFabric 1.1 for Windows Server の各リリースには、AppFabric キャッシュ サービスの特定のバージョン番号が関連付けられています。
AppFabric のリリース | AppFabric キャッシュ サービスのバージョン |
---|---|
Windows Server AppFabric v1.0 |
1 |
Microsoft AppFabric 1.1 for Windows Server |
3 |
オフライン アップグレードのプロセス
オフライン アップグレードには、シャットダウンされたキャッシュ クラスターが含まれます。シャットダウンされている間に、各キャッシュ ホストを個別に新しいバージョンの AppFabric にアップグレードすることができます。この時点で、必要な手順はオンライン アップグレード手順の一部となり、以下の手順が含まれます。
手順 1: 管理コンピューター上のキャッシュ管理機能を更新する
手順 5: 許容サーバー バージョン範囲に新しいバージョン番号のみが含まれるように更新する
手順 6: 許容クライアント バージョン範囲に新しいバージョン番号が含まれるように更新する
手順 7: キャッシュ構成ストアを更新する
手順 8: キャッシュ クライアント アプリケーションを更新する
オンライン アップグレードのプロセス
オンライン アップグレードの手順は、次のステップで構成されます。
手順 1: 管理コンピューター上のキャッシュ管理機能を更新する
手順 2: 許容サーバー バージョン範囲に新しいバージョン番号が含まれるように更新する
手順 3: 各キャッシュ ホストを 1 つずつアップグレードする
手順 4: すべてのキャッシュ ホストがアップグレードされたことを確認する
手順 5: 許容サーバー バージョン範囲に新しいバージョン番号のみが含まれるように更新する
手順 6: 許容クライアント バージョン範囲に新しいバージョン番号が含まれるように更新する
手順 7: キャッシュ構成ストアを更新する
手順 8: キャッシュ クライアント アプリケーションを更新する
重要
このような手順を正常に実行するには、クォーラムとして指定された数のサーバー上でキャッシュ クラスターの実行が継続している必要があります。これについては、「キャッシュ サーバーの更新」を参照してください。
手順 1: 管理コンピューター上のキャッシュ管理機能を更新する
更新手順を実行するには、最初に、更新対象のキャッシュ クラスターの一部ではないマシン上のキャッシュ管理機能を更新する必要があります。このキャッシュ管理機能は、キャッシュ クラスターに対して Windows PowerShell コマンドを実行するためのものです。キャッシュ管理機能をアップグレードするには、新しいバージョンの Microsoft AppFabric 1.1 for Windows Server のために AppFabric セットアップを実行します。
キャッシュ クラスター管理用の独立したマシンがまだない場合は、キャッシュ クラスターに属していないマシン上に、新しいバージョンの Microsoft AppFabric 1.1 for Windows Server のキャッシュ管理機能をインストールしてください。
Windows PowerShell コマンドを管理専用のマシン上で実行するには、最初に、Use-CacheCluster コマンドに Provider パラメーターと ConnectionString パラメーターの両方を指定して実行する必要があります。これについては、「キャッシュ クラスターの一般的な管理タスク (AppFabric 1.1 キャッシュ)」を参照してください。
手順 2: 許容サーバー バージョン範囲に新しいバージョン番号が含まれるように更新する
オンライン アップグレードの実行中は、一部のサーバーでは古いバージョンのキャッシュ サービスが実行され、それ以外のサーバーではアップグレード後のバージョンが実行されます。このことが許容されるようにするには、Update-CacheHostAllowedVersions という Windows PowerShell コマンドを使用して EndServerVersion プロパティの値を上げる必要があります。たとえば、バージョン 1
からバージョン 3
にアップグレードする場合は、次のコマンドを使用します。
Update-CacheHostAllowedVersions –EndServerVersion 3
その後で、バージョンの変更を確認するために、Get-CacheHost コマンドをパラメーターなしで実行します。次に示すのは、3 つのノードから成るキャッシュ クラスターに対してこの変更を行う場合の出力の例です。
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]
この例の "Version Info" 列には、1 [1,3][1,1]
という値が表示されています。これは、次に示すバージョン詳細情報に対応しています。
1 |
そのキャッシュ ホスト上で実行中のキャッシュ サービスのバージョン。 |
[1,3] |
オンライン アップグレードの実行中にキャッシュ クラスター内の特定のホスト上で実行できるキャッシュ サービスのバージョンの範囲。 |
[1,1] |
このキャッシュ クラスターを使用できるキャッシュ クライアントのバージョンの範囲。 |
次に進む前に、各キャッシュ ホストの許容サーバー範囲が目標の値に更新されていることを確認する必要があります。サーバー バージョン範囲が正常に更新されていないキャッシュ ホストがある場合は、次に進む前にそのホストをシャットダウンする必要があります。これを行うには、Stop-CacheNonUpdatedHosts という Windows PowerShell コマンドを使用します。Get-CacheHost コマンドを使用すると、どのサーバーが未更新のため停止されるかを、事前に確認できます。次の例では、キャッシュ ホストのうち、バージョン範囲が 1
~ 3
に変更されておらず、かつ現在のサービス バージョンが 1
であるものが停止されます。
Stop-CacheNonUpdatedHosts -Version 1 -BeginServerVersion 1 –EndServerVersion 3
手順 3: 各キャッシュ ホストを 1 つずつアップグレードする
オンライン アップグレードを実行するには、キャッシュ ホストを 1 つずつ停止してアップグレードします。次に説明する手順は、キャッシュ クラスター内の各キャッシュ ホストに対して実行する必要があります。
キャッシュ管理コンピューターで、Windows PowerShell を使用して Stop-CacheHost コマンドを実行し、キャッシュ ホストを停止します。
警告
高可用性機能が使用されていない場合は、キャッシュ ホストを停止すると、キャッシュされたデータが失われることがあります。高可用性機能が使用されている場合であっても、クライアント側で一時的に例外が発生することがありますが、クラスターが実行を続けていれば、再試行によって解決します。
停止したキャッシュ ホスト上で、Microsoft AppFabric 1.1 for Windows Server の新しいバージョンのセットアップを実行して新しいバージョンにアップグレードします。
アップグレードが完了したら、Start-CacheHost を使用してキャッシュ ホストを再起動します。
次に、Get-CacheClusterHealth を実行します。すべての数値が "Healthy" カテゴリに属していることと、各キャッシュ ホストに割り当てられたキャッシュの割合が安定していることを確認します。また、"Unallocated fraction" や "Unallocated named cache fractions" にエントリがないことを確認します。このことを確認するには、キャッシュの割合の数値が安定するまで Get-CacheClusterHealth を何回か実行します。
以上の手順を、キャッシュ クラスター内の次のキャッシュ ホストに対して実行します。
アップグレード プロセスのこの部分では、次に示す Windows PowerShell コマンドは使用できません。すべてのキャッシュ ホストが新しいバージョンに更新され、サーバー バージョン範囲の開始値が新しいバージョンに更新されるまでは、これらのコマンドを使用しないでください。
アップグレード実行中は使用できないコマンド | エラー生成 |
---|---|
Grant-CacheAllowedClientAccount |
はい |
Import-CacheClusterConfig |
はい |
New-Cache |
はい |
Remove-Cache |
はい |
Revoke-CacheAllowedClientAccount |
はい |
Set-CacheClusterSecurity |
はい |
Set-CacheConfig |
はい |
Set-CacheHostConfig |
はい |
Update-CacheHostAllowedVersions* |
はい |
New-CacheCluster |
いいえ |
Remove-CacheCluster |
いいえ |
Register-CacheHost |
いいえ |
Unregister-CacheHost |
いいえ |
エラーを生成するコマンドを実行すると、次のようなテキストが返されます。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 は、クラスター内のすべてのキャッシュ ホストで同じバージョンの AppFabric キャッシュ サービスが実行されている場合はエラーを生成しません。
手順 4: すべてのキャッシュ ホストがアップグレードされたことを確認する
各キャッシュ ホストをアップグレードした後で、Get-CacheHost コマンドを使用して、各キャッシュ ホスト上のキャッシュ サービスのバージョンを表示します。すべてのキャッシュ ホストが新しいバージョンになっていなければ、次に進むことはできません。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]
この例では、最初の 2 つのサーバーでは更新後のキャッシュ サービスが実行されており、バージョンが 3
と表示されています。しかし、CACHESERVER3
というマシンでは、まだ古いバージョンのキャッシュサービスが実行されているため、バージョンが 1
と表示されています。アップグレード処理を続行するには、このキャッシュ ホストを、直前の手順を使用して正常にアップグレードするか、停止させる必要があります。
手順 5: 許容サーバー バージョン範囲に新しいバージョン番号のみが含まれるように更新する
Update-CacheHostAllowedVersions コマンドを使用して、BeginServerVersion を新しいバージョンまで上げます。
Update-CacheHostAllowedVersions –BeginServerVersion 3
次の例では、ターゲット バージョンが 3
である 3 ノード クラスターでこの手順を実行した後の Get-CacheHost の結果を示します。
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]
この時点で、すべての Windows PowerShell コマンド、およびアップグレードによって追加されたすべての新機能が使用可能です。
手順 6: 許容クライアント バージョン範囲に新しいバージョン番号が含まれるように更新する
新しいキャッシュ クライアント機能を使用するようにビルドされたアプリケーションは、アップグレードされたキャッシュ クラスターと通信できることが必要です。Update-CacheHostAllowedVersions コマンドを使用して、許容キャッシュ クライアント バージョンの範囲に新しいバージョンが含まれるように設定します。次の例では、そのように設定するために EndClientVersion パラメーターを 3
に上げています。
Update-CacheHostAllowedVersions -EndClientVersion 3
次の例は、この変更の結果を示す 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]
この時点で、キャッシュ クライアントの新しいアセンブリおよび機能を使用するようにアプリケーションを更新できます。新しいバージョンのキャッシュ クライアントだけを使用できるように制限する場合は、Update-CacheHostAllowedVersions を使用して BeginClientVersion を新しいバージョン番号に変更することもできます。ただし、新旧どちらのクライアントもキャッシュ クラスターを使用できるように、バージョン範囲をそのままにしておいてもかまいません。キャッシュ クライアントのバージョンを 1 つだけに制限する場合は、すべてのクライアントをそのバージョンに更新してから、BeginClientVersion の値を上げる必要があります。
手順 7: キャッシュ構成ストアを更新する
Update-CacheConfigurationStore コマンドを使用してキャッシュ構成ストアを更新します。このコマンドを使用できるのは、すべてのキャッシュ ホストがアップグレードされた後に限定されます。
Update-CacheConfigurationStore
その他の内部での変更としては、このコマンドによって、キャッシュ クラスター構成のホスト名が変換され、完全修飾ドメイン名 (FQDN) を使用するようになります。
手順 8: キャッシュ クライアント アプリケーションを更新する
前の手順の説明で述べたように、キャッシュ クライアント アプリケーションで AppFabric キャッシュ の新しい機能を利用する場合や、通信するキャッシュ クラスターのバージョン範囲が最新バージョンだけに制限されている場合 (たとえば 3,3
) は、キャッシュ クライアント アプリケーションで新しい AppFabric キャッシュ アセンブリを使用する必要があります。
AppFabric キャッシュ アセンブリは、今後はグローバル アセンブリ キャッシュ (GAC) に登録されないことに注意してください。つまり、キャッシュ クライアント アプリケーションのバイナリと AppFabric キャッシュ アセンブリの両方の場所を指定する必要があります。代わりに、アプリケーション構成ファイルの <assemblyBinding> セクションを使用することもできます。<codeBase> 要素を使用して、アセンブリの場所を指定します。
ヒント
常にキャッシュ クライアント アプリケーションの再ビルドが必要とは限りません。Windows Server AppFabric v1.0 をアンインストールまたはアップグレードすると、AppFabric キャッシュ アセンブリが GAC から削除されます。この時点で、上記のいずれかの方法を使用してキャッシュ クライアント アプリケーションに新しいアセンブリをロードさせることができます。ただし、圧縮などの新しい機能を利用するには、キャッシュ クライアント アプリケーションを再ビルドする必要があります。
2012-03-05