Vous êtes sur la page 1sur 121

OPENSTACK

Icehouse

Cloud Computing Open Source


Todo lo que necesitas saber sobre la última versión de OpenStack “Icehouse”.

Jorge Guerrero Garrido


OPENSTACK ICEHOUSE Curso 13/14

Este proyecto está creado con la intención de iniciar a cualquier persona sin ningún
conocimiento previo de OpenStack o “Cloud Computing” en este nuevo mundo en el cual
todavía queda mucho por inventar, OpenStack es todavía muy joven pero tiene un potencial
increíble, está en contrastante desarrollo por una gran comunidad respaldada por las más
grandes empresas del sector informático.

Mi nombre es Jorge Guerrero Garrido y soy alumno del instituto Jerezano IES Romero Vargas
donde finalizo dos años de estudio con este proyecto, el cual espero que sirva de ayuda para
cualquier persona que decida comenzar su andadura en OpenStack. El problema fundamental
que tiene OpenStack es la poquísima documentación que existe en español, este problema
cada vez es menor, ya que la comunidad de habla hispana está manifestando un aumento en
los últimos años.

En este documento vamos a repasar desde los aspectos más básicos del “Cloud Computing”
hasta los aspectos más específicos de OpenStack y haremos estudios de los diferentes tipos de
despliegues.

Espero que disfrutéis con este documento tanto como yo he disfrutado desarrollándolo.

Es la hora de OpenStack y está claro que el mundo de la virtualización camina en ese sentido,
termino con una frase que me encanta.

“Lo que no se prevé con la cabeza se aguanta con la espalda”.

Este documento está íntegramente sujeto a licencia © Creative Commons Reconocimiento –


NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula
la obra original.

1
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

OpenStack
Capítulo 1. OpenStack ................................................................................................................... 5
Cloud Computing....................................................................................................................... 5
¿Qué es OpenStack?.................................................................................................................. 6
¿Por qué OpenStack? ................................................................................................................ 7
Reducción de costes con OpenStack ......................................................................................... 8
Requisitos mínimos de OpenStack ............................................................................................ 9
Historia de OpenStack ............................................................................................................. 10
Componentes OpenStack ........................................................................................................ 11
Arquitectura conceptual ......................................................................................................... 13
Arquitectura de servicios ........................................................................................................ 15
Dashboard (Horizon) ........................................................................................................... 15
Compute (Nova) .................................................................................................................. 16
Object Storage (Swift) ......................................................................................................... 19
Block Storage (Cinder) ......................................................................................................... 20
Image Storage (Glance) ....................................................................................................... 22
Identity (Keystone) .............................................................................................................. 24
Networking (Neutron) ......................................................................................................... 25
Orchestration(Heat) ............................................................................................................ 27
Telemetry (Ceilometer) ....................................................................................................... 28
Database service (Trove) ..................................................................................................... 29
Conocimientos básicos de compute (Nova) ............................................................................ 30
Hipervisores......................................................................................................................... 30
Usuarios y proyectos (Tenants) ........................................................................................... 32
Imágenes e instancias ......................................................................................................... 32
Lanzar una instancia ............................................................................................................ 32
Tipos de almacenamiento ................................................................................................... 33
Conocimientos básicos de Keystone ....................................................................................... 34
TOKENS ................................................................................................................................ 35
Conceptos básicos de Glance .................................................................................................. 37
Conceptos básicos de Swift ..................................................................................................... 37
OpenStack en nuestras aulas ...................................................................................................... 38
Utilización de equipos físicos .................................................................................................. 39

2
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Utilización de máquinas virtuales ........................................................................................... 40


Utilización de IaaS ................................................................................................................... 41
Metodología de uso por el alumnado ..................................................................................... 42
Capítulo 2: OpenStack en IES Romero Vargas............................................................................. 43
Ventajas e Inconvenientes ...................................................................................................... 43
Adaptación de medios para 1 Gbps ........................................................................................ 44
¿Por qué no utilizo Router Gbps? ....................................................................................... 44
Proyectos para el despliegue de OpenStack en IES Romero Vargas ....................................... 45
Proyecto 1 (Más austero) .................................................................................................... 45
Proyecto 2 (Utilizando todos los equipos del IES) ............................................................... 49
Proyecto 3 (Implementación óptima de OpenStack) .......................................................... 54
Capítulo 3: Amazon EC2 .............................................................................................................. 59
¿Qué es Amazon EC2? ............................................................................................................. 60
Historia .................................................................................................................................... 60
Componentes principales de Amazon EC2.............................................................................. 61
Amazon Machine Images e instancias ................................................................................ 61
Regiones y Zonas de disponibilidad .................................................................................... 62
Almacenamiento ................................................................................................................. 63
Bases de Datos .................................................................................................................... 64
Redes y Seguridad ............................................................................................................... 64
Monitoreo, Auto Scaling y balanceo de carga .................................................................... 65
AWS Gestión de Identidades y Acceso ................................................................................ 65
Interfaces disponibles EC2 .................................................................................................. 65
¿Cómo se le cobra por EC2? .................................................................................................... 66
Probemos Amazon EC2 ........................................................................................................... 67
Capítulo 4. Instalaciones de OpenStack. ..................................................................................... 80
TryStack ................................................................................................................................... 80
DevStack (OpenStack IceHouse) ............................................................................................. 82
Instalación de OpenStack con diferentes nodos ..................................................................... 88
Capítulo 5. Administración y utilización de OpenStack............................................................... 94
Gestión de imágenes ............................................................................................................... 94
Formato del disco ................................................................................................................ 94
Formato del contenedor ..................................................................................................... 95
Crear una Imagen ................................................................................................................ 96
Grupos de seguridad ............................................................................................................... 99
Pares de claves .................................................................................................................. 101

3
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Sabores (Flavors) ................................................................................................................... 102


Administración de instancias ................................................................................................ 104
Lanzar una instancia .......................................................................................................... 104
Instantánea (Snapshot) ..................................................................................................... 106
Acciones para instancias ................................................................................................... 107
Gestión y creación de Volúmenes ......................................................................................... 108
Gestión de Redes (Neutron) .................................................................................................. 110
Topología de Red............................................................................................................... 112
Gestión de usuarios y proyectos ........................................................................................... 113
Proyectos ........................................................................................................................... 113
Usuarios............................................................................................................................. 115
Conclusiones y agradecimientos ............................................................................................... 117
Bibliografía ................................................................................................................................ 118
Glosario ..................................................................................................................................... 119

4
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Capítulo 1. OpenStack
OpenStack es una colección de tecnologías Open Source que proporcionan un software para el
despliegue escalable de de nubes públicas y privadas. OpenStack proporciona Infraestructura
como Servicio ó IaaS (Infrastructure as a Service) y es un proyecto que se inició en el año 2010
por la empresa Rackspace Cloud y por la agencia espacial norteamericana, NASA. Actualmente
más de 200 empresas se han unido al proyecto, entre ellas se encuentran algunas como Intel,
Canonical, Red Hat, AT&T, Dell, Rackspace, Cisco. Podemos ver la impresionante lista en el
siguiente enlace https://www.openstack.org/foundation/companies/

OpenStack desarrolla dos proyectos relacionados:

OpenStack Compute, que proporciona recursos computacionales a través de máquinas


virtuales y gestión de la red.

OpenStack Object Storage, que proporciona un servicio de almacenamiento de objetos


redundante y escalable.

OpenStack puede ser desplegado en una gran variedad de entornos desde una pequeña
empresa hasta un gran CPD además de grandes proveedores de servicio.

Cloud Computing
La computación en la nube son servidores normalmente accesibles desde Internet encargados
de atender las peticiones en cualquier momento mediante una conexión a internet desde
cualquier dispositivo móvil o fijo ubicado en cualquier lugar, algunas de las características del
cloud computing son las siguientes:

 Servicio a demanda: Los recursos de software o hardware se ofrecen como servicio a


los usuarios.

 Accesible a través de la red: Normalmente internet.


 Agrupación de recursos: Recursos se agrupan en diferentes grupos:
Almacenamiento, memoria RAM, cores, etc.

 Independencia de recursos: Capacidad de aislar tráfico, datos o configuraciones de


usuarios utilizando el mismo software.

 Escalabilidad y Elasticidad: Permite ajustar los recursos utilizados a la demanda.


 Pago por uso: Permite ajustar los costes de explotación al uso de los recursos.

5
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

En el entorno de Cloud computing podemos distinguir entre varios tipos de cloud:

 Software as a Service (SaaS). La forma más conocida de cloud en la que todas las
aplicaciones de software se encuentran en la nube y el usuario suele acceder a ellas
mediante un simple navegador web. Algunos ejemplos son moodle, redes sociales o
correo web.

 Platform as a Service (PaaS). Aplicacion completa para el desarrollo ofrecida como


servicio en la nube (Google App Engine, Nitrous IO..)

 Infraestructure as a Service (IaaS). La evolución de la infraestructura clásica de


servidores físicos en las empresas, sustituyéndolos por servidores virtuales. Amazon
EC2 (Elastic Compute Cloud) y las implementaciones de software libre Opennebula y
Eucalyptus.

Una de las clasificaciones más típicas es dependiendo del entorno donde se despliega de
manera que los podemos clasificar en:

 Públicos. Cuando los servicios ofrecidos por la nube son servidos por empresas
externas.
 Privados. Cuando los servicios ofrecidos se manejan por un sólo cliente que controla
las aplicaciones que se ejecutan.
 Híbridos. Que es una solución que combina las dos anteriores. Utilizando una API
común.

La utilización del IaaS en el ámbito empresarial es un método de trabajo que se implantará


progresivamente dada sus grandes ventajas y ahorro de costes, sustituyendo así sus
propios servidores físicos por servidores virtuales alojados en empresas externas, las
cuales gestionan y mantienen los servidores.

Empresas en las cuales por el tratamiento de datos de alto nivel de confidencialidad no es


posible o poco aconsejable confiar en una empresa externa, de ahí nacen los cloud
privados e híbridos, ya que de esta manera todos los datos y recursos o parte de ellos los
gestionaría la propia empresa evitando el riesgo de no controlar directamente los
servidores.

¿Qué es OpenStack?
OpenStack es un software Open Source usado para el despliegue de clouds públicas y privadas.
OpenStack representa tanto a una comunidad y un proyecto de Software Libre, como un
software para ayudar a las organizaciones a ejecutar sus propios clouds para computación o
almacenamiento virtual.

La finalidad con la que nace OpenStack es la de proporcionar una solución de “open source”
para el despliegue de cloud públicos y privados con el que conseguir la máxima escalabilidad y
elasticidad, con total independencia de ninguna empresa de tal manera que cualquier usuario
o empresa puede colaborar, opinar o desarrollar para este proyecto que llamamos OpenStack.

6
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

¿Por qué OpenStack?


Una de las preguntas que pueden surgir al comenzar a hablar de OpenStack es ¿Qué
conseguimos desplegando OpenStack? ¿Por qué OpenStack?

Para intentar responder a esta pregunta a continuación se muestran algunos de los muchos
beneficios o posibilidades que tendría la implementación de OpenStack.

 Recursos virtualizados (CPU, memoria, discos, interfaces de red): Mejor eficiencia en


el uso de los componentes dependiendo de la demanda de recursos.

 Administración de Redes: Asignación de IP y VLAN adaptada a nuestras necesidades


sin necesidad de ningún dispositivo.

 Permite balanceo de carga, cortafuegos y redes privadas virtuales (VPN).

 Limitación de velocidad y autentificación: Pudiendo limitar la velocidad o ciertas


características solo a los usuarios permitidos.

 Masivamente escalable: OpenStack nació para ser escalable 100%, si necesitamos


mayor capacidad de cómputo simplemente añadimos un nodo más.

 Administración de imágenes: Fácilmente podremos almacenar, importar, compartir


y utilizar cualquier imagen almacenada en el servidor.

 Gestión de VM: Podremos Iniciar, suspender, cambiar el tamaño, terminar instancias


desde una sencilla interfaz y mientras las máquinas están corriendo.

 Grupos de seguridad: Flexibilidad para asignar y controlar el acceso a las instancias


mediante la creación de grupos de seguridad.

 VNC a través del navegador: Rápido y totalmente compatible.


 Tus datos permanecerán en tu empresa y en empresas de terceros.

7
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Reducción de costes con OpenStack


Una de las razones fundamentales por la que creo una buena opción el despliegue tanto en
una gran empresa, así como pequeña o incluso para implementar en universidades o centros
de formación es que si implementación conlleva una gran reducción de costes. Algunos de los
componentes fundamentales en los que ahorraríamos dinero serían los siguientes:

 No tendríamos que mejorar el hardware de los equipos de los usuarios ya que están
virtualizados.

 Los usuarios tendrán todas sus aplicaciones y datos en el servidor así que podrán
trabajar desde cualquier equipo de la empresa.

 Totalmente compatible, podremos ejecutar cualquier aplicación ya que se ejecutaría


en el servidor y no en los equipos.

 Equipos baratos y con pocos recursos para los usuarios (equipos antiguos o raspberry
pi) ya que todo el trabajo se ejecutará en el servidor.

 Equipo fácilmente remplazable en caso de problema.

 La cantidad de nodos operativos depende de la demanda lo que conlleva un


importante ahorro de luz.

 No tendremos que pagar licencias ¡SOFTWARE LIBRE!

 Ningún software adicional para copias de seguridad.

 No es necesario usar RAID lo cual conlleva un gran ahorro en discos duros.

 Los usuarios podrá ejecutar cualquier tipo de aplicación en sus equipos sin importar las
características de esta, ya que se ejecutará en el servidor y no en sus equipos.

8
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Requisitos mínimos de OpenStack


Uno de los problemas fundamentales de OpenStack es fundamentalmente la gran cantidad de
recursos necesarios para su correcta implementación, los recursos lógicamente deberán de ser
mayores cuando mayor queramos que sea el rendimiento del cloud.

Para el despliegue de OpenStack como mínimo necesitamos dos nodos, un nodo controlador y
un nodo de computación para los servicios compute y el Servicio de imagen y objeto, cuenta,
contenedores, y los servidores proxy para almacenamiento de objetos.

Servidor Hardware recomendado Notas


Nodo controlador (Corren Procesador : 64-bit X86 Se recomienda 2 NICS
los servicios network, aunque no es obligatorio. Un
volumen,API, Scheduler y Memoria RAM: 12 GB servidor quad core con 12
imagen ) GB de RAM debería de ser
Espacio disco: 30 GB (SATA, suficiente para el nodo
SAS, o SSD) controlador.

Volume storage: 2 Discos de


2 TB (SATA) para los
volúmenes añadidos a los
nodos de computación

Network: 1 interfaz de red 1


Gbps (NIC)

Nodos de computación Procesador : 64-bit X86 Con 2 GB RAM puedes lanzar


una instancia con el sabor
Memoria RAM: 32 GB m1.small en un nodo o tres
instancias m1.tiny sin
Espacio disco: 30 GB (SATA, memoria Swap, así que 2 GB
SAS, o SSD) RAM debería ser lo mínimo
para entorno de pruebas.
Network: 2 interfaces de red Como curiosidad en
1 Gbps (NIC) Rackspace utilizan 96 GB de
RAM para los nodos de
computación en el
despliegue de OpenStack

9
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Historia de OpenStack
A mediados de 2010 se produjo un evento determinante en el mundo del software de
Infraestructura como Servicio (IaaS). Rackspace y la NASA anunciaban de manera conjunta que
estaban desarrollando un nuevo software de IaaS que venía a solucionar los problemas que la
NASA le había encontrado a Eucalyptus, y a convertirse en una alternativa real a Amazon Web
Services.

Este nuevo proyecto pretendía solucionar los problemas de Eucalyptus tales como que no es
se escala y que no es realmente de código abierto. Al parecer Eucalyptus está pensado como
un producto completo para unas necesidades concretas: La Nube Privada. Sin embargo, la
NASA buscaba algo que escalase a lo a lo grande: Un millón de servidores o 60 millones de
máquinas virtuales. Para conseguir eso, es necesario reconstruir Eucalyptus prácticamente
desde 0 y modificarlo de tal manera que soporte ese nivel de escalado. Teniendo en cuenta
que Eucalyptus no era un proyecto 100% libre la NASA decidió que no podía meter recursos en
algo que no controlaba.

Así que OpenStack nació como una alternativa completamente abierta al amparo de
Rackspace y gran parte de la industria. A diferencia de Eucalyptus no es un producto, sino un
‘Framework’. Es decir, puede manipularse de tal manera que puede adaptarse a las
necesidades de los clientes. Y por supuesto todo el código se encuentra disponible bajo
licencia Apache 2.0.

El lanzamiento fue todo un ejemplo de cómo presentar en sociedad un producto. Consiguieron


pasar de la nada al infinito en un instante. Todo el mundo hablaba de OpenStack. OpenStack
no pasó inadvertido para las grandes empresas tecnológicas del mundo que no tardaron en
respaldar el proyecto, entre ellas encontramos:

La primera release disponible de OpenStack llamada Austin, decepcionó un poco al mundo que
había nacido en torno a OpenStack, pero esto permitio dar esperanzas y motivar más el
desarrollo del proyecto, era la primera vez que tenían algo palpable de este gran proyecto. Así
que el proyecto OpenStack creció a una velocidad de vértigo con su última relase llamada
“Icehouse” dejando atrás ya ocho relases diferentes y con la vista puesta en el horizonte con el
desarrollo de “Juno” que verá la luz en octubre de 2014.

10
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Componentes OpenStack
Conforme avanza el desarrollo de OpenStack aumentan el número de componentes y las
funcionalidades de este proyecto en la última versión disponible de OpenStack cuenta ya con
un total de 10 componentes con funcionalidades tan diferentes como el almacenamiento de
volúmenes o la ejecución de máquinas virtuales. La última versión Icehouse contará con los
siguientes componentes.

Servicio Nombre del Proyecto Descripción


Dashboard Horizon Dashboard ("Horizon"):
proporciona una interfaz de
usuario modular, basada en la
web, para la gestión de todos los
servicios de OpenStack.
Compute Nova Proporciona máquinas virtuales
bajo demanda. Similar al servicio
EC2 de Amazon.
Networking Neutron Permite la conectividad de la red
entre un servicio y otro
OpenStack. Proporciona una API
para que los usuarios puedan
definir las redes y los archivos
adjuntos en ellos.
Almacenamiento
Object Storage Swift Proporciona almacenamiento de
objetos. Swift nos permite
almacenar y/o recuperar ficheros,
varias compañías ofrecen
almacenamiento basado en Swift.
Block Storage Cinder Cinder proporciona una
infraestructura para la gestión de
volúmenes en OpenStack. En su
origen fue un componente
llamado Nova nova-volumen, pero
se ha convertido en un proyecto
independiente desde el
lanzamiento de Folsom. Es similar
a Elastic Block Storage (EBS) de
Amazon.
Servicios compartidos
Identity Keystone Proporciona servicios de
autenticación y autorización a
todos los servicios de OpenStack.
Image Glance Proporciona un catálogo y un
repositorio de imágenes de discos
virtuales.
Telemetry Ceilometer Monitoriza y mide la el consumo de
recursos del cloud para su
posterior evaluación o para una
facturación.

11
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Servicios de alto nivel


Orchestration Heat Organiza múltiples aplicaciones en
la nube compuesta utilizando
cualquiera
el formato de la plantilla CALIENTE
nativo o la AWS CloudFormation
formato de la plantilla, tanto a
través de una API REST-OpenStack
nativa y un
API Query compatible con
CloudFormation.
Database Trove Proporciona servicios de bases de
Service datos escalables como servicios
permite tanto bases de datos
relacionales como no relacionales.

12
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Arquitectura conceptual
El lanzamiento de una máquina virtual o una instancia implica muchas interacciones entre los
diferentes servicios de OpenStack. El siguiente diagrama muestra la arquitectura conceptual
típica en el lanzamiento de una instancia en Icehouse.

Nova almacena y recupera imágenes de discos virtuales y sus datos asociados y lanza las
instancias.

Glance almacena las imágenes en un directorio en disco, pero puede hacerlo a través del
servicio Swift.

El servicio Keystone es el encargado de autentificar todos los servicios, es el encargado de que


cada usuario o servicio solo tenga acceso a sus recursos.

El servicio Swift es el encargado de proporcionar almacenamiento tanto para imágenes como


para copias de seguridad además de otros servicios.

El servicio Cinder es el encargado de la gestión de volúmenes y el aprovisionamiento de


volúmenes a la instancia además del realizado de copias de seguridad.

13
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

El servicio Neutron es el encargado de permitir la conectividad de la red tanto a la instancia


como entre los servicios de OpenStack.

Horizon proporciona un frontal gráfico basado en web para la gestión del resto de servicios de
OpenStack.

Ceilometer se encarga de medir el “consumo” de las instancias con fines estadísticos, para su
posterior evaluación o para una facturación en caso de ser una empresa que preste un
determinado servicio.

Por ultimo Heat proporciona total compatibilidad al cloud por ejemplo con AWS.

14
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Arquitectura de servicios
En este apartado vamos a repasar todos los componentes de OpenStack de una manera
detallada para conocerlos mejor.

Dashboard (Horizon)

Horizon es una aplicación web modular desarrollada con el framework de Python Django, cuyo
objetivo principal es proporcionar una interfaz a los servicios de OpenStack al administrador
del cloud y a los usuarios.

Mediante la utilización de Horizon podemos conseguir el la máxima funcionalidad para ello


debemos de usar la consola de comandos pero si nos proporciona una manera fácil de
administrar nuestro cloud.

¿Cómo consigue esto Horizon?


 Horizon despliega a través del módulo de Apache mod_wsgi, el cual implementa la
interfaz WSGI que permite al servidor Apache ejecutar aplicaciones Python. El código
de Horizon está separado en dos módulos Python reutilizables, uno de ellos mantiene
toda la lógica de la aplicación y es el encargado de interactuar con varias de las APIs
de OpenStack, mientras que el otro es el encargado de la presentación, permitiendo
fácilmente la adaptabilidad e integración con la apariencia del sitio web.
 Una base de datos. Horizon almacena muy pocos datos, ya que utiliza los datos del
resto de servicios.

Horizon nos permite poder acceder a las instancias simplemente utilizando el navegador web
lo cual es tremendamente útil, ya que no necesitaremos más para trabajar como cliente de
OpenStack solo un navegador web.

15
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Compute (Nova)
El servicio Compute es el controlador de estructura cloud computing, que es la parte principal
de un sistema de IaaS. Lo utilizan para alojar y administrar sistemas de computación en nube.
La parte principal de este módulo está desarrollada en python.

Compute interactúa con con el servicio de identificación (Keystone) para la autentificación, con
el servicio de imágenes (Glance) para la aprovisionarse de imágenes y con Dashboard para
interactuar con el usuario y para la administración. El acceso a las imágenes es limitado por
proyecto y usuario, podemos limitar también las cuotas en un determinado proyecto, como
por ejemplo definir un número máximo de instancias para un determinado proyecto.

API
 Nova-api: Es la encargada de aceptar y responder las llamadas del usuario final a la
API de nova-compute. El demonio nova-api soporta la API de OpenStack, la API EC2 de
Amazon y la API especial de administración (para usuarios con privilegios que realicen
tareas administrativas).
 Nova-api-metadata: Acepta solicitudes de metadatos de instancias. El servicio nova-
api-metadata generalmente solo se utiliza cuando se ejecuta en modo multi-host con
instalaciones nova-network.

Núcleo de computación
 Nova-compute: El demonio nova-compute es el principal encargado de crear y
acabar con las máquinas virtuales (instancias) utilizando para ello las APIs del
hipervisor utilizado. nova-compute utiliza libvirt para KVM/QEMU, XenAPI para
XenServer/XCP y VMwareAPI para Vmware.

 Nova-scheduler: El domonia Nova-scheduler es conceptualmente la pieza de código


más simple de Nova. A partir de un mensaje de solicitud de creación de una instancia,
determina qué nodo de OpenStack debe ejecutar dicha instancia de acuerdo a un
algoritmo prevAMIente seleccionado. La elección se realiza entre todos los nodos que
ejecutan el demonio nova-compute.

 nova-conductor: Este módulo pretende evitar el acceso directo de nova-compute a


la base de datos, este servicio es el encargado de hacer de intermediario entre nova-
compute y la base de datos, evitando así problemas y agilizando las actualizaciones.

Redes para VMs

 Nova-network: El demonio es muy parecido a los demonios nova-compute. Acepta


tareas de red desde la cola de mensajes y realiza ciertas que modifican el estado de la
red, como por ejemplo configurar una interfaz bridge ó cambiar las reglas de iptables.
Esta funcionalidad se está migrando a OpenStack Networking (Neutron), que es un
servicio de OpenStack independiente.

16
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

 nova-dhcpbridge script: Es el Script encargado de almacenar las direcciones IP y la


información de la red en la base de datos. Esta este apartado está migrando a
OpensTACK Networking (Neutron) el cual implementa un nuevo script.

Nova nos permite acceder y administrar el cloud máquinas virtuales mediante la consola de
texto como lo haríamos en (GNU/Linux) o mediante la consola gráfica.

Lo más aconsejable para la administración siempre es la consola de texto, ya que consume


mucho menos recursos que Horizon, aunque tiene el inconveniente de que es más difícil de
gestionar y se requieren mayores conocimientos.

Interfaz de consola
Para el aceso a las instancias mediante el navegador con una conexión VNC, algo que es una de
las grandes ventajas de OpenStack, ya que podemos acceder a nuestras instancias tan solo
teniendo un simple navegador web.

Para ello se ejecutan los siguientes demonios:

 nova-consoleauth: Se encarga de autorizar tokens para usuarios que los proxies de


consola proporcionan. Los servicios nova-novncproxy y nova-xvpnvcproxy deben estar
en ejecución para que los proxis de consola puedan prestar servicio.
 nova-xvpnvncproxy: proporciona un proxy para el acceso a las instancias en
ejecución a través de un Conexión VNC. Soporta clientes novnc basadas en navegador.
 nova-xvpnvncproxy: Proporciona un proxy para acceder a instancias en ejecución a
través de un VNC. Soporta un cliente Java diseñado específicamente para OpenStack.
 Nova-cert: Es el encargado de gestionar los certificados x509.
Cliente mediante línea de comandos
 nova client: Permite enviar comandos tanto al administrador como al usuario final.
 nova-manage: Permite a los administradores del cloud de enviar comandos para su
administración.

17
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Comandos de Nova
En la siguiente tabla se muestran algunos de los comandos que podemos utilizar para la
administración de Nova.

Descripción Comando
Listar instancias $ nova list
Listar imágenes $ nova image-list

Listar Sabores $ nova flavor-list

Lanzar una instancia usando el nombre de una $ nova boot --image IMAGE --flavor FLAVOR
imagen y de un sabor INSTANCE_NAME
$ nova boot --image cirros-0.3.1-x86_64-uec --
flavor m1.tiny \
MyFirstInstance

Acceder a una instancia # ip netns


# ip netns exec NETNS_NAME ssh USER@SERVER
# ip netns exec qdhcp-6021a3b4-8587-4f9c-
8064-0103885dfba2 \
ssh cirros@10.0.0.2
Nota: En CirrOS la contraseña del usuario cirros
es
Note, en CirrOS la contraseña del usuario cirros is
"cubswin:)" sin comillas.
Ver detallaes de instancias $ nova show NAME
$ nova show MyFirstInstance
Ver el log de una instancia $ nova console-log MyFirstInstance
Asignar metadatos a una instancia $ nova meta volumeTwoImage set newmeta='my
meta data'

Crear un snapshot $ nova image-create volumeTwoImage


snapshotOfVolumeImage
$ nova image-show snapshotOfVolumeImage

Pausar, suspender, parar, reanudar, redimensionar, reconstruir, reiniciar una instancia


Pause $ nova pause NAME
$ nova pause volumeTwoImage
Quitar Pausa $ nova unpause NAME

Suspender $ nova suspend NAME

Unsuspend $ nova resume NAME

Parar $ nova stop NAME

Empezar $ nova start NAME

Reanudar $ nova rescue NAME

Redimensionar $ nova resize NAME FLAVOR


$ nova resize my-pem-server m1.small
$ nova resize-confirm my-pem-server1

Reconstruir $ nova rebuild NAME IMAGE

18
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

$ nova rebuild newtinny cirros-qcow2

Reiniciar $ nova reboot NAME


$ nova reboot newtinny

Introducir datos de usuario y archivos en una $ nova boot --user-data FILE INSTANCE
instancia. $ nova boot --user-data userdata.txt --image
cirros-qcow2 \
--flavor m1.tiny MyUserdataInstance2
Para validar que el archivo está allí, ssh en la
instancia y mirar el fichero /var/lib/cloud.
Introducir un par de claves en una instancia y acceder a la instancia con ese par de claves
Crear par de claves $ nova keypair-add test > test.pem
$ chmod 600 test.pem
Iniciar con par de claves asociado $ nova boot --image cirros-0.3.0-x86_64 --flavor
m1.small \
--key_name test MyFirstServer
Usar SSH para conectarse a una instancia. # ip netns exec qdhcp-98f09f1e-64c4-4301-a897-
5067ee6d544f \
ssh -i test.pem cirros@10.0.0.4
Administrar la seguridad de los grupos
Añadir reglas al grupo de seguridad por defecto $ nova secgroup-add-group-rule default default
permitiendo ping y SSH entre instancias icmp -1 -1
pertenecientes al grupo default. $ nova secgroup-add-group-rule default default
tcp 22 22
Object Storage (Swift)
El servicio object storage es un servicio de almacenamiento multi-tenant masibamente
escalable, permita almacenar grandes cantidades de datos no estructurados a un bajo coste
utilizando la API RESTful HTTP.

Este servicio incluye los siguientes componentes:

 Servidores proxy (swift-proxy-server): El proxy acepta solicitudes a través de la API


OpenStack Object o directamente a través de HTTP. Una solicitud puede ser una
subida de un fichero, modificación de los metadatos o la creación de un contenedor.
También acepta solicitudes de descarga de ficheros o del listado de objetos del
contenedor a través de un navegador web.

 Servidores de cuentas de usuario (swift-container-server): Este servidor


gestiona las cuentas de usuario definidas con el servicio de almacenamiento de
objetos.

 Los servidores de contenedor (Swift-contenedor-servidor): Administrar un


mapeo de los contenedores, o carpetas, dentro del servicio de almacenamiento de
objetos.

 Servidores de objetos (swift-object-server): Los servidores de objetos gestionan


los objetos reales (como ficheros o contenedores) en los nodos de almacenamiento.

19
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Hay también un conjunto de procesos que se ejecutan de forma periódica que realizan ciertas
tareas de limpieza sobre los datos. El más importante de estos procesos es el servicio de
replicación, los cuales aseguran consistencia y disponibilidad en todo el cluster. La
autenticación se realiza normalmente a través de Keystone.

Comandos Swift

Descripción Comando
Mostrar información sobre el usuario, $ swift stat
contenedor u objeto. $ swift stat ACCOUNT
$ swift stat CONTAINER
$ swift stat OBJECT
Listar contenedores $ swift list

Crear contenedor $ swift post CONTAINER_NAME

Subir un archivo a un contenedor $ swift upload CONTAINER_NAME


FILE_NAME
$ swift upload mycontainer
IESRomeroVargas_Jorge.txt
Listar objetos de un contenedor $ swift list container

Descargar objetos de un contenedor $ swift download CONTAINER_NAME


FILE_NAME
Subir un fichero dividido en partes (Para $ swift upload -S SIZE CONTAINER_NAME
objetos de gran tamaño) FILE_NAME
$ swift upload -S 64 container
archivo_de_granTamaño

Block Storage (Cinder)


El servicio block storage permite la administración de volúmenes y snapshots. Este servicio
incluye los siguientes componentes:

cincer-volume: Este demonio responde a las peticiones de lectura y escritura para la base de
datos del bloque de almacenamiento para mantener su consistencia, interactuando con otros
procesos como “cinder-scheduler”, mediante una cola de mensajes o directamente con el
bloque de almacenamiento. Este servicio puede interactuar con una gran variedad de
proveedores de almacenamiento.

Messaging queue: Proporciona rutas de información entre procesos al bloque de


almacenamiento.

20
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Comandos Cinder

Descripción Comando
Administracion de volúmenes y snapshots
Crear un nuevo volumen $ cinder create SIZE_IN_GB --display-name
NAME
$ cinder create 1 --display-name
MyFirstVolume
Lanzar una instancia y asociar un volumen $ nova boot --image cirros-qcow2 --flavor
m1.tiny MyVolumeInstance
Listar volumnes o notificar el estado de los $ cinder list
volumens
Asignar un volumen a una instancia una vez $ nova volume-attach INSTANCE_ID
está la instancia y el volumen activos. VOLUME_ID auto
$ nova volume-attach MyVolumeInstance
/dev/vdb auto
Administrar volúmenes desde la instancia
Listar dispositivos de almacenamiento # fdisk -l

Asignar sistema de ficheros a un volumen # mkfs.ext3 /dev/vdb

Crear un punto de montaje # mkdir /myspace

Montar el un volumen en un punto de # mount /dev/vdb /myspace


montaje

Crear un archivo en un volumen # touch /myspace/helloworld.txt


# ls /myspace
Desmontar un volumen # umount /myspace

21
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Image Storage (Glance)


La arquitectura de Glance se ha mentenido relativamente estable desde la versión Cactus de
OpenStack. El mayor cambio lo representa la incorporación de Keystone como sistema de
autenticación y autorización, la cual se añadió en la versión Diablo. Glance está formado por
cuatro componentes principales:

 El demonio glance-api: Encargado de aceptar peticiones a través de su API para el


descubrimiento, recuperación y almacenamiento de imágenes.
 Glance-registry: Encargado de almacenar, procesar y recuperar metainformación
sobre las imágenes (tamaño, tipo, etc.).
 Una base de datos para almacenar dicha metainformación: De la misma forma
que Nova, la base de datos es optativa, pero la decisión siempre gira en torno a
MySQL ó PostgreSQL para entornos en producción.
 Un repositorio de almacenamiento para los ficheros de imágenes: Este
