Desmistificando o Cluster (parte II)

4408818910_6cf1c93e7c_o[1]

https://www.flickr.com/photos/fenchurch/ / CC BY-NC-ND 2.0

Depois da bela introdução conceitual feita pela Artur sobre Cluster vamos para a parte prática.

Obviamente que, como descrito pelo Artur, as primeiras instalações de Cluster dão um friozinho na barriga, mas depois da 5ª ou 6ª instalações isso passa, posso garantir.

Abaixo uma série de dicas e melhores práticas para instalação de um ambiente de Cluster Microsoft, de forma a minimizar a insegurança da primeira ou segunda instalações.

Nota: O objetivo deste post não é detalhar a instalação de serviços como Exchange, SQL, Hyper-V, etc que se beneficiam da plataforma de cluster. Estes detalhes serão apresentados nos próximos posts desta série. Vou me ater em Cluster Service e Failover Cluster.

No Windows 2000 e Windows 2003 a funcionalidade de cluster é conhecida como Cluster Service, já no Windows 2008 e Windows 2008 R2, o serviço mudou de nome para Failover Cluster. Este serviço teve mudanças significativas a partir do Windows Server 2008 que traz novidades no serviço de Failover Cluster, e quando apropriado irei ressaltar as diferenças entre essas versões.

Para instalar e configurar o cluster você precisa apenas de 2 computadores em um domínio Active Directory ligados em rede, preferencialmente com 2 placas de rede em cada servidor.  Além disso, é necessário configurar um recurso no cluster chamado Quorum.

Quorum é o recurso que mantém os dados de configuração necessários para recuperação do cluster. Esses dados, na forma de logs de recuperação, contêm detalhes de todas as alterações que foram aplicadas ao cluster.

Não preciso de um ou mais discos compartilhados?

Não, nem todos os serviços que rodam em cluster necessitam de um storage compartilhado, mas é claro que a maioria dos serviços como Exchange (usando SCC), SQL Server e Hyper-V, que mantém 1 repositório central único, precisam obrigatoriamente de um disco compartilhado entre os servidores, geralmente em hardware dedicado como SAN, DAS ou iSCSI.

E o Quorum não precisa de 1 disco compartilhado?
Não mais!!! A partir do Windows 2003 R2 o Cluster Service trabalha com 2 tipos de Quorum que NÃO requerem disco compartilhado. Estes tipos são: Local Quorum e Node Majority Set

Para demonstrar que a instalação e configuração do serviço de cluster é mais fácil que muitos imaginam, segue abaixo o ambiente que será montado.

image

1) Preparação do hardware e sistema operacional

Se estiver rodando Windows 2003:

  1. Utilize somente hardware (servidores, controladoras, storage) que está na HCL conforme artigo: https://support.microsoft.com/kb/309395
  2. Atualize o sistema operacional Windows 2003 R2
  3. Instale o último Service Pack disponível
  4. Rode o Windows Update e instale todas as atualizações
  5. Coloque o servidor no domínio

Se estiver rodando Windows 2008 ou Windows 2008 R2:

  1. Utilize qualquer hardware que esteja certificado para Windows 2008, nada mais, a compatibilidade da solução de cluster será feita durante a verificação do cluster, se o teste passar com sucesso, seu ambiente está suportado.
  2. Instale o último Service Pack disponível
  3. Rode o Windows Update e instale todas as atualizações
  4. Coloque o servidor no domínio

2) Preparação dos componentes de rede

Crie uma rede ou VLAN dedicada para a rede de heartbeat (ver nota abaixo), isso porque o tráfego gerado pelos servidores nesta placa de rede é broadcast. Caso esteja utilizando somente 2 servidores, fisicamente próximos, você pode utilizar um cabo Ethernet para ligá-los diretamente (antigamente precisava ser cabo cross). Por ser uma rede isolada, a rede de heartbeat não precisa de configurações de roteamento, NETBIOS, nem resolução de nomes.

Nota: A rede de heartbeat é utilizada exclusivamente para verificar a disponibilidade dos servidores do cluster, ou seja, quando um servidor é desligado, a rede de heartbeat identifica a falha deste servidor e automaticamente move os recursos que estava neste servidor para outro servidor do cluster, de forma que os usuários não percebam a falha do servidor.

No caso de Hyper-V em ambiente de cluster, algumas redes adicionais serão necessárias, mas este assunto será apresentado no próximo post.

3) Preparação das placas de rede

Um ambiente de cluster utiliza pelo menos 2 placas de rede:

  • 1 placa de rede para a conexão do cluster à rede de dados (LAN), esta placa será chamada de PÚBLICA;
  • 1 placa de rede para comunicação interna entre os servidores – heartbeat, esta placa será chamada de PRIVADA

