Criar uma FCI com Espaços de Armazenamento Diretos (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) usando Espaços de Armazenamento Diretos com SQL Server em VMS (Máquinas Virtuais) do Azure. Os Espaços de Armazenamento Diretos do atuam 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, 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.
Visão geral
Os S2D (Espaços de Armazenamento Diretos) são compatíveis com dois tipos de arquiteturas: convergente e hiperconvergente. Uma infraestrutura hiperconvergente coloca o armazenamento nos mesmos servidores que hospedam o aplicativo clusterizado, para que o armazenamento esteja em cada nó de FCI do SQL Server.
O diagrama a seguir mostra a solução completa, que usa Espaços de Armazenamento Diretos com hiperconvergência com SQL Server em VMs do Azure:
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ó de cluster ou nó.
- Cada máquina virtual tem dois ou mais discos de dados.
- Os Espaços de Armazenamento Diretos sincronizam os dados no disco de dados e apresentam o armazenamento sincronizado como um pool de armazenamento.
- O pool de armazenamento apresenta um CSV (Volume Compartilhado Clusterizado) 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 cenário de sub-rede única.
- Um conjunto de disponibilidade do Azure mantém todos os recursos.
Observação
Você pode criar essa solução inteira no Azure por meio de um modelo. Um exemplo de um modelo está disponível na página modelos de início rápido do Azure do GitHub. Este exemplo não foi criado nem testado para qualquer carga de trabalho específica. Você pode executar o modelo para criar uma FCI do SQL Server com armazenamento de Espaços de Armazenamento Diretos conectados ao seu domínio. Você pode avaliar o modelo e modificá-lo de acordo com a necessidade.
Pré-requisitos
Para realizar as instruções deste artigo, você já deve ter:
- Uma assinatura do Azure. Comece com uma conta gratuita do Azure.
- Duas ou mais máquinas virtuais do Windows do Azure preparadas em um conjunto de disponibilidade.
- Uma conta que tenha permissões para criar objetos em máquinas virtuais do Azure e no Active Directory.
- A versão mais recente do PowerShell.
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
Embora a testemunha de disco seja a opção de quorum mais resiliente, ela não é compatível com instâncias de cluster de failover configuradas com os Espaços de Armazenamento Diretos. Assim, a testemunha de nuvem é a solução de quorum recomendada para esse tipo de configuração de cluster para SQL Server nas 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 o cluster
Valide o cluster na IU do Gerenciador de Cluster de Failover ou usando o PowerShell.
Para validar o cluster usando a interface do usuário, execute as seguintes etapas em uma das máquinas virtuais:
No Gerenciador do Servidor, selecione Ferramentas e Gerenciador de Cluster de Failover.
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.
No Assistente para Validar Configuração, selecione Avançar.
Na página Selecionar Servidores ou um Cluster, insira os nomes de ambas as máquinas virtuais.
Na página Opções de teste, selecione Executar apenas os testes selecionados.
Selecione Avançar.
Na página Seleção de Teste, selecione todos os testes, exceto Armazenamento:
Selecione Avançar.
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 "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
Adicionar armazenamento
Os discos para os Espaços de Armazenamento Diretos precisam estar vazios. Eles não podem conter partições nem outros dados. Para limpar os discos, siga as instruções em Implantar Espaços de Armazenamento Diretos.
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.
-
Os Espaços de Armazenamento Diretos criam automaticamente um pool de armazenamento quando você os habilita. Agora você está pronto para criar um volume. O cmdlet do PowerShell
New-Volume
automatiza o processo de criação de volume. Esse processo inclui a formatação, a adição do volume ao cluster e a criação de um CSV. Este exemplo cria um CSV de 800 GB (gigabytes):New-Volume -StoragePoolFriendlyName S2D* -FriendlyName VDisk01 -FileSystem CSVFS_REFS -Size 800GB
Após de executar o comando anterior, um volume de 800 GB será 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:
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.
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:
Conecte-se à primeira máquina virtual usando RDP ou Bastion.
No Gerenciador de Cluster de Failover, verifique se todos os principais recursos de cluster estão na primeira máquina virtual. Se necessário, mova todos os recursos para aquela máquina virtual.
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 abaixo falhará com o erro
The 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.
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
. Selecione instalação.Na Central de Instalação do SQL Server, selecione Instalação.
Selecione Nova instalação de cluster de failover do SQL Server. Siga as instruções no Assistente para instalar o SQL Server FCI.
Na página Configuração de rede do cluster, o IP que você fornece varia dependendo da implantação das VMs do SQL Server em uma sub-rede única ou em várias.
- Para um só ambiente de sub-rede, forneça o endereço IP que você planeja adicionar ao Azure Load Balancer
- 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:
Na Configuração do mecanismo de banco de dados, os diretórios de dados da FCI precisam estar no armazenamento clusterizado. Com os Espaços de Armazenamento Diretos, o armazenamento não é um disco compartilhado, mas um ponto de montagem para um volume em cada servidor. Os Espaços de Armazenamento Diretos sincronizam o volume entre ambos os nós. O volume é apresentado ao cluster como um CSV. Use o ponto de montagem CSV para os diretórios de dados.
Com a conclusão das instruções do assistente, a configuração instala 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:
Depois que a instalação da FCI for bem-sucedida no primeiro nó, conecte-se ao segundo nó usando RDP ou Bastion.
Abra a Central de Instalação do SQL Server. Selecione Instalação.
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.
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
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.
Depois de concluir as instruções no assistente, a instalação adiciona o segundo nó da FCI SQL Server.
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. Observe que apenas funcionalidades limitadas estarão disponíveis nas VMs do SQL com FCIs (instâncias de cluster de failover) do SQL Server.
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
Os discos que foram anexados como discos formatados em NTFS poderão ser usados com Espaços de Armazenamento Diretos somente se a opção de qualificação de disco estiver desmarcada quando o armazenamento estiver sendo adicionado ao cluster.
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.
As instâncias de cluster de Failover usando Espaços de Armazenamento Diretos como o armazenamento compartilhado não dão suporte ao uso de uma testemunha de disco para o quorum do cluster. Em vez disso, use uma testemunha de nuvem.
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 Espaços de Armazenamento diretos. 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.
Próximas etapas
Se os Espaços de Armazenamento Diretos não forem a solução de armazenamento de FCI apropriada, considere criar a FCI usando os discos compartilhados do Azure ou Compartilhamento de Arquivos Premium.
Para obter mais informações, consulte: