Geralmente, existem três tipos de computação em nuvem que mencionamos: Software como Serviço (SaaS), Plataforma como Serviço (PaaS) e Infraestrutura como Serviço (IaaS). Quando o conceito de nuvem foi lançado, as pessoas disseram que era confuso e pouco claro. Agora, a tecnologia de nuvem está profundamente enraizada no coração das pessoas. Talvez você esteja usando a nuvem sem perceber. Por exemplo, o Gmail que você usa todos os dias está no Google Cloud. . Para entender melhor essas três nuvens diferentes, podemos tomar o Google como exemplo. Esta empresa fornece três formas de serviços em nuvem. Primeiro, observe os aplicativos SaaS, como Google Gmail/Docs/Gtalk/Maps, todos executados no Google. Cloud, então eles fornecem "software como serviço" para usuários comuns; o Google também fornece AppEngine para desenvolvedores, que permite que os desenvolvedores usem Python, java e outras linguagens e as APIs que eles fornecem para desenvolver software e serviços, então eles fornecem aos desenvolvedores "Plataforma como Serviço" O próprio Google construiu uma enorme infraestrutura de nuvem básica baseada em GFS, BigTable e MaPReduce para fornecer "Infraestrutura como Serviço" à sua própria equipe interna. .
OpenNebula é um conjunto de ferramentas básicas de gerenciamento de computação em nuvem de código aberto que facilitam aos administradores implantar, criar, alocar e gerenciar uniformemente um grande número de máquinas virtuais no data center. Os data centers corporativos podem usar esse conjunto de ferramentas para construir suas próprias nuvens privadas. e fornece serviços internos de IaaS, produtos de código aberto semelhantes incluem Eucalyptus, openQRM, etc. O processo de instalação a seguir é concluído em dois servidores VPSee equipados com sistema CentOS 5.5. Um servidor é usado como front end OpenNubula (node00) e o outro servidor é usado como nó (node01) para construir uma "nuvem" mínima. Se você quiser expandir esta nuvem, você só precisa adicionar nós gradualmente (node02, node03, ...).
Instalar e configurar o front-end (Front-End)
Adicione a fonte CentOS Karan:
# cd /etc/yum.repos.d
# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
# yum atualização
Instale os pacotes de software exigidos pelo OpenNebula e as ferramentas necessárias para compilar o código-fonte do OpenNebula:
# yum install gcc gcc-c++ make openssl-devel flex bison
# yum instalar ruby ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc
#yum instala rubygems
# gem install nokogiri rake xmlparser
# yum instala programas
# yum instalar xmlrpc-c xmlrpc-c-devel
A versão sqlite que vem com o CentOS não funciona. Você precisa baixar e compilar a versão 3.6.17 do sqlite:
# wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz
# tar xvzf sqlite-amalgamation-3.6.17.tar.gz
# cd sqlite-3.6.17/
# ./configure;faça instalação
Após baixar e compilar o pacote fonte opennebula 2.0.1, descompacte, compile e instale:
# tar zxvf opennebula-2.0.1.tar.gz
# cd opennebula-2.0.1
#scons
# ./install.sh -d /srv/cloud/one
#ls /srv/cloud/one/
bin etc inclui lib share var
Antes de iniciar o OpenNebula, você precisa configurar a variável de ambiente ONE_AUTH. Esta variável de ambiente é lida no arquivo $HOME/.one/one_auth, então você deve primeiro criar o arquivo one_auth e então iniciar um (programa de serviço OpenNebula):
# cd /raiz/
#mkdir.um
#cd.one/
# cat "oneadmin:senha" > one_auth
# um começo
OpenNebula suporta três tecnologias de virtualização: KVM, Xen e VMware. Também precisamos informar ao OpenNebula qual queremos usar e reiniciar uma para que a configuração tenha efeito:
# vi /etc/one/oned.conf
...
IM_MAD = [
nome = "im_xen",
executável = "one_im_ssh",
argumentos = "xen"]
VM_MAD = [
nome = "vmm_xen",
executável = "one_vmm_ssh",
argumentos = "xen",
padrão = "vmm_ssh/vmm_ssh_xen.conf",
tipo = "xen"]
...
# uma parada
# um começo
Instalar e configurar o nó (Compute Node)
Um ambiente virtual Xen ou KVM precisa ser instalado em cada nó. Para obter detalhes, procure a referência: Instalando e configurando o Xen no CentOS e Instalando e configurando o KVM no CentOS Um ambiente operacional Ruby também é necessário:
#yum instale o Ruby
Trocar chave SSH
Como a comunicação entre o OpenNebula Front e os nós é por meio de SSH, o login sem senha SSH deve ser configurado entre o front e os nós para evitar a inserção de uma senha quando o front executa scripts em nós ou clona imagens. Primeiro, configure o sshd no front e nos nós. :
# vi /etc/ssh/sshd_config
Autenticação RSAA sim
PubkeyAutenticação sim
# /etc/init.d/ssh reiniciar
Crie a chave na frente (node00) e copie-a para o nó (node01):
#ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
Crie a chave em um nó (node01) e copie-a para a frente (node00):
#ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
um host
Depois que o front puder se comunicar com cada nó por meio de ssh sem senha, você pode usar o comando onehost create no front para unir os nós um por um e usar a lista onehost para verificar se a criação foi bem-sucedida:
# onehost cria node01 im_xen vmm_xen tm_ssh
# lista de um host
ID NOME CLUSTER RVM TCPU FCPU ACPU TMEM FMEM STAT
1 node01 padrão 0 400 400 400 3,8G 383M ativado
Se um erro for relatado ao executar onehost create, verifique o log oned.log e encontre as palavras sudo: desculpe, você deve ter um tty para executar o sudo. O motivo é que o OpenNebula requer ssh/sudo remoto para executar comandos e o sudo do CentOS. a opção requiretty está ativada por padrão. ssh Um tty é necessário para ser executado, então o sudo remoto causará um erro:
# onehost cria node01 im_xen vmm_xen tm_ssh
# tail /var/log/one/oned.log
Terça-feira, 22 de fevereiro, 11:08:58 2011 [InM] [I]: Falha na execução do comando: 'if [ -x "/var/tmp/one/im/run_probes" ]; xen 172.16.39.111; senão saída 42;
Terça-feira, 22 de fevereiro, 11:08:58 2011 [InM] [I]: STDERR segue.
Ter, 22 de fevereiro 11:08:58 2011 [InM] [I]: sudo: desculpe, você deve ter um tty para executar o sudo
Terça-feira, 22 de fevereiro, 11:08:58 2011 [InM] [I]: Erro ao executar xen.rb
A solução é desligar (comentar) a linha requiretty:
#chmod 600 /etc/sudoers
# vi /etc/sudoers
#Defaults obrigatório
Como os dois servidores VPSee usam proxy HTTP para acessar a Internet, OpenNebula leu a variável de ambiente http_proxy do sistema e encontrou um erro de resposta HTTP no log sched.log. Neste momento, http_proxy precisa ser fechado:
# cat /var/log/one/sched.log
Ter, 22 de fevereiro, 14:27:39 2011 [HOST] [E]: Exceção levantada: não é possível transportar XML para o servidor e obter resposta HTTP de volta: 504.
Ter, 22 de fevereiro, 14:27:39 2011 [POOL] [E]: Não foi possível recuperar informações do pool de ONE
#desconfigurar http_proxy
Crie e edite o arquivo de configuração da rede virtual e, em seguida, crie uma rede virtual OpenNebula:
# vi small_network.net
NAME = "Rede pequena"
TIPO=FIXO
PONTE = br0
LOCAÇÕES = [ip="192.168.0.5"]
LOCAÇÕES = [IP="192.168.0.6"]
LOCAÇÕES = [IP="192.168.0.7"]
# onevnet cria small_network.net
#lista onevnet
ID NOME DE USUÁRIO TIPO PONTE P #LEASES
0 oneadmin Rede pequena Fixo br0 N 0
onevm
Crie e edite o arquivo de configuração de inicialização da máquina virtual O centos.5.5.x86.img aqui pode ser baixado em http://stacklet.com/ (mediante taxa) ou você mesmo pode criar um usando as ferramentas Xen:
# wget http://stacklet.com/sites/default/files/centos/
centos.5.5.x86.img.tar.bz2
# tar jxvf centos.5.5.x86.img.tar.bz2
# mv centos.5.5.x86.img /srv/cloud/one/var/images/
#vi centos.one
NOME = centos
CPU = 1
MEMÓRIA = 256
DISCO = [
fonte = "/srv/cloud/one/var/images/centos.5.5.x86.img
alvo = "sda1",
clone = "sim",
somente leitura = "não"]
NIC = [ MAC = "00:16:3E:00:02:64", ponte = xenbr0 ]
SO = [bootloader = "/usr/bin/pygrub"]
Use o comando onevm create para iniciar o arquivo de configuração da VM acima e uma máquina virtual será criada em node01. Use a lista onevm para verificar e você verá o status do prol, indicando que o processo de criação está em andamento. , o status mudará para executado:
# onevm cria centos.one
# lista onevm
ID NOME DO USUÁRIO STAT CPU MEM HOSTNAME TIME
1 oneadmin centos prol 0 0K node01 00 00:09:09
# lista onevm
ID NOME DO USUÁRIO STAT CPU MEM HOSTNAME TIME
1 oneadmin centos executado 0 0K node01 00 00:22:17
Dessa forma, implantamos uma nuvem mínima em dois servidores, node00 (frontal) e node01 (nó), e executamos uma instância de máquina virtual baseada em Xen no node01.
Fonte do artigo: http://www.vpsee.com/2011/02/install-opennebula-on-centos/