Tutorial: Configurar um grupo de disponibilidade em várias sub-redes (SQL Server em VMs do Azure)
Aplica-se a: SQL Server na VM do Azure
Dica
Há vários métodos de implantação de um grupo de disponibilidade. Simplifique sua implantação sem precisar usar o Azure Load Balancer ou DNN (nome de rede distribuída) para seu grupo de disponibilidade Always On criando suas VMs (máquinas virtuais) do SQL Server em várias sub-redes dentro da mesma rede virtual do Azure. Se você já tiver criado seu grupo de disponibilidade em uma única sub-rede, poderá migrá-lo para um ambiente de várias sub-redes.
Este tutorial mostra como criar um grupo de disponibilidade Always On para SQL Server em VMs (Máquinas Virtuais) do Azure dentro de várias sub-redes. O tutorial completo cria um Cluster de Failover do Windows Server e um grupo de disponibilidade com duas réplicas do SQL Server e um ouvinte.
Tempo estimado: presumindo que seus pré-requisitos estejam concluídos, este tutorial deve levar cerca de 30 minutos para ser concluído.
Pré-requisitos
A seguinte tabela lista os pré-requisitos que precisam ser concluídos antes de iniciar este tutorial:
Requisito | Descrição |
---|---|
Duas instâncias do SQL Server | - Cada VM em duas zonas de disponibilidade do Azure diferentes ou no mesmo conjunto de disponibilidade - Em sub-redes separadas em uma Rede Virtual do Azure - Com dois IPs secundários atribuídos a cada VM - Em um único domínio |
Conta de serviço do SQL Server | Uma conta de domínio usada pelo serviço SQL Server para cada computador |
Abrir portas de firewall | - SQL Server: 1433 para instância padrão - Ponto de extremidade de espelhamento de banco de dados: 5022 ou qualquer porta disponível |
Conta de instalação do domínio | - Administrador local em cada SQL Server - Membro da função de servidor fixa sysadmin do SQL Server para cada instância do SQL Server |
O tutorial supõe que você tem uma compreensão básica dos grupos de disponibilidade Always On do SQL Server.
Criar o cluster
O grupo de disponibilidade Always On reside sobre a infraestrutura do Cluster de Failover do Windows Server, portanto, antes de implantar o grupo de disponibilidade, você precisa configurar o Cluster de Failover do Windows Server, que inclui adicionar o recurso, criar o cluster e definir o endereço IP do cluster.
Adicionar o recurso de cluster de failover
Adicione o recurso de cluster de failover às duas VMs do SQL Server. Para fazer isso, siga estas etapas:
Conecte-se à máquina virtual do SQL Server usando o protocolo RDP com uma conta de domínio que tenha permissões para criar objetos no AD, como a conta de domínio CORP\Install criada no artigo de pré-requisitos.
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 adicionais necessários.
Selecione Instalar para adicionar os recursos.
Repita essas etapas na outra VM do SQL Server.
Criar cluster
Após o recurso de cluster ter sido adicionado a cada VM do SQL Server, você estará pronto para criar o Cluster de Failover do Windows Server.
Para criar o cluster, siga estas etapas:
Use o protocolo RDP para se conectar à primeira VM do SQL Server (por exemplo, SQL-VM-1) com uma conta de domínio que tenha permissões para criar objetos no AD, como a conta de domínio CORP\Install criada no artigo de pré-requisitos.
No painel Gerenciador do Servidor selecione Ferramentas e, em seguida, selecione Gerenciador de Cluster de Failover.
No painel esquerdo, clique com botão direito do mouse em Gerenciador de Cluster de Failover e selecione Criar um Cluster.
No Assistente para Criação de Cluster, crie um cluster de dois nós percorrendo as páginas usando as configurações fornecidas na seguinte tabela:
Página Configurações Antes de começar Usar padrões. Selecionar Servidores Digite o nome do primeiro SQL Server (por exemplo, SQL-VM-1) em Digite o nome do servidor e selecione Adicionar.
Digite o nome do segundo SQL Server (por exemplo, SQL-VM-2) em Digite o nome do servidor e selecione Adicionar.Aviso de Validação Selecione Sim. Quando eu clicar em Avançar, executar testes de validação de configuração e retornar ao processo de criação do cluster. Antes de começar Selecione Avançar. Opções de Teste Escolha Executar apenas os testes que eu selecionar. Seleção de teste Desmarque Armazenamento. Verifique se Inventário, Rede e Configuração do Sistema estão selecionados. Confirmação Selecione Avançar.
Aguarde a conclusão da validação.
Selecione Exibir Relatório para examinar o relatório. Você pode ignorar com segurança o aviso sobre as VMs serem acessadas em apenas um adaptador de rede. A infraestrutura do Azure tem redundância física e, portanto, não é necessário adicionar mais adaptadores de rede.
Selecione Concluir.Ponto de Acesso para Administrar o Cluster Digite um nome de cluster, por exemplo, SQLAGCluster1 em Nome do Cluster. Confirmação Desmarque Adicionar todo o armazenamento qualificado ao cluster e selecione Avançar. Resumo Selecione Concluir. Aviso
Se você não desmarcar Adicionar todo o armazenamento qualificado ao cluster, o Windows desconectará os discos virtuais durante o processo de clustering. Como resultado, eles não aparecerão no Explorador nem no Gerenciador de Discos até que o armazenamento seja removido do cluster e reanexado usando o PowerShell.
Definir o endereço IP do cluster de failover
Normalmente, o endereço IP atribuído ao cluster é o mesmo atribuído à VM, o que significa que, no Azure, o endereço IP do cluster estará em um estado de falha e não poderá ficar online. Altere o endereço IP do cluster para colocar o recurso de IP online.
Durante os pré-requisitos, você deveria ter atribuído endereços IP secundários a cada VM do SQL Server, como a tabela de exemplo abaixo (seus endereços IP específicos podem variar):
Nome da VM | Nome da sub-rede | Intervalo de endereços da sub-rede | Nome do IP secundário | Endereço IP secundário |
---|---|---|---|---|
SQL-VM-1 | SQL-subnet-1 | 10.38.1.0/24 | windows-cluster-ip | 10.38.1.10 |
SQL-VM-2 | SQL-subnet-2 | 10.38.2.0/24 | windows-cluster-ip | 10.38.2.10 |
Atribua esses endereços IP como os endereços IP do cluster para cada sub-rede relevante.
Observação
No Windows Server 2019, o cluster cria um Nome de Servidor Distribuído em vez do Nome de Rede do Cluster, e o CNO (objeto de nome do cluster) é registrado automaticamente com os endereços IP de todos os nós no cluster, eliminando a necessidade de um endereço IP de cluster do Windows dedicado. Se você estiver no Windows Server 2019, ignore esta seção e outras etapas que se referem aos Recursos principais do cluster ou crie um cluster baseado no VNN (nome da rede virtual) usando o PowerShell. Confira o blog Cluster de failover: objeto de rede do cluster para obter mais informações.
Para alterar o endereço IP do cluster, siga estas etapas:
Em Gerenciador de Cluster de Failover, role para baixo até Recursos Principais de Cluster e expanda os detalhes do cluster. Você verá o Nome e dois recursos de Endereço IP de cada sub-rede no estado Falha.
Clique com o botão direito do mouse no primeiro recurso de Endereço IP com falha e selecione Propriedades.
Selecione Endereço IP Estático e atualize o endereço IP para o endereço IP do cluster do Windows dedicado na sub-rede atribuída à primeira VM do SQL Server (por exemplo, SQL-VM-1). Selecione OK.
Repita as etapas para o segundo recurso de Endereço IP com falha, usando o endereço IP do cluster do Windows dedicado para a sub-rede da segunda VM do SQL Server (por exemplo, SQL-VM-2).
Na seção Recursos Principais do Cluster, clique com o botão direito do mouse no nome do cluster e selecione Colocar Online. Aguarde até que o nome e um dos recursos de endereço IP fiquem online.
Como as VMs do SQL Server estão em sub-redes diferentes, o cluster terá uma dependência de OR nos dois endereços IP de cluster do Windows dedicados. Quando o recurso de nome do cluster fica online, ele atualiza o servidor do DC (controlador de domínio) com uma nova conta de computador do AD (Active Directory). Se os recursos principais do cluster mudarem de nós, um endereço IP ficará offline, enquanto o outro ficará online, atualizando o servidor DC com a nova associação de endereço IP.
Dica
Ao executar o cluster em VMs do Azure em um ambiente de produção, altere as configurações do cluster para um estado de monitoramento mais relaxado a fim de aprimorar a estabilidade e a confiabilidade do cluster em um ambiente de nuvem. Para saber mais, confira VM do SQL Server – melhores práticas de configuração de HADR.
Configurar o quorum
Em um cluster de dois nós, é necessário um dispositivo de quorum para confiabilidade e estabilidade do cluster. Em VMs do Azure, a testemunha de nuvem é a configuração de quorum recomendada, embora haja outras opções disponíveis. As etapas nesta seção configuram uma testemunha de nuvem para o quorum. Identifique as chaves de acesso da conta de armazenamento e configure a testemunha de nuvem.
Obter chaves de acesso da conta de armazenamento
Quando você cria uma conta de Armazenamento do Microsoft Azure, ela é associada a duas chaves de acesso geradas automaticamente – a chave de acesso primária e a secundária. Use a chave de acesso primária na primeira vez em que você criar a testemunha de nuvem. Posteriormente, não há restrições quanto a qual chave usar para a testemunha de nuvem.
Use o portal do Azure para exibir e copiar as chaves de acesso de armazenamento para a conta de Armazenamento do Azure criada no artigo de pré-requisitos.
Para exibir e copiar as chaves de acesso de armazenamento, siga estas etapas:
Vá para o grupo de recursos no portal do Azure e selecione a conta de armazenamento que você criou.
Selecione Chaves de acesso em Segurança + rede.
Selecione Mostrar chaves e copie a chave.
Configurar testemunha de nuvem
Após a chave de acesso ser copiada, crie a testemunha de nuvem para o quorum do cluster.
Para criar a testemunha de nuvem, siga estas etapas:
Conecte a primeira VM do SQL Server, SQL-VM-1, à área de trabalho remota.
Abra o Windows PowerShell no modo Administrador.
Execute o script do PowerShell para definir o valor do protocolo TLS para a conexão com o 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Use o PowerShell para configurar a testemunha de nuvem. Substitua os valores do nome da conta de armazenamento e da chave de acesso por suas informações específicas:
Set-ClusterQuorum -CloudWitness -AccountName "Storage_Account_Name" -AccessKey "Storage_Account_Access_Key"
Esta saída de exemplo indica que a operação foi bem-sucedida:
Os recursos principais do cluster são configurados com uma testemunha de nuvem.
Habilitar o recurso de AG
O recurso de grupo de disponibilidade Always On fica desabilitado por padrão. Use o SQL Server Configuration Manager para habilitar o recurso nas duas instâncias do SQL Server.
Para habilitar o recurso de grupo de disponibilidade, siga estas etapas:
Inicie o arquivo RDP para a primeira VM do SQL Server (por exemplo, SQL-VM-1) com uma conta de domínio que seja membro da função de servidor fixa sysadmin, como a conta de domínio CORP\Install criada no documento de pré-requisitos
Na tela Iniciar de uma de suas VMs do SQL Server, inicie o SQL Server Configuration Manager.
Na árvore do navegador, realce 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 marque a caixa referente a Habilitar grupos de disponibilidade Always On:
Escolha Aplicar. Selecione OK na caixa de diálogo pop-up.
Reinicie o serviço SQL Server.
Repita essas etapas para a outra instância do SQL Server.
Habilitar o recurso FILESTREAM
Caso não esteja usando FILESTREAM para seu banco de dados no grupo de disponibilidade, ignore esta etapa e prossiga para a próxima etapa - Criar Banco de Dados.
Se planeja adicionar um banco de dados ao grupo de disponibilidade que usa FILESTREAM, você precisa habilitar FILESTREAM, pois o recurso está desabilitado por padrão. Use o SQL Server Configuration Manager para habilitar o recurso nas duas instâncias do SQL Server.
Para habilitar o recurso FILESTREAM, siga estas etapas:
Inicie o arquivo RDP para a primeira VM do SQL Server (por exemplo, SQL-VM-1) com uma conta de domínio que seja membro da função de servidor fixa sysadmin, como a conta de domínio CORP\Install criada no documento de pré-requisitos
Na tela Iniciar de uma de suas VMs do SQL Server, inicie o SQL Server Configuration Manager.
Na árvore do navegador, realce 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 FILESTREAM, em seguida, marque a caixa de seleção Habilitar FILESTREAM para acesso a Transact-SQL:
Escolha Aplicar. Selecione OK na caixa de diálogo pop-up.
No SQL Server Management Studio, clique em Nova Consulta para exibir o Editor de Consultas.
No Editor de Consultas, insira o seguinte código Transact-SQL:
EXEC sp_configure filestream_access_level, 2 RECONFIGURE
Clique em Executar.
Reinicie o serviço SQL Server.
Repita essas etapas para a outra instância do SQL Server.
Criar banco de dados
Para o banco de dados, você pode seguir as etapas nesta seção para criar um banco de dados ou pode restaurar um banco de dados da AdventureWorks. Você também precisa fazer backup do banco de dados para inicializar a cadeia de logs. Bancos de dados dos quais não foi feito backup não atendem aos pré-requisitos de um grupo de disponibilidade.
Para criar um banco de dados, siga estas etapas:
- Inicie o arquivo RDP para a primeira VM do SQL Server (por exemplo, SQL-VM-1) com uma conta de domínio que seja membro da função de servidor fixa sysadmin, como a conta de domínio CORP\Install criada no documento de pré-requisitos.
- Ara o SQL Server Management Studio e conecte-se à instância do SQL Server.
- No Pesquisador de Objetos, clique com o botão direito do mouse em Bancos de Dados e selecione Novo Banco de Dados.
- Em Nome do banco de dados, digite MyDB1.
- Selecione a página Opções e escolha Completo na lista suspensa Modelo de recuperação, se ele não for completo por padrão. O banco de dados deve estar no modelo de recuperação completa para atender aos pré-requisitos de participação em um grupo de disponibilidade.
- Selecione OK para fechar a página Novo Banco de Dados e criar o banco de dados.
Para fazer backup do banco de dados, siga estas etapas:
Em Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados, realce Tarefas... e selecione Fazer Backup... .
Selecione OK para fazer um backup completo do banco de dados no local de backup padrão.
Criar o compartilhamento de arquivos
Crie um compartilhamento de arquivo de backup a que as VMs do SQL Server e as contas de serviço delas tenham acesso.
Para criar o compartilhamento de arquivo de backup, siga estas etapas:
Na primeira VM do SQL Server em Gerenciador do Servidor, selecione Ferramentas. Abra Gerenciamento de Computador.
Selecione Pastas Compartilhadas.
Clique com o botão direito do mouse em Compartilhamentos, selecione Novo compartilhamento... e use o Assistente para Criar uma Pasta Compartilhada para criar um compartilhamento.
Para Caminho da Pasta, selecione Procurar e localize ou crie um caminho para a pasta compartilhada de backup do banco de dados, como
C:\Backup
. Selecione Avançar.Em Nome, Descrição e Configurações, verifique o nome de compartilhamento e o caminho. Selecione Avançar.
Em Permissões de Pasta Compartilhada, defina Personalizar permissões. selecione Personalizado.
Em Personalizar permissões, selecione Adicionar....
Marque Controle Total para conceder acesso completo ao compartilhamento da conta do serviço SQL Server (
Corp\SQLSvc
):Selecione OK.
Em Permissões de Pasta Compartilhada, selecione Concluir. Selecione Concluir novamente.
Criar grupo de disponibilidade
Após o backup do banco de dados, você poderá criar o grupo de disponibilidade, que faz automaticamente um backup completo e um backup de log de transações da réplica primária do SQL Server e a restaura na instância secundária do SQL Server com a opção NORECOVERY.
Para criar o grupo de disponibilidade, siga estas etapas.
No Pesquisador de Objetos no SSMS (SQL Server Management Studio) na primeira VM do SQL Server (por exemplo, SQL-VM-1), clique com o botão direito do mouse em Alta Disponibilidade Always On e selecione o Assistente para Novo Grupo de Disponibilidade.
Na página Introdução, selecione Avançar. Na página Especificar nome do grupo de disponibilidade, digite um nome para o grupo de disponibilidade em Nome do grupo de disponibilidade, como AG1. Selecione Avançar.
Na página Selecionar Bancos de Dados, selecione seu banco de dados e, em seguida, Avançar. Se o banco de dados não atende aos pré-requisitos, verifique se ele está no modelo de recuperação completa e faça um backup:
Na página Especificar Réplicas, selecione Adicionar Réplica.
A caixa de diálogo Conectar ao Servidor é aberta. Digite o nome do segundo servidor em Nome do servidor, como SQL-VM-2. Selecione Conectar.
Na página Especificar Réplicas, marque as caixas referentes a Failover Automático e escolha Confirmação síncrona como modo de disponibilidade na lista suspensa:
Selecione a guia Pontos de extremidade para confirmar se as portas usadas para o ponto de extremidade de espelhamento de banco de dados são as que você abriu no firewall:
Selecione a guia Ouvinte e escolha Criar um ouvinte do grupo de disponibilidade usando os seguintes valores para o ouvinte:
Campo Valor Nome DNS do Ouvinte: AG1-Listener Porta Use a porta padrão do SQL Server. 1433 Modo de Rede: IP Estático Selecione Adicionar para fornecer o endereço IP dedicado secundário para o ouvinte para as duas VMs do SQL Server.
A seguinte tabela mostra os endereços IP de exemplo criados para o ouvinte no documento de pré-requisitos (embora seus endereços IP específicos possam variar):
Nome da VM Nome da sub-rede Intervalo de endereços da sub-rede Nome do IP secundário Endereço IP secundário SQL-VM-1 SQL-subnet-1 10.38.1.0/24 availability-group-listener 10.38.1.11 SQL-VM-2 SQL-subnet-2 10.38.2.0/24 availability-group-listener 10.38.2.11 Escolha a primeira sub-rede (por exemplo, 10.38.1.0/24) na lista suspensa na caixa de diálogo Adicionar endereço IP e forneça o endereço IPv4 do ouvinte dedicado secundário, por exemplo,
10.38.1.11
. Selecione OK.Repita essa etapa novamente, mas escolha a outra sub-rede na lista suspensa (por exemplo, 10.38.2.0/24) e forneça o endereço IPv4 do ouvinte dedicado secundário da outra VM do SQL Server, por exemplo,
10.38.2.11
. Selecione OK.Depois de examinar os valores na página Ouvinte, selecione Avançar:
Na página Selecionar Sincronização de Dados Inicial, escolha o Backup completo de banco de dados e de log e forneça o local do compartilhamento de rede criado anteriormente, como
\\SQL-VM-1\Backup
.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. Em caso de grandes bancos de dados, a sincronização completa não é recomendada porque pode levar muito tempo. Você pode reduzir esse tempo manualmente usando um backup do banco de dados e restaurando-o com
NO RECOVERY
. Se o banco de dados já foi restaurado comNO RECOVERY
no segundo SQL Server antes da configuração do grupo de disponibilidade, escolha Somente junção. Se você quiser usar o backup depois de configurar o grupo de disponibilidade, escolha Ignorar sincronização inicial de dados.Na página Validação, confirme se todas as verificações de validação foram aprovadas e escolha Avançar:
Na página Resumo, selecione Concluir e aguarde enquanto o assistente configura o novo grupo de disponibilidade. Escolha Mais detalhes na página Progresso para exibir o progresso detalhado. Quando vir que o assistente foi concluído com êxito na página Resultados, inspecione o resumo para verificar se o grupo de disponibilidade e o ouvinte foram criados com êxito.
Selecione Fechar para sair do assistente.
Verificar grupo de disponibilidade
Você pode verificar a integridade do grupo de disponibilidade usando o SQL Server Management Studio e o Gerenciador do Cluster de Failover.
Para verificar o status do grupo de disponibilidade, siga estas etapas:
No Pesquisador de Objetos, expanda Alta Disponibilidade AlwaysOn e expanda grupos de disponibilidade. Agora você poderá ver o novo grupo de disponibilidade neste contêiner. Clique com o botão direito do mouse no grupo de disponibilidade e selecione Mostrar Painel.
O painel do grupo de disponibilidade mostra a réplica, o modo de failover de cada réplica e o estado de sincronização, como o seguinte exemplo:
Abra o Gerenciador do Cluster de Failover, selecione o cluster e escolha Funções para exibir a função do grupo de disponibilidade que você criou no cluster. Escolha a função AG1 e selecione a guia Recursos para exibir o ouvinte e os endereços IP associados, como o exemplo a seguir:
Neste ponto, você tem um grupo de disponibilidade com réplicas em duas instâncias do SQL Server e um ouvinte do grupo de disponibilidade correspondente. Você pode se conectar usando o ouvinte e pode mover o grupo de disponibilidade entre instâncias usando o SQL Server Management Studio.
Aviso
Não tente fazer failover do grupo de disponibilidade usando o Gerenciador do Cluster de Failover. Todas as operações de failover devem ser executadas dentro do SQL Server Management Studio, por exemplo, usando o Painel do Always On ou o T-SQL (Transact-SQL). Para obter mais informações, confira Restrições do uso do Gerenciador do Cluster de Failover com grupos de disponibilidade.
Testar conexão do ouvinte
Quando o grupo de disponibilidade estiver pronto e o ouvinte tiver sido configurado com os endereços IP secundários apropriados, teste a conexão com o ouvinte.
Para testar a conexão, siga estas etapas:
Use o RDP para se conectar a um SQL Server que esteja na mesma rede virtual, mas que não seja proprietário da réplica, como a outra instância do SQL Server no cluster ou qualquer outra VM com o SQL Server Management Studio instalado.
Abra o SQL Server Management Studio e, na caixa de diálogo Conectar ao Servidor, digite o nome do ouvinte (como AG1-Listener) em Nome do servidor: e selecione Opções:
Insira
MultiSubnetFailover=True
na janela Parâmetros de Conexão Adicionais e escolha Conectar para se conectar automaticamente a qualquer instância que estiver hospedando a réplica primária do SQL Server:
Observação
- Ao se conectar ao grupo de disponibilidade em sub-redes diferentes, a configuração
MultiSubnetFailover=true
fornece uma detecção mais rápida da réplica primária atual e uma conexão mais rápida com ela. Confira Conectar-se com MultiSubnetFailover
Próximas etapas
Agora que você configurou o grupo de disponibilidade de várias sub-redes, se necessário, estenda-o para várias regiões.
Para obter mais informações, consulte: