Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

11
20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82 https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 1/11 lipe.82 Navegação Initiation Inverte java Sitemap Atividade recente no site Benchmark NAS no BOINC editado por Felipe Gutierrez Computação voluntária com BOINC no Ubuntu 12.10 editado por Felipe Gutierrez Benchmark NAS no BOINC editado por Felipe Gutierrez nas editado por Felipe Gutierrez Dia-a-dia item adicionado por Felipe Gutierrez View All Initiation > Dia-a-dia > Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 Manual de instalação do Eucalyptus 3.1.2 no Front-end e no Node Controller com o hipervisor Xen 4.1 no Ubuntu 12.04 O EUCALYPTUS O EUCALYPTUS é um software framework open-source para computação em nuvem (http://www.eucalyptus.com ). Ele implementa o que é comumente referenciado para modelos IaaS (Infrastructure as a Service). Ou seja, sistemas que oferecem aos usuários a habilidade de executar e controlar totalmente instâncias de máquinas virtuais, que são implementadas em uma variedade de recursos físicos. A IaaS é a camada mais baixa de computação em nuvem. É nela que é possível provêr uma fundação sólida no topo de linguagem, serviço e nível de aplicação para serem explorados e desenvolvidos. Este artigo pode ser encontrado em http://ieeexplore.ieee.org/xpl/articleDetails.jsp? tp=&arnumber=5071863&contentType=Conference+Publications&searchField%3DSearch_All%26queryText%3Deucalyptus . A arquitetura do EUCALYPTUS permite o usuário iniciar, controlar, acessar e terminar máquinas virtuais usando uma emulação do Amazon EC2's SOAP (http://aws.amazon.com/ec2/ ) e interfaces Query. As máquinas virtuais suportadas são as que são executadas nos hipervisores KVM/QEMU (http://www.linux-kvm.org/ ), no Vmware (http://www.vmware.com/ ) e no Xen (http://www.xen.org/ ). Sua arquitetura foi projetada de uma forma que cada componente de sistema de alto nível seja implementado como um Web-Service stand-alone, que opera sozinho. Isto foi feito por dois motivos. Cada Web-Service terá uma uma linguagem de API mais bem definida para o modelo de WSDL, contendo as operações que um serviço pode operar e estruturas de entrada e saída. E também é possível influenciar características de Web-Service como políticas de segurança (WS-Secutiry policies), para a comunicação segura entre os componentes. Os componentes do EUCALYPTUS são divididos em três níveis altos. O Instance Manager, o Group Manager e o Cloud Manager. O Gerenciador de Instancias (Instance Manager - IM) controla a execução, inspeção e término de máquinas virtuais no host onde ela está sendo executada. O IM faz consultas para descobrir recursos físicos no node como número de cores, tamanho da memória, espaço de disco disponível. As informações coletadas são propagadas para o GM. O Gerenciador de Grupo (Group Manager - GM) reúne informações sobre agendamento de execução de máquinas virtuais com gerenciadores de máquinas específicas, assim como gerencia instancias virtuais na rede. Este recurso é executado geralmente numa máquina de cluster front-end, ou numa máquina que está conectada nos nodes de uma IM e para as máquinas que estão executando CM. O GM é responsável por configurar um controle de rede virtual de instancias, que todas as instancias de máquinas virtuais deve se comunicar. Isto também deve funcionar quando estas instâncias estão sendo executadas em máquinas distribuídas em grandes áreas e eventualmente protegidas com firewalls. Para implementar isto, o gerenciador de grupos usa um software do projeto Virtual Distributed Ethernet (VDE - http://vde.sourceforge.net/ ). Finalmente, o Gerenciador de Nuvem (Cloud Manager - CM) é o ponto de entrada para usuários e administradores de cloud. Ele é responsável por consultar gerenciadores de pontos para informação de recursos, faz decisões de agendamento de alto nível e implementa eles fazendo requisições para os Gerenciadores de Grupo. O Gerenciador de Nuvem é dividido em três camadas. Os serviços de interface, os serviços de dados e os serviços de recursos. Os serviços de interface são apresentados como interfaces visíveis para os usuários, que se responsabilizam pela autenticação, protocolo de translação e ferramentas de gerenciamento de sistema. Os serviços de dados gerenciam a persistência de usuários e o sistema de dados. Os serviços de recursos gerenciam alocação e monitoram os recursos ativos das máquinas virtuais. DEPENDÊNCIAS O Eucalyptus tem como dependência a instalação do Java. Para isto faça download da versão mais nova do JDK através do site http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html e configure o java no classpath do sistema operacional. No linux basta incluir estas linhas no arquivo /etc/profile. Utilize a versão do java que você fez download. # tar -vzxf jdk-7u10-linux-x64.tar.gz # mkdir /usr/java # mv jdk1.7.0_10/ /usr/java/ # vi /etc/profile export JAVA_HOME="/usr/java/jdk1.6.0_34" export PATH=${JAVA_HOME}/bin:${PATH} E depois execute os comandos abaixo para certificar que as configurações feitas estão corretas: # source /etc/profile # echo $JAVA_HOME # java -version Precisamos também sincronizar o relógio das máquinas que irão participar do nosso sistema Eucalyptus. Para isso instalamos o ntp nos Node-Controller e no Cloud-Controller. Depois sincronizamos o relógio. # apt-get install ntp # apt-get install ntpdate # ntpdate -u ntp.ufba.br CRIAÇÃO DAS CHAVES PÚBLICAS No arquivo /etc/hosts coloque o IP das máquinas que fazem parte do sistema Eucalyptus e seus respectivos hostnames. Este comando gera uma chave privada (id_rsa) e uma pública (id_rsa.pub): # ssh-keygen -t rsa -f ~/.ssh/id_rsa Pesquisar o site

Transcript of Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

Page 1: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 1/11

lipe.82Navegação

Initiation

Inverte java

Sitemap

Atividade recente nosite

Benchmark NAS no

BOINCeditado por Felipe Gutierrez

Computação voluntária

com BOINC no Ubuntu

12.10editado por Felipe Gutierrez

Benchmark NAS no

BOINCeditado por Felipe Gutierrez

naseditado por Felipe Gutierrez

Dia-a-diaitem adicionado por Felipe

Gutierrez

View All

Initiation > Dia-a-dia >

Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04

Manual de instalação do Eucalyptus 3.1.2 no Front-end e no Node Controller com o hipervisor Xen 4.1 noUbuntu 12.04

O EUCALYPTUS

O EUCALYPTUS é um software framework open-source para computação em nuvem (http://www.eucalyptus.com). Eleimplementa o que é comumente referenciado para modelos IaaS (Infrastructure as a Service). Ou seja, sistemas queoferecem aos usuários a habilidade de executar e controlar totalmente instâncias de máquinas virtuais, que sãoimplementadas em uma variedade de recursos físicos. A IaaS é a camada mais baixa de computação em nuvem. É nelaque é possível provêr uma fundação sólida no topo de linguagem, serviço e nível de aplicação para serem explorados edesenvolvidos. Este artigo pode ser encontrado em http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5071863&contentType=Conference+Publications&searchField%3DSearch_All%26queryText%3Deucalyptus.A arquitetura do EUCALYPTUS permite o usuário iniciar, controlar, acessar e terminar máquinas virtuais usando umaemulação do Amazon EC2's SOAP (http://aws.amazon.com/ec2/) e interfaces Query. As máquinas virtuais suportadassão as que são executadas nos hipervisores KVM/QEMU (http://www.linux-kvm.org/), no Vmware(http://www.vmware.com/) e no Xen (http://www.xen.org/). Sua arquitetura foi projetada de uma forma que cadacomponente de sistema de alto nível seja implementado como um Web-Service stand-alone, que opera sozinho. Isto foifeito por dois motivos. Cada Web-Service terá uma uma linguagem de API mais bem definida para o modelo de WSDL,contendo as operações que um serviço pode operar e estruturas de entrada e saída. E também é possível influenciarcaracterísticas de Web-Service como políticas de segurança (WS-Secutiry policies), para a comunicação segura entreos componentes.Os componentes do EUCALYPTUS são divididos em três níveis altos. O Instance Manager, o Group Manager e o CloudManager.O Gerenciador de Instancias (Instance Manager - IM) controla a execução, inspeção e término de máquinas virtuais nohost onde ela está sendo executada. O IM faz consultas para descobrir recursos físicos no node como número de cores,tamanho da memória, espaço de disco disponível. As informações coletadas são propagadas para o GM.O Gerenciador de Grupo (Group Manager - GM) reúne informações sobre agendamento de execução de máquinasvirtuais com gerenciadores de máquinas específicas, assim como gerencia instancias virtuais na rede. Este recurso éexecutado geralmente numa máquina de cluster front-end, ou numa máquina que está conectada nos nodes de uma IM epara as máquinas que estão executando CM. O GM é responsável por configurar um controle de rede virtual deinstancias, que todas as instancias de máquinas virtuais deve se comunicar. Isto também deve funcionar quando estasinstâncias estão sendo executadas em máquinas distribuídas em grandes áreas e eventualmente protegidas comfirewalls. Para implementar isto, o gerenciador de grupos usa um software do projeto Virtual Distributed Ethernet (VDE -http://vde.sourceforge.net/).Finalmente, o Gerenciador de Nuvem (Cloud Manager - CM) é o ponto de entrada para usuários e administradores decloud. Ele é responsável por consultar gerenciadores de pontos para informação de recursos, faz decisões deagendamento de alto nível e implementa eles fazendo requisições para os Gerenciadores de Grupo.O Gerenciador de Nuvem é dividido em três camadas. Os serviços de interface, os serviços de dados e os serviços derecursos. Os serviços de interface são apresentados como interfaces visíveis para os usuários, que se responsabilizampela autenticação, protocolo de translação e ferramentas de gerenciamento de sistema. Os serviços de dados gerenciama persistência de usuários e o sistema de dados. Os serviços de recursos gerenciam alocação e monitoram os recursosativos das máquinas virtuais.

DEPENDÊNCIAS

O Eucalyptus tem como dependência a instalação do Java. Para isto faça download da versão mais nova do JDK atravésdo site http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html e configure o java noclasspath do sistema operacional. No linux basta incluir estas linhas no arquivo /etc/profile. Utilize a versão do java quevocê fez download.

# tar -vzxf jdk-7u10-linux-x64.tar.gz# mkdir /usr/java# mv jdk1.7.0_10/ /usr/java/# vi /etc/profileexport JAVA_HOME="/usr/java/jdk1.6.0_34"export PATH=${JAVA_HOME}/bin:${PATH}

E depois execute os comandos abaixo para certificar que as configurações feitas estão corretas:# source /etc/profile# echo $JAVA_HOME# java -version

Precisamos também sincronizar o relógio das máquinas que irão participar do nosso sistema Eucalyptus. Para issoinstalamos o ntp nos Node-Controller e no Cloud-Controller. Depois sincronizamos o relógio.# apt-get install ntp# apt-get install ntpdate# ntpdate -u ntp.ufba.br

CRIAÇÃO DAS CHAVES PÚBLICAS

No arquivo /etc/hosts coloque o IP das máquinas que fazem parte do sistema Eucalyptus e seus respectivos hostnames.

Este comando gera uma chave privada (id_rsa) e uma pública (id_rsa.pub):# ssh-keygen -t rsa -f ~/.ssh/id_rsa

Pesquisar o site

Page 2: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 2/11

Crie um arquivo em ~/.ssh/config com o seguinte conteúdo.StrictHostKeyChecking no

Copiamos a chave pública para a outra máquina:# scp id_rsa.pub [email protected]:~/.ssh/id_rsa.pub.6

Adicionamos o conteúdo dela no arquivo “.ssh/authorized_keys” e modificamos sua permissão:# cat id_rsa.pub.6 >> authorized_keys# chmod 600 authorized_keys

Depois adicionamos o arquivo com o comando ssh-add:# ssh-add authorized_keys

INSTALAÇÃO DO EUCALYPTUS

Instalação da chave pública no computador front-end e no node-controller:Copie o link da chave pública do site http://www.eucalyptus.com/eucalyptus-cloud/security/keysProvavelmente será este: http://www.eucalyptus.com/sites/all/files/c1240596-eucalyptus-release-key.pub

Faça o download desta chave públic através do wget:# wget http://www.eucalyptus.com/sites/all/files/c1240596-eucalyptus-release-key.pub

Agora adicione esta chave pública no sistema operacional:# apt-key add c1240596-eucalyptus-release-key.pub

Acesse o diretório “/etc/apt/sources.list.d” e crie o arquivo “eucalyptus.list” com o conteúdo abaixo.# cd /etc/apt/sources.list.d# cat eucalyptus.listdeb http://downloads.eucalyptus.com/software/euca2ools/2.1/ubuntu precise main

Crie também o arquivo “euca2ools.list” com o conteúdo abaixo no mesmo diretório.# cat euca2ools.listdeb http://downloads.eucalyptus.com/software/eucalyptus/3.1/ubuntu precise main

Depois de criar estes dois arquivos nas máquinas de front-end e node-controller você pode executar o update paraadicionar o repositório do eucalyptus no sistema operacional.# apt-get update

Agora vamos instalar o Eucalyptus na máquina front-end:# apt-get install eucalyptus-cloud# apt-get install eucalyptus-cc# apt-get install eucalyptus-sc# apt-get install eucalyptus-walrus

E agora o Eucalyptus controller no node-controller# apt-get install eucalyptus-nc

Agora vamos testar a conexão multicast entre o walrus e o cloud-controller. Abra dois terminais na máquina front-end eexecute cada um deste comando em cada terminal. Você perceberá a comunicação entre estes componentes.# java -classpath /usr/share/eucalyptus/jgroups-2.11.1.Final.jarorg.jgroups.tests.McastReceiverTest -mcast_addr 224.10.10.10 -port 5555

# java -classpath /usr/share/eucalyptus/jgroups-2.11.1.Final.jarorg.jgroups.tests.McastSenderTest -mcast_addr 224.10.10.10 -port 5555

CONFIGURANDO O EUCALYPTUS

O arquivo “/etc/eucalyptus/eucalyptus.conf” é o coração do Eucalyptus. Ele pode funcionar em quatro modulosdiferentes, SYSTEM, STATIC, MANAGED e MANAGED-NOVLAN. Por padrão vamos configurar o SYSTEM. Os modosSTATIC, MANAGED e MANAGED-NOVLAN necessitam o servidor DHCP instalado na mesma máquina do Eucalyptus,o SYSTEM não. Vamos também utilizar o hypervisor padrão do Ubuntu, o KVM. Depois iremos alterar para o XEN. Amáquina que servirá como um nó do Eucalyptus deve ter o hardware que permite a execução do KVM. Para verificar issoexecute o comando kvm-ok.

# kvm-okINFO: /dev/kvm existsKVM acceleration can be used

No Cloud-Controller /etc/eucalyptus/eucalyptus.conf. Perceba que o parametro NODES já está configurado com o node-controller que adicionamos.# vi /etc/eucalyptus/eucalyptus.confEUCALYPTUS="/"EUCA_USER="eucalyptus"CLOUD_OPTS=" --java-home=/usr/lib/jvm/default-java"LOGLEVEL="DEBUG"NC_PORT="8775"CC_PORT="8774"SCHEDPOLICY="ROUNDROBIN"NODES="192.168.188.7"NC_SERVICE="axis2/services/EucalyptusNC"HYPERVISOR="kvm"

Page 3: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 3/11

USE_VIRTIO_ROOT="0"USE_VIRTIO_DISK="0"USE_VIRTIO_NET="0"INSTANCE_PATH="/var/lib/eucalyptus/instances"VNET_MODE="SYSTEM"VNET_SUBNET="192.168.188.0"VNET_NETMASK="255.255.255.0"

Nos nodes-controller temos que configurar as propriedades de acordo com a bridge do Xen.# vi /etc/eucalyptus/eucalyptus.confEUCALYPTUS="/"EUCA_USER="eucalyptus"CLOUD_OPTS=" --java-home=/usr/lib/jvm/default-java"LOGLEVEL="DEBUG"NC_PORT="8775"CC_PORT="8774"SCHEDPOLICY="ROUNDROBIN"NODES=""NC_SERVICE="axis2/services/EucalyptusNC"HYPERVISOR="kvm"USE_VIRTIO_ROOT="0"USE_VIRTIO_DISK="0"USE_VIRTIO_NET="0"INSTANCE_PATH="/var/lib/eucalyptus/instances"VNET_MODE="SYSTEM"VNET_PUBINTERFACE="br0"VNET_BRIDGE="br0"

Mais informações sobre a configuração do modo SYSTEM pode ser encontrada emhttp://www.eucalyptus.com/docs/3.2/ig/nw_system.html

INICIALIZANDO O EUCALYPTUS

Na máquina front-end tente inicializar a base de dados. Depois inicialize o Cloud Controller.# /usr/sbin/euca_conf --initializeInitializing Database...Initialize command succeeded

# service eucalyptus-cloud start* Starting Eucalyptus services [ OK ]

# service eucalyptus-cc start* Starting Eucalyptus cluster controller eucalyptus-cc Enabling IP forwarding [ OK ]

Na máquina do node-controller execute o comando para iniciar o Eucalyptus Node Controller:# service eucalyptus-nc start* Starting Eucalyptus services eucalyptus-nc [ OK ]

Para verificar se os serviços foram iniciados, utilize os comandos abaixo.# netstat -na | grep 8773# netstat -na | grep 8774# netstat -na | grep 8775

Os logs ficam em “/var/log/eucalyptus/”.# ls -l /var/log/eucalyptus/

Para registrar o walrus na máquina front-end execute este comando. O IP é o da máquina front-end e o component éuma combinação do walrus com o IP. Ele deve ser único.# euca_conf --register-walrus --partition walrus --host 192.168.188.6 --componentwalrus-192.168.188.6No credentials found, attempting local authenticationRESPONSE trueTrying rsync to sync keys with 192.168.188.6The authenticity of host '192.168.188.6 (192.168.188.6)' can't be established.ECDSA key fingerprint is 71:64:58:36:7a:62:8f:39:c4:93:28:bd:62:df:b4:15.Are you sure you want to continue connecting (yes/no)? [email protected]'s password:done

Você pode listar o walrus agora.# euca_conf --list-walrusesNo credentials found, attempting local authenticationWALRUS walrus walrus-192.168.188.6 192.168.188.6 ENABLED {}

Depois registramos o Cloud Controller:

Page 4: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 4/11

# euca_conf --register-cluster --partition cluster01 --host 192.168.188.6 --componentcc-192.168.188.6No credentials found, attempting local authenticationRESPONSE trueTrying rsync to sync keys with [email protected]'s password:done

Você pode listar os clusters agora:# euca_conf --list-clustersNo credentials found, attempting local authenticationCLUSTER cluster01 cc-192.168.188.6 192.168.188.6 ENABLED {}

Agora iremos registrar o SC:# euca_conf --register-sc --partition cluster01 --host 192.168.188.6 --component sc-192.168.188.6No credentials found, attempting local authenticationRESPONSE trueTrying rsync to sync keys with [email protected]'s password:done# euca_conf --list-scsNo credentials found, attempting local authenticationSTORAGECONTROLLER cluster01 sc-192.168.188.6 192.168.188.6 ENABLED{}

Agora vamos registrar os Nodes-Controller no servidor Eucalyptus:# euca_conf --register-nodes "192.168.188.7"

Para listar os nodes registrados execute o comando abaixo:# euca_conf --list-nodes

Caso o node não tenha sido registrado, é possível que os relógios estejam dessincronizados:# ntpdate -u ntp.ufba.br

Talvez você precise apenas reiniciar o serviço do Node-controller:# /etc/init.d/eucalyptus-nc restart

Ou ainda será necessário desregistrar o cluster, registrar o cluster novamente e depois disso, registrar o nodenovamente:# euca_conf --deregister-cluster cluster01 cc-192.168.188.6# euca_conf --deregister-sc cluster01 sc-192.168.188.6# euca_conf --deregister-nodes “192.168.188.7”No credentials found, attempting local authenticationRESPONSE true# euca_conf --register-cluster --partition cluster01 --host 192.168.188.6 --componentcc-192.168.188.6# euca_conf --list-cluster# euca_conf --register-sc --partition cluster01 --host 192.168.188.6 --component sc-192.168.188.6# euca_conf --list-scs# euca_conf --register-nodes "192.168.188.7"# euca_conf --list-nodes

Para verificar se tudo está ok com o Eucalyptus execute o comando abaixo.# euca-describe-services -E

Se o serviço de DNS do Eucalyptus estiver quebrado (BROKEN), é porque existe outro serviço de DNS sendo executadona máquina. Execute o comando abaixo para verificar isto:# ps -ef | grep dnsnobody 1725 807 0 13:51 ? 00:00:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.0.1 --conf-file=/var/run/nm-dns-dnsmasq.conf--cache-size=0 --proxy-dnssec

Termine o serviço de DNSMASK e altere o arquivo abaixo para que ele não inicie com o sistema operacional.# kill 1725# vi /etc/NetworkManager/NetworkManager.conf#dns=dnsmasq

GERANDO AS CREDENCIAIS DE ADMINISTRAÇÃO

Gere as credenciais de administração do Eucalyptus:# euca_conf --get-credentials admin.zip# unzip admin.zip# ls -ltotal 32-rw-r--r-- 1 root root 5066 Jan 8 14:32 admin.zip-rw------- 1 root root 1147 Jan 8 14:32 cloud-cert.pem

Page 5: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 5/11

-rw------- 1 root root 1131 Jan 8 14:32 euca2-admin-f8f3ed24-cert.pem-rw------- 1 root root 1679 Jan 8 14:32 euca2-admin-f8f3ed24-pk.pem-rw------- 1 root root 1022 Jan 8 14:32 eucarc-rw------- 1 root root 90 Jan 8 14:32 iamrc-rw------- 1 root root 873 Jan 8 14:32 jssecacerts# source eucarc

Se os nodes estiverem corretamente configurados, o comando abaixo irá mostrar as configurações de imagensdisponíveis no Eucalyptus. Se você registrou os nodes no Cloud-Controller antes de gerar as chaves públicas e configurá-las nos nodes e no cloud-Controller, provavelmente você não verá zonas disponíveis no Eucalyptus. Será necessárioregistrar os nodes novamente.# euca-describe-availability-zones verboseAVAILABILITYZONE cluster01 192.168.188.6arn:euca:eucalyptus:cluster01:cluster:cc-192.168.188.6/AVAILABILITYZONE |- vm types free / max cpu ram diskAVAILABILITYZONE |- m1.small 0004 / 0004 1 128 2AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 10AVAILABILITYZONE |- m1.xlarge 0001 / 0001 2 1024 20AVAILABILITYZONE |- c1.xlarge 0000 / 0000 4 2048 20

Neste momento você já pode acessar o Eucalyptus pela URL no Cloud-Controller através do endereçohttps://192.168.188.6:8443/. O usuário e a senha são admin/admin. no primeiro acesso você poderá alterar a senha.Caso o site ainda não esteja disponível e você receba o erro abaixo ao iniciar o Cloud-Controller, realize as seguintesalterações no usuário do Eucalyptus:

Erro:# service eucalyptus-cc start* Starting Eucalyptus cluster controller eucalyptus-ccThe following messages should be reviewed: Running eucalyptus as rootSyntax error on line 17 of /etc/eucalyptus/httpd-cc.conf:Error:\tApache has not been designed to serve pages while running as root. There areknown race conditions that will allow any local user to read any file on the system. Ifyou still desire to serve pages as root then add -DBIG_SECURITY_HOLE to the CFLAGS envvariable and then rebuild the server. It is strongly suggested that you instead modifythe User directive in your httpd.conf file to list a non-root user.

Failed to start the CC!

Solução:

Altere a propriedade EUCA_USER="root" no arquivo eucalyptus.conf# vi /etc/eucalyptus/eucalyptus.confEUCA_USER="eucalyptus"

Reinicie os serviços do Eucalyptus e o serviço do Apache. Este comando # /etc/init.d/eucalyptus-cc cleanrestart# /etc/init.d/eucalyptus-cloud restart# /etc/init.d/eucalyptus-nc restart# /etc/init.d/apache2 restart

Agora estamos habilitados para executar comandos Eucalyptus.

Vamos agora executar as ações de um usuário administrador no Eucalyptus.http://www.eucalyptus.com/docs/3.2/ug/

GERANDO AS CREDENCIAIS DE ADMINISTRAÇÃO DE OUTRA FORMA

Este procedimento é o mesmo que foi feito através do comando “euca_conf --get-credentials admin.zip”. Se vocêexecutou ele com sucesso, pode pular esta parte.Entre no site de administração do Front-end (https://192.168.188.6:8443/), clique no usuário e no link “Download newcredentials”. Faça o download do arquivo zip em um diretório conhecido, mude sua permição e descompacte o arquivo.# chmod 0700 euca/# cd euca/# unzip euca2-admin-x509.zip# chmod 0600 *

No arquivo “eucarc” estarão as variáveis de ambiente que devem ser configuradas. Carregue este arquivo para configuraras variáveis de ambiente.# cat eucarc# source eucarc

ADICIONANDO UMA IMAGEM DO EUSTORE

Escolha uma imagem.# eustore-describe-images0400376721 fedora x86_64 starter Fedora 16 x86_64 - SELinux / iptablesdisabled. Root disk of 4.5G. Root user enabled.2425352071 fedora x86_64 starter Fedora 17 x86_64 - SELinux / iptablesdisabled. Root disk of 4.5G. Root user enabled.1107385945 centos x86_64 starter CentOS 5 1.3GB root, Hypervisor-Specific

Page 6: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 6/11

Kernels0696716400 centos x86_64 starter Updated - CentOS 5 1.3GB root,Hypervisor-Specific Kernel; 2.6.18-308.11.1.el5 kernel version3868652036 centos x86_64 starter CentOS 6.3 x86_64 - SELinux / iptablesdisabled. Root disk of 4.5G. Root user enabled.1347115203 opensuse x86_64 starter OpenSUSE 12.2 x86_64 - KVM image. SUSEFirewall off. Root disk of 2.5G. Root user enabled. Working with kexec kernel andramdisk. OpenSUSE minimal base package set..

Adicione a que você preferir.# eustore-install-image -i 0400376721 -b fedora -k kvm# euca-add-keypair key-fedora > key-fedora.private# chmod 0600 key-fedora.private# euca-describe-keypairs# euca-run-instances -k key-fedora emi-54DD3681# euca-describe-instances

O Eucalyptus demora um pouco para deixar a instancia em execução (running), e um pouquinho mais para que sejaatribuido um IP para ela. Este comando abaixo verifica a imagem adicionada.# euca-get-console-output i-59533E70

Mais informações sobre como instalar imagens do eustore podem ser encontradas no sitehttp://www.eucalyptus.com/docs/3.1/cli/eustore-install-image.html#eustore-install-image

IMAGENS LOCAIS

Vamos instalar uma imagem disponível no site do Eucalyptus. Faça download da imagem de sua preferência noendereço http://emis.eucalyptus.com/

# tar -vzxf ubuntu-12.04-server-cloudimg-amd64.tar.gzprecise-server-cloudimg-amd64.imgprecise-server-cloudimg-amd64-vmlinuz-virtualprecise-server-cloudimg-amd64-loaderprecise-server-cloudimg-amd64-floppyREADME.files

# ls -ltotal 992060drwx------ 2 root root 4096 Jan 9 14:50 euca-rw-rw-r-- 1 cloud15 cloud15 96159666 Jan 8 10:41 jdk-7u10-linux-x64.tar.gz-rw-r--r-- 1 root root 2949120 Dez 17 22:21 precise-server-cloudimg-amd64-floppy-rw-r--r-- 1 root root 1476395008 Dez 17 22:21 precise-server-cloudimg-amd64.img-rw-r--r-- 1 root root 91708 Dez 17 22:21 precise-server-cloudimg-amd64-loader-rw-r--r-- 1 root root 4955824 Dez 17 22:21 precise-server-cloudimg-amd64-vmlinuz-virtual-rw-r--r-- 1 root root 3300 Dez 17 22:17 README.files-rw-rw-r-- 1 cloud15 cloud15 221492078 Jan 9 15:17 ubuntu-12.04-server-cloudimg-amd64.tar.gz

ADICIONANDO UMA IMAGEM

# euca-bundle-image -i vmlinuz-2.6.32-5-amd64 --kernel trueChecking imageCompressing imageEncrypting imageSplitting image...Part: vmlinuz-2.6.32-5-amd64.part.00Generating manifest /tmp/vmlinuz-2.6.32-5-amd64.manifest.xml

# euca-upload-bundle -b debian_kernel_bucket -m /tmp/vmlinuz-2.6.32-5-amd64.manifest.xmlChecking bucket: debian_kernel_bucketUploading manifest fileUploading part: vmlinuz-2.6.32-5-amd64.part.00Uploaded image as debian_kernel_bucket/vmlinuz-2.6.32-5-amd64.manifest.xml

# euca-register debian_kernel_bucket/vmlinuz-2.6.32-5-amd64.manifest.xmlIMAGE eki-35DA386E

Mais informações de como adicionar uma imagem no Eucalyptus pode ser encontrada emhttp://www.eucalyptus.com/docs/3.2/ug/add_kernel.html

ADICIONANDO UM Ramdisk

# euca-bundle-image -i initrd.img-2.6.32-5-amd64 --ramdisk trueChecking imageCompressing imageEncrypting image

Page 7: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 7/11

Splitting image...Part: initrd.img-2.6.32-5-amd64.part.00Generating manifest /tmp/initrd.img-2.6.32-5-amd64.manifest.xml

# euca-upload-bundle -b debian_rd_bucket -m /tmp/initrd.img-2.6.32-5-amd64.manifest.xmlChecking bucket: debian_rd_bucketUploading manifest fileUploading part: initrd.img-2.6.32-5-amd64.part.00Uploaded image as debian_rd_bucket/initrd.img-2.6.32-5-amd64.manifest.xml

# euca-register debian_rd_bucket/initrd.img-2.6.32-5-amd64.manifest.xmlIMAGE eri-1F003816

Mais informações de como adicionar um ramdisk no Eucalyptus pode ser encontrada emhttp://www.eucalyptus.com/docs/3.2/ug/add_ramdisk.html

ADICIONANDO Root Filesystem

# euca-bundle-image -i euca-debian-2012.1.14-x86_64.img --ramdisk eri-1F003816 --kerneleki-35DA386EChecking imageCompressing imageEncrypting imageSplitting image...Part: euca-debian-2012.1.14-x86_64.img.part.00Part: euca-debian-2012.1.14-x86_64.img.part.01Part: euca-debian-2012.1.14-x86_64.img.part.02Part: euca-debian-2012.1.14-x86_64.img.part.03Part: euca-debian-2012.1.14-x86_64.img.part.04Part: euca-debian-2012.1.14-x86_64.img.part.05Part: euca-debian-2012.1.14-x86_64.img.part.06Part: euca-debian-2012.1.14-x86_64.img.part.07Part: euca-debian-2012.1.14-x86_64.img.part.08Part: euca-debian-2012.1.14-x86_64.img.part.09Part: euca-debian-2012.1.14-x86_64.img.part.10Part: euca-debian-2012.1.14-x86_64.img.part.11Part: euca-debian-2012.1.14-x86_64.img.part.12Part: euca-debian-2012.1.14-x86_64.img.part.13Part: euca-debian-2012.1.14-x86_64.img.part.14Part: euca-debian-2012.1.14-x86_64.img.part.15Part: euca-debian-2012.1.14-x86_64.img.part.16Part: euca-debian-2012.1.14-x86_64.img.part.17Part: euca-debian-2012.1.14-x86_64.img.part.18Generating manifest /tmp/euca-debian-2012.1.14-x86_64.img.manifest.xml

# euca-upload-bundle -b debian_rf_bubket -m /tmp/euca-debian-2012.1.14-x86_64.img.manifest.xmlChecking bucket: debian_rf_bubketCreating bucket: debian_rf_bubketUploading manifest fileUploading part: euca-debian-2012.1.14-x86_64.img.part.00Uploading part: euca-debian-2012.1.14-x86_64.img.part.01Uploading part: euca-debian-2012.1.14-x86_64.img.part.02Uploading part: euca-debian-2012.1.14-x86_64.img.part.03Uploading part: euca-debian-2012.1.14-x86_64.img.part.04Uploading part: euca-debian-2012.1.14-x86_64.img.part.05Uploading part: euca-debian-2012.1.14-x86_64.img.part.06Uploading part: euca-debian-2012.1.14-x86_64.img.part.07Uploading part: euca-debian-2012.1.14-x86_64.img.part.08Uploading part: euca-debian-2012.1.14-x86_64.img.part.09Uploading part: euca-debian-2012.1.14-x86_64.img.part.10Uploading part: euca-debian-2012.1.14-x86_64.img.part.11Uploading part: euca-debian-2012.1.14-x86_64.img.part.12Uploading part: euca-debian-2012.1.14-x86_64.img.part.13Uploading part: euca-debian-2012.1.14-x86_64.img.part.14Uploading part: euca-debian-2012.1.14-x86_64.img.part.15Uploading part: euca-debian-2012.1.14-x86_64.img.part.16Uploading part: euca-debian-2012.1.14-x86_64.img.part.17Uploading part: euca-debian-2012.1.14-x86_64.img.part.18Uploaded image as debian_rf_bubket/euca-debian-2012.1.14-x86_64.img.manifest.xml

# euca-register debian_rf_bubket/euca-debian-2012.1.14-x86_64.img.manifest.xmlIMAGE emi-063A3A9B

Mais informações de como adicionar um Root Filesystem pode ser encontrada emhttp://www.eucalyptus.com/docs/3.2/ug/add_rootfs.html

ACESSANDO AS INSTÂNCIAS

Depois que temos uma instância criada, em execução e com um IP, podemos acessar a instância.

Page 8: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 8/11

# euca-add-keypair key-debian > key-debian.private# chmod 0600 key-debian.private# euca-describe-keypairsKEYPAIR key-debian c9:b3:c9:91:91:47:f4:a7:da:df:2f:91:70:77:16:b6:f6:04:86:01

# euca-describe-instancesRESERVATION r-2F2C3EE5 880265064654 defaultINSTANCE i-59533E70 emi-54DD3681 192.168.188.94 192.168.188.94 running key-fedora 0 c1.medium 2013-01-17T20:57:01.919Z cluster01 eki-FCD23A2B eri-80963AEB monitoring-disabled 192.168.188.94 192.168.188.94 instance-store

# ssh -i key-fedora.private [email protected]: Permanently added '192.168.188.95' (RSA) to the list of known hosts.[root@localhost ~]#

INSTALANDO O XEN

Este comando instala o Xen nas máquinas Node-Controller.# apt-get install xen-hypervisor-amd64# apt-get install xen-tools

Modifique o GRUB para iniciar o Xen por padrão:# sed -i 's/GRUB_DEFAULT=.*\+/GRUB_DEFAULT="Xen 4.1-amd64"/' /etc/default/grub# update-grub

Configure o padrão do toolstack to xm (aka xend):# sed -i 's/TOOLSTACK=.*\+/TOOLSTACK="xm"/' /etc/default/xen

CONFIGURANDO A BRIDGE

Nos computadores node-controller precisamos configurar a bridge para que eles se comuniquem e se reconheçam comoum conjunto fechado de computadores.

# cat /etc/network/interfacesauto loiface lo inet loopback

auto eth0iface eth0 inet dhcp

auto br0iface br0 inet dhcp bridge_ports eth0 bridge_stp off

Reinicie a interface de rede:# /etc/init.d/networking restart

A saída deverá ser esta:# ifconfigbr0 Link encap:Ethernet Endereço de HW 00:1c:c0:39:91:d8 inet end.: 192.168.188.7 Bcast:192.168.188.255 Masc:255.255.255.0 endereço inet6: fe80::21c:c0ff:fe39:91d8/64 Escopo:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1 pacotes RX:87155 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:68640 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:0 RX bytes:45153130 (45.1 MB) TX bytes:64699718 (64.6 MB)

eth0 Link encap:Ethernet Endereço de HW 00:1c:c0:39:91:d8 UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1 pacotes RX:230987 erros:0 descartados:363 excesso:0 quadro:0 Pacotes TX:110237 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:1000 RX bytes:113271987 (113.2 MB) TX bytes:68021700 (68.0 MB) IRQ:20 Memória:e3200000-e3220000

lo Link encap:Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 endereço inet6: ::1/128 Escopo:Máquina UP LOOPBACK RUNNING MTU:16436 Métrica:1 pacotes RX:2271 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:2271 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:0 RX bytes:694045 (694.0 KB) TX bytes:694045 (694.0 KB)

virbr0 Link encap:Ethernet Endereço de HW 56:19:00:00:4e:c2 inet end.: 192.168.122.1 Bcast:192.168.122.255 Masc:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Métrica:1

Page 9: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 9/11

pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Para verificar se a bridge foi corretamente configurada execute o comando abaixo.# brctl showbridge name bridge id STP enabled interfacesbr0 8000.001cc03991d8 no eth0virbr0 8000.000000000000 yes

CONFIGURANDO O XEN

É necessário fazer esta configuração para habilitar o Xen a se conectar numa bridge nos nodes-controller.# vi /etc/xen/xend-config.sxp(xend-http-server yes)(xend-unix-server yes)(xend-unix-path /var/lib/xend/xend-socket)(xend-address localhost)(network-script 'network-bridge netdev=br0')(vif-script vif-bridge)(dom0-min-mem 196)(enable-dom0-ballooning yes)(total_available_memory 0)(dom0-cpus 0)(vncpasswd '')

# vi /etc/xen-tools/xen-tools.confdir = /home/xendhcp = 1passwd = 1disk_device = xvda #default# disk_device = sdascsi = 1pygrub = 1

O libvirt é a biblioteca de interface para o Xen. Porém ele vem configurado para fazer interface com o hypervisor KVM.Você pode verificar utilizando o comando “virsh version”. Para alterar isso basta criar um arquivo de seja executado nainicialização da máquina que mude esta configuração.# echo "export VIRSH_DEFAULT_CONNECT_URI=xen:///" >> /etc/profile.d/libvirtd.sh# chmod +x /etc/profile.d/libvirtd.sh# reboot

Renicie o sistema e verifique se a instalação foi realizada com sucesso.# xm listName ID Mem VCPUs State Time(s)Domain-0 0 945 1 r----- 11.3

Agora os comandos do Xen podem ser executados pelo libvirt:# virsh list# virsh version

Por padrão, o eucalyptus.conf vem configurado para usar o KVM. Agora vamos trocar a configuração para apontar para oXEN. Vamos fazer isso porque as máquinas nodes não têm suporte para KVM. Isto pode ser verificado pelo comando“kvm-ok”. Para alterar a configuração do Eucalyptus para executar sobre o XEN faça as seguintes mudanças.

Nos Front-end e nos Nodes-Controller# vi /etc/eucalyptus/eucalyptus.confHYPERVISOR="xen"

Reinicie os serviços:# /etc/init.d/eucalyptus-cc cleanrestart# /etc/init.d/eucalyptus-cloud restart# /etc/init.d/eucalyptus-nc restart

As páginas abaixo explicam a função de cada propriedade deste arquivo de configuração do Eucalyptus e comoconfigurar a rede de uma Private Cloud com o Eucalyptus:http://www.eucalyptus.com/docs/3.2/ig/nw_static.htmlhttp://open.eucalyptus.com/wiki/EucalyptusNetworkConfiguration_v2.0http://www.eucalyptus.com/docs/3.1/ig/configuring_network_modes.html#configuring_network_modes

Escolha uma imagem. Para o hipervisor XEN é necessário escolher uma imagem com o kernel do XEN. No teste destemanual escolhemos uma do Centos-large que se encontra neste endereço http://emis.eucalyptus.com/starter-emis/euca-centos-large-2011.07.02-x86_64.tgz. Depois executamos os passos para adicioná-la. Na primeira vez que adicionamos amáquina travou a interface gráfica. Isso pode ser verificado através de outro terminal (Ctrl+Alt+F1 > top). Executamos oserviço para reiniciar a interface gráfica (service lightdm restart) e depois verificamos que a instância estava em execuçãomas com o IP 0.0.0.0. Descobrimos o IP dela através de ping’s na rede, pois tinhamos disponibilizados um range de IPde 192.168.188.70 até 192.168.188.90, e acessamos via ssh. Na próxima listagem com o comando euca-describe-instances, a instância já apresentava o IP.

Page 10: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 10/11

Acreditamos que este comportamento seja um bug do Eucalyptus+Xen. Ele foi reportado emhttps://engage.eucalyptus.com/customer/en/portal/questions/772199-xen-doesn-t-get-ip-address?new=772199 ehttps://eucalyptus.atlassian.net/browse/EUCA-4839.

Existem um chat the usuários do Eucalyptus que ajudam a resolver alguns problemas. Basta acessar o endereçohttp://webchat.freenode.net/ e usar a sala #eucalyptus. Também existe um fórum com usuários do Eucalyptus que podeser acessado através do endereço https://engage.eucalyptus.com/.

REFERÊNCIAS

http://www.eucalyptus.com/docs/3.1/ig/installing_euca_ubuntu1204.htmlhttp://www.eucalyptus.com/docs/3.2/ug/index.htmlhttps://engage.eucalyptus.com/https://help.ubuntu.com/community/UEC/PackageInstallhttp://www.akashsharma.me/private-cloud-setup-using-eucalyptus-and-xen/http://notebyxz.blogspot.com.br/2012/10/ubuntu-server-1204-lts-eucalyptus-and.htmlhttp://notebyxz.blogspot.com.br/2012/11/run-ubuntu-vm-instance-on-eucalyptus.htmlhttp://wiki.debian.org/Xenhttp://sajal-rastogi.blogspot.com.br/2009/07/cloud-on-ubuntu-904-using-xen-and.html

Include gadget (iframe)

Plug-in social do Facebook

ComentarPublicando como Ytalo Martins (Trocar)

Comentar...

Publicar no Facebook

Page 11: Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe

20/06/13 Eucalyptus 3.1.2 + Xen 4.1 no Ubuntu 12.04 - lipe.82

https://sites.google.com/site/lipe82/Home/diaadia/eucalyptus-xen 11/11

Fazer login | Denunciar abuso | Imprimir página | Remover acesso | Tecnologia Google Sites

Comentários

Você não tem permissão para adicionar comentários.