Executando cluster de failover do Windows Server


Você pode criar um cluster de failover usando o Windows Server no Google Cloud Platform (GCP). Um grupo de servidores trabalha em conjunto para fornecer maior disponibilidade (HA) para seus aplicativos Windows. Se um nó do cluster falhar, outro nó poderá assumir a execução do software. Você pode configurar o failover para acontecer automaticamente, que é a configuração normal, ou pode acionar manualmente um failover.

Este tutorial pressupõe que você esteja familiarizado com clustering de failover, Active Directory (AD) e administração do Windows Server.

Para uma breve visão geral das redes no GCP, consulte GCP para profissionais de data center: redes .

Arquitetura

Este tutorial mostra como criar um exemplo de cluster de failover no Compute Engine. O sistema de exemplo contém os dois servidores a seguir:

  • Uma instância primária de VM do Compute Engine executando o Windows Server 2016 na zona a .
  • Uma segunda instância, configurada para corresponder à instância primária na zona b .

Além disso, você implanta um controlador de domínio do AD, que, para este tutorial, atende às seguintes finalidades:

  • Fornece um domínio do Windows.
  • Resolve nomes de host em endereços IP.
  • Hospeda a testemunha de compartilhamento de arquivos que atua como um terceiro "voto" para atingir o quorum necessário para o cluster .

Você pode criar o controlador de domínio em qualquer zona. Este tutorial usa a zona c . Num sistema de produção, pode hospedar a testemunha de partilha de ficheiros noutro local e não precisa de um sistema AD separado apenas para suportar o seu cluster de failover. Consulte O que vem a seguir para ver links para artigos sobre como usar o AD no GCP.

Os dois servidores que você usará para implantar o cluster de failover estão localizados em zonas diferentes para garantir que cada servidor esteja em uma máquina física diferente e para proteger contra a possibilidade improvável de uma falha zonal.

O diagrama a seguir descreve a arquitetura que você implanta seguindo este tutorial.

Diagrama de arquitetura mostrando duas VMs do Compute Engine em um cluster de failover

Opções de armazenamento compartilhado

Este tutorial não aborda a configuração de um servidor de arquivos para armazenamento compartilhado de alta disponibilidade.

Google Cloud oferece suporte a várias soluções de armazenamento compartilhado que você pode usar com o cluster de failover do Windows Server, incluindo:

Para obter informações sobre outras possíveis soluções de armazenamento compartilhado, consulte:

Compreendendo o roteamento da rede

Quando o cluster faz failover, as solicitações devem ir para o nó recentemente ativo. A tecnologia de cluster normalmente lida com o roteamento usando o protocolo de resolução de endereços (ARP), que associa endereços IP a endereços MAC. No GCP, o sistema Virtual Private Cloud (VPC) usa rede definida por software , que não utiliza endereços MAC. Isso significa que as alterações transmitidas pelo ARP não afetam de forma alguma o roteamento. Para fazer o roteamento funcionar, o cluster requer ajuda em nível de software do Internal Load Balancer .

Normalmente, o balanceamento de carga interno distribui o tráfego de rede de entrada entre várias instâncias de back-end internas à sua VPC, para compartilhar a carga. Para clustering de failover, você usa o balanceamento de carga interno para rotear todo o tráfego para apenas uma instância: o nó do cluster atualmente ativo. Veja como o balanceamento de carga interno detecta o nó correto:

  • Cada instância de VM executa uma instância do agente do Compute Engine que oferece suporte para clustering de failover do Windows. O agente monitora os endereços IP da instância de VM.
  • O frontend do balanceador de carga fornece o endereço IP para o tráfego de entrada para o aplicativo.
  • O back-end do balanceador de carga fornece uma verificação de integridade. O processo de verificação de integridade efetua ping periodicamente no agente em cada nó do cluster usando o endereço IP fixo da instância de VM por meio de uma porta específica. A porta padrão é 59998.
  • A verificação de integridade inclui o endereço IP do aplicativo como uma carga na solicitação.
  • O agente compara o endereço IP na solicitação com a lista de endereços IP da VM host. Se o agente encontrar uma correspondência, ele responde com o valor 1. Caso contrário, responde com 0.
  • O balanceador de carga marca qualquer VM que passe na verificação de integridade como íntegra . A qualquer momento, apenas uma VM passa na verificação de integridade porque apenas uma VM possui o endereço IP da carga de trabalho.

O que acontece durante um failover

Quando ocorre um failover no cluster, ocorrem as seguintes alterações:

  • O cluster de failover do Windows altera o status do nó ativo para indicar que ele falhou.
  • O clustering de failover move todos os recursos e funções do cluster do nó com falha para o melhor nó, conforme definido pelo quorum. Esta ação inclui mover os endereços IP associados.
  • O clustering de failover transmite pacotes ARP para notificar os roteadores de rede baseados em hardware de que os endereços IP foram movidos. Neste cenário, a rede do GCP ignora esses pacotes.
  • Após a mudança, o agente do Compute Engine na VM do nó com falha altera sua resposta à verificação de integridade de 1 para 0, porque a VM não hospeda mais o endereço IP especificado na solicitação.
  • O agente do Compute Engine na VM do nó recém-ativo também altera sua resposta à verificação de integridade de 0 para 1.
  • O balanceador de carga interno interrompe o roteamento do tráfego para o nó com falha e, em vez disso, roteia o tráfego para o nó recém-ativo.

Juntando tudo

Agora que você revisou alguns dos conceitos, aqui estão alguns detalhes a serem observados sobre o diagrama de arquitetura:

  • O agente do Compute Engine para a VM chamada wsfc-2 está respondendo à verificação de integridade com o valor 1, indicando que é o nó do cluster ativo. Para wsfc-1 , a resposta é 0.
  • O balanceador de carga está roteando solicitações para wsfc-2 , conforme indicado pela seta.
  • O balanceador de carga e wsfc-2 possuem o endereço IP 10.0.0.9 . Para o balanceador de carga, este é o endereço IP de front-end especificado. Para a VM, é o endereço IP do aplicativo. O cluster de failover define esse endereço IP no nó atualmente ativo.
  • O cluster de failover e wsfc-2 possuem o endereço IP 10.0.0.8 . A VM tem esse endereço IP porque atualmente hospeda os recursos do cluster.

Conselhos para seguir este tutorial

Este tutorial tem vários passos. Às vezes, você é solicitado a seguir etapas em documentos externos, como a documentação da Microsoft. Não perca as notas neste documento que fornecem detalhes sobre como seguir as etapas externas.

Este tutorial usa o Cloud Shell no console do Google Cloud. Embora seja possível usar a interface do usuário do console do Google Cloud ou a CLI gcloud para configurar o cluster de failover, este tutorial usa principalmente o Cloud Shell para facilitar isso para você. Essa abordagem ajuda você a concluir o tutorial com mais rapidez. Quando for mais apropriado, algumas etapas usam o console do Google Cloud.

Nuvem Shell

É uma boa ideia tirar snapshots dos discos permanentes do Compute Engine ao longo do caminho. Se algo der errado, você pode usar um instantâneo para evitar recomeçar desde o início. Este tutorial sugere bons momentos para tirar fotos.

Se você achar que as coisas não estão funcionando como esperado, pode haver instruções na seção que você está lendo. Caso contrário, consulte a seção Solução de problemas .

Objetivos

  • Crie uma rede.
  • Instale o Windows Server 2016 em duas VMs do Compute Engine.
  • Instale e configure o Active Directory em uma terceira instância do Windows Server.
  • Configure o cluster de failover, incluindo uma testemunha de compartilhamento de arquivos para o quórum e uma função para a carga de trabalho.
  • Configure o balanceador de carga interno.
  • Teste a operação de failover para verificar se o cluster está funcionando.

Custos

Este tutorial usa imagens do Compute Engine que incluem licenças do Windows Server. Isto significa que o custo para executar este tutorial pode ser significativo se você deixar as VMs em execução. É uma boa ideia parar as VMs quando não as estiver usando.

Consulte a Calculadora de preços para obter uma estimativa dos custos para concluir este tutorial.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Enable the API

  8. Inicie uma instância do Cloud Shell.
    Acesse o Cloud Shell

Criando a rede

Seu cluster requer uma rede personalizada. Use a VPC para criar uma rede personalizada e uma sub-rede executando comandos gcloud no Cloud Shell.

  1. Crie a rede:

    gcloud compute networks create wsfcnet --subnet-mode custom
    

    O nome da rede que você criou é wsfcnet .

  2. Crie uma sub-rede. Substitua [YOUR_REGION] por uma região próxima do GCP:

    gcloud compute networks subnets create wsfcnetsub1 --network wsfcnet --region [YOUR_REGION] --range 10.0.0.0/16
    

    O nome da sub-rede criada é wsfcnetsub1 .

Observe que o intervalo CIDR para endereços IP nesta sub-rede é 10.0.0.0/16 . Este é um intervalo de exemplo usado para este tutorial. Em sistemas de produção, trabalhe com os administradores de rede para alocar intervalos apropriados de endereços IP para seus sistemas.

Crie regras de firewall

Por padrão, sua rede está fechada ao tráfego externo. Você deve abrir portas no firewall para permitir conexões remotas com os servidores. Use comandos gcloud no Cloud Shell para criar as regras.

  1. Para este tutorial, abra a porta 3389 na rede principal para habilitar conexões RDP. No comando a seguir, substitua [YOUR_IPv4_ADDRESS] pelo endereço IP do computador que você usa para se conectar às instâncias de VM. Em um sistema de produção, você pode fornecer um intervalo de endereços IP ou uma série de endereços .

    gcloud compute firewall-rules create allow-rdp --network wsfcnet --allow tcp:3389 --source-ranges [YOUR_IPv4_ADDRESS]
    
  2. Na sub-rede, permita que todos os protocolos em todas as portas permitam que os servidores se comuniquem entre si. Em sistemas de produção, considere abrir apenas portas específicas, conforme necessário.

    gcloud compute firewall-rules create allow-all-subnet --network wsfcnet --allow all --source-ranges 10.0.0.0/16
    

    Observe que o valor source-ranges corresponde ao intervalo CIDR usado para criar a sub-rede.

  3. Veja suas regras de firewall:

    gcloud compute firewall-rules list
    

    Você deverá ver uma saída semelhante a esta:

    NAME              NETWORK  DIRECTION  PRIORITY  ALLOW            DENY  DISABLED
    allow-all-subnet  wsfcnet  INGRESS    1000      all                    False
    allow-rdp         wsfcnet  INGRESS    1000      tcp:3389               False

Como ativar o clustering de failover no Compute Engine

Para ativar o clustering de failover no agente do Compute Engine, você precisa adicionar a sinalização enable-wsfc=true às definições de VM especificando-a como metadados personalizados para a VM ou criando um arquivo de configuração em cada VM, conforme descrito na documentação do Compute Engine .

Este tutorial define o sinalizador como metadados personalizados quando as VMs são criadas, conforme descrito na próxima seção. O tutorial também depende do comportamento padrão para wsfc-addrs e wsfc-agent-port , portanto, você não precisa definir esses valores.

Criando os servidores

Em seguida, crie os 3 servidores. Use o comando gcloud no Cloud Shell.

Crie o primeiro servidor de nó de cluster

Crie uma nova instância do Compute Engine. Configure a instância da seguinte maneira:

  • Nomeie a instância wsfc-1 .
  • Defina o sinalizador --zone para uma zona conveniente perto de você. Por exemplo, us-central1-a .
  • Defina o sinalizador --machine-type como n1-standard-2.
  • Defina o sinalizador --image-project como windows-cloud .
  • Defina o sinalizador --image-family como windows-2016 .
  • Defina o sinalizador --scopes como https://www.googleapis.com/auth/compute .
  • Defina o sinalizador --can-ip-forward para ativar o encaminhamento de IP.
  • Defina o sinalizador --private-network-ip como 10.0.0.4 .
  • Configure a rede como wsfcnet e a sub-rede como wsfcnetsub1 .
  • Use o parâmetro --metadata para configurar enable-wsfc=true .

Execute o seguinte comando, substituindo [YOUR_ZONE_1] pelo nome da sua primeira zona:

gcloud compute instances create wsfc-1 --zone [YOUR_ZONE_1] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.4 --network wsfcnet --subnet wsfcnetsub1 --metadata enable-wsfc=true

Crie o segundo servidor de nó de cluster

Para o segundo servidor, siga as mesmas etapas, exceto:

  • Configure o nome da instância como: wsfc-2 .
  • Configure o sinalizador --zone para uma zona diferente da zona usada para o primeiro servidor. Por exemplo, us-central1-b .
  • Defina o sinalizador --private-network-ip como 10.0.0.5 .

Substitua [YOUR_ZONE_2] pelo nome da sua segunda zona:

gcloud compute instances create wsfc-2 --zone [YOUR_ZONE_2] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.5 --network wsfcnet --subnet wsfcnetsub1  --metadata enable-wsfc=true

Crie o terceiro servidor para Active Directory

Para o controlador de domínio, siga as mesmas etapas, exceto:

  • Configure o nome da instância como: wsfc-dc .
  • Configure o sinalizador --zone para uma zona diferente das zonas usadas para os outros servidores. Por exemplo, us-central1-c .
  • Defina o sinalizador --private-network-ip como 10.0.0.6 .
  • Omita --metadata enable-wsfc=true .

Substitua [YOUR_ZONE_3] pelo nome da sua zona:

gcloud compute instances create wsfc-dc --zone [YOUR_ZONE_3] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.6 --network wsfcnet --subnet wsfcnetsub1

Veja suas instâncias

Você pode ver os detalhes sobre as instâncias que você criou.

gcloud compute instances list

Você verá uma saída semelhante a esta:

NAME     ZONE           MACHINE_TYPE  PREEMPTIBLE INTERNAL_IP  EXTERNAL_IP     STATUS
wsfc-1   us-central1-a  n1-standard-2             10.0.0.4     35.203.131.133  RUNNING
wsfc-2   us-central1-b  n1-standard-2             10.0.0.5     35.203.130.194  RUNNING
wsfc-dc  us-central1-c  n1-standard-2             10.0.0.6     35.197.27.2     RUNNING

Conectando-se às suas VMs

Para se conectar a uma VM baseada no Windows, primeiro você deve gerar uma senha para a VM. Você pode então se conectar à VM usando RDP.

Gerando senhas

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Clique no nome da instância de VM para a qual você precisa de uma nova senha.

  3. Na página de detalhes da instância, clique no botão Definir senha do Windows . Uma senha é gerada para você. Copie a senha e guarde-a em um local seguro.

Conectando-se por meio de RDP

A documentação do Compute Engine fornece detalhes sobre como se conectar às instâncias de VM do Windows usando RDP. Você pode:

  • Use um cliente existente.
  • Adicione um plug-in Chrome RDP ao seu navegador e conecte-se por meio do console do Google Cloud.

Sempre que este tutorial solicitar que você se conecte a uma instância do Windows, use sua conexão RDP preferida.

Configurando a rede do Windows

Os endereços IP internos atribuídos quando você criou as VMs são estáticos. Para garantir que o Windows trate os endereços IP como estáticos, você precisa adicioná-los, juntamente com os endereços IP do gateway padrão e do servidor DNS, à configuração de rede do Windows Server.

Use RDP para conectar-se a wsfc-1 , wsfc-2 e wsfc-dc e repita as etapas a seguir para cada instância:

  1. No Gerenciador do Servidor, no painel esquerdo, selecione Servidor Local .
  2. Na entrada Ethernet do painel Propriedades , clique em Endereço IPv4 atribuído por DHCP, IPv6 habilitado .
  3. Clique com o botão direito em Ethernet e selecione Propriedades .
  4. Clique duas vezes em Protocolo de Internet versão 4 (TCP/IPv4) .
  5. Selecione Usar o seguinte endereço IP .
  6. Insira o endereço IP interno que você atribuiu à VM quando a criou.

    • Para wsfc-1 , insira "10.0.0.4".
    • Para wsfc-2 digite "10.0.0.5".
    • Para wsfc-dc digite "10.0.0.6".
  7. Para Máscara de sub-rede , insira "255.255.0.0".

  8. Para Gateway padrão , insira 10.0.0.1 , o endereço IP que foi automaticamente reservado para o gateway padrão quando você criou a sub-rede wsfcnetsub1 .

    O endereço IP do gateway padrão é sempre o segundo endereço no intervalo de IP primário de uma sub-rede. Consulte Endereços inutilizáveis ​​em intervalos de sub-redes IPv4 .

  9. Somente para wsfc-1 e wsfc-2 :

    1. Clique em Usar os seguintes endereços de servidor DNS .

    2. Para Servidor DNS preferencial , insira "10.0.0.6".

  10. Feche todas as caixas de diálogo.

    Você perde a conectividade RDP porque essas alterações redefinem o adaptador de rede virtual da instância de VM.

  11. Feche a sessão RDP e reconecte-se à instância. Se uma caixa de diálogo da etapa anterior ainda estiver aberta, feche-a.

  12. Na seção de propriedades do servidor local, verifique se a configuração Ethernet reflete o endereço IP do servidor local ( 10.0.0.4 , 10.0.0.5 , ou 10.0.0.6 ). Caso contrário, abra novamente a caixa de diálogo Protocolo da Internet Versão 4 (TCP/IPv4) e atualize a configuração.

Este é um bom momento para tirar instantâneos de wsfc-1 e wsfc-2 .

Configurando o Active Directory

Agora, configure o controlador de domínio.

  1. Use RDP para conectar-se ao servidor chamado wsfc-dc .
  2. Usando o aplicativo de desktop Windows Computer Management, defina uma senha para a conta de administrador local .
  3. Habilite a conta de administrador local.
  4. Siga as etapas nas instruções da Microsoft abaixo para configurar o controlador de domínio, com estas notas adicionais. Você pode usar valores padrão para a maioria das configurações.

    • Marque a caixa de seleção Função do servidor DNS. Esta etapa não está especificada nas instruções.
    • Marque a caixa de seleção Reiniciar o servidor de destino automaticamente, se necessário .
    • Promova o servidor de arquivos a um controlador de domínio.
    • Durante a etapa Adicionar uma nova floresta , nomeie seu domínio como "WSFC.TEST".
    • Defina o nome de domínio NetBIOS como "WSFC" (o padrão).

    Instruções da Microsoft

Este é um bom momento para tirar um instantâneo do wsfc-dc .

Crie a conta de usuário do domínio

Pode levar algum tempo para wsfc-dc reiniciar. Antes de ingressar servidores no domínio, use o RDP para entrar no wsfc-dc para validar se o controlador de domínio está em execução.

Você precisa de um usuário de domínio que tenha privilégios de administrador para os servidores de cluster. Siga estas etapas:

  1. No controlador de domínio ( wsfc-dc ), clique em Iniciar e digite dsa para localizar e abrir o aplicativo Usuários e Computadores do Active Directory.
  2. Clique com o botão direito em WSFC.TEST , aponte para Novo e clique em Usuário .
  3. Para o Nome completo e o Nome de logon do usuário , insira cluster-admin .
  4. Clique em Avançar .
  5. Digite e confirme uma senha para o usuário. Selecione as opções de senha na caixa de diálogo. Por exemplo, você pode definir a senha para nunca expirar.
  6. Confirme as configurações e clique em Concluir .
  7. Torne cluster-admin um administrador em wsfc-dc :

    • Clique com o botão direito cluster-admin e selecione Adicionar a um grupo .
    • Digite Administradores e clique em OK .

Este tutorial usa a conta WSFC.TEST\cluster-admin como uma conta de administrador sempre que tal conta for necessária. Num sistema de produção, siga as suas práticas habituais de segurança para atribuição de contas e permissões. Para obter mais informações, consulte Visão geral das contas do Active Directory necessárias para um cluster de failover .

Junte os servidores ao domínio

Inclua os dois servidores de nó de cluster no domínio WSFC.TEST . Execute as etapas a seguir em cada servidor de nó de cluster ( wsfc-1 e wsfc-2 ):

  1. Em Gerenciador de Servidores > Servidor Local , no painel Propriedades , clique em GRUPO DE TRABALHO .
  2. Clique em Alterar .
  3. Selecione Domínio e digite "WSFC.TEST".
  4. Clique em OK .
  5. Forneça as credenciais para WSFC.TEST\cluster-admin ingressar no domínio.
  6. Clique em OK .
  7. Feche as caixas de diálogo e siga as instruções para reiniciar o servidor.
  8. No Server Manager , torne cluster-admin um administrador em wsfc-1 e wsfc-2 . Alternativamente, você pode gerenciar privilégios administrativos usando uma política de grupo.

    • No menu Ferramentas , selecione Gerenciamento do computador > Usuários e grupos locais > Grupos > Administradores e clique em Adicionar .
    • Digite "cluster-admin" e clique em Verificar nomes .
    • Clique em OK .

Este é um bom ponto para tirar instantâneos de todas as três VMs.

Configurando cluster de failover

Reserve um endereço IP para o cluster no Compute Engine

Ao criar o cluster de failover, você atribui um endereço IP para criar um ponto de acesso administrativo. Em um ambiente de produção, você poderá usar um endereço IP de uma sub-rede separada. No entanto, neste tutorial você reserva um endereço IP da sub-rede já criada. A reserva do endereço IP evita conflitos com outras atribuições de IP.

  1. Abra um terminal em uma VM host ou abra o Cloud Shell.

    Acesse o Cloud Shell

  2. Reserve um endereço IP. Para este tutorial, use 10.0.0.8 :

    gcloud compute addresses create cluster-access-point --region [YOUR_REGION] --subnet wsfcnetsub1 --addresses 10.0.0.8
  3. Para confirmar a reserva do endereço IP:

    gcloud compute addresses list

Crie o cluster

Para criar e configurar o cluster de failover:

  1. Use RDP para conectar wsfc-1 e wsfc-2 .
  2. Siga as etapas nas instruções da Microsoft abaixo, com estas notas adicionais:

    • Instale o recurso Cluster de Failover em wsfc-1 e wsfc-2 . Não instale o recurso Failover Clustering em wsfc-dc .
    • Execute o aplicativo Failover Cluster Manager como o usuário de domínio WSFC.TEST\cluster-admin . Caso contrário, você poderá encontrar problemas de permissões. É uma boa ideia sempre executar o Failover Cluster Manager dessa forma ou conectar-se a um servidor como cluster-admin para garantir que você tenha as permissões necessárias.
    • Adicione wsfc-1 e wsfc-2 ao cluster como nós.
    • Ao validar a configuração:

      • Na página Opções de teste , selecione Executar apenas testes que eu selecionar e clique em Avançar .
      • Na página Seleção de teste , desmarque Armazenamento porque a opção Armazenamento falhará ao ser executada no Compute Engine (como aconteceria com servidores físicos autônomos separados).

        Os problemas comuns que você pode encontrar durante a validação do cluster incluem:

        • Apenas uma interface de rede entre réplicas . Você pode ignorar este, porque ele não se aplica a uma configuração baseada em nuvem.
        • As atualizações do Windows não são iguais em ambas as réplicas . Se você configurou suas instâncias do Windows para aplicar atualizações automaticamente, um dos nós poderá ter aplicado atualizações que o outro ainda não baixou. Você deve manter os servidores em configurações idênticas.
        • Reinicialização pendente . Você fez alterações em um dos servidores e ele precisa ser reinicializado para ser aplicado. Não ignore este.
        • Nem todos os servidores têm a mesma função de domínio . Você pode ignorar este.
        • Os servidores não estão todos na mesma Unidade Organizacional (OU) . Este tutorial não usa nenhuma UO, mas em um sistema de produção considere colocar seu cluster em sua própria UO. As instruções da Microsoft descrevem essa prática recomendada.
        • Drivers não assinados foram encontrados . Você pode ignorar este.
    • Na página Resumo , você pode selecionar Criar o cluster agora usando os nós validados para continuar a criar o cluster, em vez de fechar o assistente e reabri-lo.

    • No Assistente para Criar Cluster, na página Ponto de acesso :

      • Nomeie seu cluster como "testcluster".
      • No campo Endereço , insira o endereço IP que você reservou anteriormente, 10.0.0.8 .

    Instruções da Microsoft

