Download Latest Version openstack-installer-centos6-v1.5.9.tgz (24.8 MB)
Email in envelope

Get an email when there's a new version of OpenStack-Installer-Centos6

Home
Name Modified Size InfoDownloads / Week
openstack-installer-centos6-v1.5.9.tgz 2013-12-24 24.8 MB
README-Spanish.txt 2013-09-03 17.9 kB
Totals: 2 Items   24.8 MB 0
INSTALADOR DESATENDIDO (SEMI AUTOMATIZADO) PARA OPENSTACK (GRIZZLY)
Reynaldo R. Martinez P.
E-Mail: TigerLinux@Gmail.com
Caracas, Venezuela.

Este instalador fue realizado para automatizar las tareas de creación de una infraestructura
de virtualización basada en OpenStack. Hasta el momento, existen dos "sabores" del instalador,
uno para Debian 7 y otra para Centos 6.

Ambos "sabores" producen esencialmente lo mismo: Un OpenStack completamente utilizable para
producción.


USO DEL INSTALADOR.

Primero: LEA, LEA, LEA y luego de descansar de leer, LEA DE NUEVO !!.

Lea todo lo que puede de OpenStack si desea incursionar en el área de virtualización en la nube.
Si no le gusta leer, entonces apóyese en alguien que si tenga la disposición para hacerlo, pero
no trate de usar este instalador sin tener algún tipo de conocimientos a la mano. Vea el archivo
"NOTAS.txt" para entender un poco mas de cuales conocimientos usted debería tener.

El sub-mundo de OpenStack engloba varias tecnologías del mundo de Software Libre y del mundo de Redes
que deben ser comprendidas muy bien antes de siquiera intentar hacer cualquier instalación de
openstack ya sea con esta herramienta de instalación o con cualquier otra. En resumen, si usted no
tiene los conocimientos, no lo intente. Adquiera los conocimientos primero, y luego proceda !.

Antes de usar el instalador, debe preparar su o sus servidores. De nuevo, en el archivo "NOTAS.txt"
hay puntos importantes que deben ser cubiertos antes de iniciar una instalación usando estas
herramientas. El instalador hará una serie de validaciones que, en caso de arrojar resultados
negativos, hará que aborte el proceso.

Segundo: Modifique el archivo de configuración del instalador.

El instalador tiene un archivo central de configuración: ./configs/main-config.rc. Dicho archivo
está bastante documentado, de manera que si usted hizo "su tarea" y estudió de OpenStack, sabrá
que debe modificar en el mismo. Hay cosas muy obvias como "contraseñas", "direcciones IP", "módulos
a instalar" y "dominios de dns".

En su versión por defecto, el archivo de configuración tiene las selecciones de módulos para instalar
lo que se conoce como un "all-in-one" (un servidor monolítico de OpenStack con todos los servicios).

Adicionalmente, existen tres módulos que por defecto están en "no": Ceilometer, swift y snmp. En la
versión de OpenStack usada por este instalador (grizzly) ceilometer está aun en prueba de concepto.
El módulo de swift se puede instalar "si usted realmente va a usarlo". Swift por si solo ya es casi
tan extenso como todo OpenStack. Úselo si REALMENTE sabe lo que está haciendo y si REALMENTE lo va
a utilizar. El módulo de SNMP instala variables de monitoreo útiles si usted va a monitorear OpenStack
vía snmp pero no instala ningún tipo de aplicación de monitoreo. Las variables están descritas (si
usted instala el soporte) en el archivo /etc/snmp/snmpd.conf.

Si usted desea instalar un "all-in-one", sólo modifique las contraseñas, direcciones IP y dominios
de correo y de dhcp/dnsmasq que aparecen en el archivo de configuración.

Luego de actualizar su archivo de configuración, ejecute en la raíz del directorio del script el
comando siguiente:

# ./main-installer.sh install

El instalador le preguntará si quiere proceder (y/n).

Si ejecuta el instalador con el parámetro adicional "auto", el mismo seguirá de manera automática sin
preguntar. Ejemplo:

# ./main-installer.sh install auto

Usted puede guardar todas las salidas del instalador usando la herramienta "tee". Ejemplo:

# ./main-installer.sh install | tee -a /var/log/install-log.log

Todo lo que haga y saque a consola el instalador quedará guardado en el archivo "install-log.log" o como
haya decidido llamarlo.


CASOS TÍPICOS DE INSTALACIÓN

En una instalación mas convencional y de producción de OpenStack, usted tendrá "por lo menos" un nodo
de control (llamado "controller") y nodos adicionales de computación (llamados "compute").

En tal caso, debe instalar primero el controller. Modifique el archivo de configuración para incluir los
módulos que normalmente debe llevar un controller. Específicamente: glance, cinder, quantum, nova, y el
dashboard (horizon). 

