Como executar o 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 mais capacidade de alta disponibilidade (HA, na sigla em inglês) para seus aplicativos do Windows. Se um node de cluster falhar, outro node poderá passar a fazer a execução do software. Você pode configurar o failover para ocorrer automaticamente, que é a configuração comum, ou acioná-lo manualmente.

Neste tutorial, pressupõe-se que você esteja familiarizado com o cluster de failover, o Active Directory (AD) e a administração do Windows Server.

Para ver um resumo sobre a rede no GCP, consulte GCP para profissionais de data center: rede.

Arquitetura

Neste tutorial, você aprende a criar um exemplo de cluster de failover no Compute Engine. O sistema de exemplo contém os três servidores a seguir:

  • uma instância de VM primária do Compute Engine executando o Windows Server 2016
  • uma segunda instância configurada para corresponder à instância primária
  • um servidor de nomes de domínio (DNS, na sigla em inglês) do AD, que:

    • 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 alcançar o quórum exigido pelo cluster.

O DNS do AD é criado somente para permitir a execução deste exemplo. Em um sistema de produção, você pode hospedar a testemunha de compartilhamento de arquivos em outro lugar e não precisa de um sistema do AD separado somente para ter compatibilidade com o cluster de failover. Veja nas próximas etapas os links para artigos sobre como usar o AD no GCP.

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

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

Como entender o roteamento de rede

Quando ocorre o failover do cluster, os pedidos precisam ir para o node recém-ativado. A tecnologia de cluster normalmente administra o roteamento usando o protocolo de resolução de endereços (ARP, na sigla em inglês), que associa endereços IP a endereços MAC. No GCP, o sistema de nuvem privada virtual (VPC, na sigla em inglês) usa redes definidas por software, que não fornecem endereços MAC. Isso significa que as alterações transmitidas pelo ARP não afetam o roteamento. Para fazer o roteamento funcionar, o cluster requer alguma ajuda no nível de software do balanceador de carga interno.

Geralmente, o balanceamento de carga interno distribui o tráfego de rede recebido entre várias instâncias do back-end que são internas ao seu VPC, a fim de compartilhar a carga. Para o cluster de failover, você usa o balanceamento de carga interno para rotear todo o tráfego para apenas uma instância: o node do cluster atualmente ativo. Veja como o balanceamento de carga interno detecta o nó correto:

  • Em cada instância de VM, é executada uma instância do agente do Compute Engine que tem compatibilidade com o cluster de failover do Windows. O agente acompanha os endereços IP da instância de VM.
  • Com o front-end do balanceador de carga, é fornecido o endereço IP referente ao tráfego recebido para o aplicativo.
  • O back-end do balanceador de carga fornece uma verificação de integridade. O processo de verificação de integridade dá um ping periodicamente no agente em cada nó do cluster, usando o endereço IP fixo da instância de VM por meio de determinada porta. A porta padrão é 59998.
  • A verificação de integridade inclui o endereço IP do aplicativo como um payload 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 responderá com um valor de 1. Caso contrário, responderá com 0.
  • O balanceador de carga marca qualquer VM que passe na verificação de integridade como íntegra. A qualquer momento, apenas uma máquina virtual passa na verificação de integridade, porque apenas uma VM tem 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 node ativo para indicar que ele falhou.
  • O cluster de failover move todos os recursos e funções do cluster do node com falha para o melhor node, conforme definido pelo quórum. Essa ação inclui mover os endereços IP associados.
  • O cluster de failover transmite pacotes ARP para notificar aos roteadores de rede baseados em hardware que os endereços IP foram movidos. Para esse cenário, a rede do GCP ignora esses pacotes.
  • Após a movimentação, o agente do Compute Engine na VM para o nó com falha muda a resposta dele para a verificação de integridade de 1 para 0, porque a VM já não hospeda o endereço IP especificado na solicitação.
  • O agente do Compute Engine na VM do nó recém-ativado também muda a resposta para a verificação de integridade de 0 para 1.
  • O balanceador de carga interno para de rotear o tráfego ao node com falha e, em vez disso, encaminha o tráfego para o node recém-ativado.

Como reunir tudo

Agora que você analisou alguns dos conceitos, veja alguns detalhes a serem observados sobre o diagrama de arquitetura:

  • O agente do Compute Engine para a VM chamado 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 têm o endereço IP 10.0.0.9. Para o balanceador de carga, esse é o endereço de IP do front-end especificado. Para a VM, é o endereço IP do aplicativo. O cluster de failover configura esse endereço IP no nó atualmente ativo.
  • O cluster de failover e o wsfc-2 têm o endereço IP 10.0.0.8. A VM tem esse endereço de IP porque atualmente hospeda os recursos do cluster.

Orientação para acompanhar este tutorial

Este tutorial contém muitas etapas. Às vezes, será necessário seguir etapas em documentos externos, como a documentação da Microsoft. Não deixe de ler as observações neste documento que fornecem detalhes para seguir as etapas externas.

Neste tutorial, usamos o Cloud Shell no Console do Google Cloud Platform. Ainda que seja possível usar a interface do usuário do Console do GCP ou o Cloud SDK para configurar o cluster de failover, usamos principalmente o Cloud Shell para facilitar. Essa abordagem ajuda você a concluir o tutorial mais rapidamente. Quando for mais apropriado, o Console do GCP será usado em algumas etapas.

Cloud Shell

É uma boa ideia tirar instantâneos dos discos permanentes do Compute Engine durante o processo. Se algo der errado, você pode usar um instantâneo para não ter que recomeçar desde o início. Neste tutorial, sugerimos bons momentos para tirar os instantâneos.

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

Objetivos

  • Criar uma rede.
  • Instalar o Windows Server 2016 em duas VMs do Compute Engine.
  • Instalar e configurar o Active Directory em uma terceira instância do Windows Server.
  • Configurar o cluster de failover, incluindo uma testemunha de compartilhamento de arquivos para o quórum e um papel para a carga de trabalho.
  • Configurar o balanceador de carga interno.
  • Testar a operação de failover para verificar se o cluster está funcionando.

Custos

Neste tutorial, usamos imagens do Compute Engine que incluem licenças do Windows Server. Isso significa que o custo para executar este tutorial pode ser significativo se você deixar as VMs em execução. É uma boa ideia interromper as VMs que não são usadas.

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

Antes de começar

  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. Selecione ou crie um projeto do GCP.

    Acessar a página Gerenciar recursos

  3. Verifique se o faturamento foi ativado para o projeto.

    Saiba como ativar o faturamento

  4. Ativar Compute Engine API.

    Ativar a a API

  5. Inicie uma instância do Cloud Shell.
    ABRIR O CLOUD SHELL

Como criar a rede

Seu cluster requer uma rede personalizada. Use a VPC para criar uma rede personalizada e uma sub-rede executando comandos do 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 do GCP próxima:

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

    O nome da sub-rede que você criou é wsfcnetsub1.

O intervalo CIDR de endereços IP nessa sub-rede é 10.0.0.0/16. Esse é um exemplo do intervalo usado neste tutorial. Nos sistemas de produção, trabalhe com seus administradores de rede para alocar intervalos apropriados de endereços IP para seus sistemas.

Criar regras de firewall

