montando ambientes de alta disponibilidade

Upload: jbmacjaime

Post on 15-Jul-2015

134 views

Category:

Documents


0 download

TRANSCRIPT

Montando ambientes de alta disponibilidadeNeste artigo o colunista Flvio Jorge de Medeiros, demonstra na prtica em como montar ambientes de alta disponibilidade com o sistema operacional Windows 2003.

1. IntroduoMuita pessoas possuem dvida 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 prtica de implantao.

2. Teoria de alta disponibilidade MicrosoftExistem 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 diferena entre eles?O NLB uma forma de possibilitar alta disponibilidade para pginas WEB, possibilitando que duas os mais mquinas disponibilize o mesmo contedo Web. Caso uma das mquinas fique DOWN, no h indisponibilidade geral, visto que o acessos dos usurios ao servidores ocorrer de forma balanceada. Durante a queda da mquina, somente os usurios que estavam acessando a aplicao naquela mquina ficam foram. Quando eles tentam acessar novamente, eles conseguem atravs de outra mquina do Farm. Infelizmente o NLB no aplicvel em muitas aplicaes. Ele funciona muito bem com aplicaes WEB (IIS), cujo o contedo esttico 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 no conseguir dar a alta disponibilidade desejada para o ambiente, visto que estes cenrios tratam de ambientes, cujo o contedo so atualizados de forma constante. O Microsoft Cluster Service tambm formado por no mnimo 2 mquinas e obrigatoriamente um storage externo. Este storage poder estar ligado nos servidores (de forma a compartilhar entre os mesmo o acesso aos discos) atravs de um conjunto de placas de fibras ou acessando via Ethernet, no padro iSCSI. Sem este acesso a storage externo, no possvel 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 endereo IP e um nome (Hostname). A este N virtual, damos o nome de recurso, que sempre estar em uma das mquinas 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 aplicaes que "gravam/lem" dados de forma constante

em um disco. Quando ocorreu a falha ou "failover" de um dos servidores, os ns virtuais sero movidos de forma automtica para o outro servidor. Desta forma, ocorre uma pequena indisponibilidade (entre 30 s 3 min) da aplicao. Aps esta movimentao, o recurso sobe na segunda mquina e o ambiente retorna a estar disponvel e visvel aos usurios. Olhando em termos gerais, para aplicaes que funcionam em camadas, podemos afirmar que o NLB trabalharia na camada de aplicao e apresentao WEB e quanto o MSCS ficaria responsvel pode dar alta disponibilidade para o banco de dados.

O NLB pode ser gerado em qq das verses do Windows 2003 ou 2008. J o MSCS s pode ser montado nas verses Enterprise ou Datacenter do Windows 2003 ou 2008.

2.2. Entendimento de nossos cenriosNo iremos demostrar como instalar o Windows 2003 ou preparar a mquina virtual para acesso emulado a um storage. Caso esteja trabalhando com um VM de virtual PC, sugiro que voc emule um iSCSI atravs 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 atravs de uma conexo SCSI. Segue um artigo para lhe dar um direcionamento de como fazer isso: http://blog.stealthpuppy.com/virtualisation/windows-clustering-in-vmwareworkstation-5

2.3. Arquitetura para Network Load BalanceIremos considerar para o NLB uma mquina com funo de Active Directory (BRINDAD) e mais duas outras mquinas (Cluster1 e Cluster2), com duas placas de rede cada, para forma o NLB

2.4. Arquitetura para Microsoft Cluster ServicesIremos considerar para o MSCS uma mquina com funo de Active Directory (BRINDAD) e mais duas outras mquinas (Cluster1 e Cluster2). Estaremos interligando os servidores via SCSI (Emulado) a um storage compartilhado.

3. Criando um Microsoft Cluster Service (MSCS)Para conseguirmos montar um Microsoft Cluster Service, necessrio que os servidores que iro compor o cluster estejam no domnio. Este um pr-requisito bsico para a montagem do ambiente. Antes de mostrarmos, precisaremos ter tambm um usurio no Active Directory para gerenciar o servio do cluster. Este usurio no precisa de previlgios administrativos no Domnio, mas dever ser administrador local de ambos os servidores de cluster.

No nosso caso, criamos em nosso AD o usurio CLUADMIN e, como mostrado acima, o usurio no tem previlgio administrativo no domnio.

Usurio CLUADMIN inserido no grupo administrators local dos servidores do MSCS. Aps atendido os pr requisitos, vamos a criao propriamente do MSCS. Abra a ferramenta cluster administrator (Start / All Programs / Administrative Tools).

Selecione Create New Cluster e selecione OK.

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

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

Entre com o nome da mquina que ser o primeiro n do cluster. Selecione Next.

Ao fazer isso, ser feito uma anlise de compatibilidade do ambiente com o MSCS.

Caso no seja detectado nenhuma incompatibilidade, a tela acima ser mostrada. Selecione Next.

