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

Os compartilhamentos de arquivos premium são apoiados por SSD e fornecem compartilhamentos de arquivos de latência consistentemente baixa que são totalmente suportados para uso com instâncias de cluster de failover para SQL Server 2012 ou posterior no Windows Server 2012 ou posterior. As partilhas de ficheiros Premium proporcionam-lhe uma maior flexibilidade, permitindo-lhe redimensionar e dimensionar uma partilha de ficheiros sem qualquer tempo de inatividade.

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

Nota

Agora é possível elevar e mudar sua solução de instância de cluster de failover para o SQL Server em VMs do Azure usando o Azure Migrate. Consulte Migrar instância de cluster de failover para saber mais.

Pré-requisitos

Antes de concluir as instruções neste artigo, você já deve ter:

  • Uma subscrição do Azure.
  • Uma conta que tem permissões para criar objetos em máquinas virtuais do Azure e no Ative Directory.
  • Duas ou mais VMs do Azure para uma FCI em um conjunto de disponibilidade ou zonas de disponibilidade diferentes.
  • Um compartilhamento de arquivos premium a ser usado como unidade clusterizada, com base na cota de armazenamento do banco de dados para os arquivos de dados.
  • A versão mais recente do PowerShell.

Monte o compartilhamento de arquivos premium

Para montar seu compartilhamento de arquivos premium, siga estas etapas:

  1. Entre no portal do Azure e vá para sua conta de armazenamento.

  2. Aceda a Partilhas de ficheiros em Armazenamento de dados e, em seguida, selecione a partilha de ficheiros premium que pretende utilizar para o seu armazenamento SQL.

  3. Selecione Conectar para exibir a cadeia de conexão para seu compartilhamento de arquivos.

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

    Screenshot showing how to copy the PowerShell command from the file share connect portal.

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

  6. Abra um console de comando administrativo do PowerShell.

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

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

  9. Crie pelo menos uma pasta no compartilhamento de arquivos recém-conectado para colocar seus arquivos de dados SQL.

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

Importante

Considere o uso de um compartilhamento de arquivos separado para arquivos de backup para salvar as operações de entrada/saída por segundo (IOPS) e a capacidade de espaço desse compartilhamento para dados e arquivos de log. Você pode usar um compartilhamento de arquivos Premium ou Standard para arquivos de backup.

Criar cluster de failover do Windows

As etapas para criar seu cluster de failover do Windows Server variam dependendo se você implantou suas VMs do SQL Server em uma única sub-rede ou em várias sub-redes. Para criar seu cluster, siga as etapas no tutorial para um cenário de várias sub-redes ou um 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 quórum

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

Se você tiver um número par de votos no cluster, configure a solução de quórum que melhor atenda às suas necessidades de negócios. Para obter mais informações, consulte Quórum 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, faça o seguinte em uma das máquinas virtuais:

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

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

  3. Selecione Seguinte.

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

  5. Em Opções de teste, selecione Executar apenas testes que seleciono.

  6. Selecione Seguinte.

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

    Screenshot showing how to select cluster validation tests.

  8. Selecione Seguinte.

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

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

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

Testar failover de cluster

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

Screenshot showing how to test cluster failover by moving the core resource to the other nodes.

Criar FCI do SQL Server

Depois de configurar o cluster de failover, você pode criar a FCI do SQL Server.

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

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

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

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

    • No Gerenciador de Cluster 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 do SQL Server FCI, a função que contém o Ponto de Acesso para Cliente temporário pode ser excluída.
  4. Localize a mídia de instalação. Se a máquina virtual usar uma das imagens do Azure Marketplace, a mídia estará localizada em C:\SQLServer_<version number>_Full.

  5. Selecione Configuração.

  6. No Centro de Instalação do SQL Server, selecione Instalação.

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

  8. Na página Configuração de Rede de Cluster, o IP fornecido varia dependendo se suas VMs do SQL Server foram implantadas em uma única sub-rede ou em várias sub-redes.

    1. Para um único ambiente de sub-rede, forneça o endereço IP que você planeja adicionar ao Balanceador de Carga do Azure
    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ê designou anteriormente como o endereço IP do nome de rede da instância de cluster de failover:

    Screenshot of the secondary IP address in the subnet of the first VM.

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

    Screenshot showing to use file share as SQL data directories.

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

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

  12. Abra o Centro de Instalação do SQL Server e selecione Instalação.

  13. Selecione Adicionar 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. Para 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ê designou anteriormente como o endereço IP do nome de rede da instância de cluster de failover

    Screenshot entering the secondary IP address in the subnet of the second SQL Server VM subnet.

    Depois de selecionar Avançar na Configuração de Rede de Cluster, a instalação mostra uma caixa de diálogo indicando que a Instalação do SQL Server detetou várias sub-redes, como na imagem de exemplo. Selecione Sim para confirmar.

    Screenshot showing multi subnet confirmation.

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

  16. Repita essas etapas em quaisquer outros nós que você deseja adicionar à instância de cluster de failover do SQL Server.

Nota

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 SQL Server Management Studio (SSMS).

Registre-se com a extensão do SQL IaaS Agent

Para gerenciar sua VM do SQL Server a partir do portal, registre-a com a extensão do SQL IaaS Agent. Apenas a funcionalidade limitada está disponível em VMs SQL que têm instâncias clusterizadas de failover do SQL Server (FCIs).

Se sua VM do SQL Server já tiver sido registrada com a extensão do SQL IaaS Agent e você tiver habilitado todos os recursos que exigem o agente, será necessário cancelar o registro da VM do SQL Server da extensão e registrá-la novamente depois que a FCI for instalada.

Registrar uma VM do SQL Server com o 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 suas VMs do SQL Server em várias sub-redes, ignore esta etapa. Se você implantou suas VMs do SQL Server em uma única sub-rede, precisará configurar um componente adicional para rotear o tráfego para sua FCI. Você pode configurar um nome de rede virtual (VNN) com um Balanceador de Carga do Azure ou um nome de rede distribuída para uma instância de cluster de failover. Analise as diferenças entre os dois e, em seguida, implante um nome de rede distribuída ou um nome de rede virtual e o Balanceador de Carga do Azure para sua instância de cluster de failover.

Limitações

  • O Microsoft Distributed Transaction Coordinator (MSDTC) não é suportado no Windows Server 2016 e versões anteriores.
  • FILESTREAM não é suportado para um cluster de failover com um compartilhamento de arquivos premium. Para usar o fluxo de arquivos, implante seu cluster usando os Espaços de Armazenamento Diretos ou os discos compartilhados do Azure.
  • As FCIs do SQL Server registradas com a extensão não oferecem suporte a recursos que exigem o agente, como backup automatizado, aplicação de patches e gerenciamento avançado de portal. Consulte a tabela de benefícios.
  • Atualmente, os instantâneos de banco de dados não são suportados com os Arquivos do Azure devido a limitações de arquivos esparsos.
  • Como não há suporte para instantâneos de banco de dados, o CHECKDB para bancos de dados de usuários retorna ao CHECKDB WITH TABLOCK. TABLOCK limita as verificações que são executadas - DBCC CHECKCATALOG não é executado no banco de dados e os dados do Service Broker não são validados.
  • DBCC CHECKDB em master e msdb banco de dados não é suportado.
  • Os bancos de dados que usam o recurso OLTP na memória não são suportados em uma instância de cluster de failover implantada com um compartilhamento de arquivos premium. Se sua empresa precisar de OLTP na memória, considere implantar sua FCI com discos compartilhados do Azure ou Espaços de Armazenamento Diretos .

Suporte de extensão limitado

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

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