Configurar um grupo de disponibilidade entre regiões do Azure - SQL Server em VMs do Azure
Aplica-se a:SQL Server na VM do Azure
Este tutorial explica como configurar uma réplica de grupo de disponibilidade Always On para o SQL Server em máquinas virtuais (VMs) do Azure em uma região do Azure que é remota para a réplica primária. Você pode usar essa configuração para fins de recuperação de desastres (DR).
Você também pode usar as etapas neste artigo para estender um grupo de disponibilidade local existente para o Azure.
Este tutorial se baseia no tutorial para implantar manualmente um grupo de disponibilidade em uma única sub-rede em uma única região. As menções à região local neste artigo referem-se às máquinas virtuais e ao grupo de disponibilidade já configurados na primeira região. A região remota é a nova infraestrutura que está sendo adicionada neste tutorial.
Descrição geral
A imagem a seguir mostra uma implantação comum de um grupo de disponibilidade em máquinas virtuais do Azure:
Na implantação mostrada no diagrama, todas as máquinas virtuais estão em uma região do Azure. As réplicas do grupo de disponibilidade podem ter confirmação síncrona com failover automático em SQL-1 e SQL-2. Para criar essa arquitetura, consulte o modelo de grupo de disponibilidade ou tutorial.
Essa arquitetura fica vulnerável a tempo de inatividade se a região do Azure se tornar inacessível. Para superar essa vulnerabilidade, adicione uma réplica em uma região diferente do Azure. O diagrama a seguir mostra a aparência da nova arquitetura:
O diagrama mostra uma nova máquina virtual chamada SQL-3. O SQL-3 está em uma região diferente do Azure. Ele é adicionado ao cluster de failover do Windows Server e pode hospedar uma réplica de grupo de disponibilidade.
A região do Azure para SQL-3 tem um novo balanceador de carga do Azure. Nessa arquitetura, a réplica na região remota é normalmente configurada com o modo de disponibilidade de confirmação assíncrona e o modo de failover manual.
Nota
Um conjunto de disponibilidade do Azure é necessário quando mais de uma máquina virtual está na mesma região. Se apenas uma máquina virtual estiver na região, o conjunto de disponibilidade não será necessário.
Você pode colocar uma máquina virtual em um conjunto de disponibilidade somente no momento da criação. Se a máquina virtual já estiver em um conjunto de disponibilidade, você poderá adicionar uma máquina virtual para uma réplica adicional posteriormente.
Quando as réplicas do grupo de disponibilidade estão em máquinas virtuais do Azure em diferentes regiões do Azure, você pode conectar as redes virtuais usando o emparelhamento de rede virtual ou um gateway VPN site a site.
Importante
Essa arquitetura incorre em cobranças de dados de saída para dados replicados entre regiões do Azure. Consulte Preços de largura de banda.
Criar a rede e a sub-rede
Antes de criar uma rede virtual e uma sub-rede em uma nova região, decida o espaço de endereço, a rede de sub-rede, o IP do cluster e os endereços IP do ouvinte do grupo de disponibilidade que você usará para a região remota.
A tabela a seguir lista detalhes da região local (atual) e o que será configurado na nova região remota.
Tipo | Região | Região remota |
---|---|---|
Espaço de endereços | 192.168.0.0/16 | 10.36.0.0/16 |
Rede de sub-rede | 192.168.15.0/24 | 10.36.1.0/24 |
IP de cluster | 192.168.15.200 | 10.36.1.200 |
IP do ouvinte do grupo de disponibilidade | 192.168.15.201 | 10.36.1.201 |
Para criar uma rede virtual e uma sub-rede na nova região no portal do Azure:
Vá para o seu grupo de recursos no portal do Azure e selecione + Criar.
Procure rede virtual na caixa de pesquisa do Marketplace e, em seguida, selecione o mosaico de rede virtual da Microsoft.
Na página Criar rede virtual, selecione Criar. Em seguida, insira as seguintes informações na guia Noções básicas :
- Em Detalhes do projeto, para Assinatura, selecione a assinatura apropriada do Azure. Em Grupo de recursos, selecione o grupo de recursos criado anteriormente, como SQL-HA-RG.
- Em Detalhes da instância, forneça um nome para sua rede virtual, como remote_HAVNET. Em seguida, escolha uma nova região remota.
Na guia Endereços IP, selecione as reticências (...) ao lado de + Adicionar uma sub-rede. Selecione Excluir espaço de endereço para remover o espaço de endereço existente, se precisar de um intervalo de endereços diferente.
Selecione Adicionar um espaço de endereço IP para abrir o painel e criar o espaço de endereço de que você precisa. Este tutorial usa o espaço de endereço da região remota: 10.36.0.0/16. Selecione Adicionar.
Selecione + Adicionar uma sub-rede e, em seguida:
Forneça um valor para o nome da sub-rede, como admin.
Forneça um intervalo de endereços de sub-rede exclusivo dentro do espaço de endereço da rede virtual.
Por exemplo, se o intervalo de endereços for 10.36.0.0/16, insira estes valores para a sub-rede admin: 10.36.1.0 para Endereço inicial e /24 para Tamanho da sub-rede.
Selecione Adicionar para adicionar sua nova sub-rede.
Conectar as redes virtuais nas duas regiões do Azure
Depois de criar a nova rede virtual e sub-rede, você estará pronto para conectar as duas regiões para que elas possam se comunicar entre si. Há dois métodos para fazer isso:
Conectar redes virtuais com emparelhamento de rede virtual usando o portal do Azure (recomendado)
Em alguns casos, talvez seja necessário usar o PowerShell para criar a conexão entre redes virtuais. Por exemplo, se você usar contas diferentes do Azure, não poderá configurar a conexão no portal. Nesse caso, revise Configurar uma conexão de rede para rede usando o portal do Azure.
Configurar uma conexão de gateway VPN site a site usando o portal do Azure
Este tutorial usa emparelhamento de rede virtual. Para configurar o emparelhamento de rede virtual:
Na caixa de pesquisa na parte superior do portal do Azure, digite autoHAVNET, que é a rede virtual em sua região local. Quando o autoHAVNET aparecer nos resultados da pesquisa, selecione-o.
Em Definições, selecione Emparelhamento e, em seguida, selecione + Adicionar.
Insira ou selecione as seguintes informações, aceite os padrões para as configurações restantes e selecione Adicionar.
Definição Valor Esta rede virtual Nome do link de emparelhamento Digite autoHAVNET-remote_HAVNET para o nome do emparelhamento de autoHAVNET para a rede virtual remota. Rede virtual remota Nome do link de emparelhamento Digite remote_HAVNET-autoHAVNET para o nome do emparelhamento da rede virtual remota para autoHAVNET. Subscrição Selecione sua assinatura para a rede virtual remota. Rede virtual Selecione remote_HAVNET para o nome da rede virtual remota. A rede virtual remota pode estar na mesma região do autoHAVNET ou em uma região diferente. Na página Emparelhamento, o status de emparelhamento é Conectado.
Se não vir um estado Ligado , selecione o botão Atualizar .
Criar um controlador de domínio
Um controlador de domínio na nova região é necessário para fornecer autenticação se o site primário não estiver disponível. Para criar o controlador de domínio na nova região:
- Retorne ao grupo de recursos SQL-HA-RG .
- Selecione + Criar.
- Digite Windows Server 2016 Datacenter e selecione o resultado do Windows Server 2016 Datacenter.
- No Windows Server 2016 Datacenter, verifique se o modelo de implantação é o Gerenciador de Recursos e selecione Criar.
A tabela a seguir mostra as configurações para as duas máquinas:
Definição | valor |
---|---|
Name | Controlador de domínio remoto: ad-remote-dc |
Tipo de disco da VM | SSD |
Nome de utilizador | DomainAdmin |
Palavra-passe | Contoso!0000 |
Subscrição | A sua subscrição |
Grupo de recursos | SQL-HA-RG |
Location | A sua localização |
Tamanho | DS1_V2 |
Armazenamento | Usar discos gerenciados: Sim |
Rede virtual | remote_HAVNET |
Sub-rede | administrador |
Endereço IP público | Mesmo nome da VM |
Grupo de segurança de rede | Mesmo nome da VM |
Diagnóstico | Activado |
Conta de armazenamento de diagnóstico | Criado automaticamente |
O Azure cria as máquinas virtuais.
Configurar o controlador de domínio
Nas etapas a seguir, configure a máquina ad-remote-dc como um controlador de domínio para corp.contoso.com:
Definir endereço de servidor DNS preferencial
O endereço do servidor DNS preferencial não deve ser atualizado diretamente em uma VM, ele deve ser editado a partir do portal do Azure, do PowerShell ou da CLI do Azure. As etapas abaixo são para fazer a alteração dentro do portal do Azure:
Inicie sessão no portal do Azure.
Na caixa de pesquisa na parte superior do portal, digite Interface de rede. Selecione Interfaces de rede nos resultados da pesquisa.
Selecione a interface de rede para o segundo controlador de domínio que você deseja exibir ou alterar as configurações na lista.
Em Configurações, selecione Servidores DNS.
Como esse controlador de domínio não está na mesma rede virtual que o controlador de domínio primário, selecione Personalizado e insira o endereço IP do controlador de domínio primário, como
192.168.15.4
. O endereço do servidor DNS especificado é atribuído apenas a esta interface de rede e substitui qualquer definição DNS para a rede virtual à qual a interface de rede está atribuída.Selecione Guardar.
Retorne à máquina virtual no portal do Azure e reinicie a VM. Depois que a máquina virtual for reiniciada, você poderá associar a VM ao domínio.
Associar o domínio
Em seguida, junte-se ao domínio corp.contoso.com . Para o fazer, siga estes passos:
- Conecte-se remotamente à máquina virtual usando a conta BUILTIN\DomainAdmin .
- Abra o Gerenciador do Servidor e selecione Servidor Local.
- Selecione GRUPO de TRABALHO.
- Na seção Nome do Computador, selecione Alterar.
- Marque a caixa de seleção Domínio e digite corp.contoso.com na caixa de texto. Selecione OK.
- Na caixa de diálogo pop-up Segurança do Windows, especifique as credenciais para a conta de administrador de domínio padrão (CORP\DomainAdmin) e a senha (Contoso!0000).
- Quando vir a mensagem "Bem-vindo ao domínio corp.contoso.com", selecione OK.
- Selecione Fechar e, em seguida, selecione Reiniciar agora na caixa de diálogo pop-up.
Configurar controlador de domínio
Depois que o servidor ingressar no domínio, você poderá configurá-lo como o segundo controlador de domínio. Para o fazer, siga estes passos:
Se ainda não estiver ligado, abra uma sessão RDP no controlador de domínio secundário e abra o Painel do Gestor de Servidor (que pode estar aberto por predefinição).
Selecione o link Adicionar funções e recursos no painel.
Selecione Avançar até chegar à seção Funções de Servidor.
Selecione as funções Serviços de Domínio Ative Directory e Servidor DNS. Quando solicitado, adicione todos os recursos adicionais exigidos por essas funções.
Depois que os recursos terminarem a instalação, retorne ao painel do Gerenciador do Servidor.
Selecione a nova opção AD DS no painel esquerdo.
Selecione o link Mais na barra de aviso amarela.
Na coluna Ação da caixa de diálogo Todos os Detalhes da Tarefa do Servidor, selecione Promover este servidor a um controlador de domínio.
Em Configuração de Implantação, selecione Adicionar um controlador de domínio a um domínio existente.
Clique em Selecionar.
Conecte-se usando a conta de administrador (CORP.CONTOSO.COM\domainadmin) e a senha (Contoso!0000).
Em Selecione um domínio da floresta, escolha seu domínio e selecione OK.
Em Opções do Controlador de Domínio, use os valores padrão e defina uma senha DSRM.
Nota
A página Opções de DNS pode avisá-lo de que não é possível criar uma delegação para este servidor DNS. Você pode ignorar esse aviso em ambientes que não sejam de produção.
Selecione Avançar até que a caixa de diálogo atinja a verificação Pré-requisitos. Em seguida, selecione Instalar.
Depois que o servidor concluir as alterações de configuração, reinicie o servidor.
Criar uma VM do SQL Server
Depois que o controlador de domínio for reiniciado, a próxima etapa será criar uma máquina virtual do SQL Server na nova região.
Antes de prosseguir, considere as seguintes decisões de design:
Armazenamento: discos gerenciados do Azure
Para o armazenamento de máquina virtual, use discos gerenciados do Azure. Recomendamos discos gerenciados para máquinas virtuais do SQL Server. Os discos gerenciados lidam com o armazenamento nos bastidores. Além disso, quando as máquinas virtuais com discos gerenciados estão no mesmo conjunto de disponibilidade, o Azure distribui os recursos de armazenamento para fornecer redundância apropriada.
Para obter mais informações, consulte Introdução aos discos gerenciados do Azure. Para obter informações específicas sobre discos gerenciados em um conjunto de disponibilidade, consulte Usar discos gerenciados para VMs em um conjunto de disponibilidade.
Rede: Endereços IP privados em produção
Para as máquinas virtuais, este tutorial usa endereços IP públicos. Um endereço IP público permite a conexão remota diretamente com a máquina virtual pela Internet e facilita as etapas de configuração. Em ambientes de produção, recomendamos apenas endereços IP privados. Os endereços IP privados reduzem a pegada de vulnerabilidade da VM do SQL Server.
Rede: NIC única por servidor
Use uma única placa de interface de rede (NIC) por servidor (nó de cluster) e uma única sub-rede. A rede do Azure tem redundância física, o que torna NICs e sub-redes adicionais desnecessárias em um cluster convidado de VM do Azure. O relatório de validação de cluster avisará que os nós podem ser acessados em apenas uma única rede. Você pode ignorar esse aviso nos clusters de failover de convidado da VM do Azure.
Criar e configurar a VM do SQL Server
Para criar a VM do SQL Server, volte para o grupo de recursos SQL-HA-RG e selecione Adicionar. Procure o item de galeria apropriado, selecione Máquina Virtual e, em seguida, selecione Da Galeria. Use as informações na tabela a seguir para ajudá-lo a criar as VMs:
Página | Definição |
---|---|
Selecione o item de galeria apropriado | SQL Server 2016 SP1 Enterprise no Windows Server 2016 |
Configuração da máquina virtual: noções básicas | Nome = : sqlserver-2 Nome = de usuário DomainAdmin Senha = Contoso!0000 Subscrição = A sua subscrição Grupo de recursos = SQL-HA-RG Localização = A sua região remota |
Configuração da máquina virtual: Tamanho | Tamanho = DS2_V2 (2 vCPUs, 7 GB) O tamanho deve suportar armazenamento SSD (suporte de disco premium). |
Configuração da máquina virtual: Definições | Armazenamento: use discos gerenciados Rede = virtual remote-HAVNET Administração da sub-rede = (10.36.1.0/24) Endereço IP público = gerado automaticamente Grupo = de segurança de rede Nenhum Diagnóstico de monitoramento = Ativado Conta de armazenamento de diagnóstico Usar uma conta de armazenamento = gerada automaticamente |
Configuração da máquina virtual: configurações do SQL Server | Conectividade = SQL Privada (dentro da Rede Virtual) Porta = 1433 Autenticação SQL = Desabilitado Configuração de armazenamento = Geral Correção = automatizada domingo às 2:00 Backup automatizado = desativado Integração do Azure Key Vault = Desabilitada |
Nota
O tamanho da máquina sugerido aqui destina-se a testar grupos de disponibilidade em máquinas virtuais do Azure. Para obter o melhor desempenho em cargas de trabalho de produção, consulte as recomendações para tamanhos e configuração de máquinas do SQL Server em Lista de verificação: Práticas recomendadas para SQL Server em VMs do Azure.
Depois que a VM estiver totalmente provisionada, você precisará associá-la ao domínio corp.contoso.com e conceder direitos administrativos CORP\Install às máquinas.
Associar o servidor ao domínio
Para associar a VM ao corp.contoso.com, use as seguintes etapas para a VM do SQL Server:
- Conecte-se remotamente à máquina virtual usando BUILTIN\DomainAdmin.
- No Gerenciador do Servidor, selecione Servidor Local.
- Selecione o link GRUPO de TRABALHO .
- Na seção Nome do Computador, selecione Alterar.
- Marque a caixa de seleção Domínio e digite corp.contoso.com na caixa de texto. Em seguida, selecione OK.
- Na caixa de diálogo pop-up Segurança do Windows, especifique as credenciais para a conta de administrador de domínio padrão (CORP\DomainAdmin) e a senha (Contoso!0000).
- Quando vir a mensagem "Bem-vindo ao domínio corp.contoso.com", selecione OK.
- Selecione Fechar e, em seguida, selecione Reiniciar agora na caixa de diálogo pop-up.
Adicionar contas
A próxima tarefa é adicionar a conta de instalação como administrador na VM do SQL Server e, em seguida, conceder permissão a essa conta e às contas locais no SQL Server. Em seguida, você pode atualizar a conta de serviço do SQL Server.
Adicionar o usuário CORP\Install como administrador em cada VM de cluster
Depois que a máquina virtual do SQL Server for reiniciada como membro do domínio, adicione CORP\Install como membro do grupo de administradores locais:
Aguarde até que a VM seja reiniciada e, em seguida, abra o arquivo RDP novamente a partir do controlador de domínio primário. Entre no sqlserver-2 usando a conta CORP\DomainAdmin .
Gorjeta
Em etapas anteriores, você estava usando a conta de administrador BUILTIN . Agora que o servidor está no domínio, certifique-se de que inicia sessão com a conta de administrador do domínio. Na sua sessão RDP, especifique o nome de utilizador DOMAIN\.
No Gerenciador do Servidor, selecione Ferramentas e, em seguida, selecione Gerenciamento do Computador.
Na janela Gerenciamento do Computador, expanda Usuários e Grupos Locais e selecione Grupos.
Clique duas vezes no grupo Administradores .
Na caixa de diálogo Propriedades do administrador, selecione o botão Adicionar.
Digite o usuário como CORP\Install e selecione OK.
Selecione OK para fechar a caixa de diálogo Propriedades do administrador.
Criar uma entrada em cada VM do SQL Server para a conta de instalação
Use a conta de instalação (CORP\Install) para configurar o grupo de disponibilidade. Essa conta precisa ser membro da função de servidor fixa sysadmin em cada VM do SQL Server. As etapas a seguir criam uma entrada para a conta de instalação. Conclua-os em ambas as VMs do SQL Server.
Conecte-se ao servidor através do RDP usando a <conta MachineName>\DomainAdmin .
Abra o SQL Server Management Studio e conecte-se à instância local do SQL Server.
No Pesquisador de Objetos, selecione Segurança.
Clique com o botão direito do rato em Inícios de sessão. Selecione Novo login.
Em Login - Novo, selecione Pesquisar.
Selecione Locais.
Insira as credenciais de rede do administrador do domínio. Use a conta de instalação (CORP\Install).
Defina o início de sessão como membro da função de servidor fixa sysadmin .
Selecione OK.
Configurar permissões de conta do sistema
Para criar uma conta do sistema e conceder as permissões apropriadas, conclua as seguintes etapas em cada instância do SQL Server:
Use o seguinte script para criar uma conta para
[NT AUTHORITY\SYSTEM]
:USE [master] GO CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master] GO
Conceda as seguintes permissões a
[NT AUTHORITY\SYSTEM]
:ALTER ANY AVAILABILITY GROUP
CONNECT SQL
VIEW SERVER STATE
O script a seguir concede essas permissões:
GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM] GO GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM] GO GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM] GO
Definir as contas de serviço do SQL Server
Em cada VM do SQL Server, conclua as etapas a seguir para definir a conta de serviço do SQL Server. Use as contas que você criou quando configurou as contas de domínio.
- Abra o SQL Server Configuration Manager.
- Clique com o botão direito do mouse no serviço SQL Server e selecione Propriedades.
- Defina a conta e a senha.
Para grupos de disponibilidade do SQL Server, cada VM do SQL Server precisa ser executada como uma conta de domínio.
Criar um balanceador de carga do Azure
Um balanceador de carga é necessário na região remota para dar suporte ao grupo de disponibilidade do SQL Server. O balanceador de carga contém os endereços IP para os ouvintes do grupo de disponibilidade e o cluster de failover do Windows Server. Esta seção resume como criar o balanceador de carga no portal do Azure.
O balanceador de carga deve:
- Esteja na mesma rede e sub-rede que a nova máquina virtual.
- Ter um endereço IP estático para o ouvinte do grupo de disponibilidade.
- Inclua um pool de back-end que consiste apenas nas máquinas virtuais na mesma região do balanceador de carga.
- Use uma sonda de porta TCP específica para o endereço IP.
- Tenha uma regra de balanceamento de carga específica para a instância do SQL Server na mesma região.
- Seja um balanceador de carga padrão se as máquinas virtuais no pool de back-end não fizerem parte de um único conjunto de disponibilidade ou de um conjunto de escala de máquina virtual. Para obter mais informações, consulte O que é o Azure Load Balancer?.
- Seja um balanceador de carga padrão se as duas redes virtuais em duas regiões diferentes estiverem emparelhadas no emparelhamento de rede virtual global. Para obter mais informações, consulte Perguntas frequentes (FAQ) da Rede Virtual do Azure.
As etapas para criar o balanceador de carga são:
No portal do Azure, vá para o grupo de recursos onde sua instância do SQL Server está e selecione + Adicionar.
Procure por Load Balancer. Escolha o balanceador de carga que a Microsoft publica.
Selecione Criar.
Configure os seguintes parâmetros para o balanceador de carga:
Definição Valor Subscrição Use a mesma assinatura que a máquina virtual. Grupo de recursos Use o mesmo grupo de recursos que a máquina virtual. Name Use um nome de texto para o balanceador de carga (por exemplo, remoteLB). Região Use a mesma região que a máquina virtual. SKU Selecione Padrão. Tipo Selecione Interno. O painel do portal do Azure deve ter esta aparência:
Selecione Next: Frontend IP Configuration.
Selecione Adicionar uma configuração de IP frontend.
Configure o endereço IP frontend usando os seguintes valores:
- Nome: use um nome que identifique a configuração de IP do frontend.
- Rede virtual: use a mesma rede que as máquinas virtuais.
- Sub-rede: use a mesma sub-rede que as máquinas virtuais.
- Atribuição: Selecione Estático.
- Endereço IP: use um endereço disponível da sub-rede. Use este endereço para o ouvinte do grupo de disponibilidade. Este endereço é diferente do endereço IP do cluster.
- Zona de disponibilidade: opcionalmente, escolha uma zona de disponibilidade para implantar seu endereço IP.
Selecione Adicionar.
Selecione Rever + Criar para validar a configuração e, em seguida, selecione Criar para criar o balanceador de carga e o endereço IP do frontend.
Para configurar o balanceador de carga, você precisa criar um pool de back-end, criar uma sonda e definir as regras de balanceamento de carga.
Adicionar um pool de back-end para o ouvinte do grupo de disponibilidade
No portal do Azure, vá para o seu grupo de disponibilidade. Talvez seja necessário atualizar a exibição para ver o balanceador de carga recém-criado.
Selecione o balanceador de carga, selecione Pools de back-end e selecione +Adicionar.
Em Name, forneça um nome para o pool de back-end.
Para Configuração do Pool de Back-end, selecione NIC.
Selecione Adicionar para associar o pool de back-end à VM do SQL Server recém-criada.
Em Máquina virtual, escolha a máquina virtual que hospedará a réplica do grupo de disponibilidade.
Selecione Adicionar para adicionar a máquina virtual ao pool de back-end.
Selecione Guardar.
Definir a sonda
No portal do Azure, selecione o balanceador de carga, selecione Sondas de integridade e selecione +Adicionar.
Defina a sonda de integridade do ouvinte da seguinte maneira:
Definição Descrição Exemplo Name Texto SQLAlwaysOnEndPointProbe Protocolo Escolha TCP TCP Porta Qualquer porta não utilizada 59999 Intervalo A quantidade de tempo entre as tentativas de sonda, em segundos 5 Selecione Adicionar.
Definir as regras de balanceamento de carga
No portal do Azure, selecione o balanceador de carga, selecione Regras de balanceamento de carga e selecione +Adicionar.
Defina as regras de balanceamento de carga do ouvinte da seguinte maneira:
Definição Descrição Exemplo Name Texto SQLAlwaysOnEndPointListener Endereço IP frontend Escolha uma morada Use o endereço que você criou quando criou o balanceador de carga. Pool de back-end Escolha o pool de back-end Selecione o pool de back-end que contém as máquinas virtuais destinadas ao balanceador de carga. Protocolo Escolha TCP TCP Porta Usar a porta para o ouvinte do grupo de disponibilidade 1433 Porta de back-end Este campo não é usado quando você define um IP flutuante para retorno direto do servidor 1433 Sonda de Saúde O nome que você especificou para a sonda SQLAlwaysOnEndPointProbe Persistência da sessão Lista suspensa Nenhum Tempo limite de inatividade Minutos para manter uma conexão TCP aberta 4 IP flutuante (retorno direto do servidor) Habilite essa configuração. Aviso
O retorno direto do servidor é definido durante a criação. Não é possível alterá-lo.
Selecione Guardar.
Adicionar clustering de failover a VMs do SQL Server
Para adicionar recursos de cluster de failover, conclua as seguintes etapas em ambas as VMs do SQL Server:
Conecte-se à máquina virtual do SQL Server por meio do RDP usando a conta CORP\Install . Abra o painel do Gerenciador do Servidor.
Selecione o link Adicionar funções e recursos no painel.
Selecione Avançar até chegar à seção Recursos do Servidor.
Em Recursos, selecione Clustering de Failover.
Adicione todos os recursos necessários.
Selecione Instalar.
Nota
Agora você pode automatizar essa tarefa, além de realmente unir as VMs do SQL Server ao cluster de failover, usando a CLI do Azure e os modelos de início rápido do Azure.
Ajustar limites de rede para um cluster de failover
Quando você estiver executando nós de cluster de failover do Windows em VMs do Azure com grupos de disponibilidade do SQL Server, altere a configuração do cluster para um estado de monitoramento mais relaxado. Esta alteração tornará o cluster mais estável e fiável. Para obter detalhes, consulte IaaS com SQL Server: ajustando limites de rede de cluster de failover.
Configurar o firewall em cada VM do SQL Server
A solução requer que as seguintes portas TCP estejam abertas no firewall:
- VM do SQL Server: Porta 1433 para uma instância padrão do SQL Server.
- Sonda do balanceador de carga do Azure: qualquer porta disponível. Os exemplos utilizam frequentemente 59999.
- Sonda de integridade do endereço IP do balanceador de carga principal do cluster: qualquer porta disponível. Exemplos freqüentemente usam 58888.
- Ponto de extremidade de espelhamento de banco de dados: qualquer porta disponível. Exemplos freqüentemente usam 5022.
As portas de firewall precisam estar abertas na nova VM do SQL Server. O método de abertura das portas depende da solução de firewall que você usa. As etapas a seguir mostram como abrir as portas no Firewall do Windows:
Na tela Iniciar do SQL Server, abra o Firewall do Windows com Segurança Avançada.
No painel esquerdo, selecione Regras de entrada. No painel direito, selecione Nova Regra.
Em Tipo de Regra, selecione Porta.
Para a porta, especifique TCP e insira os números de porta apropriados. A captura de tela a seguir mostra um exemplo:
Selecione Seguinte.
Na página Ação, mantenha Permitir a conexão selecionada e selecione Avançar.
Na página Perfil, aceite as configurações padrão e selecione Avançar.
Na página Nome, especifique um nome de regra (como a Sonda Azure LB) na caixa Nome e selecione Concluir.
Adicionar o SQL Server ao cluster de failover do Windows Server
A nova VM do SQL Server precisa ser adicionada ao cluster de failover do Windows Server que existe em sua região local.
Para adicionar a VM do SQL Server ao cluster:
Use RDP para se conectar a uma VM do SQL Server no cluster existente. Use uma conta de domínio que seja um administrador nas VMs do SQL Server e no servidor testemunha.
No painel do Gerenciador do Servidor, selecione Ferramentas e, em seguida, selecione Gerenciador de Cluster de Failover.
No painel esquerdo, clique com o botão direito do mouse em Gerenciador de Cluster de Failover e selecione Conectar ao Cluster.
Na janela Selecionar Cluster, em Nome do cluster, escolha< Cluster neste servidor>. Em seguida, selecione OK.
Na árvore do navegador, clique com o botão direito do mouse no cluster e selecione Adicionar nó.
No Assistente para Adicionar Nó, selecione Avançar.
Na página Selecionar Servidores, adicione o nome da nova instância do SQL Server. Introduza o nome do servidor em Introduza o nome do servidor, selecione Adicionar e, em seguida, selecione Seguinte.
Na página Aviso de Validação , selecione Não. (Em um cenário de produção, você deve executar os testes de validação). Em seguida, selecione Seguinte.
Na página Confirmação, se estiver a utilizar Espaços de Armazenamento, desmarque a caixa de verificação Adicionar todo o armazenamento elegível ao cluster.
Aviso
Se você não desmarcar Adicionar todo o armazenamento qualificado ao cluster, o Windows desanexará os discos virtuais durante o processo de clustering. Como resultado, eles não aparecem no Gerenciador de Discos ou no Explorer até que o armazenamento seja removido do cluster e reanexado por meio do PowerShell.
Selecione Seguinte.
Selecione Concluir.
O Gerenciador de Cluster de Failover mostra que o cluster tem um novo nó e o lista no contêiner de nós .
Adicionar o endereço IP para o cluster de failover do Windows Server
Nota
No Windows Server 2019, o cluster cria um nome de servidor distribuído em vez de um nome de rede de cluster. Se estiver a utilizar o Windows Server 2019, avance para Adicionar um endereço IP para o ouvinte do grupo de disponibilidade. Você pode criar um nome de rede de cluster usando o PowerShell. Para obter mais informações, consulte a postagem do blog Cluster de Failover: Objeto de Rede de Cluster.
Em seguida, crie o recurso de endereço IP e adicione-o ao cluster para a nova VM do SQL Server:
No Gerenciador de Cluster de Failover, selecione o nome do cluster. Clique com o botão direito do rato no nome do cluster em Recursos Principais do Cluster e, em seguida, selecione Propriedades:
Na caixa de diálogo Propriedades do Cluster, selecione Adicionar em Endereços IP e adicione o endereço IP do nome do cluster da região de rede remota. Selecione OK na caixa de diálogo Endereço IP e, em seguida, selecione OK na caixa de diálogo Propriedades do Cluster para salvar o novo endereço IP.
Adicione o endereço IP como uma dependência para o nome do núcleo do cluster.
Abra a caixa de diálogo Propriedades do cluster mais uma vez e selecione a guia Dependências. Configure uma dependência OR para os dois endereços IP.
Adicionar um endereço IP para o ouvinte do grupo de disponibilidade
O endereço IP do ouvinte na região remota precisa ser adicionado ao cluster. Para adicionar o endereço IP:
No Gerenciador de Cluster de Failover, clique com o botão direito do mouse na função de grupo de disponibilidade. Aponte para Adicionar Recurso, aponte para Mais Recursos e selecione Endereço IP.
Para configurar este endereço IP, clique com o botão direito do rato no recurso em Outros Recursos e, em seguida, selecione Propriedades.
Em Nome, insira um nome para o novo recurso. Em Rede, selecione a rede no datacenter remoto. Selecione Endereço IP estático e, na caixa Endereço, atribua o endereço IP estático do novo balanceador de carga do Azure.
Selecione Apply (Aplicar) e OK.
Adicione o recurso de endereço IP como uma dependência para o cluster de ponto de acesso de cliente ouvinte (nome da rede).
Clique com o botão direito do mouse no ponto de acesso do cliente ouvinte e selecione Propriedades. Navegue até a guia Dependências e adicione o novo recurso de endereço IP ao ponto de acesso do cliente ouvinte. A captura de tela a seguir mostra um recurso de cluster de endereço IP configurado corretamente:
Importante
O grupo de recursos de cluster inclui ambos os endereços IP. Ambos os endereços IP são dependências para o ponto de acesso do cliente ouvinte. Use o operador OR na configuração de dependência de cluster.
Defina os parâmetros do cluster no PowerShell.
Execute o script do PowerShell com o nome da rede do cluster, o endereço IP e a porta de teste que você configurou no balanceador de carga na nova região:
$ClusterNetworkName = "<MyClusterNetworkName>" # The cluster name for the network in the new region (Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.) $IPResourceName = "<IPResourceName>" # The cluster name for the new IP address resource. $ILBIP = "<n.n.n.n>" # The IP address of the internal load balancer in the new region. This is the static IP address for the load balancer that you configured in the Azure portal. [int]$ProbePort = <nnnnn> # The probe port that you set on the internal load balancer. Import-Module FailoverClusters Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
Habilitar grupos de disponibilidade
Em seguida, habilite o recurso Grupos de disponibilidade Always On. Conclua estas etapas na nova VM do SQL Server:
Na tela Iniciar, abra o SQL Server Configuration Manager.
Na árvore do navegador, selecione Serviços do SQL Server. Clique com o botão direito do mouse no serviço SQL Server (MSSQLSERVER) e selecione Propriedades.
Selecione o separador Alta Disponibilidade AlwaysOn e, em seguida, selecione Ativar Grupos de Disponibilidade AlwaysOn.
Selecione Aplicar. Selecione OK na caixa de diálogo pop-up.
Reinicie o serviço do SQL Server.
Adicionar uma réplica ao grupo de disponibilidade
Depois que o SQL Server for reiniciado na máquina virtual recém-criada, você poderá adicioná-lo como uma réplica ao grupo de disponibilidade:
Abra uma sessão de área de trabalho remota na instância primária do SQL Server no grupo de disponibilidade e abra o SQL Server Management Studio (SSMS).
No Pesquisador de Objetos no SSMS, abra Grupos de Disponibilidade de Alta Disponibilidade>Always On. Clique com o botão direito do rato no nome do grupo de disponibilidade e, em seguida, selecione Adicionar Réplica.
Conecte-se à réplica existente e selecione Avançar.
Selecione Adicionar réplica e conecte-se à nova VM do SQL Server.
Importante
Uma réplica em uma região remota do Azure deve ser definida como replicação assíncrona com failover manual.
Na página Selecionar Sincronização Inicial de Dados, selecione Completo e especifique um local de rede compartilhado. Para o local, use o compartilhamento de backup que você criou. No exemplo, era \\First SQL Server>\Backup\<. Em seguida, selecione Seguinte.
Nota
A sincronização completa faz um backup completo do banco de dados na primeira instância do SQL Server e o restaura para a segunda instância. Para bancos de dados grandes, não recomendamos a sincronização completa porque pode levar muito tempo.
Você pode reduzir esse tempo fazendo backup manual do banco de dados e restaurando-o com
NO RECOVERY
o . Se o banco de dados já tiver sido restaurado comNO RECOVERY
a segunda instância do SQL Server antes de configurar o grupo de disponibilidade, selecione Somente ingresso. Se quiser fazer o backup depois de configurar o grupo de disponibilidade, selecione Ignorar sincronização inicial de dados.Na página Validação, selecione Avançar. Esta página deve ser semelhante à seguinte imagem:
Nota
Um aviso para a configuração do ouvinte diz que você não configurou um ouvinte do grupo de disponibilidade. Você pode ignorar esse aviso porque o ouvinte já está configurado. Ele foi criado depois que você criou o balanceador de carga do Azure na região local.
Na página Resumo, selecione Concluir e aguarde enquanto o assistente configura o novo grupo de disponibilidade. Na página Progresso, você pode selecionar Mais detalhes para exibir o progresso detalhado.
Depois que o assistente concluir a configuração, inspecione a página Resultados para verificar se o grupo de disponibilidade foi criado com êxito.
Selecione Fechar para fechar o assistente.
Verificar o grupo de disponibilidade
No Pesquisador de Objetos, expanda Alta Disponibilidade Sempre Ativada e, em seguida, expanda Grupos de Disponibilidade. Clique com o botão direito do mouse no grupo de disponibilidade e selecione Mostrar painel.
Seu painel do grupo de disponibilidade deve ser semelhante à captura de tela a seguir, agora com outra réplica:
O painel mostra as réplicas, o modo de failover de cada réplica e o estado de sincronização.
Verificar o ouvinte do grupo de disponibilidade
No Pesquisador de Objetos, expanda Alta Disponibilidade Sempre Ativa, expanda Grupos de Disponibilidade e expanda Ouvinte de Grupo de Disponibilidade.
Clique com o botão direito do mouse no nome do ouvinte e selecione Propriedades. Ambos os endereços IP agora devem aparecer para o ouvinte (um em cada região).
Definir a conexão para várias sub-redes
A réplica no datacenter remoto faz parte do grupo de disponibilidade, mas está em uma sub-rede diferente. Se essa réplica se tornar a réplica principal, poderão ocorrer tempos limite de conexão do aplicativo. Esse comportamento é o mesmo que um grupo de disponibilidade local em uma implantação de várias sub-redes. Para permitir conexões de aplicativos cliente, atualize a conexão do cliente ou configure o cache de resolução de nomes no recurso de nome de rede do cluster.
De preferência, atualize a configuração do cluster para definir e as cadeias de conexão do cliente para definir RegisterAllProvidersIP=1
MultiSubnetFailover=Yes
. Consulte Conectando-se com MultiSubnetFailover.
Se não for possível modificar as cadeias de conexão, você poderá configurar o cache de resolução de nomes. Consulte O tempo limite ocorre quando você se conecta a um ouvinte Always On em um ambiente de várias sub-redes.
Failover para a região remota
Para testar a conectividade do ouvinte com a região remota, você pode fazer failover da réplica para a região remota. Embora a réplica seja assíncrona, o failover fica vulnerável a possíveis perdas de dados. Para fazer failover sem perda de dados, altere o modo de disponibilidade para síncrono e defina o modo de failover como automático. Utilize os seguintes passos:
No Pesquisador de Objetos, conecte-se à instância do SQL Server que hospeda a réplica primária.
Em Grupos de Disponibilidade AlwaysOn, clique com o botão direito do rato no seu grupo de disponibilidade e selecione Propriedades.
Na página Geral, em Réplicas de Disponibilidade, defina a réplica secundária no site de recuperação de desastres (DR) para usar o modo de disponibilidade de Confirmação Síncrona e o modo de failover automático.
Se você tiver uma réplica secundária no mesmo site que a réplica principal para alta disponibilidade, defina essa réplica como Confirmação assíncrona e Manual.
Selecione OK.
No Pesquisador de Objetos, clique com o botão direito do mouse no grupo de disponibilidade e selecione Mostrar Painel.
No painel, verifique se a réplica no site de DR está sincronizada.
No Pesquisador de Objetos, clique com o botão direito do mouse no grupo de disponibilidade e selecione Failover. O SQL Server Management Studio abre um assistente para failover do SQL Server.
Selecione Avançar e selecione a instância do SQL Server no site de DR. Selecione Avançar novamente.
Conecte-se à instância do SQL Server no site de DR e selecione Avançar.
Na página Resumo, verifique as configurações e selecione Concluir.
Depois de testar a conectividade, mova a réplica primária de volta para o datacenter principal e defina o modo de disponibilidade de volta às configurações operacionais normais. A tabela a seguir mostra as configurações operacionais normais para a arquitetura descrita neste artigo:
Location | Instância do servidor | Função | Modo de disponibilidade | Modo de failover |
---|---|---|---|---|
Datacenter principal | SQL-1 | Principal | Síncrono | Automático |
Datacenter principal | SQL-2 | Secundária | Síncrono | Automático |
Datacenter secundário ou remoto | SQL-3 | Secundária | Assíncrono | Manual |
Para obter mais informações sobre failover manual planejado e forçado, consulte os seguintes artigos:
- Executar um failover manual planejado de um grupo de disponibilidade (SQL Server)
- Executar um failover manual forçado de um grupo de disponibilidade (SQL Server)
Próximos passos
Para saber mais, consulte: