Generalmente, mencionamos tres tipos de computación en la nube: software como servicio (SaaS), plataforma como servicio (PaaS) e infraestructura como servicio (IaaS). Cuando apareció por primera vez el concepto de nube, la gente decía que era confuso y poco claro. Ahora la tecnología de la nube está profundamente arraigada en los corazones de las personas. Tal vez estés usando la nube sin darte cuenta. Por ejemplo, el Gmail que usas todos los días está en Google Cloud. . Para comprender mejor estas tres nubes diferentes, podemos tomar a Google como ejemplo. Esta empresa ofrece tres formas de servicios en la nube. Primero, observe las aplicaciones SaaS como Google Gmail/Docs/Gtalk/Maps. Cloud, por lo que proporcionan "software como servicio" para usuarios normales; Google también proporciona AppEngine para desarrolladores, que les permite utilizar Python, Java y otros lenguajes y las API que proporcionan para desarrollar software y servicios. proporcionan a los desarrolladores una "plataforma como servicio" El propio Google ha construido una enorme infraestructura de nube básica basada en GFS, BigTable y MaPReduce para proporcionar a su propio personal interno "infraestructura como servicio". .
OpenNebula es un conjunto de herramientas de administración básicas de computación en la nube de código abierto que facilita a los administradores implementar, crear, asignar y administrar de manera uniforme una gran cantidad de máquinas virtuales en el centro de datos. Los centros de datos empresariales pueden usar este conjunto de herramientas para construir sus propias nubes privadas. y proporciona servicios IaaS internos; productos similares de código abierto incluyen Eucalyptus, openQRM, etc. El siguiente proceso de instalación se completa en dos servidores de VPSee equipados con el sistema CentOS 5.5. Un servidor se utiliza como interfaz de OpenNubula (nodo00) y el otro servidor se utiliza como nodo (nodo01) para construir una "nube" mínima. Si desea expandir esta nube, solo necesita agregar nodos gradualmente (nodo02, nodo03, ...).
Instalar y configurar el front-end (Front-End)
Agregue la fuente CentOS Karan:
# CD /etc/yum.repos.d
# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
# Actualización deliciosa
Instale los paquetes de software requeridos por OpenNebula y las herramientas necesarias para compilar el código fuente de OpenNebula:
# yum instalar gcc gcc-c++ hacer openssl-devel flex bison
# yum instalar ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc
# yum instalar rubygems
# instalación de gemas nokogiri rake xmlparser
# yum instalar scons
# yum instalar xmlrpc-c xmlrpc-c-devel
La versión de sqlite que viene con CentOS no funciona. Es necesario descargar y compilar la versión de sqlite 3.6.17:
# wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz
# tar xvzf sqlite-amalgama-3.6.17.tar.gz
# cd sqlite-3.6.17/
# ./configure; hacer; hacer instalar
Después de descargar y compilar el paquete fuente opennebula 2.0.1, descomprima, compile e instale:
# tar zxvf opennebula-2.0.1.tar.gz
# cd opennebula-2.0.1
#cons
# ./install.sh -d /srv/cloud/one
# ls /srv/cloud/uno/
bin, etc. incluyen lib share var
Antes de iniciar OpenNebula, debe configurar la variable de entorno ONE_AUTH. Esta variable de entorno se lee del archivo $HOME/.one/one_auth, por lo que primero debe crear el archivo one_auth y luego iniciar uno (programa de servicio OpenNebula):
# cd /raíz/
# mkdir .uno
# cd .uno/
# cat "oneadmin:contraseña" > one_auth
# un comienzo
OpenNebula admite tres tecnologías de virtualización: KVM, Xen y VMware. También debemos decirle a OpenNebula cuál queremos usar y reiniciar una para que la configuración surta efecto:
# vi /etc/one/oned.conf
...
IM_MAD = [
nombre = "im_xen",
ejecutable = "one_im_ssh",
argumentos = "xen"]
VM_MAD = [
nombre = "vmm_xen",
ejecutable = "one_vmm_ssh",
argumentos = "xen",
predeterminado = "vmm_ssh/vmm_ssh_xen.conf",
tipo = "xen"]
...
# una parada
# un comienzo
Instalar y configurar el nodo (Compute Node)
Es necesario instalar un entorno virtual Xen o KVM en cada nodo. Para obtener más detalles, busque la referencia: Instalación y configuración de Xen en CentOS e Instalación y configuración de KVM en CentOS. También se requiere un entorno operativo Ruby.
# mmm instalar rubí
Intercambiar clave SSH
Debido a que la comunicación entre OpenNebula Front y los nodos se realiza a través de SSH, se debe configurar el inicio de sesión sin contraseña SSH entre el frente y los nodos para evitar ingresar una contraseña cuando el frente ejecuta scripts en los nodos o clona imágenes. Primero configure sshd en el frente y los nodos. :
# vi /etc/ssh/sshd_config
Autenticación RSA sí
Autenticación Pubkey sí
# /etc/init.d/ssh reiniciar
Cree la clave en el frente (nodo00) y cópiela en el nodo (nodo01):
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub nodo01
Cree la clave en un nodo (nodo01) y cópiela al frente (nodo00):
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub nodo01
unhost
Después de que el frente pueda comunicarse con cada nodo a través de ssh sin contraseña, puede usar el comando de creación de onehost en el frente para unir los nodos uno por uno y usar la lista de onehost para verificar si la creación fue exitosa:
# onehost crea nodo01 im_xen vmm_xen tm_ssh
# lista de un host
ID NOMBRE CLUSTER RVM TCPU FCPU ACPU TMEM FMEM ESTAT
1 nodo01 predeterminado 0 400 400 400 3.8G 383M encendido
Si se informa un error al ejecutar onehost create, verifique el registro de oned.log y busque las palabras sudo: lo siento, debe tener un tty para ejecutar sudo. La razón es que OpenNebula requiere ssh/sudo remoto para ejecutar comandos y el sudo de CentOS. La opción requiretty está activada de forma predeterminada. ssh Se requiere un tty para ejecutarse, por lo que el sudo remoto provocará un error:
# onehost crea nodo01 im_xen vmm_xen tm_ssh
# cola /var/log/one/oned.log
Martes, 22 de febrero, 11:08:58 2011 [InM][I]: Error en la ejecución del comando: 'if [ -x "/var/tmp/one/im/run_probes"]; xen 172.16.39.111; de lo contrario, salida 42;
Martes 22 de febrero 11:08:58 2011 [InM][I]: Sigue STDERR.
Martes 22 de febrero 11:08:58 2011 [InM][I]: sudo: lo siento, debes tener un tty para ejecutar sudo
Martes 22 de febrero 11:08:58 2011 [InM][I]: Error al ejecutar xen.rb
La solución es desactivar (comentar) la línea requiretty:
# chmod 600 /etc/sudoers
# vi /etc/sudoers
#Requisito predeterminado
Debido a que los dos servidores de VPSee usan proxy HTTP para acceder a Internet, OpenNebula leyó la variable de entorno http_proxy del sistema y encontró un error de respuesta HTTP en el registro sched.log. En este momento, http_proxy debe cerrarse:
# gato /var/log/one/sched.log
Martes, 22 de febrero, 14:27:39 2011 [HOST][E]: Excepción generada: no se puede transportar XML al servidor y obtener respuesta XML: 504.
Martes 22 de febrero 14:27:39 2011 [POOL][E]: No se pudo recuperar la información del grupo de ONE
# desarmar http_proxy
Cree y edite el archivo de configuración de la red virtual, luego cree una red virtual OpenNebula:
# vi pequeña_red.net
NOMBRE = "Red pequeña"
TIPO=FIJO
PUENTE = br0
ARRENDAMIENTOS = [ip="192.168.0.5"]
ARRENDAMIENTOS = [IP="192.168.0.6"]
ARRENDAMIENTOS = [IP="192.168.0.7"]
# onevnet crea pequeña_red.net
# lista onevnet
ID NOMBRE DE USUARIO TIPO PUENTE P #ARRENDAMIENTOS
0 oneadmin Red pequeña Fijo br0 N 0
onevm
Cree y edite el archivo de configuración de inicio de la máquina virtual. El centos.5.5.x86.img aquí se puede descargar desde http://stacklet.com/ (de pago) o puede crear uno usted mismo utilizando las herramientas de 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.uno
NOMBRE = centos
CPU = 1
MEMORIA = 256
DISCO = [
fuente = "/srv/cloud/one/var/images/centos.5.5.x86.img
objetivo = "sda1",
clon = "sí",
sólo lectura = "no"]
NIC = [MAC = "00:16:3E:00:02:64", puente = xenbr0]
SO = [gestor de arranque = "/usr/bin/pygrub" ]
Utilice el comando onevm create para iniciar el archivo de configuración de VM anterior y se creará una máquina virtual en el nodo01. Utilice la lista onevm para verificar y verá el estado del prol, lo que indica que el proceso de creación está en progreso una vez completada la creación. , el estado cambiará a runn:
# onevm crea centos.one
# lista onevm
ID NOMBRE DE USUARIO ESTADO CPU MEM NOMBRE DE HOST HORA
1 oneadmin centos prol 0 0K node01 00 00:09:09
# lista onevm
ID NOMBRE DE USUARIO ESTADO CPU MEM NOMBRE DE HOST HORA
1 oneadmin centos runn 0 0K node01 00 00:22:17
De esta manera, implementamos una nube mínima en dos servidores, nodo00 (frontal) y nodo01 (nodo), y ejecutamos una instancia de máquina virtual basada en Xen en nodo01.
Fuente del artículo: http://www.vpsee.com/2011/02/install-opennebula-on-centos/