Tutorial: Configurar um grupo de disponibilidade em várias sub-redes (SQL Server nas VMs do Azure)
Aplica-se a:SQL Server na VM do Azure
Gorjeta
Há muitos métodos para implantar um grupo de disponibilidade. Simplifique sua implantação e elimine a necessidade de um Balanceador de Carga do Azure ou DNN (nome de rede distribuída) para seu grupo de disponibilidade Always On criando suas máquinas virtuais (VMs) do SQL Server em várias sub-redes dentro da mesma rede virtual do Azure. Se você já criou seu grupo de disponibilidade em uma única sub-rede, pode migrá-lo para um ambiente de várias sub-redes.
Este tutorial mostra como criar um grupo de disponibilidade Always On para o SQL Server em Máquinas Virtuais (VMs) do Azure em 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.
Estimativa de tempo: Supondo que seus pré-requisitos estejam completos, este tutorial deve levar cerca de 30 minutos para ser concluído.
Pré-requisitos
A tabela a seguir lista os pré-requisitos que você precisa concluir antes de iniciar este tutorial:
Requisito | Descrição |
---|---|
Duas instâncias do SQL Server | - Cada VM em duas zonas de disponibilidade diferentes do Azure ou no mesmo conjunto de disponibilidade - Em sub-redes separadas dentro de 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 máquina |
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 de 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 pressupõe que você tenha 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 seu grupo de disponibilidade, você deve primeiro configurar o Cluster de Failover do Windows Server, o que inclui adicionar o recurso, criar o cluster e definir o endereço IP do cluster.
Adicionar recurso de cluster de failover
Adicione o recurso de cluster de failover a ambas as VMs do SQL Server. Para tal, siga estes passos:
Conecte-se à máquina virtual do SQL Server por meio do protocolo RDP (Remote Desktop Protocol) usando 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 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 quaisquer recursos adicionais necessários.
Selecione Instalar para adicionar os recursos.
Repita as etapas na outra VM do SQL Server.
Criar cluster
Depois que o recurso de cluster tiver 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 estes passos:
Use o protocolo RDP (Remote Desktop Protocol) para se conectar à primeira VM do SQL Server (como SQL-VM-1) usando 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 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 Criar um Cluster.
No Assistente para Criar Cluster, crie um cluster de dois nós percorrendo as páginas usando as configurações fornecidas na tabela a seguir:
Página Administração Antes de Começar Use padrões. Selecionar Servidores Digite o primeiro nome do SQL Server (como SQL-VM-1) em Digite o nome do servidor e selecione Adicionar.
Digite o segundo nome do SQL Server (como SQL-VM-2) em Digite o nome do servidor e selecione Adicionar.Aviso de validação Selecione Sim. Quando clico em Avançar, executo testes de validação de configuração e revolto ao processo de criação do cluster. Antes de começar Selecione Seguinte. Opções de teste Escolha Executar apenas os testes que selecionar. Seleção de Testes Desmarque Armazenamento. Certifique-se de que Inventário, Rede e Configuração do Sistema estão selecionados. Confirmação Selecione Seguinte.
Aguarde a conclusão da validação.
Selecione Exibir relatório para revisá-lo. Você pode ignorar com segurança o aviso sobre VMs que podem ser acessadas em apenas uma interface de rede. A infraestrutura do Azure tem redundância física e, portanto, não é necessário adicionar interfaces de rede adicionais.
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 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 usando o PowerShell.
Definir o endereço IP do cluster de failover
Normalmente, o endereço IP atribuído ao cluster é o mesmo endereço IP 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á ser colocado online. Altere o endereço IP do cluster para colocar o recurso IP online.
Durante os pré-requisitos, você deve ter atribuído endereços IP secundários a cada VM do SQL Server, conforme 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 IP secundário | Endereço IP secundário |
---|---|---|---|---|
SQL-VM-1 | Sub-rede SQL-1 | 10.38.1.0/24 | Windows-Cluster-IP | 10.38.1.10 |
SQL-VM-2 | Sub-rede SQL-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.
Nota
No Windows Server 2019, o cluster cria um Nome do Servidor Distribuído em vez do Nome da Rede do Cluster, e o objeto de nome do cluster (CNO) é registrado automaticamente com os endereços IP de todos os nós do 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 quaisquer outras etapas que se refiram aos Recursos Principais do Cluster ou crie um cluster baseado em nome de rede virtual (VNN) usando o PowerShell. Consulte o blog Cluster de Failover: Objeto de Rede de Cluster para obter mais informações.
Para alterar o endereço IP do cluster, siga estes passos:
No Gerenciador de Cluster de Failover, role para baixo até Recursos Principais do Cluster e expanda os detalhes do cluster. Você deve 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 (como 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 (como 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 estejam online.
Como as VMs do SQL Server estão em sub-redes diferentes, o cluster terá uma dependência OR nos dois endereços IP de cluster do Windows dedicados. Quando o recurso de nome de cluster fica online, ele atualiza o servidor do controlador de domínio (DC) com uma nova conta de computador do Ative Directory (AD). Se os recursos principais do cluster moverem 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.
Gorjeta
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 para melhorar a estabilidade e a confiabilidade do cluster em um ambiente de nuvem. Para saber mais, consulte SQL Server VM - HADR configuration best practices.
Configurar quórum
Em um cluster de dois nós, um dispositivo de quorum é necessário para a confiabilidade e estabilidade do cluster. Nas 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 quórum. Identifique as chaves de acesso à conta de armazenamento e, em seguida, configure a testemunha da nuvem.
Obter chaves de acesso para a conta de armazenamento
Quando você cria uma Conta de Armazenamento do Microsoft Azure, ela é associada a duas Chaves de Acesso que são geradas automaticamente - chave de acesso primária e chave de acesso secundária. Use a chave de acesso primária na primeira vez que criar a testemunha de nuvem, mas posteriormente não há restrições para qual chave usar para a testemunha de nuvem.
Use o portal do Azure para exibir e copiar chaves de acesso de armazenamento para a Conta de Armazenamento do Azure criada no artigo de pré-requisitos.
Para visualizar e copiar as chaves de acesso de armazenamento, siga estes passos:
Vá para seu 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 o cloud witness
Depois de copiar a chave de acesso, crie a testemunha de nuvem para o quórum de cluster.
Para criar a testemunha de nuvem, siga estas etapas:
Conecte-se à primeira VM SQL Server SQL-VM-1 com área de trabalho remota.
Abra o Windows PowerShell no modo de administrador.
Execute o script PowerShell para definir o valor TLS (Transport Layer Security) para a conexão como 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Use o PowerShell para configurar a testemunha de nuvem. Substitua os valores para nome da conta de armazenamento e chave de acesso por suas informações específicas:
Set-ClusterQuorum -CloudWitness -AccountName "Storage_Account_Name" -AccessKey "Storage_Account_Access_Key"
O exemplo de saída a seguir indica sucesso:
Os recursos principais do cluster são configurados com uma testemunha de nuvem.
Ativar recurso AG
O recurso de grupo de disponibilidade Always On está desabilitado por padrão. Use o SQL Server Configuration Manager para habilitar o recurso em ambas as instâncias do SQL Server.
Para ativar a funcionalidade de grupo de disponibilidade, siga estes passos:
Inicie o arquivo RDP na primeira VM do SQL Server (como 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 VM 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.
Marque a guia Alta disponibilidade Always On e marque a caixa para Habilitar grupos de disponibilidade Always On:
Selecione Aplicar. Selecione OK na caixa de diálogo pop-up.
Reinicie o serviço do SQL Server.
Repita essas etapas para a outra instância do SQL Server.
Ativar o recurso FILESTREAM
Se você não estiver usando FILESTREAM para seu banco de dados no grupo de disponibilidade, ignore esta etapa e passe para a próxima etapa - Criar banco de dados.
Se você planeja adicionar um banco de dados ao seu grupo de disponibilidade que usa FILESTREAM, FILESTREAM precisa ser habilitado, pois o recurso está desabilitado por padrão. Use o SQL Server Configuration Manager para habilitar o recurso em ambas as instâncias do SQL Server.
Para ativar a funcionalidade FILESTREAM, siga estes passos:
Inicie o arquivo RDP na primeira VM do SQL Server (como 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 VM 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 e marque a caixa para Habilitar FILESTREAM para acesso Transact-SQL:
Selecione 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 do SQL Server.
Repita essas etapas para a outra instância do SQL Server.
Criar base de dados
Para seu banco de dados, você pode seguir as etapas nesta seção para criar um novo banco de dados ou restaurar um banco de dados AdventureWorks. Você também precisa fazer backup do banco de dados para inicializar a cadeia de logs. Os bancos de dados cujo backup não foi feito não atendem aos pré-requisitos de um grupo de disponibilidade.
Para criar um banco de dados, siga estas etapas:
- Inicie o arquivo RDP na primeira VM do SQL Server (como 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.
- Abra 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 ela não estiver cheia 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 seu novo banco de dados .
Para fazer backup do banco de dados, execute estas etapas:
No Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados, realce Tarefas e selecione Backup....
Selecione OK para fazer um backup completo do banco de dados para o local de backup padrão.
Criar a partilha de ficheiros
Crie um compartilhamento de arquivos de backup ao qual as VMs do SQL Server e suas contas de serviço tenham acesso.
Para criar o compartilhamento de arquivos de backup, execute estas etapas:
Na primeira VM do SQL Server no Gerenciador do Servidor, selecione Ferramentas. Abra o Gerenciamento do Computador.
Selecione Pastas compartilhadas.
Clique com o botão direito do rato em Partilhas, selecione Nova Partilha... e, em seguida, utilize o Assistente para Criar uma Pasta Partilhada para criar uma partilha.
Em 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 Seguinte.Em Nome, Descrição e Configurações , verifique o nome e o caminho do compartilhamento. Selecione Seguinte.
Em Permissões de Pasta Compartilhada, defina Personalizar permissões. Selecione Personalizado.
Em Personalizar Permissões, selecione Adicionar.
Marque Controle Total para conceder acesso total ao compartilhamento da conta de serviço do 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ê estará pronto para criar seu grupo de disponibilidade, que automaticamente obtém um backup completo e um backup de log de transações da réplica primária do SQL Server e o restaura na instância secundária do SQL Server com a opção NORECOVERY .
Para criar seu grupo de disponibilidade, siga estas etapas.
No Pesquisador de Objetos no SQL Server Management Studio (SSMS) na primeira VM do SQL Server (como SQL-VM-1), clique com o botão direito do mouse em Sempre em Alta Disponibilidade e selecione 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 Seguinte.
Na página Selecionar Bancos de Dados, selecione seu banco de dados e selecione Avançar. Se o banco de dados não atender 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 é exibida. Digite o nome do segundo servidor em Nome do servidor, como SQL-VM-2. Selecione Ligar.
Na página Especificar Réplicas, marque as caixas para Failover Automático e escolha Confirmação síncrona para o modo de disponibilidade na lista suspensa:
Selecione a guia Pontos de extremidade para confirmar que as portas usadas para o ponto de extremidade de espelhamento de banco de dados são aquelas que você abriu no firewall:
Selecione a guia Ouvinte e escolha Criar um ouvinte de grupo de disponibilidade usando os seguintes valores para o ouvinte:
Campo Valor Nome DNS do ouvinte: AG1-Ouvinte 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 de ambas as VMs do SQL Server.
A tabela a seguir mostra os endereços IP de exemplo criados para o ouvinte a partir do 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 IP secundário Endereço IP secundário SQL-VM-1 Sub-rede SQL-1 10.38.1.0/24 disponibilidade-grupo-ouvinte 10.38.1.11 SQL-VM-2 Sub-rede SQL-2 10.38.2.0/24 disponibilidade-grupo-ouvinte 10.38.2.11 Escolha a primeira sub-rede (como 10.38.1.0/24) na lista suspensa na caixa de diálogo Adicionar endereço IP e, em seguida, forneça o endereço IPv4 do ouvinte dedicado secundário, como
10.38.1.11
. Selecione OK.Repita essa etapa novamente, mas escolha a outra sub-rede na lista suspensa (como 10.38.2.0/24) e forneça o endereço IPv4 do ouvinte dedicado secundário da outra VM do SQL Server, como
10.38.2.11
. Selecione OK.Depois de revisar os valores na página Ouvinte, selecione Avançar:
Na página Selecionar Sincronização Inicial de Dados, escolha Backup completo de banco de dados e log e forneça o local de compartilhamento de rede criado anteriormente, como
\\SQL-VM-1\Backup
.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, a sincronização completa não é recomendada porque pode levar muito tempo. Você pode reduzir esse tempo fazendo manualmente um backup do banco de dados e restaurando-o com
NO RECOVERY
o . Se o banco de dados já tiver sido restaurado comNO RECOVERY
o segundo SQL Server antes de configurar o grupo de disponibilidade, escolha Somente ingresso. Se quiser fazer 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 até que o assistente configure seu novo grupo de disponibilidade. Escolha Mais detalhes na página Progresso para visualizar o progresso detalhado. Quando você 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 de Cluster de Failover.
Para verificar o status do grupo de disponibilidade, siga estas etapas:
No Pesquisador de Objetos, expanda Alta disponibilidade Always On e, em seguida, expanda grupos de disponibilidade. Agora você deve 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 exemplo a seguir:
Abra o Gerenciador de Cluster de Failover, selecione seu cluster e escolha Funções para exibir a função de grupo de disponibilidade criada dentro do 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 de grupo de disponibilidade correspondente também. Você pode se conectar usando o ouvinte e 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 de Cluster de Failover. Todas as operações de failover devem ser executadas de dentro do SQL Server Management Studio, como usando o Painel Always On ou o Transact-SQL (T-SQL). Para obter mais informações, consulte Restrições para usar o Gerenciador de Cluster de Failover com grupos de disponibilidade.
Testar a conexão do ouvinte
Depois que 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 ligação, siga estes passos:
Use o RDP para se conectar a um SQL Server que esteja na mesma rede virtual, mas não seja proprietário da réplica, como a outra instância do SQL Server dentro do cluster ou qualquer outra VM com o SQL Server Management Studio instalado nele.
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:
Entre
MultiSubnetFailover=True
na janela Parâmetros de conexão adicionais e escolha Conectar para se conectar automaticamente a qualquer instância que esteja hospedando a réplica primária do SQL Server:
Nota
- Ao conectar-se ao grupo de disponibilidade em diferentes sub-redes, a configuração
MultiSubnetFailover=true
fornece deteção e conexão mais rápidas com a réplica primária atual. Consulte Conectando-se com MultiSubnetFailover
Próximos passos
Agora que você configurou seu grupo de disponibilidade de várias sub-redes, se necessário, pode estendê-lo em várias regiões.
Para saber mais, veja: