OpenNebula Sunstone
Incrível ferramenta para gerenciamento de nuvens (VMs) junto às mais diversas implementações para virtualização do mercado (KVM, Xen e VMware).
O que é o OpenNebula
OpenNebula é uma ferramenta open source para gerenciamento e provisionamento de nuvens.
Ou seja, é possível criar, gerenciar e monitorar máquinas virtuais junto aos hosts de Data Centers, além da flexibilidade e escalabilidade entre nuvens públicas e privadas, as chamadas híbridas.
Com esta ferramenta, será possível o gerenciamento de instâncias (VMs) no Amazon EC2. Este tipo de serviço de Cloud Computing tem como nome "IaaS", ou seja, sobre a infraestrutura da nuvem.
Diversas empresas apoiam o projeto, como por exemplo:
Podemos organizar o OpenNebula com diversos tipos de ferramentas confiáveis de virtualização.
Seu desenvolvimento é em Ruby com a biblioteca XML-RPC para comunicação entre os módulos do conjunto.
Através do navegador, temos a flexibilidade para gerenciamento de Data Centers.
No site do OpenNebula é possível encontrar softwares, além da documentação oficial para outras distribuições GNU/Linux (CentOS, SUSE, Debian etc).
Iremos instalar e seguir os passos para criação de uma VM (máquina virtual).
Para isso são necessários conhecimentos de alguns termos técnicos que virão pela frente, são eles:
Onde:
Basicamente, estas instruções definem a localização dos scripts para que os serviços rodem corretamente.
Ou seja, é possível criar, gerenciar e monitorar máquinas virtuais junto aos hosts de Data Centers, além da flexibilidade e escalabilidade entre nuvens públicas e privadas, as chamadas híbridas.
Com esta ferramenta, será possível o gerenciamento de instâncias (VMs) no Amazon EC2. Este tipo de serviço de Cloud Computing tem como nome "IaaS", ou seja, sobre a infraestrutura da nuvem.
Diversas empresas apoiam o projeto, como por exemplo:
- Dell;
- IBM;
- Telefónica Germany, etc.
Hypervisors suportados pelo OpenNebula
Seria a ferramenta responsável pela virtualização das máquinas. Aqui podemos utilizar: KVM, Xen ou VMware.Podemos organizar o OpenNebula com diversos tipos de ferramentas confiáveis de virtualização.
O que é o OpenNebula Sunstone
O OpenNebula é um conjunto de ferramentas de IaaS, uma destas é o módulo Sunstone, que roda como um processo na máquina fornecendo o serviço pelo navegador sobre o localhost na porta 9869.Seu desenvolvimento é em Ruby com a biblioteca XML-RPC para comunicação entre os módulos do conjunto.
Através do navegador, temos a flexibilidade para gerenciamento de Data Centers.
O artigo em si...
Este artigo, tem como ponto de partida, a instalação do OpenNebula pelo pacote pronto para a plataforma GNU/Linux, mais precisamente, sobre a distribuição Ubuntu.No site do OpenNebula é possível encontrar softwares, além da documentação oficial para outras distribuições GNU/Linux (CentOS, SUSE, Debian etc).
Iremos instalar e seguir os passos para criação de uma VM (máquina virtual).
Para isso são necessários conhecimentos de alguns termos técnicos que virão pela frente, são eles:
- Host → Máquinas (nós) com os serviços (VMs) armazenados em nosso cluster;
- Cluster → Serão todos os servidores (hosts) e serviços que irão permitir a alta disponibilidade e balanceamento de carga do Data Center;
- Virtual Networks → Rede (bridges), aqui são aceitos diversos tipos de ferramentas para criação de redes: ebtables, 802.1Q etc;
- Datastores → O meio de armazenamento das instâncias (VMs), imagens das distribuições, LVMs, SAS/NAS etc.
Arquivo oned.conf configurado para KVM
Este arquivo de configuração do OpenNebula fica na pasta /etc/one/ e tem algumas instruções importantes a serem configuradas neste laboratório para uso pelo KVM:
IM_MAD = [
name = "im_kvm",
executable = "one_im_ssh",
arguments = "-r 0 -t 15 kvm" ]
VM_MAD = [
name = "vmm_kvm",
executable = "one_vmm_exec",
arguments = "-t 15 -r 0 kvm",
default= "vmm_exec/vmm_exec_kvm.conf",
type = "kvm" ]
TM_MAD = [
executable = "one_tm",
arguments = "-t 15 -d dummy,lvm,shared,qcow2,ssh,vmfs,iscsi" ]
DATASTORE_MAD = [
executable = "one_datastore",
arguments = "-t 15 -d fs,vmware,vmfs,iscsi,lvm"
]
name = "im_kvm",
executable = "one_im_ssh",
arguments = "-r 0 -t 15 kvm" ]
VM_MAD = [
name = "vmm_kvm",
executable = "one_vmm_exec",
arguments = "-t 15 -r 0 kvm",
default= "vmm_exec/vmm_exec_kvm.conf",
type = "kvm" ]
TM_MAD = [
executable = "one_tm",
arguments = "-t 15 -d dummy,lvm,shared,qcow2,ssh,vmfs,iscsi" ]
DATASTORE_MAD = [
executable = "one_datastore",
arguments = "-t 15 -d fs,vmware,vmfs,iscsi,lvm"
]
Onde:
- IM_MAD → Responsável pelas informações sobre o hypervisor KVM;
- VM_MAD → Localização dos scripts responsáveis por chamar o KVM para virtualização;
- TM_MAD → Qual será o tipo de processo utilizado para clonagem das VMs no Hypervisor;
- DATASTORE_MAD → Os tipos de Datastores que podem ser utilizados pelo KVM.
Basicamente, estas instruções definem a localização dos scripts para que os serviços rodem corretamente.
Informações sobre o laboratório
- Memória RAM física → 4GB;
- Processador → AMD Phenom II X4 945;
- Sistema GNU/Linux → Ubuntu 12.04 LTS;
- Disco rígido: 40 GB → O ideal seria maior capacidade e maior velocidade do disco rígido;
- IP da interface eth0 → 192.168.100.3;
- Navegador: Firefox 17.0.1 → Para melhor usabilidade com HTML5.