Eucalyptus 3.1.2 + Xen 4.1 No Ubuntu 12.04 - Lipe
-
Upload
ytalo-martins -
Category
Documents
-
view
24 -
download
4
Transcript of 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
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"
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:
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
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
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
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.
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
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.
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
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.