Compartilhar via


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 todos 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) Azure Elastic SAN
Versão mínima do SO Todos Windows Server 2012 Windows Server 2016 Windows Server 2022
Versão mínima do SQL Server Todos SQL Server 2012 SQL Server 2016 SQL Server 2022
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 Zonas de disponibilidade
Dá suporte ao FileStream Sim Não Sim No
Suporta MSDTC Sim Não No No

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.
  • Suporte ao MSDTC (Coordenador de Transações Distribuídas da Microsoft) a partir do Windows Server 2019.

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 Configurar instância de cluster de failover 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.
  • O MSDTC (Coordenador de Transações Distribuídas da Microsoft) não tem suporte.

Para começar, confira Configurar instância de cluster de failover 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.
  • O MSDTC (Coordenador de Transações Distribuídas da Microsoft) não tem suporte.

Para começar, confira Configurar instância de cluster de failover com um compartilhamento de arquivo Premium.

Azure Elastic SAN

O Azure Elastic SAN é uma oferta de NAS que fornece aos clientes uma solução flexível e escalável com o potencial para reduzir custos por meio da consolidação de armazenamento. O Azure Elastic SAN oferece uma solução de armazenamento em bloco econômica, com desempenho superior e confiável que se conecta a uma variedade de serviços de computação do Azure via protocolo iSCSI. O Elastic SAN permite uma transição perfeita de um ambiente de armazenamento SAN existente para a nuvem sem a necessidade de refatorar a arquitetura do aplicativo.

Observação

A configuração de sua instância de cluster de failover com um Azure Elastic SAN está no momento em versão preliminar para SQL Server em VMs do Azure.

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

Benefícios:

  • O Elastic SAN não é limitado pelos limites de taxa de transferência do disco da VM, o que significa que você pode poupar custos alcançando a taxa de transferência desejada com VMs menores.
  • Consolidação de armazenamento e compartilhamento dinâmico de desempenho: é possível poupar custos consolidando cargas de trabalho de baixo e médio desempenho com cargas de trabalho do SQL Server, já que o pool de armazenamento é provisionado no nível de SAN e o desempenho é compartilhado entre cargas de trabalho.
  • Dá suporte a Reservas Persistentes SCSI (SCSI PR), o que significa que você pode migrar aplicativos em cluster para o Azure como estão.
  • Pode usar um único volume compartilhado ou distribuir vários volumes compartilhados para criar um conjunto de armazenamento compartilhado.
  • O armazenamento redundante de zona do Elastic SAN dá suporte a zonas de disponibilidade. As VMs que fazem parte de uma instância de cluster de failover podem ser colocadas em diferentes zonas de disponibilidade.

Limitações:

  • A testemunha de nuvem não tem suporte no momento.
  • Não dá suporte a cargas de trabalho com latência de submilissegundos.
  • Não há suporte para o fluxo de arquivos.
  • O MSDTC (Coordenador de Transações Distribuídas da Microsoft) não tem suporte.

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.

Observação

Quando você tem vários AGs ou FCIs no mesmo cluster e usa um ouvinte DNN ou VNN, cada AG ou FCI precisa de seu próprio ponto de conexão independente.

Limitações

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.

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.