Configurar um grupo de disponibilidade em várias 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 do grupo de disponibilidade Always On para o SQL Server em VMs (máquinas virtuais) do Azure em uma região do Azure remota para a réplica primária. Você pode usar essa configuração para fins de DR (recuperação de desastre).
Use também as mesmas etapas deste 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 da 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.
Visão geral
A imagem a seguir mostra uma implementaçã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 de confirmação síncrona com failover automático no SQL-1 e SQL-2. Para criar essa arquitetura, confira o modelo ou o tutorial de grupo de disponibilidade.
Essa arquitetura é 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 do Azure diferente. O seguinte diagrama mostra a aparência da nova arquitetura:
O diagrama mostra uma nova máquina virtual chamada SQL-3. SQL-3 está em outra região do Azure. Ela foi adicionada ao cluster de failover do Windows Server e pode hospedar uma réplica do grupo de disponibilidade.
A região do Azure para a SQL-3 tem um novo balanceador de carga do Azure. Nesta arquitetura, a réplica na região remota normalmente é configurada com o modo de disponibilidade de confirmação assíncrona e modo de failover manual.
Observação
Um conjunto de disponibilidade do Azure é necessário quando mais de uma máquina virtual está na mesma região. Se há apenas uma máquina virtual na região, o conjunto de disponibilidade não é necessário.
Você só pode colocar uma máquina virtual em um conjunto de disponibilidade 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 fazer uma réplica adicional mais tarde.
Quando as réplicas do grupo de disponibilidade estiverem em máquinas virtuais do Azure e em diferentes regiões do Azure, você poderá conectar as redes virtuais usando o emparelhamento de rede virtual ou um gateway de VPN site a site.
Importante
Essa arquitetura incorre em encargos de dados de saída para os dados replicados entre regiões do Azure. Confira Preços de largura de banda.
Criar a rede virtual e a sub-rede
Antes de criar uma rede virtual e uma sub-rede em uma nova região, escolha o espaço de endereço, a rede da 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 os detalhes da região local (atual) e o que será configurado na nova região remota.
Tipo | Local | Região remota |
---|---|---|
Espaço de endereço | 192.168.0.0/16 | 10.36.0.0/16 |
Rede da sub-rede | 192.168.15.0/24 | 10.36.1.0/24 |
IP do 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:
Acesse o grupo de recursos no portal do Azure e selecione + Criar.
Procure rede virtual na caixa de pesquisa do Marketplace e escolha o bloco da rede virtual da Microsoft.
Na página Criar rede virtual, selecione Criar. Em seguida, insira as seguintes informações na guia Informações básicas:
- Em Detalhes do projeto, em Assinatura, selecione a assinatura do Azure apropriada. Em Grupo de recursos, selecione o grupo de recursos que você criou 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, caso precise de outro intervalo de endereços.
Selecione Adicionar um espaço de endereço IP para abrir o painel para criar o espaço de endereço necessário. 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:
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 em Endereço inicial e /24 em Tamanho da sub-rede.
Selecione Adicionar para adicionar a nova sub-rede.
Conectar as redes virtuais nas duas regiões do Azure
Depois de criar a rede virtual e a 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 ao 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 as redes virtuais. Por exemplo, se você usar diferentes contas do Azure, não poderá configurar a conexão no portal. Nesse caso, confira Configurar uma conexão rede a rede usando o portal do Azure.
Configurar uma conexão de gateway de VPN site a site usando o portal do Azure
Este tutorial usa o 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 da região local. Quando a autoHAVNET for exibida nos resultados da pesquisa, selecione-a.
Em Configurações, selecione Emparelhamentos e + Adicionar.
Insira ou selecione, as informações a seguir, aceite os padrões para as configurações restantes e, em seguida, selecione Adicionar.
Configuração Valor Esta rede virtual Nome do link de emparelhamento Insira autoHAVNET-remote_HAVNET para o nome do emparelhamento de autoHAVNET para a rede virtual remota. Rede virtual remota Nome do link de emparelhamento Insira remote_HAVNET-autoHAVNET para o nome do emparelhamento da rede virtual remota para autoHAVNET. Assinatura Selecione sua assinatura da 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 Emparelhamentos, o Status do emparelhamento é Conectado.
Caso não veja um status Conectado, selecione o botão Atualizar.
Criar um controlador de domínio
Um controlador de domínio na nova região será 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 Windows Server 2016 Datacenter.
- Em Windows Server 2016 Datacenter, verifique se o modelo de implantação está definido como Gerenciador de Recursos e, em seguida, clique em Criar.
A seguinte tabela mostra as configurações para os dois computadores:
Configuração | Valor |
---|---|
Nome | Controlador de domínio remoto: ad-remote-dc |
Tipo de disco da VM | SSD |
Nome de usuário | DomainAdmin |
Senha | Contoso!0000 |
Assinatura | Sua assinatura |
Grupo de recursos | SQL-HA-RG |
Localidade | Seu local |
Tamanho | DS1_V2 |
Storage | Usar discos gerenciados: Sim |
Rede virtual | remote_HAVNET |
Sub-rede | admin |
Endereço IP público | Mesmo nome que a VM |
Grupo de segurança de rede | Mesmo nome que a VM |
Diagnóstico | habilitado |
Conta de armazenamento de diagnóstico | Criada automaticamente |
O Azure cria as máquinas virtuais.
Configurar o controlador de domínio
Nas seguintes etapas, configure o computador ad-remote-dc como um controlador de domínio para corp.contoso.com:
Definir o endereço do servidor DNS preferencial
O endereço preferencial do servidor DNS não deve ser atualizado diretamente em uma VM, mas deve ser editado no portal do Azure, no PowerShell ou na CLI do Azure. Siga estas etapas para fazer a alteração no portal do Azure:
Entre no portal do Azure.
Na caixa de pesquisa, na parte superior do portal, insira Adaptador de rede. Selecione Adaptadores de rede, nos resultados da pesquisa.
Selecione na lista a interface de rede do segundo controlador de domínio que você deseja visualizar ou mudar as configurações.
Em Configurações, selecione Servidores DNS.
Como esse controlador de domínio não está na mesma rede virtual do 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 somente a esse adaptador de rede e substitui qualquer configuração de DNS para a rede virtual à qual o adaptador de rede foi atribuído.Selecione Salvar.
Volte à máquina virtual no portal do Azure e reinicie a VM. Depois que a máquina virtual for reiniciada, você poderá ingressar a VM no domínio.
Ingressar no domínio
Em seguida, ingresse no domínio corp.contoso.com. Para fazer isso, siga estas etapas:
- Conecte-se remotamente à máquina virtual usando a conta BUILTIN\DomainAdmin.
- Abra 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 a mensagem "Bem-vindo ao domínio corp.contoso.com" for exibida, clique emOK.
- Selecione Fechar e, em seguida, Reiniciar agora na caixa de diálogo pop-up.
Configurar o controlador de domínio
Quando o servidor tiver ingressado no domínio, você poderá configurá-lo como o segundo controlador de domínio. Para fazer isso, siga estas etapas:
Se você ainda não está conectado, abra uma sessão RDP no controlador de domínio secundário e abra o Painel do Gerenciador do Servidor (que pode estar aberto por padrão).
Selecione Adicionar funções e recursos no painel.
Selecione Avançar até alcançar a seção Funções de Servidor.
Selecione Active Directory Domain Services e as funções do Servidor DNS. Quando for solicitado, acrescente os recursos adicionais que são necessários para essas funções.
Depois que os recursos forem instalados, retorne para o painel 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 de 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 senha (Contoso!0000).
Em Selecione um domínio na floresta, escolha seu domínio e, em seguida, selecione OK.
Em Opções do Controlador de Domínio, use os valores padrão e defina uma senha de DSRM.
Observação
A página Opções de DNS poderá avisar que não foi possível criar uma delegação para este servidor DNS. Você pode ignorar esse aviso em ambientes que não são de produção.
Selecione Avançar até a caixa de diálogo marcar Pré-requisitos. Em seguida, selecione Instalar.
Depois que o servidor concluir as alterações de configuração, reinicie-o.
Criar uma VM do SQL Server
Após a reinicialização do controlador de domínio, a próxima etapa é 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 da máquina virtual, use os discos gerenciados do Azure. Recomendamos os discos gerenciados para as máquinas virtuais do SQL Server. Os discos gerenciados cuidam do armazenamento nos bastidores. Além disso, quando as máquinas virtuais com os discos gerenciados estão no mesmo conjunto de disponibilidade, o Azure distribui os recursos de armazenamento para fornecer a redundância apropriada.
Para saber mais, confira Introdução aos discos gerenciados do Azure. Para obter as especificações dos discos gerenciados em um conjunto de disponibilidade, confira 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 de IP público permite a conexão remota diretamente com a máquina virtual pela Internet, e isso facilita as etapas de configuração. Em ambientes de produção, recomendamos somente endereços IP privados. Os endereços IP privados reduzem o volume de vulnerabilidade da VM do SQL Server.
Rede: NIC única por servidor
Use uma só NIC (placa de adaptador de rede) por servidor (nó de cluster) e uma só sub-rede. A rede do Azure tem redundância física, o que tornam desnecessárias as NICs e as sub-redes adicionais em um cluster convidado de uma VM do Azure. O relatório de validação de cluster avisará que os nós podem ser acessados apenas em uma rede. Você pode ignorar esse aviso nos clusters de failover convidados da VM do Azure.
Criar e configurar a VM do SQL Server
Para criar cada a VM do SQL Server, volte para o grupo de recursosSQL-HA-RG e selecione Adicionar. Procure o item da galeria apropriado, selecione máquina virtuale, em seguida, selecione da galeria. Use as informações na tabela a seguir para ajudar a criar as VMs:
Página | Configuração |
---|---|
Selecione o item da galeria apropriado | SQL Server 2016 SP1 Enterprise no Windows Server 2016 |
Configuração da máquina virtual: Informações básicas | Nome = sqlserver-2 Nome de Usuário = DomainAdmin Senha = Contoso!0000 Assinatura = Sua assinatura Grupo de recursos = SQL-HA-RG Localização = Sua região remota |
Configuração da máquina virtual: Tamanho | Tamanho = DS2_V2 (2 vCPUs, 7 GB) O tamanho precisa dar suporte ao armazenamento SSD (suporte ao disco premium). |
Configuração da máquina virtual: Configurações | Armazenamento: Use discos gerenciados Rede virtual = HAVNET remota Sub-rede = admin (10.36.1.0/24) Endereço IP público = Gerado automaticamente Grupo de segurança de rede = Nenhum Monitorando Diagnóstico = Habilitado Conta de armazenamento de diagnóstico = Use uma conta de armazenamento gerada automaticamente |
Configuração da máquina virtual: Configurações do SQL Server | Conectividade do SQL = Privada (na rede virtual) Porta = 1433 Autenticação do SQL = Desabilitada Configuração de armazenamento = Geral Aplicação de patch automatizada = Domingo às 14h Backup automatizado = Desabilitado Integração do Cofre de Chaves do Azure = Desabilitado |
Observação
O tamanho de computador sugerido aqui serve para testar grupos de disponibilidade em máquinas virtuais do Azure. Para obter o melhor desempenho em cargas de trabalho de produção, confira as recomendações de configuração e tamanhos de computador do SQL Server em Lista de verificação: Melhores práticas relacionadas do SQL Server em VMs do Azure.
Depois que a VM for totalmente provisionada, você precisará ingressá-la no domínio corp.contoso.com e conceder direitos administrativos de CORP\Install aos computadores.
Ingresse o servidor ao domínio
Para ingressar a VM em corp.contoso.com, use as seguintes etapas para a VM do SQL Server:
- Conecte-se remotamente à máquina virtual usando BUILTIN\DomainAdmin.
- Em Gerenciador do Servidor, selecione Servidor Local.
- Selecione o link WORKGROUP.
- Na seção Nome do computador, selecione Alterar.
- Marque a caixa de seleção Domínio e insira corp.contoso.com na caixa de texto. Depois, 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 a mensagem "Bem-vindo ao domínio corp.contoso.com" for exibida, clique emOK.
- Selecione Fechar e Reiniciar Agora na caixa de diálogo pop-up.
Adicionar contas
A próxima tarefa será adicionar a conta de instalação como administrador na VM do SQL Server e conceder permissão a essa conta e às contas locais no SQL Server. Em seguida, você poderá atualizar a conta de serviço do SQL Server.
Adicionar o usuário CORP\Install como administrador em cada VM de cluster
Depois de reiniciar a máquina virtual do SQL Server como um membro do domínio, adicione CORP\Install como um membro do grupo administradores local:
Aguarde até que a VM seja reiniciada e abra o arquivo RDP novamente no controlador de domínio primário. Entre em sqlserver-2 usando a conta CORP\DomainAdmin.
Dica
Nas etapas anteriores, você estava usando a conta de administrador BUILTIN. Agora que o servidor está no domínio, conecte-se com a conta de administrador do domínio. Na sua sessão de RDP, especifique DOMÍNIO\nome de usuário.
Em 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.
Insira o usuário como CORP\Install e selecione OK.
Selecione OK para fechar a caixa do 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 de cada VM do SQL Server. As etapas a seguir criam uma entrada para a conta de instalação. Realize-as nas duas VMs do SQL Server.
Conecte-se ao servidor por meio do RDP usando a conta <MachineName>\DomainAdmin.
Abra o SQL Server Management Studio e conecte-se ao SQL Server da instância local.
Em Pesquisador de objetos, selecione Segurança.
Clique com botão direito do mouse em Logons. Selecione Novo logon.
Em Logon – Novo, selecione Pesquisar.
Select Localizações.
Insira as credenciais da rede do administrador de domínio. Use a conta de instalação (CORP\Install).
Defina a entrada como um 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, realize 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 estas 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
Defina as contas de serviço do SQL Server
Em cada VM do SQL Server, realize 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 do 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 executado 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 dos ouvintes do grupo de disponibilidade e do 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:
- Estar na mesma rede e sub-rede como a nova máquina virtual.
- Ter um endereço IP estático para o ouvinte do grupo de disponibilidade.
- Incluir um pool de back-end que consista somente nas máquinas virtuais na mesma região do balanceador de carga.
- Usar uma investigação de porta TCP específica do endereço IP.
- Ter uma regra de balanceamento de carga específica da instância do SQL Server na mesma região.
- Ser um balanceador de carga padrão se as máquinas virtuais no pool de back-end não fazem parte de um conjunto de disponibilidade individual ou de um conjunto de dimensionamento de máquinas virtuais. Para obter mais informações, confira O que é o Azure Load Balancer?.
- Ser um balanceador de carga padrão se as duas redes virtuais em duas regiões diferentes estão emparelhadas no emparelhamento de rede virtual global. Para obter mais informações, consulte perguntas frequentes sobre a rede virtual do Azure.
As etapas para criar o balanceador de carga são:
No portal do Azure, acesse o grupo de recursos em que está a instância do SQL Server e selecione + Adicionar.
Pesquise pelo Balanceador de Carga. Escolha o balanceador de carga publicado pela Microsoft.
Selecione Criar.
Configure os seguintes parâmetros para o balanceador de carga:
Configuração Valor Assinatura Use a mesma assinatura da máquina virtual. Grupo de recursos Use o mesmo grupo de recursos da máquina virtual. Nome 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 será parecido com este:
Selecione Avançar: Configuração do IP de Front-end.
Selecione Adicionar uma configuração de IP de front-end.
Configure o endereço IP de front-end usando os seguintes valores:
- Nome: use um nome que identifique a configuração de IP de front-end.
- Rede virtual: use a mesma rede das máquinas virtuais.
- Sub-rede: use a mesma sub-rede das máquinas virtuais.
- Atribuição: selecione Estático.
- Endereço IP: use um endereço disponível na sub-rede. Use este endereço para o ouvinte do grupo de disponibilidade. Esse endereço é diferente do endereço IP do cluster.
- Zona de disponibilidade: opcionalmente, escolha uma zona de disponibilidade para implantar o endereço IP.
Selecione Adicionar.
Escolha Revisar + Criar para validar a configuração e Criar para criar o balanceador de carga e o endereço IP de front-end.
Para configurar o balanceador de carga, você precisará criar um pool de back-end e uma investigação, além de definir as regras de balanceamento de carga.
Adicionar um pool de back-end ao ouvinte do grupo de disponibilidade
No portal do Azure, vá para o 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, Pools de back-end e +Adicionar.
Em Nome, forneça um nome para o pool de back-end.
Em Configuração do Pool de Back-end, escolha 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 Salvar.
Definir a investigação
No portal do Azure, selecione o balanceador de carga, Investigações de integridade e +Adicionar.
Defina a investigação de integridade do ouvinte, conforme a seguir:
Configuração Descrição Exemplo Nome Texto SQLAlwaysOnEndPointProbe Protocolo Escolher TCP TCP Porta Qualquer porta não utilizada 59999 Intervalo O tempo entre as tentativas de investigação, em segundos 5 Selecione Adicionar.
Definir as regras de balanceamento de carga
No portal do Azure, selecione o balanceador de carga, Regras de balanceamento de carga e +Adicionar.
Defina as regras de balanceamento de carga do ouvinte da seguinte maneira:
Configuração Descrição Exemplo Nome Texto SQLAlwaysOnEndPointListener Endereço IP de front-end Escolher um endereço Use o endereço que você criou ao criar o balanceador de carga. Pool de back-end Escolha o pool de back-ends Selecione o pool de back-end que contém as máquinas virtuais destinadas ao balanceador de carga. Protocolo Escolher TCP TCP Porta Usar a porta para o ouvinte do grupo de disponibilidade 1433 Porta de back-end Esse campo não é usado quando um IP flutuante é definido para o retorno de servidor direto 1433 Investigação de integridade O nome especificado para a investigação SQLAlwaysOnEndPointProbe Persistência de sessão Lista suspensa Nenhuma Tempo limite de ociosidade Minutos para manter uma conexão TCP aberta 4 IP flutuante (retorno de servidor direto) Habilite esta configuração. Aviso
O retorno de servidor direto é definido durante a criação. Não é possível alterar isso.
Selecione Salvar.
Adicionar um clustering de failover às VMs do SQL Server
Para adicionar recursos de clustering de failover, realize as seguintes etapas nas duas 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 Adicionar funções e recursos no painel.
Selecione Avançar até alcançar a seção Recursos do Servidor.
Em Recursos, selecione Clustering de Failover.
Adicione os recursos necessários.
Selecione Instalar.
Observação
Você já pode automatizar essa tarefa, além do ingresso propriamente dito das VMs do SQL Server no cluster de failover, usando a CLI do Azure e os modelos de início rápido do Azure.
Ajustar os limites de rede para um cluster de failover
Ao executar nós de cluster de failover do Windows em VMs do Azure com grupos de disponibilidade do SQL Server, altere a configuração de cluster para um estado de monitoramento mais flexível. Essa alteração tornará o cluster muito mais estável e confiável. Para obter detalhes, confira IaaS com o SQL Server: como ajustar os limites de rede para um 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:
- Máquina virtual do SQL Server: porta 1433 para uma instância padrão do SQL Server.
- Investigação do balanceador de carga do Azure: qualquer porta disponível. Os exemplos geralmente usam 59999.
- Investigação de integridade do endereço IP do balanceador de carga do núcleo do cluster: qualquer porta disponível. Os exemplos geralmente usam 58888.
- Ponto de extremidade do espelhamento de banco de dados: qualquer porta disponível. Os exemplos geralmente usam 5022.
As portas do firewall precisam ser abertas na nova VM do SQL Server. O método de abrir as portas depende da solução de firewall usada. As seguintes etapas 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 Avançar.
Na página Ação, mantenha selecionada a opção Permitir a conexão e escolha 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 Investigação do 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 existente na sua região local.
Para adicionar a VM do SQL Server ao cluster:
Use o RDP para se conectar a uma VM do SQL Server no cluster existente. Use uma conta de domínio que seja de administrador nas VMs do SQL Server e no servidor testemunha.
No painel do Gerenciador do Servidor, selecione Ferramentas e 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-se ao Cluster.
Na janela Selecionar Cluster em Nome do cluster, escolha <Cluster neste servidor>. Depois, 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. Insira o nome do servidor em Insira o nome do servidor e selecione Adicionar e Avançar.
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 Avançar.
Na página Confirmação, se você estiver usando os Espaços de Armazenamento, desmarque a caixa de seleção Adicionar todo o armazenamento qualificado 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 serão exibidos no Gerenciador de Discos nem no Pesquisador até que o armazenamento seja removido do cluster e reanexado por meio do PowerShell.
Selecione Avançar.
Selecione Concluir.
O Gerenciador de Cluster de Failover mostra que o cluster tem um novo nó e o listará no contêiner Nós.
Adicionar o endereço IP ao cluster de failover do Windows Server
Observação
No Windows Server 2019, o cluster cria um nome de servidor distribuído em vez de um nome de rede de cluster. Se você estiver usando o Windows Server 2019, vá para Adicionar um endereço IP para o ouvinte do grupo de disponibilidade. Crie um nome de rede de cluster usando o PowerShell. Para obter mais informações, confira a postagem no blog Cluster de failover: objeto de rede de cluster.
Em seguida, crie o recurso de endereço IP e adicione-o ao cluster da nova VM do SQL Server:
No Gerenciador de Cluster de Failover, selecione o nome do cluster. Clique com o botão direito do mouse no nome do cluster em Recursos do Núcleo do Cluster e selecione Propriedades:
Na caixa de diálogo Propriedades do Cluster, selecione Adicionar em Endereço 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 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 do 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 esse endereço IP, clique com o botão direito do mouse no recurso em Outros Recursos e 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 Aplicar e, depois, OK.
Adicione o recurso de endereço IP como uma dependência para o cluster do ouvinte cliente acesso ponto (nome da rede).
Clique com o botão direito do mouse no ponto de acesso do cliente do 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. Captura de tela a seguir mostra um recurso de cluster de endereço IP configurado corretamente:
Importante
O grupo de recursos de cluster inclui os dois endereços IP. Os dois endereços IP são dependências para o ponto de acesso de cliente do ouvinte. Use o ou operador na configuração de dependência do cluster.
Definir os parâmetros do cluster no PowerShell.
Execute o script do PowerShell com o nome de rede do cluster, o endereço IP e a porta de investigação configurados 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 os grupos de disponibilidade
Em seguida, habilite o recurso Grupos de disponibilidade Always On. Realize 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 a guia Alta Disponibilidade Always On e escolha Habilitar Grupos de Disponibilidade Always On.
Escolha Aplicar. Selecione OK na caixa de diálogo pop-up.
Reinicie o serviço SQL Server.
Adicionar uma réplica ao grupo de disponibilidade
Depois que o SQL Server tiver reiniciado na máquina virtual recém-criada, você poderá adicioná-lo como uma réplica ao grupo de disponibilidade:
Abra uma sessão da área de trabalho remota na instância primária do SQL Server no grupo de disponibilidade e abra o SSMS (SQL Server Management Studio).
No Pesquisador de Objetos no SSMS, abra Alta Disponibilidade Always On>Grupos de Disponibilidade. Clique com o botão direito do mouse no nome do grupo de disponibilidade e selecione Adicionar Réplica.
Conecte-se à réplica existente e escolha 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 configurada para a replicação assíncrona com failover manual.
Na página Selecionar Sincronização de Dados Inicial, escolha Completa e especifique um local de rede compartilhado. Para o local, use o compartilhamento de backup criado. No exemplo, ele era \\<Primeiro SQL Server>\Backup\. Em seguida, selecione Avançar.
Observação
A sincronização completa usa um backup completo do banco de dados na primeira instância do SQL Server e o restaura na segunda instância. Para bancos de dados grandes, não recomendamos a sincronização completa porque isso pode levar muito tempo.
Você pode reduzir esse tempo manualmente fazendo um backup do banco de dados e restaurando-o com
NO RECOVERY
. Se o banco de dados já foi restaurado comNO RECOVERY
na segunda instância do SQL Server antes da configuração do grupo de disponibilidade, escolha Somente ingresso. Caso deseje fazer o backup depois de configurar o grupo de disponibilidade, escolha Ignorar sincronização inicial de dados.Na página Validação, selecione Avançar. O arquivo deve ser semelhante à seguinte imagem:
Observação
Um aviso para a configuração do ouvinte indica 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, selecione Mais detalhes para ver 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 sucesso.
Selecione Fechar para fechar o assistente.
Conferir o grupo de disponibilidade
No Pesquisador de Objetos, expanda Alta Disponibilidade AlwaysOn e, em seguida, expanda Grupos de Disponibilidade. Clique com o botão direito do mouse no grupo de disponibilidade e selecione Mostrar Painel.
O painel do grupo de disponibilidade será parecido com a seguinte captura de tela, 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.
Verifique o ouvinte do grupo de disponibilidade
No Pesquisador de Objetos, expanda Alta Disponibilidade Always On, Grupos de Disponibilidade e Ouvinte do Grupo de Disponibilidade.
Clique com o botão direito do mouse no nome do ouvinte e selecione Propriedades. Agora os dois endereços IP serão exibidos 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 outra sub-rede. Se essa réplica se tornar a réplica primária, poderão ocorrer tempos limite da 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 cliente de aplicativos, atualize a conexão de cliente ou configurar a resolução de nome do recurso de nome de rede de cluster de cache.
De preferência, atualize a configuração do cluster para definir RegisterAllProvidersIP=1
e as cadeias de conexão do cliente para definir MultiSubnetFailover=Yes
. Confira Como se conectar ao MultiSubnetFailover.
Se você não pode modificar as cadeias de conexão, você pode configurar o cache de resolução de nome. Confira Um tempo limite ocorre quando você se conecta a um ouvinte Always On em um ambiente de várias sub-redes.
Fazer failover para a região remota
Para testar a conectividade do ouvinte na região remota, faça failover da réplica na região remota. Enquanto a réplica é assíncrona, o failover é vulnerável à perda de dados. Para fazer failover sem perda de dados, alterar o modo de disponibilidade para síncrono e defina o modo de failover como automático. Use as seguintes etapas:
Em Pesquisador, conecte-se à instância do SQL Server que hospeda a réplica primária.
Em Grupos de Disponibilidade Always On, clique com o botão direito do mouse no grupo de disponibilidade e selecione Propriedades.
Na página Geral, em Réplicas de Disponibilidade, defina a réplica secundária no site de DR (recuperação de desastre) para usar o modo de disponibilidade 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 primária para alta disponibilidade, definido desta 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 recuperação de desastre 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 abrirá um assistente de failover do SQL Server.
Selecione Avançar e escolha a instância do SQL Server no site de DR. Selecione novamente Avançar.
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 novamente para o datacenter primário e definir o modo de disponibilidade para as configurações operacionais normais. A seguinte tabela mostra as configurações operacionais normais para a arquitetura descrita neste artigo:
Location | Instância de servidor | Função | Modo de disponibilidade | Modo de Failover |
---|---|---|---|---|
Datacenter primário | SQL-1 | Primária | Síncrona | Automático |
Datacenter primário | SQL-2 | Secundário | Síncrona | Automático |
Datacenter secundário ou remoto | SQL-3 | Secundário | Assíncrona | Manual |
Para obter mais informações sobre o failover manual planejado e forçado, confira os seguintes artigos:
- Fazer 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óximas etapas
Para obter mais informações, consulte: