Configuração de cluster baseado SQL Server

O Microsoft AppFabric 1.1 para Windows Server oferece a opção de usar um banco de dados SQL Server para armazenar os parâmetros de configuração de cluster. O Assistente de Configuração do AppFabric prepara automaticamente o banco de dados de destino para gerenciar a configuração do cluster. Então, o AppFabric usa esse banco de dados como o principal ponto de referência para a definição do cluster de cache, dos hosts de cache, e das caches nomeadas. Todos os servidores de cache do cluster devem ser capazes de acessar o banco de dados de configurações do cluster.

Para obter mais informações sobre como preparar um banco de dados SQL Server para o local de armazenamento de configurações do cluster, consulte o Guia de Instalação do Windows Server AppFabric (https://go.microsoft.com/fwlink/?LinkId=169172).

Durante a configuração dos recursos de Cache do AppFabric, você tem a opção de especificar um banco de dados SQL Server existente, ou pode fazer com que o assistente crie um novo banco de dados para você no SQL Server especificado. Todos os servidores de cache do cluster devem ser capazes de acessar o banco de dados de configurações do cluster.

Dica

Por padrão, o Serviço de Cache do AppFabric não inicia automaticamente. Em vez disso, você deve iniciar o serviço com o comando Start-CacheCluster de um prompt de comando administrativo do Windows Powershell. No entanto, quando o SQL Server for usado para o repositório de configuração, você poderá alterar o serviço em cada host de cache para iniciar automaticamente. Você pode fazer isso modificando as propriedades do "Serviço de Cache do AppFabric" na ferramenta do administrador de Serviços em cada servidor de cache para alterar o tipo de início para automático.

Considerações de disponibilidade

O local de armazenamento de configurações de cluster pode ser um ponto único de falha do seu sistema distribuído de cache. Por esse motivo, recomendamos que você siga as etapas para aumentar a disponibilidade do banco de dados do SQL Server que armazena as definições de configuração do cluster. Uma opção é usar o Cluster de failover do Microsoft Windows Server 2008 (a página pode estar em inglês) (https://go.microsoft.com/fwlink/?LinkId=130692) para hospedar um recurso de banco de dados "agrupado" no local de armazenamento da configuração de cluster do cache.

Outra opção é usar o Espelhamento de Banco de Dados do SQL Server. Para obter mais informações, consulte Usando Espelhamento de Banco de Dados (a página pode estar em inglês) (https://go.microsoft.com/fwlink/?LinkId=190691). Observe que, para usar o Espelhamento de Banco de Dados, há três requisitos:

  • Adicione a propriedade Failover Partner à cadeia de conexão.

  • Adicione a conta da máquina para cada host de cache como um login do SQL Server no servidor parceiro. Por exemplo, se o nome da máquina for CacheServer1 no domínio Domain1, a conta da máquina será Domain1\CacheServer1$. Isso é feito automaticamente para o SQL Server principal, mas deve ser feito manualmente para o servidor parceiro de failover.

  • Adicione a conta da máquina para cada host de cache como um usuário no banco de dados de configuração espelhado no servidor parceiro. Esse usuário deve ter permissões db_datareader e db_datawriter.

Se o cluster de cache já estiver configurado, você poderá modificar a cadeia de conexão manualmente usando os comandos do Windows PowerShell. Use as seguintes etapas em cada máquina do host de cache:

  1. Abra uma janela de comando do Windows PowerShell e execute o comando Use-CacheCluster.

  2. Execute os comandos Remove-CacheHost e Remove-CacheAdmin.

  3. Execute o comando Add-CacheHost, especificando a nova cadeia de conexão com a propriedade Failover Partner. Por exemplo:

    Add-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"  -Account "NT Authority\Network Service"
    
  4. Execute o comando Add-CacheAdmin, especificando a nova cadeia de conexão com a propriedade Failover Partner. Por exemplo:

    Add-CacheAdmin -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"
    

Dica

Você pode baixar um script, ChangeConnString.ps1, para automatizar as alterações da cadeia de conexão em todos os hosts de cache. Para obter mais informações, consulte Download de ChangeConnString.ps1 (a página pode estar em inglês).

Dica

O administrador do cluster de cache precisa ter permissões db_owner no banco de dados do repositório de configuração do cluster de cache para executar comandos de cache no Windows PowerShell após um failover.

Permissões

Todos os hosts de cache deve ter permissões de logon no servidor de banco de dados que hospeda o banco de dados de configurações do cluster. O banco de dados de configurações do cluster também devem ter seus parâmetros de segurança configurados de modo que cada servidor de cache tenha um login no SQL Server e as permissões db_datareader, db_datawriter e EXECUTE no banco de dados.

Dica

O programa de instalação tentará configurar automaticamente essas permissões. Perceba que a identidade de segurança da pessoa que executa a instalação deve ter permissões db_owner no banco de dados SQL Server e um logon do SQL Server para a instância do SQL Server.

Se você criar um grupo de segurança do Windows para gerenciar o acesso ao banco de dados de configurações de cache, precisará configurar o logon do SQL Server e as permissões de banco de dados uma única vez. Por exemplo, você pode criar um grupo de segurança do Windows chamado ClusterACacheServers para indicar os servidores de cache que terão permissão de fazer parte do cluster de cache ClusterA.

Depois de criar o grupo de segurança ClusterACacheServers, conceda às contas de domínio de computador dos respectivos servidores de cache a participação nesse grupo (por exemplo, domain\computername$). Em seguida, conceda ao grupo de segurança ClusterACacheServers um logon no SQL Server, e as permissões db_datawriter, db_datareader e EXECUTE no banco de dados. Depois dessa configuração, sempre que você adicionar um servidor no cluster de cache, só precisará adicionar a conta de computador de domínio do novo servidor no grupo de segurança.

Estrutura de banco de dados

Quando você configurar pela primeira vez os recursos de Cache do AppFabric com a opção de configuração baseada no SQL Server, a ferramenta de configuração criará várias tabelas no banco de dados especificado. Além disso, alguns procedimentos armazenados são acrescentados para as operações internas do cluster.

Dica

Os dados no banco de dados de configurações de cluster não devem ser editados manualmente. Para ajudar a garantir o funcionamento contínuo do cluster, apenas os hosts de cache e o programa de instalação podem gravar no banco de dados.

Segurança do Banco de Dados

Uso de senhas em cadeias de conexão apresenta um risco à segurança e deve ser evitado sempre que possível. As cadeias de conexão ficam armazenadas em texto simples no arquivo de configuração do host de cache em cada servidor de cache, em DistributedCacheService.exe.config. Para reduzir esses riscos, use a segurança integrada para estabelecer uma conexão confiável com o SQL Server. Utilizando esse método, você não precisa armazenar uma senha na cadeia de conexão. Na ausência da segurança integrada, será necessário incluir uma senha em texto simples na cadeia de conexão. A melhor maneira de ajudar a proteger sua cadeia de conexão é a seguinte, em ordem crescente de risco:

  1. Usar a segurança integrada.

  2. Proteger as cadeias de conexão com senhas e reduzir a circulação de cadeias de conexão.

  3. Reduzir as validades e os pontos de contato de todas as cadeias de conexão.

Conexões de banco de dados

Quando você usa um banco de dados SQL Server 2005 ou posterior para armazenar os parâmetros de configuração de cluster, verifique se o servidor está configurado para permitir conexões simultâneas suficientes para dar conta de todos os hosts de cache no cluster. Não é permitido que o número de servidores de cache no cluster ultrapasse a quantidade disponível de conexões simultâneas.

O servidor pode ser configurado para não limitar o número de conexões simultâneas, mas o administrador de banco de dados também pode configurar esse parâmetro com um valor muito baixo, por razões administrativas ou de outra natureza. Nesses casos, verifique se o servidor pode permitir mais conexões antes de adicionar hosts de cache no cluster de cache.

Consulte também

Conceitos

Configuração de cluster baseado em pasta compartilhada
Definições de configuração de cluster
Como configurar um cliente de cache
Configurando o cluster de cache
Desenvolvendo um cliente de cache

  2012-03-05