Configurar instâncias de cluster de ativação pós-falha com o SQL Server em Máquinas Virtuais do Azure

Aplica-se a:SQL Server na VM do Azure

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

Para começar, prepare sua vm.

Descrição geral

O SQL Server em VMs do Azure usa a funcionalidade WSFC (Cluster de Failover do Windows Server) para fornecer alta disponibilidade local por meio de redundância no nível da instância do servidor: uma instância de cluster de failover. Uma FCI é uma única instância do SQL Server instalada em nós WSFC (ou simplesmente no 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 único computador. Mas a FCI fornece failover de um nó WSFC para outro se o nó atual ficar indisponível.

O restante do artigo se concentra nas diferenças para 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, consulte:

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.

Quórum

As instâncias de cluster de failover com o SQL Server em 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 arquivos para quórum de cluster.

Para saber mais, consulte Práticas recomendadas do quórum com VMs do SQL Server no Azure.

Armazenamento

Em ambientes clusterizados locais tradicionais, um cluster de failover do Windows usa uma SAN (Storage Area Network, rede de área de armazenamento) 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 de uma só vez.

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

Discos partilhados do Azure Compartilhamentos de arquivos premium Espaços de armazenamento diretos (S2D)
Versão mínima do SO Tudo 2012 Windows Server Windows Server 2016
Versão mínima do SQL Server Tudo SQL Server 2012 SQL Server 2016
Disponibilidade de VM suportada SSD Premium LRS: Conjuntos de disponibilidade com ou sem grupo de posicionamento de proximidade
SSD Premium ZRS: Zonas de disponibilidade
Ultra discos: mesma zona de disponibilidade
Conjuntos de disponibilidade e zonas de disponibilidade Conjuntos de disponibilidade
Suporta FileStream Sim Não Sim
Cache de blob do Azure No Não Sim

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

Discos partilhados do Azure

Os discos partilhados do Azure são uma funcionalidade dos discos geridos 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 suportado: Todos
Versão SQL suportada: Todos

Benefícios:

  • Útil para aplicativos que desejam migrar para o Azure, mantendo sua arquitetura de alta disponibilidade e recuperação de desastres (HADR) como está.
  • Pode migrar aplicativos clusterizados para o Azure como está devido ao suporte a Reservas Persistentes SCSI (SCSI PR).
  • Suporta armazenamento partilhado de SSD Premium do Azure e Azure Ultra Disk.
  • Pode usar um único disco compartilhado ou distribuir vários discos compartilhados para criar um pool de armazenamento compartilhado.
  • Suporta FILESTREAM.
  • As SSD Premium suportam conjuntos de disponibilidade.
  • SSDs Premium Zone Redundant Storage (ZRS) suporta zonas de disponibilidade. As VMs que fazem parte da FCI podem ser colocadas em diferentes zonas de disponibilidade.

Nota

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

Limitações:

  • O cache de disco SSD Premium não é suportado.
  • Os discos Ultra não suportam conjuntos de disponibilidade.
  • As zonas de disponibilidade são suportadas para Ultra Disks, mas as VMs devem estar na mesma zona de disponibilidade, o que reduz a disponibilidade da máquina virtual para 99,9%
  • Os discos Ultra não suportam ZRS (Zone Redundant Storage, armazenamento redundante de zona)

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

Direto de Espaços de Armazenamento

O Storage Spaces Direct é um recurso do Windows Server com suporte para clustering de failover em Máquinas Virtuais do Azure. Ele fornece uma SAN virtual baseada em software.

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

Benefícios:

  • A largura de banda de rede suficiente permite uma solução de armazenamento compartilhado robusta e de alto desempenho.
  • Suporta cache de blob do Azure, para que as leituras possam ser servidas localmente a partir da cache. (As atualizações são replicadas simultaneamente para ambos os nós.)
  • Suporta FileStream.

Limitações:

  • Disponível apenas para Windows Server 2016 e posterior.
  • As zonas de disponibilidade não são suportadas.
  • Requer a mesma capacidade de disco conectada a ambas as máquinas virtuais.
  • A alta largura de banda da rede é necessária para alcançar alto desempenho devido à replicação contínua do disco.
  • Requer um tamanho de VM maior e pagamento duplo pelo armazenamento, porque o armazenamento é anexado a cada VM.

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

Partilha de ficheiros Premium

As partilhas de ficheiros Premium são uma funcionalidade dos Ficheiros do Azure. As partilhas de ficheiros Premium são suportadas por SSD e têm uma latência consistentemente baixa. Eles 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, uma vez que pode redimensionar e dimensionar uma partilha de ficheiros sem qualquer tempo de inatividade.

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

Benefícios:

  • Solução de armazenamento compartilhado para máquinas virtuais espalhadas por várias zonas de disponibilidade.
  • Sistema de arquivos totalmente gerenciado com latências de um dígito e desempenho de E/S burstable.

Limitações:

  • Disponível apenas para Windows Server 2012 e posterior.
  • O FileStream não é suportado.

Para começar, consulte Instância de cluster de failover do SQL Server com compartilhamento de arquivos Premium.

Parceiro

Existem soluções de clustering de parceiros com armazenamento suportado.

SO suportado: Todos
Versão SQL suportada: Todos

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

iSCSI e ExpressRoute

Você também pode expor um armazenamento de bloco compartilhado de destino iSCSI por meio da Rota Expressa do Azure.

SO suportado: Todos
Versão SQL suportada: Todos

Por exemplo, o NPS (NetApp Private Storage) expõe um destino iSCSI via ExpressRoute com Equinix para VMs do Azure.

Para soluções de armazenamento compartilhado e replicação de dados de parceiros da Microsoft, entre em contato com o fornecedor para quaisquer problemas relacionados ao acesso a dados em failover.

Conectividade

Para corresponder à experiência local de conexão com sua 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 de dependência extra de um Balanceador de Carga do Azure ou de um DNN (nome de rede distribuído) para rotear seu tráfego para sua FCI.

Se você implantar suas VMs do SQL Server em uma única sub-rede, poderá configurar um nome de rede virtual (VNN) e um Balanceador de Carga do Azure ou um DNN (nome de rede distribuída) para rotear o tráfego para sua 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 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 a DNN, mas há certos recursos que podem exigir consideração especial. Para obter mais informações, consulte Interoperabilidade FCI e DNN.

Limitações

Considere as seguintes limitações para instâncias de cluster de failover com o SQL Server em Máquinas Virtuais do Azure.

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.

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.

MSDTC

As Máquinas Virtuais do Azure suportam o Microsoft Distributed Transaction Coordinator (MSDTC) no Windows Server 2019 com armazenamento em Volumes Partilhados Clusterizados (CSV) e Azure Standard Load Balancer ou em VMs do SQL Server que utilizam discos partilhados do Azure.

Nas Máquinas Virtuais do Azure, o MSDTC não é suportado para o Windows Server 2016 ou anterior com Volumes Partilhados Clusterizados porque:

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