Por padrão, sua rede está fechada para o tráfego externo. É necessário abrir portas no firewall para ativar as conexões remotas com os servidores. Use comandos gcloud no Cloud Shell para criar as regras.

  1. Para este tutorial, abra as portas 22 e 3389 na rede principal a fim de ativar as conexões SSH e RDP. No comando a seguir, substitua [YOUR_IPv4_ADDRESS] pelo endereço IP do computador que você usa para estabelecer uma conexão com as instâncias de VM. Em um sistema de produção, forneça um intervalo de endereços IP ou uma série de endereços.

    gcloud compute firewall-rules create allow-ssh --network wsfcnet --allow tcp:22,tcp:3389 --source-ranges [YOUR_IPv4_ADDRESS]`
    
  2. Na sub-rede, permita todos os protocolos em todas as portas para que os servidores possam se comunicar entre si. Nos sistemas de produção, o ideal é 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`
    

    O valor de source-ranges corresponde ao intervalo CIDR que você usou para criar a sub-rede.

  3. Veja suas regras de firewall:

    gcloud compute firewall-rules list
    

    O resultado será semelhante a:

    NAME              NETWORK  DIRECTION  PRIORITY  ALLOW            DENY
    allow-all-subnet  wsfcnet  INGRESS    1000      all
    allow-ssh         wsfcnet  INGRESS    1000      tcp:22,tcp:3389

Como ativar o cluster de failover no Compute Engine

Adicione os metadados personalizados para ativar o cluster de failover no agente do Compute Engine. Para simplificar, usamos metadados em todo o projeto, que aplica esses atributos a todas as VMs no projeto. Há outras opções, como adicionar metadados individuais para cada VM ou criar um arquivo de configuração em cada VM, conforme descrito na documentação do Compute Engine. Este tutorial depende do comportamento padrão de wsfc-addrs e wsfc-agent-port. Você não precisa definir esses valores.

gcloud compute project-info add-metadata --metadata enable-wsfc=true

Como criar servidores

A próxima etapa é criar os três servidores. Use o comando gcloud no Cloud Shell.

Criar o primeiro servidor de node de cluster

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

  • Atribua o nome wsfc-1 a ela.
  • Defina a sinalização --zone como uma zona perto de você. Substitua [YOUR_ZONE] por uma zona conveniente perto de você, como us-central1-a.
  • Defina a sinalização --machine-type como n1-standard-2.
  • Defina a sinalização --image-project como windows-cloud.
  • Defina a sinalização --image-family como windows-2016.
  • Defina a sinalização --scopes como https://www.googleapis.com/auth/compute.
  • Defina a sinalização --can-ip-forward para ativar o encaminhamento de IP.
  • Defina a sinalização --private-network-ip como 10.0.0.4.
  • Defina a rede como wsfcnet e a sub-rede como wsfcnetsub1.

Execute o comando a seguir, substituindo [YOUR_ZONE] pelo nome da sua zona:

gcloud compute instances create wsfc-1 --zone [YOUR_ZONE] --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

Criar o segundo servidor de node de cluster

Para o segundo servidor, siga as mesmas etapas, exceto pelos seguintes aspectos:

  • Defina o nome da instância como: wsfc-2.
  • Defina a sinalização --private-network-ip como 10.0.0.5.

Substitua [YOUR_ZONE] pelo nome de sua zona:

gcloud compute instances create wsfc-2 --zone [YOUR_ZONE] --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

Criar o terceiro servidor para o Active Directory

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

  • Defina o nome da instância como: wsfc-dc.
  • Defina a sinalização --private-network-ip como 10.0.0.6.

Substitua [YOUR_ZONE] pelo nome de sua zona:

gcloud compute instances create wsfc-dc --zone [YOUR_ZONE] --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

Ver suas instâncias

Você pode ver os detalhes das instâncias que criou.

gcloud compute instances list

Você verá um resultado semelhante a este:

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-a  n1-standard-2               10.0.0.5     35.203.130.194  RUNNING
wsfc-dc  us-central1-a  n1-standard-2               10.0.0.6     35.197.27.2     RUNNING

Criar o grupo de instâncias do Compute Engine

A criação de um grupo de instâncias para conter os nodes do cluster permite que você gere o balanceador de carga interno necessário. Você criará o balanceador de carga em uma próxima seção. Não adicione o controlador de domínio wsfc-dc ao grupo de instâncias.

Substitua [YOUR_ZONE] pelo nome de sua zona:

gcloud compute instance-groups unmanaged create wsfc-group --zone=[YOUR_ZONE]
gcloud compute instance-groups unmanaged add-instances wsfc-group --instances wsfc-1,wsfc-2 --zone [YOUR_ZONE]

