Criar uma FCI com Espaços de Armazenamento Diretos (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 FCI (instância de cluster de failover) usando os Espaços de Armazenamento Diretos com o SQL Server em Máquinas Virtuais (VMs) do Azure. O Storage Spaces Direct atua como uma VSAN (rede de área de armazenamento virtual) baseada em software que sincroniza o armazenamento (discos de dados) entre os nós (VMs do Azure) em um cluster do Windows.

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.

Descrição geral

O Storage Spaces Direct (S2D) suporta dois tipos de arquiteturas: convergente e hiperconvergente. Uma infraestrutura hiperconvergente coloca o armazenamento nos mesmos servidores que hospedam o aplicativo clusterizado, de modo que o armazenamento esteja em cada nó FCI do SQL Server.

O diagrama a seguir mostra a solução completa, que usa Espaços de Armazenamento hiperconvergentes Diretos com o SQL Server em VMs do Azure:

Diagram of the complete solution, using hyperconverged Storage Spaces Direct

O diagrama anterior mostra os seguintes recursos no mesmo grupo de recursos:

  • Duas máquinas virtuais em um cluster de failover do Windows Server. Quando uma máquina virtual está em um cluster de failover, ela também é chamada de nó ou de cluster.
  • Cada máquina virtual tem dois ou mais discos de dados.
  • O Storage Spaces Direct sincroniza os dados nos discos de dados e apresenta o armazenamento sincronizado como um pool de armazenamento.
  • O pool de armazenamento apresenta um Volume Compartilhado de Cluster (CSV) para o cluster de failover.
  • A função de cluster FCI do SQL Server usa o CSV para as unidades de dados.
  • Um balanceador de carga do Azure para manter o endereço IP da FCI do SQL Server para um único cenário de sub-rede.
  • Um conjunto de disponibilidade do Azure contém todos os recursos.

Nota

Você pode criar essa solução inteira no Azure a partir de um modelo. Um exemplo de modelo está disponível na página de modelos de início rápido do GitHub Azure. Este exemplo não foi projetado ou testado para nenhuma carga de trabalho específica. Você pode executar o modelo para criar uma FCI do SQL Server com armazenamento Espaços de Armazenamento Diretos conectados ao seu domínio. Você pode avaliar o modelo e modificá-lo para seus propósitos.

Pré-requisitos

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

  • Uma subscrição do Azure. Comece a usar uma conta gratuita do Azure.
  • Duas ou mais máquinas virtuais do Windows Azure preparadas em um conjunto de disponibilidade.
  • Uma conta que tem permissões para criar objetos em máquinas virtuais do Azure e no Ative Directory.
  • A versão mais recente do PowerShell.

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

Embora a testemunha de disco seja a opção de quorum mais resiliente, ela não é suportada para instâncias de cluster de failover configuradas com Espaços de Armazenamento Diretos. Como tal, 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 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 o cluster

Valide o cluster na interface do usuário do Gerenciador de Cluster de Failover ou usando 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, conforme mostrado aqui:

    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 "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

Adicionar armazenamento

Os discos do Storage Spaces Direct precisam estar vazios. Eles não podem conter partições ou outros dados. Para limpar os discos, siga as instruções em Implantar espaços de armazenamento diretos.

  1. Habilite os Espaços de Armazenamento Diretos.

    O seguinte script do PowerShell habilita os Espaços de Armazenamento Diretos:

    Enable-ClusterS2D
    

    No Gerenciador de Cluster de Failover, agora você pode ver o pool de armazenamento.

  2. Crie um volume.

    O Storage Spaces Direct cria automaticamente um pool de armazenamento quando você o habilita. Agora você está pronto para criar um volume. O cmdlet New-Volume do PowerShell automatiza o processo de criação de volume. Esse processo inclui formatação, adição do volume ao cluster e criação de um CSV. Este exemplo cria um CSV de 800 gigabytes (GB):

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName VDisk01 -FileSystem CSVFS_REFS -Size 800GB
    

    Depois de executar o comando anterior, um volume de 800 GB é montado como um recurso de cluster. O volume está em C:\ClusterStorage\Volume1\.

    Esta captura de tela mostra um CSV com Espaços de Armazenamento Diretos:

    Screenshot of a Cluster Shared Volume with Storage Spaces Direct

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.

Test cluster failover by moving the core resource to the other nodes

Criar FCI do SQL Server

Depois de configurar o cluster de failover e todos os componentes do cluster, incluindo o armazenamento, 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 essa 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 da FCI para 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. Selecione Configuração.

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

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

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

    provide the secondary IP address in the subnet of the first SQL Server VM that you previously designated as the IP address of the failover cluster instance network name

  8. Na Configuração do Mecanismo de Banco de Dados, os diretórios de dados FCI precisam estar em armazenamento clusterizado. Com os Espaços de Armazenamento Diretos, não é um disco partilhado, mas um ponto de montagem para um volume em cada servidor. O Storage Spaces Direct sincroniza o volume entre os dois nós. O volume é apresentado ao cluster como um CSV. Use o ponto de montagem CSV para os diretórios de dados.

    Data directories

  9. Depois de concluir as instruções no assistente, a Instalação instala uma FCI do SQL Server no primeiro nó.

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

  11. Abra o Centro de Instalação do SQL Server. Selecione Instalação.

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

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

    enter the secondary IP address in the subnet of the second SQL Server VM subnet that you previously designated as the IP address of the failover cluster instance network name

    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.

    Multi Subnet Confirmation

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

  15. 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. Observe que apenas a funcionalidade limitada estará disponível em VMs SQL que tenham 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

  • As máquinas virtuais do Azure suportam o Microsoft Distributed Transaction Coordinator (MSDTC) no Windows Server 2019 com armazenamento em CSVs e um balanceador de carga padrão. O MSDTC não é suportado no Windows Server 2016 e versões anteriores.
  • Os discos que foram anexados como discos formatados em NTFS podem ser usados com o Storage Spaces Direct somente se a opção de elegibilidade do disco estiver desmarcada ou desmarcada quando o armazenamento estiver sendo adicionado ao cluster.
  • 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.
  • As instâncias de cluster de failover que usam Espaços de Armazenamento Diretos como armazenamento compartilhado não oferecem suporte ao uso de uma testemunha de disco para o quorum do cluster. Em vez disso, use uma testemunha de nuvem.

Próximos passos

Se o Storage Spaces Direct não for a solução de armazenamento FCI apropriada para você, considere criar sua FCI usando discos compartilhados do Azure ou Compartilhamentos de Arquivos Premium.

Para saber mais, consulte: