jueves, 14 de agosto de 2014

Instalando Open Stack en VirtualBox

Que tal gente!!! 

Pues si hace mucho que no escribía nada pero ya estamos de nuevo por aqui, y pues ahora les traigo un manual de como instalar Openstack en un VirtualBox, si asi como lo leen en un VirtualBox. Pero para empezar veremos de principio que es Openstack?

Ok para los que no sepan openstack es segun wikipedia

Es un proyecto de computación en la nube para proporcionar una infraestructura como servicio (IaaS).
Es un software libre y de código abierto distribuido bajo los términos de la licencia Apache. El proyecto está gestionado por la Fundación OpenStack, una persona jurídica sin fines de lucro creada en septiembre de 2012 para promover el software OpenStack y su comunidad


Ya una vez visto lo anterior, openstack esta creado modularmente, y a cada uno de estos tiene una función y un nombre clave los cuales mencionaremos y daremos una pequena reseña de cada uno:

OpenStack Compute (Nova) es un controlador de estructura cloud computing, que es la parte principal de un sistema de IaaS. Está diseñado para gestionar y automatizar los pools de los recursos del equipo y puede trabajar con tecnologías ampliamente disponibles de virtualización. KVM y Xen son las opciones disponibles para la tecnología de hipervisor, junto con la tecnología Hyper-V y la tecnología de contenedores Linux como LXC.

OpenStack Object Storage (Swift) es un sistema de almacenamiento redundante y escalable. Los objetos y los archivos se escriben en varias unidades de disco repartidos por los servidores del centro de datos, con el software OpenStack responsable de asegurar la replicación y la integridad de los datos en el clúster. Agrupaciones de almacenamiento escalar horizontalmente simplemente añadiendo nuevos servidores. En caso de que un servidor o disco duro falla, OpenStack replica su contenido desde otros nodos activos a nuevas ubicaciones en el clúster.

OpenStack Block Storage (Cinder) proporciona dispositivos de almacenamiento a nivel de bloque persistentes para usar con instancias de OpenStack Compute. El sistema de almacenamiento de bloques gestiona la creación, aplicación y el desprendimiento de los dispositivos de bloque a los servidores. Volúmenes de almacenamiento de bloque se integran plenamente en OpenStack Compute y el Dashboard que permite a los usuarios en la nube gestionar sus propias necesidades de almacenamiento. Además del almacenamiento del servidor local de Linux, puede utilizar las plataformas de almacenamiento incluyendo Ceph, CloudByte, Coraid, EMC (VMAX y VNX), GlusterFS, Hitachi Data Systems, IBM Storage (familia Storwize, controlador de volumen SAN, XIV Storage System, y GPFS) , Linux LIO, NetApp, Nexenta, Scality, SolidFire, HP (StoreVirtual y 3PAR StoreServ familias) y almacenamiento puro. El almacenamiento de bloques es apropiado para escenarios donde el rendimiento es sensible, tales como el almacenamiento de base de datos, sistemas de archivos expandibles, o la prestación de un servidor con acceso al almacenamiento a nivel de bloque en bruto. La gestión Snapshot ofrece una potente funcionalidad para realizar copias de seguridad de los datos guardados en volúmenes de almacenamiento en bloque. Las instantáneas se pueden restaurar ni utilizar para crear un nuevo volumen de almacenamiento en bloque.


OpenStack Networking (Neutrones, anteriormente Quantum) es un sistema para la gestión de redes y direcciones IP. Asegura que la red no presente el problema del cuello de botella o el factor limitante en un despliegue en la nube y ofrece a los usuarios un autoservicio real, incluso a través de sus configuraciones de red.
OpenStack Networking proporciona modelos de redes para diferentes aplicaciones o grupos de usuarios. Los modelos estándar incluyen redes planas o VLAN para la separación de los servidores y el tráfico. Gestiona las direcciones IP, lo que permite direcciones IP estáticas o DHCP reservados. Direcciones IP flotantes permiten que el tráfico se redirija dinámicamente a cualquiera de sus recursos informáticos,

El servicio de Identidad de OpenStack (Keystone) ofrece un directorio central de usuarios asignados a los servicios de OpenStack que pueden acceder. Actúa como un sistema de autenticación común en todo el sistema operativo para la nube y se puede integrar con los servicios de directorio backend existentes como LDAP. Es compatible con múltiples formas de autenticación, incluyendo nombre de usuario y contraseña de credenciales estándar, sistemas basados ​​en tokens e inicios de sesión (login) de estilo AWS (es decir, Amazon Web Services). Además, el catálogo incluye una lista consultable de todos los servicios existentes en la OpenStack cloud, en un solo registro. Los usuarios y las herramientas de terceros mediante programación pueden determinar qué recursos pueden acceder.


El servicio de imagen de OpenStack (Glance) proporciona servicios de descubrimiento, de inscripción y de entrega de los discos y del servidor de imágenes. Las imágenes almacenadas se pueden utilizar como una plantilla. También se puede utilizar para almacenar y catalogar un número ilimitado de copias de seguridad. El servicio de imagen puede almacenar imagenes de disco y de servidores en una variedad de back-ends, incluyendo OpenStack Object Storage. La API de servicios de imagen proporciona una interfaz REST estándar para consultar información sobre las imágenes de disco y permite a los clientes transmitir las imágenes a nuevos servidores.


El servicio de Telemetría de OpenStack (Ceilometer) proporciona un único punto de contacto para los sistemas de facturación, proporcionando todos los contadores que se necesitan para establecer la facturación del cliente, a través de todos los componentes actuales y futuras de OpenStack. La entrega de los contadores es trazable y auditable, los contadores deben ser fácilmente extensible para apoyar nuevos proyectos, y los agentes que realizan las colecciones de datos deben ser independientes de todo el sistema.


Orquestación (Heat)  es un servicio para orquestar múltiples aplicaciones compuestas en la nube utilizando plantillas, tanto a través de una API REST OpenStack nativa y una API de consultas compatibles con CloudFormation


Base de datos Trove  Trove es una base de datos que funciona como un servicio de aprovisionamiento de motores de bases de datos relacionales y no relacionales.

Y bueno como en todo los productos hay versiones aqui les presenton las versiones que han salido de openstack





  • Austin: The first design summit took place in Austin, TX
  • Bexar: The second design summit took place in San Antonio, TX (Bexar county).
  • Cactus: Cactus is a city in Texas
  • Diablo: Diablo is a city in the bay area near Santa Clara, CA
  • Essex: Essex is a city near Boston, MA
  • Folsom: Folsom is a city near San Francisco, CA
  • Grizzly: Grizzly is an element of the state flag of California (design summit takes place in San Diego, CA)
  • Havana: Havana is an unincorporated community in Oregon
  • Icehouse: Ice House is a street in Hong Kong

  • Y ahora si basta de historia aun que es importante y vamos a instalarlo

    Para instalarlo vamos a utilizar los siguientes requerimientos

    --Ubuntu 14.04 .. si quieren pueden usar desktop, pero creo que para este caso seria mejor el server
    --4 gb de ram como minimo
    --30 Gb de espacio de disco duro
    -- La red yo la configure en modo bridge que es lo que yo recomiendo.. pero tambien pueden tenerla como modo anfitrion :D

    Ya que hayan instalado ubuntu en su maquina virtual con los requerimientos arriba especificados, ahora vamos ha hacer lo siguiente

    NOTA: todo lo que se ejecuta se ejecuta como usuario normal o mortal como le gusten llamar :D

    vamos a necesitar instalar el paquete git , para bajar lo necesario del github del devstack

    sudo apt-get install git

     Después de instalarlo haremos lo siguiente en nuestra consola para obtener la ultima version stable de icehouse de openstack

    git clone -b stable/icehouse https://github.com/openstack-dev/devstack.git 
    Una vez terminado haremos lo siguiente ingresamos a la carpeta llamada devstack que se creo cuando ejecutamos el comando anterior y hacemos lo siguiente

    cd  devstack 
    wget -O localrc http://goo.gl/OeOGqL  

    Con este comando bajaremos un archivo de configuración para nuestra instalación de openstack el cual contiene, las credenciales de acceso por ejemplo viene el de MYSQL, el ADMIN, si quieren pueden modificar los passwords de cada uno, este se guardara en "localrc" para ver el contenido o editarlo hagan algo de lo siguiente
    less localrc o vi localrc

    Tambien esta los "branch" del github de todo por lo cual no lo tocaremos si no lo necesitamos, asi como tambien bien como instalar cada uno de lo modulos del openstack

    una vez hecho todo lo anterior y ejecutamos dentro de la misma carpeta de devstack el siguiente script
    ./stack.sh 

    Y con esto empezara la instalacion de nuestro openstack de desarrollo, recuerden que esto puede tardar dependiendo de donde este corriendo su maquina virtual  la velocidad de su conexion y los procesadores asigandos a su vm

    Una vez que termine la instalacion nos las siguientes lineas


    2014-08-15 01:22:22.572 | + SERVICE_DIR=/opt/stack/status
    2014-08-15 01:22:22.572 | + [[ ! -d /opt/stack/status/stack ]]
    2014-08-15 01:22:22.576 | ++ ls '/opt/stack/status/stack/*.failure'
    2014-08-15 01:22:22.582 | ++ /bin/true
    2014-08-15 01:22:22.586 | + failures=
    2014-08-15 01:22:22.587 | + '[' -n '' ']'



    Horizon is now available at http://192.168.100.7/
    Keystone is serving at http://192.168.100.7:5000/v2.0/
    Examples on using novaclient command line is in exercise.sh
    The default users are: admin and demo
    The password: openstack
    This is your host ip: 192.168.100.7
    openstack@openstack-ubuntu:~/devstack$

    Aqui est ala ip que le asignamos a nuestra maquina y como accesar a 2 de los modulos por ejemplo, los usuarios y passwords que ocuparemos

    aqui esta el screenshot




    Y con esto ya podemos empezar a jugar he ir conociendo poco a poco cada modulo de openstack

    Espero la proxima semana tener para configurar poco a poco cada modulo

    recuerden compartir y dar click en ya saben donde cualquier duda a saben tambien

    Referencias: wikipedia, openstack.org

    2 comentarios:

    Unknown dijo...

    Hola,

    Tu instalación de Openstack es correcta, curiosamente yo descubrí esa procedimiento para instalar a punta de ensayo y error jajajaja.

    Te queria decir que es un muy buen aporte y que actualmente también estoy trabajando con este software y que he tenido problemas al crear un volumen para que pueda guardar información en el.

    Si aun estas trabajando en este tema y te interesa compartir tus experiencias frente a este software puedes escribirme al siguiente correo seroft@hotmail.com

    David dijo...

    Estoy buscando en internet como instalar distintas cosas y por eso trato de encontrar en la web todo lo que necesito sobre computación. Me encanta la informática y por eso estoy ahorrando para conseguir Vuelos a San Francisco que me permitan ir a la feria de computación mas grande del mundo