Você está na página 1de 12

1

FACULDADE JESUS MARIA JOS TECNOLOGIA EM REDES DE COMPUTADORES

CLUSTER DE SERVIDORES VMWARE

FELLIPE CALLEBE BARBOSA LIMA

Taguatinga 2009

CLUSTER DE SERVIDORES VMWARE FELLIPE CALLEBE BARBOSA LIMA

RESUMO: A fim de obter sistemas tolerantes a falhas, as solues baseadas em clusters foram levadas em conta a partir do aumento da dependncia por sistemas computacionais, a maioria desses sistemas baseia-se tanto na redundncia de equipamentos quanto na reconfigurao do software de controle. Uma soluo eficiente e acessvel de permitir que mquinas comuns continuem provendo um servio, mesmo quando ocorre uma falha em qualquer dos seus elementos, atravs da replicao de servidores. Este artigo descreve a construo de um cluster de alta disponibilidade. Objetivando a alta disponibilidade de servidores e baseando-se na utilizao de ferramentas de virtualizao, que a tcnica que permite particionar um nico sistema computacional em vrios outros denominados de mquinas virtuais, sem custo de licena da VMWare. O cenrio implementado e teste efetuado pretendem demonstrar o potencial desta arquitetura em ambiente Linux, tirando partido do baixo custo associado e da facilidade de configurao. Palavras chaves: alta disponibilidade, servidores ,virtualizao. ABSTRACT: In order to obtain fault-tolerant systems, the solutions based on clusters were taken into account from the increasing dependence on computer systems, most of these systems is based on the both equipment redundancy how much configuration of control software. An efficient and accessible solution to allow that common machines continue providing a service, even when a fault occurs in any of its elements is through the replication of servers. About the work: this article describes the construction of cluster of high availability. Objectifying the high availability of servers and being based on the use of tools of virtualizao at no cost of license of the Vmware. The implemented scene and effected test intend to demonstrate the potential of this architecture in Linux environment, taking off broken of the low associated cost and the easiness of configuration.

Keywords: high availability, servers, virtualization. 1. INTRODUO As empresas exploram ao mximo a utilizao de seus recursos computacionais, com o objetivo de no gerar custos elevados muitas dessas organizaes tem buscado explorar a virtualizao de computadores.

A utilizao de ferramentas como o Vmware, um software para ambientes de testes de sistemas operacionais ou de produtos, que acaba sendo tanto de homologao quanto de produo e desenvolvimento, se no for bem planejado acaba se tornando um pesadelo. Em uma empresa a utilizao de apenas um servidor Vmware no suficiente para que se tenham servidores de aplicao, servidores web, desktops de produo, vrias mquinas virtuais ligadas e ai que surge a necessidade de outro servidor para tambm fazer o servio de hospedeiro de mquinas virtuais. Mas deixar separados dois servidores que desempenham a mesma tarefa no faz sentido. Um exemplo disso, seria o usurio ter outra mquina virtual que precise ser ligada, mas a mquina hospedeira est sem recursos para poder lig-la. O usurio ter uma soluo, desligar uma das mquinas virtuais j ligadas. Entretanto, a mquina hospedeira pode estar com recursos suficientes para executar mais de uma mquina virtual, mas a transferncia de dados (servios) de uma maquinal virtual para a outra mquina virtual se torna uma soluo pobre, pois ter que fazer a transferncia de dados toda vez que uma mquina faltar recursos. A soluo proposta para tal a criao de um cluster de mquinas virtuais. 2. ALTA DISPONIBILIDADE DE SERVIDORES VIRTUAIS 1. VIRTUALIZAO Em uma mquina pode-se consolidar diversos ambientes em uma mesma mquina ao mesmo tempo ganhando com isso reduo de custo, ganho de desempenho e melhoria na gerncia. Esse ambiente virtualizado consome recursos da mquina fsica, por isso, bom ter hardwares novos. Quando h servidores novos para se fazer a virtualizao temos ento, hardwares mais confiveis que reduzem os tempos que os servios ficam fora do ar. Outra vantagem que servidores fsicos podem ser hospedeiros para diversas outras mquinas virtuais provendo servios simultneos. Um exemplo dessa vantagem, ter em uma mquina diversos servios como servidor de e-mail, de diretrios, de arquivos, ou seja, diversos ambientes utilizados de forma separada ou conjunta. Esse ambiente virtual pode ser em qualquer tipo de hardware desde que tenha um sistema operacional instalado em uma mquina virtual, voc pode realocar um servidor virtual para outro hardware, bastando para isso, fazer um backup dos arquivos que compem uma mquina virtual, o arquivo de configurao e o arquivo de dados. Com a virtualizao possvel se ter o sistema operacional Linux, Windows ou at mais outros, em um mesmo servidor fsico. O sistema operacional onde software de

virtualizao est hospedado no interfere no funcionamento das mquinas virtuais, isso garante a interoperabilidade entre os sistemas operacionais. Em uma mquina virtual os dados so armazenados no VHD (Virtual Hard Disk), um arquivo que criado e neste arquivo sero armazenados os dados durante o uso de um ambiente virtualizado. O Vmware um exemplo de software/mquina virtual que permite a instalao e utilizao de um sistema operacional dentro de outro dando suporte real a software de outros sistemas operativos. muito utilizado em centros de dados, pois permite a criao de redundncia e segurana adicional sem recorrer a tantas mquinas fsicas e distribuindo e aproveitando melhor os recursos das mquinas hospedeiras. uma tima ferramenta para quem deseja implementar ambientes de testes. 2. CLUSTER
O paradigma de cluster pode ser compreendido como uma abordagem que visa um aumento no desempenho das aplicaes. Com o aumento de desempenho podemos entender uma maior velocidade na execuo dos aplicativos e um maior nmero de dados a serem considerados na execuo da prpria aplicao (DANTAS, 2002, p.420).

Cluster nada mais que um sistema que compreende dois ou mais computadores ou sistemas na qual trabalham em conjunto para executar aplicaes ou realizar outras tarefas, criando a iluso de um recurso nico. Esse conceito denominado de transparncia do sistema. Ele foi construdo para balancear servidores entre computadores, tem como objetivo dividir certo processamento de dados com outras mquinas interligadas na mesma rede para acelerar o processamento (DANTAS, 2002). O cluster usado quando os servios tm que estar disponveis ou quando os contedos so crticos, o cluster paralelo muito importante para a indstria cinematogrfica para renderizao de grficos de altssima qualidade e animaes, j pesquisadores, organizaes e empresas necessitam do cluster para gerenciar os recursos, incrementar sua escabilidade e disponibilidade de nvel supercomputacional a um preo disponvel. 3.3 TIPOS DE CLUSTERS Aqui esto descritos os tipos de clusters mais conhecidos:

Cluster de alta disponibilidade = os sistemas deste modelo conseguem

permanecer ativos por um longo perodo de tempo e em plena condio de uso de forma ininterrupta atravs do uso da redundncia implcitas ao sistema, alm disso conseguem detectar erros se protegendo de possveis falhas, esse tipo de cluster muito utilizado para base de dados de misses crticas, para os correios, servidores de arquivos e aplicaes; Cluster de alto desempenho = ele utiliza sistema operacional gratuito o que diminui seu custo, esse tipo de cluster tem como funo permitir que ocorra uma grande carga de processamento com um volume alto de gigaflops em computadores comuns; Cluster para balanceamento de carga = este modelo tem como funo distribuir controladamente o processamento. Seu mecanismo de redundncia requer constante monitoramento, se um n falhar as requisies so redistribudas entre os ns disponveis no momento. So utilizados em fazendas de servidores de web. 3.3 CLUSTER DE ALTA DISPONIBILIDADE Um cluster de alta disponibilidade, atravs da redundncia de hardware e reconfigurao de software, mantm disponvel os servios prestados por um sistema computacional replicando servios e servidores. O software responsvel por monitorar outras mquinas de uma rede, e ainda tem que saber, quem os est executando, quais servios esto sendo executados, e como proceder em caso de falhas. J o hardware responsvel pela tolerncia a falhas, como sistemas RAID, placas redundantes, fontes e na quebra de um link ele tem sistemas de rede totalmente ligados. O objetivo principal no parar, mas h excees como sistemas de tempo real e de misso crtica. 3.3 ALTA DISPONIBILIDADE Alta disponibilidade um sistema computacional resistente a falhas de software e energia, mantendo os servios disponibilizados o mximo de tempo possvel. caracterstica de um sistema operacional e no em produto ou aplicao para se instalar. H alguns mecanismos que podem ser utilizados para aumentar a disponibilidade de um sistema, mas eles s garantem se forem acompanhados de um projeto de configurao e um completo estudo.

