You are on page 1of 93

Faculdade de Engenharia da Universidade do Porto

IPBrick Cloud Environment


Lus Filipe Flix Martins

Verso Provisria

Dissertao realizada no mbito do Mestrado Integrado em Engenharia Electrotcnica e de Computadores Major Telecomunicaes

Orientador: Prof. Dr. Joo Manuel Couto das Neves Proponente: iPortalMais Servio de Internet e Redes Lda.

Junho de 2010

Lus Filipe Flix Martins, 2010

Resumo

A tecnologia tem marcado o passo do desenvolvimento das organizaes. A evoluo tecnolgica tem prestado o seu contributo fazendo com que as empresas possam ter uma estrutura, seja a nvel de intranet, de segurana ou das comunicaes, bem solidificado, dinamizando e simplificando as tarefas do dia a dia. Contudo, todos estes servios criam uma dependncia face aos recursos fsicos, nomeadamente os servidores, envolvendo custos muito altos. Surge assim o conceito de Cloud Computing. Este conceito traz s organizaes a possibilidade de poder usufruir de mais servios obtendo menos servidores fsicos. O Projecto IPBrick Cloud Environment consiste na criao de uma plataforma de gesto simples e intuitiva que, recorrendo virtualizao, permite ter o menor nmero de servidores fsicos para gerir uma srie de servidores virtuais assegurando a alta disponibilidade dos mesmos, trazendo benefcios s organizaes ao nvel financeiro, de manuteno, de preservao e de espao disponibilizado para os servidores.

ii

Abstract

Technology has influenced the development of the organizations. Technological evolution has been given its contribution giving to companies the possibility to have a strong structure, whether the level of intranet, security or communications, stimulating and simplifying the tasks of daily life. However, all these services create a dependence on physical resources, including servers, involving high costs. Here arises the concept of Cloud Computing. This concept brings to the enterprises the possibility to enjoy more services getting fewer physical servers. The Project IPBrick Cloud Environment is the creation of a simple and intuitive management platform, using virtualization, allowing the enterprises to have the lowest number of physical servers to manage a number of virtual servers assuring high availability, bringing benefits to organizations in financial, maintenance, preservation and space available for servers.

iii

iv

Agradecimentos

Este espao dedicado a todas as pessoas que deram a sua contribuio para que este trabalho fosse realizado. Gostaria de agradecer ao meu orientador, Prof. Dr. Joo Manuel Couto das Neves, pela forma como orientou o meu trabalho. Agradeo tambm o esforo desenvolvido na leitura e sugestes de reviso deste documento. Ao Engenheiro Miguel Ramalho pela sua disponibilidade, auxlio e orientao durante o desenvolvimento da dissertao. Aos meus amigos que, sempre que necessrio, deram a sua opinio, ajuda e principalmente motivao. minha namorada um agradecimento muito especial pela motivao, apoio e compreenso em alturas complicadas. minha famlia, especialmente aos meus pais e avs, pelo apoio durante todo o curso. Por ltimo, agradeo a todos aqueles que no foram mencionados, mas que de alguma forma tambm contriburam para a elaborao deste trabalho.

vi

ndice

Resumo ............................................................................................ i Abstract ...........................................................................................iii Agradecimentos ..................................................................................v ndice............................................................................................. vii Lista de Figuras ................................................................................. xi Lista de Tabelas ................................................................................ xv Acrnimos e Abreviaturas .................................................................. xvii Captulo 1 ........................................................................................ 1
Introduo .......................................................................................................1 1.1 1.2 1.3 1.4 - Enquadramento ......................................................................................1 - Motivao .............................................................................................2 - Objectivos .............................................................................................2 - Estrutura da dissertao ............................................................................3

Captulo 2 ........................................................................................ 4
Apresentao do problema ...................................................................................4 2.1 2.2 2.3 2.4 - Descrio do Problema..............................................................................4 - Histria da Virtualizao ...........................................................................5 - Virtualizao de Servidores ........................................................................5 - Cloud Computing (Computao em Nuvem) .................................................. 10 2.4.1 - Modelos de Implementao ............................................................... 11 2.4.1.a SaaS (Software as a Service) ...................................................... 11 2.4.1.b PaaS (Platform as a Service) ...................................................... 11 2.4.1.c IaaS (Infrastructure as a Service) ................................................ 11 2.5 - IPBrick ............................................................................................... 12 2.5.1 - IPBrick.I ...................................................................................... 12 2.5.2 - IPBrick.C ..................................................................................... 13 2.5.3 - IPBrick.GT ................................................................................... 13 2.6 - Concluso ........................................................................................... 14

Captulo 3 ....................................................................................... 15
Reviso de Conceitos e Tecnologias ...................................................................... 15

vii

3.1 - Ferramentas de Virtualizao ................................................................... 15 3.1.1 - KVM ........................................................................................... 15 3.1.2 - VMware ....................................................................................... 16 3.1.3 - Xen ............................................................................................ 16 3.1.4 - Hyper-V ...................................................................................... 16 3.1.5 - Anlise comparativa das ferramentas .................................................. 17 3.1.6 - XenServer vs. VMware vSphere .......................................................... 18 3.1.6.a Arquitectura do Sistema ........................................................... 18 3.1.6.b Instalao, configurao e administrao do sistema ........................ 19 3.1.6.c Sistemas operativos suportados pelos sistemas ................................ 20 3.1.6.d Integrao com unidades de armazenamento .................................. 20 3.1.6.e Disaster Recovery ................................................................... 20 3.1.6.f Alta Disponibilidade................................................................. 21 3.1.6.g Manuteno do Sistema ............................................................ 21 3.2 - Linguagens de Programao ..................................................................... 23 3.2.1 - PHP ........................................................................................... 23 3.2.2 - Javascript .................................................................................... 23 3.2.3 - HTML .......................................................................................... 23 3.3 - Protocolos ........................................................................................... 24 3.3.1 - XML-RPC ...................................................................................... 24 3.3.2 - iSCSI .......................................................................................... 24 3.3.2.a iSCSI Target .......................................................................... 24 3.3.2.b Logical Unit Number ................................................................ 24 3.3.2.c Endereo .............................................................................. 24 3.3.2.d Segurana ............................................................................. 25 3.3.3 - VNC ........................................................................................... 25 3.4 - PostgreSQL .......................................................................................... 25 3.5 - Plataformas existentes ........................................................................... 26 3.5.1 - XVP ............................................................................................ 26 3.5.2 - XenCenter ................................................................................... 28 3.6 - Concluso ........................................................................................... 29

Captulo 4 ....................................................................................... 30
Desenvolvimento da Plataforma .......................................................................... 30 4.1 - Metodologia utilizada ............................................................................. 30 4.2 - Requisitos do sistema ............................................................................. 31 4.2.1 - Casos de Uso ................................................................................ 31 4.2.1.a Identificao dos Casos de Uso ................................................... 32 4.2.1.b Descrio dos Casos de Uso ........................................................ 32 4.3 - Explorao da ferramenta XenServer .......................................................... 36 4.4 - Arquitectura da rede .............................................................................. 38 4.5 - Base de dados ...................................................................................... 38 4.6 - Problemas encontrados ........................................................................... 39 4.7 - Concluso ........................................................................................... 42

Captulo 5 ....................................................................................... 43
Resultados .................................................................................................... 43 5.1 - Cenrios de teste .................................................................................. 43 5.1.1 - Configuraes ............................................................................... 45 5.1.1.a Configurao dos Servidores XenServer ......................................... 45 5.1.1.b Configurao do Servidor IPBrick ................................................. 45 5.2 - Anlise dos Resultados ............................................................................ 46 5.2.1 - Adio do primeiro servidor .............................................................. 46 5.2.2 - Pools .......................................................................................... 48 5.2.3 - Hosts .......................................................................................... 50 5.2.4 - Mquinas Virtuais ........................................................................... 51 5.2.5 - Repositrio de dados ...................................................................... 53

viii

5.2.6 - Alta Disponibilidade ........................................................................ 54 5.3 - Compatibilidade.................................................................................... 54 5.4 - Resultados Obtidos ................................................................................ 56 5.5 - Concluso ........................................................................................... 57

Captulo 6 ....................................................................................... 58
Concluses .................................................................................................... 58 6.1 - Concluso ........................................................................................... 58 6.2 - Trabalho Futuro .................................................................................... 59

Anexo A .......................................................................................... 60 Referncias ..................................................................................... 70

ix

Lista de Figuras

Figura 2.1 - Hypervisor (VMM) do tipo Hosted .........................................................6 Figura 2.3 - Hypervisor (VMM) do tipo Bare-Metal ....................................................7 Figura 2.2 - Comunicao entre as mquinas virtuais e o Hardware com VMM Hosted ........7 Figura 2.4 - Comunicao entre as mquinas virtuais e o Hardware com VMM Bare-Metal....8 Figura 2.5 - Comunicao entre as mquinas virtuais e o Hardware com VMM Bare-Metal....8 Figura 2.6 - Virtualizao Completa ........................................................................9 Figura 2.7 - Paravirtualizao ...............................................................................9 Figura 2.8 Cloud Computing .............................................................................. 10 Figura 2.9 - Soluo IPBrick ................................................................................ 12 Figura 3.1 Traduo binria efectuada pelo VMware ESX .......................................... 18 Figura 3.2 Arquitectura do Hypervisor do XenServer ................................................ 19 Figura 3.3 - Mquina Virtual Linux num sistema Linux ................................................ 26 Figura 3.4 - Mquina Virtual Windows num MAC OS X ................................................. 27 Figura 3.5 - XVPWEB ......................................................................................... 27 Figura 3.6 - Acedendo s propriedades de uma mquina virtual no XVPWEB ..................... 28 Figura 3.7 - XenCenter ...................................................................................... 29 Figura 4.1 Caso de Uso Adicionar Host ................................................................. 33 Figura 4.2 Caso de Uso Criar Mquina Virtual ......................................................... 34 Figura 4.3 Caso de Uso Criar Repositrio de dados .................................................. 35 Figura 4.4 Caso de Uso Activar Alta Disponibilidade ................................................. 35 Figura 4.5 Resultado da funo de teste .............................................................. 37 Figura 4.6 Arquitectura da rede ......................................................................... 38

xi

Figura 4.7 Esquema da base de dados ................................................................. 39 Figura 4.8 Famlia do Processador ...................................................................... 41 Figura 4.9 Activao da flag de Paravirtualizao ................................................... 41 Figura 5.1 Cenrio Inicial ................................................................................. 44 Figura 5.2 - Primeiro Cenrio .............................................................................. 44 Figura 5.3 - Segundo Cenrio .............................................................................. 45 Figura 5.4 Adio do primeiro servidor ................................................................ 46 Figura 5.5 - Pools ............................................................................................ 48 Figura 5.6 - Hosts ............................................................................................ 50 Figura 5.7 - Mquinas Virtuais ............................................................................. 51 Figura 5.8 - Repositrio de dados ......................................................................... 53 Figura 5.9 - Plataforma no browser Firefox ............................................................. 54 Figura 5.11 - Plataforma no browser Google Chrome ................................................. 55 Figura 5.10 - Plataforma no browser Internet Explorer ............................................... 55 Figura 5.12 - Plataforma no browser Safari ............................................................. 56

Anexo A 1 Login ............................................................................................ 60 Anexo A 2 - Menu Inicial (Sem servidores adicionados) ............................................... 60 Anexo A 3 Formulrio Adicionar Servidor .............................................................. 61 Anexo A 4 Configuraes ................................................................................. 61 Anexo A 5 Pools (Com um Host em cada Pool) ....................................................... 62 Anexo A 6 - Formulrio Editar Pools ...................................................................... 62 Anexo A 7 Pool (Alta Disponibilidade desactivada) .................................................. 62 Anexo A 8 Pool (Alta Disponibilidade activada) ...................................................... 63 Anexo A 9 Hosts ............................................................................................ 63 Anexo A 10 - Informaes sobre o Host (Master e nico na Pool) ................................... 63 Anexo A 11 Informaes sobre o Host (Slave)......................................................... 64 Anexo A 12 - Formulrio de Editar Host ................................................................. 64 Anexo A 13 Mquinas Virtuais ............................................................................ 64 Anexo A 14 Formulrio de Criar Mquina Virtual (Seleccionar Pool) ............................. 65

xii

Anexo A 15 Formulrio de Criar Mquina Virtual (Especificar Parmetros) ..................... 65 Anexo A 16 - Criar Mquina Virtual (Instalao) ........................................................ 65 Anexo A 17 - Informaes sobre a Mquina Virtual .................................................... 66 Anexo A 18 Formulrio de Adicionar uma Interface de Rede Virtual ............................. 66 Anexo A 19 Formulrio de Adicionar um Disco Virtual .............................................. 66 Anexo A 20 Formulrio de Editar Mquina Virtual ................................................... 66 Anexo A 21 Repositrios de dados ...................................................................... 67 Anexo A 22 Formulrio de Adicionar Repositrio de Dados (Especificar parmetros) ......... 67 Anexo A 23 Formulrio de Adicionar Repositrio de Dados (Escolha do IQN) ................... 67 Anexo A 24 Formulrio de Adicionar Repositrio de Dados (Escolha da LUN) ................... 68 Anexo A 25 - Informaes sobre o Repositrio de Dados ............................................. 68 Anexo A 26 - Alta Disponibilidade (Desactivada) ....................................................... 68 Anexo A 27 - Alta Disponibilidade (Activada) ........................................................... 69

xiii

xiv

Lista de Tabelas

Tabela 3.1- Comparao das Plataformas ............................................................... 17 Tabela 3.2 Comparao das funcionalidades oferecidas pelo XenServer e pelo VMware vSphere ................................................................................................. 22 Tabela 3.3- Comparao dos custos associados ao XenServer e ao VMware vSphere ............ 22 Tabela 4.1 Casos de Uso .................................................................................. 32 Tabela 4.2 Templates disponibilizados pelo XenServer ............................................. 40 Tabela 5.1 Requisitos XenServer ........................................................................ 45

xv

xvi

Acrnimos e Abreviaturas

AIX AMD API AT&T BIT BSD CD-ROM CHAP CPU CRM CSS DHCP DNS E/S ERP EUI GHz HDD HP HP-UX HTML HTTP HVM I&D IA IaaS IBM IDS Intel

Advanced Interactive Executive Advanced Micro Devices Application Programming Interface American Telephone and Telegraph Binary digit Berkeley Software Distribution Compact Disc Read-Only Memory Challenge-Handshake Authentication Protocol Central Processing Unit Customer Relationship Management Cascading Style Sheet Dynamic Host Configuration Protocol Domain Name System Entrada/Sada Enterprise Resources Management Extended Unique Identifier GigaHertz Hard Disk Drive Hewlett-Packard Hewlett-Packard UNIX Hyper Text Markup Language HyperText Transfer Protocol Hardware Virtualization Mode Investigao e Desenvolvimento Intel Architecture Infrastructure as a Service International Business Machines Intrusion Detection System Integrated Electronics

xvii

Intel-VT IP IPBrick.C IPBrick.I

Intel - Virtualization Technology Internet Protocol IPBrick.Comunicaes IPBrick.Intranet

IPBrick.GT IPBrick.Gateway Telefnica IPBrick.KAV IPBrick.Kaspersky Anti-Virus IPBrick.SOHO IPBrick.Small office Home Office IQN iSCSI KVM LAN LUN MAC MAC OS X MB Mbit MHz NAS NASA NFS NIC PaaS PBX PC PCI PHP PV RAM SaaS SAN SDK Sms SP SSH SSL TI TV UcoIP USB VHD iSCSI Qualified Name Internet Small Computer System Interface Kernel-based Virtual Machine Local Area Network Logical Unit Number Macintosh MAC Operating System Unix Megabyte Megabit MegaHerzt Network-Attached Storage Network Address Authority Network File System Network Interface Card Platform as a Service Private Branch Exchange Personal Computer Peripheral Component Interconnect Hypertext Preprocessor Paravirtualizado Random-Access Memory Software as a Service Storage Area Network Software Development Kit Short Message Service Service Pack Secure Shell Secure Sockets Layer Tecnologia da Informao Television Unified Comunications Over IP Universal Serial Bus Virtual Hard Disk

xviii

VMFS VMI VMM VNC VPN WAN XHTML XML-RPC

