Instalação e configuração automatizadas (Cache do AppFabric 1.1)

Esta seção explica as etapas para instalação e configuração automatizadas dos recursos de cache do Microsoft AppFabric 1.1 para Cache do Windows Server. Em uma instalação autônoma, o usuário não vê interface, pois todas as opções são especificadas na linha de comando. Há uma sequência específica de comandos necessários para adicionar um host de cache a um cluster de cache ou para remover um host de cache de um cluster de cache. Esta seção descreve os comandos para os dois cenários. Observe que também é possível usar o Assistente de Configuração do AppFabric para configurar os recursos de cache com uma interface de usuário. Para obter mais informações sobre o Assistente de Configuração do AppFabric, consulte Configurar o Windows Server AppFabric.

Esta seção divide as etapas de instalação automatizada em cinco tarefas:

  • Instalar recursos de cache do Windows Server AppFabric

  • Criar um novo cluster de cache

  • Adicionar host de cache

  • Remover host de cache

  • Remover cluster de cache

Para ver os scripts do PowerShell que automatizam essas etapas, consulte estes exemplos:

Dica

Para obter informações sobre as noções básicas de como iniciar e executar comandos do Windows PowerShell, consulte Usando o Windows PowerShell para gerenciar recursos de cache do Windows Server AppFabric. Observe que, antes de executar esses comandos, pode ser necessário usar o Import-Module para importar os módulos do Windows PowerShell para administração (DistributedCacheAdministration) ou configuração (DistributedCacheConfiguration).

Dica

Embora alguns dos seguintes comandos devam ser executados localmente no host de cache de destino, o Windows PowerShell oferece suporte para executar comandos em computadores remotos. Para obter mais informações, consulte Executando comandos remotos

Instalar recursos de Microsoft AppFabric 1.1 para Cache do Windows Server

Antes de criar um novos cluster de cache ou de configurar o armazenamento em Cache do AppFabric em um host de cache, primeiro instale os recursos de Microsoft AppFabric 1.1 para Cache do Windows Server. Para obter instruções sobre como instalar silenciosamente o AppFabric, consulte Instalação automatizada. Os recursos de cache incluem:

  • CachingService

  • CacheClient

  • CacheAdmin

Por exemplo, considere um cenário em que o binário de instalação seja denominado Setup.exe. Observe que o nome real do binário variará, dependendo da plataforma escolhida. O exemplo a seguir mostra como instalar silenciosamente os recursos de Cache do AppFabric em um servidor:

Setup.exe /install /i cachingservice,cacheclient,cacheadmin /l:c:\temp\setup.log

Observe que neste exemplo também estamos direcionando o arquivo de log para c:\temp\setup.log. Você pode examinar o arquivo de log para investigar os resultados da instalação. O Microsoft AppFabric 1.1 para Windows Server também introduz uma nova opção p para especificar o caminho de instalação do AppFabric.

Após a instalação dos recursos de Cache do AppFabric em um computador, você precisa configurá-los. As seções a seguir descrevem as etapas necessárias para automatizar este processo.

Criar um novo cluster de cache

Se você estiver criando um novo cluster de cache, primeiro chame o comando New-CacheCluster do Windows PowerShell. Ao criar um novo cluster de cache, você deve decidir onde armazenar as definições de configuração do cluster. Você pode optar por usar o provedor System.Data.SqlClient, o provedor XML ou um provedor personalizado. Para obter mais informações, consulte Modelo de configuração.

O exemplo a seguir cria um cluster de cache pequeno. Ele armazena as definições de configuração em um computador com SQL Server denominado SQLServer1 com um banco de dados existente denominado CacheClusterConfigurationDB.

New-CacheCluster -Provider System.Data.SqlClient -ConnectionString  "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True" -Size Small

Observação

Observe que se você usar o espelhamento de banco de dados do SQL Server para aumentar a disponibilidade do cluster de cache, deverá especificar o parceiro de failover na cadeia de conexão. Para obter mais informações, consulte Configuração de cluster baseada no SQL Server.

O exemplo a seguir cria um cluster de cache grande. Ele armazena as definições de configuração em um arquivo XML de compartilhamento de rede denominado \\Server1\CacheConfigShare.

New-CacheCluster -Provider XML -ConnectionString  "\\Server1\CacheConfigShare" -Size Large

