Ubuntu Enterprise Cloud, como instalar e configurar uma nuvem Paulo Renato Xavier da Silva, Francisco J.A. de Aquino IFCE, Instituto Federal de Educação, Ciência e Tecnologia do Ceará Av. Treze de Maio, 2081 - Benfica CEP: 60040-531 - Fortaleza – CE, Brasil [email protected], [email protected] Abstract— This article presents a GNU/Linux solution to private cloud using the Canonical's Ubuntu Enterprise Cloud which is based on the Eucalyptus Systems’s Eucalyptus. The goal is to show how simple can be setup, configuration and customization of the cloud and the virtual machines to be deployed in this cloud. And, second, to illustrate the benefits of using a cloud like this. Resumo—Este artigo apresenta uma solução GNU/Linux para nuvem privada, utilizando o Ubuntu Enterprise Cloud da Canonical que se baseia no Eucalyptus da Eucalyptus Systems. Objetivo é mostrar o quão simples pode ser a instalação, configuração e personalização da nuvem e das máquinas virtuais a serem utilizadas nesta nuvem. E, secundariamente, ilustrar os benefícios do uso de uma nuvem como esta. Iaas; nuvem privada; Ubuntu; Eucalyptus; KVM; virtualização I. INTRODUÇÃO O Ubuntu Enterprise Cloud (UEC) é um conjunto de componentes (softwares) open-source compatíveis com as APIs usadas pelos principais serviços da Amazon Web Services (AWS) . Foi lançado de maneira experimental na versão 9.04 do Ubuntu Server onde a sua instalação era feita através de pacotes individuais. Na versão 9.10 possui uma opção de instalação no servidor para preparar um ambiente de nuvem que fornece infraestrutura como serviço. A atual versão, 10.10, que contém os pacotes mais atuais dos aplicativos utilizados pelo UEC e novas funcionalidades, será a utilizada na elaboração deste tutorial. O objetivo do UEC é trazer as vantagens da computação em nuvem, como elasticidade e rapidez na implementação de serviços, para dentro infraestrutura de TI das empresas formando uma nuvem privada. Embora este conceito de nuvem privada não seja muito bem visto pelo fato de ferir premissas básicas da computação em nuvem, outros produtos semelhantes têm aparecido recentemente, com a mesma finalidade. E todos eles possibilitam a migração dos seriços para a nuvem pública por usarem os mesmos padrões de grandes players da computação em nuvem, como a Amazon. O UEC será contextualizado inicialmente e feitos comentários sobre alguns produtos similares. A descrição dos componentes e a instalação de um ambiente básico. Por último a personalização de máquinas virtuais Linux para serem implantadas de forma rápida, sendo possível ter um serviço funcional em questão de minutos. II. A NUVEM A computação em nuvem se trata de um novo paradigma de entrega e implantação de recursos de TI [3]. Recursos como armazenamento, processamento, rede e energia elétrica, são entregues para clientes externos, ou, da perspectiva de um cliente, estes recursos de TI são obtidos de um provedor externo, como um serviço através da Internet e sem nenhum gasto inicial [3] e sem a necessidade de se instalar nada adicional. Outras características da computação em nuvem seriam que estes recursos estão agrupados sob uma camada de abstração que dá ao cliente uma sensação de infinitude de recursos, permitindo uma escalabilidade do serviço de nuvem. A disponibilidade sob demanda é outro aspecto onde o usuário escolhe o recurso baseado em nuvem que vai precisar e começa a utilizá-lo quase de imediato (basta realizar um breve cadastro para isso). Quando não tiver mais a necessidade pode se desfazer do recurso, pois este retornará para nuvem. Isso simplifica várias fases do processo de aquisição. Pois, no método tradicional, até que o serviço chegasse ao usuário final, haveria um intervalo de alguns meses. Além disso, o pagamento do serviço é medido pelo seu tempo de uso, quantidade de acessos, espaço em disco utilizado, ou mesmo processamento (ciclos do processador). Isso elimina alguns problemas como o pagamento de licenças de um software que só será utilizado uma vez por mês, por exemplo. Consequentemente, outra grande vantagem dessa tecnologia, está no fato de não se ter de se preocupar com o que fazer com o hardware obsoleto, ou com a licença de um software que não será mais utilizado. A. Classificação e tipos de serviços A classificação das nuvens se dá a partir do ponto de vista do cliente de quem possui a infraestrutura do data center. Assim podemos classificá-las em públicas e privadas. Sendo que esta última compartilha algumas características da primeira e tem se tornado bastante popular. A classificação ficaria: • Pública. Nuvens onde os recursos são oferecidos ao público geral na forma de autoatendimento, via web, com provisionamento automático dos recursos. Nesse tipo de nuvem o cliente paga pelo que usa e durante o tempo que usar. • Privada. Os recursos são oferecidos, via web, somente à organização possuidora da nuvem. Nesse tipo de nuvem os recursos ofertados são finitos, mas é possível se valer da características como autoatendimento e o provisionamento automático o que confere agilidade aos processos. • • Híbridas. São a junção entre, pelo menos, uma nuvem pública e uma nuvem privada compartilhando os serviços entre si. Isto pode beneficiar as organizações devido ao escalonamento infinito da nuvem pública. Federadas, são nuvens públicas, ou mesmo privadas, que cooperam entre si através de interfaces sem que percam sua autonomia. Os tipos de serviços expostos para os clientes seriam: • Aplicativo como um serviço (SaaS) utiliza a abstração dos serviços das camadas inferiores (IaaS e PaaS) para oferecer aplicativos sob demanda. • Plataforma como um serviço (PaaS) utiliza os serviços da IaaS para oferecer um ambiente de desenvolvimento completo, ou fases deste. • Infraestrutura como um serviço (IaaS), é onde recursos, como processamento, rede e armazenamento, são concatenados e exibidos como recursos infinitos, elásticos, tornando-se assim bastante escalável. AWS é o grande provedor de IaaS com dois serviços populares – Elastic Computing Cloud (EC2) e Simple Storage Service (S3). (discos rígidos e interfaces de rede) é usado Virtio. O Virtio é um padrão de drivers Linux para dispositivos de E/S que permite que os drivers da máquina virtual percebam o ambiente virtual e cooperem com hypervisor para garantir um melhor desempenho. C. Eucalyptus O Eucalyptus[10] é um aplicativo baseado em linux código aberto que, sobre o Ubuntu server, proverá IaaS. Conta como vantagem o fato de ser se basear nas API da AWS, (uma das maiores, senão a maior provedora de computação em nuvem da atualidade) para os serviços EC2, S3 e EBS (Elastic Block Storage). Sendo assim, aplicativos feitos para a AWS que utilizam estas APIs podem ser utilizados com o Eucalyptus. O Eucalyptus converte automaticamente o formato das Amazon Machine Image (AMI) para um formato compatível com o do hypervisor utilizado. Isso torna o ambiente Eucalyptus independente. E permite que uma imagem possa ser levada de uma nuvem UEC para uma nuvem pública da Amazon, sem modificações. Este fato permite que sejam feitos ambientes híbridos. D. Componentes Eucalyptus A infraestrutura do Eucalyptus é composta de cinco componentes: • Controlador de Nó (NC): Será o conjunto de servidores que formarão os recursos computacionais exibidos aos clientes. O NC comunica-se com o hypervisor e repassa os dados das instâncias para o CC. • Controlador de Cluster (CC): Executará o gerenciamento de um, ou mais NCs utilizados na infraestrutura, fará a distribuição e o gerenciamento das instâncias nestes e repassará os dados para o CLC. Apesar de os nós garantirem o isolamento entre as instâncias, o isolamento de tráfego de rede será gerenciado pelo CC através dos modos de rede usado pelo Eucalyptus. O UEC é a junção de tecnologias da Canonical e da Eucalyptus Systems. A escolha do Eucalyptus pelo Ubuntu se deu pelo fato deste ser compatível com as API EC2 e S3 fornecidas pela AWS para formar uma nuvem privada, ou mesmo híbrida, tendo como produto fornecido, IaaS. A tecnologia de virtualização usada pelo Ubuntu seria o KVM (Kernel-based Virtual Machine), sendo este o hypervisor adotado como padrão pela Canonical para o Ubuntu. • Controlador de Armazenamento Walrus (WS3): Provê o serviço simples de armazenamento persistente compatível com as API do S3 da Amazon. O WS3 amazenará as imagens EMI (Ecalyptus Machine Image), e dados dos usuários. • Controlador de Armazenamento (SC): Responsável pela criação e gerenciamento de blocos persistentes de armazenamento utilizados pelas instâncias. B. KVM O KVM [9] é uma solução de virtualização completa para o Linux em hardware x86 que se utiliza das extensões de virtualização (IntelVT ou AMD-V). Ele funciona adicionado módulos que são carregados no kernel. O módulo kvm.ko fornece o núcleo da infraestrutura de virtualização e os módulos intel.ko ou amd.ko são específicos para cada processador. Desta forma, o KVM transforma o kernel de um GNU\Linux em um hypervisor. • Controlador de Nuvem (CLC): Será a interface da infraestrutura da nuvem gerada pelo Eucalyptus. Monitora os recursos e isudonterage com os outros componentes da infraestrutura do Eucalyptus. III. UBUNTU ENTERPRISE CLOUD A. Ubuntu enterprise Cloud O UEC teve o seu inicio na versão 9.04 do Ubuntu Server Edition quando pacotes do Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) foram colocados no repositório oficial do Ubuntu. Logo para se obter o que viria a se tornar o UEC, os pacotes tinham que ser instalados e configurados manualmente. De lá pra cá a instalação do ambiente foi automatizada e inserida na própria instalação da versão para servidores do Ubuntu. Usando o KVM, cada máquina virtual possui o seu próprio hardware virtual, assim é possível executar múltiplas máquinas virtuais rodando imagens Linux ou Windows sem precisar alterá-las. Para melhorar o desempenho de dispositivos de E/S E. Imagens e Instâncias Os usuários podem fazer o download de imagens prontas direto do site da Canonical, do site do Eucalyptus, ou através do próprio UEC. Também é possível criar imagens personalizadas, sendo estas as mais apropriadas devido às características inerentes das instâncias. Eucalyptus Machine Image (EMI) é composta por uma imagem de kernel, por uma de ramdisk, por uma, ou várias, imagens virtuais de disco e por arquivos xml com metadados sobre as imagens. Os arquivos xml de um EMI possuem identificadores como id-emi para identificar a(s) imagem(ns) virtal(is) de disco, id-eki para identificar uma imagem kernel, id-eri para identificar uma imagem ramdisk. Todos estes irão residir no WS3 e usados como moldes para as instâncias no UEC. As instâncias são máquinas virtuais inicializadas na infraestrutura UEC a partir de EMIs publicadas. Na inicialização da instância podem ser definidas características como espaço em disco, memória e número de CPUs. Cada instância pertence a um usuário que pode inicializar e terminála sem autorização prévia. No clico de vida de uma instância quando o usuário solicita a criação de uma instância é verificada as permissões do usuário. Após ter sido inicializada a instância vai para o estado de PENDING. Ao finalizar a inicialização, o estado da instância será RUNNING, onde a máquina virtual pode ser reinicializada. Ao executar o comando para terminar a instância, esta vai para o estado SHUTTING DOWN e depois de devolver os recursos para o UEC, recebe o estado de TERMINATED. aprendizado da criação e do gerenciamento de uma nuvem privada. V. A seguir discutiremos o ambiente onde o UEC foi instalado e testado. Como mostra a Figura 1, foram utilizados três servidores sendo que um será utilizado como cliente do serviço. Neste servidor serão instalados pacotes para a personalização e gerenciamento de máquinas virtuais. Um destes é um serviço de cache dos pacotes utilizados na atualização das máquinas virtuais e servidores. Os outros dois servidores exemplificaram a estrutura mínima aconselhada pela Canonical para instalação do ambiente. No Server1 terá instalado os componentes CLC, CC, SC e WS3. O Server2 terá somente o serviço NC. Outras estruturas podem ser utilizadas, mas não serão abordadas aqui. A Tabela I mostra a configuração dos servidores. A Tabela 2 exibe a configuração de endereçamento IP a ser utilizada na instalação dos servidores. Foi retirada uma faixa de endereços IP (192.168.0.20-192.168.0.30) da rede empresarial para ser utilizados pelas instancias. Durante o estado de PENDING algumas tarefas são realizadas na infraestrutura UEC, como: • • É contatado o CC responsável e o NC onde ficará a instância A imagem copiada do WS3 para o NC, onde uma vez copiada podem ser criadas várias instâncias desta imagem sem a necessidade de uma nova cópia. • É criada um nova interface de rede virtual. • E por fim, uma máquina virtual com base na imagem é executada no KVM e a instância vai para o estado de RUNNING IV. TABELA I. Sistema Cliente1 Server1 Server2 POR QUE UEC? Além do Eucalyptus existem outros produtos voltados para prover IaaS. Entre esses produtos estão OpenStack[11], OpenNebula[12] e este último disponibiliza alguns estudos comparativos entre esses produtos. Redes Externa Compatibilidade com padrões EC2 da AWS; • Interface Web para gerenciamento; • Suporte à hypervisors como KVM, Xen e VMWare; • A possibilidade de criar nuvens híbridas. Se forem verificados outros aspectos como tolerância a falhas de todos os componentes, escalabilidade, números de hypervisors suportados, entre outros; o Eucalyptus está em desvantagem por possuir deficiências em alguns aspectos. Contudo para quesito aprendizado, o Eucalyptus (na forma de UEC) é uma excelente opção. A instalação é rápida e a configuração é mínima se for levado em consideração os dois produtos anteriormente falados. Isto diminui o tempo de Nuvem CONFIGURAÇÃO DO SISTEMA Configuração Processador: AMD Sempron 140 AMD-V: Habilitado Memória: 2GB Armazenamento: 160GB Processador: AMD Opteron AMD-V: Habilitado Memória: 2 GB Armazenamento: 160 GB Processador: Intel Core 2 Quad Q6600 VTx: Habilitado Memória: 2 GB Armazenamento: 250 GB TABELA II. Eles compartilham características com o Eucalyptus, como: • AMBIENTE UTILIZADO Ubuntu Server 10.04 64 bits CLC, CC, SC, Walrus Ubuntu Server 10.04 64 bits NC ENDEREÇAMENTO IP UTILIZADO Configuração Faixa: 192.168.0.0/24 DNS: 192.168.0.254 Gateway: 192.168.0.254 Broadcas: 192.168.0.255 Faixa: 192.168.1.0/24 DNS: 192.168.0.254 Gateway: 192.168.1.1 Broadcas: 192.168.1.255 VI. Outros Ubuntu Desktop 10.04 64 bits Proxy Cliente1 Server1 IP: .1 IP: .2 IP: .1 Server2 IP: .2 INSTALAÇAO E CONFIGURAÇAO A. Cliente1 A instalação do servidor cliente1 será, inicialmente, idêntica à instalação da versão Desktop do Ubuntu. Quando terminar a instalação os pacotes deverão ser atualizados, como sugerido abaixo, $ sudo apt-get upgrade -y update && sudo apt-get e instale os pacotes necessários de acordo com com os comandos que seguem. $ sudo aptitude install euca2ools address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 • Após fazer a configuração reiniciar o serviço de rede; $ sudo /etc/init.d/networking restart • Atualizar os pacotes do Eucalyptus; $ sudo apt-get dist-upgrade -y Figura 1. • Estrutura da nuvem utilizada B. Server1 A instalação do UEC é bastante semelhante à instalação normal de um servidor Ubuntu, há somente umas telas adicionais referentes a instalação e configuração do Eucalyptus. 1) Instalação • Iniciar a instalação através do CD e no menu de instalação, escolher Instalar Ubuntu Enterprise Cloud; update && sudo apt-get Abaixo a instalação do serviço ntp, pois ele garantirá que o Server1 e o Server2 estejam sincronizados para realizarem suas tarefas de forma não ocorrer erros. $ sudo apt-get install ntp • Para configurar o serviço de NTP, edite o arquivo /etc/ntp.conf. Configuração abaixo fará com que este servidor forneça a hora correta mesmo que perca o acesso à internet, utilizando o seu relógio interno como fonte; server 127.127.1.0 fudge 127.127.1.0 stratum 10 • Configure a interface de rede que será usada para a acessar a rede Externa de acordo com a Tabela II; • • Deixar em branco o endereço do Cloud Controller; $ sudo /etc/init.d/ntp restart • No Cloud Instalation Mode deixar marcadas as opções Cloud controller, Walrus storage server, Cluster controler, Storage controller; $ sudo restart eucalyptus-cc CLEAN=1 • Usar a interface de rede restante para ser a interface de para comunicações com o(s) NC(s); • Particionar o disco utilizando o sistema de arquivo Ext3. Isso não é mencionado pela Canonical, mas durante a construção deste laboratório, houveram problemas como travamento dos servidores, devido a problemas no sistema de arquivos Ext4; Reiniciar os serviços de ntp e CC para as configurações tenham efeito. C. Server2 A instalação do Server2 como NC requer menos passos. Se a comunicação com o Server1 estiver correta, um script será baixado e configurará boa parte do Server2 sem a necessidade de intervenção. 1) Instalação • Iniciar a instalação através do CD e no menu de instalação, escolha Instalar Ubuntu Enterprise Cloud. • Nome do cluster – meucluster; • • Endereços IP Eucalyptus – 192.168.0.20-192.168.0.30. Estes endereços IP serão associados às instâncias quando estas forem criadas. Configure somente a interface de rede para comunicação com o server1 de acordo com a Tabela II. • O endereço do Cloud Controller é o endereço da interface de rede do Server1, 192.168.0.1. • No Cloud Instalation Mode escolher somente a opção Node controller. • Particionar o disco utilizando o sistema de arquivo Ext3. 2) Configuração A instalação padrão do UEC configura a rede da nuvem para Managed-NOVLAN. Este modo permite filtrar o tráfego de entrada para as máquinas virtuais, mas não a saída, sendo necessária a criar ACLs para garantir acesso aos serviços. Outras características deste modo é que os IPs são atribuídos automaticamente às máquinas virtuais e que não são utilizadas VLANs para isolá-las. Seguem alguns passos pós-instalação do servidor Server1. Estes seguem: • Configurar a interface de rede para comunicação com o(s) NC(s) como sugere abaixo; auto eth1 iface eth1 inet static 2) Configuração A pós-configuração do Server2 assemelha-se um pouco com a do server1, seguem os passos: • Caso não tenha sido configurado na instalação, adicionar o servidor de DNS da rede Externa ao arquivo /etc/resolv.conf; nameserver 192.168.0.254 • Atualize os pacotes do Eucalyptus para ter a certeza de que recebeu as últimas correções; $ sudo apt-get dist-upgrade -y • update && sudo apt-get Instalar os pacotes ntp e openssh-server; A. Criação de uma máquina virtual $ sudo apt-get install ntp • este não consegue aumentar o tamanho original da imagem criada. • Fazer o download da imagem mais apropriada em http://uec-images.ubuntu.com/releases/; Adicionar a seguinte linha ao arquivo /etc/ntp.conf; • server 192.168.0.1 Extrair o arquivo .img do pacote; Reiniciar os serviços de ntp e NC; • A partição raiz da imagem não possui muito espaço em disco, embora seja possível quando for instanciar a imagem solicitar valores como 5, ou 10 GB de espaço em disco, este espaço não será alocado para a partição raiz e sim para o /mnt. Assim, para modificar o tamanho da partição raiz da imagem, prossigir; $ sudo /etc/init.d/ntp restart $ sudo resize2fs <nome_da_imagem>.img 3G • Abrir o arquivo /etc/eucalyptus/eucalyptus.conf e fazer as seguintes alterações; VNET_PUBINTERFACE=”br0” VNET_PRIVINTERFACE=”br0” • • Confirmar se ocorreu tudo bem com a modificação com o comando; $ sudo restart eucalyptus-nc-publication $ sudo restart eucalyptus-nc • É preciso que seja transferida uma cópia da chave pública do ssh do Server1 para o Server2 para configurar a autenticação sem senha para o usuário eucalyptus. Primeiro habilitar temporariamente a senha do usuário eucalyptus no Server2; $ sudo passwd eucalyptus • No Server1, transferir uma cópia da chave pública do ssh do usuário eucalyptus; $ sudo -u eucalyptus ssh-copy-id ~eucalyptus/.ssh/id_rsa.pub [email protected] • -i Agora remover a senha do usuário eucalyptus no Server2. $ sudo passwd -d eucalyptus VII. GERENCIAMENTO DE IMAGENS Existem algumas formas de se ter uma imagem de máquina virtual para ser usada com o UEC. Usando o próprio Eucalyptus, podem ser baixadas imagens prontas para o uso em https://192.168.0.2:8443/#store e em https://192.168.0.2:8443/#extras. Depois de baixada, a imagem estará publicada no Server1 bastando somente executar um comando para configurar e instanciar a imagem. Após poucos minutos (dependendo dos recursos a serem alocados) a máquina virtual está pronta para ser acessada. Mas esta máquina virtual não possui nada mais do que o sistema operacional básico. A sugestão a seguir é para evitar esse problema de não persistência preparando uma imagem com o que for necessário, obtendo-se, como produto final, perfis de máquinas virtuais para determinadas tarefas. Existem outras formas além da que será apresentada, como instalar uma máquina virtual através do KVM a partir de um CD de instalação. Este processo torna-se inconveniente por necessitar de muito tempo para a instalação, configuração de arquivos e por precisar de muitos comandos para publicar a imagem no UEC. Mas o problema principal com este procedimento é que quando a imagem é instanciada no UEC, $ sudo fsck.ext3 -f <nome_da_imagem>.img • Associar a imagem a um dispositivo loopback para ser montada. Assim é possível modificar os arquivos de configuração e copiar arquivos para a imagem; $ mkdir imagem $ sudo losetup <nome_da_imagem>.img /dev/loop2 $ sudo mount /dev/loop2 imagem/ • Para que ser possível instalar os pacotes, será utilizado o chroot, que tornará o diretório imagem/ no diretório raiz do sistema. Para garantir o uso da interface de rede do servidor Cliente1, executar os comandos abaixo; $ sudo mount -o bind /dev imagem/dev/ $ sudo mount -o bind /proc imagem/proc/ $ sudo mount -o bind /sys imagem/sys/ • Executar chroot; $ sudo chroot imagem/ • Garantir o acesso à internet modificando o arquivo /etc/resolv.conf para o servidor de DNS da rede externa. nameserver 192.168.0.254 • Instalar os serviços necessários. Devido a erros durante a instalação dos pacotes, o pacote de linguagem adequado deve ser instalado (no caso language-pack-pt). # apt-get install language-pack-pt • Após feitas as mudanças necessárias, parar os serviços que foram instalados antes de sair do chroot isso evitarará problemas quando for desmontar os diretórios; # /etc/init.d/<serviço> stop • Sair do chroot, desmontar os diretórios e substituir a imagem original do pacote .tar.gz pela que foi modificada, utilizando os comandos a seguir; # exit $ sudo umount imagem/dev/ $ euca-run-instances <id_da_EMI> -k chave -t c1.medium -g default $ sudo umount imagem/proc/ • $ sudo umount imagem/sys/ Para acompanhar o estado da instância; $ watch -n 5 $ sudo umount imagem/ euca-describe-instances $ sudo losetup -d /dev/loop2 • • $ euca-authorize -P tcp -p 22 -s 0.0.0.0/0 default Para publicar a imagem recém-criada, executar. $ uec-publish-tarball my_bucket amd64 mytarfile.tar.gz • • Salvar as credenciais no diretório ~/.euca. • Descompactar o arquivo. • Entre as credenciais existe um arquivo fonte que deve ser executado para que as variáveis utilizadas pelo euca2ools sejam configuradas corretamente; $ . ~/.euca/eucarc • Para se torne automática a configuração das variáveis ambiente para o euca2ools, usar o comando. $ echo "[ -r ~/.euca/eucarc ~/.euca/eucarc" >> ~/.bashrc • • ] && . • euca-terminate-intances VIII. CONCLUSÃO Montar uma nuvem para prover IaaS pode ser visto como uma tarefa árdua, mas o UEC ajuda a simplificar esta tarefa e, com o auxilio de algumas ferramentas. Com um mínimo de infraestrutura, é possível ter um ambiente de nuvem para testes de migração de sistemas para uma nuvem pública, ou mesmo para uso definitivo. Laboratórios acadêmicos podem se beneficiar enormemente desse tipo de estrutura por reduzir o tempo de implantação de um ambiente de teste e a preocupação com o que fazer com ele após a sua utilização. Sem contar com a melhor utilização dos recursos computacionais e de energia. Estudos e comparações sobre o UEC e outras nuvens, tornam mais simples as tomadas de decisão por optar, ou não por computação em nuvem dentro, ou fora de ambientes acadêmicos, ou empresas. Para verificar a disponibilidade de recursos da nuvem; Caso apareça 0 virtual CPUs em free / max na saída do comando acima, significa que o Server2 não foi registrado automaticamente pelo Server1. Para tanto é necessário executar o comando abaixo no Server1. Quando solicitado, aprove a adição do servidor 192.168.1.2 como Node Controller. $ sudo euca_conf --discover-nodes • Para terminar uma instância. $ <id_da_instância> REFERÊNCIAS $ euca-describe-availability-zones verbose • Para reiniciar uma instância. $ euca-reboot-instances <id_da_instância> Para gerenciar é necessário baixar as credenciais do usuário a partir de; https://192.168.0.2:8443/#credentials Para acessar a instância. $ ssh -i chave.priv [email protected] B. Instanciando a imagem O gerenciamento das imagens é feito usando o euca2ools que fora instalado anteriormente no Cliente1. Euca2ools é um conjunto de ferramentas criadas pela Eucalyptus utilizadas em tarefas administrativas de imagens, instâncias, armazenamento, rede, entre outros. • Para garantir acesso via ssh à instância. Para fins de autenticação é necessário gerar uma chave de segurança para ser usada na criação da instância e na autenticação do acesso à mesma. $ cd ~/.euca $ euca-add-keypair chave > chave.priv $ chmod 600 chave.priv • O id-emi das imagens publicadas no UEC encontramse em https://192.168.0.2:8443/#images; • De posse da id-emi da imagem o comando para instanciá-la é o seguinte; [1] Velte, Anthony T., Velte, Toby J., Elsenpeter, Robert Cloud Computing: A Practical Approach. McGraw-Hill, 2010. [2] Kurose, James F., Ross, Keith W., Redes de Computadores e a Internet: uma Abordagem. Pearson, 2007. [3] Stanoevska-Slabeva, Katarina, Wozniak, Thomas, Ristol, Santi, Grid and Cloud Computing: A Business Perspective on Tecnology and Applications. Springer-Verlag Berlin Heidelberg, 2010. [4] Reese, George, Cloud Aplication Architectures. O’Reilly, 2009. [5] http://www.gta.ufrj.br/grad/10_1/nuvem/eucalyptus.html, acessado em 19/10/2010. [6] http://www.ossramblings.com/customizing-uec-images, acessado em 19/10/2010. [7] D, Johnson, Murari, Kiran, Raju, Murthy, RB, Suseendran, Girikumar, Yogesh, Eucalyptus Beginner’s Guide – UEC Edition. CSS Corp, 2010. [8] Intel Cloud Builder Guide to Cloud Design and Deployment on Intel Platforms - Ubuntu Enterprise Cloud. Intel, 2010. [9] KVM, http://www.linux-kvm.org/. [10] Eucalyptus, http://open.eucalyptus.com/. [11] OpenStackhttp://www.openstack.org/. [12] OpenNebula, http://opennebula.org/.