Como estabelecer uma conexão por meio de RDP

A documentação do Compute Engine fornece detalhes sobre como estabelecer conexão com as instâncias de VM do Windows usando o RDP. Você também pode:

  • usar um cliente atual;
  • adicionar um plug-in RDP do Chrome ao seu navegador e, em seguida, estabelecer uma conexão por meio do Console do GCP.

    Saiba como usar o RDP

Neste tutorial, sempre que houver uma orientação para estabelecer uma conexão com uma instância do Windows, use a conexão RDP de sua preferência.

Como configurar redes do Windows

Verifique o endereço IP do gateway do GCP. No Cloud Shell, substitua [YOUR_REGION] pelo nome de sua região e execute:

gcloud compute networks subnets describe wsfcnetsub1 --region [YOUR_REGION]

A saída inclui o endereço IP do gateway, como:

gatewayAddress: 10.0.0.1

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

  1. Em "Gerenciador de servidores", no painel esquerdo, selecione Servidor local.
  2. No painel Propriedades, em Ethernet, clique em Atribuído pelo DHCP.
  3. Clique com o botão direito do mouse 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. Digite o endereço IP que você atribuiu à VM quando a criou.

    • Para wsfc-1, digite "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, digite "255.255.0.0".

  8. Para o Gateway padrão, digite o endereço IP do gateway de wsfcnetsub1. Você encontrou esse endereço IP no início desta seção.

  9. Para wsfc-1 e wsfc-2, clique em Usar os endereços de servidores DNS a seguir. wsfc-dc é o controlador de domínio. Dessa maneira, deixe Gateway padrão vazio nessa VM.

  10. Para o Servidor de DNS preferencial, digite "10.0.0.6".

  11. Feche todas as caixas de diálogo.

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

  12. Feche a sessão RDP e, em seguida, estabeleça conexão com a instância novamente. Se uma caixa de diálogo da etapa anterior ainda estiver aberta, feche-a.

  13. 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, reabra a caixa de diálogo Protocolo de 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.

Como configurar o Active Directory

Agora, configure o controlador de domínio.

  1. Use o RDP para estabelecer uma conexão com o servidor chamado wsfc-dc.
  2. Defina uma senha para a conta de administrador local.
  3. Ative a conta de administrador local.
  4. Siga as etapas nas instruções da Microsoft abaixo para configurar o controlador de domínio, com essas observações adicionais. Você pode usar valores padrão para a maioria das configurações.

    • Marque a caixa de seleção de papéis 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 para um controlador de domínio.
    • Durante a etapa Adicionar uma nova floresta, nomeie seu domínio "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.

Criar a conta de usuário do domínio

Pode levar algum tempo para o wsfc-dc reiniciar. Antes de juntar servidores ao domínio, use o RDP para fazer login no wsfc-dc e confirmar que 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 Start e digite dsa para encontrar e abrir o aplicativo Usuários e computadores do Active Directory.
  2. Clique com o botão direito do mouse em WSFC.TEST, aponte para Novo e, em seguida, clique em Usuário.
  3. Para o Nome completo e o Nome de logon do usuário, digite "clusteruser".
  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, configure a senha para nunca expirar.
  6. Confirme as configurações e clique em Concluir.
  7. Faça do clusteruser um administrador no wsfc-dc:

    • No wsfc-dc, vá para o aplicativo Usuários e computadores do Active Directory.
    • Clique com o botão direito do mouse em clusteruser, clique em Adicionar a um grupo, insira Administradores e clique em OK.

Neste tutorial, usamos a conta WSFC.TEST\clusteruser como uma conta de administrador onde quer que tal conta seja necessária. Em um sistema de produção, siga as práticas habituais de segurança para alocar contas e permissões. Para mais informações, consulte Visão geral das contas do Active Directory requeridas por um cluster de failover.

Integrar os servidores ao domínio

Adicione os dois servidores de node de cluster ao domínio WSFC.TEST. Execute as seguintes etapas 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, em seguida, digite "WSFC.TEST".
  4. Clique em OK.
  5. Forneça as credenciais de WSFC.TEST\clusteruser para integrar ao domínio.
  6. Clique em OK.
  7. Feche as caixas de diálogo e siga as instruções para reiniciar o servidor.
  8. Faça do clusteruser um administrador em wsfc-1 e wsfc-2.

    • Clique duas vezes em Gerenciamento do computador > Usuários e grupos locais > Grupos > Administradores e, em seguida, clique em Adicionar.
    • Digite "clusteruser" e clique em Verificar nomes.
    • Clique em OK.

Este é um bom ponto para tirar instantâneos das três máquinas virtuais.

Como configurar o cluster de failover

Para criar e configurar o cluster de failover:

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

    • Instale o recurso "Cluster de failover" em wsfc-1 e wsfc-2. Não o instale em wsfc-dc.
    • Execute o aplicativo Failover Cluster Manager como usuário do domínio WSFC.TEST\clusteruser. Caso contrário, é possível encontrar problemas de permissões. É uma boa ideia executar sempre o Failover Cluster Manager dessa maneira ou estabelecer uma conexão com um servidor como clusteruser 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á se executada no Compute Engine (como ocorreria com servidores físicos independentes separados).

        Veja alguns problemas comuns que é possível encontrar durante a validação do cluster:

        • Apenas uma interface de rede entre as réplicas. Ignore esse problema, porque não se aplica a uma configuração baseada em nuvem.
        • As atualizações do Windows não são as mesmas em ambas as réplicas. Se você configurou suas instâncias do Windows para aplicar atualizações automaticamente, um dos nós pode ter aplicado atualizações que o outro ainda não recebeu por download. Recomenda-se manter os servidores em configurações idênticas.
        • Reinicialização pendente. Você fez alterações em um dos servidores e precisa de uma reinicialização para aplicá-las. Não ignore esse problema.
        • Nem todos os servidores têm o mesmo papel de domínio. Ignore esse problema.
        • Os servidores não estão todos na mesma unidade organizacional (OU, na sigla em inglês). Neste tutorial, não usamos uma OU, mas, em um sistema de produção, o ideal é colocar seu cluster em sua própria OU. As instruções da Microsoft descrevem essa prática recomendada.
        • Drivers não assinados foram encontrados. Você pode ignorar esse problema.
    • Na página Resumo, você pode selecionar Criar o cluster agora usando os nodes validados para continuar a criar o cluster, em vez de fechar o assistente e reabri-lo.

    • No assistente "Criar cluster", na página Ponto de acesso, atribua o nome "testcluster" ao cluster.

    • No campo Endereço, digite "10.0.0.8".

    INSTRUÇÕES DA MICROSOFT

Adicionar o administrador do cluster

A adição de uma conta de domínio como administrador do cluster permite que você execute ações no cluster a partir de ferramentas como o Windows PowerShell. Adicione a conta de domínio clusteruser como administrador do cluster.

  1. No nó que hospeda os recursos do cluster, em 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 Adicionar e depois adicione clusteruser.
  4. Com clusteruser selecionado na Lista de 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.

Como criar a testemunha de compartilhamento de arquivos

Você tem um cluster de failover de dois nodes, mas ele usa um mecanismo de votação para decidir qual node deve estar ativo. Para chegar a um quórum, adicione uma testemunha de compartilhamento de arquivos.

Neste tutorial, simplesmente adicionamos uma pasta compartilhada ao servidor do controlador de domínio. Se esse servidor ficasse off-line ao mesmo tempo que um dos nodes do cluster estivesse reiniciando, todo o cluster poderia parar de funcionar porque o servidor restante não poderia votar por conta própria. Para este tutorial, pressupõe-se que os recursos de infraestrutura do GCP, como o Live Migration e o reinício automático, ofereçam confiabilidade suficiente para manter a pasta compartilhada ativa.

