Ubuntu Enterprise Cloud, como instalar e configurar uma

Transcrição

Ubuntu Enterprise Cloud, como instalar e configurar uma
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/.

Documentos relacionados