Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia Engenharia Informática Interligação e Gestão de Sistemas Informáticos 2006/2007 Interface WEB para Gestão de Máquinas Virtuais Carlos Barbosa Rafael Forno Rafael Pais 25/05/2007 Interface WEB para Gestão de Máquinas Virtuais Índice 1. Introdução .................................................................................................... 3 2. Problema ..................................................................................................... 3 3. Protótipo ...................................................................................................... 3 I. Tecnologias .............................................................................................. 4 II. Detalhes de Implementação ..................................................................... 5 4. Conclusões .................................................................................................. 7 I. Dificuldades Encontradas ......................................................................... 7 II. Conclusões Obtidas ................................................................................. 7 III. Perspectivas de Desenvolvimento ........................................................ 7 Página 2 Interface WEB para Gestão de Máquinas Virtuais 1. Introdução Toda e qualquer empresa actualmente no mercado têm como objectivo primário “ter lucro”. No caso de empresas que trabalham com servidores, essas empresas podem ver o seu lucro crescer na medida em que minimizam, de forma inteligente, os seus custos operacionais e logísticos. Assim sendo a Virtualização é uma resposta inteligente na redução destes custos, onde é possível ter num só computador vários servidores, poupando assim na aquisição de inúmeros equipamentos caros, em despesas com alocação e contratos de manutenção destes equipamentos e todos os custos inerentes ao consumo de energia, não só destes equipamentos desnecessários, mas também com a sua refrigeração indispensável. 2. Problema Pretende-se implementar um servidor com várias máquinas virtuais, utilizando o Xen Server Express e dentro deste, um servidor HTTP para que o utilizador efectuar a gestão de máquinas virtuais numa interface WEB. 3. Protótipo Para que o utilizador faça a gestão na interface WEB, tivemos que instalar no servidor XEN, um servidor Apache com suporte PHP e desenvolver uma interface WEB para realizar várias operações com as máquinas virtuais. Página 3 Interface WEB para Gestão de Máquinas Virtuais I. Tecnologias As tecnologias utilizadas neste trabalho foram as seguintes: ¾ Apache É um Servidor Web Livre. Este é compatível com o protocolo HTTP versão 1.1. Suas funcionalidades são mantidas através de uma estrutura de módulos, podendo inclusive o utilizador escrever seus próprios módulos, utilizando a API do software. ¾ PHP É uma linguagem de programação computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na Web. Apesar de ser uma linguagem de fácil aprendizagem e de utilização para pequenos scripts dinâmicos simples, o PHP é uma linguagem poderosa orientada a objectos. ¾ XEN É uma plataforma de virtualização livre para as arquitecturas IA-32, x86-64, IA-64 e PowerPC. Ele permite que execute vários sistemas operativos num só hardware ao mesmo tempo. Página 4 Interface WEB para Gestão de Máquinas Virtuais II. Detalhes de Implementação a) Instalação do Servidor XEN Para instalar o servidor XEN, basta ir a página oficial do XEN Source, em www.xensource.com e fazer o download da última versão do XEN Server Express. Depois do download, basta gravar um CD com o conteúdo do ficheiro ISO e arrancar o computador a partir do CD-ROM. Na instalação, escolhemos o disco em que irá ficar instalado o XEN Server e configuramos a conta “root”. No caso dos computadores do ISPGaya, tivemos que fazer umas alterações em relação ao “bootloader” (Grub) para que o XEN seja correctamente arrancado. As razões desde problema é que o Disco Duro que se encontra no Computador é SATA e a Memória RAM é de 512MB e o XEN para que seja executado correctamente, o computador teria que ter no mínimo 1GB de memória RAM. b) Instalação e configuração do Apache Server Para instalar o Apache no servidor XEN, basta utilizar o gestor de actualização do Sistema Operativo, o Yum. Para instalar o Apache, utilizando a ferramenta Yum, basta executar o seguinte comando: yum install httpd Para configurar o Apache Server, existe o ficheiro httpd.conf e neste ficheiro é onde se configura a pasta onde se irão encontrar os ficheiros WEB e também as permissões de acesso. Neste trabalho tivemos que criar um acesso restrito à página em que ao entrar na mesma, pede um nome de utilizador e uma palavra-passe. Para isso, criamos dois ficheiros, o .htaccess que se irá encontrar na pasta onde queremos proteger o conteúdo e o .htpasswd que obrigatoriamente terá que estar noutra pasta que não seja aquela que se encontram os ficheiros WEB. Utilizando por exemplo, o “nano”, que é um editor de texto, criamos o ficheiro .htaccess com o seguinte conteúdo: Página 5 Interface WEB para Gestão de Máquinas Virtuais AuthType Basic AuthName Xen Server AuthUserFile /caminho/completo/para/o/ficheiro/.htpasswd <Limit GET> require user isi08 </Limit> Para criar o ficheiro .htpasswd, basta executar os seguintes comandos: htpasswd ‐c .htpasswd isi08 E o sistema irá pedir a Palavra-Passe: Re‐type new password: Inserimos a palavra-passe e carregamos em “Enter”. Para funcionar correctamente, os ficheiros devem ter permissões 644 e o ficheiro de configuração do Apache, deve ter a directiva AllowOverride definida para All para a secção do directório das páginas Web onde se encontra o site. <Directory "/var/www/html"> ... AllowOverride All ... </Directory> Página 6 Interface WEB para Gestão de Máquinas Virtuais c) Implementação da Página WEB Para criar a página WEB, foi utilizado a linguagem PHP, pois era a mais adequada para este tipo de problema. Juntamente com o código PHP, para executar os comandos para realizar a comunicação com a maquina virtual, foram também inseridos comandos do servidor XEN para, como por exemplo, para arrancar, para adicionar e outras funções. 4. Conclusões I. Dificuldades Encontradas A maior dificuldade encontrada durante a realização deste trabalho foi o desenvolvimento da ferramenta em PHP, pois nunca mexemos com esta linguagem de programação. II. Conclusões Obtidas Este trabalho deu-nos para concluir que é possível, a partir de outro computador, aceder a um servidor com várias máquinas virtuais utilizando uma página WEB e graças a este método, poderá ser implementado em muitas empresas para os funcionários acederem aos seus servidores com mais facilidade. III. Perspectivas de Desenvolvimento As perspectivas de Desenvolvimento deste trabalho será melhorar este para que consiga fazer mais funções como por exemplo, clonar uma máquina virtual, alterar o nome da máquina e alterar o seu tamanho do disco. Página 7