Compartilhar via


Clustering de várias sub-redes do SQL Server

Aplica-se:SQL Server

Um cluster de failover de várias sub-redes do SQL Server é uma configuração na qual cada nó de cluster de failover está conectado a uma sub-rede diferente ou a um conjunto diferente de sub-redes. Essas sub-redes podem estar no mesmo local ou em sites geograficamente dispersos. Os clusters em sites geograficamente dispersos às vezes são chamados de clusters estendidos. Como não há armazenamento compartilhado que todos os nós possam acessar, os dados devem ser replicados entre o armazenamento de dados nas várias sub-redes. Quando você replica dados, há mais de uma cópia dos dados disponíveis. Portanto, um cluster de failover de várias sub-redes fornece uma solução de recuperação de desastres além de alta disponibilidade.

Cluster de failover de várias sub-redes do SQL Server (dois nós, duas sub-redes)

A ilustração a seguir representa uma FCI (instância de cluster de failover) de dois nós e duas sub-redes no SQL Server.

Diagrama que mostra uma arquitetura de várias sub-redes com MultiSubnetFailover.

Configurações de instância de cluster de failover de várias sub-redes

A seguir estão alguns exemplos de FCIs do SQL Server que usam várias sub-redes:

  • SQL Server SQLCLUST1 inclui Node1 e Node2. Node1 é conectado a Subnet1. Node2 é conectado a Subnet2. A Instalação do SQL Server vê essa configuração como um cluster de várias sub-redes e define a dependência do recurso de endereço IP como OR.

  • O SQLCLUST2 de FCI do SQL Server inclui Node1, Node2 e Node3. Node1 e Node2 são conectados a Subnet1. Node 3 é conectado a Subnet2. A Instalação do SQL Server vê essa configuração como um cluster de várias sub-redes e define a dependência do recurso de endereço IP como OR. Como Node1 e Node2 estão na mesma sub-rede, essa configuração fornece alta disponibilidade local adicional.

  • O SQLCLUST3 de FCI do SQL Server inclui Node1 e Node2. Node1 está em Subnet1. Node2 está em Subnet1 e Subnet2. A Instalação do SQL Server vê essa configuração como um cluster de várias sub-redes e define a dependência do recurso de endereço IP como OR.

  • O SQLCLUST4 de FCI do SQL Server inclui Node1 e Node2. Node1 é conectado a Subnet1 e Subnet2. Node2 também é conectado a Subnet1 e Subnet2. A Instalação do SQL Server define a dependência do recurso de endereço IP como AND.

    Observação

    Essa configuração não é considerada uma configuração de cluster de failover de várias sub-redes porque os nós clusterizados estão no mesmo conjunto de sub-redes.

Considerações sobre o recurso de endereço IP

Em uma configuração de cluster de failover de várias sub-redes, os endereços IP não pertencem a todos os nós no cluster de failover e podem não estar todos online durante a inicialização do SQL Server. A partir do SQL Server 2012 (11.x), você pode definir a dependência do recurso de endereço IP como OR. Isso permite que o SQL Server fique online quando houver pelo menos um endereço IP válido ao qual ele possa se associar.

Observação

Em versões do SQL Server anteriores ao SQL Server 2012 (11.x), uma tecnologia de V-LAN de extensão foi usada em configurações de cluster de vários sites para expor um único endereço IP para failover entre sites. Agora que o SQL Server pode clusterizar nós em diferentes sub-redes, você pode configurar clusters de failover do SQL Server em vários sites sem implementar a tecnologia stretch V-LAN.

Considerações sobre dependência ou recurso de endereço IP

Talvez você queira considerar o seguinte comportamento de failover se definir a dependência do recurso de endereço IP como OR:

  • Quando há uma falha de um dos endereços IP no nó que atualmente possui o grupo de recursos de cluster do SQL Server, um failover não é disparado automaticamente até que todos os endereços IP válidos nesse nó falhem.

  • Quando ocorre um failover, o SQL Server fica online se pode se associar a pelo menos um endereço IP válido no nó atual. Os endereços IP que não foram associados ao SQL Server na inicialização serão listados no log de erros.

Quando uma FCI do SQL Server é instalada lado a lado com uma instância autônoma do Mecanismo de Banco de Dados do SQL Server, tenha cuidado para evitar conflitos de número de porta TCP nos endereços IP. Os conflitos geralmente ocorrem quando duas instâncias do Mecanismo de Banco de Dados são configuradas para usar a porta TCP padrão (1433). Para evitar conflitos, configure uma instância para usar uma porta fixa não padrão. A configuração de uma porta fixa geralmente é mais fácil na instância autônoma. Configurar o Mecanismo de Banco de Dados para usar portas diferentes impede um conflito de porta TCP/endereço IP inesperado que bloqueia uma inicialização de instância quando uma FCI do SQL Server falha no nó em espera.

Latência de recuperação do cliente durante o failover

Por padrão, uma FCI de várias sub-redes habilita o recurso de cluster RegisterAllProvidersIP para seu nome de rede. Em uma configuração de várias sub-redes, os endereços IP online e offline do nome da rede são registrados no servidor DNS. Em seguida, o aplicativo cliente recupera todos os endereços IP registrados do servidor DNS e tenta se conectar aos endereços, em ordem ou em paralelo. Isso significa que o tempo de recuperação do cliente em failovers de várias sub-redes não depende mais das latências de atualização de DNS. Por padrão, o cliente tenta os endereços IP na ordem. Quando o cliente usa o parâmetro opcional MultiSubnetFailover=True em sua cadeia de conexão, ele tenta os endereços IP simultaneamente e se conecta ao primeiro servidor que responde. Essa configuração pode ajudar a minimizar a latência de recuperação do cliente quando ocorrem failovers. Para obter mais informações, consulte Conectividade do cliente Always On (SQL Server) e Criar ou configurar um ouvinte de grupo de disponibilidade (SQL Server).

Com bibliotecas de clientes herdadas ou provedores de dados que não são da Microsoft, você não pode usar o parâmetro MultiSubnetFailover na cadeia de conexão. Para ajudar a assegurar que seu aplicativo cliente funcione de maneira ideal com FCI de várias sub-redes no SQL Server, tente ajustar o tempo limite de conexão na cadeia de conexão de cliente antes de 21 segundos para cada endereço IP adicional. Essa configuração garante que a tentativa de reconexão do cliente não tenha tempo limite antes de poder percorrer todos os endereços IP na FCI de várias sub-redes.

O período de tempo limite de conexão do cliente padrão para SQL Server Management Studio e sqlcmd é de 15 segundos.

Observação

Se você estiver usando várias sub-redes e tiver um DNS estático, precisará ter um processo em vigor para atualizar o registro DNS associado ao ouvinte antes de executar um failover. Caso contrário, o nome da rede não entrará online.

Description Artigo
Instalar um cluster de failover do SQL Server Criar um novo cluster de failover do SQL Server (Instalação)
Atualização in-loco do cluster de failover do SQL Server existente Atualizar uma instância de cluster de failover do SQL Server (Instalação)
Manter o cluster de failover do SQL Server Adicionar ou remover nós em um cluster de failover do SQL Server (Instalação)
Use o snap-in gerenciamento de cluster de failover para exibir os logs e eventos do Cluster de Failover do Windows Server Exibir eventos e logs para um cluster de failover
Usar o Windows PowerShell para criar um arquivo de log para todos os nós (ou um nó específico) em um cluster de failover do Windows Server Get-ClusterLog cmdlet de cluster de failover