Desmistificando o Cluster (parte II)
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.
Se estiver rodando Windows 2003:
- Utilize somente hardware (servidores, controladoras, storage) que está na HCL conforme artigo: https://support.microsoft.com/kb/309395
- Atualize o sistema operacional Windows 2003 R2
- Instale o último Service Pack disponível
- Rode o Windows Update e instale todas as atualizações
- Coloque o servidor no domínio
Se estiver rodando Windows 2008 ou Windows 2008 R2:
- 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.
- Instale o último Service Pack disponível
- Rode o Windows Update e instale todas as atualizações
- Coloque o servidor no domínio
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.
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.
Conecte as placas de redes irão participar do cluster ao switch.
Altere o nome de cada uma das placas de rede conforme indicado acima (Pública e Privada).
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”.
- Na configuração de rede, desmarque as seguintes opções:
- 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.
- Na configuração de rede, desmarque as seguintes opções:
- 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.
- Windows 2003 R2 (a placa de heartbeat utilizará um endereço IP fixo. Utilizar APIPA não é recomendado).
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.
- 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
Execute os procedimentos abaixo em qualquer um dos servidores que farão parte do cluster.
Se estiver rodando Windows 2003 R2:
- Abra a ferramenta Cluster Administrator.
- 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.
- Adicione todos os servidores que farão parte do cluster.
- 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.
- 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).
- 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:
- Abra a ferramenta Failover Cluster Management.
- Em Actions, escolha Create a Cluster.
- Adicione todos os servidores que farão parte do cluster.
- Faça os testes necessários de validação do cluster e continue a instalação. (Dica: desmarque o teste de Storage).
- 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.
Execute os procedimentos abaixo em qualquer um dos servidores do cluster.
Se estiver rodando Windows 2003 R2:
- Abra a ferramenta Cluster Administrator.
- Expanda o nome do cluster e selecione Networks.
- 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.
- 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.
- 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:
- Abra a ferramenta Failover Cluster Management.
- Expanda o Nome do cluster e selecione Networks.
- 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.
- 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.
- 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.
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 |
Se estiver rodando Windows 2003 R2 utilize o seguinte comando:
-
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"
- 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.
- 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
Anonymous
January 01, 2003
Bom dia Eduardo Viana Voce pode encontrar mais informações sobre Cluster em Windows Server 2008 R2 Server Core, no link : social.technet.microsoft.com/.../configuring-failover-clustering-on-windows-server-2008-r2-server-core.aspx Abraços, BRZADAnonymous
March 18, 2010
Parabéns pelo inicio da série que irá abordar o conceito e a prática sobre Clusters Microsoft. Uma leitura extremamente fácil e muito interessante. Grande abraço Até maisAnonymous
January 28, 2011
Otimo tutorial. Só uma duvida no Procedimento 7 passo 2. No 2008 não existe o Cluster group, correto ? Seria necessário criar em services and application uma aplicação ou um serviço para realizar um teste de Move, correto ?Anonymous
September 21, 2011
Boa noite Execelente Tutorial Gsotaria de saber se voce ja montou algum cluster usando o Windows Server 2008 R2 Server Core