Implantar o Cloud Witness para um cluster de failover
Cloud Witness é um tipo de testemunha de quórum para clusters de failover que utiliza o Microsoft Azure para contribuir na votação do quórum do cluster. Este artigo contém uma visão geral do recurso Cloud Witness, quais cenários ele suporta e instruções sobre como configurar uma testemunha de nuvem para um cluster de failover. Para obter mais informações, consulte Configurar uma testemunha de cluster.
O que é Cloud Witness?
Antes de começarmos, você deve atualizar sua memória sobre o que são quóruns de cluster e testemunhas de quórum lendo Noções básicas sobre quórum de agrupamento e pool.
Agora, vamos começar examinando um exemplo de configuração de um quorum de cluster de failover estendido de vários sites para Windows Server, mostrado no diagrama a seguir.
Este exemplo é uma configuração simplificada com dois nós em dois datacenters no local. Em agrupamentos típicos, cada nó tem um voto, uma testemunha de compartilhamento de arquivo , que dá um voto extra para a testemunha do quórum. Essa votação extra permite que o cluster continue em execução mesmo se um dos datacenters for desligado. No exemplo, o quórum de agrupamento tem cinco votos possíveis, e só precisa de três votos para continuar concorrendo.
No entanto, você pode notar que, além dos dois datacenters, há também um terceiro datacenter que atua como testemunha de compartilhamento de arquivos . Este datacenter é mantido separado dos outros dois sites e hospeda um servidor de arquivos que faz backup do compartilhamento de arquivos do sistema. A testemunha de compartilhamento de arquivos funciona como testemunha de quórum nessa configuração de quorum de cluster, garantindo que o sistema ainda seja executado mesmo se um dos datacenters for desligado inesperadamente.
Ter uma testemunha de compartilhamento de arquivos fornece redundância suficiente para manter seu servidor de arquivos altamente disponível. No entanto, você deve lembrar que hospedar a testemunha de compartilhamento de arquivos em outro servidor em um site separado requer configuração, manutenção regular e conectividade independente com os outros sites.
O Cloud Witness é diferente das configurações tradicionais de testemunha de quórum de cluster porque usa uma máquina virtual (VM) do Azure na nuvem como testemunha de quórum em vez de um datacenter físico. O Cloud Witness usa o Armazenamento de Blobs do Azure para ler e gravar um arquivo de blob que o sistema usa como voto decisivo para atingir o quórum. O diagrama a seguir mostra um exemplo de configuração que usa o Cloud Witness.
Como você pode ver, as configurações do Cloud Witness não exigem um terceiro datacenter separado. O Cloud Witness, como qualquer outra testemunha de quórum, recebe um voto extra e ajuda a evitar desligamentos totais se um dos outros datacenters for desligado. No entanto, não precisa de um local extra para armazenar a testemunha do quórum. O Cloud Witness também não precisa da manutenção física regular necessária para um datacenter no local.
Além da redundância, há alguns outros benefícios em usar o recurso Cloud Witness:
Você não precisa usar um datacenter extra separado para obter quórum.
Usar o Armazenamento de Blobs do Azure remove a sobrecarga de manutenção extra normalmente necessária para hospedar VMs na nuvem pública.
Você pode usar a mesma conta de Armazenamento do Azure para vários clusters. Os únicos requisitos são que você use apenas um blob por cluster e nomeie o nome do arquivo de blob após a ID exclusiva do cluster.
Reduza os custos contínuos para a sua conta de armazenamento, porque o arquivo blob não precisa de muitos dados e atualiza-se apenas quando o estado do nó do cluster muda.
O Azure vem com um tipo de recurso Cloud Witness incorporado.
Pré-requisitos
Você deve ter uma conta do Azure com uma assinatura ativa e uma conta de armazenamento de uso geral válida do Azure para configurar o Cloud Witness. Essa conta de armazenamento é onde o Cloud Witness cria o contentor msft-cloud-witness
para armazenar o ficheiro blob necessário para a arbitragem de votação.
Observação
O Cloud Witness não é compatível com os seguintes tipos de contas de armazenamento do Azure:
- Armazenamento de Blob
- Armazenamento Premium do Azure
Você também pode usar essa conta e o contêiner de msft-cloud-witness
que o Cloud Witness cria automaticamente para configurar o Cloud Witness em vários clusters diferentes. Cada cluster tem seu próprio arquivo de blob que armazena no contêiner.
Ao criar a sua conta de Armazenamento do Azure, se o cluster para o qual está a configurar o Cloud Witness estiver no local das instalações ou no Azure dentro da mesma região do Azure e zonas de disponibilidade, selecione armazenamento com redundância local (LRS) ao configurar o campo de replicação . Se o cluster estiver na mesma região do Azure, mas em zonas de disponibilidade diferentes, selecione Armazenamento com redundância de zona (ZRS) em vez disso.
Você deve usar um dos seguintes cenários suportados:
Recuperação de desastres para clusters multissite estendidos, conforme mostrado em O que é o Cloud Witness.
Clusters de failover sem armazenamento compartilhado, como SQL Always On.
Clusters de failover em execução dentro de um SO convidado, hospedado na função de máquina virtual do Microsoft Azure ou em qualquer outra nuvem pública.
Clusters de failover compostos por VMs alojadas em nuvens privadas em execução dentro de um sistema operativo convidado.
Clusters de armazenamento com ou sem armazenamento compartilhado, como clusters de servidor de arquivos de expansão.
Pequenos clusters de escritórios locais, que podem até ser clusters de dois nós.
Recomendamos que você sempre configure uma testemunha se estiver usando o Windows Server 2012 R2 e posterior. Clusters em versões posteriores do Windows Server gerenciam automaticamente o voto de testemunha e seus nós votam com Quórum Dinâmico.
Você também deve garantir que todos os firewalls entre o cluster de failover e o serviço de conta de Armazenamento do Azure permitam o tráfego da porta 443, também conhecida como porta HTTPS. O Cloud Witness usa a interface HTTPS REST para o serviço de Armazenamento do Azure. Portanto, você deve ter a porta 443 aberta em todos os nós do cluster de failover para que o Cloud Witness funcione como pretendido.
Quando cria uma conta de Armazenamento do Azure, o Azure associa-a às chaves de acesso primárias e secundárias geradas automaticamente. Ao configurar o Cloud Witness pela primeira vez, recomendamos que você use a chave de acesso primária. Depois disso, você pode usar a chave de acesso primária ou secundária.
Configurar o Cloud Witness como uma testemunha de quórum para seu cluster
Você pode configurar o Cloud Witness usando o fluxo de trabalho de Configuração do Quórum no Gerenciador de Cluster de Failover ou usando o PowerShell.
No Gestor de Servidor, selecione Ferramentase, em seguida, selecione Gestor de Cluster de Tolerância a Falhas.
No painel esquerdo, em Gerenciador de Cluster de Failover, selecione o cluster que você deseja configurar.
No painel direito, em Ações, selecione Mais Açõese, em seguida, selecione Configurar o Quórum do Cluster.
No Assistente para Configurar Quórum de Cluster, selecione Avançar.
Em Selecionar opção de configuração do quórum, selecionar Selecionar a testemunha de quórume, em seguida, selecionar Avançar.
Em Selecionar Testemunha de Quórum, selecione Configurar uma testemunha de nuvem de ficheirose, em seguida, selecione Seguinte.
Em Configurar testemunha de nuvem, insira as seguintes informações e selecione Avançar:
Seu nome de conta de Armazenamento do Azure.
A chave de acesso associada à sua conta de armazenamento.
Se você estiver criando uma testemunha de nuvem pela primeira vez, use sua chave de acesso principal.
Se você estiver girando sua chave de acesso primária, use a chave de acesso secundária.
Observação
Em vez de armazenar chaves de acesso diretamente, o cluster de failover gera um token SAS (Assinatura de Acesso Compartilhado) para armazenamento seguro. O token permanece válido apenas enquanto a chave de acesso associada for válida. Ao alternar a chave de acesso primária, atualize as testemunhas da nuvem em todos os clusters que utilizam essa conta de armazenamento, usando a chave secundária antes de regenerar a chave primária.
O ponto de extremidade do serviço do Azure
Você pode inserir o nome de outro servidor existente no campo de ponto de extremidade do serviço do Azure se planeja usar um ponto de extremidade de serviço do Azure diferente para sua testemunha de nuvem, como o Azure China.
Em de Confirmação , reveja as definições de quórum e, em seguida, selecione Seguinte.
Em Resumo, reveja a configuração da testemunha e, em seguida, selecione Concluir.
Você pode selecionar Exibir relatório para obter mais detalhes de configuração.
Depois que o Cloud Witness for criado, navegue até o painel central do Gerenciador de Cluster de Failover e ele poderá ser visto em Recursos Principais do Cluster.
Considerações sobre proxy com o Cloud Witness
O Cloud Witness usa HTTPS (porta padrão 443) para estabelecer comunicação de saída com o serviço de blob do Azure. O Azure utiliza .core.windows.net
como ponto de extremidade. Você precisa garantir que esse ponto de extremidade esteja incluído em qualquer lista de permissões de firewall que estiver usando entre o cluster e o Armazenamento do Azure. Se for necessário um proxy para acessar o Armazenamento do Azure, configure os serviços HTTP do Windows (WinHTTP) com as configurações de proxy necessárias. O cluster de failover utiliza WinHTTP para comunicação HTTPS.
Você pode usar o comando netsh
para configurar um servidor proxy padrão abrindo uma janela elevada do PowerShell e executando o seguinte comando:
Observação
A execução deste comando altera a configuração de proxy padrão para WinHTTP. Qualquer aplicativo, incluindo serviços do Windows que usam WinHTTP pode ser afetado.
netsh winhttp set proxy proxy-server="<ProxyServerName>:<port>" bypass-list="<HostsList>"
Por exemplo:
netsh winhttp set proxy proxy-server="192.168.10.80:8080" bypass-list="<local>; *.contoso.com"