Adicione o administrador do cluster

Adicionar uma conta de domínio como administrador do cluster permite executar ações no cluster a partir de ferramentas como o Windows PowerShell. Adicione a conta de domínio cluster-admin como administrador de cluster.

  1. No nó do cluster que hospeda os recursos do cluster, no Failover Cluster Manager, selecione seu cluster no painel esquerdo e clique em Propriedades no painel direito.
  2. Selecione a guia Permissões de Cluster .
  3. Clique em Incluir e, em seguida, inclua cluster-admin .
  4. Com cluster-admin selecionado na lista Nomes de grupos ou usuários , selecione Controle total no painel Permissões .
  5. Clique em Aplicar e OK .

Este é um bom ponto para tirar instantâneos.

Criando a testemunha de compartilhamento de arquivos

Você tem um cluster de failover de dois nós, mas o cluster usa um mecanismo de votação para decidir qual nó deve estar ativo. Para atingir um quórum, você pode adicionar uma testemunha de compartilhamento de arquivos.

Este tutorial simplesmente adiciona uma pasta compartilhada ao servidor do controlador de domínio. Se esse servidor ficar off-line ao mesmo tempo em que um dos nós do cluster estiver reiniciando, todo o cluster poderá parar de funcionar porque o servidor restante não poderá votar sozinho. Para este tutorial, supõe-se que os recursos de infraestrutura do GCP, como Live Migration e reinicialização automática , forneçam confiabilidade suficiente para manter a pasta compartilhada ativa.

Se quiser criar uma testemunha de compartilhamento de arquivos com maior disponibilidade, você terá estas opções:

  • Use um cluster de Windows Servers para fornecer o compartilhamento usando Espaços de Armazenamento Diretos . Esse recurso do Windows Server 2016 pode fornecer um compartilhamento altamente disponível para a testemunha de quorum. Por exemplo, você pode criar um cluster para seu controlador de domínio do Active Directory para fornecer serviços de domínio altamente disponíveis e fornecer a testemunha de compartilhamento de arquivos ao mesmo tempo.
  • Use software de replicação de dados, como o SIOS Datakeeper, com Windows Failover Server Clustering para replicação síncrona ou assíncrona.

Siga estas etapas para criar o compartilhamento de arquivos para a testemunha:

  1. Conecte-se a wsfc-dc . Este servidor hospeda o compartilhamento de arquivos.
  2. No Explorer, navegue até a unidade C
  3. Na barra de título, clique no botão Nova pasta .
  4. Nomeie a nova pasta shares .
  5. Clique duas vezes na pasta de shares para abri-la.
  6. Adicione uma nova pasta e nomeie- clusterwitness-testcluster .

Configurar o compartilhamento para a testemunha de compartilhamento de arquivos

Você deve definir permissões na pasta testemunha de compartilhamento de arquivos para permitir que o cluster a utilize.

  1. No Explorer, clique com o botão direito na pasta clusterwitness-testcluster e selecione Propriedades .
  2. Na guia Compartilhamento , clique em Compartilhamento Avançado .
  3. Selecione Compartilhar esta pasta .
  4. Clique em Permissões e em Adicionar .
  5. Clique em Tipos de objeto , selecione Computadores e clique em OK .
  6. Adicione a conta da máquina testcluster$ .
  7. Dê permissões de controle total para testcluster$ .
  8. Clique em Aplicar e feche todas as caixas de diálogo.

Adicione a testemunha de compartilhamento de arquivos ao cluster de failover

Agora, configure o cluster de failover para usar a testemunha de compartilhamento de arquivos como votação de quorum.

  1. No computador que hospeda os recursos do cluster ( wsfc-1 ), abra o Failover Cluster Manager.
  2. No painel esquerdo, clique com o botão direito no nome do cluster ( testcluster.WSFC.TEST ), aponte para More Actions e clique em Configure Cluster Quorum Settings .
  3. No painel Selecionar opção de configuração de quorum , escolha Selecionar a testemunha de quorum .
  4. No painel Selecionar Quorum Witness , escolha Configurar uma testemunha de compartilhamento de arquivos .
  5. Em File Share Path , insira o caminho para a pasta compartilhada, como \\wsfc-dc\clusterwitness-testcluster .
  6. Confirme as configurações e clique em Concluir .

Testando o cluster de failover

Seu cluster de failover do Windows Server agora deve estar funcionando. Você pode testar a movimentação manual de recursos de cluster entre suas instâncias. Você ainda não terminou, mas este é um bom ponto de verificação para validar se tudo o que você fez até agora está funcionando.

  1. Em wsfc-1 , observe o nome do servidor host atual no Failover Cluster Manager.
  2. Execute o Windows PowerShell como cluster-admin .
  3. No PowerShell, execute o seguinte comando para alterar o servidor host atual:

    Move-ClusterGroup -Name "Cluster Group"
    

Você deverá ver o nome do servidor host atual mudar para a outra VM.

Se isso não funcionou, revise as etapas anteriores e veja se você perdeu alguma coisa. O problema mais comum é a falta de uma regra de firewall que bloqueia o acesso à rede. Consulte a seção Solução de problemas para obter mais problemas a serem verificados.

Caso contrário, agora você pode prosseguir com a configuração do balanceador de carga interno, que é necessário para rotear o tráfego de rede para o servidor host atual no cluster.

Este é um bom momento para tirar fotos.

Adicionando uma função ao cluster de failover

No cluster de failover do Windows, as funções hospedam cargas de trabalho em cluster. Você pode usar uma função para especificar no cluster o endereço IP que seu aplicativo usa. Para este tutorial, você adiciona uma função para a carga de trabalho de teste, que é o servidor Web dos Serviços de Informações da Internet (IIS), e atribui um endereço IP à função.

Reserve um endereço IP para a função no Compute Engine

Para evitar conflitos de endereçamento IP na sua sub-rede no Compute Engine, reserve o endereço IP para a função.

  1. Abra um terminal em uma VM host ou abra o Cloud Shell.

    Acesse o Cloud Shell

  2. Reserve um endereço IP. Para este tutorial, use 10.0.0.9 :

    gcloud compute addresses create load-balancer-ip --region [YOUR_REGION] --subnet wsfcnetsub1 --addresses 10.0.0.9
  3. Para confirmar a reserva do endereço IP:

    gcloud compute addresses list

Adicione a função

Siga estas etapas:

  1. No Failover Cluster Manager, no painel Ações , selecione Configurar função .
  2. Na página Selecionar função , selecione Outro servidor .
  3. Na página Ponto de acesso do cliente , insira o nome IIS .
  4. Defina o endereço para 10.0.0.9 .
  5. Ignore Selecionar Armazenamento e Selecionar Tipos de Recursos .
  6. Confirme as configurações e clique em Concluir .

A caixa de diálogo de confirmação mostra as configurações da função.

Criando o balanceador de carga interno

Crie e configure o balanceador de carga interno, necessário para rotear o tráfego de rede para o nó host do cluster ativo. Você usará o console do Google Cloud porque a interface do usuário oferece uma boa visão de como o balanceamento de carga interno é organizado.

Você também criará um grupo de instâncias do Compute Engine para cada zona do cluster, que o balanceador de carga usa para gerenciar os nós do cluster.

Crie os grupos de instâncias

Crie um grupo de instâncias em cada zona que contenha um nó de cluster e adicione cada nó ao grupo de instâncias em sua zona. Não adicione o controlador de domínio wsfc-dc a um grupo de instâncias.

  1. Crie um grupo de instâncias para cada zona no cluster, substituindo [ZONE_1] pelo nome da sua primeira zona e [ZONE_2] pelo nome da segunda:

    gcloud compute instance-groups unmanaged create wsfc-group-1 --zone=[ZONE_1]
    gcloud compute instance-groups unmanaged create wsfc-group-2 --zone=[ZONE_2]
  2. Adicione o servidor de cada zona ao grupo de instâncias dessa zona:

    gcloud compute instance-groups unmanaged add-instances wsfc-group-1 --instances wsfc-1 --zone [ZONE_1]
    gcloud compute instance-groups unmanaged add-instances wsfc-group-2 --instances wsfc-2 --zone [ZONE_2]
  3. Confirme se seus grupos de instâncias foram criados e se cada grupo contém uma instância:

    gcloud compute instance-groups unmanaged list
      NAME          ZONE           NETWORK  NETWORK_PROJECT   MANAGED  INSTANCES
      wsfc-group-1  us-central1-a  wsfcnet  exampleproject    No       1
      wsfc-group-2  us-central1-b  wsfcnet  exampleproject    No       1

Crie o balanceador de carga

Inicie sua configuração

  1. No console do Google Cloud, acesse a página Balanceamento de carga .

    Vá para Balanceamento de carga

  2. Clique em Criar balanceador de carga .
  3. Para Tipo de balanceador de carga , selecione Network Load Balancer (TCP/UDP/SSL) e clique em Avançar .
  4. Para Proxy ou passagem , selecione Balanceador de carga de passagem e clique em Avançar .
  5. Para Público ou interno , selecione Interno e clique em Avançar .
  6. Clique em Configurar .

Configuração básica

  1. Para Nome , insira "wsfc-lb".
  2. Selecione sua região atual.
  3. Selecione wsfcnet para Rede .

Configurar o back-end

Lembre-se de que o balanceador de carga interno do GCP usa uma verificação de integridade periódica para determinar o nó ativo. A verificação de integridade faz ping no agente host do cluster do Compute Engine que está em execução no nó do cluster ativo. A carga útil da verificação de integridade é o endereço IP do aplicativo, que é representado pela função clusterizada. O agente responde com valor 1 se o nó estiver ativo ou 0 se não estiver.

  1. Clique em Configuração de back-end .
  2. Em Backends , adicione cada grupo de instâncias criado selecionando seu nome e clicando em Concluído .
  3. Crie uma verificação de integridade.

    • Para Nome , insira "wsfc-hc".
    • Aceite a configuração de protocolo padrão TCP e altere a porta para "59998" para respostas do agente host do cluster.
    • Para Solicitação , insira "10.0.0.9".
    • Para Resposta , insira "1".
    • Para Intervalo de verificação , insira "2".
    • Para Tempo limite digite "1".
    • Clique em Salvar e continuar .

Configurar o front-end

A configuração de front-end cria uma regra de encaminhamento que define como o balanceador de carga trata as solicitações recebidas. Neste tutorial, para simplificar, você testará o sistema fazendo solicitações entre as VMs na sub-rede.

No seu sistema de produção, você provavelmente desejará abrir o sistema para tráfego externo, como tráfego da Internet. Para fazer isso, você pode criar um host bastião que aceite tráfego externo e o encaminhe para sua rede interna. O uso de um host bastião não é abordado neste tutorial.

  1. No painel central, clique em Configuração de front-end .
  2. Para Nome , insira "wsfc-lb-fe".
  3. Selecione sua sub-rede ( wsfcnetsub1 ).
  4. Para IP interno , selecione load-balancer-ip (10.0.0.9) . Este é o mesmo endereço IP que você definiu para a função.
  5. Para Portas , insira "80".
  6. Clique em Concluído .

Revise e finalize

  1. Para ver um resumo das configurações do balanceador de carga interno, no painel central, clique em Revisar e finalizar . O resumo aparece no painel direito.
  2. Clique em Criar . Demora um pouco para criar o balanceador de carga.

    O console do Google Cloud mostra as configurações finais para balanceamento de carga interno.

Crie regras de firewall para a verificação de integridade

Você deve ter notado que o console do Google Cloud notificou que o sistema de verificação de integridade exigiria uma regra de firewall para permitir que as verificações de integridade atingissem seus objetivos. Nesta seção, você configura a regra de firewall.

  1. No console do Google Cloud, acesse o Cloud Shell .

    Acesse o Cloud Shell

  2. Execute o seguinte comando para criar a regra de firewall:

    gcloud compute firewall-rules create allow-health-check --network wsfcnet --source-ranges 130.211.0.0/22,35.191.0.0/16 --allow tcp:59998
    

Abra o Firewall do Windows

Em cada nó do cluster, wsfc-1 e wsfc-2 , crie uma regra de firewall no firewall do Windows para permitir que o balanceador de carga acesse cada sistema Windows.

  1. Abra o aplicativo Firewall do Windows com Segurança Avançada.

  2. No painel de navegação esquerdo, selecione Regras de entrada .

  3. No painel de navegação direito, selecione Nova regra .

  4. No painel Tipo de regra , selecione Personalizado como tipo de regra e clique em Avançar .

  5. No painel Programa , aceite o padrão e clique em Avançar .

  6. No painel Protocolo e Portas :

    1. No campo Tipo de protocolo:, selecione TCP .
    2. No campo Porta local:, selecione Portas específicas e insira 59998 .
  7. No painel Escopo , em A quais endereços IP remotos esta regra se aplica :

    1. Selecione estes endereços IP: .
    2. Adicione cada um dos seguintes endereços IP ao campo Este endereço IP ou sub-rede clicando em Adicionar :

      • 130.211.0.0/22
      • 35.191.0.0/16
    3. Clique em Avançar .

  8. No painel Ação , aceite Permitir a conexão e clique em Avançar .

  9. No painel Perfil , aceite os padrões e clique em Avançar .

  10. Especifique um nome para a regra de firewall e clique em Concluir .

Validando o balanceador de carga

Depois que o balanceador de carga interno estiver em execução, você poderá inspecionar seu status para validar se ele pode encontrar uma instância íntegra e, em seguida, testar o failover novamente.

  1. No console do Google Cloud, acesse a página Balanceamento de carga .

    Vá para Balanceamento de carga

  2. Clique no nome do balanceador de carga ( wsfc-lb ).

    Na seção Backend do resumo, você verá os grupos de instâncias listados.

    Na imagem a seguir da página de detalhes do balanceador de carga wsfc-lb , o grupo de instâncias wsfc-group-1 contém o nó ativo, conforme indicado por 1/1 na coluna Saudável . O grupo de instâncias wsfc-group-2 contém o nó inativo, conforme indicado por 0/1 .

    O status do balanceador de carga mostra 1/1 instância íntegra no grupo de instâncias wsfc-group-1, que indica que contém o nó ativo.

    Se os dois grupos de instância mostrarem 0/1 , o balanceador de carga ainda poderá estar sincronizando com os nós. Às vezes, você precisa fazer pelo menos uma ação de failover para fazer com que o balanceador de carga encontre o endereço IP.

  3. No Failover Cluster Manager, expanda o nome do cluster e clique em funções . Na coluna do nó do proprietário , observe o nome do servidor para a função do IIS .

  4. Inicie um failover clicando com o botão direito do mouse na função do IIS e selecionando o Move > Melhor Nó possível . Esta ação move a função para o outro nó, conforme mostrado na coluna do nó do proprietário .

    Campo do nó do proprietário mostrado no gerenciador de cluster de failover.

  5. Aguarde até que o status mostre em execução .

  6. Retorne à página Detalhes do balanceador de carga , clique em Atualizar e verifique se os valores 1/1 e 0 /1 na coluna saudável trocaram grupos de instância.

    O status do balanceador de carga mostra 1 instância saudável de 2.

gcloud compute backend-services get-health wsfc-lb --region=[REGION]

A saída se parece com o seguinte:

backend: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-a/instanceGroups/wsfc-group-1
status:
  healthStatus:
  - healthState: HEALTHY
    instance: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-a/instances/wsfc-1
    ipAddress: 10.0.0.4
    port: 80
  kind: compute#backendServiceGroupHealth
---
backend: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-b/instanceGroups/wsfc-group-2
status:
  healthStatus:
  - healthState: UNHEALTHY
    instance: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-b/instances/wsfc-2
    ipAddress: 10.0.0.5
    port: 80
  kind: compute#backendServiceGroupHealth

Instalando seu aplicativo

Agora que você tem um cluster, pode configurar seu aplicativo em cada nó e configurá -lo para executar em um ambiente em cluster.

Para este tutorial, você precisa configurar algo que possa demonstrar que o cluster está realmente trabalhando com o balanceador de carga interno. Configure o IIS em cada VM para servir uma página da Web simples.

Você não está configurando IIS para HA no cluster. Você está criando instâncias separadas do IIS de que cada um sirva em uma página da web diferente. Após um failover, o servidor da Web serve seu próprio conteúdo, não conteúdo compartilhado.

Configurar seu aplicativo ou IIS para HA está além do escopo deste tutorial.

Configurar o IIS

  1. Em cada nó do cluster, instale o IIS .

    • Na página Selecionar serviços de função , verifique se o documento padrão está selecionado nos recursos HTTP comuns .
    • Na página de confirmação , selecione a caixa de seleção que permite a reinicialização automática do servidor de destino.
  2. Validar que cada servidor da Web está funcionando.

    1. Use RDP para conectar-se à VM chamada wsfc-dc .
    2. No servidor Manager, clique em servidor local no painel de navegação no lado esquerdo da janela.
    3. Na seção Propriedades na parte superior, desative a configuração de segurança aprimorada .
    4. Open Internet Explorer.
    5. Navegue até o endereço IP de cada servidor:

      http://10.0.0.4/
      http://10.0.0.5/

Em cada caso, você vê a página de boas -vindas , que é a página da web do IIS padrão.

Edite as páginas da web padrão

Altere cada página da Web padrão para que você possa ver facilmente qual servidor está atualmente servindo a página.

  1. Use RDP para conectar-se à VM chamada wsfc-1 .
  2. Execute o bloco de notas como administrador.
  3. Aberto C:\inetpub\wwwroot\iisstart.htm no bloco de notas. Lembre -se de navegar para todos os arquivos , não apenas arquivos de texto.
  4. No elemento <title> , altere o texto para o nome do servidor atual. Por exemplo:

        <title>wsfc-1</title>
    
  5. Salve o arquivo HTML.

  6. Repita essas etapas para wsfc-2 , definindo o elemento <title> como wsfc-2 .

Agora, quando você visualiza uma página da web servida em um desses servidores, o nome do servidor aparece como o título na guia Internet Explorer.

Testar o failover

  1. Use RDP para conectar-se à VM chamada wsfc-dc .
  2. Open Internet Explorer.
  3. Navegue até o endereço IP da função de balanceador de carga:

    http://10.0.0.9/
    

    Você vê a página de boas -vindas com o nome do servidor atual exibido no título da guia.

  4. Pare o servidor atual para simular uma falha. No Cloud Shell, execute o seguinte comando, substituindo [INSTANCE_NAME] pelo nome do servidor atual que você viu na etapa anterior, como wsfc-1 :

    gcloud compute instances stop [INSTANCE_NAME] --zone=[ACTIVE_ZONE]
    
  5. Mude para sua conexão RDP com wsfc-dc .

    Pode levar alguns momentos para o balanceador de carga detectar a mudança e redirecionar o tráfego.

  6. Após 30 segundos, atualize a página no Internet Explorer.

    Agora você deve ver o nome do novo nó ativo exibido no título da guia. Por exemplo, se você começou com wsfc-1 ativo, agora verá wsfc-2 no título. Se você não vir a alteração imediatamente ou ver um erro de página não acumulado, atualize o navegador novamente.

Parabéns! Agora você tem um cluster de failover do Windows Server 2016 em execução no GCP.

Solução de problemas

Aqui estão alguns problemas comuns que você pode verificar se as coisas não estão funcionando.

Regras de Firewall do GCP Verificação de saúde

Se a verificação de saúde não estiver funcionando, verifique duas vezes se você tem uma regra de firewall para permitir o tráfego de entrada dos endereços IP que o sistema de verificação de saúde usa: 130.211.0.0/22 ​​e 35.191.0.0/16 .

Verificação de saúde do Windows Firewall Blocks

Verifique se a porta 59998 está aberta no Windows Firewall em cada nó de cluster. Veja Abra o firewall do Windows .

Nós de cluster usando DHCP

É importante que cada VM no cluster tenha um endereço IP estático. Se uma VM estiver configurada para usar o DHCP no Windows, altere as configurações de rede no Windows para fazer com que o endereço IPv4 corresponda ao endereço IP da VM, conforme mostrado no console do Google Cloud. Defina também o endereço IP do gateway para corresponder ao endereço do gateway da sub -rede no GCP VPC.

Tags de rede GCP em regras de firewall

Se você usar tags de rede nas regras do firewall, verifique se as tags corretas estão definidas em todas as instâncias da VM. Este tutorial não usa tags, mas se você as definiu por algum outro motivo, elas devem ser usadas de forma consistente.

Limpar

Para evitar incorrer em cobranças na sua conta do Google Cloud para os recursos usados ​​neste tutorial, exclua o projeto que contém os recursos ou mantenha o projeto e exclua os recursos individuais.

Depois de concluir o tutorial, você poderá limpar os recursos criados para que eles parem de usar a cota e de incorrer em cobranças. As seções a seguir descrevem como excluir ou desativar esses recursos.

Excluindo o projeto

A maneira mais fácil de eliminar o faturamento é excluir o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Limpando recursos sem excluir o projeto

Se você precisar manter seu projeto, pode limpar os recursos do tutorial excluindo -os individualmente.

Excluindo instâncias

Para excluir uma instância do Compute Engine:

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

Excluindo grupos de instância

  1. In the Google Cloud console, go to the Instance groups page.

    Go to Instance groups

  2. Select the checkbox for the instance group that you want to delete.
  3. To delete the instance group, click Delete.

Excluindo um balanceador de carga

Para excluir um balanceador de carga:

  1. No Google Cloud Console, vá para a página de balanceamento de carga .

    Vá para o balanceamento de carga

  2. Selecione a caixa de seleção ao lado do nome do balanceador de carga que você deseja excluir.

  3. Clique no botão Excluir na parte superior da página.

Excluindo uma rede VPC

Para excluir uma rede VPC:

  1. No Google Cloud Console, vá para a página de redes VPC .

    Vá para redes VPC

  2. Clique no nome da rede que você deseja excluir.

  3. Clique no botão Delete VPC Network na parte superior da página.

Libere endereços IP reservados

Use a nuvem Shell para liberar os endereços IP reservados:

  1. No Google Cloud Console, vá para o Shell Cloud .

    Vá para a nuvem Shell

  2. Libere os endereços IP reservados:

    gcloud compute addresses delete cluster-access-point load-balancer-ip

Excluindo discos persistentes

Para excluir um disco persistente:

  1. No console do Google Cloud, acesse a página Discos .

    Vá para discos

  2. Selecione a caixa de seleção ao lado do nome do disco que você deseja excluir.

  3. Clique no botão Excluir na parte superior da página.

O que vem a seguir