Entre com o endereamento IP para o quorum do cluster e selecione Next.

Entre com o usurio do AD que ser o responsvel pelo servio de cluster. Selecione Next para continuar.

Ser exibido um resumo das configuraes definidas. Selecione Next para comear a montagem do seu cluster.

Processo de criao do cluster iniciado.

Ao final, selecione Next para finalizar o processo.

Ao termino do processo, selecione Finish.

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 boto direito do mouse e selecione New / Node.

Note que no foi necessrio acessar o segundo n (para ns denominado de CLUSTER2) para fazer a implementao. Selecione Next.

Entre com o nome do segundo n do cluster e selecione ADD para adicion-lo. Aps isso, selecione Next.

Validando o segundo N com a configurao atual do cluster.

Se no for encontrado nenhuma incompatibilidade, ser mostrada a tela acima. Selecione Next para continuar.

Ser solicitada a senha do usurio definido para iniciar o servio do cluster (observe que ser o mesmo usurio definido no primeiro N). Entre com a senha do mesmo e selecione Next.

Ser mostrado o resumo das configuraes. Selecione Next para comear o processo de configurao do segundo N.

Processo de configurao iniciado.

Ao final, selecione Next para finalizar o processo.

Selecione Finish para finalizar o processo.

Na tela acima mostrado os dois servidores do cluster (Cluster1 / Cluster2) e seus recusos (Cluster Group / Group 0).

3.2. Criando um recurso de File ServerPara exemplificar a criao de um recurso de Cluster, vamos criar um recurso de File Serve para o ambiente. Lembre-se que todo recurso de cluster composto, no mmino 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).