almacenamiento es configurable y pueden utilizarse desde directorios locales al
propio servicio Swift. Otras soluciones pasan por volúmenes iSCSI, directorios NFS ó
CIFS, RADOS block device, Amazon S3 ó HTTP.

Glance representa un papel central en la arquitectura de OpenStack, ya que acepta peticiones


para la gestión de imágenes tanto de los usuarios finales como de otros servicios como Nova.

22
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Comandos Glance

Descripción Comando
Lista de imágenes a las que tienes acceso $ glance image-list

Eliminar una imagen $ glance image-delete IMAGE

Ver detalles de una imagen $ glance image-show IMAGE

Actualizar una imgaen $ glance image-update IMAGE

Administración de imágenes

Imagen Kernel $ glance image-create --name "cirros-


threepart-kernel" \
--disk-format aki --container-format aki --is-
public True \
--file ~/images/cirros-0.3.1~pre4-x86_64-
vmlinuz

Imagen RAM $ glance image-create -—name "cirros-


threepart-ramdisk" \
--disk-format ari --container-format ari --is-
public True \
--file ~/images/cirros-0.3.1~pre4-x86_64-
initrd

Imagen Three-part $ glance image-create --name "cirros-


threepart" --disk-format ami \
--container-format ami --is-public True \
--property kernel_id=$KID—property
ramdisk_id=$RID \
--file ~/images/cirros-0.3.1~pre4-x86_64-
blank.img

Crear una imagen RAW $ glance image-create --name "cirros-


qcow2" --disk-format qcow2 \
--container-format bare --is-public True \
--file ~/images/cirros-0.3.1~pre4-x86_64-
disk.img

23
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Identity (Keystone)
Keystone permite la integración de los serviciós de OpenStack en un único punto en aspectos
tan importantes como proporcionar servicios de autenticación, gestión de tokens y el
mantenimiento de un catálogo y un repositorio de políticas de identidad.

Cada función de Keystone puede conectarse a un backend distinto que permite realizar esa
misma función de diferentes formas utilizando un servicio distinto. De esta forma, Keystone
puede integrarse fácilmente con diferentes almacenamientos como SQL, LDAP ó KVS (Key
Value Stores).

Esto es muy útil en cuanto a la integración de los servicios de autenticación de OpenStakc con
los servicios de autenticación existentes en un despliegue en concreto. El siguiente diagrama
muestra el proceso de autentificación:

Comandos Keystone

Descripción Comando
Listar todos los usuarios $ keystone user-list

Listar catálogo de identidad $ keystone catalog

Listar todos los servicios asociados a un $ keystone service-list


catalogo

Crear un nuevo usuario $ keystone user-create --name NAME --


tenant-id TENANT \
--pass PASSWORD --email EMAIL --enabled
BOOL
Crear un nuevo proyecto $ keystone tenant-create --name NAME --
description "DESCRIPTION" \
--enabled BOOL

24
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Networking (Neutron)

OpenStack Networking (Neutron) gestiona todas las facetas de redes para la infraestructura de
red virtual (VNI) y los aspectos de capa de acceso de la infraestructura de red física (PNI) en el
entorno de OpenStack. OpenStack Networking permite crear topologías de red avanzadas
virtuales, incluyendo servicios tales como firewalls, balanceadores de carga y redes privadas
virtuales (VPN).

Neutron proporciona las siguientes abstracciones de objetos: Redes, subredes y routers. Cada
uno tiene una funcionalidad que imita su contraparte física: Redes con subredes este servicio
permite enrutar el tráfico entre los diferentes routers de subred y redes.

Red externa
Esta red no es más que una red virtual definida y es accesible desde fuera de OpenStack. Las
direcciones IP de la red externa son accesibles desde el exterior. Debido a que esta red solo
representa una parte de la red exterior, el servicio DHCP está desactivado en esta red.

Red interna
Estas redes definidas por software que se conectan directamente a las máquinas virtuales. Esta
red interconecta las máquinas virtuales una red interna. Las subredes conectadas a través de
interfaces a un router, pueden tener acceso a las máquinas virtuales conectadas a la red
directamente.

Acceso entre redes


Para tener acceso desde la red externa a las máquinas virtuales y vice versa, es necesario un
router entre las redes. Cada router tiene una puerta de enlace que está conectada a una red y
a muchas interfaces que están conectadas a las subredes. Al igual que un router físico, se
podrá tener acceso a las subredes que estén conectadas al mismo router y igualmente las
máquinas virtuales podrán tener acceso a la red externa a través de la puerta de enlace del
router.

Además, podemos asignar direcciones IP en las redes externas a los puertos en la red interna.
Cada vez que algo está conectado a una subred, esa conexión llama a un puerto.

Podemos asociar direcciones IP de redes externas con puertos a las máquinas virtuales. De
esta manera, las entidades en la red externa pueden acceder a las máquinas virtuales.

Grupos de seguridad
Las redes también soportan grupos de seguridad. Los grupos de seguridad permiten a los
administradores para definir reglas de firewall en grupos. Una máquina virtual puede
pertenecer a uno o más grupos de seguridad y Redes, definiremos las reglas en esos grupos de
seguridad para bloquear o desbloquear los puertos, rangos de puertos o el tráfico para los
diferentes tipos para que VM.

25
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Comandos Neutron

Descripción Comando
Crear una red $ neutron net-create NAME

Crear una subred $ neutron subnet-create NETWORK_NAME


CIDR
$ neutron subnet-create my-network
10.0.0.0/29

Listar las redes y las subredes $ neutron net-list


$ neutron subnet-list

Examinar los detalles de una res o de una $ neutron net-show


subred ID_OR_NAME_OF_NETWORK
$ neutron subnet-show
ID_OR_NAME_OF_NETWORK

26
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Orchestration(Heat)

El servicio de orquestación proporciona un despliegue basado en plantillas para la descripción


de una aplicación del cloud ejecutando llamadas a las APIs de OpenStack para generar la
ejecución de aplicaciones. El software integra otros componentes básicos de OpenStack , tales
como IPs flotantes, los volúmenes, los grupos de seguridad, usuarios, etc. Además ofrece
algunas funciones más avanzadas, como por ejemplo la alta disponibilidad o el auto
escalamiento de instancias. Hate proporciona una gran integración con otros componentes
básicos de OpenStack.

 heat command-line client: Un CLI que se comunica con el heat-api para ejecutar
AWS. CloudFormation APIs. Los desarrolladores también pueden utilizar la API de
REST directamente.
 heat-api component: Proporciona una OpenStack-native REST API que procesa las
solicitudes de la API mediante el envío a heat a través de RPC.
 heat-api-cfn component: Proporciona una API AWS de consulta compatible con
AWS CloudFormation y procesa solicitudes de la API mediante el envío a la máquina
de heat a través de RPC.
 heat-engine: Orquesta la puesta en marcha de las plantillas y proporciona eventos.
Comandos Heat
Un stack cuanta con una colección de recursos, para listar, ver su estado o eventos poedemos
ejecutar algunos de los siguientes comandos:

Descripción Comando
Listar stacks $ heat stack-list

Ver los detalles de un stack $ heat stack-show mistack


Ver los recursos de un stack $ heat resource-list mistack

Ver los eventos generados durante un stack $ heat event-list mystack

27
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Telemetry (Ceilometer)
El módulo de telemetría es el encargado de recoger de manera eficiente los datos de medición
en relación con el coste de CPU y de red, también recopila datos mediante el control de
notificaciones enviadas desde los servicios o sondeando la infraestructura.

Las características básicas de Ceilometer se pueden ampliar por medio de plug-ins adicionales.
Este componente también es capaz de producir mensajes autoafirmados de medición de
manera que no puedan ser renunciados.

Este sistema se compone de los siguientes componentes basicos:

 Un agente de computación (ceilometer-agent-compute): Se ejecuta en cada


nodo de cómputo y realiza encuestas para determinar las estadísticas de utilización de
recursos. Puede haber otros tipos de agentes en el futuro, pero por ahora nos
centraremos en crear el agente de cálculo.
 A central agent (ceilometer-agent-central): Se ejecuta en un servidor de
administración central para sondear las estadísticas de utilización de los recursos que
no asignados a instancias o nodos de computación.
 Un collector “recaudador” (ceilometer-collector): Se ejecuta en uno o más
servidores de administración central para supervisar las colas de mensajes (para las
notificaciones los datos de medición procedentes del agente). Los mensajes de
notificación se procesan y se convierten en la medición mensajes y enviado de vuelta
mediante el bus de mensajes con el tema correspondiente.
 Una alarma (ceilometer-alarm-notifier). Se ejecuta en uno o más servidores de
administración central para permitir el establecimiento de alarmas en función de la
evaluación de un umbral.
 Un almacén de datos: Una base de datos capaz de manejar escrituras simultáneas (de
una o más instancias recaudadoras y lee (desde la API del servidor).
 Un API server (ceilometer-api): Se ejecuta en uno o más servidores de
administración central para proporcionar acceso a los datos del almacén de datos.

Estos servicios se comunican mediante el bus de mensajería. Sólo el colector y el servidor


de la API tienen acceso al almacén de datos.

Comandos Ceilomenter

Descripción Comando
Crea una nueva alarma $ ceilometer alarm-create
Elimina una alarma $ ceilometer alarm-delete
Lista las alarmas del usuario $ ceilometer alarm-list
Ver una alarma $ ceilometer alarm-show
Actualiza una alarma existen $ ceilometer alarm-update
Lista los contadores del usuario $ ceilometer meter-list
Lista los recursos $ ceilometer resource-list
Ver los recursos $ ceilometer resource-show
Crea un sample $ ceilometer sample-create
Lista los samples de un contador $ ceilometer sample-list
Lista las estadísticas de un contador $ ceilometer statistics
Muestra la ayuda $ ceilometer help

28
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Database service (Trove)


El servicio de base de datos proporciona una funcionalidad de aprovisionamiento al cloud
escalable y totalmente confiable tanto para motores de bases de datos relacionales como para
los no relacionales. Los usuarios pueden utilizar de forma rápida y fácil funciones de base de
datos sin necesidad de tareas administrativas complejas. Los usuarios del cloud y los
administradores de las bases de datos pueden aprovisionar y administrar varias instancias de
base de datos según sea necesario.

El servicio de base de datos nos proporciona un aislamiento de recursos de alto rendimiento y


automatiza las tareas administrativas complejas, como la implementación, configuración,
parches, copias de seguridad, restauraciones y monitoreo.

He aquí un ejemplo del proceso de alto nivel usando el servicio de bases de datos:

1. Administrador del servicio de bases de datos:


a. El administrador de OpenStack instala el servicio de base de datos.
b. El administrador creará una imagen por cada tipo de base de datos que quiere
tener (uno para MySQL, una para MongoDB, y así sucesivamente).
c. El administrador de OpenStack actualiza el almacen de datos para utilizar las
nuevas imágenes utilizando el comando trove-manage.
2. Usuario final que utiliza el servicio de base de datos
a. Ahora que la infraestructura básica está configurada, el usuario final puede
crear una instancia de Trove (base de datos) cuando el usuario lo necesite,
utilizando el comando trove create.
b. El usuario final obtiene la dirección IP de la instancia Trove utilizando el
comando trove-list para obtener el ID de la instancia y, a continuación,
utilizando el comando trove show IDinstancia para obtener la dirección IP.
c. El usuario final puede ahora acceder a la instancia Trove usando el acceso
base de datos mediante comandos. MySQL ejemplo:
$ mysql -u miusuario –pmicontraseña -h trove_direccion_ip miDB

29
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Conocimientos básicos de compute (Nova)


En este proyecto vamos a centrarnos fundamentalmente en el ámbito de la virtualización, ya
que OpenStack abarca tantos componentes y con tantos detalles que contar de cada uno de
ellos que perderíamos un poco el enfoque hacia la virtualización que es el objetivo principal de
este proyecto.

Como ya hemos contado anteriormente en este documento el nombre del proyecto es Nova y
proporciona el software necesario para desplegar una infraestructura IaaS. Nova es bastan te
similar a Amazon EC2, se dijo en los inicios de Nova que era una copia prácticamente idéntica
al servicio de Amazon.

Nova no incluye ningún hipervisor en sí mismo, nova va mucho más allá y te permite elegir
entre una amplia gama de hipervisores, nova simplemente define unos controladores que
interactúan con los hipervisores. Esta es una de las grandes ventajas de entre proyecto al ser
Open Source la versatilidad es máxima.

Hipervisores
Como ya comente antes OpenStack Compute soporta varios hipervisores, esto nos puede
llevar confusión o indecisión sobre cuál de ellos elegir vamos a intentar arrojar un poco de luz
a la elección de un hipervisor. Hay que tener en cuenta que la mayoría de las instalaciones
utilizan sólo un hipervisor pero es posible con configuraciones más avanzadas implementar
más de uno dentro de un mismo sistema (estas configuraciones vienen explicadas en la
documentación oficial de OpenStack).

Los siguientes hipervisores son soportados por OpenStack Icehouse:

 KVM - Kernel-based Virtual Machine: Los formatos de disco virtual que soporta,
son heredados de QEMU, ya que utiliza un programa de QEMU modificado para poner
en marcha la máquina virtual. Los formatos soportados incluyen imágenes RAW,
qcow2 y formatos de VMware.
 LXC - Linux Containers (Mediante libvirt): Es usado para ejecutar máquinas
virtuales basadas en Linux.
 QEMU - Quick EMUlator: Generalmente solo se utilizara para entorno de desarrollo,
no se recomienda su implementación en entorno de producción.
 UML - User Mode Linux: Generalmente solo se utilizara para entorno de desarrollo,
no se recomienda su implementación en entorno de producción.
 VMware vSphere: Desde la actualización 4.1 en adelante es posible ejecutar
imágenes de Linux y Windows basados en VMware a través de una conexión con un
servidor vCenter o directamente con un servidor ESXi.
 Xen - XenServer, Xen Cloud Platform (XCP): Es capaz de ejecutar máquinas
virtuales Linux o Windows. Debe instalar el servicio de nova-compute en una máquina
virtual para-virtualizado.
 Hyper-V - Server virtualization with Microsoft's Hyper-V: Es capaz de ejecutar
Windows, Linux, y las máquinas virtuales FreeBSD. Además Ejecuta nova-compute de
forma nativa en la plataforma de virtualización de Windows.
 Bare Metal – No es un hipervisor tradicional: Se trata de unos controladores que
provisiona de el “hardware físico” a través de unos sub-controladores. Ejemplo, PXE
para el despliegue de imágenes, e IPMI para la administración de energía.

30
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Basándome en mi experiencia en OpenStack y en viarios sistemas de virtualización tanto en


entorno Linux como Windows, además de varias investigaciones y pruebas realizadas que
corroboran mi opinión, yo me decanto por implementar KVM en OpenStack.

Os preguntareis y ¿por qué KVM?

Bien, vamos a añadir algo de luz a esta pregunta, la razón fundamental por la que elijo KVM es
completamente libre y no depende de ninguna empresa, simplemente es un módulo no
necesita parches, además contiene soporte de paravirtualización y su rendimiento es muy
bueno, yo me decanto por KVM.

Hay varios estudios que corroboran mi opinión al respecto de que hipervisor utilizar en
OpenStack, pero cada uno es libre de utilizar el que crea mejor o se encuentre más cómodo
trabajando con él. En OpenStack tenemos donde elegir ¡esto es software libre!

La siguiente imagen muestra tanto las distribuciones donde esta implementado más
OpenStack como los hipervisores más utilizados actualmente en OpenStack.

31
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Usuarios y proyectos (Tenants)


En openstack en primer lugar debemos crear un usuario al cual le podemos guardar su
nombre, correo electrónico y contraseña. A este usuario le debemos de asignar un proyecto
(Tenants en la jerga de OpenStack). Con la asignación conseguimos poner limitaciones a un
usuario, ya que en un proyecto podemos ejecutar un conjunto de instancias con características
en común, por ejemplo pueden estar todas las instancias en el misma red, pueden utilizar una
serie de imágenes de sistemas o tener limitado el uso de recursos del cloud.

Al usuario también podemos asignarle un rol para limitar las operaciones que puede realizar
cada usuario. A un usuario se le pueden asignar diferentes roles en cada proyecto.

Imágenes e instancias
Las imágenes son imágenes de discos que son plantillas para las máquinas virtuales que se van
a crear. El servicios que proporciona las imágenes, Glance, es el responsable de almacenar y
gestionar las imágenes en OpenStack.

Las imágenes son imágenes de discos como las que consimimos normalmente en los formato
típicos que todos conocemos como puede ser ISO o RAW OpenStack soporta una gran
variedad de formatos de los cuales hablaremos más adelante. Como ya hemos dicho
anteriormente Glance es el encargado de provionar al cloud de imágenes.

Las instancias son las máquinas virtuales que se ejecutan en los nodos de computación. El
servicio de computación, Nova, gestiona estas instancias. Se pueden lanzar cualquier número
de instancias a partir de una determinada imagen. Cada instancia se ejecuta de una copia de
una imagen base, por lo que las modificaciones que se realicen en la instancia no alteran la
imagen en la que se basa. Mediante el uso de instantáneas (snapshots) de las instancias, se
pueden crear nuevas imágenes que sí guardan todas las modificaciones realizadas hasta ese
momento en la instancia.

Cuando se lanza una instancia, se debe seleccionar un conjunto de recursos virtuales, conocido
como sabor (flavor).

Un sabor define para una instancia el número de CPUs virtuales, la RAM, si dispone o no de
discos efímeros, etc. OpenStack preinstala una serie de sabores, que el administrador puede
modificar o crear algunos nuevos si así se desea.

Lanzar una instancia


Para lanzar una instancia hay que elegir una imagen, un sabor y opcionalmente otros atributos.

OpenStack copia la imagen base al disco que utilizará la instancia como primer disco vda),
cuanto más pequeña sea la imagen, más rápido será el lanzamiento. Dependiendo del sabor,
también se crea un nuevo disco vacío (vdb). Para la gestión de volúmenes antes se encargaba
nova-volume, este trabajo se ha delegado a Cinder, los volúmenes se mapearan como vdc.