Nos dois exemplos, o chamador deve ter as permissões adequadas no local do repositório de configuração. Para System.Data.SqlClient, o chamador deve ser um db_owner no banco de dados de destino ou um membro da função sysadmin na instância do SQL Server. Para XML, o chamador deve ter permissões de proprietário na pasta compartilhada.

Adicionar host de cache

Para adicionar um host de cache a um cluster de cache existente, você precisa executar as seguintes etapas em ordem:

Comando/Etapa Descrição

Register-CacheHost

Registra o host de cache com o cluster de cache.

Add-CacheHost

Configura o host de cache para fazer parte do cluster de cache.

Add-CacheAdmin

Configura opcionalmente a Administração de Cache no host de cache atual.

Configurar o firewall

Permite o serviço AppFabricCachingService por meio do firewall. Também permite Gerenciamento Remoto de Serviços.

Start-CacheHost

Inicia o novo host de cache.

Register-CacheHost

Você usa o comando Register-CacheHost para registrar um host de cache com um cluster de cache existente. Isso inclui especificar números de porta e a conta do Windows para o Serviço de Cache. Os parâmetros Provider e ConnectionString especificam o cluster de cache de destino para o novo host de cache.

O exemplo a seguir adiciona o computador host de cache, CacheServer1, a um cluster de cache cujo repositório de configuração está localizado em um arquivo XML no compartilhamento de arquivo \\Server1\CacheConfigShare. A conta interna do NT Authority\Network Service é especificada para a identidade do Serviço de Cache.

Register-CacheHost -Provider XML -ConnectionString "\\Server1\CacheConfigShare"  -Account "NT Authority\Network Service" -CachePort 22233 -ClusterPort 22234  -ArbitrationPort 22235 -ReplicationPort 22236 -HostName  CacheServer1

Observe que para o provedor XML, o chamador deve ter controle total sobre o compartilhamento de rede de destino. Para o provedor System.Data.SqlClient, o chamador deve ter permissões para ler, gravar, criar logins de SQL e adicionar permissões ao banco de dados de destino.

Ao contrário de muitos outros comandos de configuração, Register-CacheHost aceita um parâmetro HostName, para que ele possa ser executado remotamente.

Add-CacheHost

O comando Add-CacheHost configura o host de cache para se tornar parte do cluster de cache existente. Os parâmetros Provider e ConnectionString especificam o cluster de cache de destino para o novo host de cache.

O exemplo a seguir demonstra como chamar Add-CacheHost.

Add-CacheHost -Provider XML -ConnectionString "\\Server1\CacheConfigShare" -Account "NT Authority\Network Service"

Observe que esse comando deve ser executado localmente no host de cache que está sendo configurado. Você também deve executar esse comando em uma sessão elevada do Windows PowerShell com privilégios de administrador.

Aviso

Você deve fornecer um valor para o parâmetro Account do comando Add-CacheHost. Se você não especificar uma conta, as permissões não serão configuradas de forma correta para o Serviço de Cache. Observe que em um ambiente de domínio com segurança habilitada, a conta do NT Autority\Network Service deve ser usada.

Add-CacheAdmin

Opcionalmente, você pode usar o comando Add-CacheAdmin para configurar o recurso Administração de Cache em um host de cache. Com isso, você pode administrar o cluster de cache desse computador usando comandos do Windows PowerShell. O recurso Administração de Cache deve ser instalado no computador.

O exemplo a seguir demonstra como chamar Add-CacheAdmin.

Add-CacheAdmin -Provider XML -ConnectionString  "\\Server1\CacheConfigShare"

Observe que esse comando deve ser executado localmente no host de cache que está sendo configurado. Você também deve executar esse comando em uma sessão elevada do Windows PowerShell com privilégios de administrador.

Configurar o firewall

Para usar com êxito os recursos de Cache do AppFabric, você deve configurar o firewall para o serviço DistributedCacheService.exe. Por padrão, esse serviço é instalado no diretório "C:\Program Files\Windows Server AppFabric".

Se você estiver usando o firewall do Windows, poderá habilitar um grupo de políticas que seja automaticamente instalado com o AppFabric. Os seguintes comandos do Windows PowerShell habilitam o grupo de políticas de firewall denominado "Microsoft AppFabric 1.1 para Windows Server: Serviço de Cache do AppFabric". Você também deve habilitar as regras do firewall "Gerenciamento Remoto de Serviços" para habilitar o Serviço de Cache do AppFabric a ser controlado remotamente.

netsh advfirewall firewall set rule group="Windows Server AppFabric: AppFabric Caching Service" new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (RPC)" profile=domain new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (RPC-EPMAP)" profile=domain new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (NP-In)" profile=domain new enable=Yes

Start-CacheHost

Se você quiser habilitar o novo host de cache para que participe do cluster de cache, inicie o host de cache. Se o cluster de cache estiver desativado, inicie-o integralmente. O cluster de cache estará desativado se todos os hosts estiverem inativos. Isso pode ser avaliado chamando Get-CacheHost sem parâmetros.

Get-CacheHost

Se todos os hosts apresentarem um status de serviço igual a DOWN, inicie o cluster de cache com o comando Start-CacheCluster.

Start-CacheCluster

No entanto, se pelo menos um host tiver um status de serviço UP, o cluster de cache estará funcionando. Nesse caso, use o comando Start-CacheHost.

Start-CacheHost -Hostname CacheServer2 -CachePort 22233

Observe que, após a reinicialização de um computador host de cahe, o Serviço de Cache não será iniciado automaticamente; você deve usar Start-CacheHost ou Start-CacheCluster, dependendo do estado do cluster de cache.

Você também deve executar esse comando em uma sessão elevada do Windows PowerShell com privilégios de administrador.

Aviso

Sempre use os comandos do Windows PowerShell para iniciar e parar o Serviço de Cache. Nunca inicie ou pare o serviço AppFabricCachingService diretamente do programa Serviços em Ferramentas Administrativas.

Remover host de cache

Para removfer um host de cache de um cluster de cache, você precisa executar as seguintes etapas em ordem:

Comando/Etapa Descrição

Stop-CacheHost

Para host de cache, se ele está sendo executado.

Unregister-CacheHost

Cancela o registro do host de cache com o cluster de cache.

Remove-CacheHost

Remove a configuração do host de cache do computador.

Remove-CacheAdmin

Remove opcionalmente a configuração do recurso Administração de Cache.

Configurar o firewall

Remove todas as exceções de firewall referentes ao Serviço de Cache.

Stop-CacheHost

Se você quiser remover um host de cache de um cluster existente, primeiro pare o host de cache. Você pode determinar se o host de cache está em funcionamento chamando o comando Get-CacheHost. O exemplo a seguir demonstra como exibir as informações do host de cache para o host de cache local.

Get-CacheHost -HostName localhost -CachePort 22233

Embora o comando anterior forneça informações sobre um host de cache específico, você sempre deve considerar o status de todo o cluster de cache antes de parar um host de cache. Isso pode ser feito chamando Get-CacheHost sem parâmetros.

Get-CacheHost

O exemplo de saida a seguir mostra esse comando para um cluster de cache de dois servidores.

HostName : CachePort      Service Name            Service Status Version Info
--------------------      ------------            -------------- ------------
CacheServer1:22233        AppFabricCachingService UP             1 [1,1][1,1]
CacheServer2:22233        AppFabricCachingService UP             1 [1,1][1,1]

Neste exemplo, CacheServer1 e CacheServer2 estão sendo executados. Você pode tentar parar um desses hosts de cache e deixar o cluster de cache operacional por meio do outro host de cache. O exemplo a seguir mostra como parar CacheServer2 com o comando Stop-CacheHost.

Stop-CacheHost -HostName CacheServer2 -CachePort 22233 -Graceful

Observe o uso da opção Graceful. Ela foi adicionada à versão v1.1 para mover dados fora do servidor de cache para outros hosts de cache antes do desligamento. Sem a opção Graceful, todos os dados armazenados em cache no host de cache interrompido são perdidos. Além disso, a tentativa de parar o host de cache falhará se resultar na perda de quorum para hosts principais ou secundários. Para obter mais informações sobre hosts principais, consulte Hosts principais e gerenciamento de cluster. Para obter mais informações sobre hosts secundários, consulte Alta disponibilidade. Nesses casos, você deve parar todo o clutser com o comando Stop-CacheCluster.

Se parar o host de cache for parar o cluster de cache, use o comando Stop-CacheCluster. Por exemplo, considere o seguinte exemplo de saída do comando Get-CacheHost.

HostName : CachePort      Service Name            Service Status Version Info
--------------------      ------------            -------------- ------------
CacheServer1:22233        AppFabricCachingService DOWN           1 [1,1][1,1]
CacheServer2:22233        AppFabricCachingService UP             1 [1,1][1,1]

Neste exemplo, CacheServer1 está interrompido e CacheServer2 está em execução. Parar CacheServer2 desativará o cluster. Em vez de usar o comando Stop-CacheHost para parar CacheServer2, use o comando Stop-CacheCluster.

Stop-CacheCluster

Você deve executar esse comando em uma sessão elevada do Windows PowerShell com privilégios de administrador.

Unregister-CacheHost

O comando Unregister-CacheHost remove o host de cache do cluster de cache.

Aviso

Stop-CacheHost deve ser chamado para interromper um host de cache antes de cancelar o seu registro. Se isto não for feito, há a possibilidade de uma pane do serviço.

Se esse comando for executado antes de Remove-CacheHost, não será necessário especificar valores para os parâmetros Provider ou ConnectionString. Se o comando for executado localmente, também não será necessário especificar um valor para o parâmetro HostName.

Unregister-CacheHost -RemoveServicePermissions

O exemplo a seguir cancela o registro de um host de cache ao especificar o provedor, a cadeia de conexão e o nome do host. Ele remove um host de cache denominado CacheServer2 de um cluster de cache. Esse cluster de cache usa o provedor System.Data.SqlClient, de forma que a cadeia de conexão seja uma cadeia de conexão do SQL Server com um servidor de banco de dados denominado SQLServer1 e um banco de dados de configuração denominado CacheClusterConfigurationDB.

Unregister-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True"  + -HostName CacheServer2 -RemoveServicePermissions

Observe que para o provedor XML, o chamador deve ter controle total sobre o compartilhamento de rede de destino. Para o provedor System.Data.SqlClient, o chamador deve ter permissões para ler, gravar, remover logins de SQL e remover permissões do banco de dados de destino.

Ao contrário de muitos outros comandos de configuração, Unregister-CacheHost aceita um parâmetro HostName, para que ele possa ser executado remotamente.

Remove-CacheHost

O comando Remove-CacheHost remove a configuração do host de cache do servidor.

Remove-CacheHost

Observe que esse comando deve ser executado localmente no host de cache que está sendo configurado. Você também deve executar esse comando em uma sessão elevada do Windows PowerShell com credenciais administrativas.

Remove-CacheAdmin

Se o recurso Administração de Cache estiver configurado no host de cache, você poderá removê-lo com o comando Remove-CacheAdmin.

Remove-CacheAdmin

Observe que esse comando deve ser executado localmente no host de cache que está sendo configurado. Você também deve executar esse comando em uma sessão elevada do Windows PowerShell com credenciais administrativas.

Configurar o firewall

Você deve remover ou desabilitar todas as exceções contidas no firewall para o Serviço de Cache DistributedCacheService.exe. Se você estiver usando o firewall do Windows, deverá ter habilitado anteriormente o grupo de firewall instalado "Microsoft AppFabric 1.1 para Windows Server: Serviço de Cache do AppFabric". Em caso afirmativo, você pode desabilitar o grupo de política usando os comandos do PowerShell a seguir. Se você também tiver habilitado as regras de "Gerenciamento Remoto de Serviços", também poderá desabilitá-las. No entanto, outros serviços ou aplicativos podem ter habilitado as regras de “Gerenciamento Remoto de Serviços”. Neste cenário, você não desabilitará as regras de "Gerenciamento Remoto de Serviços".

netsh advfirewall firewall set rule group="Windows Server AppFabric: AppFabric Caching Service" new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (RPC)" profile=domain new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (RPC-EPMAP)" profile=domain new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (NP-In)" profile=domain new enable=No

Remover cluster de cache

Se tiver removido o host de cache final do cluster, você também poderá optar por remover o repositório de configuração do cluster de cache. Para isso, use o comando Remove-CacheCluster. Se o cluster de cache usar o provedor XML, esse comando excluirá o arquivo XML que contém as definições de configuração. Se o cluster de cache usar o provedor System.Data.SqlClient, esse comando excluirá as tabelas do banco de dados especificado. Observe que o compartilhamento de arquivo e o banco de dados não são removidos.

Remove_CacheCluster -Provider System.Data.SqlClient -ConnectionString  "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True"

Consulte também

Conceitos

Implantando e configurando recursos de cache do AppFabric (Cache do AppFabric 1.1)

  2012-03-05