Execute os procedimentos abaixo em todos os servidores do cluster.

  1. Conecte as placas de redes irão participar do cluster ao switch.

  2. Altere o nome de cada uma das placas de rede conforme indicado acima (Pública e Privada).

  3. Para a placa de rede PRIVADA faça a seguinte configuração:

    • Windows 2003 R2 (a placa de heartbeat utilizará um endereço IP fixo. Utilizar APIPA não é recomendado).
      • Na configuração de rede, desmarque as seguintes opções:
        • Client for Microsoft Networks;
        • File and Printer Sharing for Microsoft Networks;
      • Configure apenas o endereço IP e subnet mask. Não configure default gateway, DNS primário nem DNS secundário.
      • Na guai DNS, desmarque a opção “Register this connection's addresses in DNS”.
      • Na tab WINS, marque a opção “Disable NetBIOS over TCP/IP”.
    • Windows 2008 ou Windows 2008 R2: (a placa de heartbeat utilizará o endereço IPv6 link local).
      • Na configuração de rede, desmarque as seguintes opções:
        • Client for Microsoft Networks;
        • QoS Packet Scheduler;
        • File and Printer Sharing for Microsoft Networks;
        • Internet Protocol Version 4 (TCP/IPv4);
        • Link-Layer Topology Discovery Mapper I/O Driver;
        • Link-Layer Topology Discovery Responder;
      • Na configuração IPv6, guia DNS, desmarque a opção Register this connection’s addresses in DNS.
    • Nota: Até o Windows 2000, recomenda-se definir a velocidade de transmissão da placa de rede para 10 Mbits – HalfDuplex. Hoje em dia não é mais necessária essa configuração.
  4. Para a placa de rede PÚBLICA faça a seguinte configuração:

    • Configure o endereçamento TCP/IP (IPv4 ou IPv6) conforme os demais servidores da sua rede, definindo o endereço IP, Subnet Mask, Default gateway, DNS e WINS (se utilizar).

    Nota: WINS não é mais necessário para ambiente Cluster Windows 2003 ou superior.

Nota: Para cluster com Windows 2008 ou Windows 2008 R2, mesmo que não seja recomendado, é possível utilizar endereços dinâmicos (DHCP) tanto para a placa de rede Pública como para rede Privada.

  1. Configure a ordem das placas de rede através da console Network Connections, menu Advanced, opção Advanced Settings, conforme abaixo:
      Pública
      Privada
      Remote access connections

4) Instalação do cluster

Execute os procedimentos abaixo em qualquer um dos servidores que farão parte do cluster.

Se estiver rodando Windows 2003 R2:

  1. Abra a ferramenta Cluster Administrator.
  2. Escolha a opção Create a Cluster no Wizard, ou com a console do Cluster Administrator aberta vá no menu File, New e escolha Cluster.
  3. Adicione todos os servidores que farão parte do cluster.
  4. Faça os testes necessários de validação do cluster e continue a instalação.
    • Nota: Ignore a mensagem do Wizard sobre a falta de um disco compartilhado.
  5. No campo Cluster Name digite um nome único na rede para o cluster, no campo IP Address,   digite um endereço IP também único na rede e escolha a conta de serviço do domínio para o Cluster (Usuário normal sem qualquer direito adicional).
  6. Na página Proposed Cluster Configuration, clique no botão Quorum, e selecione Majority Node Set.

Nota: As informações  de Nome do cluster e Endereço IP serão utilizada apenas para administração do cluster e não terão visibilidade para os clientes.

Se estiver rodando Windows 2008 ou Windows 2008 R2:

  1. Abra a ferramenta Failover Cluster Management.
  2. Em Actions, escolha Create a Cluster.
  3. Adicione todos os servidores que farão parte do cluster.
  4. Faça os testes necessários de validação do cluster e continue a instalação. (Dica: desmarque o teste de Storage).
  5. No campo Cluster Name digite um nome único na rede para o cluster e no campo IP Address selecione a rede Pública e digite um endereço IP também único na rede.

Nota: As informações  de Nome do cluster e Endereço IP serão utilizada apenas para administração do cluster e não terão visibilidade para os clientes.

Nota: O Windows 2008 e Windows 2008 R2 não utilizam mais uma conta de serviço para o Cluster, qualquer permissão necessária deve ser dada para a conta de computador criado no Active Directory referente ao nome do cluster.

5) Configure os papéis de cada rede no cluster

Execute os procedimentos abaixo em qualquer um dos servidores do cluster.

Se estiver rodando Windows 2003 R2:

  1. Abra a ferramenta Cluster Administrator.
  2. Expanda o nome do cluster e selecione Networks.
  3. Clique com o botão direito sobre a rede Privada, escolha Properties e selecione a opção Internal cluster communications only (private network) e clique em Ok.
  4. Clique com o botão direito sobre a rede Pública, escolha Properties e selecione a opção All communications (mixed network) e clique em Ok.
  5. Caso apareça alguma rede adicional, clique com o botão direito sobre a rede e desmarque a opção Enable this network for cluster use e clique em Ok. A rede aparecerá com um ponto de exclamação azul.