Una vez que decidimos terminar la instancia, todos los recursos utilizados por la instancia son
liberados (RAM, almacenamiento, etc.), salvo los volúmenes persistentes que permanecen
almacenados y es posible asignarlos a otra instancia posteriormente.

32
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Tipos de almacenamiento
OpenStack nos proporciona dos tipos de almacenamiento de bloques:

 Almacenamiento efímero: El almacenamiento efímero existe sólo mientras se


ejecuta la instancia, se mantendrá cuando se reinicie la instancia, pero se borrará en el
momento que se borre la instancia para la que se creó. Todas las instancias tienen
almacenamiento efímero y es posible, dependiendo del sabor, que tengan más de un
disco efímero a su disposición.
 Volúmenes persistentes: Los volúmenes persistentes dispositivos de bloques
independientes de la instancia. Los volúmenes se pueden asociar a una determinada
instancia, pero posteriormente se pueden desasociar y asociar a cualquier otra
instancia manteniendo los datos, como si fuera una unidad USB.

33
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Conocimientos básicos de Keystone


Keystone, es el componente de OpenStack encargado de la autentificación y la autorización de
los distintos componentes, de manera que cuando un componente o usuario necesita realizar
alguna acción este preguntará a Keystone y este le concederá o no el permiso. Keystone tiene
funciones principales:

 Gestión de usuarios: Keystone es el encargado de registrar y asignar permisos a


cada usuario.
 Registro los servicios ofrecidos: Keystone ofrece un catálogo de los servicios
ofrecidos, así como la forma de acceder a sus APIs.

Para terminar de entender correctamente la función de Keysone necesitamos saber una serie
de conceptos que nos arrojaran algo de luz sobre Keystone en relación con los usuarios.

 Usuario: Usuario normal con una serie de privilegios que hará uso del cloud, de el
podremos almacenar su nombre, correo electrónico y contraseña.
 Proyecto (tenant en la jerga de OpenStack): En un proyecto podemos ejecutar un
conjunto de instancias con características en común, de manera que podremos
asignar una serie de limitaciones dependiendo del proyecto.
 Rol: Nos indica qué operaciones puede realizar cada usuario. A un usuario se le
pueden asignar diferentes roles en cada proyecto. Por ejemplo el Rol de
administrador.

Hay algunos conceptos que es conveniente conocer en relación con el registro de servicios

 Servicio: Corresponde a un componente de OpenStack que puede utilizar el módulo


de autentificación.
 Endpoints: Representa las URL que nos permiten acceder a las API de cada uno de los
ser- vicios o componentes de OpenStack.

34
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

TOKENS
Para entender con más claridad el sistema de autentificación de Keystone es necesario
conocer de qué manera se autentifican los servicios y componentes de OpenStak. Keystone
permite a OpenStack una autentificación basada en tokens ¿Qué es esto? Para comprenderlo
debemos de saber primero que es un token

Token: Un token es una cadena de caracteres que tiene un significado coherente en cierto
lenguaje de programación. Ejemplos de tokens podrían ser palabras clave, identificadores,
números, signos, o un operador de varios caracteres.

En OpenStack tanto los servicios como los usuarios no se autentifican unos a otros
directamente, sino que se autentifican mediante un actor intermediario encargado de verificar
la autenticidad de cada uno de los elementos es Keystone.

La siguiente imagen muestra el proceso que realiza un usuario para autenticarse en Keystone:

35
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

ADMIN_TOKEN
Con Keystone recién instalado no tenemos ningún usuario con privilegios de administración en
la base de datos de keystone, por lo no podríamos hacer ninguna modificación. El mecanismo
que proporciona keystone para solventar esta situación es definir en el fichero de
configuración un token con privilegios de administración, que recibe el nombre de

ADMIN_TOKEN, que puede definirse directamente en la instalación o cuando queramos en el


fichero /etc/keystone/keystone.conf, el ADMIN_TOKEN puede tener cualquier valor, pero hay
que custodiarlo adecuadamente mientras esté activo, ya que otorga privilegios de
administración sobre Keystone a quien lo conozca. Posteriormente, una vez definidos los
usuarios en keystone y los demás elementos, podemos borrar este campo del fichero de
configuración de keystone y no volver a utilizarlo.

De forma general en Keystone, un usuario deberá tener algo con que demostrar su
autenticidad (una contraseña o un token) y la URL de un API con la que desea interaccionar, en
este caso vamos a definir con dos variables de entorno el token con privilegios de
administrador y la URL del servicio de administración de keystone:

export SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0/
export SERVICE_TOKEN=12345678

Donde 12345678 representa el valor que hayamos elegido para nuestro ADMIN_TOKEN y
tendrá el mismo valor que el parámetro ADMIN_TOKEN que tenemos guardado en el fichero
de configuración. Una vez realizado esto el usuario de esa sesión actúa como administrador de
keystone, por lo que los pasos siguientes serán crear usuarios, darles roles, definir los servicios,
etc.

36
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Conceptos básicos de Glance


Glance es uno de los componentes más sencillos y fáciles de entender de OpenStack por lo que
no nos vamos a detener demasiando en este apartado.

Como ya hemos comentado en apartados anteriores Glance es el componente dedicado a la


gestión de imágenes, proporciona los servicios necesarios para la búsqueda, localización y
obtención de imágenes para las máquinas virtuales del cloud. Glance es el encargado de
responder mediante su API las solicitudes tanto de los metadatos de las imágenes para las
máquinas virtuales, como la solicitud en sí de una imagen.

Las imágenes que están disponibles a través de Glance, se pueden almacenar en diferentes
ubicaciones, desde un simple sistema de ficheros que es la opción por defecto a un sistema de
almacenamiento de objetos como OpenStack Swift.

Conceptos básicos de Swift


OpenStack Object Storage, conocido como OpenStack Swift, es un sistema de almacenamiento
de objetos escalable no es un sistema de ficheros en el sentido tradicional. No es posible
montar este sistema como volúmenes de sistemas SAN o NAS.

OpenStack Swift es un sistema de almacenamiento conceptualmente similar a Amazon Simple


Storage Service (S3) y es un componente prácticamente independiente del resto de
OpenStack. Swift es un software derivado del Cloud files de rackspace y se trata de un
software mucho más maduro y estable que otros componentes del proyecto.

Como ya dijimos anteriormente en este documento nos vamos a centrar fundamentalmente


en la parte de virtualización (Nova) y nos mantendremos un poco al margen de Swift.

37
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

OpenStack en nuestras aulas


Todos los beneficios que venimos contando a lo largo de este documento no son solo para el
ámbito laboral o empresarial, sino también hay grandes beneficios en el ámbito educativo.

Si analizamos la evolución que ha tenido la educación nos damos cuenta que OpenStack o la
utilización del IaaS no es más que una nueva evolución en la manera de trabajar en nuestras
aulas.

Utilización de equipos físicos

Utilización de máquinas virtuales

EL FUTURO  Utilización de IaaS


Vamos a repasar un poco como ha sido la evolución en la manera de trabajar en el ámbito
educativo, repasando las ventajas y los inconvenientes de cada uno de los modelos de trabajo,
los diferentes cambios que se han producido a lo largo del tiempo son en primero lugar el paso
de equipos físicos a máquinas virtuales y por último, un corto periodo de tiempo se empezara
a implementar la utilización de IaaS.

38
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Utilización de equipos físicos


La forma de trabajar utilizando equipos físicos está totalmente obsoleta y quedo totalmente
desplazada por la utilización de máquinas virtuales las cuales incorporan muchas ventajas que
veremos a continuación.

La forma de trabajar seria con una maquina por alumno y algunos servidores compartiendo
recursos de manera que cada alumno gestionará su propio equipo pero no gestiona los
servidores.

Algunas de las ventajas e inconvenientes de la utilización de máquinas físicas son las


siguientes:

Ventajas Inconvenientes
 Fácil despliegue inicial y  Poca capacidad de cambio.
puesta en marcha.  Practicas muy limitadas por número
de equipos y tipo de conjuraciones.
 Hardware poco variado
 Practicas reales complicadas de
preparar.
 Tiempos muertos entre practicas
 Posibles conflictos entre asignaturas
 Mayor tiempo de realización.

39
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Utilización de máquinas virtuales


La aparición de las máquinas virtuales aporto grandes beneficios a la manera de trabajar en las
aulas, ya que el alumno tenía un entorno para trabajar con varias máquinas virtuales
gestionadas por el mismo en su propio equipo pudiendo así hacer prácticas más complejas.

Algunas de las ventajas e inconvenientes de la utilización de máquinas virtuales son las


siguientes:

Ventajas Inconvenientes
 Cada alumno dispone de un entorno  Entorno más complejo
independiente  Requiere equipos actualizados para los
 Practicas menos rígidas. alumnos
 Más sencillo simultanear prácticas.  Los alumnos tienen que administrar el gestor
 El alumno dispone de un entorno de de máquinas virtuales.
pruebas.  Requiere un mayor conocimiento del alumno.
 El alumno aprende virtualización.  Puede ocasionar problemas el desconocimiento
del alumno del software de virtualización.

40
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Utilización de IaaS
Cada vez es más evidente que el futuro está en la utilización el IaaS, ya que conlleva grandes
beneficios como que nunca tendremos que cambiar el hardware de los equipos de los
alumnos, entre otros muchos que comentaremos a continuación.

Algunas de las ventajas e inconvenientes de la utilización de máquinas virtuales son las


siguientes:

Ventajas Inconvenientes
 Creación/uso/eliminación de instancias  Imprescindible administración del Cloud
rápido y sencillo

 Mayor variedad de practicas  La inversión inicial puede ser importante

 Fácil utilización de entornos  Los entornos preconfigurados pueden llevar a


preconfigurados una falta de aprendizaje del alumno.
 Utilización de entornos más complejos

 Equipos básicos para los alumnos

 El alumno aprende sobre Cloud


Computing

41
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Metodología de uso por el alumnado

1. Cada alumno inicia una instancia del SO en el que va a instalar el servicio.

2. Realiza la instalación del servicio

3. Realiza la conjuración del servicio. Si esta conjuración dura más de una clase, suspende
la instancia y la reinicia en la siguiente clase.

4. Una vez terminada la configuración puede crear una instantánea para utilizarla como
base en posteriores prácticas.

Si algún alumno no ha podido realizar la conjuración correctamente podrá utilizar la


instantánea de un compañero en clases posteriores.

42
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Capítulo 2: OpenStack en IES Romero Vargas


Soy un alumno del IES Romero Vargas (Jerez de la Frontera) en este proyecto he analizado la
posibilidad de implementar OpenStack en mi centro educativo, analizando los requerimientos
técnicos, adaptabilidad de los medios, ventajas e inconvenientes, capital necesario para su
despliegue, etc.

En este proyecto analizo la situación desde el punto de vista de mi centro educativo, pero
OpenStack puede ser desplegado en cualquier centro educativo o empresa privada y los
siguientes datos pueden ser de ayuda para su despliegue.

Ventajas e Inconvenientes
He analizado las ventajas e inconvenientes del despliegue de OpenStack en mi centro
educativo y he llegado a las siguientes conclusiones:

Ventajas Inconvenientes
 Los profesores ya no tendría que pasarnos más
ISOs por pendrive o por red.  La inversión inicial puede ser importante.

 No importaría el equipo que llevemos a clase.  Difícil instalación.

 Se necesitaría un lugar donde alojar los nodos.


 Igualdad de condiciones en los exámenes ya que
todos utilizaríamos las mismas instancias con los  Los entornos pre configurados pueden llevar a
mismos recursos.
una falta de aprendizaje del alumno.
 Ahorro en la compra de equipos. No VT-x
 Requiere conocimiento del profesorado para
la administración del cloud
 Los profesores podrían almacenar Snapshots de
años anteriores y simplemente compartirlo.

 El profesor podría terminar las instancias llegado el


tiempo límite para entregar la práctica o examen.

 Podríamos acceder desde casa al cloud del instituto


y trabajar desde allí con las mismas instancias.(Poco
probable actualmente por la poca velocidad de
subida)

43
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Adaptación de medios para 1 Gbps


OpenStack requiere unos requisitos para su correcto funcionamiento entre otros que la red
sea como mínimo de 1gbps, para ello necesitamos tanto las NICs de los equipos y nodos sean
de 1 Gbps y además todo el cableado debe ser Categoría 6, sin olvidarnos de los demás
componentes como Switch, paneles de parcheo y router deben ser de 1Gbps.

Algunos de los cambios que nos harían falta serían los siguientes:

 Cambiar todo el cableado de la clase y pasarlo a categoría 6: Para un correcto


rendimiento de la red Gbps es necesario que todo el cableado sea Categoría 6.

 Switch, paneles de parcheo y Router con puertos Gbps: También es necesario


que tanto los Switch y paneles de parcho como el router Router cuenten con puertos
Gbps.

¿Por qué no utilizo Router Gbps?


En los presupuestos más austeros no vamos a utilizar Router con puertos Gbps, ya que el
aumento de rendimiento seria insignificante. Es verdad que implementar un Router con
puertos Gbps beneficiaría un poco al acceso de las instancias a internet, así como el acceso
desde internet al cloud cosa que actualmente es poco probable dada la conexión a internet del
cloud.

El problema de acceder al cloud desde internet es la pésima velocidad de subida con la que
actualmente cuanta nuestro centro, actualmente contamos con una velocidad de subida de
800 Kbps, lo cual hace imposible el acceso al cloud desde fuera. Este es el motivo por el cual
descartamos la opción de implementar un Router Gbps.

44
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Proyectos para el despliegue de OpenStack en IES Romero Vargas


A continuación vamos a hacer diferentes diagramas de red y presupuesto para la
implementación de OpenStack en el IES Romero Vargas, analizaremos diferentes presupuestos
desde el más austero a un presupuesto real que funcionaría de una manera óptima.

Proyecto 1 (Más austero)


Este primer presupuesto la idea es formar un cloud con los equipos de una sola clase
manteniendo los demás equipos para acceder al cloud, hay que tener en cuenta que este
primer presupuesto es el más austero, por lo tanto es el menos recomendable ya que al utilizar
menos recursos económicos el rendimiento se ve afectado negativamente.

Para este primer presupuesto vamos a utilizar los equipos de la clase de ASIR2 para formar un
cloud de manera que luego tendremos que comprar otros equipos con menos recursos para
que los alumnos de ASIR2 puedan acceder al cloud, sin embargo la clase de ASIR1 dejaremos
los equipos que tienen para acceder al cloud.

Actualmente ninguna clase del IES Romero Vargas cuenta con cableado Cat. 6 y tampoco
cuentan con Switch o Paneles de parcheo con puertos Gbps por lo que tendremos que
comprar el cableado de las dos clases, 3 Stich y 3 paneles de parcheo con puertos Gbps.

Recordemos que este presupuesto es el más austero y por lo tanto vamos a elegir unos
componentes un precio menor pero esto conlleva también un menor rendimiento del cloud.

Procedimiento
 Equipos para el Cloud: En la clase de ASIR-2 actualmente contamos con 11 equipos con
unas características medias, que son los que formaran parte del cloud, para ahorrar
costes en comprar servidores De manera que contaremos con 1 nodo controlador y 10
nodos de computación.

 Adquisición de equipos con pocos recursos para los alumnos: Ya que los equipos de
gama media van a pasar a formar parte del cloud necesitaremos algunos equipos para
que los alumnos se conecten al cloud, estos equipos pueden ser raspberry pi o
equipos antiguos.

 Cambio de todo el cableado a Categoría 6.

 Adquisición de 3 Switch y 3 paneles de parcheo.

 Vamos a adquirir un armario para almacenar el Switch del Cloud y el Router. (En las
otras clases ya están instalados)

45
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Lista de la compra

Articulo Cantidad/Unidades Precio Precio Total


Raraspberry Pi 11 35€ 385€
Switch TP-Link TL-SG1024 3 112€ 336€
Bobina cable Categoría 6 1 318€ 318€
Armario Rack Cablematic 1 117€ 117€
TOTAL 1156€

46
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

A continuación se muestra el diseño de red después del despliegue de OpenStack de la manera


que los alumnos de “ASIR-1” utilizarán sus los equipos que tienen actualmente para
contactarse al cloud y los equipos de “ASIR-2” pasan a formar parte del cloud. Como
sustitución de los equipos de ASIR 2 hemos adquirido 11 Raspberry Pi para que puedan
conectarse al cloud.

