54
Montando ambientes de alta disponibilidade Neste artigo o colunista Flávio Jorge de Medeiros, demonstra na prática em como montar ambientes de alta disponibilidade com o sistema operacional Windows 2003. 1. Introdução Muita pessoas possuem dúvida de como trabalhar com alta disponibilidade com servidores Microsoft. Neste artigo estaremos mostrando como criar ambientes de alta disponibilidade. Iremos pegar como base o Windows 2003, visto que em outro artigo descrivi como gerar cluster em Windows 2008. Para entender o que é como fazer vamos ter um pouco de teoria, antes de irmos para a prática de implantação. 2. Teoria de alta disponibilidade Microsoft Existem duas formas de oferecer alta disponibilidade. O que nos denominamos de Network Load Balance (conhecido como NLB) e o Microsoft Cluster Service (conhecido como MSCS). 2.1. Qual a diferença entre eles? O NLB é uma forma de possibilitar alta disponibilidade para páginas WEB, possibilitando que duas os mais máquinas disponibilize o mesmo conteúdo Web. Caso uma das máquinas fique DOWN, não há indisponibilidade geral, visto que o acessos dos usuários ao servidores ocorrerá de forma balanceada. Durante a queda da máquina, somente os usuários que estavam acessando a aplicação naquela máquina ficam foram. Quando eles tentam acessar novamente, eles conseguem através de outra máquina do Farm. Infelizmente o NLB não é aplicável em muitas aplicações. Ele funciona muito bem com aplicações WEB (IIS), cujo o conteúdo é estático e funciona baseado em portas de TCP / UDP. Agora, se tivermos um File Server, um Banco de Dados ou mesmo um Exchange com Mailbox, o NLB não conseguirá dar a alta disponibilidade desejada para o ambiente, visto que estes cenários tratam de ambientes, cujo o conteúdo são atualizados de forma constante. O Microsoft Cluster Service também é formado por no mínimo 2 máquinas e obrigatoriamente um storage externo. Este storage poderá estar ligado nos servidores (de forma a compartilhar entre os mesmo o acesso aos discos) através de um conjunto de placas de fibras ou acessando via Ethernet, no padrão iSCSI. Sem este acesso a storage externo, não é possível montar o MSCS. Ao montar um MSCS, estaremos criando uma "maquina virtual ou nó virtual", onde iremos definir um disco de acesso (no storage externo), um endereço IP e um nome (Hostname). A este Nó virtual, damos o nome de recurso, que sempre estará em uma das máquinas que fazer parte do cluster. Para gerenciar este ambiente, temos uma base de dados interna, que denominamos de Quorum, que nada mais é que um outro Nó no ambiente. O MSCS é a base para possibilitarmos a alta disponibilidade para File Server, Banco de dados, Exchange e ou aplicações que "gravam/lêem" dados de forma constante

Montando Ambientes de Alta Disponibilidade

Embed Size (px)

Citation preview

Page 1: Montando Ambientes de Alta Disponibilidade

Montando ambientes de alta disponibilidade

Neste artigo o colunista Flávio Jorge de Medeiros, demonstra na prática em

como montar ambientes de alta disponibilidade com o sistema operacional Windows 2003.

1. Introdução

Muita pessoas possuem dúvida de como trabalhar com alta disponibilidade com

servidores Microsoft. Neste artigo estaremos mostrando como criar ambientes de

alta disponibilidade. Iremos pegar como base o Windows 2003, visto que em outro

artigo descrivi como gerar cluster em Windows 2008.

Para entender o que é como fazer vamos ter um pouco de teoria, antes de irmos

para a prática de implantação.

2. Teoria de alta disponibilidade Microsoft

Existem duas formas de oferecer alta disponibilidade. O que nos denominamos de

Network Load Balance (conhecido como NLB) e o Microsoft

Cluster Service (conhecido como MSCS).

2.1. Qual a diferença entre eles?

O NLB é uma forma de possibilitar alta disponibilidade para páginas WEB,

possibilitando que duas os mais máquinas disponibilize o mesmo conteúdo Web.

Caso uma das máquinas fique DOWN, não há indisponibilidade geral, visto que o

acessos dos usuários ao servidores ocorrerá de forma balanceada. Durante a queda