Caso queira criar uma testemunha de compartilhamento de arquivos com mais disponibilidade, você tem estas opções:

  • Usar um conjunto de servidores Windows para fornecer o compartilhamento usando o Storage Spaces Direct. Esse recurso do Windows Server 2016 pode fornecer um compartilhamento altamente disponível para a testemunha de quórum. Por exemplo, crie um cluster para seu controlador de domínio do Active Directory a fim de fornecer serviços de domínio altamente disponíveis e o compartilhamento de arquivos ao mesmo tempo.
  • Usar uma solução de servidor de arquivos, como o Avere vFXT.

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

  1. Estabeleça uma conexão com wsfc-dc. Esse 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. Atribua à nova pasta o nome "shares".
  5. Clique duas vezes na pasta shares para abri-la.
  6. Adicione uma nova pasta e atribua a ela o nome "clusterwitness-testcluster".

Configurar o compartilhamento para a testemunha do compartilhamento de arquivos

É necessário definir permissões na pasta de testemunha de compartilhamento de arquivos para permitir que o cluster a utilize.

  1. No Explorer, clique com o botão direito do mouse 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 clique em Adicionar.
  5. Clique em Tipos de objeto, selecione Computadores e, em seguida, clique em OK.
  6. Adicione a conta de máquina testcluster$.
  7. Dê permissões de Controle Total para testcluster$.
  8. Clique em Aplicar e feche todas as caixas de diálogo.

Adicionar 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 um voto do quórum.

  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 do mouse no nome do cluster (testcluster.WSFC.TEST) e aponte para Mais ações e clique em Configurar o quórum do cluster.
  3. Percorra as páginas do assistente usando o botão Avançar em cada etapa.
  4. Para a opção de configuração de quórum, escolha Selecionar a testemunha de quórum.
  5. Selecione Configurar uma testemunha de compartilhamento de arquivos.
  6. Para Caminho do compartilhamento de arquivos, digite o caminho para a pasta compartilhada, como "\10.0.0.6\clusterwitness-testcluster". Neste exemplo, 10.0.0.6 é o endereço IP da VM wsfc-dc.
  7. Confirme as configurações e clique em Concluir.

Como testar o cluster de failover

Seu cluster de failover do Windows Server agora estará funcionando. Você pode testar movendo os recursos do cluster manualmente entre suas instâncias. Você ainda não terminou, mas este é um bom momento para confirmar se tudo o que você fez até agora está funcionando.

  1. No wsfc-1, anote o nome do Servidor de host atual no Failover Cluster Manager.
  2. Execute o Windows PowerShell como clusteruser.
  3. No PowerShell, execute o seguinte comando para alterar o servidor de host atual:

    Move-ClusterGroup -Name "Cluster Group"
    

O nome do servidor de host atual deve mudar para a outra VM.

Se isso não acontecer, reveja as etapas anteriores e verifique se deixou algo para trás. O problema mais comum é uma regra de firewall ausente que bloqueia o acesso na rede. Consulte a seção Solução de problemas para ver mais problemas a verificar.

Caso contrário, agora você pode avançar para configurar o balanceador de carga interno, que é necessário para rotear o tráfego de rede para o servidor de host atual no cluster.

Este é um bom momento para tirar instantâneos.

Como adicionar um papel

No cluster de failover do Windows, os papéis hospedam as cargas de trabalho em cluster. Você pode usar um papel para especificar no cluster o endereço IP que seu aplicativo usa. Neste tutorial, você adiciona um papel para a carga de trabalho de teste, que é o servidor da Web do Internet Information Services (IIS). Siga estas etapas:

  1. No Failover Cluster Manager, no painel Ações, selecione Configurar papel.
  2. Na página **Selecionar papel**, selecione Outro servidor.
  3. Na página Ponto de acesso do cliente, digite o nome "IIS".
  4. Defina o endereço como "10.0.0.9".
  5. Ignore as opções Selecionar armazenamento e Selecionar tipos de recursos.
  6. Confirme as configurações e clique em Concluir.

Caixa de diálogo de confirmação mostra as configurações do papel.