*Hay que tener en cuenta que este modelo no se ajusta totalmente a la realidad, ya que habría que añadir a este
modelo tanto el total de los nodos de computación restantes como todos los equipos de las clases además de los
paneles de parcheo.

47
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Dado que cada equipo de la clase ASIR-2 (Equipos del cloud) cuenta con 6 GB de memoria
RAM, 4 núcleos y 80 GB de almacenamiento.

Finalmente tendríamos un cloud con 1 nodo controlador y 10 nodos de computación, así que
con este despliegue nuestro cloud tendrá las siguientes características:

Componente Valor

Cores 40

Memoria RAM 60 Gb

Almacenamiento 800 Gb

Como ya dije antes este despliegue es un tanto austero y no permitirá a los alumnos ejecutar
demasiadas instancias por la falta de recursos.

Dado que disponemos con 60 GB de memoria RAM y tenemos que abastecer a unos 35 y 2
profesores alumnos entre la clase de ASIR-1 y ASIR-2. Con este despliegue no llegamos a los
dos GB de memoria RAM por alumno, lo cual es poquísimo si el alumno está trabajando con
instancias con Windows sobre todo, en el caso que el alumno utilice instancias con SO Linux la
demanda de memoria será menor pero aun así no se recomienda este despliegue con un cloud
con unos recursos tan bajos.

Este despliegue es posible y puede funcionar con algo más de fluidez si se decide comprar
algunos nodos de computación más o realizar una ampliación de memoria RAM a los nodos
que ya tenemos.

48
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Proyecto 2 (Utilizando todos los equipos del IES)


Este presupuesto conllevará un mejor rendimiento del cloud si lo comparamos con el
presupuesto anterior, ya que aumenta el número de nodos destinados a la computación pero
aún no es un modelo óptimo para desplegar OpenStack sí que puede ser una opción
interesante sobre todo si amplAMIos un poco la memoria RAM de los nodos.

En este proyecto vamos a utilizar los equipos tanto de ASIR-1 como de ASIR-2 para el Cloud, de
manera que como estos estarán prestando servicios dentro del Cloud tendremos que adquirir
nuevos equipos para que los alumnos se conecten al Cloud en este caso hemos optado
adquirir para todos estos equipos Raspberry Pi.

Como ya hemos comentado anteriormente ninguna clase del IES Romero Vargas cuenta con
cableado Cat. 6 y tampoco cuentan con Switch o Paneles de parcheo con puertos Gbps por lo
que tendremos que comprar el cableado de las dos clases, 3 Stich y 3 paneles de parcheo con
puertos Gbps por lo que también lo incluiremos en este presupuesto.

Así como el presupuesto anterior se intentó hacer lo más austero posible en este proyecto está
basado en recursos de gama media con lo que mejorará el rendimiento del cloud y de la red
pero aumentará el coste de despliegue.

49
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Procedimiento
 Equipos para el Cloud: En esta ocasión vamos a incluir en el Cloud tanto los equipos de
ASIR-1 como los de ASIR-2.

 ASIR-1: Todos los equipos de ASIR-1 los vamos a destinar a nodos de


computación, actualmente la clase de ASIR-1 cuenta con un total de 16
equipos.

 ASIR-2: En la clase de ASIR-2 actualmente contamos con 11 equipos con unas


características medias, que son los que formaran parte del cloud, para ahorrar
costes en comprar servidores de manera que contaremos con 1 nodo
controlador y 10 nodos de computación.

 Entre las dos clases contamos con 27 equipos, que son los que formaran parte del
cloud, para ahorrar costes en comprar servidores.

 Adquisición de equipos con pocos recursos para los alumnos: Ya que los equipos de los
alumnos van a pasar a formar parte del cloud necesitaremos algunos equipos para que
los alumnos se conecten al cloud, estos equipos pueden ser raspberry pi o equipos
antiguos.

 Cambio de todo el cableado a Categoría 6.

 Adquisición de 3 Switch y 3 paneles de parcheo.

 Debemos instalar en la habitación destinada a los servidores un dispositivo de aire


acondicionado para refrigerar los equipos, ya que habrá 27 equipos encendidos en un
espacio reducido.

 Vamos a adquirir un armario para almacenar el Switch del Cloud y el Router. (En las
otras clases ya están instalados).

 Dada que en esta instalación el número de equipos destinados al cloud aumenta


considerablemente vamos a adquirir también un acondicionador de aire para
refrigerar los equipos del Cloud.

 Para almacenar los equipos hemos vamos a utilizar unas nueva cajas, sustituyendo las
que tienen los equipos actualmente por unas cajas que nos permitirán formar un rack.

 Finalmente también necesitamos un armario rack para meter todos los equipos y
mantener el cloud de una manera centralizada.

50
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Lista de la compra

Articulo Cantidad/Unidades Precio Precio Total


Raraspberry Pi 27 35€ 945€
Switch ZyXEL GS1900 3 285€ 855€
Bobina cable Categoría 6 1 318€ 318€
Armario Rack Cablematic 1 160€ 160€
Aire acondicionado 1 345€ 345€
Armario Rack 1 /32U 500 500
Caja Rack 27 162 4374
TOTAL 7497€

51
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

A continuación se muestra el diseño de red después del despliegue de OpenStack de la manera


que los equipos de “ASIR-1” y “ASIR-2” serán destinados al Cloud, además como podéis
observar ha aumentado de manera considerable el número de nodos de computación. Para
que los alumnos de puedan conectar al Cloud hemos adquirido 26 Raspberry Pi como
sustitución de sus equipos.

*Hay que tener en cuenta que este modelo no se ajusta totalmente a la realidad, ya que habría
que añadir a este modelo tanto el total de los nodos de computación restantes como todos los
equipos de las clases además de los paneles de parcheo.

52
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

La clase de ASIR-1 cuenta con un total de 16 equipos y cada uno cuenta con 4 GB de memoria
RAM, 2 núcleos, y 160 GB de almacenamiento.

Los equipos de ASIR-2 cuenta con un total de 11 equipos y cada uno cuenta con 6 GB de
memoria RAM, 4 núcleos y 160GB de almacenamiento.

Finalmente tendríamos un cloud con 1 nodo controlador y 26 nodos de computación, así que
con este despliegue nuestro cloud tendrá las siguientes características:

Componente Valor

Núcleos 72

Memoria RAM 124 Gb

Almacenamiento 4160 Gb

Como podemos comprobar el rendimiento del Cloud aumenta considerablemente respecto al


presupuesto anterior pero aun así no tendría un rendimiento recomendado para un despliegue
real.

Dado que disponemos con 124 GB de memoria RAM y tenemos que abastecer a unos 35
alumnos y a 2 profesores entre la clase de ASIR-1 y ASIR-2. Con este despliegue logramos
aumentar hasta casi los 4 GB de memoria RAM por alumno, lo cual sigue siendo poco para que
el alumno pueda trabajar con fluidez y a pleno rendimiento, como siempre esta cantidad de
RAM puede ser suficiente si el alumno trabaja con instancias con SO Linux ya que estas
consumen muchos menos recursos pero nos quedaremos corto de memoria RAM si utilizamos
varias instancias con Windows o las distribuciones de Linux que consumen más recursos.

Este despliegue es posible y puede ser implementado realmente si en un futuro se decide


comprar algunos nodos de computación más o realizar una ampliación de memoria RAM a los
nodos que ya tenemos. Si aumentáramos todos los nodos a 8 GB de memoria RAM podríamos
alcanzar los 208 GB de memoria RAM con lo que cada alumno contaría con 6 GB de memoria
RAM disponible para su uso, lo cual está bastante bien para trabajar con varias instancias sin
ningún problema.

53
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Proyecto 3 (Implementación óptima de OpenStack)


En este proyecto quiero analizar cómo sería un despliegue óptimo de OpenStack, es decir, sin
reparar en gastos de ningún tipo y buscando siempre el mejor rendimiento tanto de la red
como del Cloud. Siempre desde el punto de vista en la implementación en el IES Romero
Vargas aunque este modelo de despliegue también puede ser válido para cualquier tipo de
organización, empresa privada, universidad, etc.

En este proyecto vamos a descartar la utilización de equipos que se encuentran actualmente


en el IES para aumentar el rendimiento vamos a comprar unos ordenadores nuevos que
formarán parte del cloud para conseguir un rendimiento óptimo, sin embargo nos
ahorraremos el dinero en equipos para que los alumnos puedan acceder al cloud, ya que los
alumnos mantendrán los que tienen actualmente.

Como ya hemos comentado anteriormente ninguna clase del IES Romero Vargas cuenta con
cableado Cat. 6 y tampoco cuentan con Switch o Paneles de parcheo con puertos Gbps por lo
que tendremos que comprar el cableado de las dos clases, 3 Stich y 3 paneles de parcheo con
puertos Gbps por lo que también lo incluiremos en este presupuesto.

En este proyecto vamos a optar por poner un Router Gbps para aumentar el rendimiento y así
tener la red completamente en Gbps.

Este despliegue es totalmente recomendado y funcionará de manera óptima para un consumo


medio del cloud como los que se muestran a continuación si se pretende un consumo más
elevado del cloud, lógicamente debemos de aumentar la capacidad de computo.

54
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Procedimiento
 Equipos para el Cloud: Los equipos que formarán el Cloud serán equipos totalmente
nuevos y los equipos que actualmente tienen los alumnos los utilizarán para acceder al
Cloud.

 Cambio de todo el cableado a Categoría 6.

 Adquisición de 3 Switch, 3 paneles de parcheo y 1 Router Gbps.

 Debemos instalar en la habitación destinada a los servidores un dispositivo de aire


acondicionado para refrigerar los equipos, ya que habrá 5 equipos encendidos en un
espacio reducido.

 Vamos a adquirir un armario para almacenar el Switch del Cloud y el Router. (En las
otras clases ya están instalados).

 Un armario rack para 17 U por si en el futuro decidimos aumentar los servidores.

55
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

En este proyecto pretendemos que cada alumno tenga disponibles los siguientes recursos:

 2 Núcleos con 4 hilos de ejecución.


 8 GB de memoria RAM.
 150 GB de almacenamiento.

Para conseguir esa capacidad para cada alumno hemos optado por obtener 5 servidores de los
cuales cuatro serán destinados como nodos de computación con unas características
superiores y el restante será el nodo controlador.

Componente Nodo controlador Nodos de Computación


Núcleos 4 16
Hilos de ejecución 8 32
RAM 16 64
Almacenamiento 2TB 2TB

Sumando el total de los nodos de computación (4 nodos), finalmente nuestro Cloud tendrá la
siguiente capacidad de computación.

Componente Valor

Núcleos 64

Hilos de ejecución 128

Memoria RAM 256 Gb

Almacenamiento 8 Tb

Una capacidad más que suficiente para lo que pretendemos que consuma cada alumno, si es
verdad que hay que tener en cuenta que vamos a implementar un RAID de tipo 1 en cada
servidor para evitar la pérdida de información, por lo tanto perderemos la mitad de la
capacidad de almacenamiento.

56
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Lista de la compra

Para comprar unos servidores con estas características hemos contactado con Dell y entre la
amplia gama de servidores que nos han dado a elegir, finalmente nos hemos decantado por los
siguientes:

El modelo elegido para los nodos de computación es un Dell PowerEdge R720 lo hemos
configurado a nuestro gusto de manera que le hemos puesto dos CPU modelo Intel Xeon E5-
2670 que cuenta con 8 núcleos y 16 hilos de ejecución cada una, le hemos ampliado la
memoria RAM a 64 GB (4x16GB), además le hemos añadido 2 discos duros de 1 TB que los
vamos a configurar en RAID 1.

El nodo controlador hemos elegido tambien un Dell PowerEdge R720 pero esta vez con lo
hemos configurado con unas características mucho menores para reducir costes, ya que en
este nodo no se ejecutará ninguna instancia, lo hemos configurado con una sola CPU modelo
Intel Xeon E5-2603 que cuenta con 4 núcleos, le hemos ampliado la memoria RAM a 16 GB,
además le hemos añadido 2 discos duros de 1 TB que los vamos a configurar en RAID 1.

57
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Articulo Cantidad/Unidades Precio Precio Total


Dell R720 (Computación) 4 7.253€ 29.016€
Dell R720 (Controlador) 1 2.182€ 2.182€
Cisco SG500-28 3 571€ 1.713€
Bobina cable Categoría 6 1 318€ 318€
Armario Rack Cablematic 1 160€ 160€
Aire acondicionado 1 345€ 345€
Armario Rack 1 /32U 500€ 500€
Cisco 819 1Gbps 1 984€ 984€
TOTAL 35.218€

58
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

A continuación se muestra el diseño de red después del despliegue de OpenStack de la manera


que los equipos de “ASIR-1” y “ASIR-2” se utilizaran para acceder al cloud y los nuevos
servidores comprados de la marca Dell serán los que formaran parte del cloud.

*Hay que tener en cuenta que este modelo no se ajusta totalmente a la realidad, ya que habría
que añadir a este modelo tanto el total de los nodos de computación restantes como todos los
equipos de las clases además de los paneles de parcheo.

Este modelo de despliegue de OpenStack como habréis observado es bastante más caro, pero
se podrá trabajar de una manera eficiente y a un rendimiento bastante alto. Hay que tener en
cuenta también que el desembolse se hace en la instalación luego, nunca más tendremos que
cambiar los equipos de los alumnos, por lo que terminaríamos amortizando el despliegue.

59
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Capítulo 3: Amazon EC2


A pesar de que este documento está basado en OpenStack es importante conocer también
esta plataforma, aprender un poco sobre ella nos será útil ya que muchas opciones de
OpenStack están basadas en Amazon EC2, además Amazon AWS fue el pionero en el “Cloud
Computing” que conocemos hoy en día.

¿Qué es Amazon EC2?


Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporciona capacidad
informática cambiar de tamaño, literalmente, los servidores en los centros de datos de
Amazon, que se utilizan para construir y alojar sus sistemas de software. Puede acceder a los
componentes y características que EC2 proporciona mediante una GUI basada en web,
herramientas de línea de comandos y API.

Con EC2, que utiliza y pagar sólo por la capacidad que usted necesita. Esto elimina la necesidad
de hacer compras de hardware grande y costoso, reduce la necesidad de pronosticar el tráfico,
y permite escalar automáticamente los recursos de TI para hacer frente a los cambios en los
requisitos o los picos de popularidad relacionada con su aplicación o servicio.

Historia
A finales de 2003, Chris Pinkham y Benjamin Black presentaron un documento proponiendo a
la compañía construir y vender un conjunto de servicios basados en la experiencia de la
construcción y uso de la infraestructura de Amazon.com. El primer servicio AWS lanzado para
el uso público era Simple Queue Service en noviembre de 2004. Amazon EC2 fue construido
por un equipo en África del Sur, Ciudad del Cabo bajo Pinkham cuyo desarrollador líder fue
Chris Brown.

En junio de 2007, Amazon afirmó que más de 330.000 desarrolladores se habían inscrito para
utilizar Amazon Web Services.

Actualmente Amazon AWS es con bastante diferencia la plataforma IaaS con mayor cuota de
mercado debido a que su rendimiento es muy bueno además de que fue el pionero en
despliegue de IaaS.

Aunque Amazon EC2 es la plataforma más potente hay muchas plataformas que vienen
apostando fuerte como pueden ser Windows Azure o Google Cloud Platform, así como
proyectos de Open Source como OpenStack.

60
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Componentes principales de Amazon EC2


Al empezar con Amazon EC2, debe comprender los principales componentes de Amazon EC2 y
la forma en que son similares o diferentes a sus propios centros de datos.

Amazon Machine Images e instancias


Una Amazon Machine Image (AMI) es una plantilla que contiene una configuración de
software (por ejemplo, un sistema operativo, un servidor de aplicaciones, y las aplicaciones).
Desde el IAM, que inicie las instancias, que son copias de la AMI se ejecutan como servidores
virtuales en la nube. Puede iniciar varias instancias de un IAM, como se muestra en la siguiente
figura.

Amazon publica AMIs muchos que contienen configuraciones de software comunes para el uso
público. Además, los miembros de la comunidad de desarrolladores de AWS han publicado sus
AMIs personalizados. También puede crear su propio personalizado o IAM IAM, al hacerlo le
permite comenzar rápidamente y fácilmente las nuevas instancias que cuentan con todo lo
necesario. Por ejemplo, si su aplicación es un sitio web o servicio web, el IAM podría incluir un
servidor web, el contenido estático asociado, y el código de las páginas dinámicas. Como
resultado, después de iniciar una instancia de este IAM, el servidor web se inicia, y su
aplicación está lista para aceptar peticiones.

Puede lanzar diferentes tipos de instancias de una sola AMI. Un tipo de instancia que
determina esencialmente el hardware de la computadora host utilizado para la instancia. Cada
tipo de instancia ofrece diferentes capacidades de cómputo y memoria. Seleccione un tipo de
instancia sobre la base de la cantidad de memoria y potencia de cálculo que usted necesita
para la aplicación o el software que va a ejecutarse en la instancia. Para obtener más
información, vea Tipos disponibles de instancia. Puede iniciar varias instancias de un IAM,
como se muestra en la siguiente figura.