O corao da alta disponibilidade manter a disponibilidade dos servios computacionais prestados, atravs da redundncia de hardware e reconfigurao de software, este servio disponvel colocado por trs de uma camada de abstrao que permite mudanas em seus mecanismos internos mantendo intacta a interao com elementos externos. A alta disponibilidade pode ser classificada como: Disponibilidade bsica = encontrada em mquinas comuns, sem mecanismos especiais, garantindo disponibilidade de 99% a 99,9%. Isto equivale a dizer que em um ano a mquina pode ficar indisponvel por um perodo de 9 horas a quatro dias; Alta disponibilidade = so mecanismos especializados que inclui mecanismos de deteco, recuperao e mascaramento de falhas aumentando a disponibilidade do sistema. Nesse modelo, as mquinas tm uma disponibilidade de 99,99% a 99,999%, podendo ficar indisponvel por um perodo de 5 horas at uma hora em um ano de operao; Disponibilidade contnua = teoricamente ideal chegando muito prximo de 100%, neste modelo o tempo de inoperncia do sistema desprezvel, todas as paradas planejadas ou no so mascaradas, e o sistema est sempre disponvel, mas sempre existe a possibilidade do sistema parar. 3.3 CLCULO DA DISPONIBILIDADE Diz-se que a disponibilidade de um sistema a relao entre o tempo de vida til deste sistema e seu tempo total de vida. Durante a vida til de um componente novo, ele pode ser considerado de duas maneiras: funcionando ou em reparo. O estado funcionando indica que o componente est operacional, j o estado em reparo significa que falhou ou no foi trocado por um novo. Em caso de defeitos, o sistema vai de funcionando para em reparo. Ao longo de sua vida apresenta-se um tempo mdio at falhar (MTTF) e um tempo mdio de reparo (MTTR). O tempo de vida til a soma dos MTTFs nos ciclos MTTF + MTTR, j vividos. Isto pode ser representado pela frmula abaixo:

Disponibilidade =

3.3 METODOLOGIA E SOLUO PROPOSTA O cenrio implementado pretendeu mostrar um cluster de alta disponibilidade e fazer uma migrao de mquinas virtuais de um servidor de virtualizao para outro servidor, com nfase em detectar eventuais falhas no servidor hospedeiro das mquinas virtuais. Para esta soluo sero utilizadas ferramentas de uso livre a fim de promover a sua utilizao em sistemas de informao. Este cenrio foi testado virtualmente recorrendo a Vmware com a implementao de um cluster de servidor. Pretende-se implementar um ambiente de testes, de forma que viabilize estudos prticos, expondo as etapas que sero alcanadas, esse processo ser documentando durante a execuo e testes de maneira detalhada para elaborao do relatrio do trabalho. Soluo proposta nesse trabalho ser aplicada sob o cenrio ilustrado na Figura 1.

Figura 1 - Diagrama da relao entre os servidores. O hardware utilizado consiste em servidores Dell com processadores Intel Pentium 4 3.20 Ghz, 4 GB de memria e interface de rede Gigabit Ethernet PCI Express os outros servidores Dell com processadores Intel Pentium 4 3.00 Ghz, 4 GB de memria Gigabit Ethernet PCI Express. Aps definida toda a estrutura iniciou-se as seguintes etapas: 1. Configurao da inicializao no GRUB 2. Configurao do ambiente 3. Preparao para a inicializao

4. Configurao do Vmware 3.3 RESULTADO O primeiro teste realizado foi desligando com reboot a mquina fsica, a mquina virtual morreu depois foi migrada e reiniciada em outro host fsico. A mquina virtual no retornou ao seu host de origem quando a mquina fsica voltou. O segundo teste foi rodar diversas mquinas virtuais no servidor VMWare para testar se haveria uma lentido de CPU, sem o cluster a mquina fsica pesa muito, j com o cluster tem um ganho de desempenho muito satisfatrio. O terceiro teste foi fazer a inicializao das mquinas hospedeiras via rede, usando o padro PXE, na verdade a mquina principal que tem o kernel e o diretrio raiz de cada mquina do cluster, e exporta para as outras mquinas via NFS no momento da inicializao. A prxima figura mostra o resultado obtido, um servidor Vmware rodando vrias mquinas virtuais:

Figura 2 - Servidor VMWare rodando diversas mquinas virtuais.

Um ponto importante que se as mquinas virtuais estiverem utilizando recursos demais em uma mquina sem cluster a mquina limitada estaria mais lenta. O que dificulta a utilizao dos servios que a virtualizao pode oferecer. J com a alta disponibilidade dos servidores se tem um aumento significativo no desempenho da mquina.

3. CONCLUSO Estes testes foram realizados buscando alternativas que reduzam o downtime dos servios e/ou aplicaes contidos em um servidor, chegando a manter sua disponibilidade prxima dos 99,999% e tambm para a verificao de resultados positivos em relao a inicializao dos servidores e das mquinas virtuais. Este trabalho foi proposto devido aos altssimos valores das solues de virtualizao em conjunto com alta disponibilidade. Fazendo um foco em um cenrio sem custos de licenas de softwares com hardwares de baixo custo. Esta soluo pode no ser equiparada tecnologicamente com as solues pagas do mercado, mas pode permitir que, empresas de pequeno e mdio porte possam ter uma soluo utilizando sistemas virtualizados com alta disponibilidade. Outras funcionalidades podem ser implementadas, tais como: Polticas de autenticao centralizada para as mquinas virtuais; Criao de uma poltica de dono e grupo para cada mquina virtual; Simulao do ambiente com todas as mquinas virtuais criadas;