Como criar o balanceador de carga interno

Agora, crie e configure o balanceador de carga interno, que é necessário para rotear o tráfego da rede para o node host do cluster ativo. Você usará o Console do GCP, porque a interface do usuário oferece uma boa visão de como o balanceamento de carga interno está organizado.

  1. No Console do GCP, acesse a página Balanceamento de carga.

    ABRIR "BALANCEAMENTO DE CARGA"

  2. Clique em Criar balanceador de carga.

  3. No cartão Balanceamento de carga TCP, clique em Iniciar configuração.

  4. Selecione Somente entre minhas VMs e clique em Continuar.

  5. Para o Nome, digite "wsfc-lb".

Não clique em Criar ainda.

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 node ativo. A verificação de integridade mostra o agente do host de cluster do Compute Engine que está sendo executado no node do cluster ativo. O payload de verificação de integridade é o endereço IP do aplicativo, representado pelo papel em cluster. O agente responde com um valor 1 se o node estiver ativo ou 0 se não estiver.

  1. Clique em Configuração de back-end.
  2. Selecione sua região atual.
  3. Selecione wsfcnet para Rede.
  4. Selecione wsfc-group para Grupo de instâncias.
  5. Crie uma verificação de integridade.

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

Configurar o front-end

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

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

  1. No painel central, clique em Configuração do front-end.
  2. Para Nome, digite "wsfc-lb-fe".
  3. Selecione sua sub-rede (wsfcnetsub1).
  4. Para IP, selecione Temporário (personalizado).
  5. Digite "10.0.0.9". Esse é o mesmo endereço IP definido para o papel.
  6. Para Portas, digite "80".
  7. Clique em Concluir.

Revisar e finalizar

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

    O Console do GCP mostra as configurações finais para balanceamento de carga interno.

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

