Instâncias de cluster de failover com o SQL Server nas Máquinas Virtuais do Azure

Aplica-se a:SQL Server na VM do Azure

Este artigo apresenta as diferenças de recursos quando você está trabalhando com FCIs (instâncias de cluster de failover) para o SQL Server em VMs (máquinas virtuais) do Azure.

Para começar, prepare a VM.

Visão geral

O SQL Server em VMs do Azure usa a funcionalidade de WSFC (Windows Server Failover Clustering) para fornecer alta disponibilidade local por meio de redundância na instância de nível de servidor: uma instância de cluster de failover. Uma FCI é uma instância única do SQL Server instalada em nós do WSFC (ou simplesmente do cluster) e, possivelmente, em várias sub-redes. Na rede, uma FCI parece ser uma única instância do SQL Server em execução em um só computador. No entanto, a FCI fornece failover de um nó do WSFC para outro quando o nó atual fica indisponível.

O restante do artigo se concentra nas diferenças das instâncias de cluster de failover quando elas são usadas com o SQL Server em VMs do Azure. Para saber mais sobre a tecnologia de clustering de failover, confira:

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.

Quorum

As instâncias de cluster de failover com o SQL Server nas Máquinas Virtuais do Azure dão suporte ao uso de uma testemunha de disco, uma testemunha de nuvem ou uma testemunha de compartilhamento de arquivo para quorum do cluster.

Para saber mais, confira Melhores práticas de quorum com VMs do SQL Server no Azure.

Armazenamento

Em ambientes clusterizados tradicionais locais, um cluster de failover do Windows usa uma SAN (rede de área de armazenamento) que é acessível por ambos os nós como o armazenamento compartilhado. Os arquivos do SQL Server são hospedados no armazenamento compartilhado, e somente o nó ativo pode acessar os arquivos.

O SQL Server nas VMs do Azure oferece várias opções como solução de armazenamento compartilhado para uma implantação de instâncias de cluster de failover do SQL Server:

Discos compartilhados do Azure Compartilhamentos de arquivos Premium S2D (Espaços de Armazenamento Diretos)
Versão mínima do SO Todos Windows Server 2012 Windows Server 2016
Versão mínima do SQL Server Todos SQL Server 2012 SQL Server 2016
Disponibilidade de VM com suporte LRS SSD Premium: Conjuntos de Disponibilidade com ou sem grupo de posicionamento por proximidade
ZRS SSD Premium: Zonas de Disponibilidade
Discos Ultra: mesma zona de disponibilidade
Conjuntos de disponibilidade e zonas de disponibilidade Conjuntos de disponibilidade
Dá suporte ao FileStream Sim Não Sim
Cache de blob do Azure Não No Sim

O restante desta seção lista os benefícios e as limitações de cada opção de armazenamento disponível para o SQL Server nas VMs do Azure.

Discos compartilhados do Azure

Os discos compartilhados do Azure são um recurso dos discos gerenciados do Azure. O Clustering de failover do Windows Server dá suporte ao uso de discos compartilhados do Azure com uma instância de cluster de failover.

SO com suporte: Todos
Versão do SQL com suporte: Todos

Benefícios:

  • útil para aplicativos que buscam migrar para o Azure mantendo sua arquitetura de HADR (alta disponibilidade e recuperação de desastres) como está.
  • Pode migrar aplicativos em cluster para o Azure como estão devido ao suporte para SCSI PR (reservas persistentes de SCSI).
  • Dá suporte ao SSD Premium do Azure compartilhado e ao armazenamento de Disco Ultra do Azure.
  • Pode usar um só disco compartilhado ou distribuir vários discos compartilhados para criar um pool de armazenamento compartilhado.
  • Dá suporte ao FILESTREAM.
  • Conjuntos de disponibilidade de suporte de SSDs Premium.
  • O ZRS (Armazenamento com redundância de zona) SSD Premium dá suporte a Zonas de Disponibilidade. As VMs que fazem parte da FCI podem ser colocadas em diferentes zonas de disponibilidade.

Observação

Embora os discos compartilhados do Azure também deem suporte a tamanhos de SSD Standard, não recomendamos o uso de SSDs Standard para cargas de trabalho SQL Server devido às limitações de desempenho.

Limitações:

  • Não há suporte para o cache de disco SSD Premium.
  • Os discos Ultra não oferecem suporte a conjuntos de disponibilidade ou Armazenamento com Redundância de Zona (ZRS).
  • As zonas de disponibilidade oferecem suporte a Discos Ultra, mas as VMs precisam estar na mesma zona de disponibilidade, o que reduz a disponibilidade da máquina virtual para 99,9%.

Para começar, confira Instância de cluster de failover do SQL Server com discos compartilhados do Azure.

Espaços de Armazenamento Direct

Os Espaços de Armazenamento Diretos são um recurso do Windows Server que têm suporte com clustering de failover nas Máquinas Virtuais do Azure. Ele fornece uma SAN virtual baseada em software.

SO com suporte: Windows Server 2016 e posterior
Versão do SQL com suporte: SQL Server 2016 e posterior

Benefícios:

  • Largura de banda de rede suficiente habilita uma solução de armazenamento compartilhado robusta e altamente funcional.
  • Dá suporte ao cache de blob do Azure, portanto, as leituras podem ser servidas localmente do cache. (As atualizações são replicadas simultaneamente para ambos os nós.)
  • Dá suporte ao FileStream.

Limitações:

  • disponível somente para o Windows Server 2016 e posterior.
  • Não há suporte para zonas de disponibilidade.
  • Requer a mesma capacidade de disco anexada às duas máquinas virtuais.
  • Alta largura de banda de rede é necessária para alcançar alto desempenho devido à replicação em disco contínua.
  • Requer um tamanho de VM maior e pagamento duplo pelo armazenamento, pois o armazenamento é anexado a cada VM.

Para começar, confira Instância de cluster de failover do SQL Server com os Espaços de Armazenamento Diretos.

Compartilhamento de arquivo Premium

Os compartilhamentos de arquivos Premium são um recurso dos Arquivos do Azure. Os compartilhamentos de arquivos Premium têm suporte de SSD e têm baixa latência de maneira consistente. Eles têm suporte total para uso com as instâncias de cluster de failover para o SQL Server 2012 ou posterior no Windows Server 2012 ou posterior. Os compartilhamentos de arquivo Premium proporcionam maior flexibilidade, porque você pode redimensionar e escalar um compartilhamento de arquivo sem nenhum tempo de inatividade.

SO com suporte: Windows Server 2012 e posterior
Versão do SQL com suporte: SQL Server 2012 e posterior

Benefícios:

  • Solução de armazenamento compartilhado para máquinas virtuais espalhadas em várias zonas de disponibilidade.
  • Sistema de arquivos totalmente gerenciado com latências de dígito único e desempenho de E/S com capacidade de intermitência.
  • Nem todos os recursos do SQL Server são compatíveis, por exemplo, instantâneos de banco de dados, fluxo de arquivos e CHECKDB sem TABLOCK. Revise Limitações para obter detalhes.

Limitações:

  • disponível somente para o Windows Server 2012 e posterior.
  • Não há suporte para FILESTREAM.

Para começar, confira Instância de cluster de failover do SQL Server com um compartilhamento de arquivo Premium.

Parceiro

Há soluções de clustering de parceiros com armazenamento com suporte.

SO com suporte: Todos
Versão do SQL com suporte: Todos

Um exemplo usa o SIOS DataKeeper como armazenamento. Para obter mais informações, confira a entrada de blog Clustering de failover e SIOS DataKeeper.

iSCSI e ExpressRoute

Você também pode expor um armazenamento em bloco compartilhado de destino iSCSI por meio do Azure ExpressRoute.

SO com suporte: Todos
Versão do SQL com suporte: Todos

Por exemplo, o NPS (Armazenamento Privado do NetApp) expõe um destino iSCSI por meio do ExpressRoute com o Equinix para VMs do Azure.

Para soluções de replicação de dados e armazenamento compartilhado de parceiros da Microsoft, contate o fornecedor para solucionar problemas relacionados ao acesso a dados no failover.

Conectividade

Para corresponder à experiência local para se conectar à instância de cluster de failover, implante suas VMs do SQL Server em várias sub-redes dentro da mesma rede virtual. Ter várias sub-redes nega a necessidade da dependência extra em um Azure Load Balancer ou um DNN (nome de rede distribuída) para rotear o tráfego para a FCI.

Se você implantar as VMs do SQL Server em uma só sub-rede, poderá configurar um VNN (nome de rede virtual) e um Azure Load Balancer ou um DNN (nome de rede distribuída) para rotear o tráfego para sua instância do cluster de failover. Examine as diferenças entre os dois e, em seguida, implante um nome de rede distribuída ou um nome de rede virtual para sua instância de cluster de failover.

O nome da rede distribuída é recomendado, se possível, pois o failover é mais rápido e a sobrecarga e o custo de gerenciamento do balanceador de carga são eliminados.

A maioria dos recursos do SQL Server funciona de forma transparente com FCIs ao usar o DNN, mas há alguns recursos que podem exigir consideração especial. Para mais informações, consulte FCI e interoperabilidade de DNN.

Limitações

Considere as limitações a seguir das instâncias de cluster de failover com o SQL Server nas Máquinas Virtuais do Azure.

Suporte à extensão limitada

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.

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.

MSDTC

As Máquinas Virtuais do Azure dão suporte ao MSDTC (Coordenador de Transações Distribuídas da Microsoft) no Windows Server 2019 com armazenamento em CSVs (Volumes Compartilhados Clusterizados) e um Standard Load Balancer do Azure ou em VMs do SQL Server que estão usando discos compartilhados do Azure.

Nas Máquinas Virtuais do Azure, o MSDTC não tem suporte para o Windows Server 2016 ou versões anteriores com Volumes Compartilhados Clusterizados porque:

  • O recurso MSDTC clusterizado não pode ser configurado para usar o armazenamento compartilhado. No Windows Server 2016, se você criar um recurso MSDTC, ele não mostrará nenhum armazenamento compartilhado disponível para uso, mesmo se o armazenamento estiver disponível. Esse problema foi corrigido no Windows Server 2019.
  • O balanceador de carga básico não lida com portas RPC.

Azure Elastic SAN

No momento, o Azure Elastic SAN não é compatível com os Clusters de Failover do Windows Server. Portanto, não há suporte às FCIs (instâncias de cluster de failover) do SQL Server.