Compartilhar via


Criar uma FCI com um compartilhamento de arquivos Premium (SQL Server em VMs do Azure)

Aplica-se a: SQL Server na VM do Azure

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:

Dica

Simplifique sua implantação sem precisar usar o Azure Load Balancer ou um DNN (nome de rede distribuída) para a instância de cluster de failover criando suas máquinas virtuais (VMs) do SQL Server em várias sub-redes na mesma rede virtual do Azure.

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 seu cluster de failover do Windows Server diferem entre ambientes de sub-rede única e de 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 criem um grupo de disponibilidade, as etapas para criar o cluster são as mesmas para uma instância de cluster de failover.

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. No Gerenciador do Servidor, selecione Ferramentas e Gerenciador de Cluster de Failover.

  2. Clique com o botão direito do mouse no cluster no Gerenciador de Cluster de Failover e selecione Validar Cluster para abrir o Assistente para Validar Configuração.

  3. No Assistente para Validar Configuração, selecione Avançar.

  4. Na página Selecionar Servidores ou um Cluster, insira os nomes de ambas as máquinas virtuais.

  5. Na página Opções de teste, selecione Executar apenas os testes selecionados.

  6. Selecione Avançar.

  7. Na página Seleção de Teste, selecione todos os testes, exceto Armazenamento e Espaços de Armazenamento Diretos:

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

  8. Selecione Avançar.

  9. Na página 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 e todos os componentes do cluster, incluindo o armazenamento, é possível criar a FCI do SQL Server.

Criar o primeiro nó no SQL FCI

Para criar o primeiro nó na FCI do SQL Server, siga estas etapas:

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

  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ó.

Adicionar nós à FCI do SQL

Para adicionar um nó à FCI do SQL Server, siga estas etapas:

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

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

  3. 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.

  4. 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.

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

  6. 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.

Observaçã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 dão suporte apenas a um número limitado de recursos disponíveis por meio do registro básico e não àqueles que exigem o agente, como backup automatizado, aplicação de patches, autenticação do Microsoft Entra e gerenciamento avançado do portal. Para saber mais, confira a tabela de benefícios.

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

  • 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.
  • 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.
  • O MSDTC (Coordenador de Transações Distribuídas da Microsoft) não é compatível com SQL Server em instâncias de cluster de failover de VM do Azure implantadas em compartilhamentos de arquivos premium. Confira as Limitações de FCI para obter mais informações.
  • As máquinas virtuais do Azure são compatíveis com o MSDTC (Coordenador de Transações Distribuídas da Microsoft) a partir do Windows Server 2019 quando implantadas em CSVs (Volumes Compartilhados Clusterizados) dedicados e usando um Standard Load Balancer. Não há suporte para MSDTC no Windows Server 2016 e anteriores.

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 dão suporte apenas a um número limitado de recursos disponíveis por meio do registro básico e não àqueles que exigem o agente, como backup automatizado, aplicação de patches, autenticação do Microsoft Entra e gerenciamento avançado do portal. Para saber mais, confira a tabela de benefícios.

Quando a VM do SQL Server já está registrada com a extensão do Agente de IaaS do SQL e você já habilitpu todos os recursos que exijam o agente, é necessário excluir a extensão da VM do SQL Server 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.