61
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Regiones y Zonas de disponibilidad


Amazon tiene centros de datos en las diferentes áreas del mundo (por ejemplo, América del
Norte, Europa y Asia). En consecuencia, Amazon EC2 está disponible para su uso en diferentes
regiones. Con el lanzamiento de las instancias en regiones separadas, puede diseñar la
aplicación para estar más cerca de clientes específicos o para cumplir con requisitos legales o
de otro tipo. Los precios de Amazon EC2 uso varían según la región.

Cada región contiene múltiples ubicaciones distintas llamadas Zonas de disponibilidad. Cada
zona de disponibilidad está diseñado para estar aislado de catástrofes, cuenta con baja
latencia de conectividad de red a otras zonas de la misma región. Con el lanzamiento de las
instancias en Zonas de disponibilidad por separado, usted puede proteger sus aplicaciones de
la falla de un solo lugar.

62
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Almacenamiento
Amazon nos proporciona tres modos de almacenamiento que son los siguientes:

 Amazon Elastic Block Store (Amazon EBS)


 Amazon EC2 Tienda Instancia
 Amazon Simple Storage Service (Amazon S3)
La siguiente figura muestra la relación entre estos tipos de almacenamiento:

Amazon EBS
Amazon volúmenes de EBS es la opción de almacenamiento recomendada para la mayoría de
los casos. Amazon EBS ofrece un almacenamiento persistente para las instancias a nivel de
bloque de almacenamiento.

Amazon EBS es especialmente adecuado para aplicaciones que requieren una base de datos,
un sistema de archivos o el acceso a los recursos a nivel de bloque de almacenamiento.

Como podemos ver en el grafico anterior, podemos adjuntar varios volúmenes a una instancia.
Además hacer una copia d seguridad de los datos se puede crear una instantánea de un
volumen de EBS y este se almacenará en Amazon S3. Es puede crear un nuevo volumen en
Amazon EBS a partir de una instantánea y adjuntarlo a otra instancia.

La siguiente imagen muestra lo que normalmente es el ciclo de vida de un volumen:

63
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Almacenamiento de Instancia
Todos los tipos de instancias, con excepción de los casos Micro, cuentan con un
almacenamiento temporal a nivel de bloque de almacenamiento. Este es el almacenamiento
que esta físicamente conectado a la computadora host. Este volumen será eliminado cuando la
instancia termina o es eliminada (Lo que en OpenStack llamamos almacenamiento Efímero).

Almacén de instancias es una opción para el almacenamiento temporal de bajo costo. Puede
utilizar volúmenes Instancia de almacén si no se requiere la persistencia de datos. (Lo que en
OpenStack llamamos almacenamiento Efímero).

Amazon S3
Amazon S3 es el almacenamiento por Internet. Proporciona una interfaz de servicio web
simple que le permite almacenar y recuperar cualquier cantidad de datos desde cualquier
lugar en la web.

Bases de Datos
Amazon EC2 nos permite implementar también bases de datos de una forma fácil y dándonos
a elegir entre varios tipos siendo los siguientes los más comunes:

 Servicio de base de datos relacional (Amazon RDS), que le permite obtener fácilmente
una base de datos relacional gestionado en la nube
 Iniciar una instancia de una base de datos de AMI, y utilizar esa instancia EC2 como la
base de datos

Amazon RDS ofrece la ventaja de manejar las tareas de administración de bases de datos, tales
como parchear el software, copias de seguridad y almacenar las copias de seguridad.

Redes y Seguridad
Cada instancia que se lanza en Amazon EC2 se le asigna una dirección IP pública para su
acceso. En caso de que alguna aplicación necesite una IP estatica, Amazon EC2 tambien ofrece
direcciones IP estáticas.

Puede utilizar grupos de seguridad para controlar quién puede acceder a sus instancias. Estos
son análogos a un servidor de seguridad de red entrante que le permite especificar los
protocolos, puertos y rangos de IP de origen que se les permite llegar a las instancias. Puede
crear varios grupos de seguridad y asignar diferentes reglas para cada grupo. A continuación,
puede asignar a cada instancia de uno o más grupos de seguridad, y usamos las reglas para
determinar qué tráfico se deja que alcance la instancia. Puede configurar un grupo de
seguridad para que las direcciones IP solamente o grupos específicos de seguridad tienen
acceso a la instancia. (Este proceso ya lo conocemos, ya que es prácticamente idéntico en
OpenStack).

64
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Monitoreo, Auto Scaling y balanceo de carga


AWS ofrece funciones que permiten realizar las tareas más avanzadas como el balanceo de
carga o el auto escalamiento. Toda la información sobre cómo realizar estos procesos se
encuentra en la página web de Amazon AWS.

AWS Gestión de Identidades y Acceso


Amazon EC2 se integra con AWS Identity and Access Management (IAM) es el servicio
equivalente a Keystone en OpenStack, un servicio que le permite a su organización haga lo
siguiente:

 Crear usuarios y grupos respecto a la cuenta de su empresa AWS.


 Comparta fácilmente sus recursos de la cuenta de AWS entre los usuarios de la cuenta.
 Asignación de credenciales de seguridad únicas para cada usuario.
 Granular usuarios controlar el acceso a los servicios y recursos.

Interfaces disponibles EC2


Amazon EC2 nos permite varias opciones para su acceso y administración vamos a repasarlas
un poco en los siguientes apartados.

AWS Management Console


El AWS Management Console es una sencilla interfaz gráfica de usuario basada en la web. Para
empezar a utilizar la consola, consulte Introducción a instancias de Amazon EC2 Linux.

Herramientas de línea de comandos (Herramientas API)


EC2 proporciona API basada en Java que nos muestra una línea de comandos de cliente que se
envuelve la API de EC2.

65
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

¿Cómo se le cobra por EC2?


Hemos dicho anteriormente que Amazon EC2 es una plataforma de pago por uso, pero como
realiza las mediciones Amazon para cobrarnos, la idea es muy parecida a como actualmente
nos cobran otros servicios comunes como por ejemplo la luz eléctrica.

Con EC2, solo pagaras por lo que uses, y no hay cargo mínimo. Los cargos se dividen en las
siguientes partes generales:

 Instancia uso.
 Transferencia de datos.
 Almacenamiento.

Si el servicio no le convence o quiere cambiar a otros servicios OpenSource como por ejemplo
OpenStack se puede dar de baja fácilmente desde la web de Amazon AWS
http://aws.amazon.com.

66
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Probemos Amazon EC2


En primer lugar quiero comentar mi experiencia en Amazon EC2, la verdad que ha sido
bastante positiva Amazon EC2 tiene una interfaz muy intuitiva, funciona todo muy fluido y a
una gran velocidad. Cuando me inicié en el mundo del Cloud Computing Amazon AWS fue la
primera plataforma que probé y la verdad que acabé muy satisfecho con el rendimiento, desde
mi experiencia creo que actualmente Amazon AWS es la mejor alternativa IaaS de pago por
uso.

Amazon EC2 tiene muchos entornos predefinidos e imágenes disponibles, nosotros tan solo
tenemos que elegir la imagen y lanzar la instancia lo cual es una gozada, tanto por la facilidad
de uso, como por el rendimiento, yo ya digo que me quedo con Amazon EC2 como IaaS de
pago por uso.

Amazon nos permite probar AWS de manera gratuita durante un año con una serie de
limitaciones, a nosotros nos basta con lo que nos da Amazon gratuitamente para hacer
nuestras pruebas y conocer su funcionamiento que es el objetivo. A continuación muestro una
captura de pantalla de la publicidad de la prueba gratuita que he comentado antes.

En primer lugar debemos registrarnos en http://aws.amazon.com/es/ , durante el registro


Amazon nos requerirá todos nuestros datos incluida una tarjeta con algo de saldo (Te cobran
un euro que te devuelven pasados unos días ¡Que no cunda el PANICO!).

Como Amazon no nos cobra hasta dentro de un año cuando terminemos las pruebas nos
podremos dar de baja del servicio de la siguiente manera:

1. Ir a http://aws.amazon.com.

2. Haga clic en Mi cuenta / consola, a continuación, haga clic en Actividad de la cuenta.

3. Inicia sesión para Amazon Web Services, si no lo ha hecho.

4. Según cuenta, haga clic en Administrar tu cuenta.

5. Si cancela AWS, esto cancela todos los servicios, incluyendo EC2. En virtud de cancelar
su cuenta AWS página, haga clic en Cancelar su cuenta AWS. Alternativamente, usted
puede cancelar los servicios individuales, vaya a cancelar los servicios seleccionados,
seleccione Amazon Elastic Compute Cloud, a continuación, haga clic en cancelar el
servicio.

67
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Una vez estemos registrados en la plataforma vamos a crear una instancia de prueba para
comprobar el funcionamiento del servicio.

Una vez entramos en la plataforma nos mostrará todos los servicios de Amazon AWS
seleccionamos AC2 que es componente en el que nos vamos a centrar.

A continuación nos muesta EC2 Dashboard que es la interfaz de administración via web de A2C
desde la cual podemos administrar los servidores, lanzar instancias, crear volúmenes, etc. EC2
es el equivalente a Horizon en OpenStack.

68
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

En esta prueba vamos a crear una instancia, para ello seleccionamos “Instances” en el menú
izquierdo.

Seguidamente, EC2 Dashboard nos muestra las instancias que tenemos actualmente creadas,
en este caso no tengo ninguna, vamos a crear una.

69
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Una gran ventaja que tiene Amazon AWS con respecto a OpenStack es que Amazon AWS ya
nos ofrece una gran cantidad de imágenes tanto Windows como de distribuciones Linux ya
instaladas en el servicio, con lo cual nos ahorramos tener que subirlas nosotros, simplemente
elegimos simplemente el sistema operativo que queremos y ya estará lista para lanzar la
instancia. En este caso vamos a elegir una imagen de Windows Server 2012.

Una vez seleccionada la instancia debemos elegir las características que va a tener nuestra
instancia, lo que en OpenStack llamamos el “Sabor” en este caso vamos a el tipo “t1.micro” ya
que es una versión gratuita y así evitamos cargos adicionales.

70
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Una vez elegidas las características de la instancias (Sabor) nos permite añadirle un volumen a
la instancia en este caso vamos a añadirle un volumen de 30Gb.

71
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Debemos de elegir a que grupo de seguridad va a pertenecer la instancia, en grupo de


seguridad es donde elegiremos los valores de seguridad de la instancia, es decir, el tráfico que
permitimos en esa instancia.

En este caso como no tenemos ningún grupo vamos a seleccionar “Create a new security
group” para crear un nuevo grupo de seguridad llamado “Acceso TOTAL”.

Vamos a añadir una regla a este grupo poco recomendable ya que permitiremos todo el tráfico
desde cualquier dirección IP hacia la instancia pero al tratarse de una prueba esto tiene poca
importancia.

Una vez creado el grupo de seguridad simplemente seleccionamos el grupo que acabamos de
crear.

72
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Finalmente nos mostrará un resumen de todas las opciones seleccionadas antes de lanzar la
instancia para que confirmemos que son correctas.

Al igual que “Ceilometer” en OpenStack, EC2 nos termite también un servicio de telemetría
para controlar el consumo de recursos.

73
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Una vez confirmado que las opciones verdaderamente son las que queremos debemos
seleccionar en la parte inferior derecha el botón que dice “Launch” para lanzar la instancia.

Sin embargo debemos de configurar una cosa más antes de lanzar la instancia, ya que
debemos crear un par de claves RSA para poder acceder a ella. Seleccionamos “Create a new
key pair” y ponemos el nombre que queramos yo en mi caso le voy a poner “Clave_Jorge”.

Una vez definida la clave seleccionamos “Download key pair” en la parte inferior y comenzará
la descarga de nuestra clave.

Si vamos a la ruta donde hemos descargado la clave podemos comprobar que es una clave RSA
verdaderamente simplemente abriendo el archivo como se ve a continuación.

74
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Finalmente ya podemos hacer clic en el botón “Launch Instances” y la instancia comenzará a


lanzarse.

Una vez terminado el lanzamiento de la instancia podemos comprobar como su estado es


“Running” lo cual quiere decir que el proceso de lanzamiento de la instancia ha finalizado. Sin
embargo no tendremos acceso a ella hasta que termine de generar la contraseña. Si
intentamos acceder nos muestra lo siguiente.

Podemos revidar el estado de la creación de contraseña para comprobar cuando termina el


proceso cuando cambie el icono de “Status Checks” mientras su estado sea “Initializing” no
podremos acceder a ella.

Una vez cambia el icono nos indica que la instancia está lista para su acceso

75
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Para acceder a la instancia debemos seleccionar el botón de la parte superior que dice
“Connect”, nos mostrará la siguiente ventana.

Para acceder a ella mediante escritorio remoto EC2 nos lo pone muy fácil simplemente
seleccionamos la opción de “Download Remote Desktop File” y comenzará la descarga de un
archivo con extensión “.rdp” que directamente al ejecutarlo conectaremos con la instancia.

Pero antes debemos de obtener la contraseña de administrador para acceder a ella


seleccionamos luego la sección “Get Password” y nos requerirá la clave RSA descargada
previamente, simplemente seleccionamos la clave y hacemos clic en “Descrypt Password”

76
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Una vez descifrada la clave RSA nos muestra la clave del usuario administrador y ya podremos
acceder mediante escritorio remoto a la instancia.

Simplemente ejecutando el archivo “dirección_ip.rdp” y poniendo la clave anterior de


administrador, ya tendremos acceso a la instancia.

Cuando iniciamos sesión por primera vez el proceso es algo más lento porque está creando el
perfil.

77
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Terminado el proceso de creación del perfil nos mostrará el escritorio de Windows 2012
Server.

Podemos utilizar el servidor normalmente el proceso del cloud computing es totalmente


transparente al usuario.

78
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Como podemos comprobar tendremos acceso a internet sin problemas la siguiente página
Web muestra como he entrado sin problema en la página web del IES Romero Vargas.

Con esto terminamos el proceso de creación de la instancia y como acceder a ella, la verdad
que EC2 es relativamente fácil te utilizar, además en la página web de Amazon AWS podemos
encontrar información de todo tipo acerca de cómo utilizar sus servicios.

79
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Capítulo 4. Instalaciones de OpenStack.


En este capítulo vamos a explicar varias formas para iniciarse en el mundo e OpenStack
normalmente los servicios que se explicarán son para la instalación en equipos con
relativamente pocos recursos y para entornos de “Testing” ya que hacen falta una gran
cantidad de recursos para desplegar OpenStack de una manera efectiva. Para iniciarse en el
mundo de OpenStack hay varios entornos medianamente predefinidos ya para una primera
toma de contacto, vamos a ver algunos.

TryStack
TryStack es una plataforma que nos permite utilizar OpenStack gratuitamente para hacer
pruebas y para probar configuraciones. Es una manera de comenzar con OpenStack solo nos
permitirá lanzar instancias con unos recursos limitados, pero nos servirá para una primera
toma de contacto. Cabe decir que TryStack es solo para entorno de pruebas nunca lo utilicéis
para entornos de producción ya que pueden eliminar los recursos en cualquier momento.

Para acceder debemos entrar en la web www.trystack.org donde nos encontraremos con la
siguiente pantalla en la que en la parte derecha vemos un apartado que dice “Join Our
Facebook Group” para probar Trystack debemos de registrarnos con nuestro Facebook y
también debemos de registrarnos en el grupo de Facebook de Trystack, lo cual lo podemos
hacer sin problemas, no te enviaran publicidad ni nada parecido.

Trystack esta respaldado por grandes empresas que apollan el proyecto como las que
podemos ver a continuación:

80
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Debemos tener en cuenta que el servicio Trystack recibe una gran afluencia de solicitudes
debido a la gran cantidad público relacionado con OpenStack que quiere probar el servicio, por
lo tanto debemos de ser pacientes, ya que desde nos registramos en el servicio hasta que nos
validan la solicitud pueden pasar varios días.

Una vez nos validen la solicitud simplemente en la misma página de Trystack seleccionamos
“Login”.

Por ultimo comentar que Trystack se encienta ahora dando servicio de la versión “Havana” de
OpenStack y se están planteando actualizar a nuevas versiones como “Icehouse”.

Vamos a crear una instancia en Trystack para comprobar que funciona correctamente aunque
el proceso de creación se omitirá en este apartado ya que se explicara en el capítulo de
administración de OpenStack.

Una vez hemos accedido mediante nuestro Facebook tendremos operativo un servidor de
OpenStack como podemos ver a continuación podemos acceder sin problemas.

81
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

DevStack (OpenStack IceHouse)


DevStack es un conjunto de script bash que nos permiten instalar OpenStack de forma
automática para entornos de desarrollo.

En este caso vamos a instalar DevStack en una máquina virtual con VMW pero es preferible
instalarlo en una maquina física para obtener un mejor rendimiento, además vamos a instalar
la última versión de OpenStack Icehouse.

DevStack nos instalará todos los componentes necesarios para el funcionamiento de


OpenStack en una máquina virtual, con nuestro portátil simplemente podremos desplegar
OpenStack y hacer todas las pruebas que deseemos en él.

Para desplegar OpenStack mediante DevStack necesitaremos una máquina virtual o física con
al menos 2 Gb de memoria RAM.

Otro de los requisitos es que DevStack solo permite alguno de los siguientes Sistemas
Operativos:

 Ubuntu 12.04 (Precise).


 Fedora 20 and CentOS/RHEL 6.5.
 OpenSUSE.
 Debian.

Nosotros vamos a optar por instalarlo en un Ubuntu 14.04 LTS para comprobar que también
funciona correctamente, no es necesario que sea Ubuntu 12.04, eso lo dice la página oficial de
DevStack pero estará pendiente de actualización.

En primer lugar antes de comenzar verdaderamente la configuración vamos a configurar la red


a establecer dirección IP fija para no tener luego problemas. Para ello editamos el fichero
/etc/network/interfaces

nano /etc/network/interfaces
Yo en mi caso lo he configurado de la siguiente manera, la configuración dependerá de la
configuración de la red.

82
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Una vez comprobemos que tenemos conexión sin problemas a internet con la nueva dirección
IP fija vamos a actualizar los repositorios con la siguiente orden:

apt-get update

Una vez finalizada la actualización vamos a instalar GIT para que nos permita descargar los
archivos necesarios para la instalación de DevStack ya que estos archivos se encuentran en un
repositorio GIT.

apt-get install git

Una vez instalado Git, podemos encontrar la ruta a este repositorio en la misma página de
DevStack. Los desarrolladores de DevStack se encargan de actualizar estos repositorios a las
nuevas versiones de OpenStack.

Debemos tener en cuenta que debemos ejecutar la línea anterior con un usuario sin
privilegios, al ejecutar esa línea de comando comenzará la descarga de DevStack.

$ git clone https://github.com/openstack-dev/devstack.git

En cuanto lo tengamos descargado debemos acceder a la carpeta que se nos ha creado


llamada “devstack” con la siguiente orden

cd devstack

Dentro de esa carpeta podremos ver cómo están todos los script que realizarán en despliegue
de OpenStack

83
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Antes de ejecutar nada debemos de elegir la versión de OpenStack que deseamos que nos
instale Devstack, actualmente podemos elegir algunas de las siguientes opciones (Debemos
estar dentro de la carpeta devstack):

 OpenStack- Havana
$ git checkout stable/havana
 OpenStack- Icehouse
$ git checkout stable/icehouse

En este documento, como ya hemos comentado antes vamos a desplegar la última versión de
OpenStack Icehouse, por lo tanto ejecutamos la siguiente línea.

$ git checkout stable/icehouse

Con la línea anterior se realizan las modificaciones para la instalación de la última versión,
recibiremos el siguiente mensaje.

Antes de ejecutar ningún script debemos de crear el fichero local.conf donde configuraremos
las contraseñas que utilizarán los servicios, para que luego podamos acceder a ellos sin
problemas, en este caso solo vamos a configurar las contraseñas pero podemos configurar
muchas más opciones, vallan a la siguiente página para ver algunas de ellas
http://devstack.org/configuration.html

Vamos a crear el fichero local.conf dentro de la carpeta devstack para ello ejecutamos la
siguiente línea

$ nano local.conf
Dentro del fichero debemos de escribir lo siguiente:

[[local|localrc]]

ADMIN_PASSWORD=password

MYSQL_PASSWORD=password

RABBIT_PASSWORD=password

SERVICE_PASSWORD=password

SERVICE_TOKEN=tokentoken

84
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Le damos permisos al fichero para no tener problemas luego con los permisos

#Chmod 666 local.conf

Finalmente ya podemos ejecutar el script que comenzará la instalación este script se llama
stack.sh y lo podemos encontrar lógicamente dentro de la carpeta devstack.

$./stack.sh
Nos requerirá la contraseña del usuario que utiliza sudo y comenzará la instalación.

En la siguiente imagen se muestra devstack en pleno despliegue de OpenStack. Debemos tener


en cuenta que el proceso de instalación es bastante largo debido a la gran cantidad de
componentes y configuraciones que tiene que instalar, así que debemos de ser pacientes, el
proceso suele tardar unos 30 minutos, dependiendo del rendimiento del equipo donde se está
instalando.

Una vez terminado el proceso de instalación, devstack nos muestra la dirección desde la cual
podemos acceder a Horizon, en mí caso es la siguiente:

http://192.168.128.128

85
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Vamos nuestro navegador Web y entramos en la dirección que nos muestra y veremos la
interfaz de Horizon que nos requiere un usuario y una contraseña para acceder, en mi caso yo
en el fichero local.conf puse “password” como contraseña, por lo tanto accedo con el usuario
admin con contraseña password.

Una vez Keystone valida nuestra contraseña veremos la interfaz de Horizon

Finalmente tenemos terminado el proceso de instalación de OpenStack (Icehouse) mediante


Devstack, por ahora en este apartado no vamos a comentar nada más sobre la administración
de OpenStack, comentaremos como crear instancias, grupos de seguridad, usuarios, etc. en
otros apartados de este documento.

Finalmente cabe destacar una cosa muy importante, como Devstack esta creado para entornos
de prueba cada vez que reiniciemos nuestra máquina, perderemos el acceso a OpenStack, para
solucionar este problema, después de cada reinicio debemos de ir a la carpeta “devstack” y
ejecutar el siguiente script rejoin-stack.sh.

86
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

$./rejoin-stack.sh
Debemos esperar un poco a que termine el proceso de relanzamiento de OpenStack y
tendremos disponible de nuevo Horizon en la misma dirección que anteriormente desde el
navegador.

87
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Instalación de OpenStack con diferentes nodos


En este apartado pretendemos instalar OpenStack con un despliegue lo más parecido posible a
lo que sería un despliegue real, para lo cual crearemos un escenario formado por varias
máquinas virtuales desplegadas con Vagrant donde se instala OpenStack a partir de recetas
desarrolladas en ansible. Esta vez vamos a ejecutar el despliegue en Debian 7 wheezy.

En primer lugar tenemos que tener en cuenta la memoria RAM que disponemos. Las cuatro
máquinas que se despliegan necesitan 2,5 GB de RAM, por lo que creo que con un ordenador
de 4 GB sería suficiente. Por otro lado partimos de que estamos usando un equipo con la
extensión de virtualización hardware VT-x/AMD-v activada.

Hay que tener en cuenta que este despliegue es aconsejable hacerlo en máquinas físicas de lo
contrario el rendimiento será pésimo, además no es posible hacer esta configuración en
VMware es donde yo lo he intentado y da un error al instalar el nodo de almacenamiento
debido a que no reconoce el formato de discos de VMware.

Comencemos la instalación, en primer lugar antes de comenzar verdaderamente la


configuración vamos a configurar la red a establecer dirección IP fija para no tener luego
problemas. Para ello editamos el fichero /etc/network/interfaces

nano /etc/network/interfaces
Yo en mi caso lo he configurado de la siguiente manera, la configuración dependerá de la
configuración de la red.

Una vez comprobemos que tenemos conexión sin problemas a internet con la nueva dirección
IP fija vamos a actualizar los repositorios con la siguiente orden:

apt-get update

Como anteriormente, los datos se encuentran en un repositorio Git así que vamos a instalar
Git con la siguiente orden:

#apt-get install git

88
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

El software que se va a utilizar para ejecutar las máquinas virtuales es VirtualBox. Para la
instalación, ejecutamos la siguiente orden:

# apt-get install virtualbox

También necesitamos instalar un complemento de python que lo instalaremos con la siguiente


orden:

apt-get install python-netaddr


Vagrant nos permite crear entornos de desarrollo virtualizados. Esta herramienta nos permite
automatizar la creación y gestión de máquinas virtuales. Vamos a utilizar esta herramienta
para definir y gestionar las máquinas virtuales que vamos a usar. Estas máquinas serán
ejecutadas en VirtualBox. Podemos instalar vagrant con la siguiente orden:

# wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.4.3_x86_64.deb
# dpkg -i vagrant_1.4.3_x86_64.deb

Las máquinas virtuales que se crean tienen el sistema operativo Ubuntu 12.04 amd64, por lo
tanto es conveniente descargar el box de vagrant precise64 con el siguiente comando:

vagrant box add precise64 https://cloud-images.ubuntu.com/vagrant/precise/current/precise-


server-cloudimg-amd64-vagrant-disk1.box

Si el proceso se a realizado correctamente debemos ver lo siguiente:

Por último vamos a utilizar ansible, una herramienta que nos permite automatizar y gestionar
la configuración de nuestras máquinas. Podemos utilizar la herramienta pip para instalar la
última versión de este programa:

# apt-get install python-pip python-dev


# pip install ansible

Un vez que tenemos instaladas las herramientas necesarias, vamos a obtener el repositorio
desde el que vamos a realizar la instalación, para ello tenemos que clonarlo ejecutando los
siguientes comandos:

git clone https://github.com/openstack-ansible/openstack-ansible

Una vez descargado accedemos a la carpeta que se nos ha descargado con el nombre de
openstack-ansible

cd openstack-ansible

89
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Dentro de ella vamos a actualizar con la siguiente orden:

git submodule update --init

Antes de por último, ejecutar los script de que realizarán la instalación debemos tener en
cuenta que existe un error con esta instalación que debemos de arreglar antes de realizar la
instalación. El problema es que no se sustituye correctamente la variable que contiene la
contraseña de administrador en la instalación, por lo tanto la instalación nos funcionará
correctamente pero no podremos acceder con el usuario “admin” solo con el usuario “demo”,
esto lo arreglaremos de la siguiente manera:

Debemos ir a la carpeta openstack-ansible/group_vars y editar el fichero “all” en uno de


los apartados del fichero dice admin_password en el fichero tendrá un formato
parecido al que muestro a continuación:
admin_password: "{{ lookup('password', inventory_dir + '/credentials/admin-password') }}"

Debemos buscar esa línea en el fichero openstack-ansible /group_vars/all y cambiarla para


que quede como la siguiente:

admin_password: “secret”

Una vez modificado el fichero podemos proceder a la instalación con el siguiente


comando:
openstack-ansible# make

90
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Debemos ser pacientes, ya que el proceso de instalación es bastante largo, puede llegar a
tardar hasta 1 hora.

Una vez finalizada la instalación, Horizon estará disponible y podremos acceder a él mediante
cualquier navegador web accediendo a la siguiente dirección:

http://10.1.0.2/horizon

Como podemos comprobar podremos acceder sin problemas con el usuario “admin” y
contraseña “secret”, también podremos acceder con el usuario “demo“ con contraseña
“secret” pero con este último no tendremos privilegios de administrador.

91
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Una vez dentro vemos la interfaz de Horizon desde la cual podremos administrar OpenStack de
una manera muy eficiente.

92
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Al finalizar la instalacion tendremos varias maquinas corriendo en virtualbox que se


corresponderan a cada uno de los nodos de OpenStack

Comentar tambien que si accedemos a este directorio podemos manejar las máquinas
virtuales (pararlas, arrancarlas o destruirlas). Estas tres acciones se harían con los siguientes
comandos:

 openstack-ansible/testcases/standard#vagrant halt
 openstack-ansible/testcases/standard#vagrant up
 openstack-ansible/testcases/standard#vagrant destroy

Con esto dados por terminada la instalación de OpenStack con Vagrant utilizando varios
nodos, cabe comentar que aunque este esquema se asemaja bastante a un despliegue real de
OpenStack no es nada aconsejable para una implementación real, ya que todos los
componentes estan virtualizados.

93
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Capítulo 5. Administración y utilización de OpenStack


En este capítulo vamos a comentar todo lo relacionado con la administración de OpenStack,
como administrar instancias, agregar imágenes, crear grupos de seguridad, gestión de redes,
etc.

Gestión de imágenes

OpenStack utiliza imágenes de sistemas operativos previamente instalados para crear las
instancias que se ejecutan en los nodos de computación. Estas imágenes pueden tener
diferentes formatos, pueden ser sistemas operativos limpios recién instalados o por contra
sistemas con muchas aplicaciones completamente configuradas y pueden ser incluso
instantáneas (snapshots) de instancias que se están ejecutando o se han ejecutado en alguno
de los nodos de computación.

El componente de OpenStack encargado de la gestión de instancias es Glance que inicialmente


almacena las imágenes en el directorio /var/lib/glance/images, aunque es posible utilizar
también un componente de almacenamiento de objetos como OpenStack Swift.

Formato del disco


Tendremos que dar un formato a nuestra imagen para cuando creemos una máquina virtual.
Existen muchos tipos de formatos de imagen de disco, actualmente podemos utilizar los
siguientes en OpenStack (Disk and Container Formats):

Raw: Formato de imagen de disco no estructurado. Es el formato básico que puede crearse
por ejemplo con la aplicación dd, no está optimizado para su utilización en virtualización, pero
puede manejarse con herramientas básicas del sistema (dd, parted, fdisk, mount, kpartx, ...)
vhd: Usado por herramientas de virtualización como VMWare, Xen, Microsoft, VirtualBox y
otros.

vmdk Otro formato usado por herramientas de virtualización como por ejemplo VMWare
player.

Vdi: Formato soportado por VirtualBox y el emulador QEMU


iso Formato de ficheros o contenido de un dispositivo óptico como un CDROM o
DVD.

qcow2: Formato de disco soportado por el emulador QEMU que permite expandir
dinámicamente y soporta Copy on Write.

Aki: Indica que la imagen guardada en Glance es una Amazon Kernel Image.
Ari: Indica que la imagen guardada en Glance es una Amazon Ramdisk Image.
Ami: Indica que la imagen guardada en Glance es una Amazon Machine Image.

94
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Formato del contenedor


El formato del contenedor se refiere a si la imagen de la máquina virtual está en un formato de
archivo que contiene metadatos. Actualmente podemos utilizar uno de los siguientes tipos de
formato para el formato del contenedor:

Bare: Esto indica que no existe formato sobre los metadatos de la imagen.
ovf Open Virtualization FormatEstándar: abierto que están implementando diferentes
soluciones de virtualización/cloud.

Aki: Indica que la imagen guardada en Glance es una Amazon Kernel Image.
Ari: Indica que la imagen guardada en Glance es una Amazon Ramdisk Image.
Ami: Indica que la imagen guardada en Glance es una Amazon Machine Image.

95
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Crear una Imagen

Encontraremos una apartado que dice “Imágenes” si hacemos clic en él nos mostrará todas las
imágenes que Glance conoce, como todavía no hemos añadido ninguna solo nos aparecerán
las Cirros que se crean por defecto durante la instalación.

96
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Como podemos ver en la captura de pantalla anterior hay un botón que dice “Crear imagen”
hacemos clic en él.

Horizon nos muestra un pequeño formulario para que pongamos el nombre, descripción y
seleccionemos la imagen que queremos exportar Glance.

Seleccionando la sección “Seleccionar archivo” y seleccionamos la imagen que queremos


añadir.

97
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Una vez seleccionada la imagen que queremos, debemos completar el formulario con el
formato de la imagen, además de otros valores opcionales como la arquitectura o el disco duro
mínimo para lanzar una instancia con este tipo de imagen y hacemos clic en “Crear Imagen” y
comenzará el proceso de subida.

Una vez finalizado el proceso podemos comprobar como la imagen ya nos aparece disponible
para su uso.

98
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Grupos de seguridad
Un grupo de seguridad no son más que reglas de cortafuegos (iptables) que controlan el
acceso a las instancias mediante la dirección IP flotante.

Vamos a crear un grupo se seguirdad mediante Horizon, para ello vamos a la sección “Acceso
y seguridad” de nuestro proyecto asignado y nos mostrará todos los grupos que tenemos
actualmente durante la instalación se nos creó un grupo llamado “Default”.

Nosotros vamos a crear uno nuevo llamado “AccesoInstancia”, para ello hacemos clic en la
parte derecha en la sección “Crear grupo de seguridad”.

Ahora el grupo de seguridad está creado pero no tiene ninguna regla, por lo tanto no sabrá
que tráfico permitir o cual denegar, vamos a crear reglas haciendo clic en “Agregar regla”.

99
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Horizon nos muestra las diferentes opciones que podemos elegir con respecto al tráfico hacia
la instancia.

Vamos a crear una regla con la que permitamos todo el tráfico ICMP hacia nuestra instancia
desde cualquier dirección IP, esta regla sería así:

Finalmente hacemos clic en añadir y nuestra regla estará creada correctamente

100
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Pares de claves
Si queremos tener acceso a nuestra instancia mediante SSH debemos de crear un par de claves
RSA para autenticarnos, para crearlas seguiremos el siguiente proceso.

Dentro del menú “Acceso y seguridad” vamos a la pestaña que dice “Pares de claves” y
seleccionamos la opción de la parte superior derecha que dice “Crear par de claves”, le
asignamos un nombre a nuestro par de claves, yo en mi caso le he puesto “Clave_Jorge”.

Cuando finalmente seleccionamos la opción “Crear par de claves” la descarga comenzará


automáticamente.

La descarga se debe realizar sin problemas y tendremos un archivo con el siguiente formato:

Nombre_par_de_claves.pem en mi caso clave_jorge.pem

101
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Sabores (Flavors)
Como ya hemos explicado anteriormente un sabor define para una instancia el número de
CPUs virtuales, la RAM, si dispone o no de discos efímeros, etc. En este apartado vamos a crear
nosotros uno de prueba para las instancias con Linux.

