CLUSTER

8

Click here to load reader

Transcript of CLUSTER

Page 1: CLUSTER

CLUSTER

Quem nunca sentiu um frio na barriga em instalar um cluster pela primeira vez que atire

a primeira pedra. A tecnologia de cluster mudou bastante desde o primeiro cluster

server da Microsoft, que tinha o codenome de "Wolfpack" é era parte do Windows NT

4.0 Server Enterprise Edition.

Curiosamente, ainda existem vários mitos, conceitos defasados ou até mesmo

errados em relação a implemetação de cluster nos dia de hoje. Por esse motivo,

decidimos criar uma série de posts sobre o assunto. Cada post vai ser escrito por um

especialista e vai trazer conceitos, melhores práticas, ferramentas e links com maiores

informações sobre o assunto.

Mas o que é um cluster do ponto de vista tecnológico? De acordo com o mercado,

cluster é um grupo de computadores e de dispositivos de armazenamento que

trabalham em conjunto e são acessados como um único sistema. O cluster pode

prover:

distribuição da carga de processamento

recuperação automática de falha de um ou mais componentes do cluster

As arquiteturas de cluster mais comuns na indústria podem ser categorizadas em quatro

tecnologias.

Clusters de alta disponibilidade (HA) – são projetados para fornecer maior

tempo de disponibilidade para um ou mais serviços.

Clusters de balanceamento de carga – Os recursos entre os servidores

normalmente não são compartilhados entre eles. Esse tipo de cluster é usado

para balancear a carga e também são conhecidos como servers farms.

Cluster de Alto desempenho (HPC) – Conhecidos também como clusters

Beowulf. Os High Performance Cluster são projetados dividir o processamento

entre os servidores do cluster. Nesse tipo de cluster é utilizado o conceito de

computação paralela entre vários servidores, entretanto, o cluster atua como uma

única entidade computacional. Os HPC são usados principalmente nas

comunidades científicas, médicas e acadêmicas.

Clusters de computação de grade (Grid) – Os Grid são semelhantes aos HPC,

no entanto, os servidores não estão tão diretamente ligados e não funcionam

como uma única entidade computacional. Cada servidor participante do Grid

executam o trabalho independente para o resto do cluster.

Os principais benefícios em utilizar a tecnologia de cluster estão diretamente ligadas a

disponibilidade e escalabilidade.

Disponibilidade: é a quantidade de tempo que um componente ou sistema

realiza sua função especificada. Mede a porcentagem de tempo que o sistema

está em seu estado operacional.

Page 2: CLUSTER

Escalabilidade: Quando a carga global excede as capacidades dos sistemas,

recursos adicionais podem ser adicionados sem a necessidade de alterar a

arquitetura inicial planejada.

Um ponto importante é que o preço da alta disponibilidade nem sempre é visivel

para o cliente, pois um cluster de alta disponibilidade ou de balanceamento de carga

permite que sistemas continuem a operar adequadamente mesmo após falhas em alguns

de seus componentes. Entretanto, deve ser observado também a redundância de

hardware e componentes de rede, mecanismos de prevenção/controle de queda de

energia elétrica, instalação rotineira de atualizações de segurança e antivírus,

monitoramento e ambiente físico adequado para as os equipamentos servidores.

Um ambiente com alta-disponibilidade requer uma maturidade operacional da

organização com documentos de SLA/OLA dos serviços, para que o nível adequado de

alta disponibilidade possa ser adotado.

Em resumo, a tecnologia de cluster por sí só não garante a alta disponibilidade de

um serviço, mas é parte integrante para alcança-la.

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.

Page 3: CLUSTER

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.

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: http://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

Page 4: CLUSTER

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:

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”. o 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;

Page 5: CLUSTER

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. o 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:

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.

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.

Page 6: CLUSTER

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.

Page 7: CLUSTER

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:

http://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

Page 8: CLUSTER

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:

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.