Procedimento de Atualização para um Cluster de Cache do AppFabric (AppFabric 1.1)
Este tópico descreve como realizar tanto uma atualização offline quanto online do serviço Microsoft AppFabric 1.1 para Cache do Windows Server para uma versão superior de um cluster de cache existente. Uma atualização online envolve a atualização de cada host de cache separadamente enquanto o cluster de cache permanece em execução.
Importante
Você não pode mudar de uma conta interna (como SERVIÇO DE REDE) para uma conta de domínio durante a atualização. Para obter mais informações, consulte Altere a conta do serviço de cache (Cache do AppFabric 1.1).
Cada versão do Microsoft AppFabric 1.1 para Windows Server está associada a um determinado número de versão do serviço Cache do AppFabric.
Versão AppFabric | Serviço Cache do AppFabric versão |
---|---|
Windows Server AppFabric v1.0 |
1 |
Microsoft AppFabric 1.1 para Windows Server |
3 |
Processo de Atualização Offline
Uma atualização offline envolve um cluster de cache que foi desligado. Enquanto desligado, cada host de cache pode ser atualizado separadamente para a nova versão do AppFabric. Neste momento, as etapas envolvidas são um subconjunto das etapas da atualização online e incluem o seguinte.
Etapa 1: atualize o recurso de Administração de Cache na máquina de administração
Etapa 5: atualize a variação da versão de servidor permitida para usar somente o novo número de versão
Etapa 6: atualize a variação da versão de cliente permitida para incluir o novo número de versão
Etapa 7: atualize o armazenamento de configuração do cache
Etapa 8: atualize os aplicativos do cliente de cache
Processo de Atualização Online
Uma atualização online é composta pelas etapas a seguir:
Etapa 1: atualize o recurso de Administração de Cache na máquina de administração
Etapa 2: atualize a variação da versão de servidor permitida para incluir o novo número de versão
Etapa 3: atualize cada host de cache em sequência
Etapa 4: verifique se todos os hosts de cache foram atualizados
Etapa 5: atualize a variação da versão de servidor permitida para usar somente o novo número de versão
Etapa 6: atualize a variação da versão de cliente permitida para incluir o novo número de versão
Etapa 7: atualize o armazenamento de configuração do cache
Etapa 8: atualize os aplicativos do cliente de cache
Importante
Para ser bem-sucedido nessas etapas, você precisa manter o quorum necessário de servidores para que o cluster de cache permaneça em execução. Esse procedimento é descrito no tópico Atualizando servidores de cache.
Etapa 1: atualize o recurso de administração de cache na máquina de administração
Para realizar as etapas de atualização, você deve primeiro atualizar o recurso de administração de cache em uma máquina que não faça parte do cluster de cache de destino. O recurso de administração de cache permite que você execute os comandos do Windows PowerShell diante um cluster de cache. Atualize o recurso de Administração de Cache executando a instalação de AppFabric para a nova versão do Microsoft AppFabric 1.1 para Windows Server.
Se você ainda não possuir uma máquina separada para o gerenciamento do cluster de cache, você poderá instalar o recurso de administração de cache da nova versão do Microsoft AppFabric 1.1 para Windows Server em uma máquina que esteja fora do cluster de cache.
Para executar os comandos do Windows PowerShell em uma máquina apenas administrativa, é preciso primeiramente executar o comando Use-CacheCluster e especificar os parâmetros Provider e ConnectionString. Esse procedimento é descrito no tópico Tarefas comuns de gerenciamento de cluster de cache (Cache do AppFabric 1.1).
Etapa 2: atualize a variação da versão de servidor permitida para incluir o novo número de versão
Durante a atualização online, alguns servidores executarão a versão anterior do serviço de cache enquanto outros executarão a versão atualizada. Para registrar isso, você precisa usar o comando Update-CacheHostAllowedVersions do Windows PowerShell para aumentar o valor da propriedade EndServerVersion. Por exemplo, se estiver mudando da versão 1
para a versão 3
, você precisará usar o comando a seguir.
Update-CacheHostAllowedVersions –EndServerVersion 3
E depois executar o comando Get-CacheHost sem parâmetros para verificar as mudanças da versão. As informações de exemplo a seguir mostram essa alteração em um cluster de cache de três nós.
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]
A coluna Informações de Versão do exemplo contém o valor 1 [1,3][1,1]
. Isso corresponde aos seguintes detalhes de versão:
1 |
A versão do serviço de cache que está sendo executado no host de cache. |
[1,3] |
A variação de versões do serviço de cache que podem ser executadas naquele host em particular dentro do cluster de cache durante a atualização online. |
[1,1] |
A variação de versões de cliente de cache que usam o cluster de cache. |
Antes de continuar, você precisa verificar se cada host foi atualizado para a variação de servidor de destino permitida. Se algum host de cache falhar ao atualizar a variação da versão de servidor, você precisará desligá-lo antes de prosseguir. Isso pode ser realizado com o comando Stop-CacheNonUpdatedHosts do Windows PowerShell. O comando Get-CacheHost pode ser usado primeiramente para prever quais servidores não foram atualizados e precisarão ser interrompidos. O exemplo a seguir interrompe qualquer host de cache cuja variação da versão não foi alterada para 1
e 3
e cuja versão de serviço atual seja 1
.
Stop-CacheNonUpdatedHosts -Version 1 -BeginServerVersion 1 –EndServerVersion 3
Etapa 3: atualize cada host de cache em sequência
Para realizar uma atualização online, cada host de cache é interrompido e atualizado separadamente. As etapas a seguir descrevem o procedimento que precisa ser executado para cada host de cache no cluster de cache.
Na máquina de Administração de Cache, use o Windows PowerShell para executar o comando Stop-CacheHost para interromper o host de cache.
Aviso
Se o recurso de alta disponibilidade não estiver em uso, a interrupção do host de cache pode resultar na perda dos dados armazenados em cache. Mesmo com o recurso de alta disponibilidade, os clientes podem obter exceções temporárias que determinarão as tentativas de repetição se o cluster permanecer em execução.
No host de cache interrompido, atualize o Microsoft AppFabric 1.1 para Windows Server para a nova versão, executando a instalação da nova versão.
Após a conclusão da atualização, use o Start-CacheHost para reiniciar o host de cache.
Em seguida, execute o Get-CacheClusterHealth. Verifique se todos os números estão na categoria "Adequada" e se as frações de cache ficaram estáveis nos hosts de cache. Verifique também se não há entradas em "Frações não alocadas" ou em "Frações de cache nomeadas não alocadas". Você pode verificar isso por meio de diversas execuções do Get-CacheClusterHealth até que as frações de cache se estabilizem.
Repita essas etapas para o próximo host de cache no cluster de cache.
Durante essa parte do processo, o uso dos seguintes comandos do Windows PowerShell não é compatível. Você não deve usar esses comandos até que todos os hosts de cache estejam atualizados para a nova versão e até que a variação da versão de servidor inicial esteja atualizada para a nova versão.
Comando não compatível durante a atualização | Gera erros? |
---|---|
Grant-CacheAllowedClientAccount |
Sim |
Import-CacheClusterConfig |
Sim |
New-Cache |
Sim |
Remove-Cache |
Sim |
Revoke-CacheAllowedClientAccount |
Sim |
Set-CacheClusterSecurity |
Sim |
Set-CacheConfig |
Sim |
Set-CacheHostConfig |
Sim |
Update-CacheHostAllowedVersions* |
Sim |
New-CacheCluster |
Não |
Remove-CacheCluster |
Não |
Register-CacheHost |
Não |
Unregister-CacheHost |
Não |
Os comandos que geram erros possuem um texto semelhante ao apresentado a seguir: 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
.
* O Update-CacheHostAllowedVersions não gera um erro quando todos os hosts de cache no cluster estão executando a mesma versão do serviço Cache do AppFabric.
Etapa 4: verifique se todos os hosts de cache foram atualizados
Após atualizar cada host de cache, use o comando Get-CacheHost para exibir a versão do serviço de cache em cada host de cache. Todos precisam estar com a nova versão antes de você continuar. Considere as informações do exemplo a seguir do 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]
Neste exemplo, os primeiros dois servidores estão executando no momento o serviço de cache com uma versão 3
. No entanto, a máquina CACHESERVER3
ainda está executando a versão anterior do serviço de cache com uma versão 1
. Esse host de cache também precisa ser atualizado, de forma bem sucedida, usando a etapa anterior. Outra opção é interrompê-lo para continuar o processo de atualização.
Etapa 5: atualize a variação da versão de servidor permitida para usar somente o novo número de versão
Use o comando Update-CacheHostAllowedVersions a fim de elevar o BeginServerVersion para a nova versão.
Update-CacheHostAllowedVersions –BeginServerVersion 3
O exemplo a seguir mostra o resultado do Get-CacheHost após a conclusão da etapa em um cluster de três nós cuja versão de destino é 3
.
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]
Nesse momento, você pode usar qualquer comando do Windows PowerShell disponível e também qualquer recurso fornecido pela atualização.
Etapa 6: atualize a variação da versão de cliente permitida para incluir o novo número de versão
Os aplicativos criados para usar os novos recursos do cliente de cache precisam conseguir se comunicar com o cluster de cache atualizado. Use o comando Update-CacheHostAllowedVersions para incluir a nova versão na variação de versões de cliente de cache permitidas. O exemplo a seguir faz isso ao elevar o parâmetro EndClientVersion para 3
.
Update-CacheHostAllowedVersions -EndClientVersion 3
O exemplo a seguir mostra o resultado dessa alteração na saída de 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]
Nesse momento, você pode atualizar qualquer aplicativo para usar os novos assemblies e recursos do cliente de cache. Se quiser limitar os clientes de cache para que fiquem apenas os com a nova versão, você poderá usar também o Update-CacheHostAllowedVersions para alterar o BeginClientVersion para o novo número de versão. No entanto, você também tem a opção de deixar uma variação de versões para permitir que os clientes novos e antigos continuem a usar o cluster de cache. Se decidir limitar os clientes de cache para uma determinada versão, você precisara primeiramente atualizar todos esses clientes para essa versão antes de elevar o valor de BeginClientVersion.
Etapa 7: atualize o armazenamento de configuração do cache
Atualize o armazenamento de configuração do cache com o comando Update-CacheConfigurationStore. Esse comando só pode ser usado após todos os hosts de cache terem sido atualizados.
Update-CacheConfigurationStore
Entre outras alterações internas, esse comando converte os nomes de hosts na configuração do cluster de cache para que usem seus nomes de domínio totalmente qualificados (FQDN).
Etapa 8: atualize os aplicativos do cliente de cache
Conforme mencionado na etapa anterior, os aplicativos do cliente de cache precisam usar os novos assemblies de Cache do AppFabric para que possam aproveitar os novos recursos do Cache do AppFabric ou possam se comunicar com um cluster de cache que possua uma variação de versão que esteja limitada à versão mais recente (por exemplo, 3,3
).
É importante observar que os conjuntos de Cache do AppFabric não estão mais registrados no Cache de Assembly Global (GAC). Isso significa que você precisa localizar os binários do aplicativo de cliente de cache e os assemblies do Cache do AppFabric ao mesmo tempo. Outra opção é usar a seção <assemblyBinding> no arquivo de configuração do aplicativo. O elemento <codeBase> pode apontar para o local dos assemblies.
Observação
Observe que nem sempre é necessário recriar aplicativos do cliente de cache. A instalação ou a atualização do Windows Server AppFabric v1.0 removerá os assemblies do Cache do AppFabric do GAC. Nesse momento, você pode usar um dos métodos mencionados acima para que os aplicativos do cliente de cache carreguem os novos assemblies. Claro que os aplicativos do cliente de cache precisarão ser recriados para poderem aproveitar os recursos, como a compactação.
2012-03-05