4. REFERNCIAS BIBLIOGRFICAS DANTAS, Mario. Tecnologia de Redes de Comunicao e Computadores. SP: Axcel Books do Brasil, 2002. VMWARE1, VMWare, Inc . Disponvel em < http://www.vmware.com/br/pdf/cov_brochure_br.pdf >. Acesso em: 26 de set. 2009. PITANGA, Marcos. Computao em Cluster: O Estado da Arte da Computao. 1.ed. SP. Brasport, 2003. FACULDADE JESUS MARIA JOS. Manual para elaborao e apresentao de trabalhos acadmicos. Braslia: FAJESU, 2007. GOLA, Bruno. Alta Rotatividade. LINUX-MAGAZINE ONLINE. Disponvel em < http://www.linux-magazine.com.br/images/uploads/pdf_aberto/LM24_GSX.pdf >. Acesso em: 2 de set. 2009. 5. ANEXO Segue o /etc/cluster/cluster.conf utilizado nos testes: Configurao do Cluster

10

<cluster alias="Cluster_GFS" config_version="10" name="Cluster_GFS"> <fence_daemon clean_start="0" post_fail_delay="0" post_join_delay="3"/> <cman> <multicast addr="224.0.0.1" interface="eth1"/> </cman> <clusternodes> <clusternode name="cluster-01-node-01" nodeid="1" votes="1"> <multicast addr="224.0.0.1" interface="eth1"/> <fence> <method name="single"> <device name="node-01"/> </method> </fence> </clusternode> <clusternode name="cluster-01-node-02" nodeid="2" votes="1"> <multicast addr="224.0.0.1" interface="eth1"/> <fence> <method name="single"> <device name="node-02"/> </method> </fence> </clusternode> <clusternode name="cluster-01-node-03" nodeid="3" votes="1"> <multicast addr="224.0.0.1" interface="eth1"/> <fence> <method name="single"> <device name="node-03"/> </method> </fence> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_vmware_vi" ipaddr="10.107.113.2" login="user" name="node-01" passwd="xxxxx" port="Cluster_01_Node_01"/> <fencedevice agent="fence_vmware_vi" ipaddr="10.107.113.2" login="user" name="node-02" passwd="xxxxx" port="Cluster_01_Node_02"/> <fencedevice agent="fence_vmware_vi" ipaddr="10.107.113.2" login="user" name="node-03" passwd="xxxxx" port="Cluster_01_Node_03"/> </fencedevices> </cluster> Notas: 1-) Troque parnteses por sinal de maior/ menor (maldito wordpress!) 2-) O IP 10.107.113.2 o IP do Virtual Center. Ele sempre sabe onde a mquina virtual se encontra, mesmo que ela for migrada para outro host fsico.

11

3-) Foramos o MultiCast pela eth1, que uma interface dedicada para o heartbeat do Cluster. Algumas vezes o multicast tentava sair pela interface de loopback e cada mquina achava que estava sozinha no cluster /etc/hosts dos servidores: 10.0.0.1 cluster-01-node-01 10.0.0.2 cluster-01-node-02 10.0.0.3 cluster-01-node-03 10.0.1.1 node-01 10.0.1.2 node-02 10.0.1.3 node-03 Script de escrita Foi utilizado um script para escrever no storage compartilhado a cada segundo com o nome da mquina e a hora exata (minuto, segundo) da escrita. # for i in `seq 1 1000`; do a=`echo $RANDOM | cut -c1-2`; dd if=/dev/zero of=/teste/`hostname -s`-`date +%H_%M_%S` bs=512k count=$a; sleep 1; done Ns do Cluster [root@cluster-01-node-02 ~]# cman_tool nodes Node Sts Inc Joined Name 1 M 60 2009-01-06 19:46:11 cluster-01-node-01 2 M 56 2009-01-06 19:46:11 cluster-01-node-02 3 M 68 2009-01-06 19:56:35 cluster-01-node-03 Fence Device /sbin/fence_vmware_vi - DEVEL.1229423489 # The Following agent has been tested on: # VI Perl API 1.6 against: # VMware ESX 3.5 # VMware ESXi 3.5 update 2 # VMware Virtual Center 2.5 #</code> Com a seguinte modificao na linha 13: #sys.path.append("@FENCEAGENTSLIBDIR@") sys.path.append("/usr/lib/fence")

12

Você também pode gostar