da máquina, somente os usuários que estavam acessando a aplicação naquela

máquina ficam foram. Quando eles tentam acessar novamente, eles conseguem

através de outra máquina do Farm.

Infelizmente o NLB não é aplicável em muitas aplicações. Ele funciona muito bem

com aplicações WEB (IIS), cujo o conteúdo é estático e funciona baseado em portas

de TCP / UDP. Agora, se tivermos um File Server, um Banco de Dados ou mesmo

um Exchange com Mailbox, o NLB não conseguirá dar a alta disponibilidade

desejada para o ambiente, visto que estes cenários tratam de ambientes, cujo o

conteúdo são atualizados de forma constante.

O Microsoft Cluster Service também é formado por no mínimo 2 máquinas e

obrigatoriamente um storage externo. Este storage poderá estar ligado nos

servidores (de forma a compartilhar entre os mesmo o acesso aos discos) através

de um conjunto de placas de fibras ou acessando via Ethernet, no padrão iSCSI.

Sem este acesso a storage externo, não é possível montar o MSCS.

Ao montar um MSCS, estaremos criando uma "maquina virtual ou nó virtual", onde

iremos definir um disco de acesso (no storage externo), um endereço IP e um

nome (Hostname). A este Nó virtual, damos o nome de recurso, que sempre estará

em uma das máquinas que fazer parte do cluster. Para gerenciar este ambiente,

temos uma base de dados interna, que denominamos de Quorum, que nada mais é

que um outro Nó no ambiente.

O MSCS é a base para possibilitarmos a alta disponibilidade para File Server, Banco

de dados, Exchange e ou aplicações que "gravam/lêem" dados de forma constante

Page 2: Montando Ambientes de Alta Disponibilidade

em um disco. Quando ocorreu a falha ou "failover" de um dos servidores, os nós

virtuais serão movidos de forma automática para o outro servidor. Desta forma,

ocorre uma pequena indisponibilidade (entre 30 s à 3 min) da aplicação. Após esta

movimentação, o recurso sobe na segunda máquina e o ambiente retorna a estar

disponível e visível aos usuários.

Olhando em termos gerais, para aplicações que funcionam em camadas, podemos

afirmar que o NLB trabalharia na camada de aplicação e apresentação WEB e

quanto o MSCS ficaria responsável pode dar alta disponibilidade para o banco de

dados.

O NLB pode ser gerado em qq das versões do Windows 2003 ou 2008. Já o MSCS

só pode ser montado nas versões Enterprise ou Datacenter do Windows 2003 ou

2008.

2.2. Entendimento de nossos cenários

Não iremos demostrar como instalar o Windows 2003 ou preparar a máquina virtual

para acesso emulado a um storage.

Caso esteja trabalhando com um VM de virtual PC, sugiro que você emule um iSCSI

através de um software com esta finalidade.

Segue um artigo para lhe dar um direcionamento de como fazer isso:

http://www.starwindsoftware.com/images/content/StarWind_MSCluster2003.pdf

Caso esteja trabalhando com um VM do VMWare Workstation, você poderá emular

o acesso a disco através de uma conexão SCSI.

Segue um artigo para lhe dar um direcionamento de como fazer isso:

http://blog.stealthpuppy.com/virtualisation/windows-clustering-in-vmware-

workstation-5

2.3. Arquitetura para Network Load Balance

Iremos considerar para o NLB uma máquina com função de Active Directory

(BRINDAD) e mais duas outras máquinas (Cluster1 e Cluster2), com duas placas de

rede cada, para forma o NLB

Page 3: Montando Ambientes de Alta Disponibilidade

2.4. Arquitetura para Microsoft Cluster Services

Iremos considerar para o MSCS uma máquina com função de Active Directory

(BRINDAD) e mais duas outras máquinas (Cluster1 e Cluster2).

Estaremos interligando os servidores via SCSI (Emulado) a um storage

compartilhado.

Page 4: Montando Ambientes de Alta Disponibilidade

3. Criando um Microsoft Cluster Service (MSCS)

Para conseguirmos montar um Microsoft Cluster Service, é necessário que os

servidores que irão compor o cluster estejam no domínio. Este é um pré-requisito básico para a montagem do ambiente.

Antes de mostrarmos, precisaremos ter também um usuário no Active Directory

para gerenciar o serviço do cluster. Este usuário não precisa de previlégios

administrativos no Domínio, mas deverá ser administrador local de ambos os

servidores de cluster.

Page 5: Montando Ambientes de Alta Disponibilidade

No nosso caso, criamos em nosso AD o usuário CLUADMIN e, como mostrado

acima, o usuário não tem previlégio administrativo no domínio.

Page 6: Montando Ambientes de Alta Disponibilidade

Usuário CLUADMIN inserido no grupo administrators local dos servidores do MSCS.

Após atendido os pré requisitos, vamos a criação propriamente do MSCS. Abra a

ferramenta cluster administrator (Start / All Programs / Administrative Tools).

Page 7: Montando Ambientes de Alta Disponibilidade

Selecione Create New Cluster e selecione OK.

Será apresentado a tela de Wizard do Cluster. Selecione Next.

Page 8: Montando Ambientes de Alta Disponibilidade

Entre com o nome do cluster do Quorum (no nosso caso clquorum) e selecione

Next.

Entre com o nome da máquina que será o primeiro nó do cluster. Selecione Next.

Page 9: Montando Ambientes de Alta Disponibilidade

Ao fazer isso, será feito uma análise de compatibilidade do ambiente com o MSCS.

Caso não seja detectado nenhuma incompatibilidade, a tela acima será mostrada.

Selecione Next.

Page 10: Montando Ambientes de Alta Disponibilidade

Entre com o endereçamento IP para o quorum do cluster e selecione Next.

Entre com o usuário do AD que será o responsável pelo serviço de cluster.

Selecione Next para continuar.

Page 11: Montando Ambientes de Alta Disponibilidade

Será exibido um resumo das configurações definidas. Selecione Next para começar

a montagem do seu cluster.

Processo de criação do cluster iniciado.

Page 12: Montando Ambientes de Alta Disponibilidade

Ao final, selecione Next para finalizar o processo.

Ao termino do processo, selecione Finish.

Page 13: Montando Ambientes de Alta Disponibilidade

Será aberto a tela acima, mostrando os recursos o Quorum. Observe que gerado

um Cluster Group denominado Group 0. Nele encontra-se o disco que poderá ter o

recurso de File Server, Banco de dados, Exchange, etc.

3.1. Adicionando o segundo nó do MSCS.

Para adicionar o segundo nó, selecione o nome do cluster com o botão direito do

mouse e selecione New / Node.

Page 14: Montando Ambientes de Alta Disponibilidade

Note que não foi necessário acessar o segundo nó (para nós denominado de

CLUSTER2) para fazer a implementação. Selecione Next.

Entre com o nome do segundo nó do cluster e selecione ADD para adicioná-lo. Após

isso, selecione Next.

Page 15: Montando Ambientes de Alta Disponibilidade

Validando o segundo Nó com a configuração atual do cluster.

Se não for encontrado nenhuma incompatibilidade, será mostrada a tela acima.

Selecione Next para continuar.

Page 16: Montando Ambientes de Alta Disponibilidade

Será solicitada a senha do usuário definido para iniciar o serviço do cluster (observe

que será o mesmo usuário definido no primeiro Nó).

Entre com a senha do mesmo e selecione Next.

Será mostrado o resumo das configurações. Selecione Next para começar o

processo de configuração do segundo Nó.

Page 17: Montando Ambientes de Alta Disponibilidade

Processo de configuração iniciado.

Ao final, selecione Next para finalizar o processo.

Page 18: Montando Ambientes de Alta Disponibilidade

Selecione Finish para finalizar o processo.

Na tela acima é mostrado os dois servidores do cluster (Cluster1 / Cluster2) e seus

recusos (Cluster Group / Group 0).

Page 19: Montando Ambientes de Alta Disponibilidade

3.2. Criando um recurso de File Server

Para exemplificar a criação de um recurso de Cluster, vamos criar um recurso de

File Serve para o ambiente. Lembre-se que todo recurso de cluster é composto, no

mímino de 1 disco, 1 Nome (Hostname), um IP e de um recurso de cluster.

Selecione o cluster group denominado de Group 0.

Vá no menu File e selecione Rename. Entrarei com o nome File Server Cluster, para

diferenciar-se do cluster do quorum (Cluster Group).

Page 20: Montando Ambientes de Alta Disponibilidade

Observe que neste recurso já existe um disco (uma Lun disponível para o

ambiente). Para continuarmos vamos criar o recurso de IP.

Entre no menu File e selecione New / Resource.

Em Name, entre com o nome do recurso (IP Address). Em Resource Type, selecione

Page 21: Montando Ambientes de Alta Disponibilidade

a opção IP Address. Em Description não é obrigatório preencher. Selecione Next.

Os possíveis Owner serão as possíveis máquinas que receberão o recurso, caso

ocorra alguma falha na máquina original do recurso. Selecione Next.

Em dependência, você define se este recurso dependerá de outro para estar disponível. Os únicos que não precisam de dependência são Disco e

Page 22: Montando Ambientes de Alta Disponibilidade

Endereço IP. Selecione Next.

Entre com o endereço IP correspondente ao File Server (no nosso caso

192.168.0.71) e selecione Finish.

Será gerado o recurso em Off-Line e será mostrado um aviso de recurso criado com

Page 23: Montando Ambientes de Alta Disponibilidade

sucesso. Selecione OK na mensagem.

Para deixar o recurso On-Line, selecione o recurso criado com o botão direito e

escolha Bring OnLine.

Page 24: Montando Ambientes de Alta Disponibilidade

O recurso ficará On Line e disponível.

Vamos agora gerar o recuso de nome. Entre no menu File e selecione New /

Resource.

Em Name, entre com o nome do recurso (Network Name). Em Resource Type,

selecione a opção Network Name. Em Description não é obrigatório

preencher. Selecione Next.

Page 25: Montando Ambientes de Alta Disponibilidade

Os possíveis Owner serão as possíveis máquinas que receberão o recurso, caso

ocorra alguma falha na máquina original do recurso. Selecione Next.

No caso do recurso de NetWork Name, é obrigatório estar atrelado a dependência

de IP. Selecione o recuso IP Address e escolha Add. Após adicionar, selecione Next.

Page 26: Montando Ambientes de Alta Disponibilidade

Em parâmetros do recurso, entre com o nome (hostname) que será utilizado pelo

File Server (no nosso caso, BRINDFS). Ao final, selecione Finish.

Será gerado o recurso em Off-Line e será mostrado um aviso de recurso criado com

sucesso. Selecione OK na mensagem.

Page 27: Montando Ambientes de Alta Disponibilidade

Para deixar o recurso On-Line, selecione o recurso criado com o botão direito e

escolha Bring OnLine.

Page 28: Montando Ambientes de Alta Disponibilidade

O recurso ficará On Line e disponível.

Bom, até o momento deixamos disponibilizados na rede uma nova máquina (ou

recurso virtual – BRINDFS). Para ser mesmo um File Server, necessitaremos ter um

share montado. Mas o share em cluster é diferente do tradicional. Em cluster, o

share nada mais é que um outro recurso de cluster.

Entre no menu File e selecione New / Resource.

Em Name, entre com o nome do recurso (Share dados). Em Resource Type,

selecione a opção File Share. Em Description não é obrigatório preencher. Selecione

Next.

Page 29: Montando Ambientes de Alta Disponibilidade

Os possíveis Owner serão as possíveis máquinas que receberão o recurso, caso

ocorra alguma falha na máquina original do recurso. Selecione Next.

Em dependências, selecione o disco e o nome. Com isso, caso ocorra falha em um

dos recursos, o acesso ao Share não estará disponível. Selecione Next.

Page 30: Montando Ambientes de Alta Disponibilidade

Na tela de parâmetros, você deve entrar com o nome do Share (no meu caso será

data) e o caminho (path) onde ele esta localizado. Obviamente, o path terá que ser no disco que está disponibilizado no seu cluster (no nosso caso, o drive G:\).

Caso deseje alterar a permissão do Share, você deverá fazer, selecionando o botão

Permissions. Selecione Finish ao finalizar.

Page 31: Montando Ambientes de Alta Disponibilidade

Será gerado o recurso em Off-Line e será mostrado um aviso de recurso criado com

sucesso. Selecione OK na mensagem.

Para deixar o recurso On-Line, selecione o recurso criado com o botão direito e

escolha Bring OnLine.

Page 32: Montando Ambientes de Alta Disponibilidade

O recurso ficará On Line e disponível.

Para validarmos, de uma máquina no ambiente (Domain Controller) vamos acessar o share.

Entre em Start / Run

Entre com \\BRINDFS e selecione OK.

Page 33: Montando Ambientes de Alta Disponibilidade

Você observará que será aberta uma tela, como se fosse acessar fisicamente um

servidor.

3.3. Testando a alta disponibilidade

Para testar a alta disponibilidade é bem simples. Na tela do Cluster administrator,

selecione o cluster group desejado para validar o processo de FailOver (no nosso

caso, selecionaremos o File Server Cluster).

Page 34: Montando Ambientes de Alta Disponibilidade

Depois de selecionado, entre no menu File / Move Group

Page 35: Montando Ambientes de Alta Disponibilidade

Ao fazer isso, os recursos serão transferidos de uma máquina física para outra.

Ao final do processo, você observará que os recursos sairam da máquina CLUSTER1

e migraram para a máquina CLUSTER2.

Page 36: Montando Ambientes de Alta Disponibilidade

Caso queria testar realmente a funcionamento, desligue a máquina com o recurso e

observe os recursos movendo de forma automática para a outra máquina.

4. Criando um Network Load Balance (NLB)

Diferente do Microsoft Cluster Services, a criação de um NLB de servidores não

necessita obrigatoriamente que as máquinas pertençam a um Active Directory,

apesar que o ingresso ao mesmo facilitará a criação e o suporte posterior ao

ambiente.

O NLB pode ser gerado no modo Unicast ou Multicast. A diferença básica entre os

dois modelos, é que o Unicast “modifica o MAC da placa de rede”, o que facilita a

propagação do endereçamento IP entre os roteadores de sua rede. No caso do uso

de Unicast, torna-se praticamente obrigatório a utilização de duas placas de redes.

Já com Multicast, ele “emula” um novo MAC de rede, não fazendo a troca física do

placa de rede utilizada no NLB. Por esta razão, podemos utilizar o modo Multicast

com uma única placa de rede (apesar de não recomandado). Infelizemente, não é

todos os roteadores que sabem trabalhar com Multicast e por isso, se utilizado este

metodo, provavelmente você ou a equipe de redes que trabalha com você tenha

que criar manualmente nos roteadores, a associação MAC versus IP, para que as

outras redes do ambiente possam acessar o seu NLB.

Bom, no nosso artigo iremos mostrar a criação do ambiente de NLB como Unicast,

utilizando duas placas de redes. Uma para acesso administrativo e uma segunda

para o NLB propriamente dito (observe o desenho colocado inicialmente neste

artigo).

4.1. Montando o NLB

Assim como o MSCS, existe um Wizard (assistente) que auxiliará a criação do seu

NLB. Para acioná-lo entre em Start / Administrative Tools / Network Load Balance

Manager

Page 37: Montando Ambientes de Alta Disponibilidade

Nele, entre no menu Cluster e escola a opção New.

Page 38: Montando Ambientes de Alta Disponibilidade

Nesta tela entre com o endereço IP que irá responder o seu cluster, a máscara de

rede que ele pertence, o nome que vai responder na rede e o modo do NLB (no

nosso caso, deixaremos Unicast)

Selecione next após o preenchimento das opções.

Page 39: Montando Ambientes de Alta Disponibilidade

Caso você tenha algum IP adicional a disponibilizar, selecione Add e adicione os

mesmos. Caso contrário selecione Next.

Page 40: Montando Ambientes de Alta Disponibilidade

Esta parte é importante. Nele definiremos as regras de portas e protocolos que o

seu NLB irá responder. Para fins didádicos, não iremos alterar este item, ou seja, o

NLB funcionará para qq porta e protocolo do ambiente.

Sugiro porém que você gaste um tempo testando as portas de sua aplicação para deixar apenas as portas necessárias abertas.

Selecione Next.

Page 41: Montando Ambientes de Alta Disponibilidade

Nesta tela você adicionará a primeira máquina que irá formar o NLB. Em host entre

com o nome da máquina (nosso caso Cluster1) e selecione o botão connect.

Page 42: Montando Ambientes de Alta Disponibilidade

Será mostrado as placas de redes disponíveis e seus respectivos IP. Selecione a

placa com o ip 192.168.0.70 e selecione Next.

Page 43: Montando Ambientes de Alta Disponibilidade

Na última tela, será exibido o IP da placa selecionada para manter o IP virtual do

NLB. Também é mostrado o parâmetro Priority, que serve para identificar no meio

de seu cluster, qual será a “designação” desta máquina. Não e necessário

esquentar a cabeça com ele, pois o próprio

Wizard consegue gerenciar o mesmo, caso entre outras máquinas no conjunto de

NLB.

Selecione Finish para acabar o seu Wizard.

Page 44: Montando Ambientes de Alta Disponibilidade

Ao final, será mostrado a tela acima, indicando que a sua primeira máquina do NLB

está montada.

4.2. Incluindo mais servidores no NLB

A inclusão de uma nova máquina poderá ser feita de qualquer servidor 2003 e não

obrigatoriamente da mesma máquina que será inserida no Farm de NLB.

Entre em Start / Administrative Tools / Network Load Balance Manager

Page 45: Montando Ambientes de Alta Disponibilidade

Vá no menu cluster e selecione Connect to Existing.

Page 46: Montando Ambientes de Alta Disponibilidade

Coloque o IP virtual do NLB (192.168.0.75) e selecione Connect.

Será exibido o nome do NLB criado no ambiente. Selecione o mesmo e selecione

Finish.

Page 47: Montando Ambientes de Alta Disponibilidade

A tela do gerenciador mostrará o NLB selecionado. Selecione o “nome” do NLB. No

nosso caso www.fjorge.ad. Entre no menu Cluster e selecione a opção Add Host.

Page 48: Montando Ambientes de Alta Disponibilidade

Entre com o nome da nova máquina a entre como parte do NLB (nosso caso

Cluster2) e selecione Connect.

Será mostrado as placas de redes disponíveis e seus respectivos IP. Selecione a

placa com o ip 192.168.0.71 e selecione Next.

Page 49: Montando Ambientes de Alta Disponibilidade

Na última tela, será exibido o IP da placa selecionada para manter o IP virtual do

NLB. Também é mostrado o parâmetro Priority, que se você observar, ele assumiu

automaticamente como 2, visto que a máquina CLUSTER1 ficou do o Priority 1.

Selecione Finish para que a máquina seja integrada ao NLB.

Page 50: Montando Ambientes de Alta Disponibilidade

Máquina sendo inclusa no NLB

Ao final, você observará que ambos os servidores estão OK (em verde) no seu NLB.

Page 51: Montando Ambientes de Alta Disponibilidade

4.3. Validando o NLB criado

Para validar o NLB é um processo extremamente facil. De um terceira maquina (no

nosso caso será a máquina Active Directory) iremos disparar em três janelas de

MS-DOS ping’s destinados ao NLB e as máquinas fisicas.

Tela para validação do NLB.

Vamos desligar a máquina CLUSTER1 (192.168.0.60). A queda da mesma não

deverá provocar a parada do ping ao NLB (192.168.0.75).

Page 52: Montando Ambientes de Alta Disponibilidade

Observer que mesmo com a máquina CLUSTER1 desligada, o NLB continua

respondendo. Vamos inverter, religando a máquina CLUSTER1 e após o retorno da

mesma, fazendo o mesmo teste com a máquina CLUSTER2.

Page 53: Montando Ambientes de Alta Disponibilidade

Ambiente restabelecido. Vamos desligar a maquina CLUSTER2 (192.168.0.61) e

novamente observaremos que não haverá queda do NLB (192.168.0.75).

Page 54: Montando Ambientes de Alta Disponibilidade

Máquina CLUSTER2 desligada e o NLB continua no ar.

Conclusão

Este artigo visou a demonstrar na prática como montar ambientes de alta

disponibilidade com o sistema operacional Windows 2003.

Em breve demostraremos como montar ambientes de alta disponibilidade em Windows 2008