Se estiver rodando Windows 2008 ou Windows 2008 R2:

  1. Abra a ferramenta Failover Cluster Management.
  2. Expanda o Nome do cluster e selecione Networks.
  3. Clique com o botão direito sobre Cluster Network 1 e altere o nome da rede para Privada e confirme que a somente a opção Allow the cluster to use this network está selecionada e clique em Ok.
  4. Clique com o botão direito sobre Cluster Network 2 e altere o nome da rede para Pública e confirme que as opções Allow the cluster to use this network e Allow clients to connect through this network estão selecionada e clique em Ok.
  5. Caso apareça alguma rede adicional, clique com o botão direito sobre a rede e desmarque a opção Allow the cluster to use this network e clique em Ok. A rede aparecerá com um ponto de exclamação azul.

6) Crie o compartilhamento para o File Share Witness

Escolha qualquer servidor da sua rede, preferencialmente o servidor de arquivo, mas também pode ser um controlador de domínio, crie uma pasta e compartilhe utilizando os comandos abaixo. Este compartilhamento será utilizado para armazenar as informações do Quorum do cluster.

Os comandos abaixo funcionam tanto para Windows 2003 R2 como para Windows 2008 e Windows 2008 R2, o que diferencia a série de comandos abaixo é a versão do sistema operacional do cluster. A diferença dos comandos se dá porque no Windows 2008 não há mais conta de serviço para o cluster e a permissão deve ser concedida para a conta de computador criado no Active Directory referente ao nome do cluster, também conhecida como Cluster Name Object (CNO)

Nota: O utilitário cacls.exe é nativo do Windows 2008 e Windows 2008 R2, para Windows 2003 R2 é necessário instalar o Support Tools através do link: https://www.microsoft.com/downloads/details.aspx?familyid=96A35011-FD83-419D-939B-9A772EA2DF90&displaylang=en. Esta é a versão tanto para x86 como para x64.

Se o cluster que estiver sendo criado for Windows 2003 R2 utilize os seguintes comandos:

  • mkdir C:\FSW_Cluster01
  • net share FSW_Cluster01=C:\FSW_Cluster01 /GRANT:Fabrikam\ClusterService,FULL
  • cacls C:\ FSW_Cluster01 /G BUILTIN\Administrators:F Fabrikam\ClusterService:F
  • NET VIEW \\SERVER01

Onde:

  FSW_Cluster01 será o nome do compartilhamento
  Fabrikam é o nome do domínio
  ClusterService é o nome da conta de serviço do Cluster
  SERVER01 é o nome do servidor que estará compartilhando a pasta

Se o cluster que estiver sendo criado for Windows 2008 ou Windows 2008 R2 utilize os seguintes comandos:

  • mkdir C:\FSW_Cluster01
  • net share FSW_Cluster01=C:\FSW_Cluster01 /GRANT:Fabrikam\CLUSTER01$,FULL
  • cacls C:\ FSW_Cluster01 /G BUILTIN\Administrators:F Fabrikam\CLUSTER01$:F
  • NET VIEW \\SERVER01

Onde:

  FSW_Cluster01 será o nome do compartilhamento
  Fabrikam é o nome do domínio
  CLUSTER01 é o nome do cluster criado no passo 4.5
  SERVER01 é o nome do servidor que estará compartilhando a pasta

6) Configure o Cluster para usar o File Share Witness

Se estiver rodando Windows 2003 R2 utilize o seguinte comando:

  1.  Cluster res "Majority Node Set" /priv MNSFileShare=\\SERVER01\FSW_Cluster01
    
 NOTA: Ignore a mensagem de warning sobre a necessidade de reiniciar o recurso.
 Se estiver rodando Windows 2008 ou Windows 2008 R2 utilize os seguintes comandos:

Cluster.exe /cluster:CLUSTER01 res "File Share Witness" /create /group:"Cluster Group" /type:"File Share Witness" /priv SharePath=\\SERVER01\FSW_Cluster01

Cluster.exe res "File Share Witness” /online

Cluster.exe CLUSTER01 /quorum:"File Share Witness"

7) Verifique se o cluster está operacional

  1. Abra a ferramenta de gerenciamento do cluster, expanda o nome do cluster e navegue até os servidores, verificando que o Status em todos servidores está Up.
  2. Selecione o grupo Cluster Group e escolha Move Group, verifique se o grupo consegue ser movido com sucesso para todos os servidores do cluster.

 

Parabéns, seu cluster está criado e funcionando !!!!

IMPORTANTE: Para ambiente de missão crítica, faça sempre um bom planejamento, e se possível, esteja acompanhado por um consultor Microsoft.

por Marcelo Hunecke