Si su nodo de controller va a incluir un servicio de compute (controller + compute), la siguiente
variable del archivo de configuración debe estar en "no":

nova_without_compute="no"

En cambio, si va a instalar un controlador "puro" (sin servicio de compute) coloque la variable en "yes":

nova_without_compute="yes"

Nodos de compute: Para los nodos de compute, debe dejar en "yes" sólo las variables de instalación de los
módulos de nova y quantum. El resto de los módulos (glance, cinder, horizon, etc.) deben estar en "no".
Adicionalmente, las siguiente variables en las secciones de nova y quantum deben estar en "yes":

nova_in_compute_node="yes"
quantum_in_compute_node="yes"

Debe colocar las IP's de los servicios de quantum, keystone, glance y cinder según la que tiene el 
controlador (incluyendo las Ip's del backend de Base de Datos). En cambio, las siguientes variables deben
ser colocadas a la IP del nodo de compute:

novahost="IP del Nova Compute Host"
glancehost="IP del Controlador"
cinderhost="IP del controlador"
quantumhost="IP del controlador"
keystonehost="IP del controlador"
messagebrokerhost="IP del controlador"
dbbackendhost="IP del controlador o del backend de base de datos"
vncserver_controller_address | spiceserver_controller_address = "IP del controlador"


BACKEND DE BASE DE DATOS

El instalador tiene la posibilidad de instalar y configurar el backend de base de datos, y de crear
las bases de datos. Esto es completamente controlable por el archivo de configuración a través de las
siguientes variables:

dbcreate="yes"
dbinstall="yes"
dbpopulate="yes"

Con estas tres opciones en "yes", se instalará el software de base de datos, se configurará y se crearán
las bases de datos, todo con la información contenida en el archivo de configuración.

ALERTA: Si usted elige estas opciones, se debe asegurar que no exista previamente software de base de
datos instalado o el proceso fallará.

Si usted desea "no instalar el software" pero si tiene acceso administrativo completo al backend de base
de datos, coloque las siguiente combinación:

dbcreate="yes"
dbinstall="no"
dbpopulate="yes"

Con esto, el software de base de datos no será instalado, pero queda de parte de usted (o su DBA) asegurarse
que tiene acceso administrativo completo para crear y modificar bases de datos en el backend seleccionado.

Si no desea ni instalar ni crear bases de datos (asumimos que ya las tiene previamente creadas) coloque los
tres valores en "no":

dbcreate="no"
dbinstall="no"
dbpopulate="no"


BACKEND DE MENSAJERÍA (Message Broker)

Como parte de los componentes a instalar y configurar, este instalador instala y configura el software
para AMQP (el Message Broker). Esto es un paso mandatorio para un controlador o un "all-in-one". Si su
o sus servidores ya tienen un messaje broker instalado, pueden ocurrir conflictos que prevengan el 
correcto funcionamiento de la instalación.


SCRIPTS DE AYUDA

Este instalador colocará en /usr/local/bin un script de ayuda para poder levantar, bajar, desactivar,
activar los servicios de openstack:

openstack-control.sh OPCIÓN

El script utiliza las siguientes opciones

enable: activa los servicios para autoarranque en el boot del servidor.
disable: desactiva los servicios para autoarranque en el boot del servidor.
start: arranca todos los servicios.
stop: detiene todos los servicios.
restart: reinicia todos los servicios.
status: muestra el estado de todos los servicios.

IMPORTANTE: El script "openstack-control.sh" tiene la gran ventaja de subir (o bajar) todos los servicios
de openstack en el orden correcto. Tanto los paquetes de debian como los de centos colocan el orden no
precisamente "óptimo". Recomendación: colocar lo siguiente en el /etc/rc.d/rc.local del servidor para forzar
a que los servicios de OpenStack arranquen en el orden correcto:

/usr/local/bin/openstack-control.sh restart

NOTA: El script detecta que servicios de OpenStack fueron instalados y configurados por el instalador para
iniciar/detener/reiniciar/habilitar/deshabilitar/verificar los servicios correctos en el orden correcto.

Adicional a "openstack-control.sh", el instalador copia a /usr/local/bin el script "openstack-log-cleaner.sh".
Este script tiene como función limpiar todos los logs de todos los componentes de OpenStack instalados por
esta herramienta de instalación.

El script es llamado durante la fase final de instalación para limpiar los logs antes de dejar el servidor
instalado, pero puede ser utilizado también para limpiar los logs en caso de ser necesario.


DNSMASQ

El instalador crea una configuración personalizada del componente "dnsmasq" usado por el agente DHCP de
Quantum (quantum-dhcp-agent). Dicha configuración incluye un archivo donde usted puede colocar opciones
especiales:

/etc/dnsmasq-quantum.d/quantum-dnsmasq-extra.conf

Hay ejemplos comentados en el archivo. Use esos ejemplos para pasar opciones a las distintas instancias de
dnsmasq creadas para cada subred donde usted active la opción de usar "dhcp".

Recomendación: Trate de tener una buena estructura de "DNS" para sus máquinas virtuales de manera que las
pueda identificar de manera apropiada y utilice las opciones de dnsmasq para agregar o separar subdominios
para cada rango de IP's.


MODULARIZACIÓN DEL INSTALADOR

Si bien el proceso de instalación principal "main-installer" se encarga de llamar a cada módulo de cada
componente del instalador, dichos módulos son realmente independientes entre si, al punto de que pueden
ser llamados de manera secuencial. No es el caso común, pero puede hacerse. El orden normal de ejecución
de cada módulo es el siguiente (asumiendo que todos los componentes serán instalados):

requeriments.sh
messagebrokerinstall.sh
databaseinstall.sh
requeriments-extras.sh (sólo presente en el "sabor" de debian 7)
keystoneinstall.sh
swiftinstall.sh
glanceinstall.sh
cinderinstall.sh
quantuminstall.sh
novainstall.sh
ceilometerinstall.sh
snmpinstall.sh
horizoninstall.sh
postinstall.sh

Si desea ejecutar los módulos en orden sin usar el instalador principal, debe ejecutarlos desde el
directorio donde se encuentra el instalador, de la siguiente manera:

# ./modules/Modulo-a-ejecutar.sh

Todos los módulos leen el archivo de configuración (./configs/main-config.rc) y tomarán las opciones de
configuración desde dicho archivo.

Cada módulo que se ejecuta de manera exitosa dejará una serie de archivos de control en el directorio
siguiente:

/etc/openstack-control-script-config

Dichos archivos de control son utilizados por los módulos para evitar una re-ejecución de los mismos
que pueda causar problemas en la instalación de OpenStack, y también son utilizados por el script
"openstack-control.sh" para saber que componentes de OpenStack fueron instalados de manera exitosa y
que servicios están instalados para iniciar/detener/reiniciar/etc.


RECOMENDACIONES DE INSTALACIÓN PARA CENTOS Y DEBIAN.

Centos 6:

Instale centos con la selección de paquetes para "Basic Server" (servidor básico). Asegúrese de tener
correctamente instalado, configurado y operativo el servicio ntpd. Se recomienda también usar ntpdate.

Agregue los repositorios EPEL y RDO (ver "NOTAS.txt").

Instale y configure OpenVSWitch (de nuevo, ver "NOTAS.txt").

Debian 7:

Instale debian con la selección de paquetes "Standard System Utilities" (utilitarios de sistema estandard)
y con SSH Server (servidor ssh). Asegúrese de tener correctamente instalado, configurado y operativo
el servicio ntpd. Se recomienda también usar ntpdate.

Agregue el repositorio de OpenStack para Debian y asegúrese de tener las ramas completas para sus repos
de debian (ver "NOTAS.txt").

Instale y configure OpenVSWitch (de nuevo, ver "NOTAS.txt").

Cinder:

Si va a usar CINDER con lvm-iscsi, asegúrese de tener una partición o disco libre para crear un LVM
llamado "cinder-volumes". Ejemplo (disco libre /dev/sdc):

pvcreate /dev/sdc
vgcreate cinder-volumes /dev/sdc

Otro ejemplo con una partición libre /dev/sda3:

pvcreate /dev/sda3
vgcreate cinder-volumes /dev/sda3

Swift:

Si va a usar swift, recuerde que debe tener el disco/partición de swift montado sobre un directorio
específico y este debe ser indicado en la configuración del instalador (main-config.rc).

Ejemplo:

Variable swiftdevice="d1"

En el fstab "d1" debe estar montado así:

/dev/sdc1 /srv/node/d1 ext4 acl,user_xattr 0 0

En este ejemplo, se asume que existe ya una partición "/dev/sdc1" previamente formateada en ext4 o
cualquier otro sistema de archivos soportado por Linux.

También puede usar un recurso NFS. Ejemplo:

192.168.56.1:/exports/nfs_for_swift /srv/node/d1 nfs rw,auto,vers=3,proto=tcp,acl,user_xattr 0 0

Arquitectura:

Tanto en debian como en centos, debe elegir utilizar 64 bits (amd64/x86_64). No trate de instalar
OpenStack en 32 bits.

Servicio NTP:

Es VITAL que sus servidores de OpenStack tengan una correcta sincronización de tiempo o habrá serios
problemas entre el controller y los nodos de compute. Lea la documentación de OpenStack para saber
mas al respecto.


RECOMENDACIONES PARA VIRTUALBOX.

Usted puede usar este instalador en una VM de VirtualBox si no desea usar un servidor "real" para
practicar y aprender OpenStack. Debería tener un "mínimo absoluto" de 2GB's de RAM en su equipo
"real" y asignar al menos 900 Mb's de RAM a la VM de VirtualBox, pero si quiere hacer una prueba
mas extensa, trate de tener una VM con al menos 4 GB's.

Recomendaciones de hardware para una VM de VirtualBox:

Discos Duros: Uno para el sistema operativo (16 Gb's mínimo), uno para Cinder-Volumes y otro para
swift - espacio variable... mínimo 8GB's para cada disco (switf y cinder-volumes).
Red: tres interfaces:
 - Interfaz 1 en modo NAT para salida a Internet.
 - Interfaz 2 en modo "host only adapter, promisc: todos", para poder administrar el Servidor
   OpenStack - sugerencia: Usar vboxnet0 con la red 192.168.56.0/24 (desactivar el dhcp de virtualbox)
   y asignarle la IP 192.168.56.2 a la interfaz (la .1 estará en la máquina real).
 - Interfaz 3 en modo "host only adapter, promiscq:q: todos", para poder asignar a las VM's de OpenStack
   la red en la interfaz eth2 y el rango IP 192.168.57.0/24 (la IP 192.168.57.1 estará en la máquina
   real).

Hacer la instalación del S/O de 64 bits de su preferencia. Agregar los repositorios y soporte ntp
según las recomendaciones en este documento, crear el switch de OpenVSWITCH br-int, crear el switch
de OpenVSWITCH br-eth2 y agregarle el puerto eth2 (la interfaz 3 en la VM de VirtualBox).

Crear el volumen de cinder contra el segundo disco duro de la VM de virtualbox:

pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb

Si va a usar swift, crear la partición en el tercer disco (/dev/sdc1) y montarla según las notas en
este documento.


Hacer la instalación indicando que el Mapping de bridge (dentro de main-config.rc) es:

bridge_mappings="publica:br-eth2"

Cambiar la IP en el main-config.rc a la IP asignada a la VM en la red 192.168.57.0/24.

Ejecutar el instalador.

Disfrutar de OpenStack :-)

Usted podrá entrar al servidor vía web por la interfaz 192.168.56.x para ejecutar las tareas de
administración de OpenStack. Creé su subred en el rango de eth2 (192.168.57.0/24) y podrá entrar a
las VM's de OpenStack desde su máquina real que tendrá la interfaz 192.168.57.1.


DESINSTALACIÓN

El script principal tiene también un parámetro que llama al módulo de desinstalación:

# ./main-installer.sh uninstall
o
# ./main-installer.sh uninstall auto

La primera forma de llama al proceso de desinstalación, preguntará "y/n" para proseguir o abortar, pero
al ser llamado con el parámetro extra "auto", no habrá preguntas y todo lo que el instalador instaló
será eliminado del servidor.

Es importante tener en cuenta que si se utilizó la opción dbinstall="yes", el desinstalador eliminará
no solamente el manejador de base de datos sino también las bases de datos creadas.

Si usted desea NO ELIMINAR las bases de datos creadas, modifique el "main-config.rc" y coloque la opción
dbinstall="no". Esto hará que el desinstalador no elimine ni el manejador de base de datos ni las bases
de datos creadas.

Esto es muy conveniente para una reinstalación. Si por alguna razón su instalación de OpenStack requiere
ser reconstruida sin tocar las bases de datos o el manejador, desinstale usando dbinstall="no", y 
cuando vaya a reinstalar, coloque todas las opciones de base de datos en "no" para conservar tanto el
manejador como las bases de datos y data creada:

dbcreate="no"
dbinstall="no"
dbpopulate="no"


Si su instalación tiene múltiples nodos (controller / compute) use los archivos "main-config.rc" con
los que instaló cada nodo para la desinstalación del nodo correspondiente.


GOODIES

En el directorio "Goodies" usted podrá encontrar algunos scripts (cada uno con su respectivo readme)
que puede utilizar con su instalación de OpenStack. Vea los scripts y sus respectivos "readmes" para
entender mejor como usarlos !.


NOTAS FINALES

Este instalador fue orientado inicialmente al modelo de red flat/vlan's con router externos donde el
módulo de red (Quantum) no canalizará tráfico (sólo manejará los recursos de puertos de ovs y lbaas y
levantará las configuraciones necesarias). En este modelo, quantum "no se convierte" en un posible
cuello de botella para el tráfico de red. Sin embargo, usted "si tiene los conocimientos de configuración
de openstack" puede adaptar la configuración y/o los módulos a sus necesidades en caso de querer
utilizar el modelo de tunneling o cualquier otra configuración de Quantum que requiera.

FIN.-



Source: README-Spanish.txt, updated 2013-09-03