Instalação e configuração automatizadas (Cache do Windows Server AppFabric)
Esta seção explica as etapas para instalação e configuração automatizadas dos recursos de cache do Windows Server AppFabric. 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.
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 cache do Windows Server AppFabric
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 cache do Windows Server AppFabric. 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.
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:\Windows\System32\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 "Windows Server AppFabric: 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
Observe que 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.
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 "Windows Server AppFabric: 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 Windows Server AppFabric
2011-12-05