OpenStack preinstala una serie de sabores, que el administrador puede modificar, estos
sabores se muestran a continuación.

Para ir a este apartado simplemente seleccionamos “Sabores” en el panel de administración.

Para crear un nuevo sabor debemos de hacer clic en la parte superior derecha donde dice
“Crear sabor”.

En el siguiente formulario nos muestra nos pide un nombre, nuemro de VCPUs, RAM, Disco
duro, etc.

Nosotros hemos creado este sabor para instancias con Linux con las siguientes características:

102
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Como podemos comprobar una vez creado ya nos aparece el nuevo sabor entre los sabores
creados previamente.

103
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Administración de instancias

Lanzar una instancia


Vamos a lanzar una instancia de Debian 7 wheezy, esta imagen ya la hemos cargado
previamente.

Para lanzar una instancia vamos a alguno de los proyectos a los que estemos asignados, en mi
caso yo estoy utilizando el usuario admin en el proyecto admin, vamos a la sección instancias y
seleccionamos “Lanzar instancia” en la parte derecha.

En el menú de creación de instancias, Horizon nos requiere que introduzcamos algunos valores
como por ejemplo, nombre de la instancia, sabor, número de instancias, origen de arranque de
la imagen, etc.

Nosotros hemos elegidos los siguientes valores en la pestaña detalles para lanzar una imagen
de Debian 7.

Pero antes de lanzar la instancia debemos de seleccionar algunas opciones más que nos da
Horizon, como por ejemplo en la pestaña “Acceso y seguridad” le podemos asignar el grupo de
seguridad que queremos que tenga la instancia, le vamos a asignar el grupo que creamos
anteriormente con el nombre de “AccesoInstancia” si recordamos este grupo de seguridad le
asignamos una regla que permitía el trafico ICMP hacia la instancia.

104
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Además del grupo de seguridad también le asignamos el par de claves que creamos
anteriormente.

Finalmente lanzamos la instancia haciendo clic en “Lanzar” y comenzará la creación de la


instancia.

Pasado un tiempo el estado de la instancia cambiara a “Running”, una vez está corriendo la
instancia podremos acceder a ella sin ningún problema con haciendo clic en el nombre de la
instancia, luego veremos varias pestañas donde una de ellas es “Consola” que nos permitirá
acceder a nuestra instancia mediante VNC.

105
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Como se puede ver en la siguiente captura vemos lo que está pasando en nuestra instancia
mediante la pestaña consola y podremos administrar nuestra instancia desde esta conexión
VNC.

Instantánea (Snapshot)
Un snapshot es una fotografía (copia de seguridad) de un servidor virtual en un momento
determinado. El snapshot permite volver a ese estado si se produce algún fallo al realizar
acciones o modificaciones.

Vamos a crear una instantánea de la instancia que hemos creado previamente seleccionamos
en la parte derecha “Crear instantanea”

Se nos abrirá un formulario en el que debemos de introducir el nombre de la instantánea

Una vez creada la instantánea podremos acceder a ella como si de una imagen se tratara.

106
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Acciones para instancias


En el menú de instancias hay una pestaña en la parte derecha llamada “Más” en ella podemos
encontrar gran cantidad de acciones para realizar en nuestra instancia como por ejemplo,
Asociar una dirección Ip flotante para su acceso, ver log, redimensionarla, suspender la
instancia, terminar la instancia, etc.

107
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Gestión y creación de Volúmenes


Un volumen no es más que una unidad de almacenamiento totalmente independiente de la
instancia, permanecerá creado independientemente de que la instancia se elimine o no, para
hacernos una idea aproximada es como un disco duro que podemos conectar o desconectar de
las instancias cuando lo desechamos.

Para crear un nuevo volumen vamos a nuestro proyecto asociado y seleccionamos


“Volúmenes” y como siempre en la parte derecha tendremos una opción que dice “Crear
volumen” la cual nos permitirá crear un volumen.

En el siguiente formulario se nos requerirá que introduzcamos el nombre del volumen, el


tamaño que deseamos que tenga, etc.

108
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Como podemos ver en la siguiente captura de pantalla el volumen se encuentra disponible


para su uso

Por ultimo vamos a asociar el volumen que hemos creado ahora con la instancia que creamos
previamente para eso vamos a la pestaña “Más” del volumen y seleccionamos “Editar
asociaciones”

En el menu de asociaciones seleccionamos la instnacia a la que queremos asociarlo en la parte


inferior, como se muestra en la siguientr captura lo hemos asociado a la instancia Jorge-Debian
7.

Pasados unos minutos ya tendremos asociado el volumen a nuestra instancia y podremos


acceder a él desde la instancia.

109
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Gestión de Redes (Neutron)


Como ya hemos dicho anteriormente el encargado de la creación y gestión de redes en
OpenStack IceHouse es Neutron vamos a conocerlo de una manera más práctica.

Para hacer esta pequeña prueba de creación de redes vamos a crear 4 instancias, de manera
que vamos a dividirlas en 2 grupos, primer grupo será la clase de 1 ASIR y el segundo grupo
será la clase de 2 ASIR.

En primer lugar debemos acceder a la creación y administración de redes que se encuentra en


el menú de la parte izquierda, seleccionamos “Administrar Red” y como vamos a crear una
nueva red seleccionamos “Redes” una vez dentro de ese menú en la parte derecha pone
“Crear red” vamos a crear una red con el nombre ASIR1 que será de la clase de primero de
ASIR.

Ahora vamos a crear una subred con el mismo nombre que pertenecerá a ASIR 1

110
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Realizamos el mismo proceso para crear la red ASIR2 y al final del proceso obtenemos el
listado de las redes, en mi caso es algo así:

Como podemos ver tenemos creadas dos redes, ahora solo queda asignárselas a las instancias,
para realizar esta práctica hemos creado 4 instancias como ya hemos dicho le vamos a asignar
a dos de ellas la red ASIR 1 y a las otras dos la red ASIR 2.

En el proceso de creación de la instancia hay una pestaña que dice “Redes” este campo es
totalmente obligatorio y simplemente tenemos que seleccionar la red a la que queremos que
pertenezca en este caso queremos que pertenezca a ASIR1.

De igual forma vamos asignando las instancias a la red que queramos las instacias que hemos
creado en esta práctica son las siguientes:

Como podemos observar las instancias Jorge y José Profesor han obtenido una dirección IP
correspondiente a la red a la que pertenecen, en este caso ha ASIR 2, mientras que el resto
han obtenido una dirección IP de la red ASIR1.

111
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Topología de Red
Una de las grandes ventajas de Neutron es que nos permite ver la topología de red de una
manera rápida y sencilla, simplemente haciendo clic en menú de la izquierda y seleccionando
“Topología de red”.

En la siguiente captura muestro la topología de red de la práctica creada anteriormente:

112
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Gestión de usuarios y proyectos


OpenStack nos permite definir diferentes usuarios y asignarle a cada uno diferentes proyectos
para que puedan trabajar sobre ellos, vamos a repasar un poco en que consiste este la gestión
de usuarios y proyectos.

Proyectos
En el menú de la izquierda hacemos clic en “Panel de identidad” y dentro de él seleccionamos
proyectos, esto nos mostrará un listado de todos los proyectos que tenemos actualmente
creados. En la siguiente captura de pantalla se ven algunos proyectos que se han creado
durante la instalación.

Para crear un nuevo proyecto, podemos ver que en la parte superior derecha, hay un botón
que dice “Crear proyecto”, hacemos clic en él.

En el formulario que se muestra se nos requiere el nombre y la descripción

Además de la pestaña “Información del proyecto” tenemos dos pestañas más una que dice
“Miembros del proyecto” que la podremos utilizar para agregar usuarios a este proyecto y la
pestaña “Cuota” la cual vamos a ver algo más detenidamente.

113
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

En esta pestaña podemos establecer las limitaciones a las que estarán sujetas los diferentes
usuarios de OpenStack, entre ellas podemos definir, VCPUs, numero de instancias, numero
volúmenes, memoria RAM, etc.

Por último creamos el proyecto haciendo clic en crear proyecto.

114
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Usuarios
Podemos crear diferentes tipos de usuarios y asignarle roles diferentes a cada uno de ellos, de
manera que podemos limitar el acceso a los recursos, vamos crear un usuario de la siguiente
manera:

En el menú de la izquierda hacemos clic en “Panel de identidad” y dentro de él seleccionamos


usuarios, esto nos mostrará un listado de todos los usuarios que tenemos actualmente
creados. En la siguiente captura de pantalla se ven algunos usuarios que se han creado durante
la instalación y que OpenStack utilizará para la autentificación entre servicios.

Para crear un nuevo usuario, podemos ver que en la parte superior derecha, hay un botón que
dice “Crear usuario”, hacemos clic en él.

En el formulario que se muestra se nos requiere el nombre de usuario, correo electrónico,


contraseña, proyecto al que queremos asociarlo y por último el rol.

115
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Hemos creado el usuario Jorge y lo hemos asignado al proyecto ASIR-2 como se ve en la


siguiente captura de pantalla.

Finalmente hacemos clic en crear usuario y nuestro usuario estará creado correctamente y
podremos iniciar sesión con él.

116
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Conclusiones y agradecimientos
Finalizo este proyecto integrado sobre OpenStack “Icehouse” con la sensación de que aún
queda mucho por aprender en este gigantesco mundo que ha nacido entorno a OpenStack,
espero que este proyecto os haya servido de ayuda para conocer mejor OpenStack o para
comenzar vuestra andadura en este mundo. Mi consejo es que os forméis para poder aportar
algo a la comunidad, a la gran comunidad de OpenStack en todo el mundo que es lo que
verdaderamente están desarrollando este proyecto y los que hacen que esto salga a delante
con trabajo y esfuerzo.

Actualmente la comunidad española es bastante reducida, aunque está aumentando de una


forma considerable en los últimos tiempos, dada a la pequeña comunidad española en
comparación con otras partes del mundo, hay poquísima documentación en español por lo
tanto me ha sido de gran ayuda toda la documentación aportada por Alberto Molina y Jose
Domingo dos profesores del IES Gonzalo Nazareno, sus aportaciones están ayudando mucho a
la comunidad de habla hispana de OpenStack, os recomiendo que entréis en sus blog, en ellos
podréis encontrar información de todo tipo no solo relacionada con OpenStack, sino en varios
aspectos de la informática, el blog de Alberto Molina es
“http:/www.albertomolina.wordpress.com” y José domingo que podréis contactar con el
mediante su página web http://www.josedomingo.org/ , un especial agradecimiento a este
último con el que intercambie va varios correos electrónicos para resolverme algunas dudas.

La comunidad de OpenStack tiene infinidad de documentación en su página web


http://docs.openstack.org/ , desde la página oficial es donde he obtenido la mayor parte de la
documentación, aunque tiene el inconveniente que está totalmente en inglés.

Finalmente finalizo este proyecto animando a todo el mundo a aportar su grano de arena por
la comunidad de OpenStack, una buena forma de comenzar en este mundo es suscribiéndose
a las listas de correo para estar a la última y enteraros de todas las novedades.

Jorge Guerrero Garrido

117
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Bibliografía

 Sitio Web de OpenStack: https://www.openstack.org/


 Guía de instalación en Debian 7: http://docs.openstack.org/icehouse/install-
guide/install/apt-debian/content/
 Guía de instalación en Ubuntu 12.04/14.04 LTS:
http://docs.openstack.org/icehouse/install-guide/install/apt/content/
 Guía para el usuario final: http://docs.openstack.org/user-guide/content/
 Guía de Imágenes de VM: http://docs.openstack.org/image-guide/content/
 Obtener Imágenes: http://docs.openstack.org/image-
guide/content/ch_obtaining_images.html
 Trystack: http://trystack.org/.
 Blog de Alberto Molina: http://albertomolina.wordpress.com/
 Página web José Domingo: http://www.josedomingo.org/pledin/
 DevStack: http://devstack.org/
 Información general: http://openwebinars.net/
 Lista de Comandos OpenStack: http://docs.openstack.org/user-
guide/content/novaclient_commands.html
 Buen post sobre la historia de OpenStack: http://nubeblog.com/
 Información útil sobre OpenStack: http://aprendiendoopenstack.blogspot.com.es/

118
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Glosario

API: La «Application Programming Interface» es un conjunto de funciones de desarrollo que


OVH pone a disposición de sus clientes para que estos controlen sus servicios cloud. Gracias a
esta API, usted puede integrar directamente en sus programas llamadas a los servicios OVH.
Descubra laAPI de OVH.

Cloud: Son recursos informáticos virtualizados, disponibles para uso público o privado. Los
recursos cloud son múltiples (procesador y capacidad de cálculo, memoria, máquinas virtuales,
red, almacenamiento, archivado, plataformas, software…). El cloud puede destinarse al
consumo interno de las empresas, o también al leasing externo o pago por consumo. Las
infraestructuras que producen estos recursos virtuales y servicios pueden estar repartidas
geográficamente, consolidadas, conectadas para dar a un nivel de simulación superior la
imagen de que es independiente de esas consideraciones: es la nube.

Clonación: Acción de duplicar los recursos en el cloud para poder conservar las
configuraciones iniciales (instancias, proyectos, espacios de almacenamiento, espacios de
archivado…).

Contenedores (containers): Un contenedor (container, PCS) es un espacio de


almacenamiento destinado a contener datos a corto o medio plazo. Estos datos quedan
accesibles permanentemente. Es posible tener varios contenedores (PCA) en una misma
cuenta cloud OVH para distintos usos.
Cada contenedor tiene su propia seguridad y es posible acceder/modificar/añadir nuevos
objetos (archivos) en cada container a través de la API o, próximamente, desde el área de
cliente Cloud OVH.

Disponibilidad (almacenamiento/archivado): En el contexto del almacenamiento y el


archivado, hablamos de disponibilidad cuando queremos acceder al servicio para subir o
recuperar datos. Decimos que la plataforma está disponible (o accesible) a través de las
herramientas proporcionadas con un porcentaje de disponibilidad, que es la relación entre:

 El tiempo realmente disponible (excluyendo las interrupciones planificadas),

 El tiempo total.

Dedicated Cloud (o cloud dedicado): En OVH entendemos el Dedicated Cloud como la


infraestructura virtual, dedicada para una empresa, que puede mejorarse rápidamente en
función de la demanda y de los picos de carga. El Dedicated Cloud permite acceder a recursos
(CPU, RAM, red, etc.) y servicios de forma puntual según las necesidades.

Fiabilidad: En el contexto del almacenamiento y el archivado, definimos la tasa de fiabilidad


como el número de archivos preservados sin daños o incidentes en relación con el número
total de archivos confiados al proveedor.

119
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE Curso 13/14

Instancia: Llamamos instancia a cada servidor virtual iniciado por un período de tiempo
determinado. Es decir, la instancia es un servidor (máquina virtual) que, por lo general, se
utiliza estratégicamente de forma provisional, en lugar de instalarlo definitivamente.

Imágenes de máquina: En lugar de ofrecer un servidor (máquina virtual) vacío, es posible


instalar en él automáticamente un sistema operativo y una serie de programas de software
preconfigurados para que el servidor esté operativo directamente. Es lo que llamamos
imágenes de máquina.

OVF: Es un formato de archivo que permite almacenar/migrar máquinas virtuales apagadas.


Es el formato comúnmente utilizado por VMware.

OpenStack: Es un entorno virtualización libre y completo que engloba numerosas funciones


específicas.

OpenSwift: OpenSwift es el nombre de la API de almacenamiento de OpenStack. A través de


esta API usted puede gestionar sus contenedores «cloud storage».

Objetos almacenados: Para el almacenamiento cloud (PCA), la tecnología empleada


(OpenStack) es una tecnología de almacenamiento de objetos. Un objeto de almacenamiento
corresponde a un archivo transferido a la plataforma.

Pay as you go: Hablamos de «pay as you go» cuando se pagan los recursos por consumo real.
Solo se paga lo que se ha consumido, y no por adelantado.

Proyecto cloud: Un proyecto cloud de OVH es un espacio asociado a una vApp. Este espacio
engloba una vxLAN (red virtual dedicada) y un conjunto de máquinas virtuales y de reglas de
red.

RESTful: Es el tipo de desarrollo de API más utilizado hoy en día por la comunidad de
programadores.

Snapshot: Un snapshot es una fotografía (copia de seguridad) de un servidor virtual en un


momento determinado. El snapshot permite volver a ese estado si se produce algún fallo al
realizar acciones o modificaciones.

Restauración: Puesta a disposición del cliente de los datos subidos con anterioridad a un
espacio de archivado.

vCloud: Se trata de la tecnología de control global (vCloud Datacenter) utilizada por OVH para
proporcionar los entornos de vApps y máquinas virtuales.

VApp: Se trata de una aplicación virtual que agrupa un conjunto de instancias, una vxlan y las
reglas de configuración de red relativas. Las direcciones IP externas también están asociadas a
esta aplicación y son enrutadas internamente hacia las diferentes máquinas.

VxLAN: Red virtual. En el marco de las instancias cloud, cada proyecto (espacio de instalación
de máquinas) está asociado a una vxLAN en una vApp.

120
OpenStack - Jorge Guerrero Garrido.

Vous aimerez peut-être aussi