No Console do GCP, você pode ter notado uma notificação informando que o sistema de verificação de integridade exigiria uma regra de firewall para permitir que as verificações de integridade atingissem os objetivos delas. Nesta seção, você configura a regra de firewall.

  1. Retorne ao Cloud Shell no Console do GCP.

    ABRIR O CLOUD SHELL

  2. Execute o comando a seguir para criar uma 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`
    

Abrir o Firewall do Windows

Agora, crie uma regra do Firewall do Windows em cada nó do cluster (wsfc-1 e wsfc-2). No mínimo, permita todas as conexões TCP de entrada por meio da porta 59998 para os endereços IP 130.211.0.0/22 e 35.191.0.0/16.

Como validar o balanceador de carga

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

  1. Retorne à página Balanceamento de carga no Console do GCP.

    ABRIR "BALANCEAMENTO DE CARGA"

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

    Na seção Back-end do resumo, o grupo de instâncias está listado.

    Na coluna Íntegro, você verá: 1 / 2.

    Esse é o resultado esperado. Dos seus dois nodes de cluster, apenas um está ativo a qualquer momento no cluster de failover. A verificação de integridade do balanceador de carga só funciona para esse node.

    Mesmo que não veja o resultado adequado na coluna Íntegro, avance para a próxima etapa. Às vezes, é necessário fazer pelo menos uma ação de failover para que o balanceador de carga encontre o endereço IP.

  3. Para executar o failover, clique com o botão direito do mouse no papel IIS no Failover Cluster Manager e, em seguida, clique em Mover > Melhor nó possível. Essa ação move a função para o novo nó mostrado no campo Nó do proprietário:

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

  4. Aguarde até que o Status seja Em execução.

  5. Retorne para a página Balanceamento de carga, clique em Atualizar e verifique se a coluna Íntegro ainda mostra 1 / 2.

    O status do balanceador de carga mostra uma instância saudável de duas.

Dica: use a ferramenta gcloud para verificar qual instância está íntegra, em que [REGION] é sua região:

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

A saída tem esta aparência:

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

Como instalar seu aplicativo

Agora que você tem um cluster, pode configurar seu aplicativo em cada node e defini-lo para execução em um ambiente em cluster.

Neste tutorial, é necessário configurar algo que possa demonstrar que o cluster está realmente trabalhando com o balanceador de carga interno. Configure o IIS em cada VM para veicular uma página da Web simples.

Você não está configurando o IIS para HA no cluster. Você está criando instâncias separadas do IIS, e cada uma delas exibe uma página da Web diferente. Após um failover, o servidor da Web veicula o próprio conteúdo, e não o conteúdo compartilhado.

A configuração do aplicativo ou do IIS para HA está além do escopo deste tutorial.

Configurar o IIS

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

    • Certifique-se de que Documento padrão esteja selecionado em Recursos HTTP comuns.
    • Na página Confirmação, marque a caixa de seleção que permite o reinício automático do servidor de destino.
  2. Valide o funcionamento de cada servidor da Web.

    1. Use o RDP para estabelecer uma conexão com a VM chamada wsfc-dc.
    2. No Gerenciador de servidores, na parte superior da seção Propriedades, desative a opção Configuração de segurança avançada do IE.
    3. Abra o Internet Explorer.
    4. 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 padrão do IIS.

Editar as páginas da Web padrão

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

  1. Use o RDP para estabelecer uma conexão com a VM chamada wsfc-1.
  2. Execute o Bloco de Notas como administrador.
  3. Abra C:\inetpub\wwwroot\iistart.htm no Bloco de Notas. Lembre-se de procurar por Todos os arquivos, não apenas arquivos de texto.
  4. No elemento <title>, mude 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, configurando o elemento <title> como wsfc-2.

Agora, ao visualizar uma página da Web fornecida por um desses servidores, o nome do servidor será exibido como o título na guia do Internet Explorer.

Testar o failover

  1. Use o RDP para estabelecer uma conexão com a VM chamada wsfc-dc.
  2. Abra o Internet Explorer.
  3. Navegue para o endereço IP do papel de balanceador de carga:

    http://10.0.0.9/
    

    Você verá 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]
    
  5. Alterne sua conexão RDP para wsfc-dc.

    Pode levar alguns instantes para que o balanceador de carga detecte a mudança e redirecione o tráfego.

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

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

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 algo não estiver funcionando.

As regras de firewall do GCP bloqueiam a verificação de integridade

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

O Firewall do Windows bloqueia a verificação de integridade

Verifique se a porta 59998 está aberta no Firewall do Windows em cada node do cluster.

Nodes de cluster que utilizam DHCP

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

Tags de rede do GCP nas regras de firewall

Se você usa tags de rede em suas regras de firewall, verifique se as corretas estão definidas em cada instância de VM. Neste tutorial, não usamos tags, mas, se você as configurou por algum outro motivo, elas precisam ser usadas de maneira consistente.

Como fazer a limpeza

Para evitar cobranças dos recursos usados neste tutorial na conta do Google Cloud Platform:

Depois que tiver terminado este tutorial, você poderá limpar os recursos criados no Google Cloud Platform para não haver faturamento deles no futuro. Nas seções a seguir, aprenda a excluir e desativar esses recursos.

Como excluir o projeto

A maneira mais fácil de evitar o faturamento é excluir o projeto criado para o tutorial.

Para excluir o projeto:

  1. No Console do GCP, acesse a página "Projetos".

    Acessar a página Projetos

  2. Na lista de projetos, selecione um e clique em Excluir projeto.
  3. Na caixa de diálogo, digite o código do projeto e clique em Encerrar para excluí-lo.

Como excluir instâncias

Para excluir uma instância do Compute Engine:

  1. No Console do GCP, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VMs"

  2. Clique na caixa de seleção ao lado da da instância que deseja excluir.
  3. Clique no botão Excluir na parte superior da página para excluir a instância.

Como excluir discos permanentes

Para excluir um disco permanente:

  1. No Console do GCP, acesse a página "Discos".

    Acessar a página Discos

  2. Marque a caixa de seleção ao lado do nome do disco que quer excluir.

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

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine