Proyecto

General

Perfil

Actions

Instalación de OpenStack en Debian Wheezy

Al tratarse de software muy reciente no hay paquetes oficiales para OpenStack en Debian stable (squeeze), hay un repositorio no oficial en:

http://ftparchive.gplhost.com/debian/

Por otra parte, OpenStack sí está incluido en Debian Sid (unstable) y Wheezy (testing), así que nos decantamos por esta última opción.

Instalación de Debian Wheezy

No hay ningún aspecto relevante a destacar en la instalación de Debian Wheezy, no hemos encontrado ningún problema ni novedad relevante respecto a la instalación de Debian Squeeze.

Instalación de OpenStack

Es importante comentar que la versión de OpenStack que está disponible en Debian es Essex, la versión en desarrollo de Openstack por lo que hay que tener bastante cuidado si se utiliza documentación de Diablo (versión estable de OpenStack ahora mismo). Está previsto que Essex sea la versión estable de OpenStack en Abril de 2012.

Características del montaje

Es recomendable según el sitio de OpenStack, que los equipos en los que se va a instalar Nova compute (los nodos con los hipervisores) tengan dos interfaces de red. Como esta prueba se va a hacer con equipos convencionales que tienen una interfaz de red Ethernet cableada y otra inalámbrica (eth0 y wlan0), se usarán estas dos interfaces, la inalámbrica como interfaz externa y la cableada como interna.

popeye olivia brutus
Rol OpenStack completo Nova compute Nova Compute
Direcciones interna eth0: 192.168.90.1/24 eth0: 192.168.90.2/24 eth0: 192.168.90.3/24
Direcciones externa wlan0: 172.22.90.1/16 wlan0: 172.22.90.2/16 wlan0: 172.22.90.3/16
Hostname popeye.gonzalonazareno.org olivia.gonzalonazareno.org brutus.gonzalonazareno.org
DNS servers 192.168.2.2 192.168.2.2 192.168.2.2
Gateway 172.22.0.1 172.22.0.1 172.22.0.1

Un esquema del montaje se presenta en la siguiente imagen:

Aspectos destacables de la instalación

Utilizamos como primera referencia OpenStack Compute Starter Guide. En nuestro caso Server1 va a ser popeye, en el que se instalarán todos los componentes de OpenStack y Server2 serán Olivia y Brutus, en los que se instalará sólo Nova Compute. Como equipo cliente utilizaremos cualquiera del aula. La base de datos elegida ha sido MySQL porque no supimos configurara SQLite en Olivia y Brutus.

El usuario localadmin de la guía es para nosotros root porque no utilizamos sudo.

Instalación de Glance:
Nada relevante que comentar

Instalación de Nova:
El fichero de configuración /etc/nova.conf queda como:

--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--state_path=/var/lib/nova
--verbose
--s3_host=172.22.90.1
--rabbit_host=172.22.90.1
--cc_host=172.22.90.1
--nova_url=http://172.22.90.1:8774/v1.1/
--fixed_range=192.168.90.0/24
--network_size=8
--routing_source_ip=172.22.90.1
--sql_connection=mysql://novadbadmin:novasecret@172.22.90.1/nova
--glance_api_servers=192.168.90.1:9292
--image_service=nova.image.glance.GlanceImageService
--iscsi_ip_prefix=192.168.90
--vlan_interface=br100
--public_interface=eth0

La partición que se va a utilizar para LVM es /dev/sda1, ya que / está en /dev/sda5.

Estos dos pasos hay que repetirlos porque no los hemos hecho bien:

nova-manage network create private 192.168.4.0/24 1 256
nova-manage floating create --ip_range=10.10.10.224/27

No es necesario modificar en Essex las EC2_ACCESS_KEY, ya que se generan correctamente.

Tras ejecutar euca-describe-availability-zones verbose, vemos que la configuración de Nova es correcta:

AVAILABILITYZONE    nova available
AVAILABILITYZONE    |- popeye
AVAILABILITYZONE    | |- nova-compute       enabled :-) 2006-01-15 10:12:03
AVAILABILITYZONE    | |- nova-scheduler     enabled :-) 2006-01-15 10:12:03
AVAILABILITYZONE    | |- nova-network       enabled :-) 2006-01-15 10:12:05
AVAILABILITYZONE    | |- nova-volume        enabled :-) 2006-01-15 10:12:06

h3, Instalación de olivia (brutus)

El fichero de configuración nova en olivia (brutus) queda:

--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--state_path=/var/lib/nova
--verbose
--s3_host=172.22.90.1
--rabbit_host=172.22.90.1
--cc_host=172.22.90.1
--network_size=8
--routing_source_ip=172.22.90.1
--glance_api_servers=192.168.90.1:9292
--image_service=nova.image.glance.GlanceImageService
--iscsi_ip_prefix=192.168.90
--vlan_interface=br100
--sql_connection=mysql://novadbadmin:novasecret@172.22.90.1/nova

Ahora al repetir la instrucción euca-describe-availability-zones verbose en popeye, obtenemos:

AVAILABILITYZONE    nova    available
AVAILABILITYZONE    |- popeye    
AVAILABILITYZONE    | |- nova-network    enabled :-) 2012-02-13 09:38:14
AVAILABILITYZONE    | |- nova-compute    enabled :-) 2012-02-13 09:38:17
AVAILABILITYZONE    | |- nova-scheduler    enabled :-) 2012-02-13 09:38:14
AVAILABILITYZONE    | |- nova-volume    enabled :-) 2012-02-13 09:38:14
AVAILABILITYZONE    |- olivia    
AVAILABILITYZONE    | |- nova-compute    enabled :-) 2012-02-13 09:38:20

Con lo que damos la configuración por terminada.

Actualizado por Molina Coballes, Alberto hace alrededor de 12 años · 9 revisions