Criar uma FCI com um compartilhamento de arquivos Premium (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 artigo explica como criar uma FCI (instância de cluster de failover) com o SQL Server nas máquinas virtuais (VMs) do Azure usando um compartilhamento de arquivo Premium.

Os compartilhamentos de arquivo Premium são compatíveis com SSD e fornecem compartilhamentos de arquivo de baixa latência consistentemente com suporte total para uso com instâncias de cluster de failover do SQL Server 2012 ou posteriores no Windows Server 2012 ou posteriores. Os compartilhamentos de arquivo premium proporcionam maior flexibilidade, permitindo que você redimensione e escale um compartilhamento de arquivo sem nenhum tempo de inatividade.

Para saber mais, confira uma visão geral do FCI com SQL Server em VMs do Azure e as melhores práticas de cluster.

Observação

Agora é possível migrar por lift-and-shift sua solução de instância de cluster de failover para o SQL Server em VMs do Azure usando as Migrações para Azure. Confira Migrar instância de cluster de failover para saber mais.

Pré-requisitos

Para realizar as instruções deste artigo, você já deve ter:

Montar compartilhamento de arquivo Premium

Para montar seu compartilhamento de arquivo Premium, siga estas etapas:

  1. Entre no portal do Azure e acesse sua conta de armazenamento.

  2. Acesse Compartilhamentos de arquivos em Armazenamento de dados e escolha o compartilhamento de arquivo premium a usar para o armazenamento do SQL.

  3. Selecione Conectar para abrir a cadeia de conexão do compartilhamento de arquivo.

  4. Na lista suspensa, selecione a letra da unidade que você deseja usar, escolha Chave da conta de armazenamento como o método de autenticação, e copie o bloco de código para um editor de texto, como o Bloco de Notas.

    Captura de tela que mostra como copiar o comando do PowerShell do portal de conexão do compartilhamento de arquivo.

  5. Use o protocolo RDP para se conectar à VM do SQL Server com a conta que a FCI do SQL Server usará para a conta de serviço.

  6. Abra um console de comando do PowerShell administrativo.

  7. Execute o comando que você copiou anteriormente para o editor de texto do portal de Compartilhamento de arquivos.

  8. Acesse o compartilhamento usando o Explorador de Arquivos ou a caixa de diálogo Executar (Windows + R no teclado). Use o caminho de rede \\storageaccountname.file.core.windows.net\filesharename. Por exemplo, \\sqlvmstorageaccount.file.core.windows.net\sqlpremiumfileshare

  9. Crie, pelo menos, uma pasta no compartilhamento de arquivo recém-conectado na qual os arquivos de dados do SQL serão colocados.

  10. Repita essas etapas em cada VM do SQL Server que participará do cluster.

Importante

Considere o uso de um compartilhamento de arquivo separado para arquivos de backup a fim de economizar a capacidade de operações de entrada/saída por segundo (IOPS) e o espaço desse compartilhamento para arquivos de dados e de log. Use um compartilhamento de arquivo Premium ou Standard para arquivos de backup.

Criar um cluster de failover do Windows

As etapas para criar o cluster de failover do Windows Server variam dependendo se você implantou as VMs do SQL Server em uma só sub-rede ou em várias sub-redes. Para criar o cluster, siga as etapas no tutorial para um cenário de várias sub-redes ou de cenário de sub-rede única. Embora esses tutoriais sejam para criar um grupo de disponibilidade, as etapas para criar o cluster são as mesmas.

Configurar o quorum

A testemunha de nuvem é a solução de quorum recomendada para esse tipo de configuração de cluster para o SQL Server em VMs do Azure.

Se você tiver um número par de votos no cluster, configure a solução de quorum que melhor atenda às suas necessidades de negócios. Para obter mais informações, confira Quorum com VMs do SQL Server.

Validar cluster

Valide o cluster em uma das máquinas virtuais usando a interface do usuário do Gerenciador de Cluster de Failover ou o PowerShell.

Para validar o cluster usando a interface do usuário, execute as seguintes etapas em uma das máquinas virtuais:

  1. Em Gerenciador do Servidor, selecione Ferramentas e Gerenciador de Cluster de Failover.

  2. Em Gerenciador de Cluster de Failover, selecione Ação e Validar Configuração.

  3. Selecione Avançar.

  4. Em Selecionar Servidores ou um Cluster, insira o nome de ambas as máquinas virtuais.

  5. Em Opções de teste, selecione Executar apenas os testes selecionados.

  6. Selecione Avançar.

  7. Em Seleção de Teste, selecione todos os testes, exceto Armazenamento e Espaços de Armazenamento Diretos, conforme mostrado aqui:

    Captura de tela que mostra como selecionar testes de validação de cluster.

  8. Selecione Avançar.

  9. Em Confirmação, selecione Avançar. O assistente para validar uma configuração executa os testes de validação.

Para validar o cluster usando o PowerShell, execute o seguinte script em uma sessão de administrador do PowerShell em uma das máquinas virtuais:

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"

Testar o failover de cluster

Teste o failover do cluster. Em Gerenciador de Cluster de Failover, clique com o botão direito do mouse no cluster e escolha Mais ações>Mover recurso principal de cluster>Selecionar nó e escolha o outro nó do cluster. Mova o recurso principal de cluster para cada nó do cluster e mova-o novamente para o nó primário. Se você puder mover o cluster para cada nó com êxito, estará pronto para instalar o SQL Server.

Captura de tela que mostra como testar o failover de cluster movendo o recurso básico para os outros nós.

Criar a FCI do SQL Server

Depois de configurar o cluster de failover, crie a FCI do SQL Server.

  1. Conecte-se à primeira máquina virtual usando o RDP.

  2. No Gerenciador de Cluster de Failover, verifique se todos os recursos de cluster estão na primeira máquina virtual. Se necessário, mova todos os recursos para essa máquina virtual.

  3. Se a versão do sistema operacional for Windows Server 2019 e o Cluster Windows tiver sido criado usando o DNN (Nome de Rede Distribuído padrão), a instalação FCI do SQL Server 2017 e anteriores falhará com o erroThe given key was not present in the dictionary.

    Durante a instalação, a configuração do SQL Server consulta o Nome da Rede Virtual (VNN) existente e não reconhece o DNN do Windows Cluster. O problema foi corrigido na configuração do SQL Server 2019. Para SQL Server 2017 e inferior, siga estas etapas para evitar o erro de instalação:

    • No Gerenciador de Clusters de Failover, conecte-se ao cluster, clique com o botão direito do mouse em Funções e selecione Criar Função Vazia.
    • Clique com o botão direito do mouse na função vazia recém-criada, selecione Adicionar recurso e selecione Ponto de acesso para cliente.
    • Insira qualquer nome e conclua o assistente para criar o Ponto de Acesso para Cliente.
    • Após a conclusão da instalação da FCI do SQL Server, a função que contém o Ponto de Acesso para Cliente temporário poderá ser excluída.
  4. Localize a mídia de instalação. Se a máquina virtual usa uma das imagens do Azure Marketplace, a mídia está localizada em C:\SQLServer_<version number>_Full.

  5. Selecione instalação.

  6. Na Central de Instalação do SQL Server, selecione Instalação.

  7. Escolha Nova instalação de cluster de failover do SQL Servere siga as instruções no assistente para instalar o FCI do SQL Server.

  8. Na página Configuração de Rede de Cluster, o IP que você fornece varia dependendo se as VMs do SQL Server de rede foram implantadas em uma só sub-rede ou em várias sub-redes.

    1. Para um só ambiente de sub-rede, forneça o endereço IP que você planeja adicionar ao Azure Load Balancer
    2. Para um ambiente de várias sub-redes, forneça o endereço IP secundário na sub-rede da primeira VM do SQL Server que você já havia designado como o endereço IP do nome da rede da instância de cluster de failover:

    Captura de tela do endereço IP secundário na sub-rede da primeira VM.

  9. Na Configuração do Mecanismo de Banco de Dados, os diretórios de dados precisam estar no compartilhamento de arquivo Premium. Insira o caminho completo do compartilhamento neste formato: \\storageaccountname.file.core.windows.net\filesharename\foldername. Um aviso é exibido, indicando que você especificou um servidor de arquivos como o diretório de dados. Esse aviso é esperado. Verifique se a conta de usuário usada para acessar a VM pelo RDP quando persistiu o compartilhamento de arquivo é a mesma conta usada pelo serviço SQL Server para evitar possíveis falhas.

    Captura de tela que mostra como usar o compartilhamento de arquivo como diretórios de dados SQL.

  10. Depois de concluir as etapas no assistente, a Instalação instalará uma FCI do SQL Server no primeiro nó.

  11. Depois que a instalação da FCI for bem-sucedida no primeiro nó, conecte-se com o segundo nó usando RDP.

  12. Na Central de Instalação do SQL Server, escolha Instalação.

  13. Selecione Adicionar um nó a um cluster de failover do SQL Server. Siga as instruções no assistente para instalar o SQL Server e adicionar o nó à FCI.

  14. Em um cenário de várias sub-redes, em Configuração de Rede de Cluster, insira o endereço IP secundário na sub-rede da segunda VM do SQL Server que você já designou como o endereço IP do nome da rede da instância de cluster de failover

    Captura de tela da inserção do endereço IP secundário na sub-rede da segunda sub-rede da VM do SQL Server.

    Depois de selecionar Próximona na Configuração de Rede de Cluster, a instalação mostrará uma caixa de diálogo indicando que a Instalação do SQL Server detectou várias sub-redes como na imagem de exemplo. Clique em Sim para confirmar.

    Captura de tela que mostra a confirmação de várias sub-redes.

  15. Depois de concluir as instruções no assistente, a instalação adiciona o segundo nó da FCI SQL Server.

  16. Repita essas etapas em qualquer nó em que você quiser adicionar a instância de cluster de failover do SQL Server.

Observação

As imagens da galeria do Azure Marketplace vêm com o SQL Server Management Studio instalado. Se você não usou uma imagem do marketplace Baixe o SSMS (SQL Server Management Studio).

Registrar na extensão Agente de IaaS do SQL

Para gerenciar a VM do SQL Server no portal, registre-a na extensão Agente de IaaS do SQL. Apenas funcionalidades limitadas estão disponíveis nas VMs do SQL com FCIs (instâncias clusterizadas de failover) do SQL Server.

Se a VM do SQL Server já tiver sido registrada na extensão Agente de IaaS do SQL e você tiver habilitado todos os recursos que exigem o agente, cancele o registro da VM do SQL Server na extensão e registre-a novamente depois que a FCI for instalada.

Registre uma VM do SQL Server no PowerShell (-LicenseType pode ser PAYG ou AHUB):

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

Configurar a conectividade

Se você implantou as VMs do SQL Server em várias sub-redes, pule esta etapa. Se você implantou as VMs do SQL Server em uma só sub-rede, configure um componente adicional para encaminhar o tráfego à FCI. Você pode configurar um VNN (nome de rede virtual) com um Azure Load Balancer ou um nome de rede distribuída para uma instância de cluster de failover. Examine as diferenças entre os dois e implante um nome de rede distribuída ou um nome de rede virtual e um Azure Load Balancer para a instância de cluster de failover.

Limitações

  • O Coordenador de Transações Distribuídas da Microsoft (MSDTC) não é compatível com o Windows Server 2016 e versões anteriores.
  • Não há suporte para o FILESTREAM em um cluster de failover com um compartilhamento de arquivo premium. Para usar o fluxo de arquivos, implante o cluster usando os Espaços de Armazenamento Diretos ou os discos compartilhados do Azure.
  • As FCIs do SQL Server registradas com a extensão do Agente de IaaS do SQL não oferecem suporte a recursos que exigem o agente, como backup automatizado, aplicação de patches, autenticação do Microsoft Entra e gerenciamento avançado do portal. Consulte a tabela de benefícios para obter mais informações.
  • Os instantâneos do banco de dados não são compatíveis no momento com os Arquivos do Azure devido a limitações de arquivos esparsos.
  • Como não há suporte para instantâneos de banco de dados, CHECKDB para bancos de dados de usuário retorna para CHECKDB WITH TABLOCK. TABLOCK limita as verificações executadas – DBCC CHECKCATALOG não é executado no banco de dados, e os dados do Service Broker não são validados.
  • Não há suporte para DBCC CHECKDB nos bancos de dados master e msdb.
  • Os bancos de dados que usam o recurso OLTP na memória não têm suporte em uma instância de cluster de failover implantada com um compartilhamento de arquivos premium. Se sua empresa exige OLTP na memória, considere implantar o FCI com discos compartilhados do Azure ou Espaços de Armazenamento Diretos.

Suporte limitado à extensão

No momento, as instâncias de cluster de failover do SQL Server em máquinas virtuais do Azure registradas com a extensão do Agente de IaaS do SQL oferecem suporte apenas a um número limitado de recursos. Confira a tabela de benefícios.

Se a VM do SQL Server já tiver sido registrada com a extensão do Agente de IaaS do SQL e você tiver habilitado todos os recursos que exijam o agente, será necessário cancelar o registro da extensão excluindo o recurso de máquina virtual do SQL para as VMs correspondentes e registrá-la na extensão do Agente de IaaS do SQL novamente. Ao excluir o recurso máquina virtual do SQL usando o portal do Azure, desmarque a caixa de seleção ao lado da máquina virtual correta para evitar a exclusão da máquina virtual.