Observe que neste recurso j existe um disco (uma Lun disponvel 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

a opo IP Address. Em Description no obrigatrio preencher. Selecione Next.

Os possveis Owner sero as possveis mquinas que recebero o recurso, caso ocorra alguma falha na mquina original do recurso. Selecione Next.

Em dependncia, voc define se este recurso depender de outro para estar disponvel. Os nicos que no precisam de dependncia so Disco e

Endereo IP. Selecione Next.

Entre com o endereo 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

sucesso. Selecione OK na mensagem.

Para deixar o recurso On-Line, selecione o recurso criado com o boto direito e escolha Bring OnLine.

O recurso ficar On Line e disponvel. 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 opo Network Name. Em Description no obrigatrio preencher. Selecione Next.

Os possveis Owner sero as possveis mquinas que recebero o recurso, caso ocorra alguma falha na mquina original do recurso. Selecione Next.

No caso do recurso de NetWork Name, obrigatrio estar atrelado a dependncia de IP. Selecione o recuso IP Address e escolha Add. Aps adicionar, selecione Next.

Em parmetros 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.

Para deixar o recurso On-Line, selecione o recurso criado com o boto direito e escolha Bring OnLine.

O recurso ficar On Line e disponvel. Bom, at o momento deixamos disponibilizados na rede uma nova mquina (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 opo File Share. Em Description no obrigatrio preencher. Selecione Next.

Os possveis Owner sero as possveis mquinas que recebero o recurso, caso ocorra alguma falha na mquina original do recurso. Selecione Next.

Em dependncias, selecione o disco e o nome. Com isso, caso ocorra falha em um dos recursos, o acesso ao Share no estar disponvel. Selecione Next.

Na tela de parmetros, 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 permisso do Share, voc dever fazer, selecionando o boto Permissions. Selecione Finish ao finalizar.

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 boto direito e escolha Bring OnLine.

O recurso ficar On Line e disponvel. Para validarmos, de uma mquina no ambiente (Domain Controller) vamos acessar o share. Entre em Start / Run

Entre com \\BRINDFS e selecione OK.

Voc observar que ser aberta uma tela, como se fosse acessar fisicamente um servidor.

3.3. Testando a alta disponibilidadePara 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).

Depois de selecionado, entre no menu File / Move Group

Ao fazer isso, os recursos sero transferidos de uma mquina fsica para outra.

Ao final do processo, voc observar que os recursos sairam da mquina CLUSTER1 e migraram para a mquina CLUSTER2.

Caso queria testar realmente a funcionamento, desligue a mquina com o recurso e observe os recursos movendo de forma automtica para a outra mquina.

4. Criando um Network Load Balance (NLB)Diferente do Microsoft Cluster Services, a criao de um NLB de servidores no necessita obrigatoriamente que as mquinas pertenam a um Active Directory, apesar que o ingresso ao mesmo facilitar a criao e o suporte posterior ao ambiente. O NLB pode ser gerado no modo Unicast ou Multicast. A diferena bsica entre os dois modelos, que o Unicast modifica o MAC da placa de rede, o que facilita a propagao do endereamento IP entre os roteadores de sua rede. No caso do uso de Unicast, torna-se praticamente obrigatrio a utilizao de duas placas de redes. J com Multicast, ele emula um novo MAC de rede, no fazendo a troca fsica do placa de rede utilizada no NLB. Por esta razo, podemos utilizar o modo Multicast com uma nica placa de rede (apesar de no recomandado). Infelizemente, no 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 associao MAC versus IP, para que as outras redes do ambiente possam acessar o seu NLB. Bom, no nosso artigo iremos mostrar a criao 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 NLBAssim como o MSCS, existe um Wizard (assistente) que auxiliar a criao do seu NLB. Para acion-lo entre em Start / Administrative Tools / Network Load Balance Manager

Nele, entre no menu Cluster e escola a opo New.

Nesta tela entre com o endereo IP que ir responder o seu cluster, a mscara de rede que ele pertence, o nome que vai responder na rede e o modo do NLB (no nosso caso, deixaremos Unicast)

Selecione next aps o preenchimento das opes.

Caso voc tenha algum IP adicional a disponibilizar, selecione Add e adicione os mesmos. Caso contrrio selecione Next.

Esta parte importante. Nele definiremos as regras de portas e protocolos que o seu NLB ir responder. Para fins diddicos, no iremos alterar este item, ou seja, o NLB funcionar para qq porta e protocolo do ambiente. Sugiro porm que voc gaste um tempo testando as portas de sua aplicao para deixar apenas as portas necessrias abertas. Selecione Next.

Nesta tela voc adicionar a primeira mquina que ir formar o NLB. Em host entre com o nome da mquina (nosso caso Cluster1) e selecione o boto connect.

Ser mostrado as placas de redes disponveis e seus respectivos IP. Selecione a placa com o ip 192.168.0.70 e selecione Next.

Na ltima tela, ser exibido o IP da placa selecionada para manter o IP virtual do NLB. Tambm mostrado o parmetro Priority, que serve para identificar no meio de seu cluster, qual ser a designao desta mquina. No e necessrio esquentar a cabea com ele, pois o prprio Wizard consegue gerenciar o mesmo, caso entre outras mquinas no conjunto de NLB. Selecione Finish para acabar o seu Wizard.

Ao final, ser mostrado a tela acima, indicando que a sua primeira mquina do NLB est montada.

4.2. Incluindo mais servidores no NLBA incluso de uma nova mquina poder ser feita de qualquer servidor 2003 e no obrigatoriamente da mesma mquina que ser inserida no Farm de NLB. Entre em Start / Administrative Tools / Network Load Balance Manager

V no menu cluster e selecione Connect to Existing.

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.

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 opo Add Host.

Entre com o nome da nova mquina a entre como parte do NLB (nosso caso Cluster2) e selecione Connect.

Ser mostrado as placas de redes disponveis e seus respectivos IP. Selecione a placa com o ip 192.168.0.71 e selecione Next.

Na ltima tela, ser exibido o IP da placa selecionada para manter o IP virtual do NLB. Tambm mostrado o parmetro Priority, que se voc observar, ele assumiu automaticamente como 2, visto que a mquina CLUSTER1 ficou do o Priority 1. Selecione Finish para que a mquina seja integrada ao NLB.

Mquina sendo inclusa no NLB

Ao final, voc observar que ambos os servidores esto OK (em verde) no seu NLB.

4.3. Validando o NLB criadoPara validar o NLB um processo extremamente facil. De um terceira maquina (no nosso caso ser a mquina Active Directory) iremos disparar em trs janelas de MS-DOS pings destinados ao NLB e as mquinas fisicas.

Tela para validao do NLB. Vamos desligar a mquina CLUSTER1 (192.168.0.60). A queda da mesma no dever provocar a parada do ping ao NLB (192.168.0.75).

Observer que mesmo com a mquina CLUSTER1 desligada, o NLB continua respondendo. Vamos inverter, religando a mquina CLUSTER1 e aps o retorno da mesma, fazendo o mesmo teste com a mquina CLUSTER2.

Ambiente restabelecido. Vamos desligar a maquina CLUSTER2 (192.168.0.61) e novamente observaremos que no haver queda do NLB (192.168.0.75).

Mquina CLUSTER2 desligada e o NLB continua no ar.

ConclusoEste artigo visou a demonstrar na prtica como montar ambientes de alta disponibilidade com o sistema operacional Windows 2003. Em breve demostraremos como montar ambientes de alta disponibilidade em Windows 2008

Flvio Jorge de Medeiros, 13 anos trabalhando na rea de TI, onde atuou como Suporte/Projeto com produtos Microsoft e VMWare e hoje trabalha na rea de arquitetura de solues.Possui certificaes MOUS, MCP, MCP+I, MCSA, MCSA+M, MCSE, MCSE+M, pela Microsoft e VCP, pela VMWare. Voc pode entrar em contato atravs do e-mail [email protected] ou [email protected]