Virtual Machine File System Virtual Machine Interface Virtual Machine Monitor Virtual Network Computing Virtual Private Network Wide Area Network Extensible Hypertext Markup Language Extensible Markup Language - Remote Procedure Call

xix

xx

Captulo 1 Introduo
Neste Captulo introdutrio, abordar-se- o enquadramento desta tese, no que toca ao tema e ao contexto da mesma, a motivao bem como apresentar-se- os objectivos e a estrutura do documento.

1.1 - Enquadramento
No mbito do projecto final do Mestrado Integrado de Engenharia Electrotcnica e de computadores no ramo de Telecomunicaes e com especializao em Redes e servios de comunicaes, foi desenvolvida esta tese, de forma a documentar o trabalho desenvolvido ao longo deste ltimo ano do curso. Esta tese tem como tema IPBrick Cloud Environment por um lado devido ao facto de se basear nas tecnologias de virtualizao para a concretizao do conceito que emergiu recentemente, o Cloud Computing, e por outro lado por ser um trabalho que ir ser embebido na tecnologia desenvolvida pela empresa, onde foi feito o estgio do ltimo semestre, a IPBrick, que consiste num sistema operativo para servidores. Esta dissertao encontra-se inserida num dos projectos da empresa iPortalMais Servios de Internet e Redes Lda. O tema consiste em desenvolver uma plataforma Web para simplificar a instalao, gesto e recuperao de um sistema Private Cloud Computing para servidores IPBrick que poder ser composta por vrios servidores fsicos. A ferramenta projectada dever ser capaz de, atravs de um ambiente grfico simples, criar vrias mquinas virtuais, com os parmetros pretendidos (memria, nmero de processadores, tamanho do disco rgido e com a imagem .iso) em qualquer servidor fsico disponvel e permitir a gesto da poltica de falhas, ou seja, definir as operaes a efectuar em caso de falha, como qual ou quais servidor(es) para que a(s) mquina(s) devero migrar, caso o servidor onde se encontram falhe. neste contexto, dentro da rea de I&D da iPortalMais, que nasceu o tema desta dissertao, que consiste no desenvolvimento de uma ferramenta que permita simplificar a criao, instalao, gesto e recuperao de ambientes de suporte ao "Private Cloud Computing" essencialmente para servidores IPBrick.

Motivao

Hoje em dia com o projecto IPBrick est banalizada a instalao de servidores de Intranet e Comunicaes. Desta forma, este projecto tem o objectivo de explorar o mesmo tipo de simplificao para uma plataforma de Private Cloud Computing. Como resultado desta dissertao pretende-se chegar concepo de uma plataforma de Private Cloud Computing que possa ser manejada atravs de um interface de gesto tradicional a partir de um portal Web, onde seja possvel gerir vrias IPBrciks virtuais. Sendo a meta final desta dissertao dentro da iPortalmais, reduzir o know how necessrio para montar este tipo de subsistemas.

1.2 - Motivao
Hoje em dia, vivemos numa sociedade em constante evoluo tecnolgica juntamente com o aumento da produo e partilha de informao. Com vista a permitir a preservao e a partilha dessa mesma informao, as empresas recorrem tecnologia como equipamentos de suporte. Os recursos fsicos que as empresas adquirem para solucionar os seus problemas significam grandes custos tanto a nvel de investimento, como de manuteno e preservao, e muitas das vezes as empresas deixam de ter capacidade, no que toca infra-estrutura, para alocar um nmero elevado de equipamentos. Devido a esta realidade, surge a necessidade de encontrar um recurso virtual que substitua os equipamentos fsicos. Daqui nasce o sistema de Cloud Computing que funciona como uma forma de partilha de informao num suporte virtual. A motivao por esta tese, nasce da possibilidade de poder aprofundar os conhecimentos nas tecnologias de virtualizao e conciliar o desenvolvimento da mesma num estgio, numa empresa Portuguesa que desenvolve tecnologia de ponta para as necessidades das empresas.

1.3 - Objectivos
Os objectivos que esto na base do desenvolvimento deste trabalho so a criao de uma plataforma Web simples e intuitiva que permita a adio e a gesto de servidores e mquinas virtuais, A interface deve ser projectada de maneira a que, aps a instalao do servidor, permita todo o tipo de operaes no mesmo como a juno deste a uma rede de servidores, definir se o servidor master ou slave nessa rede, permitir a criao de mquinas virtuais no servidor ou nos restantes servidores da rede e acima de tudo colocar a informao de uma forma intuitiva para que se possa definir e garantir a alta disponibilidade na rede, ou seja, em caso de falha de algum servidor fsico, as mquinas que se encontram no mesmo devem migrar para os restantes servidores presentes na rede, mantendo a informao e as definies da(s) mquina(s) virtual(ais). A recuperao das mquinas virtuais da Private Cloud um dos objectivos mais importantes, pois no caso de o servidor fsico falhar, as mquinas devero ser transferidas para um ou mais servidores fsicos e devem ser preservadas todas as caractersticas e funcionalidades, para que as mquinas virtuais continuem a funcionar da mesma maneira, mas localizadas noutra mquina fsica. A plataforma de virtualizao dever funcionar como um Sistema Operativo, de tal forma que esta ser primeiramente instalada e a partir da mesma sero criadas as mquinas virtuais. A plataforma deve ser completa no que toca 2

Estrutura da dissertao

mobilidade, ter de ser capaz de importar, exportar e clonar mquinas virtuais com as respectivas configuraes, permitir um sistema escalvel e dever garantir Alta Disponibilidade das mquinas virtuais. As imagens com a extenso iso e os ficheiros que contm as mquinas virtuais devem encontrar-se num dispositivo externo (storage) sempre disponvel.

1.4 - Estrutura da dissertao


Esta tese est estruturada em seis captulos, o captulo 1 introduo que j foi apresentado abordando o enquadramento do trabalho a desenvolver bem como a apresentao da empresa que props o tema desta tese e que disponibilizou a oportunidade de estgio. No Captulo 2 Descrio terica do problema sero aprofundados os conceitos apresentados na introduo, a descrio do problema, a identificao das necessidades e a soluo proposta. No Captulo 3 Reviso de Conceitos e Tecnologias sero apresentadas as tecnologias passveis de serem utilizadas, a abordagem s tecnologias de virtualizao, ao Cloud Computing e o estudo de ferramentas que podero ser utilizadas no mbito do projecto. O Captulo 4 Desenvolvimento da plataforma Apresentar-se- a metodologia utilizada, os requisitos do sistema, o trabalho realizado, os problemas que foram surgindo bem como os detalhes da implementao da soluo projectada. Os Resultados sero abordados no Captulo 5, onde sero analisados e discutidos os resultados obtidos, verificando se estes foram de encontro com os requisitos estabelecidos. Por ltimo o Captulo 5 Concluses Ser feita uma anlise de todo o trabalho realizado, dos resultados obtidos bem como ser feita uma referncia ao trabalho que ficar para futuro.

Captulo 2 Apresentao do problema


Este Captulo destina-se formulao e definio terica do problema que esteve na origem desta tese. Ser abordada a descrio do Problema, bem como os meios e conceitos que iro ser utilizados, virtualizao e Cloud Computing.

2.1 - Descrio do Problema


O sector das tecnologias aquele que sofre mais mudanas e evoluo em curtos espaos de tempo. As necessidades comeam a emergir cada vez mais diversificadas fazendo com que as tecnologias tenham de abranger mais reas. no seio empresarial que essas necessidades comeam a surgir mais, fazendo com que as empresas que desenvolvem solues, tenham que acompanhar o ritmo de evoluo e mais do que isso, estar sempre um passo frente na inovao para que as suas solues no fiquem obsoletas. Desta forma, a iPortalMais, como empresa que desenvolve solues para as necessidades empresariais, caracterizada por ter uma forte rea de Investigao e Desenvolvimento mesmo para poder acompanhar a evoluo e a inovao da rea. Face aos problemas que tm vindo a surgir relacionados com a gesto de servidores fsicos, tais como, o investimento em hardware, manuteno e reparao, problemas relacionados ainda, com o espao disponibilizado para a alocao dos recursos fsicos, nasce um novo conceito o Cloud Computing. A iPortalMais decidiu integrar este conceito dentro do leque das solues que desenvolve e que disponibliza s empresas. O Cloud Computing permite s organizaes responder a algumas das suas necessidades relacionadas com a gesto dos servidores fsicos, das ferramentas disponibilizadas na rede bem como com questes relacionadas com a alta disponibilidade dos servios. A tese IPBrick Cloud Environment, consiste na criao de uma soluo conjugando as tecnologias de virtualizao e o Cloud Computing para responder a essas mesmas necessidades. Para isso, ser necessrio criar uma plataforma que permita gerir, atravs da Web, todos esses servidores fsicos e virtuais, a alta disponibilidade dos mesmos e em conjunto com as tecnologias IPBrick gerir tambm as ferramentas, aplicaes e servios disponibilizados.

Histria da Virtualizao

Para isto, recorrer-se- s tecnologias de virtualizao para concretizar o conceito de Cloud Computing.

2.2 - Histria da Virtualizao


Apesar de no se tratar de um conceito novo, a virtualizao encontra-se em destaque na actualidade. A ideia surgiu no incio dos anos 60, quando cada computador (mainframe) no suportava multitarefa, logo s poderia executar um programa de cada vez. Na altura, os softwares existentes no eram constitudos apenas pela aplicao mas sim tambm pelo Sistema Operativo completo, onde esta aplicao era executada [1]. A IBM (International Business Machines)foi a primeira a implementar, no CP-40, o primeiro Sistema Operativo com o conceito de virtualizao completa, onde era possvel emular at catorze pseudo mquinas simultaneamente, estas que mais tarde foram intituladas de mquinas virtuais [2]. Ao longo dos anos o interesse na virtualizao comeou a descer devido ao aparecimento de aplicaes do tipo cliente/servidor. Outra causa para o decrscimo do interesse, foi a ascenso da plataforma x86, devido ao alto custo associado a um mainframe [3]. A grande adeso ao Windows e com a origem do Linux, a indstria foi forada a adoptar esta plataforma para servidores e estaes de trabalho, originando novos desafios [2]. Desafios como o aumento do custo devido infra-estrutura fsica necessria, pois estes servidores tm de ser mantidos num local seguro e com as caractersticas necessrias para o seu bom funcionamento. Ocorreu tambm um aumento dos custos devido ao alto consumo de energia, porque os servidores devem-se encontrar sempre operacionais. Outro dos desafios o aumento da complexidade das redes de computadores, aumenta o custo envolvido com a gesto da mesma, pois so necessrios trabalhadores qualificados para efectuar este tipo de gesto. E por fim, o alto custo envolvido na manuteno de desktops, pois preciso gerir os acessos e as polticas de segurana dos mesmos na rede. Estes devero se encontrar sempre actualizados para no comprometer a segurana dos mesmos, o que eleva tambm os custos da sua manuteno [2]. Para combater estes desafios, a partir dos anos 90 voltou a surgir o interesse na virtualizao, mas ao contrrio dos mainframes, este tipo de arquitectura no se encontrava preparada para suportar virtualizao completa. Passados alguns anos, superando vrios obstculos, a VMware no ano de 1999 lanou o seu primeiro produto para a virtualizao em x86 chamado Vmware Virtual Platform. Mais recentemente, em 2005, a Intel (Integrated Electronics) e a AMD (Advanced Micro Devices) lanaram processadores que permitem a virtualizao assistida por hardware, o Intel VT (Intel - Virtualization Technology) e o AMD-V respectivamente [2].

2.3 - Virtualizao de Servidores


A virtualizao a tecnologia que permite correr mais de um Sistema Operativo, simultaneamente, numa nica mquina. A virtualizao traz muitos benefcios, tais como a reduo de custos com hardware e espao fsico, permitindo assim executar vrios sistemas operativos numa nica mquina, sem 5

Virtualizao de Servidores

ter de investir em mquinas para utilizar os diferentes sistemas, o que reduz drasticamente os custos com hardware e reduz o espao fsico necessrio para suportar o sistema pretendido. A confiana e disponibilidade so outros dos benefcios que a virtualizao apresenta, ou seja, mesmo que um software falhe os outros servios no so prejudicados. A possibilidade de poder dar um melhor uso aos recursos da mquina, mais uma das vantagens da virtualizao, isto , alocar apenas os recursos necessrios a cada Sistema Operativo, como CPU (Central Processing Unit), HDD (Hard Disk Drive), RAM (Random-Access Memory),desta forma conseguida a melhoria da segurana do sistema, fazendo com que os Sistemas Operativos possam ser isolados numa mquina virtualizada, resultando na criao de mquinas mais seguras. Esta vantagem reduz a necessidade de ter vrias mquinas fsicas a funcionar em diferentes nveis de segurana [4]. Por outro lado, a virtualizao tambm tem contras, ou seja, tambm existem desvantagens associadas a esta soluo. A nvel da segurana como qualquer outro software, o VMM (Virtual Machine Monitor)tambm se encontra sujeito a vulnerabilidades, j que este tambm se trata de um software, logo em certas situaes as mquinas virtuais tornam-se menos seguras que as mquinas fsicas. Isto aplica-se, porque se o sistema operativo, onde as mquinas virtuais se encontram hospedadas, apresentar algum tipo de vulnerabilidade, estas tambm se encontram vulnerveis. No que toca Gesto, todos os ambientes virtuais necessitam de ser geridos, pois todos precisam de ser monitorizados e configurados. Relativamente ao desempenho, a introduo de uma camada de software, o hypervisor, leva a um processamento superior ao que teramos sem a virtualizao [4]. Para virtualizar uma mquina, um dos principais componentes o VMM, tambm conhecido por hypervisor, que permite executar vrios sistemas operativos em simultneo numa mquina fsica. Existem dois tipos de hypervisors, o Hosted ou Tipo 2 e o Bare-Metal ou Tipo 1. Na arquitectura Hosted o VMM instalado sobre um Sistema Operativo, como se pode verificar na Figura 2.1.

Figura 2.1 - Hypervisor (VMM) do tipo Hosted

Cada mquina virtual tem acesso a um nmero limitado de dispositivos E/S (Entrada/Sada). O VMM fornece uma viso virtual do hardware real para cada mquina virtual, pois o VMM no tem conhecimento da maioria dos dispositivos de E/S, como placas PCI (Peripheral Component Interconnect)de aquisio de dados, logo no apresenta estes dispositivos, apresentando apenas dispositivos genricos como placas de rede e CD-ROM 6

Virtualizao de Servidores

(Compact

Disc

Read-Only

Memory).

Muitas

solues

de

virtualizao

suportam

funcionalidade do reconhecimento da porta USB (Universal Serial Bus), permitindo aos utilizadores o acesso aos dispositivos ligados a essa porta, a partir de mquinas virtuais diferentes [5].

Figura 2.2 - Comunicao entre as mquinas virtuais e o Hardware com VMM Hosted

O software VMM composto por diferentes componentes que fazem a comunicao entre a mquina virtual e os pedidos de E/S atravs do sistema operativo, como est exemplificado na Figura 2.2. Uma das vantagens desta arquitectura a facilidade de instalao e configurao. Na arquitectura Bare-Metal o VMM ou hypervisor instalado para permitir a comunicao directa com o hardware, no confiando esta a um sistema operativo. Que se encontra apresentado na Figura 2.3.

Figura 2.3 - Hypervisor (VMM) do tipo Bare-Metal

Virtualizao de Servidores

Este tipo de arquitectura fornece um grande nmero de opes para o acesso s funes de E/S atravs das mquinas virtuais. Como no se baseia num sistema operativo do Host, um hypervisor, usando esta arquitectura, pode comunicar directamente com dispositivos de E/S.O sistema de dispositivos de E/S que compartilhado pelas mquinas virtuais na arquitectura Bare-Metal, deve ser acedido atravs de um Kernel que faz parte do hypervisor, onde podemos ver na Figura 2.4.

Figura 2.4 - Comunicao entre as mquinas virtuais e o Hardware com VMM Bare-Metal

Outra forma utilizada por esta arquitectura, atribuir dispositivos individuais a mquinas virtuais especficas, o que proporciona o acesso directo dessas mquinas aos dispositivos de E/S atribudos, que se encontra exemplificado na Figura 2.5. Este processo tem o nome de particionamento e pode melhorar muito o desempenho no que toca ao acesso aos dispositivos de E/S [5].

Figura 2.5 - Comunicao entre as mquinas virtuais e o Hardware com VMM Bare-Metal

Este tipo de arquitectura apresenta a grande vantagem de melhorar o acesso aos dispositivos E/S atravs do particionamento, mas estes hypervisors so mais difceis de instalar e de configurar do que os hypervisors hosted [5].

Virtualizao de Servidores

Existem vrios tipos de virtualizao, virtualizao completa, paravirtualizao ou virtualizao assistida pelo hardware [6]. Na virtualizao completa, o sistema operativo da mquina virtual no sabe que est a ser executado num ambiente virtual, logo o hypervisor emula todo o hardware para as mquinas virtuais, necessitando estas apenas dos devices drivers para os dispositivos emulados, como se encontra representado na Figura 2.6. A grande vantagem deste tipo de virtualizao ser compatvel com todos os sistemas operativos que podem ser executados no hardware emulado, sem que seja necessrio efectuar qualquer alterao. Como o sistema operativo no tem conhecimento que se encontra a ser executado como uma mquina virtual, todas as instrues executadas nesse sistema devem ser analisadas pelo VMM e s depois so executadas no hardware, para que se possa evitar operaes dehardware que prejudicam outras mquinas virtuais ou mesmo a mquina fsica [7] [8].

Figura 2.6 - Virtualizao Completa

Na paravirtualizao o VMM interage com o sistema operativo de uma maneira mais eficiente, mas neste caso o sistema operativo necessita de sofrer modificaes para ser compatvel, pois caso contrrio, seria necessrio recorrer emulao o que iria penalizar o desempenho. Neste caso (Figura 2.7), como o sistema operativo modificado de maneira a chamar o VMM sempre que executa uma determinada instruo que possa modificar o estado do sistema, o VMM no tem necessidade de testar todas as instrues, o que aumenta o desempenho do mesmo [4] [9].

Figura 2.7 - Paravirtualizao

Cloud Computing (Computao em Nuvem)

Existe tambm a virtualizao assistida pelo hardware, onde os processadores j possuem tecnologias que facilitam o trabalho do hypervisor, pois o prprio hardware j possui suporte para a execuo das mquinas virtuais em modo isolado, dispensando assim algumas operaes necessrias nos outros tipos de virtualizao. Exemplos destes processadores so o Intel-VT e o AMD-V [8] [4].

2.4 - Cloud Computing (Computao em Nuvem)


O termo Cloud surge devido utilizao da imagem de uma nuvem para representar redes, como a internet. Hoje em dia, o termo Cloud j no utilizado para representar um grande conjunto de ligaes, routers, switchs e servidores, mas sim para representar servios [10].

Figura 2.8 Cloud Computing

"The cloud is a virtualization of resources that maintains and manages itself - Kevin Hartig, Sun Microsystems [11]. Cloud Computing baseia-se na ideia de poder usar variadas ferramentas atravs da internet, evitando assim a instalao destas no nosso computador, logo o software deixa de estar presente nas mquinas locais e passa a estar em servidores localizados remotamente. O acesso a estes recursos poder ser feito em qualquer lugar e em qualquer plataforma. A ideia de ter tudo instalado e armazenado no nosso computador torna-se diferente num ambiente corporativo, pois mais fcil o uso de aplicaes disponveis em servidores remotos e que possam ser utilizadas por qualquer terminal com permisses para tal [12]. Um dos grandes problemas para as organizaes o alto custo com TI (Tecnologia da Informao). As organizaes gastam hoje em dia 80% do tempo com a manuteno de sistemas de TI e no esse o seu objectivo de negcio manter dados e aplicaes, perdendo assim muito dinheiro nesse percurso, o que inaceitvel nos dias de hoje - Clifton Ashley [13], director do Google para a Amrica Latina. A evoluo das tecnologias, no mbito da computao e da comunicao, fornece as condies perfeitas para a utilizao do Cloud Computing, pois, hoje em dia, possvel obter uma ligao rpida internet com um baixo custo associado.

10

Cloud Computing (Computao em Nuvem)

O Cloud Computing vem assim trazer um leque alargado de vantagens, tais como a possibilidade, grande parte das vezes, de utilizar os recursos offline, ou seja, no necessria a ligao internet nem rede, tornando-se os dados criados restritos a essa mquina utilizada, sendo possvel mais tarde a partilha pela rede. Disponibiliza ainda a possibilidade do utilizador deste sistema s necessitar de saber como aceder e como o utilizar, pois todas as tarefas relacionadas com desenvolvimento, armazenamento, manuteno, actualizao, backup e escalonamento ficam ao encargo do fornecedor do servio. Estas vantagens proporcionam a reduo dos custos para o utilizador, pois o controlo total das aplicaes tem um preo. O software tem de estar instalado, configurado e depois actualizado com os ltimos lanamentos para se usufruir ao mximo dele. Permite tambm o utilizador ter acesso a variadas aplicaes independentemente do seu sistema operativo ou hardware disponvel. Outra das caractersticas benficas a grande flexibilidade, pois no caso de ser preciso mais capacidade de processamento, basta efectuar um upgrade, sem ser necessrio a troca de componentes ou at equipamentos inteiros para isso. O uso deste conceito mais vivel do que o uso de mquinas fsicas, pois se um servidor parar de funcionar, outros servidores pertencentes estrutura do servio continuaro a fornecer o servio [14]. Contudo, o Cloud Computing tambm traz desvantagens. Desvantagens essas que se prendem com aspectos como a segurana, a confiabilidade e a disponibilidade de servios, pois como se trata de internet, existem riscos como atrasos e falhas no sistema [15].

2.4.1 - Modelos de Implementao 2.4.1.a - SaaS (Software as a Service)


Paralelamente ao Cloud Computing existe um conceito relacionado com o mesmo, conceito este que se designa por Software as a Service (Software como Servio). Trata-se de um sistema onde o software oferecido como um servio. No modelo de software, vende-se um produto e a receita proveniente, ou da sua venda, ou da sua concepo, enquanto no modelo de servios, a soluo desenvolvida sem qualquer custo para o cliente e depois disponibilizada na internet para que vrios clientes possam utilizar esse servio, obtendo lucro atravs da taxao ao cliente de um certo valor dependendo da quantidade de tempo ou quantidade de utilizao do servio [16].

2.4.1.b - PaaS (Platform as a Service)


Este sistema facilita a implementao de aplicaes sem o custo e a complexidade de gerir o hardware associado, fornecendo todas as facilidades necessrias para suportar o desenvolvimento, o suporte e a entrega de aplicaes Web e servios disponveis na internet, sem a necessidade de efectuar downloads ou instalaes do software [16].

2.4.1.c - IaaS (Infrastructure as a Service)


Este sistema fornece uma infra-estrutura informtica, geralmente atravs de virtualizao, como um servio [16].

11

IPBrick

2.5 - IPBrick
A iPortalMais desenvolveu a IPBrick (Sistema Operativo de Rede, Network Operating Systems) que tem como concorrente as solues para servidores da Microsoft, e que portanto tem um potencial enorme, e um mercado escala mundial. Em simultneo e no mbito da comercializao da IPBrick, fornece ainda servios de suporte, consultadoria, instalao e configurao. Esta iniciativa deve-se em tudo capacidade criativa e intelectual dos colaboradores que todos os dias pensam e desenvolvem a IPBrick. A IPBrick nasceu do desenvolvimento de um conjunto de sistemas operativos e aplicaes, num produto integrado, com uma instalao simplificada, facilidade de configurao e um sistema de recuperao rpido em caso de desastre. Esta Tecnologia surge, face s crticas feitas por parte da Microsoft ao Linux, fundamentando-se na instalao lenta, na dificuldade de configurao e de recuperao em caso de desastre. Desta forme surge a IPBrick como um sistema operativo de instalao automtica, configurvel atravs de uma interface Web orientada para uma lgica funcional do sistema e o disaster recovery atravs de uma Pen Drive onde so guardadas as configuraes e em caso de desastre permite recuperar o sistema em 15 minutos, como mostra a Figura 2.9.

Figura 2.9 - Soluo IPBrick

A IPBrick um sistema operativo para servidores que abrange trs grandes reas, a intranet, as comunicaes e a segurana.

2.5.1 - IPBrick.I
A soluo de Intranet, designa-se por IPBrick.I (IPBrick.Intranet) que poder funcionar como: servidor de email, de ficheiros, de domnio, de impressoras e de backup. Disponibiliza ainda ferramentas colaborativas de groupware como o email, agenda/calendrio e livro de contactos que integram com o cliente de email (outlook e mozilla thunderbird). Estas ferramentas encontram-se acessveis atravs de um browser comum por serem aplicaes Web-based e podero ser acedidas atravs de um PC como de um dispositivo mvel. A IPBrick.I pode ser usada como suporte a aplicaes de negcio, como o CRM (Customer Relationship Management) sugarCRM, o ERP(Enterprise Resources Management) - Gestix - e o Sistema de Gesto Documental iPortalDoc que igualmente desenvolvido pela iPortalMais. Existem outras aplicaes que podem ser instaladas na IPBrick, tais como o Moodle aplicao 12

IPBrick

para a educao, o Zoneminder aplicao de videovigilncia e o Nagios aplicao de monitorizao.

2.5.2 - IPBrick.C
A IPBrick.C (IPBrick.Comunicaes) a nvel das comunicaes pode funcionar como um servidor VPN, Web, mail relay e webmail. No que toca segurana permite fazer de firewall, IDS (Intrusion Detection System), proxy, e tem ainda Anti-vrus e Anti-spam pr-instalados.

2.5.3 - IPBrick.GT
A IPBrick.GT (IPBrick.Gateway Telefnica) um servidor de Comunicaes Unificadas por IP, que integra voz, vdeo, fax, mail, Web e Istant Messaging que pode funcionar como PBX (Private Branch Exchange) IP ou ento como Media Gateway da central existente. Esta soluo permite ainda a gravao de comunicaes para a Gesto Documental iPortalDoc e tambm dinamizar os registos automticos das comunicaes no SugarCRM. Esta soluo fez com que surgisse o conceito inovador criado pela iPortalMais UcoIP Unified Comunications over IP que faz com que o utilizador seja o centro das comunicaes, pois o utilizador atravs do seu endereo de email tem acesso sua pgina Web pessoal, pode realizar Instant Messaging e aceder ao email. Com IPBrick.GT as empresas podero transformar a sua pgina Web, numa pgina interactiva colocando l um Webphone e um Webchat, podero integrar esta soluo com as aplicaes da LAN (SugarCRM e iPortalDoc) como foi acima referido e por fim os utilizadores iro usar o seu endereo de email para todas as formas de comunicao. Utilizando o email os utilizadores podem ler e enviar emails, enviar mensagens (mail to sms), ler e enviar faxes (fax to mail e mail to fax) e ainda ouvir mensagens de voice-mail. A iPortalMais disponibiliza ainda outras solues dedicadas utilizando a tecnologia IPBrick, como a IPBrick.SOHO (Small Office Home Office) Soluo para pequenas e Mdias empresas que integra todas as funcionalidades que foram descritas acima. A IPBrick.KAV (IPBrick.Kaspersky Anti-Virus) Que consiste numa soluo de segurana na rede para os acessos Web, para a rede, intranet e correio electrnico com o Anti-vrus kaspersky instalado. A IPBrick.LIVE Soluo para corporate TVs (Television), permite gerir painis informativos em zonas pblicas bem como playlists de filmes, notcias, publicidade e metereologia; IPBrick.H Hotspot Controler que consiste numa soluo para gerir hotspots em zonas pblicas, permite a configurao de tarifas a cobrar pelo acesso, pginas consultadas e cartes personalizados e a IPBrick. SCHOOL um servidor escolar, que fornece um desktop multi-sesso baseado num conjunto de terminais ligeiros a um servidor IPBrick. Esta tecnologia em alguns casos apenas est disponvel em Appliance soluo completa, mas a IPBrick.I e IPBrick.C poder ser instalada em hardwares como Intel, DELL, ASUS, Compaq, HP (Hewlett-Packard), Tsunami, IBM, Fugitsu Siemens entre outros [17].

13

Concluso

2.6 - Concluso
De acordo com o que foi apresentado neste Captulo, ser colocado em prtica o conceito de Cloud Computing atravs da virtualizao de servidores, para concretizar o objectivo desta tese, que consiste na criao de uma Plataforma de gesto de servidores fsicos e virtuais. Como foi verificado no ponto Virtualizao de servidores, existem dois tipos de hypervisor, Bare-Metal e Hosted. O tipo de hypervisor escolhido para ser utilizado foi o Bare-Metal. A plataforma ir servir para criar e gerir os servidores fsicos e mquinas virtuais. Dever ser capaz de gerir vrias Pools de servidores, ou seja, definir pequenas redes com conjuntos independentes de servidores, definir a alta disponibilidade dessa Pool e ainda criar repositrios para as mesmas. Nestes repositrios devero constar todos os dados das mquinas virtuais para efeitos de alta disponibilidade, ou seja, caso uma mquina falhe, se o contedo dessa mquina se encontrasse no servidor, toda a informao da mesma iria perder-se, assim se estiver num repositrio, esta mquina poder ser recuperada em caso de falha. Deve possibilitar a alterao dos estados das mquinas, realizando aces como iniciar, reiniciar, desligar e migrar as mquinas virtuais. A alterao dos estados tambm se dever aplicar aos Hosts, efectuando aces como reiniciar e desligar permitindo tambm configurar as definies de rede do servidor.

14

Captulo 3 Reviso de Conceitos e Tecnologias


Neste captulo Reviso de Conceitos e Tecnologias, definir-se- e abordar-se- as tecnologias que sero referidas e utilizadas ao longo deste projecto. Este captulo remete-se assim para a fase de pesquisa, estudo e anlise das plataformas e ferramentas existentes de forma a determinar quais sero utilizadas no mbito desta tese. onde ser definida a forma como se ir desenvolver a plataforma de gesto, passando pelos meios utilizados (ferramentas de virtualizao) e ferramentas complementares (linguagens de programao). Sero abordadas as plataformas existentes de referncia.

3.1 - Ferramentas de Virtualizao


3.1.1 - KVM
KVM (Kernel-based Virtual Machine) trata-se de uma infra-estrutura de virtualizao do kernel Linux. Este suporta virtualizao total usando processadores como o Intel VT ou o AMDV [13]. Desta forma verifica-se que o KVM necessita de processadores com instrues especiais para o seu funcionamento. Trata-se de uma soluo completa baseada em Qemu. A diferena entre o Qemu e o KVM, que o Qemu um emulador e o KVM oferece virtualizao usando os recursos de virtualizao disponveis nos processadores, enquanto o Qemu emula vrios tipos de CPU. O KVM uma framework de virtualizao livre que se encontra disponvel no kernel Linux desde a verso 2.6.20. Ao contrrio de outras tecnologias de virtualizao, possvel executar Windows e outros sistemas operativos sem haver necessidade de uma modificao especfica. A mquina virtual tratada como um processo Linux, desta forma possvel utilizar comandos de gesto de processos, tais como ps, kill entre outros de forma a poder controlar a mquina virtual [18] [19].

15

Ferramentas de Virtualizao

3.1.2 - VMware
O VMware desenvolvido pela VMware Inc., localizada em Palo Alto, Califrnia, Estados Unidos. O nome um jogo de palavras com Virtual Machine (mquina virtual), que o nome tcnico dado a um sistema operativo executado pelo Vmware [13]. A VMware um dos fornecedores mais populares na virtualizao para a arquitectura x86, fornecendo softwares para virtualizar desde ambientes desktop como ambientes de data centers. Nos produtos fornecidos pela VMware, encontramos os que so executados sob um sistema operativo como o VMware Workstation, VMware Server, VMware Fusion e VMware Player. Tambm fornecem os que so executados como sistema operativo como o VMware ESX. O VMware vSphere trata-se de uma plataforma de virtualizao de servidores que inclui o hypervisor VMware ESX e ferramentas de gesto associadas. Os servidores so geridos atravs de uma consola de gesto capaz de gerir vrios servidores em simultneo que se designa por vCenter Server [7] [20].

3.1.3 - Xen
O Xen um software livre de virtualizao para as arquitecturas x86, x86-64, IA-32 e IA64 (Intel Architecture, 32-bit(Binary digit) e 64-bit respectivamente). Este permite, com o mesmo hardware, a execuo de vrios sistemas operativos em simultneo. Foi concebido no mbito de um projecto na Universidade de Cambridge, liderado pelo Ian Pratt, fundador da XenSource, Inc, esta que mais tarde em 2007 foi comprada pela Citrix System Inc [13]. O Xen um dos exemplos mais populares de paravirtualizao. Este tipo de virtualizao tem um ganho de desempenho em relao virtualizao total, pois o sistema operativo visitante modificado para que todas as tarefas protegidas sejam reencaminhadas para o VMM ao contrrio da virtualizao total, onde o sistema operativo visitante tenta executar as mesmas tarefas protegidas, mas como estas se encontram no domnio do sistema operativo host no podem ser executadas, logo o VMM tem de intervir para realizar a sua execuo ou a sua simulao. Citrix XenServer uma plataforma de virtualizao grtis baseada no Xen hypervisor que um software livre e inclui o XenCenter, uma consola capaz de gerir vrios servidores e mquinas virtuais, possui vrios templates para criar novas mquinas virtuais, possibilita snapshots, possibilita migrao das mquinas virtuais, atravs do XenMotion, e oferece suporte para o armazenamento compartilhado [21] [22].

3.1.4 - Hyper-V
O Hyper-V uma ferramenta de virtualizao da Microsoft, Bare Metal que deve ser instalado directamente no hardware eliminando a necessidade de um Host. Sendo assim, um produto especializado e independente que contm o hypervisor Windows, o modelo de driver do Windows Server e os componentes de virtualizao que permitem desenvolver testes e desenvolvimentos, a consolidao de escritrios remotos e a virtualizao de estaes de trabalho hospedadas. Esta ferramenta tem as caractersticas necessrias para o desenvolvimento desta tese, contudo, tem certas limitaes, ou seja, para poder usufruir em pleno da ferramenta seria necessrio ter sempre o Windows Server 2008, obrigando sempre as 16

Ferramentas de Virtualizao

empresas a optar por uma tecnologia que no livre para a resoluo dos seus problemas. Outra das limitaes o facto de suportar poucas distribuies Linux a nvel de sistemas operativos guests, ou seja, para alm de apenas suportar Suse Linux Enterprise Server e Red Hat Enterprise Linux, ainda tem um entrave no que toca ao nmero de processadores virtuais que se pode dedicar a estas mquinas que neste caso um [13] [23].

3.1.5 - Anlise comparativa das ferramentas


Aps a apresentao das ferramentas que podero ser utilizadas, efectuou-se uma anlise comparativa das mesmas, com o intuito de seleccionar aquela que iria mais de encontro com os objectivos para a criao da plataforma. Para isso foram enumeradas algumas caractersticas que esto visveis na tabela: KVM Hypervisor Bare-Metal Guests Windows Guests Linux Live Migration Alta Disponibilidade
Tabela 3.1- Comparao das Plataformas
*Apenas SUSE Linux Enterprise Server e Red Hat Enterprise Linux. **Verso VMware vSphere Advanced *** Verso Citrix XenServer Essentials

Microsoft Hyper-V R2 Sim Sim Sim * Sim Sim

Citrix XenServer 5.5 Sim Sim Sim Sim Sim ***

Vmware vSphere 4 Sim Sim Sim Sim ** Sim **

No Sim Sim Sim No

Com base na tabela apresentada, verifica-se que a nvel de hypervisor o KVM [19] no bare-metal, isto , tecnologia que instalada directamente no servidor fsico, sem ser necessrio ter um sistema operativo instalado, como tambm no disponibiliza a Alta Disponibilidade ao contrrio das restantes ferramentas. Com excepo ao KVM, todas as ferramentas so do tipo bare-metal e contm Alta disponibilidade, contudo o Xenserver [24] e o VMware vSphere [25] apenas a disponibilizam em verses especficas dos produtos que esto designadas na tabela acima. Todas as ferramentas permitem Live Migration e suportam Guests Windows e Linux, tirando o VMware vSphere que apenas disponibiliza Live Migration na verso VMware vSphere Advanced, e o Hyper-V R2 [23] que a nvel de Guests Linux suportados, apenas suporta SUSE Linux Enterprise Server e RED Hat Enterprise Linux. Desta forma, as ferramentas que nesta fase foram excludas foram o Hyper-V R2 e o KVM. O Hyper-V por estar sempre muito dependente do Windows Server 2008, como descrito em cima quando apresentada a ferramenta e por suportar poucas distribuies Linux, visto que um ponto importante, pois as mquinas virtuais que iro ser criadas sero mquinas Linux. O KVM foi excludo por no ser do tipo Bare-Metal, que se trata de um requisito necessrio e por no oferecer o servio de Alta Disponibilidade.

17

Ferramentas de Virtualizao

3.1.6 - XenServer vs. VMware vSphere


Devido ao facto do KVM e do Hyper-V no irem de encontro com aquilo que pretendido resta-nos as ferramentas XenServer e VMware vSphere. Desta forma, ir ser comparado ambas as ferramentas em pontos cruciais para o desenvolvimento do trabalho e verificar qual delas se adequa mais ao mesmo. A anlise ir se basear em caractersticas como a arquitectura do sistema; as caractersticas ligadas instalao, configurao e administrao do sistema; quais os sistemas operativos suportados pelos sistemas; se permite a integrao com unidades de armazenamento; a possibilidade de disaster recovery; a alta disponibilidade e a manuteno do sistema [24] [26].

3.1.6.a - Arquitectura do Sistema


Ambas as ferramentas so hypervisors do tipo 1 bare-metal ou seja, so tecnologias que so instaladas directamente no servidor fsico, sem ser necessrio ter um sistema operativo instalado, pois estas funcionam como tal. Estas tecnologias oferecem um desempenho e gesto significativamente melhores do que solues que necessitam ser instaladas sob um sistema operativo, tais como Vmware GSX Server (GSX) e o Microsoft Virtual Server.

Figura 3.1 Traduo binria efectuada pelo VMware ESX

O VMware ESX faz parte da primeira gerao das arquitecturas de virtualizao baremetal. A abordagem que o ESX faz virtualizao pode ser demonstrada como uma traduo binria tal como representa a Figura 3.1. Exemplificando, ao fazer um pedido de suspenso do sistema operativo para o processador, aquilo que se ir suceder a suspenso de uma mquina virtual especifica, em vez de ser suspenso todo o sistema, libertando assim recursos para as outras mquinas virtuais, logo o ESX leva o sistema operativo convidado a pensar que

18

Ferramentas de Virtualizao

est a ser executado num hardware fsico. Como a primeira camada que interage com o hardware o software o VMware tem feito investimentos considerveis no desenvolvimento de drivers prprios para suportar a variedade de hardware contida nos servidores comerciais. A arquitectura do XenServer bastante diferente da do VMware. O XenServer considerado a base para quase duas dezenas de produtos de virtualizao comerciais, alimentando assim o maior motor do mundo de virtualizao - Amazon Elastic Compute Cloud. Enquanto o VMware utiliza a traduo binria o XenServer usa uma combinao de paravirtualizao e virtualizao assistida por hardware. Ao contrrio do VMware o XenServer foi a primeira soluo de paravirtualizao que permite ao sistema operativo convidado estar plenamente consciente que se encontra a ser executado sob um hardware virtualizado. Assim conseguimos ter um tipo de virtualizao cujo desempenho mais optimizado. O XenServer suporta distribuies de Linux como o Red Hat Enterprise Linux; o Novell SUSE; o Debian; o Oracle Enterprise Linux e o CentOS. A VMware comeou a adoptar a paravirtualizao como a tecnologia base da VMI (Virtual Machine Interface) do ESX. Consequentemente atravs da anlise do desempenho da VMI a VMware acredita que a paravirtualizao superior traduo binria. Contudo apenas alguns sistemas operacionais Linux esto habilitados a executar VMI em vSphere, como algumas verses do SUSE e algumas verses Fedora. Por outro lado a abordagem do XenServer para drivers de dispositivos significativamente diferente da abordagem da VMware, como podemos verificar na Figura 3.2.

Figura 3.2 Arquitectura do Hypervisor do XenServer

3.1.6.b - Instalao, configurao e administrao do sistema


O processo de instalao do XenServer muito simples, apenas necessitamos de dez minutos para o poder experimentar. O XenServer pode ser instalado na mquina atravs de um CD-ROM ou a partir da rede. O XenCenter uma consola de administrao que possui uma interface grfica muito simples e pode ser instalada em qualquer PC (Personal Computer) com ambiente Windows ou servidor. As configuraes do sistema so mantidas num sistema de armazenamento interno de dados e so replicadas por todos os servidores que se 19

Ferramentas de Virtualizao

encontram a ser geridos em conjunto, formando uma Pool de recursos para garantir a alta disponibilidade dos sistemas de gesto do ncleo de servio, no recorrendo a um servidor de base de dados externo para a suposta gesto do ncleo. Ao par do XenServer, o VMware ESX instalado na mquina, contudo utiliza o vCenter Server para gerir os vrios servidores e as suas respectivas configuraes. O vCenter Server executado como um servio do Windows num servidor de gesto em separado, requerendo assim uma base de dados externa para armazenar e gerir as configuraes do ncleo. Para redundncia e alta disponibilidade dos servios de gesto do ncleo a VMware recomenda a adio do seu software de clustering intitulado de vCenter Server Heartbeat.

3.1.6.c - Sistemas operativos suportados pelos sistemas


Tanto o VMware como o Xenserver suportam os sistemas operativos mais populares como Windows e Linux, ou seja, Windows XP, Windows Vista, Windows 2000 Server, Windows Server 2003, Windows Server 2008, Red Hat Linux, SUSE Linux entre outros.

3.1.6.d - Integrao com unidades de armazenamento


O armazenamento considerado uma das coisas mais importantes para a implementao de servidores virtuais. Ambas as solues fornecem suporte de armazenamento de mquinas virtuais em discos locais, nomeadamente em SAN (Storage Area Network) ou NAS (NetworkAttached Storage). O uso destas tecnologias para o armazenamento de dados necessrio para mais tarde usufruir de recursos como alta disponibilidade e live migration. O XenServer tem uma abordagem completamente diferente para o armazenamento, ou seja, no impe o seu prprio sistema de arquivo no sistema de armazenamento, como se verifica no VMware que utiliza o VMFS (Virtual Machine File System), mas sim aproveita as capacidades de armazenamento nativo. Por exemplo com um arquivo baseado em sistema de armazenamento partilhado, tais como NFS(Network File System), as mquinas virtuais do XenServer so armazenadas directamente usando o formato Microsoft VHD (Virtual Hard Disk).

3.1.6.e - Disaster Recovery


O Disaster recovery implica a duplicao da infra-estrutura do servidor virtual e de dados em instalaes remotas para a sua recuperao no caso de algum evento impossibilitar o funcionamento da infra-estrutura inicial. Tanto no XenServer como no VMware possvel disponibilizar as mquinas virtuais atravs do local primrio ou do local que foi destinado para o Disaster recovery. Em ambos os casos a soluo de virtualizao assenta na tecnologia de replicao SAN para manter os arquivos e as configuraes actuais da mquina virtual num local de backup. A VMware oferece o Site Recovery Manager, um produto que essencialmente um workflow de Disaster recovery para os sistemas virtualizados com ESX. Da mesma forma, o XenServer inclui o Workflow Studio para complementar o XenServer na automao de Disaster recovery tanto para servidores virtuais como fsicos.

20

Ferramentas de Virtualizao

3.1.6.f -

Alta Disponibilidade

A alta disponibilidade permite que mquinas virtuais possam ser reiniciadas numa outra mquina fsica caso a mquina original falhe a executar a mquina virtual de forma inesperada. Isto pode reduzir o tempo de indisponibilidade do sistema e a necessidade de interveno administrativa. A VMware e o XenServer tm caractersticas de alta disponibilidade que oferecem polticas de gesto do comportamento das mquinas virtuais aps falha da mquina que as acolhe. A VMware inclui um sistema de tolerncia de falhas, uma caracterstica que mantm espelhado instncias de mquinas virtuais que se encontram a ser executadas em mquinas distintas. No caso de falha da mquina que as suporta espelhada a instncia mantendo assim a continuidade de trabalho.

3.1.6.g - Manuteno do Sistema


Tanto o XenServer como o VMware requerem alguma manuteno peridica para aplicar actualizaes de software. Porque ambas as solues oferecem recursos de live migration e actualizaes para o hypervisor, que podem ser realizadas sem incorrer em qualquer tempo de inactividade para as mquinas virtuais [24] [26]. No decorrer da anlise da comparao destas duas tecnologias, foi retirado do artigo [24] um o levantamento mais funcional das caractersticas das mesmas bem como os custos envolvidos.

21

Ferramentas de Virtualizao

Tabela 3.2 Comparao das funcionalidades oferecidas pelo XenServer e pelo VMware vSphere

Tabela 3.3- Comparao dos custos associados ao XenServer e ao VMware vSphere

22

Linguagens de Programao

3.2 - Linguagens de Programao


3.2.1 - PHP
PHP (Hypertext Preprocessor) uma linguagem de programao muito utilizada para gerar contedo dinmico na World Wide Web. Esta surgiu por volta de 1995, criada por Rasmus Lerdof, com o nome de Personal Home Page Tools. Mais tarde em 1997, Zeev Suraski e Andi Gutmans desenvolveram o PHP 3, a primeira verso que se aproxima do PHP que conhecemos, apresentando como maior caracterstica a grande capacidade de extensibilidade. Hoje em dia, a verso utilizada a verso PHP 5, que foi lanada em 2004, que introduziu um novo modelo de orientao a objectos, melhorando muito esta potencialidade em relao verso anterior. Trata-se de uma linguagem muito parecida, em termos de sintaxe e funes, com a linguagem C e C++. Esta simplifica a interaco das pginas desenvolvidas com as bases de dados pretendidas e trata-se de uma linguagem modular, o que ideal para o uso em servidores Web [13] [27].

3.2.2 - Javascript
Javascript uma linguagem de programao que foi criada pela Netscape em 1995. Apesar de ser muito semelhante com Java muito diferente quanto ao uso, sendo o Javascript mais orientado para pginas Web. Trata-se de uma linguagem orientada a objectos, muito usada em pginas Web no lado do cliente, que leva a uma melhor apresentao e interactividade das pginas Web. O browser de quem acede a pginas que usam este tipo de linguagem, o elemento que fica encarregue de interpretar e executar estes scripts, sem ter de apelar aos recursos de um servidor, o que aumenta a rapidez do processo [13] [28].

3.2.3 - HTML
HTML (HyperText Markup Language) trata-se de uma linguagem usada para criar pginas Web e foi desenvolvido por Tim Berners-Lee em 1990. O objectivo inicial era tornar possvel a troca de informao e documentao de pesquisas, entre cientistas. Este possibilita apresentar informaes atravs da internet. Actualmente encontra-se a ser desenvolvido o XHTML (Extensible Hypertext Markup Language), que usa uma sintaxe mais rigorosa e menos ambgua para que o cdigo HTML se torne mais simples para ser processado [13] [29].

23

Protocolos

3.3 - Protocolos
3.3.1 - XML-RPC
O XML-RPC (Extensible Markup Language - Remote Procedure Call) foi criado por Dave Winer na UserLand Software em 1995 na Microsoft. No entanto, a Microsoft apoiou pouco o seu desenvolvimento adicionando poucas funcionalidades. O XML-RPC um protocolo de RPC codificado em XML, um protocolo simples, definido com poucas linhas de cdigos ao contrrio da maioria dos sistemas de RPC, onde os documentos padres so frequentemente milhares de pginas e exige apoio de softwares para serem usados. O XML-RPC funciona atravs de pedidos HTTP (HyperText Transfer Protocol) de um cliente para um servidor que contenha este protocolo implementado. O cliente neste caso no passa de uma simples chamada de um mtodo de um sistema remoto. Podem ser passados vrios parmetros de entrada de forma a obter o(s) valor(es) pretendidos. O XML-RPC pode ser usado para transportar objectos ou estruturas como parmetros de entrada ou sada [13] [30].

3.3.2 - iSCSI
iSCSI - eye-scuzzy, abreviatura de Internet Small Computer System Interface, um protocolo de armazenamento baseado na rede IP (Internet Protocol). utilizado para facilitar a transferncia de dados na intranet. Este protocolo pode ser utilizado para transferir dados nas LANs (Local Area Networks), WANs (Wide Area Networks) ou pela Internet. um protocolo muito usado nas SANs (Storage Area Networks). Ao contrrio do Fibre Channel, este utiliza a infrastrutura da rede j existente sem ser necessrio material especializado.

3.3.2.a - iSCSI Target


O protocolo iSCSI refere-se a um recurso de armazenamento localizado num servidor de iSCSI, normalmente um dos muitos ns de armazenamento iSCSI que se encontram no servidor, como uma target. Uma target iSCSI geralmente representa um disco rgido que serve como repositrio e que funciona nas redes Ethernet. Uma Target iSCSI no deve ser confundida com o termo iSCSI, pois este trata-se de um protocolo e no de uma instncia de armazenamento num servidor.

3.3.2.b - Logical Unit Number


Na terminologia SCSI, Logical Unit Number - LUN representa o nmero de unidade lgica. Um LUN trata-se de um dispositivo SCSI individual e enderevel que faz parte de um dispositivo SCSI fsico (target). Num ambiente iSCSI, os LUNs so unidades de disco numeradas.

3.3.2.c - Endereo
O iSCSI aceita trs formatos para o nome: IQN (iSCSI Qualified Name) com o formato iqn.yyyy-mm.{nome de domnio invertido}: texto opcional para melhorar organizao de 24

PostgreSQL

recursos como por exemplo

'iqn.2001-04.com.acme:storage.tape.sys1.xyz'. EUI(Extended

Unique Identifier), onde o formato eui.(endereo EUI-64bit) como demonstra o exemplo 'eui.02004567A425678D' e por ultimo T11 NASA (Network Address Authority) que apresenta o formato naa.(identificador NASA 64 ou 128 bits) como apresentado no exemplo 'naa.52004567BA64678D'. O mais frequente dos trs o IQN.

3.3.2.d - Segurana
As iSCSI targets podem apresentar autenticao usando o protocolo CHAP(ChallengeHandshake Authentication Protocol). O protocolo CHAP vulnervel a ataques de dicionrio, spoofing, ou ataques de reflexo mas possvel prevenir a maioria destes ataques, respeitando as devidas regras de utilizao de CHAP em iSCSI [13] [31].

3.3.3 - VNC
Desenvolvido originalmente pela Olivetti & Oracle Research Labs em Cambridge, Inglaterra, que foi posteriormente adquirida pela AT&T(American Telephone and Telegraph) e, finalmente, fecharam, VNC (Virtual Network Computing) tem evoludo como o software de controlo remoto mais utilizado. Isto devido ao facto de ser gratuito, sua disponibilidade para um grande nmero de diferentes sistemas operativos, a sua simplicidade, robustez e boa compatibilidade com verses anteriores. O suporte multi-plataforma especialmente importante para os administradores de rede, pois permite administrar quase todos os sistemas a partir de uma nica ferramenta. Existe tambm uma applet Java, que possibilita o acesso a qualquer computador localizado remotamente acedendo a um browser, sem ser necessrio a instalao de software. A verso VNC, original da AT&T, no muito usada, porque existem diversos produtos com melhorias significativas disponveis, como o RealVNC, VNC tight e UltraVNC. UltraVNC o mais usado neste momento. O VNC foi originalmente desenvolvido para ser utilizado dentro de uma LAN, logo existe questes de segurana quando utilizado atravs da internet. Quando se pretende aceder a um computador localizado remotamente deve-se considerar um tnel VPN (Virtual Private Network) ou proteger todo o trfego do VNC atravs do uso de SSL (Secure Sockets Layer) [32] [33].

3.4 - PostgreSQL
PostgreSQL trata-se de uma base de dados open-source e foi originalmente desenvolvido no Departamento de Cincia de Computao da Universidade de Berkeley. Este apresenta mais de 15 anos de desenvolvimento activo e uma arquitectura comprovada que lhe valeu a reputao de confiabilidade, integridade de dados e exactido. Pode ser utilizado em todos os principais sistemas operativos, incluindo Linux, UNIX (AIX (Advanced Interactive Executive), BSD (Berkeley Software Distribution), HP-UX (Hewlett-Packard UNIX), Mac OS X (Macintosh Operative systems UNIX), Solaris, Tru64) e Windows. Este possui suporte para chaves estrangeiras, joins, vistas e triggers. Inclui vrios tipos de dados como INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP suportando tambm o 25

Plataformas existentes

armazenamento de imagens, sons e vdeo. Perante estas vantagens acima descritas o sistema operativo IPBrick utiliza esta base de dados como principal do sistema [34] [35].

3.5 - Plataformas existentes


3.5.1 - XVP
O XVP engloba um conjunto de programas de cdigo aberto com o objectivo de gerir vrias mquinas virtuais presentes no Citrix XenServer e foi desenvolvida por Colin Dean. Usando esta interface WEB, temos acesso s consolas das mquinas virtuais, podemos visualizar as propriedades das mquinas virtuais, executar operaes nas mquinas virtuais (iniciar, reiniciar, desligar, suspender, entre outras) e migrar mquinas virtuais entre Hosts numa Pool. Esta plataforma suportada em browsers presentes nos sistemas Linux, Mac OS X e Windows. Os vrios componentes que a compem so: xvp, xvpviewer e o xvpweb. O xvp (Xen VNC Proxy) um servidor proxy que oferece um acesso protegido por password s consolas das mquinas virtuais que se encontram em funcionamento no Citrix XenServer. Pode ser utilizado para ter acesso s consolas atravs de qualquer sistema operativo que tenha um cliente VNC, e no apenas do Windows como o XenCenter. Usando as passwords do VNC, podemos fornecer um acesso selectivo s consolas das mquinas virtuais. O XVP encontra-se escrito em C e funciona nas distribuies mais recentes do Linux. O xvpviewer trata-se de um cliente VNC feito em Java. baseado no TightVNC viewer, mas com algumas alteraes para permitir certas operaes nas mquinas virtuais como desligar e reiniciar e para suportar o scroll do rato. compatvel com Linux, Mac OS X e Windows como podemos confirmar nas figuras 3.3 e 3.4.

Figura 3.3 - Mquina Virtual Linux num sistema Linux

26

Plataformas existentes

Figura 3.4 - Mquina Virtual Windows num MAC OS X

O xvpweb um Web-based front end que fornece uma viso geral do estado das Pools, Hosts e Mquinas Virtuais que se encontram no XenServer, apresentando vrias funcionalidades que permitem a visualizao das consolas das mquinas virtuais e a realizao de operaes como iniciar, reiniciar, suspender e migrar mquinas virtuais como podemos visualizar nas figuras 3.5 e 3.6. Este usa o xvp (correndo na mesma mquina que o servidor Web) e o xvpviewer, utilizado como uma applet no xvpweb. O xvpweb utiliza HTML, CSS(Cascading Style Sheet), PHP, Javascript e usa a biblioteca de Javascript jQuery. Para ser executado necessita de um servidor Web Apache no Linux, com PHP, CURL e mcrypt.

Figura 3.5 - XVPWEB

27

Plataformas existentes

Figura 3.6 - Acedendo s propriedades de uma mquina virtual no XVPWEB

O xvpdiscover um pequeno programa, que funciona em Linux, que pode escrever uma configurao no xvp.conf adequada para o xvp e para o xvpweb. Faz isso conectando-se a um dos servidores XenServer e consultando os detalhes da Pool, dos Hosts e das mquinas virtuais e criar o ficheiro de configurao consoante a informao que conseguiu recolher [36].

3.5.2 - XenCenter
A aplicao XenCenter serve para gesto remota dos servidores XenServer, contudo apenas funciona no Windows Server 2003, Windows Server 2008, Windows XP ou Windows Vista. uma plataforma que proporciona a insero de novos servidores XenServer e a sua gesto na mesma. possvel adicionar servidores a Pools, editar configuraes e de rede dos servidores bem como os seus atributos. A nvel das Pools permite a configurao de alta disponibilidade definindo quais as polticas de gesto das mquinas. Permite ainda a criao e gesto de mquinas virtuais, como podemos verificar na Figura 3.7. Ao contrrio de outras plataformas de gesto, o XenCenter distribui a gesto dos dados entre os servidores numa Pool de recursos para garantir que no haja um nico ponto de falha de gesto. Se um servidor de gesto falhar, qualquer outro servidor na Pool poder assumir o papel de gestor. O Xencenter tem como requisitos a nvel de Sistema Operativo - Windows XP, Windows Server 2003, Windows Server 2008 e Windows Vista SP1(Service Pack) e SP2; Framework -.NET framework verso 2.0 ou superior; relativamente ao CPU - 750 MHz (MegaHerzt)mnimo, 1GHz(GigaHertz) ou superior recomendado; no que toca memria RAM - 1 GB mnimo, 2 GB ou mais recomendado, Disco - 100 MB (Mebabyte) mnimo e Interface de rede - 100Mbits/s (Megabit por segundo) ou mais rpida. O Xencenter uma aplicao Windows que serve de cliente. Deve ser instalada numa mquina remota que esteja na mesma rede que o servidor XenServer [37] [38].

28

Concluso

Figura 3.7 - XenCenter

3.6 - Concluso
Com o intuito de desenvolver uma nova plataforma, de acordo com o que foi referido no captulo 2, ser utilizada a virtualizao como forma de concretizar o conceito de Cloud Computing para a IPBrick. Desta forma, este captulo foi iniciado com algumas ferramentas existentes de virtualizao tais como o KVM, VMware, Xen e Hyper-V. Como foi explicado o KVM e o Hyper-V no foram tidos em conta devido ao facto de no irem de encontro com os requisitos como foi explicado neste captulo, na anlise comparativa das ferramentas. Foi efectuada uma anlise das solues VMware vSphere e XenServer, de forma a comparar ambas e verificar qual a mais indicada para ser utilizada no desenvolvimento da plataforma Web para a gesto de servidores fsicos e mquinas virtuais. As linguagens de programao (PHP, Javascript e HTML), passveis de serem utilizadas, tambm foram apresentadas bem como os protocolos ( XML-RPC e ISCSI e VNC ). Aps ter sido referenciado as linguagens de programao e protocolos a utilizar, foi feita referncia a duas plataformas existentes que complementam o conceito da plataforma a criar dentro dos objectivos desta tese, ou seja, a plataforma que ir ser criada deve corresponder s funcionalidades que as plataformas XVP e XenCenter apresentam. por estas plataformas no satisfazerem as necessidades das empresas, no que toca gesto e configurao de Pools, Hosts e mquinas virtuais, que emerge a necessidade de ser desenvolvida uma plataforma que o faa. O XenCenter funciona apenas em sistemas operativos Windows e o XVP, apesar de ser uma plataforma Web, no efectua uma gesto que se enquadra nas necessidades das empresas, pois no fornece as aces necessrias. Em suma, atravs das ferramentas abordadas, dever ser possvel o desenvolvimento da plataforma IPBrick Cloud Environment para a gesto dos servidores IPBrick. Para o efeito foi escolhida a ferramenta XenServer pelo facto de ser uma verso grtis com muitas mais funcionalidades do que a da VMware e dentro das opes que tm de ser pagas aquela que fica mais econmica. Foi escolhida tambm pelo facto de ser uma tecnologia que deriva de tecnologias open-source, existindo muita mais informao disponibilizada sobre a ferramenta. 29

Captulo 4 Desenvolvimento da Plataforma


Neste captulo Desenvolvimento da Plataforma ser abordada a metodologia utilizada na execuo deste trabalho bem como sero apresentadas todas as etapas da concepo da Plataforma. Sero estipulados os requisitos que o sistema dever cumprir, ou seja, os pontos aos quais a soluo dever responder recorrendo a casos de uso para os exemplificar. Ser mostrada a forma como foi efectuada a explorao da ferramenta XenServer, apresentada a arquitectura da rede que foi projectada, demonstrada a base de dados da plataforma e por fim expostos os problemas encontrados ao longo do desenvolvimento do trabalho.

4.1 - Metodologia utilizada


Em todos os trabalhos efectuados necessrio seguir uma metodologia na execuo do mesmo. Seja na elaborao de trabalhos cientficos, ou at em trabalhos mais simples do quotidiano, estabelecem-se linhas orientadoras para definir o plano de trabalho. Desta forma foi definida uma metodologia para o desenvolvimento desta tese, fundamentada na metodologia para a elaborao de trabalhos cientficos. Esta metodologia encontra-se dividida em quatro fases: formulao da pergunta, realizao da pesquisa, desenvolvimento do trabalho e interpretao dos resultados. A fase inicial sempre a formulao da pergunta. Antes de ser iniciada a investigao deve-se definir e estruturar muito bem qual o cerne da nossa questo. Os primeiros captulos desta tese foram dedicados formulao, descrio e definio de objectivos da pergunta que deu origem a este tema. Posteriormente que se poder dar incio fase de investigao. pertinente que exista a explorao da temtica e de trabalhos j realizados, para evitar cair no bvio elaborando um trabalho que acrescenta muito pouco, sendo apenas mais uma fonte de informao igual a muitas outras. A investigao uma forma de actualizao, servindo de base para a inovao na concepo de qualquer trabalho. Com efeito, esta tese reflecte, como se pode ver no Captulo anterior Reviso de Conceitos e Tecnologias que a fase de arranque deste projecto foi a investigao, que serviu de apoio para a tomada de deciso no momento de escolha da ferramenta a utilizar XenServer - para a concretizao da plataforma de gesto.

30

Requisitos do sistema

Este Captulo Desenvolvimento da plataforma desenvolvimento do trabalho.

remete-se para a fase do

4.2 - Requisitos do sistema


Com o intuito de fazer com que o sistema fosse de encontro com os objectivos esperados, foram definidos os requisitos que o sistema deveria responder. Os requisitos do sistema que foram considerados para o desenvolvimento da plataforma, foram a instalao automtica do sistema, ou seja, a partir de um CD-ROM a ferramenta instala-se automaticamente, sem ser necessria qualquer tipo de interveno ou qualquer tipo de conhecimento por parte do utilizador para efectuar a instalao. Para alcanar a simplicidade da instalao dever ser alterado o contedo do CD-ROM de instalao. Outro dos requisitos foi a possibilidade de a configurao e gesto do sistema ser feita de uma forma simples e intuitiva com uma interface user-friendly. A plataforma dever ser capaz de criar e gerir Pools, onde sero adicionados os servidores, nesses mesmos servidores dever ser possvel a criao e parametrizao de mquinas virtuais. Tambm dever ser possvel adicionar repositrios s Pools que sero bastante importantes para o bom funcionamento do sistema, pois para alm de servirem de repositrio das mquinas virtuais, proporcionam tambm a migrao das mquinas pois estas esto sempre acessveis por todos os servidores na Pool, pelo facto de o repositrio ser partilhado. Um dos requisitos mais pertinentes a disponibilizao da funcionalidade de alta disponibilidade, bem como a parametrizao da mesma, especificando que mquinas devero se encontrar sempre ligadas e as que devero no ser reiniciadas caso o servidor fsico, onde se encontram, falhe.

4.2.1 - Casos de Uso


Na concepo de um sistema so sempre definidos requisitos, de maneira a que o mesmo corresponda s necessidades do utilizador. Para a concepo desta plataforma, foram levantados os requisitos que deveriam estar includos nas funcionalidades do sistema, como foi evidenciado no ponto 4.2. Requisitos dos Sistema. Uma das ferramentas utilizadas na Engenharia de Software como apoio para a definio dos requisitos so os Casos de Uso. A definio de Casos de Uso uma ferramenta muito til no momento de estipular o comportamento do sistema. Os Casos de Uso representam a interaco entre o utilizador (humano ou mquina) e o sistema. Essa interaco marcada por uma aco que efectuada pelo utilizador e que provoca um certo comportamento do sistema, fazendo-o executar uma funcionalidade do mesmo. Ou seja, cada caso de uso descreve um cenrio possvel dessa interaco. Para isso, foram identificados os Casos de Uso principais desta plataforma com base nos requisitos do sistema. Os Casos de Uso esto organizados pelo objecto ao qual poder ser exercida a aco: Sesso, Pool, Host, Mquina Virtual, Interface de Rede Virtual, Disco Virtual, Repositrio de Dados e Alta Disponibilidade.

31

Requisitos do sistema

4.2.1.a - Identificao dos Casos de Uso


Neste Ponto, foram identificados os Casos de Uso Principais, para que no ponto seguinte se possa proceder sua descrio. Os Casos de Uso identificados foram:

Sesso

Efectuar login, Editar utilizador, Seleccionar Idioma, Efectuar logout

Pool Host

Editar Pool, Eliminar Pool, Visualizar Pool Adicionar Host, Editar Host, Visualizar Host, Adicionar Host a uma Pool, Retirar Host de uma Pool

Mquina Virtual

Criar Mquina Virtual, Eliminar Mquina Virtual, Editar Mquina Virtual, Visualizar Mquina Virtual, Migrar Mquina Virtual , Reiniciar Mquina Virtual (Normal), Reiniciar Mquina Virtual (Forado), Desligar Mquina Virtual (Normal), Desligar Mquina Virtual (Forado)

Interface de rede virtual

Adicionar Interface de rede virtual, Eliminar Interface de rede virtual

Disco virtual Repositrio de dados

Adicionar disco virtual, Eliminar disco virtual Adicionar repositrio de dados, Visualizar repositrio de dados, Eliminar repositrio de dados

Licenciamento Alta Disponibilidade

Aplicar licena Activar Alta Disponibilidade, Desactivar Alta Disponibilidade, Configurar Alta Disponibilidade
Tabela 4.1 Casos de Uso

4.2.1.b - Descrio dos Casos de Uso


Aps a identificao dos Casos de Uso, sero explicados em que cada um consiste, alguns recorrendo aos diagramas de Casos de Uso, e outros descrevendo apenas, visto que no ser necessrio utilizar os diagramas pelo facto de serem muito simples e comuns.

32

Requisitos do sistema

Sesso Efectuar Login O utilizador introduz o username e password para aceder interface de gesto da plataforma. Editar Utilizador O utilizador define um novo username e uma nova password. Seleccionar Idioma O utilizador escolhe qual o idioma que pretende que o sistema seja apresentado. Efectuar Logout O utilizador efectua logout para encerrar a sua sesso no sistema. Pool Editar Pool Atravs desta aco o utilizador consegue editar o nome, o master e o repositrio de dados default da Pool. Eliminar Pool Com esta opo a Pool eliminada, sendo igualmente eliminados os dados da base de dados, tanto da Pool como dos respectivos Hosts e repositrios de dados. Visualizar Pool Esta aco permite ao utilizador a visualizao das informaes da Pool. Host Adicionar Host

Figura 4.1 Caso de Uso Adicionar Host

Editar Host - Atravs desta aco o utilizador consegue editar o nome, o IP, a gateway, o DNS (Domain Name System), a Mscara e o tipo de IP do Host. Visualizar Host - Esta aco permite ao utilizador a visualizao das informaes do Host. Adicionar Host a uma Pool Aco que permite ao utilizador adicionar o Host a uma Pool j existente. Retirar Host de uma Pool A partir desta aco o utilizador pode retirar o Host de uma Pool.

33

Requisitos do sistema

Mquina Virtual Criar Mquina Virtual

Figura 4.2 Caso de Uso Criar Mquina Virtual

Eliminar Mquina Virtual Ao seleccionar esta opo, o utilizador elimina a mquina virtual, escolhida, do servidor aonde ela se encontrava alojada. Editar Mquina Virtual - Atravs desta aco o utilizador consegue editar o nome, a memria e o nmero de CPUs virtuais. Visualizar Mquina Virtual - Esta aco permite ao utilizador a visualizao das informaes da Mquina Virtual. Estes casos de uso tal como o nome indica permitem efectuar as respectivas aces: Migrar Mquina Virtual, Reiniciar Mquina Virtual (Normal), Reiniciar Mquina Virtual (Forado), Desligar Mquina Virtual (Normal) e Desligar Mquina Virtual (Forado) Interface de Rede Virtual Adicionar Interface de rede virtual Esta aco permite ao utilizador a criao de uma nova interface de rede virtual e consequente associao mquina virtual. Eliminar Interface de rede virtual - Ao seleccionar esta opo, o utilizador elimina a interface de rede virtual, escolhida, da mquina virtual qual esta pertencia. Disco Virtual Adicionar disco virtual - Esta aco permite ao utilizador a criao de um novo disco virtual e consequente associao mquina virtual. Eliminar disco virtual - Ao seleccionar esta opo, o utilizador elimina o disco virtual, escolhido, da mquina virtual qual este pertencia.

34

Requisitos do sistema

Repositrio de dados Criar repositrio de dados

Figura 4.3 Caso de Uso Criar Repositrio de dados

Visualizar repositrio de dados - Esta aco permite ao utilizador a visualizao das informaes do Repositrio de dados. Eliminar repositrio de dados - Com esta opo o Repositrio de dados eliminado, sendo igualmente eliminados os dados da base de dados. Licenciamento Aplicar Licena A partir desta aco o utilizador faz upload de uma licena vlida para os servidores XenServer. Alta Disponibilidade Activar Alta Disponibilidade

Figura 4.4 Caso de Uso Activar Alta Disponibilidade

35

Explorao da ferramenta XenServer

Desactivar Alta Disponibilidade Esta aco permite ao utilizador desactivar a opo de alta disponibilidade na Pool pretendida Configurar Alta Disponibilidade Aco que permite parametrizar os estados das mquinas virtuais para definir as prioridades em caso de falha.

4.3 - Explorao da ferramenta XenServer


Como foi referido na concluso do captulo anterior, a ferramenta seleccionada foi o XenServer. Aps a escolha da ferramenta e de serem definidos os requisitos que a plataforma deveria cumprir, foi feito um levantamento exaustivo de informao para servir de apoio compreenso do funcionamento da ferramenta. Neste levantamento foi descoberto, na documentao do XenServer, um SDK [39] (Software Development Kit) sob a forma de mquina virtual, que depois de importada fornecia uma pgina Web com toda a informao sobre a API (Application Programming Interface) disponibilizada. Esta API fornece todo o tipo de informaes para que, atravs de pedidos por XML-RPC, se pudesse comunicar com o servidor, adquirir todo o tipo de informao sobre o mesmo e efectuar operaes como criar e gerir mquinas virtuais e todos os componentes associados e alterar dados dos servidores existentes. Posteriormente etapa de compreenso de como funcionaria a ferramenta e de quais as limitaes da mesma, foi efectuado um estudo de como seria projectada a rede, que poderemos verificar no ponto - 4.4 Arquitectura de rede - deste captulo. Com a rede projectada, iniciou-se a elaborao de alguns testes de comunicao com o servidor, de forma a verificar o que seria necessrio enviar no pedido para obter a resposta pretendida. O exemplo seguinte ilustra um desses testes, que neste caso o estabelecimento de uma sesso no XenServer: ... $action = $_REQUEST[fn]; $function = $action; $params = array (); switch ( $action ) { case 'session.login_with_password': //username $p1 = new XML_RPC_Value ( $_REQUEST[p1], "string" ); // password $p2 = new XML_RPC_Value ( $_REQUEST[p2], "string" ); $params = array ( $p1, $p2 ); break; } ... //criao da mensagem $message = new XML_RPC_Message ( $function, $params ); ... //envio da mensagem $result = $client->send ( $message ); 36

Explorao da ferramenta XenServer

//seleco do campo value da resposta $val = $result->value(); //passagem da reposta para array $dataArray = XML_RPC_decode($val); //impresso do resultado echo "DATAARRAY<pre>"; print_r($dataArray); echo "</pre>"; O resultado deste teste o seguinte, retornando se o pedido foi bem sucedido e a referencia da sesso estabelecida para usar noutras funes:

Figura 4.5 Resultado da funo de teste

Depois de efectuados vrios testes com vrias funes, foram desenvolvidas um conjunto de funes que para alm de fazerem os pedidos, tratavam as respostas e filtravam o que interessava. Segue um exemplo de uma dessas funes, onde adquirido a referncia da sesso estabelecida no XenServer: //login no XenServer function xapi_login ($ip, $user, $pass) { global $client; $client = new XML_RPC_Client ( "/xmlrpc/server.php", $ip, 443 ); $user = new XML_RPC_Value ( $user , "string"); $pass = new XML_RPC_Value ( $pass , "string"); // criar a mensagem $msg = new XML_RPC_Message ( "session.login_with_password" , array ($user,$pass)); // envio da mensagem $result = $client->send ( $msg ); $check = checkComm ($result); //se conseguir comunicar com o XenServer e no der erro if ($check == 'OK') { $val = $result->value(); $status = $val->structmem("Status"); //se o valor for diferente de Success imprime o erro if ($status->scalarval() != "Success") { $value = XML_RPC_decode($val); return $error = $value["ErrorDescription"]["0"] . "," . $value["ErrorDescription"]["1"]; } $value = XML_RPC_decode($val); //retorna o valor no campo Value return $sessidval = $value["Value"]; 37

Arquitectura da rede

} else return false; }

4.4 - Arquitectura da rede

Figura 4.6 Arquitectura da rede

A figura 4.6 representa a arquitectura de rede que foi projectada. Como se pode visualizar, a rede tem os servidores com o software XenServer instalado, que servem de alojamento das mquinas virtuais, o repositrio da rede responsvel por armazenar todo o contedo das mquinas virtuais criadas na rede, o servidor com o sistema operativo IPBrick instalado a servir de alojamento para a plataforma de gesto dos componentes da rede e contm tambm toda a informao, sobre a disposio da rede, guardada. A partir da estao cliente acede-se plataforma alojada no servidor IPBrick para efectuar todo o tipo de gesto na rede disponvel.

4.5 - Base de dados


Para facilitar a aquisio de dados e a recuperao em caso de falha foi criada uma base de dados onde so guardadas as informaes da rede, excepo das mquinas virtuais, pois so adquiridas em tempo real juntamente com todos os seus dados. A base de dados constituda da seguinte forma:

38

Problemas encontrados

Figura 4.7 Esquema da base de dados

4.6 - Problemas encontrados


comum a todos os trabalhos elaborados, surgirem problemas. Ao longo do desenvolvimento da plataforma foram emergindo algumas barreiras que foram sendo contornadas e ultrapassadas de forma a poder atingir os objectivos definidos. O XenServer suporta guests Linux e Windows, disponibilizando templates para ajudar na criao e instalao das mquinas virtuais. Existem full-templates que so aqueles que criam uma mquina virtual e instalam a distribuio pretendida. Os Fsico para Virtual disponibilizam a passagem de uma mquina fsica para mquina virtual com a distribuio pretendida. Existem ainda os templates que permitem a instalao a partir do CD-ROM da distribuio e os templates que possibilitam a instalao a partir do repositrio da distribuio disponibilizado pela rede (internet). Na tabela 4.2 so mostrados os templates disponibilizados para as vrias distribuies linux [40]. Distribuio FullTemplate Debian Etch 4.0 Debian Lenny 5.0 Red Hat Enterprise Linux 3.6-3.8 Red Hat Enterprise Linux 4.5-4.7 Red Hat Enterprise Linux 5.0-5.3 32-bit Red Hat Enterprise Linux 5.0-5.3 64-bit SUSE Linux Enterprise Server 9 SP1/2/3 SUSE Linux Enterprise Server 9 SP4 X X X X 39 X X X X X X X X X Fsico para Virtual CD-ROM Rede

Problemas encontrados

SUSE Linux Enterprise Server 10 SP1/2 32-bit/64-bit SUSE Linux Enterprise Server 11 32-bit/64-bit CentOS 4.5, 4.6 CentOS 4.7 CentOS 5.0-5.3 32-bit CentOS 5.0-5.3 64-bit Oracle Enterprise Linux 5.0-5.2 32-bit Oracle Enterprise Linux 5.0-5.2 64-bit

X X X

X X X X

X X X X

X X X X

Tabela 4.2 Templates disponibilizados pelo XenServer

Um dos problemas surgiu aquando a adio da primeira mquina virtual IPBrick. A IPBrick tem algumas distribuies e a utilizada para este projecto assenta na distribuio Debian. Para ser instalada a IPBrick no XenServer foi utilizado o template Other Install Media. Isto deve-se ao facto de o nico template que o XenServer disponibiliza para o sistema operativo Debian tratar-se de um full-template, ou seja, cria automaticamente uma mquina virtual com o sistema operativo Debian instalado, o que no acontece em outros templates disponibilizados, pois permitem outras formas de instalao como se confirma na figura. Desta forma, no foi possvel, atravs do template para o sistema operativo Debian, instalar o sistema operativo IPBrick, mas sim atravs do template Other install Media que utilizado quando o sistema a instalar no se encaixa em nenhum dos templates disponibilizados. Ao usar o template Other Install Media a mquina instalada em modo HVM (Hardware Virtualization Mode), virtualizao total, logo como o XenServer assenta num tipo de virtualizao chamado Paravirtualizao, no se consegue tirar total partido das funcionalidades das mquinas. Com a mquina a funcionar em modo HVM podia-se apenas efectuar operaes como Reiniciar/Desligar e ambas foradas, no sendo possvel Reiniciar, Desligar, Suspender nem migrar uma mquina virtual. Para alm disso no se tinha acesso a informaes como o IP das interfaces de rede virtuais que foram criadas para cada mquina virtual, no se conseguia criar interfaces de rede virtuais nem discos virtuais em tempo real, ou seja, se houvesse inteno de adicionar alguma interface de rede ou algum disco teria de se Reiniciar a mquina, de modo forado, para estas alteraes entrarem em vigor. Aps muita pesquisa descobriu-se que mudando alguns parmetros nessa mquina virtual podia-se ter a mesma a trabalhar em modo de Paravirtualizao. Era necessrio aplicar os seguintes comandos no XenServer: xe vm-param-set uuid=<vm uuid> HVM-boot-policy= (apaga o modo de inicializao HVM) xe vm-param-set uuid=<vm uuid> PV-bootloader=pygrub (define pygrub como modo de inicializao) xe vbd-param-set uuid=<vbd uuid> bootable=true (define o dispositivo de arranque)

40

Problemas encontrados

Contudo, mesmo depois de colocados os comandos a mquina no iniciava, como era pretendido. Aps mais alguma pesquisa foi descoberto o problema. O kernel da IPBrick, aquando a compilao, teria de ter a flag do Xen activada. Para isso foram efectuadas alteraes na compilao do kernel a utilizar pela IPBrick, como mudar a famlia do processador, como mostra a Figura 4.8.

Figura 4.8 Famlia do Processador

Como se pode verificar na Figura 4.8, foi alterada a famlia do processador para a Pentium-Pro, pois para o XenServer correr a mquina em modo PV (Paravirtualizado), necessrio o kernel ter uma flag de paravirtualizao activa, e para a flag aparecer na compilao do kernel necessrio escolher um processador com suporte para a virtualizao, como podemos visualizar na Figura 4.9.

Figura 4.9 Activao da flag de Paravirtualizao

41

Concluso

Outro problema que surgiu, foi quando se adicionou uma mquina virtual IPBrick, pois era necessrio saber quando a instalao do sistema operativo se encontrava no fim. O sistema operativo IPBrick aps instalao faz o pedido para se reiniciar a mquina, logo pretendia-se determinar qual o momento certo para efectuar essa operao e para proceder alterao do modo da mesma, ou seja, do modo HVM para PV. Para o efeito, aps ter sido descoberto que o XenServer dispunha de um servidor VNC, procedeu-se criao de alguns scripts cuja funo era a criao de um tnel entre a mquina, onde se encontrava a plataforma alojada, e o servidor que continha a mquina virtual, pois era a nica forma de ter acesso s consolas. Devido a este problema foi pensada uma soluo, aps a adio de uma mquina virtual com o sistema IPBrick o utilizador encaminhado para uma pgina Web onde mostrada a consola da mquina virtual que permite a visualizao da instalao atravs da utilizao de uma applet java, que suporta o protocolo VNC, como cliente. Para alm disso disponibiliza tambm um boto que serve para quando o sistema operativo finalizar a instalao, reiniciar a mquina e alter-la com a finalidade de a mesma iniciar trabalhando em modo PV. Outras das dificuldades sentidas, foi a complexidade da compreenso da API disponibilizada, pois a falta de exemplos de como utilizar a API fez com que o trabalho para a explorao da ferramenta XenServer fosse redobrado.

4.7 - Concluso
Dentro da metodologia estabelecida, o desenvolvimento da plataforma, insere-se na fase em que so reunidas as ferramentas e as informaes, recolhidas na fase de pesquisa Reviso de Conceitos e Tecnologias e comea-se a desmontar uma problemtica, resultando na soluo. Ao longo do desenvolvimento da plataforma, como se pde verificar neste captulo, foram definidos requisitos e casos de uso para o sistema, montada a arquitectura da rede e a base de dados da plataforma e durante o desenvolvimento da mesma foram ultrapassadas barreiras que surgiram ao longo do desenvolvimento do projecto. As dificuldades no se prenderam com a impossibilidade de cumprir os requisitos nem com os problemas que foram surgindo, pois foram sempre encontradas formas de contornar a situao, a principal dificuldade agregou-se escassez de informao sobre a utilizao da API disponibilizada pela Xen, contudo, a informao foi sendo encontrada em fruns onde continha testemunhos que ajudaram a desvendar algumas questes.

42

Captulo 5 Resultados
De acordo com aquilo que foi exposto no ponto 4.1 Metodologia do captulo 4 Desenvolvimento da Plataforma aps o desenvolvimento do trabalho necessrio analisar os resultados. Os resultados so por assim dizer, a soluo obtida que advm daquilo que foi efectuado durante o desenvolvimento do trabalho. Por vezes, a soluo nem sempre vai de encontro com os objectivos ou requisitos definidos, mas isso no representa o insucesso do trabalho, apenas poder comprovar que o objectivo no alcanvel da forma adoptada. Para avaliar o trabalho desenvolvido necessrio interpretar os resultados e referir como se conseguiu alcanar certas metas, e explicar o porqu de algumas das metas ficarem aqum. O captulo 5 Resultados - destina-se interpretao dos resultados, apresentao da soluo obtida, compatibilidade do sistema e anlise do trabalho efectuado ao longo deste projecto.

5.1 - Cenrios de teste


De modo a garantir as funcionalidades da plataforma, foram criados alguns cenrios, de maneira a testar o comportamento e limitaes do sistema. Isto , variando o cenrio, poderemos ter variaes no comportamento do sistema e ser sempre necessrio assegurar os servios disponibilizados independentemente do cenrio. Com o intuito de testar as funcionalidades da plataforma, foram criados dois cenrios que partiram de base da rede que est representada na figura 5.1.

43

Cenrios de teste

Figura 5.1 Cenrio Inicial

Com base na figura 5.1, poder-se- verificar a existncia de dois servidores com o software XenServer instalado, um servidor com o software IPBrick que para alm de servir de alojamento para a plataforma desenvolvida, serve como repositrio e uma estao cliente que servir para aceder a plataforma de gesto. Para validar todo o tipo de aces foram analisados os dois cenrios. No primeiro cada servidor XenServer encontrava-se numa Pool como mostrado na figura 5.2, para validar o sistema quando existe apenas um servidor em cada Pool.

Figura 5.2 - Primeiro Cenrio

44

Cenrios de teste

No segundo os dois servidores XenServer encontravam-se inseridos na mesma Pool, como podemos confirmar na figura 5.3, para validar a plataforma quando cada Pool composta por dois ou mais servidores.

Figura 5.3 - Segundo Cenrio

5.1.1 - Configuraes 5.1.1.a - Configurao dos Servidores XenServer


Teve-se em ateno na escolha do hardware destes servidores, pois deveriam corresponder a certos requisitos [41], como mostrado na tabela 5.1. CPU Um ou mais CPUs de 64-bit x86, mnimo 1,5 GHz. recomendado um de 2 GHz ou um CPU multicore mais rpido RAM DISCO REDE Mnimo 1 GB. Recomendado 2 GB ou mais. Mnimo 16 GB. Recomendado 60 GB. No mnimo uma NIC (Network Interface Card) com 100 Mbits/s. recomendado uma NIC gigabit.
Tabela 5.1 Requisitos XenServer

A configurao destes servidores efectuada durante a instalao que se encontra especificada em [42]. Para ser criado o repositrio local de ISOs, necessrio j se encontrar criada a pasta onde estaro localizadas as imagens com extenso iso e essa pasta ter de se encontrar exactamente em /var/opt/xen/iso_import/ISOs como dito em [40].

5.1.1.b - Configurao do Servidor IPBrick


Para o servidor IPBrick trabalhar como repositrio foi necessrio instalar o open-iscsi e o iscsitarget. Depois de instalados foi necessrio alterar o ficheiro ietd.conf de maneira a criar 45

Anlise dos Resultados

as targets e as LUNs pretendidas. Deve-se ter em ateno que as parties que so associadas s LUNs no se devem encontrar montadas. Neste caso foi adicionado o seguinte cdigo ao ficheiro ietd.conf: Target iqn.2010-04.com.cloud:storage Lun 0 Path=/dev/sdb1,Type=fileio Target iqn.2010-04.com.cloud:teste Lun 0 Path=/dev/sda8,Type=fileio Para a IPBrick servir como alojamento da plataforma foi necessria a criao da interface Web, a partir da plataforma de gesto do servidor IPBrick.

5.2 - Anlise dos Resultados


5.2.1 - Adio do primeiro servidor
Ao aceder plataforma efectua-se o login (Anexo A 1) que permite um acesso seleccionado s Pools, pois s o administrador do sistema que ter acesso a todas as Pools. No diagrama seguinte (Figura 5.4), podero ser verificadas as aces que so efectuadas quando o utilizador acede pela primeira vez plataforma e adiciona o primeiro servidor.

Figura 5.4 Adio do primeiro servidor

46

Anlise dos Resultados

Como se trata da primeira vez que o utilizador acede a esta plataforma, este no tem acesso a nenhum servidor, pois ainda no foi adicionado nenhum, com efeito so disponibilizadas apenas algumas opes (Anexo A 2). Para adicionar o servidor basta fornecer o username, a password e o IP do mesmo como possvel visualizar no diagrama na aco que remete ao fornecimento dos parmetros necessrios. (Anexo A 3). S devero ser adicionados os masters das Pools, pois a partir destes sero adicionados tambm os slaves. Quando instalado o XenServer num servidor, este master de si prprio, logo pode ser adicionado. No caso do servidor no estar associado a nenhuma Pool, criada uma Pool com o nome Pool, automaticamente. Se por outro lado, o servidor adicionado j se encontrar associado a uma Pool, esta adicionada com todas as suas definies, tal como o repositrio de dados usado, isto no caso de estar definido, ou seja, herda todas as configuraes j existentes, no tendo que ser novamente configurada. Durante o processo de adicionar o servidor, criado, no mesmo, um repositrio de ISOs que possibilitar mais tarde a criao de mquinas virtuais a partir das ISOs presentes nesse repositrio. Aquando a insero do servidor, so inseridos nas bases de dados todos os dados relevantes das Pools, dos Hosts e dos repositrios de dados, que se encontram nas mesmas, como se pode verificar na Figura 5.4. A outra opo apresentada, no menu inicial da plataforma, a opo de 'Configuraes' (Anexo A 4), onde possvel alterar o username e a password de acesso plataforma bem como o idioma pretendido. Depois de adicionados um ou mais servidores (masters) so apresentadas mais opes como 'Hosts', 'Mquinas Virtuais', 'Repositrios de dados' e 'Alta Disponibilidade' no menu principal.

47

Anlise dos Resultados

5.2.2 - Pools

Figura 5.5 - Pools

Tal como est demonstrado na Figura 5.5, na pgina 'Pools' so mostradas as Pools que foram adicionadas, juntamente com alguns dados da mesma como o nome, o nome do servidor master, o nome dos servidores que se encontram na mesma e o nome do repositrio de dados, por defeito, caso este j se encontre definido. Nas Pools adicionadas, disponibilizado um submenu onde o utilizador tem a oportunidade de efectuar algumas aces sobre as mesmas (Anexo A 5). O Utilizador pode editar os campos da Pool, definindo o nome, escolhendo o servidor master e escolhendo o repositrio de dados que dever ser usado por defeito (Anexo A 6). Como se pode verificar na Figura 5.5, disponibilizada uma opo de Aplicar Licena, pois a verso XenServer inicial vlida apenas para trinta dias e, 48

Anlise dos Resultados

a partir desta opo, basta fazer o upload da licena adquirida no site da plataforma para poder usufruir da mesma durante um ano. Pode-se eliminar a Pool, eliminando esta da base de dados. Durante o processo de eliminao eliminado tambm o repositrio de ISOs adicionado durante a insero da mesma, para evitar que, aquando uma nova insero, no seja criado outro repositrio de ISOs igual ao que j havia sido criado. A opo de activar alta disponibilidade s aparece como uma funcionalidade da Pool, se a mesma for constituda por dois ou mais servidores,ou seja, no primeiro cenrio, pois s com um servidor na Pool no tinha sentido esta conter esta possibilidade de activar alta disponibilidade, pois esta opo tem o objectivo de se um servidor falhar as mquinas que se encontram nele serem migradas para outro servidor da Pool, e visto que a Pool s contm um servidor, a alta disponibilidade no se encaixa neste cenrio. Quando se trata do segundo cenrio, com dois servidores na mesma Pool, disponibilizada uma opo nova que permite activar a Alta Disponibilidade na Pool (Anexo A 7). Ao seleccionar a opo Activar a Alta Disponibilidade tem de se especificar quais as mquinas virtuais da Pool que devero reiniciar obrigatoriamente noutro servidor caso o servidor onde elas residem falhe, as que devero reiniciar noutro servidor se este apresentar recursos suficientes, tais como a memria para as suportar e aquelas que no sero reiniciadas caso o servidor falhe. Quando activada a opo de alta disponibilidade alterada a opo de Activar a Alta Disponibilidade para Desactivar a Alta Disponibilidade (Anexo A 8).

49

Anlise dos Resultados

5.2.3 - Hosts

Figura 5.6 - Hosts

Como se pode verificar na Figura 5.6, na pgina 'Hosts' so mostrados os vrios servidores fsicos presentes em todas as Pools, sejam eles masters ou slaves. apresentada uma lista com os nomes dos mesmos e com o nome da Pool a que pertencem. So disponibilizadas as aces como Reiniciar ou Desligar o(s) servidor(s),ou seja, basta seleccionar o servidor ou servidores, escolher a aco e submeter (Anexo A 9). Ao seleccionar o nome do servidor, o utilizador reencaminhado para uma pgina que contm informaes sobre o servidor escolhido (Anexo A 10). Como se trata de um nico servidor na Pool (primeiro cenrio), encontra-se disponvel a opo de Adicionar Pool, onde o utilizador pode adicionar este servidor a uma Pool existente. Ao seleccionar esta opo tem de se especificar a que Pool que este servidor deve ser adicionado. Logo depois de ser adicionado, todos os dados referentes Pool a que este pertencia so eliminados da base de dados bem como todos os recursos associados Pool, por exemplo os repositrios de dados. Existem vrias diferenas quando uma Pool apresenta mais do que um servidor (segundo cenrio). Uma delas quando visualizado um Host que seja slave na Pool onde se encontra, 50

Anlise dos Resultados

em vez da opo Adicionar Pool disponibilizada a opo Retirar da Pool (Anexo A 11). Ao retirar um servidor, a base de dados actualiza-se, retirando o servidor da Pool, logo, se for necessrio efectuar operaes nesse servidor tem de se o adicionar novamente, porque depois de retirado o servidor encontra-se numa Pool na qual master. Esta pgina contm tambm a opo de editar o servidor, onde possvel mudar os campos nome, IP, gateway, mscara, DNS e a maneira como este obtm o seu IP, ou seja, se se trata de um IP esttico ou de um IP adquirido por DHCP (Dynamic Host Configuration Protocol) (Anexo A 12). Ao submeter estas mudanas no servidor, estas so guardadas tambm na base de dados do servidor IPBrick, onde se encontra alojada a interface de gesto, como se pode comprovar na Figura 5.6. Esta operao efectuada para que em caso de falhas dos servidores da rede, no se perca a configurao da rede, tal como, quem era o servidor master e os servidores slaves, a que Pool pertenciam e que repositrios de dados haviam.

5.2.4 - Mquinas Virtuais

Figura 5.7 - Mquinas Virtuais

51

Anlise dos Resultados

Com base na Figura 5.7, na pgina 'Mquinas Virtuais' so apresentadas duas listas: a primeira com as mquinas que se encontram ligadas e a segunda com as mquinas suspendidas e desligadas. Esta lista contm o nome da mquina virtual e o nome do servidor onde esta se encontra. So disponibilizadas vrias aces, tais como, Reiniciar, Desligar, Migrar a mquina para outro servidor da Pool, Reiniciar (Forado) e o Desligar (Forado) que podem ser aplicados tanto a uma como a vrias mquinas virtuais (Anexo A 13). Tal como possvel visualizar na Figura 5.7, existe a opo de criar mquina virtual. Ao seleccionar esta opo necessrio seguir alguns passos que levam criao da mquina virtual pretendida. No primeiro passo tem de se especificar em que Pool se pretende adicionar esta mquina (Anexo A 14). Depois de submetida a Pool, na qual se pretende criar a mquina virtual, necessrio especificar os parmetros da mquina virtual: nome, descrio, memria, nmero de CPUs virtuais, o Host da Pool onde iniciar a mquina virtual, o repositrio de dados onde sero guardados todos os dados das mquinas virtuais e por fim a imagem pretendida que se encontra guardada no repositrio de ISOs (Anexo A 15). Depois de especificados os parmetros, disponibilizada a consola, alcanada atravs de uma applet java que suporta o protocolo VNC, com a instalao a decorrer para ser possvel visualizar o final da instalao e a reiniciar a mquina virtual. Para obter a consola necessrio criar um tnel SSH (Secure Shell) entre o servidor IPBrick, que tem a plataforma alojada, e o servidor XenServer, que dispe de um servidor de VNC que possibilita a visualizao no s da consola do servidor como tambm das mquinas virtuais, que se encontram nele instaladas. Esta mquina virtual instalada em modo HVM, mas para obter total controlo sobre a mquina virtual necessrio passar para modo PV, logo, enquanto est a decorrer a instalao so mudados certos parmetros para ocorrer esta alterao. Quando a instalao finaliza e a mquina reiniciada, esta j se encontra a funcionar em modo PV (Anexo A 16). Tal como nos 'Hosts', ao seleccionar o nome da mquina virtual obtm-se informaes mais detalhadas sobre a mesma (Anexo A 17), onde se consegue visualizar tambm as interfaces de rede virtuais associadas mquina virtual, podendo adicionar ou eliminar as existentes. Na opo Adicionar uma Interface de Rede Virtual onde se fornece tambm alguns parmetros como a interface de rede fsica a que a virtual dever se encontrar associada e especificar o MAC pretendido. Caso no seja pretendido especificar o MAC podemos seleccionar a opo Auto e a este ser atribudo um valor aleatrio automaticamente (Anexo A 18). apresentada uma lista de discos virtuais pertencentes mquina, bem como as opes de adicionar novo disco e eliminar os que j esto criados. Na opo Adicionar um Disco Virtual necessrio fornecer alguns parmetros para a criao de um novo disco como nome, descrio, tamanho e o repositrio de dados a usar para guardar as informaes guardadas neste disco (Anexo A 19). possvel tambm editar os campos da mquina virtual como a memria que o servidor disponibiliza para a mquina virtual, o nmero de CPUs virtuais e o nome da mquina virtual (Anexo A 20).

52

Anlise dos Resultados

5.2.5 - Repositrio de dados

Figura 5.8 - Repositrio de dados

Visualizando a Figura 5.8, na pgina Repositrio de dados pode-se visualizar os repositrios adicionados s Pools. apresentada uma lista com o nome de vrios repositrios e com o nome da Pool a que se encontram associados. So disponibilizadas as aces de Eliminar um ou mais repositrios e a de Adicionar um repositrio (Anexo A 21). Na opo Adicionar Repositrio de dados, disponibiliza-se o campo para o fornecimento do nome que queremos que o repositrio tenha, a descrio do repositrio e o IP da mquina (servidor) que vai servir de repositrio iSCSI (Anexo A 22). A partir destes parmetros so apresentados os vrios IQNs presentes no servidor a utilizar como repositrio (Anexo A 23). Depois de escolhido o IQN pretendido so apresentadas as vrias LUNs, que esto presentes na target seleccionada atravs da sua identificao IQN, que representam parties do disco do repositrio (Anexo A 24). Ao seleccionar o repositrio de dados, visualiza-se o nome, a descrio, o espao total, o espao livre e uma lista de discos virtuais criados nesse repositrio. Permite tambm a

53

Compatibilidade

possibilidade de eliminar um ou mais discos virtuais que se encontrem no repositrio (Anexo A 25).

5.2.6 - Alta Disponibilidade


Na opo Alta Disponibilidade pode-se verificar se alguma Pool da rede se encontra com esta opo activada. Caso esteja desactivada, s fornecida a informao de que na Pool seleccionada no existe nada que garanta a alta disponibilidade das mquinas virtuais, logo se o servidor falhar as mquinas virtuais tambm falham (Anexo A 26). Quando esta se encontra activa, apresentada a situao actual do sistema, ou seja, com que definies de alta disponibilidade se encontram as mquinas virtuais pertencentes Pool em questo. Neste menu pode-se tambm alterar estas definies, definindo o estado pretendido para as mquinas virtuais entre os disponveis que so reiniciar, reiniciar se possvel e no reiniciar (Anexo A 27).

5.3 - Compatibilidade
Neste tipo de sistema existe uma caracterstica que crucial para a sua aplicao realidade, que a compatibilidade do mesmo. Ou seja, o intuito deste sistema vir a ser utilizado, logo, pertinente que se insira com facilidade em diferentes ambientes. Visto que esta plataforma consiste num sistema que disponibiliza uma interface Web para a sua gesto e configurao, necessrio que esta seja compatvel com vrios browsers, de maneira a que o utilizador no tenha que utilizar um determinado browser para aceder interface Web do sistema. Este ponto serve assim, para validar que a plataforma funciona em diferentes browsers, nomeadamente nos seguintes: Firefox, Safari, Windows Internet Explorer e Google Chrome. Primeiro foi utilizado o Firefox para visualizar a plataforma (figura 5.9).

Figura 5.9 - Plataforma no browser Firefox

54

Compatibilidade

De seguida foi utilizado o Windows Internet Explorer para verificar o bom funcionamento da plataforma no mesmo (figura 5.10).

Figura 5.10 - Plataforma no browser Internet Explorer

Aps o Windows Internet Explorer foi utilizado o Google Chrome (figura 5.11) .

Figura 5.11 - Plataforma no browser Google Chrome

55

Resultados Obtidos

Por ltimo foi testado no Safari (figura 5.12).

Figura 5.12 - Plataforma no browser Safari

Embora a plataforma no tenha sido testada em todos os browsers Web existentes, possvel concluir que no apresenta problemas de compatibilidade, pois como se pode visualizar nos testes efectuados a plataforma no apresenta qualquer tipo de incompatibilidade e isto deve-se utilizao de um design totalmente feito com CSS, disponibilizado pela empresa.

5.4 - Resultados Obtidos


Com base naquilo que foi apresentado ao longo deste captulo, verifica-se que a plataforma apresenta todas as funcionalidades que correspondem aos requisitos estabelecidos para a mesma. A Plataforma apresenta uma interface Web grfica para efectuar a gesto da rede, que foi programada em PHP, de forma a facilitar a configurao e gesto do sistema. A nvel de funcionalidades de gesto, foram cumpridos os objectivos relativamente possibilidade de criar e gerir Pool, de adicionar servidores a essas mesmas Pools e ainda a criao e configurao de mquinas virtuais nos servidores adicionados. Ainda relacionado com os servios disponibilizados na plataforma, foi alcanada a possibilidade de adicionar repositrios s Pools, permitindo ao utilizador usufruir da capacidade do sistema de para alm de disponibilizar repositrios para as mquinas virtuais, permite ainda a migrao das mquinas virtuais, pelo facto desses mesmos repositrios serem partilhados por toda a Pool. Outro dos objectivos atingidos foi a nvel da compatibilidade do sistema, ou seja, a possibilidade de ser acedido pelo utilizador independentemente do browser utilizado. E por ltimo, foi alcanada a meta mais ambicionada, a disponibilizao da funcionalidade de Alta Disponibilidade. No que toca Alta Disponibilidade, o sistema permite a configurao da mesma, ou seja, a possibilidade de especificar quais as mquinas que devero ser reiniciadas 56

Concluso

obrigatoriamente, as que devero reiniciar apenas se houver recursos e as que no devero reiniciar, em caso de falha do servidor que as suporta. A nica alterao que no foi efectuada, foi ao CD-ROM de instalao, pois a instalao j era bastante simples.

5.5 - Concluso
O Captulo Resultados representa nesta tese, o momento onde foi apresentada a soluo obtida durante a execuo deste projecto. Foram abordados os cenrios que foram considerados para efectuar os testes das funcionalidades da plataforma bem como as configuraes efectuadas aos servidores para obter os servios pretendidos. De seguida procedeu-se anlise da plataforma complementada com a apresentao das funcionalidades conseguidas. A compatibilidade da plataforma foi abordada posteriormente apresentao dos cenrios utilizados, para demonstrar que a plataforma no apresenta problemas de compatibilidade. Este Captulo Resultados - termina com um ponto dedicado aos resultados obtidos, ou seja, foi verificado se a plataforma corresponde ou no aos requisitos prdefinidos, que por sinal, correspondeu na perfeio.

57

Captulo 6 Concluses
6.1 - Concluso
O aparecimento da internet veio ajudar ao processo contnuo que se vem a desenvolver ao longo do tempo da desmaterializao da informao e dos processos organizacionais para o formato digital. A consequente adeso ao formato digital e a softwares que faam a gesto desses mesmos processos vem provocar uma verdadeira reestruturao no que toca s redes empresariais. Sem dvida que as aplicaes Web-based e os servidores dedicados a vrias reas vieram complementar a necessidade das organizaes de agregarem os seus recursos e de os ter sempre disponveis. Contudo, esta desmaterializao de processos, faz com que aumente o nmero de mquinas e servidores dentro das empresas. O que por um lado foi poupar e dinamizar processos, por outro passa a ser gastar em manuteno e aquisio de hardware para suportar os seus recursos. Emerge novamente uma necessidade de desmaterializao, desta vez no ligada aos processos, mas sim aos recursos que o fazem, ou seja, chega a hora de o espao, condies e mquinas necessrias para tornar possvel a disponibilidade destes servios serem igualmente desmaterializados. neste meio que surge o Cloud Computing. O Cloud Computing um conceito que traz s empresas a possibilidade de diminuir o nmero de servidores fsicos. Desta forma, foi pensada e estruturada a possibilidade de desenvolver uma plataforma que assenta no conceito de Cloud, utilizando as ferramentas de virtualizao adequando a uma soluo j existente no mercado de servidores a IPBrick. A IPBrick Cloud Environment um projecto que nasce no mbito desta dissertao e que tem como objectivo a disponibilizao de uma soluo s empresas de gesto de Pools, Hosts, mquinas virtuais e repositrios de dados. Os requisitos que estiveram na base deste projecto foram a facilidade de instalao, configurao, acesso e ainda a alta disponibilidade do sistema. Para isso, foi desenvolvida uma plataforma que dispe de uma interface Web userfriendly para a administrao do sistema, seja para a configurao como para a gesto da rede. Esta plataforma teve como ferramenta de base o XenServer, que como foi referido no captulo 3 Reviso de Conceitos e Tecnologias, foi aquele que reuniu todos os requisitos necessrios para o objectivo pretendido com o desenvolvimento desta soluo. O resultado 58

Trabalho Futuro

obtido deste projecto foi a criao de uma plataforma que como foi mencionado no captulo 5 Resultados, foi testada em dois cenrios demonstrando todas as funcionalidades da mesma, passando pela adio de Hosts, configurao de Pools, criao e gesto de mquinas virtuais e ainda a possibilidade de ter Alta Disponibilidade definindo que mquinas devem ser migradas e reiniciadas em caso de falha. Em suma, certo dizer que os requisitos definidos no captulo 4 Desenvolvimento da plataforma nos pontos Requisitos do sistema e Casos de Uso foram alcanados.

6.2 - Trabalho Futuro


No sector das tecnologias, pertinente estar sempre um passo frente na inovao, ou seja, uma soluo nunca est na sua verso final, tendo sempre melhorias, e novas verses com novas funcionalidades e dinamizao das que j existem. O Projecto IPBrick Cloud Environment, embora tenha alcanado os objectivos principais definidos, tem com certeza passos que ainda esto por dar. Esses passos prendem-se com as seguintes funcionalidades: a possibilidade de tirar uma Snapshot de uma mquina virtual, e a partir dessa Snapshot criar uma mquina virtual; adaptar a soluo paga da Citrix, tal como a Alta Disponibilidade, Workload Balacing plataforma; e por fim a automatizao completa do CD-ROM de instalao para tornar ainda mais simples a instalao do sistema.

59

Anexo A
Neste anexo so apresentados os prints da plataforma desenvolvida para melhorar a compreenso do ponto 5.2 Anlise dos Resultados.

Anexo A 1 Login

Anexo A 2 - Menu Inicial (Sem servidores adicionados)

60

61

Anexo A 3 Formulrio Adicionar Servidor

Anexo A 4 Configuraes

61

62

Anexo A 5 Pools (Com um Host em cada Pool)

Anexo A 6 - Formulrio Editar Pools

Anexo A 7 Pool (Alta Disponibilidade desactivada)

62

63

Anexo A 8 Pool (Alta Disponibilidade activada)

Anexo A 9 Hosts

Anexo A 10 - Informaes sobre o Host (Master e nico na Pool)

63

64

Anexo A 11 Informaes sobre o Host (Slave)

Anexo A 12 - Formulrio de Editar Host

Anexo A 13 Mquinas Virtuais

64

65

Anexo A 14 Formulrio de Criar Mquina Virtual (Seleccionar Pool)

Anexo A 15 Formulrio de Criar Mquina Virtual (Especificar Parmetros)

Anexo A 16 - Criar Mquina Virtual (Instalao)

65

66

Anexo A 17 - Informaes sobre a Mquina Virtual

Anexo A 18 Formulrio de Adicionar uma Interface de Rede Virtual

Anexo A 19 Formulrio de Adicionar um Disco Virtual

Anexo A 20 Formulrio de Editar Mquina Virtual

66

67

Anexo A 21 Repositrios de dados

Anexo A 22 Formulrio de Adicionar Repositrio de Dados (Especificar parmetros)

Anexo A 23 Formulrio de Adicionar Repositrio de Dados (Escolha do IQN)

67

68

Anexo A 24 Formulrio de Adicionar Repositrio de Dados (Escolha da LUN)

Anexo A 25 - Informaes sobre o Repositrio de Dados

Anexo A 26 - Alta Disponibilidade (Desactivada)

68

69

Anexo A 27 - Alta Disponibilidade (Activada)

69

70

Referncias
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] CARISSIMI, Alexandre. Virtualizao: da teoria a solues. Minicursos do Simpsio Brasileiro de Redes de Computadores SBRC.2008. POLLON, Vanderlei. Virtualizao de Servidores em Ambientes Heterogneos e Distribudos estudo de caso Universidade Federal do Rio Grande do Sul. Outubro de 2008. http://hbueno.wordpress.com/2009/04/29/virtualizacao-um-pouco-de-historia/ Consultada em 26 de Janeiro de 2010. KLEIN, Jandir. Anlise de Desempenho de Rede de Servidores Virtuais Centro Universitrio Feevale. Junho de 2008. VIRTUALIZATION TECHNOLOGY UNDER THE HOOD. National Instruments.2009. http://blogs.oracle.com/galdino/2009/06/paravirtualizacao_e_outros_tip.html Consultada em 27 Janeiro de 2010. http://www.gta.ufrj.br/grad/08_1/virtual/Virtualizaototalepara-virtualizao.html Consultada em 27 Janeiro de 2010. http://blogs.technet.com/lpalma/archive/2008/10/01/paravirtualiza-o-emula-obare-metal.aspx Consultada em 27 de Janeiro de 2010. SANTOS, R. C. M.; CHARO, A. S. Anlise Comparativa de Desempenho do Hipervisor Xen: Paravirtualizao versus Virtualizaco Total. Universidade Federal de Santa Maria. Brasil. BADGER, Lee. Cloud Computing: Some Implications for Key Management - National Institute of Standards and Technology. 8 Junho de 2009. ABREU, Paulo; CASTRO, Vitor. Servidor de mail elstico em Cloud Computing Universidade do Minho. 31 de Janeiro de 2009. HAYES,Brian .News Tecnology /Cloud Computing - Communications of the ACM.Vol.53 No. 7. Junho de 2008. http://www.wikipedia.org/ Consultada em 25 Novembro 2009. http://www.infowester.com/cloudcomputing.php Consultada em 23 Novembro 2009. KIM, Won. Cloud Computing: Today and Tomorrow Journal Of Object Technology Vol.8 No.1. Janeiro-Fevereiro de 2009. BUYYA, Rajkumar; YEO Chee Shin; VENUGOPAL, Srikumar .Market-Oriented Cloud Computing:Vision, Hype, and Reality for Delivering IT Services as Computing UtilitiesThe University of Melbourne. Australia.2009. Informao disponibilizada pela iPortalMais. http://br-linux.org/linux/mais-sobre-o-kvm Consultada em 31 de Janeiro de 2010. http://www.linux-kvm.org/page/Main_Page Consultada em 5 de Janeiro de 2010. http://www.vmware.com/ Consultada em 20 de Janeiro de 2010. http://xen.org/ Consultada em 19 de Janeiro de 2010. http://www.citrix.com/lang/English/home.asp Consultada em 19 de Janeiro de 2010. http://www.microsoft.com/brasil/servidores/hyper-v-server/default.mspx Consultada em 10 de Junho de 2010. Technical and commercial comparison of Citrix XenServer and VMware. Disponvel na WWW. Em www.citrix.com. Consultada em31 de Janeiro de 2010.

70

71

[25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43]

VMware Inc. (2009) VMware vSphere 4 Features and Benefits Compared to Microsoft Hyper-V and Citrix XenServer: VMware vSphere: The best platform for building cloud infrastructures.Palo Alto. MATTOS, Diogo Menezes Ferrazani.Virtualizao: VMWare e Xen.GTA/POLI/UFRJ.2008 http://php.net/manual/pt_BR/ Consultada em 3 de Fevereiro de 2010. http://www.truquesedicas.com/tutoriais/javascript/00001a.htm Consultada em 3 de Fevereiro de 2010. http://pt-br.html.net/tutorials/HTML/lesson2.asp Consultada em 3 de Fevereiro de 2010. http://phpxmlrpc.sourceforge.net/ Consultada em 10 de Junho de 2010. SILVEIRA, Leonardo Salgado; PERES, Andr. Alta Disponibilidade em ambientes Virtualizados.ULBRA Guaba.2008. http://ipinfo.info/html/vnc_remote_control.php Consultada em 14 de Junho de 2010. http://www.realvnc.com/ Consultada em 14 de Junho de 2010. http://www.postgresql.org/ Consultada em 14 de Junho de 2010. http://www.php.net/manual/en/intro.pgsql.php Consultada em 14 de Junho de 2010. http://www.xvpsource.org/ Consultada em 9 de Junho de 2010. http://community.citrix.com/display/xs/XenCenter Consultada em 9 de Junho de 2010. http://www.xenserver5.com/xencenter.php Consultada em 9 de Junho de 2010. Citrix Systems, Inc. (2009). XenServer Software Development Kit Guide: 5.5.0. (1 Edio). Flrida. Citrix Systems, Inc. (2009). XenServer Virtual Machine Installation Guide: 5.5.0. (1 Edio). Flrida. Citrix Systems, Inc. (2009). XenServer Installation Guide: 5.5.0 Update 1. (1 Edio). Flrida. http://forum.zwame.pt/archive/index.php/t-421012.html Consultada em 25 de Fevereiro de 2010 e em 21 de Junho de 2010. CHE, Jianhua [et al]. Performance Measuring and Comparing of Virtual Machine Monitors - IEEE/IFIP International Conference on Embedded and Ubiquitous Computing.2008.

71

You might also like