Documente Academic
Documente Profesional
Documente Cultură
Icehouse
OPENSTACK ICEHOUSE
Curso 13/14
Este proyecto est creado con la intencin de iniciar a cualquier persona sin ningn
conocimiento previo de OpenStack o Cloud Computing en este nuevo mundo en el cual
todava queda mucho por inventar, OpenStack es todava muy joven pero tiene un potencial
increble, est en contrastante desarrollo por una gran comunidad respaldada por las ms
grandes empresas del sector informtico.
Mi nombre es Jorge Guerrero Garrido y soy alumno del instituto Jerezano IES Romero Vargas
donde finalizo dos aos 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 poqusima documentacin que existe en espaol, este problema
cada vez es menor, ya que la comunidad de habla hispana est manifestando un aumento en
los ltimos aos.
En este documento vamos a repasar desde los aspectos ms bsicos del Cloud Computing
hasta los aspectos ms especficos de OpenStack y haremos estudios de los diferentes tipos de
despliegues.
Espero que disfrutis con este documento tanto como yo he disfrutado desarrollndolo.
Es la hora de OpenStack y est claro que el mundo de la virtualizacin camina en ese sentido,
termino con una frase que me encanta.
1
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
OpenStack
Captulo 1. OpenStack ................................................................................................................... 5
Cloud Computing....................................................................................................................... 5
Qu es OpenStack?.................................................................................................................. 6
Por qu OpenStack? ................................................................................................................ 7
Reduccin de costes con OpenStack ......................................................................................... 8
Requisitos mnimos 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 bsicos de compute (Nova) ............................................................................ 30
Hipervisores......................................................................................................................... 30
Usuarios y proyectos (Tenants) ........................................................................................... 32
Imgenes e instancias ......................................................................................................... 32
Lanzar una instancia ............................................................................................................ 32
Tipos de almacenamiento ................................................................................................... 33
Conocimientos bsicos de Keystone ....................................................................................... 34
TOKENS ................................................................................................................................ 35
Conceptos bsicos de Glance .................................................................................................. 37
Conceptos bsicos de Swift ..................................................................................................... 37
OpenStack en nuestras aulas ...................................................................................................... 38
Utilizacin de equipos fsicos .................................................................................................. 39
2
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
OPENSTACK ICEHOUSE
Curso 13/14
4
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Captulo 1. OpenStack
OpenStack es una coleccin de tecnologas Open Source que proporcionan un software para el
despliegue escalable de de nubes pblicas y privadas. OpenStack proporciona Infraestructura
como Servicio IaaS (Infrastructure as a Service) y es un proyecto que se inici en el ao 2010
por la empresa Rackspace Cloud y por la agencia espacial norteamericana, NASA. Actualmente
ms 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 travs de mquinas
virtuales y gestin 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 pequea
empresa hasta un gran CPD adems de grandes proveedores de servicio.
Cloud Computing
La computacin en la nube son servidores normalmente accesibles desde Internet encargados
de atender las peticiones en cualquier momento mediante una conexin a internet desde
cualquier dispositivo mvil o fijo ubicado en cualquier lugar, algunas de las caractersticas del
cloud computing son las siguientes:
Pago por uso: Permite ajustar los costes de explotacin al uso de los recursos.
5
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Pblicos. Cuando los servicios ofrecidos por la nube son servidos por empresas
externas.
Privados. Cuando los servicios ofrecidos se manejan por un slo cliente que controla
las aplicaciones que se ejecutan.
Hbridos. Que es una solucin que combina las dos anteriores. Utilizando una API
comn.
Qu es OpenStack?
OpenStack es un software Open Source usado para el despliegue de clouds pblicas 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 computacin o
almacenamiento virtual.
La finalidad con la que nace OpenStack es la de proporcionar una solucin de open source
para el despliegue de cloud pblicos y privados con el que conseguir la mxima 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 continuacin se muestran algunos de los muchos
beneficios o posibilidades que tendra la implementacin de OpenStack.
7
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
No tendramos que mejorar el hardware de los equipos de los usuarios ya que estn
virtualizados.
Los usuarios tendrn todas sus aplicaciones y datos en el servidor as que podrn
trabajar desde cualquier equipo de la empresa.
Equipos baratos y con pocos recursos para los usuarios (equipos antiguos o raspberry
pi) ya que todo el trabajo se ejecutar en el servidor.
Los usuarios podr ejecutar cualquier tipo de aplicacin en sus equipos sin importar las
caractersticas de esta, ya que se ejecutar en el servidor y no en sus equipos.
8
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Hardware recomendado
Procesador : 64-bit X86
Memoria RAM: 12 GB
Espacio disco: 30 GB (SATA,
SAS, o SSD)
Notas
Se recomienda 2 NICS
aunque no es obligatorio. Un
servidor quad core con 12
GB de RAM debera de ser
suficiente para el nodo
controlador.
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 vena a solucionar los problemas que la
NASA le haba encontrado a Eucalyptus, y a convertirse en una alternativa real a Amazon Web
Services.
Este nuevo proyecto pretenda solucionar los problemas de Eucalyptus tales como que no es
se escala y que no es realmente de cdigo 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 milln de servidores o 60 millones de
mquinas virtuales. Para conseguir eso, es necesario reconstruir Eucalyptus prcticamente
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 poda 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 cdigo se encuentra disponible bajo
licencia Apache 2.0.
El lanzamiento fue todo un ejemplo de cmo 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 tecnolgicas 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
haba nacido en torno a OpenStack, pero esto permitio dar esperanzas y motivar ms el
desarrollo del proyecto, era la primera vez que tenan algo palpable de este gran proyecto. As
que el proyecto OpenStack creci a una velocidad de vrtigo con su ltima relase llamada
Icehouse dejando atrs 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 nmero de componentes y las
funcionalidades de este proyecto en la ltima versin disponible de OpenStack cuenta ya con
un total de 10 componentes con funcionalidades tan diferentes como el almacenamiento de
volmenes o la ejecucin de mquinas virtuales. La ltima versin Icehouse contar con los
siguientes componentes.
Servicio
Dashboard
Descripcin
Dashboard ("Horizon"):
proporciona una interfaz de
usuario modular, basada en la
web, para la gestin de todos los
servicios de OpenStack.
Compute
Nova
Networking
Neutron
Almacenamiento
Object Storage
Swift
Block Storage
Cinder
Identity
Servicios compartidos
Keystone
Image
Glance
Telemetry
Ceilometer
Proporciona almacenamiento de
objetos. Swift nos permite
almacenar y/o recuperar ficheros,
varias compaas ofrecen
almacenamiento basado en Swift.
Cinder proporciona una
infraestructura para la gestin de
volmenes 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.
Proporciona servicios de
autenticacin y autorizacin a
todos los servicios de OpenStack.
Proporciona un catlogo y un
repositorio de imgenes de discos
virtuales.
Monitoriza y mide la el consumo de
recursos del cloud para su
posterior evaluacin o para una
facturacin.
11
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Orchestration
Database
Service
Trove
Curso 13/14
12
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Arquitectura conceptual
El lanzamiento de una mquina virtual o una instancia implica muchas interacciones entre los
diferentes servicios de OpenStack. El siguiente diagrama muestra la arquitectura conceptual
tpica en el lanzamiento de una instancia en Icehouse.
Nova almacena y recupera imgenes de discos virtuales y sus datos asociados y lanza las
instancias.
Glance almacena las imgenes en un directorio en disco, pero puede hacerlo a travs 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 imgenes como
para copias de seguridad adems de otros servicios.
El servicio Cinder es el encargado de la gestin de volmenes y el aprovisionamiento de
volmenes a la instancia adems del realizado de copias de seguridad.
13
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
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 aplicacin 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 utilizacin de Horizon podemos conseguir el la mxima funcionalidad para ello
debemos de usar la consola de comandos pero si nos proporciona una manera fcil de
administrar nuestro cloud.
Horizon nos permite poder acceder a las instancias simplemente utilizando el navegador web
lo cual es tremendamente til, ya que no necesitaremos ms 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 computacin en nube.
La parte principal de este mdulo est desarrollada en python.
Compute interacta con con el servicio de identificacin (Keystone) para la autentificacin, con
el servicio de imgenes (Glance) para la aprovisionarse de imgenes y con Dashboard para
interactuar con el usuario y para la administracin. El acceso a las imgenes es limitado por
proyecto y usuario, podemos limitar tambin las cuotas en un determinado proyecto, como
por ejemplo definir un nmero mximo de instancias para un determinado proyecto.
API
Ncleo de computacin
16
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Nova nos permite acceder y administrar el cloud mquinas virtuales mediante la consola de
texto como lo haramos en (GNU/Linux) o mediante la consola grfica.
Lo ms aconsejable para la administracin siempre es la consola de texto, ya que consume
mucho menos recursos que Horizon, aunque tiene el inconveniente de que es ms difcil de
gestionar y se requieren mayores conocimientos.
Interfaz de consola
Para el aceso a las instancias mediante el navegador con una conexin 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 client: Permite enviar comandos tanto al administrador como al usuario final.
nova-manage: Permite a los administradores del cloud de enviar comandos para su
administracin.
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
administracin de Nova.
Descripcin
Listar instancias
Listar imgenes
Comando
$ nova list
$ nova image-list
Listar Sabores
$ nova flavor-list
# ip netns
# ip netns exec NETNS_NAME ssh USER@SERVER
# ip netns exec qdhcp-6021a3b4-8587-4f9c8064-0103885dfba2 \
ssh cirros@10.0.0.2
Nota: En CirrOS la contrasea del usuario cirros
es
Note, en CirrOS la contrasea del usuario cirros is
"cubswin:)" sin comillas.
$ nova show NAME
Crear un snapshot
Suspender
Unsuspend
Parar
Empezar
Reanudar
Redimensionar
Reconstruir
18
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
19
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Hay tambin un conjunto de procesos que se ejecutan de forma peridica que realizan ciertas
tareas de limpieza sobre los datos. El ms importante de estos procesos es el servicio de
replicacin, los cuales aseguran consistencia y disponibilidad en todo el cluster. La
autenticacin se realiza normalmente a travs de Keystone.
Comandos Swift
Descripcin
Mostrar informacin sobre el usuario,
contenedor u objeto.
Listar contenedores
Comando
$ swift stat
$ swift stat ACCOUNT
$ swift stat CONTAINER
$ swift stat OBJECT
$ swift list
Crear contenedor
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.
20
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Comandos Cinder
Descripcin
Comando
Administracion de volmenes 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 volmenes desde la instancia
Listar dispositivos de almacenamiento
# fdisk -l
Asignar sistema de ficheros a un volumen
# mkfs.ext3 /dev/vdb
# mkdir /myspace
# touch /myspace/helloworld.txt
# ls /myspace
# umount /myspace
Desmontar un volumen
21
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
22
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Comandos Glance
Descripcin
Lista de imgenes a las que tienes acceso
Comando
$ glance image-list
Imagen Kernel
Imagen RAM
Imagen Three-part
23
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Identity (Keystone)
Keystone permite la integracin de los servicis de OpenStack en un nico punto en aspectos
tan importantes como proporcionar servicios de autenticacin, gestin de tokens y el
mantenimiento de un catlogo y un repositorio de polticas de identidad.
Cada funcin de Keystone puede conectarse a un backend distinto que permite realizar esa
misma funcin de diferentes formas utilizando un servicio distinto. De esta forma, Keystone
puede integrarse fcilmente con diferentes almacenamientos como SQL, LDAP KVS (Key
Value Stores).
Esto es muy til en cuanto a la integracin de los servicios de autenticacin de OpenStakc con
los servicios de autenticacin existentes en un despliegue en concreto. El siguiente diagrama
muestra el proceso de autentificacin:
Comandos Keystone
Descripcin
Listar todos los usuarios
Comando
$ keystone user-list
$ keystone catalog
$ keystone service-list
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 fsica (PNI) en el
entorno de OpenStack. OpenStack Networking permite crear topologas 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 fsica: Redes con subredes este servicio
permite enrutar el trfico entre los diferentes routers de subred y redes.
Red externa
Esta red no es ms 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 mquinas virtuales. Esta
red interconecta las mquinas virtuales una red interna. Las subredes conectadas a travs de
interfaces a un router, pueden tener acceso a las mquinas virtuales conectadas a la red
directamente.
Acceso entre redes
Para tener acceso desde la red externa a las mquinas 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 estn conectadas a las subredes. Al igual que un router fsico, se
podr tener acceso a las subredes que estn conectadas al mismo router y igualmente las
mquinas virtuales podrn tener acceso a la red externa a travs de la puerta de enlace del
router.
Adems, 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 conexin llama a un puerto.
Podemos asociar direcciones IP de redes externas con puertos a las mquinas virtuales. De
esta manera, las entidades en la red externa pueden acceder a las mquinas virtuales.
Grupos de seguridad
Las redes tambin soportan grupos de seguridad. Los grupos de seguridad permiten a los
administradores para definir reglas de firewall en grupos. Una mquina virtual puede
pertenecer a uno o ms grupos de seguridad y Redes, definiremos las reglas en esos grupos de
seguridad para bloquear o desbloquear los puertos, rangos de puertos o el trfico para los
diferentes tipos para que VM.
25
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Comandos Neutron
Descripcin
Crear una red
Comando
$ neutron net-create NAME
$ neutron net-list
$ neutron subnet-list
$ neutron net-show
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 orquestacin proporciona un despliegue basado en plantillas para la descripcin
de una aplicacin del cloud ejecutando llamadas a las APIs de OpenStack para generar la
ejecucin de aplicaciones. El software integra otros componentes bsicos de OpenStack , tales
como IPs flotantes, los volmenes, los grupos de seguridad, usuarios, etc. Adems ofrece
algunas funciones ms avanzadas, como por ejemplo la alta disponibilidad o el auto
escalamiento de instancias. Hate proporciona una gran integracin con otros componentes
bsicos de OpenStack.
heat command-line client: Un CLI que se comunica con el heat-api para ejecutar
AWS. CloudFormation APIs. Los desarrolladores tambin 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 envo a heat a travs de RPC.
heat-api-cfn component: Proporciona una API AWS de consulta compatible con
AWS CloudFormation y procesa solicitudes de la API mediante el envo a la mquina
de heat a travs de RPC.
heat-engine: Orquesta la puesta en marcha de las plantillas y proporciona eventos.
Comandos Heat
Un stack cuanta con una coleccin de recursos, para listar, ver su estado o eventos poedemos
ejecutar algunos de los siguientes comandos:
Descripcin
Listar stacks
Comando
$ heat stack-list
27
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Telemetry (Ceilometer)
El mdulo de telemetra es el encargado de recoger de manera eficiente los datos de medicin
en relacin con el coste de CPU y de red, tambin recopila datos mediante el control de
notificaciones enviadas desde los servicios o sondeando la infraestructura.
Las caractersticas bsicas de Ceilometer se pueden ampliar por medio de plug-ins adicionales.
Este componente tambin es capaz de producir mensajes autoafirmados de medicin de
manera que no puedan ser renunciados.
Este sistema se compone de los siguientes componentes basicos:
Descripcin
Crea una nueva alarma
Elimina una alarma
Lista las alarmas del usuario
Ver una alarma
Actualiza una alarma existen
Lista los contadores del usuario
Lista los recursos
Ver los recursos
Crea un sample
Lista los samples de un contador
Lista las estadsticas de un contador
Muestra la ayuda
Comando
$ ceilometer alarm-create
$ ceilometer alarm-delete
$ ceilometer alarm-list
$ ceilometer alarm-show
$ ceilometer alarm-update
$ ceilometer meter-list
$ ceilometer resource-list
$ ceilometer resource-show
$ ceilometer sample-create
$ ceilometer sample-list
$ ceilometer statistics
$ ceilometer help
28
OPENSTACK ICEHOUSE
Curso 13/14
29
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Hipervisores
Como ya comente antes OpenStack Compute soporta varios hipervisores, esto nos puede
llevar confusin o indecisin sobre cul de ellos elegir vamos a intentar arrojar un poco de luz
a la eleccin de un hipervisor. Hay que tener en cuenta que la mayora de las instalaciones
utilizan slo un hipervisor pero es posible con configuraciones ms avanzadas implementar
ms de uno dentro de un mismo sistema (estas configuraciones vienen explicadas en la
documentacin 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 mquina virtual. Los formatos soportados incluyen imgenes RAW,
qcow2 y formatos de VMware.
LXC - Linux Containers (Mediante libvirt): Es usado para ejecutar mquinas
virtuales basadas en Linux.
QEMU - Quick EMUlator: Generalmente solo se utilizara para entorno de desarrollo,
no se recomienda su implementacin en entorno de produccin.
UML - User Mode Linux: Generalmente solo se utilizara para entorno de desarrollo,
no se recomienda su implementacin en entorno de produccin.
VMware vSphere: Desde la actualizacin 4.1 en adelante es posible ejecutar
imgenes de Linux y Windows basados en VMware a travs de una conexin con un
servidor vCenter o directamente con un servidor ESXi.
Xen - XenServer, Xen Cloud Platform (XCP): Es capaz de ejecutar mquinas
virtuales Linux o Windows. Debe instalar el servicio de nova-compute en una mquina
virtual para-virtualizado.
Hyper-V - Server virtualization with Microsoft's Hyper-V: Es capaz de ejecutar
Windows, Linux, y las mquinas virtuales FreeBSD. Adems Ejecuta nova-compute de
forma nativa en la plataforma de virtualizacin de Windows.
Bare Metal No es un hipervisor tradicional: Se trata de unos controladores que
provisiona de el hardware fsico a travs de unos sub-controladores. Ejemplo, PXE
para el despliegue de imgenes, e IPMI para la administracin de energa.
30
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
31
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Imgenes e instancias
Las imgenes son imgenes de discos que son plantillas para las mquinas virtuales que se van
a crear. El servicios que proporciona las imgenes, Glance, es el responsable de almacenar y
gestionar las imgenes en OpenStack.
Las imgenes son imgenes de discos como las que consimimos normalmente en los formato
tpicos que todos conocemos como puede ser ISO o RAW OpenStack soporta una gran
variedad de formatos de los cuales hablaremos ms adelante. Como ya hemos dicho
anteriormente Glance es el encargado de provionar al cloud de imgenes.
Las instancias son las mquinas virtuales que se ejecutan en los nodos de computacin. El
servicio de computacin, Nova, gestiona estas instancias. Se pueden lanzar cualquier nmero
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 instantneas (snapshots) de las instancias, se
pueden crear nuevas imgenes 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 nmero de CPUs virtuales, la RAM, si dispone o no de
discos efmeros, etc. OpenStack preinstala una serie de sabores, que el administrador puede
modificar o crear algunos nuevos si as se desea.
32
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Tipos de almacenamiento
OpenStack nos proporciona dos tipos de almacenamiento de bloques:
33
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Para terminar de entender correctamente la funcin de Keysone necesitamos saber una serie
de conceptos que nos arrojaran algo de luz sobre Keystone en relacin con los usuarios.
Usuario: Usuario normal con una serie de privilegios que har uso del cloud, de el
podremos almacenar su nombre, correo electrnico y contrasea.
Proyecto (tenant en la jerga de OpenStack): En un proyecto podemos ejecutar un
conjunto de instancias con caractersticas en comn, 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 relacin con el registro de servicios
de autentificacin.
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 ms claridad el sistema de autentificacin de Keystone es necesario
conocer de qu manera se autentifican los servicios y componentes de OpenStak. Keystone
permite a OpenStack una autentificacin 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 programacin. Ejemplos de tokens podran ser palabras clave, identificadores,
nmeros, 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 recin instalado no tenemos ningn usuario con privilegios de administracin en
la base de datos de keystone, por lo no podramos hacer ninguna modificacin. El mecanismo
que proporciona keystone para solventar esta situacin es definir en el fichero de
configuracin un token con privilegios de administracin, que recibe el nombre de
ADMIN_TOKEN, que puede definirse directamente en la instalacin 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
administracin sobre Keystone a quien lo conozca. Posteriormente, una vez definidos los
usuarios en keystone y los dems elementos, podemos borrar este campo del fichero de
configuracin de keystone y no volver a utilizarlo.
De forma general en Keystone, un usuario deber tener algo con que demostrar su
autenticidad (una contrasea 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 administracin 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 parmetro ADMIN_TOKEN que tenemos guardado en el fichero
de configuracin. Una vez realizado esto el usuario de esa sesin acta como administrador de
keystone, por lo que los pasos siguientes sern crear usuarios, darles roles, definir los servicios,
etc.
36
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
37
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
38
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Ventajas
Fcil despliegue inicial y
puesta en marcha.
Inconvenientes
Poca capacidad de cambio.
Practicas muy limitadas por nmero
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 realizacin.
39
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Ventajas
Cada alumno dispone de un entorno
independiente
Practicas menos rgidas.
Ms sencillo simultanear prcticas.
El alumno dispone de un entorno de
pruebas.
El alumno aprende virtualizacin.
Inconvenientes
Entorno ms complejo
Requiere equipos actualizados para los
alumnos
Los alumnos tienen que administrar el gestor
de mquinas virtuales.
Requiere un mayor conocimiento del alumno.
Puede ocasionar problemas el desconocimiento
del alumno del software de virtualizacin.
40
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Utilizacin de IaaS
Cada vez es ms evidente que el futuro est en la utilizacin 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 continuacin.
Ventajas
Inconvenientes
Creacin/uso/eliminacin de instancias
rpido y sencillo
OPENSTACK ICEHOUSE
Curso 13/14
42
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
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
Difcil instalacin.
43
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
44
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Equipos para el Cloud: En la clase de ASIR-2 actualmente contamos con 11 equipos con
unas caractersticas 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 computacin.
Adquisicin 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.
Vamos a adquirir un armario para almacenar el Switch del Cloud y el Router. (En las
otras clases ya estn instalados)
45
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Lista de la compra
Articulo
Raraspberry Pi
Switch TP-Link TL-SG1024
Bobina cable Categora 6
Armario Rack Cablematic
Cantidad/Unidades
11
3
1
1
TOTAL
Precio
35
112
318
117
Precio Total
385
336
318
117
1156
46
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
*Hay que tener en cuenta que este modelo no se ajusta totalmente a la realidad, ya que habra que aadir a este
modelo tanto el total de los nodos de computacin restantes como todos los equipos de las clases adems 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 ncleos y 80 GB de almacenamiento.
Finalmente tendramos un cloud con 1 nodo controlador y 10 nodos de computacin, as que
con este despliegue nuestro cloud tendr las siguientes caractersticas:
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 poqusimo 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 ms de fluidez si se decide comprar
algunos nodos de computacin ms o realizar una ampliacin de memoria RAM a los nodos
que ya tenemos.
48
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
49
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Procedimiento
Equipos para el Cloud: En esta ocasin 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
computacin, 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
caractersticas 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 computacin.
Entre las dos clases contamos con 27 equipos, que son los que formaran parte del
cloud, para ahorrar costes en comprar servidores.
Adquisicin 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.
Vamos a adquirir un armario para almacenar el Switch del Cloud y el Router. (En las
otras clases ya estn instalados).
Para almacenar los equipos hemos vamos a utilizar unas nueva cajas, sustituyendo las
que tienen los equipos actualmente por unas cajas que nos permitirn formar un rack.
Finalmente tambin 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
Raraspberry Pi
Switch ZyXEL GS1900
Bobina cable Categora 6
Armario Rack Cablematic
Aire acondicionado
Armario Rack
Caja Rack
Cantidad/Unidades
27
3
1
1
1
1 /32U
27
TOTAL
Precio
35
285
318
160
345
500
162
Precio Total
945
855
318
160
345
500
4374
7497
51
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
*Hay que tener en cuenta que este modelo no se ajusta totalmente a la realidad, ya que habra
que aadir a este modelo tanto el total de los nodos de computacin restantes como todos los
equipos de las clases adems 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 ncleos, 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 ncleos y 160GB de almacenamiento.
Finalmente tendramos un cloud con 1 nodo controlador y 26 nodos de computacin, as que
con este despliegue nuestro cloud tendr las siguientes caractersticas:
Componente
Valor
Ncleos
72
Memoria RAM
124 Gb
Almacenamiento
4160 Gb
53
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
54
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Procedimiento
Equipos para el Cloud: Los equipos que formarn el Cloud sern equipos totalmente
nuevos y los equipos que actualmente tienen los alumnos los utilizarn para acceder al
Cloud.
Vamos a adquirir un armario para almacenar el Switch del Cloud y el Router. (En las
otras clases ya estn instalados).
55
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
En este proyecto pretendemos que cada alumno tenga disponibles los siguientes recursos:
Para conseguir esa capacidad para cada alumno hemos optado por obtener 5 servidores de los
cuales cuatro sern destinados como nodos de computacin con unas caractersticas
superiores y el restante ser el nodo controlador.
Componente
Ncleos
Hilos de ejecucin
RAM
Almacenamiento
Nodo controlador
4
8
16
2TB
Nodos de Computacin
16
32
64
2TB
Sumando el total de los nodos de computacin (4 nodos), finalmente nuestro Cloud tendr la
siguiente capacidad de computacin.
Componente
Valor
Ncleos
64
Hilos de ejecucin
128
Memoria RAM
256 Gb
Almacenamiento
8 Tb
Una capacidad ms 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 prdida de informacin, 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 caractersticas 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 computacin es un Dell PowerEdge R720 lo hemos
configurado a nuestro gusto de manera que le hemos puesto dos CPU modelo Intel Xeon E52670 que cuenta con 8 ncleos y 16 hilos de ejecucin cada una, le hemos ampliado la
memoria RAM a 64 GB (4x16GB), adems le hemos aadido 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 caractersticas 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 ncleos, le hemos ampliado la memoria RAM a 16 GB,
adems le hemos aadido 2 discos duros de 1 TB que los vamos a configurar en RAID 1.
57
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Articulo
Dell R720 (Computacin)
Dell R720 (Controlador)
Cisco SG500-28
Bobina cable Categora 6
Armario Rack Cablematic
Aire acondicionado
Armario Rack
Cisco 819 1Gbps
Cantidad/Unidades
4
1
3
1
1
1
1 /32U
1
TOTAL
Precio
7.253
2.182
571
318
160
345
500
984
Curso 13/14
Precio Total
29.016
2.182
1.713
318
160
345
500
984
35.218
58
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
*Hay que tener en cuenta que este modelo no se ajusta totalmente a la realidad, ya que habra
que aadir a este modelo tanto el total de los nodos de computacin restantes como todos los
equipos de las clases adems de los paneles de parcheo.
Este modelo de despliegue de OpenStack como habris observado es bastante ms caro, pero
se podr trabajar de una manera eficiente y a un rendimiento bastante alto. Hay que tener en
cuenta tambin que el desembolse se hace en la instalacin luego, nunca ms tendremos que
cambiar los equipos de los alumnos, por lo que terminaramos amortizando el despliegue.
59
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Qu es Amazon EC2?
Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporciona capacidad
informtica cambiar de tamao, 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 caractersticas que EC2 proporciona mediante una GUI basada en web,
herramientas de lnea de comandos y API.
Con EC2, que utiliza y pagar slo por la capacidad que usted necesita. Esto elimina la necesidad
de hacer compras de hardware grande y costoso, reduce la necesidad de pronosticar el trfico,
y permite escalar automticamente los recursos de TI para hacer frente a los cambios en los
requisitos o los picos de popularidad relacionada con su aplicacin o servicio.
Historia
A finales de 2003, Chris Pinkham y Benjamin Black presentaron un documento proponiendo a
la compaa construir y vender un conjunto de servicios basados en la experiencia de la
construccin y uso de la infraestructura de Amazon.com. El primer servicio AWS lanzado para
el uso pblico 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 lder fue
Chris Brown.
En junio de 2007, Amazon afirm que ms de 330.000 desarrolladores se haban 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 adems de que fue el pionero en
despliegue de IaaS.
Aunque Amazon EC2 es la plataforma ms 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
61
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
62
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Almacenamiento
Amazon nos proporciona tres modos de almacenamiento que son los siguientes:
Amazon EBS
Amazon volmenes de EBS es la opcin de almacenamiento recomendada para la mayora 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 volmenes a una instancia.
Adems hacer una copia d seguridad de los datos se puede crear una instantnea 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 instantnea 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 excepcin de los casos Micro, cuentan con un
almacenamiento temporal a nivel de bloque de almacenamiento. Este es el almacenamiento
que esta fsicamente conectado a la computadora host. Este volumen ser eliminado cuando la
instancia termina o es eliminada (Lo que en OpenStack llamamos almacenamiento Efmero).
Almacn de instancias es una opcin para el almacenamiento temporal de bajo costo. Puede
utilizar volmenes Instancia de almacn si no se requiere la persistencia de datos. (Lo que en
OpenStack llamamos almacenamiento Efmero).
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 tambin bases de datos de una forma fcil y dndonos
a elegir entre varios tipos siendo los siguientes los ms comunes:
Servicio de base de datos relacional (Amazon RDS), que le permite obtener fcilmente
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 administracin 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 direccin IP pblica para su
acceso. En caso de que alguna aplicacin necesite una IP estatica, Amazon EC2 tambien ofrece
direcciones IP estticas.
Puede utilizar grupos de seguridad para controlar quin puede acceder a sus instancias. Estos
son anlogos 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 continuacin,
puede asignar a cada instancia de uno o ms grupos de seguridad, y usamos las reglas para
determinar qu trfico se deja que alcance la instancia. Puede configurar un grupo de
seguridad para que las direcciones IP solamente o grupos especficos de seguridad tienen
acceso a la instancia. (Este proceso ya lo conocemos, ya que es prcticamente idntico en
OpenStack).
64
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
65
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
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 fcilmente desde la web de Amazon AWS
http://aws.amazon.com.
66
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Amazon nos permite probar AWS de manera gratuita durante un ao 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 continuacin muestro una
captura de pantalla de la publicidad de la prueba gratuita que he comentado antes.
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 continuacin nos muesta EC2 Dashboard que es la interfaz de administracin via web de A2C
desde la cual podemos administrar los servidores, lanzar instancias, crear volmenes, 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 imgenes 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 caractersticas 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 versin gratuita y as evitamos cargos adicionales.
70
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Una vez elegidas las caractersticas de la instancias (Sabor) nos permite aadirle un volumen a
la instancia en este caso vamos a aadirle un volumen de 30Gb.
71
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
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 tambin un servicio de telemetra
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 botn que dice Launch para lanzar la instancia.
Sin embargo debemos de configurar una cosa ms 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 continuacin.
74
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
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 botn de la parte superior que dice
Connect, nos mostrar la siguiente ventana.
Para acceder a ella mediante escritorio remoto EC2 nos lo pone muy fcil simplemente
seleccionamos la opcin de Download Remote Desktop File y comenzar la descarga de un
archivo con extensin .rdp que directamente al ejecutarlo conectaremos con la instancia.
Pero antes debemos de obtener la contrasea de administrador para acceder a ella
seleccionamos luego la seccin 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.
Cuando iniciamos sesin por primera vez el proceso es algo ms lento porque est creando el
perfil.
77
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Terminado el proceso de creacin del perfil nos mostrar el escritorio de Windows 2012
Server.
78
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Como podemos comprobar tendremos acceso a internet sin problemas la siguiente pgina
Web muestra como he entrado sin problema en la pgina web del IES Romero Vargas.
Con esto terminamos el proceso de creacin de la instancia y como acceder a ella, la verdad
que EC2 es relativamente fcil te utilizar, adems en la pgina web de Amazon AWS podemos
encontrar informacin de todo tipo acerca de cmo utilizar sus servicios.
79
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
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 utilicis
para entornos de produccin 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
tambin 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 continuacin:
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 pblico 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 das.
Una vez nos validen la solicitud simplemente en la misma pgina de Trystack seleccionamos
Login.
Por ultimo comentar que Trystack se encienta ahora dando servicio de la versin Havana de
OpenStack y se estn planteando actualizar a nuevas versiones como Icehouse.
Vamos a crear una instancia en Trystack para comprobar que funciona correctamente aunque
el proceso de creacin se omitir en este apartado ya que se explicara en el captulo de
administracin de OpenStack.
Una vez hemos accedido mediante nuestro Facebook tendremos operativo un servidor de
OpenStack como podemos ver a continuacin podemos acceder sin problemas.
81
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Nosotros vamos a optar por instalarlo en un Ubuntu 14.04 LTS para comprobar que tambin
funciona correctamente, no es necesario que sea Ubuntu 12.04, eso lo dice la pgina oficial de
DevStack pero estar pendiente de actualizacin.
82
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Una vez comprobemos que tenemos conexin sin problemas a internet con la nueva direccin
IP fija vamos a actualizar los repositorios con la siguiente orden:
apt-get update
Una vez finalizada la actualizacin vamos a instalar GIT para que nos permita descargar los
archivos necesarios para la instalacin 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 pgina 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 lnea anterior con un usuario sin
privilegios, al ejecutar esa lnea 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 cmo estn todos los script que realizarn en despliegue
de OpenStack
83
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Antes de ejecutar nada debemos de elegir la versin 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 versin de
OpenStack Icehouse, por lo tanto ejecutamos la siguiente lnea.
$ git checkout stable/icehouse
Con la lnea anterior se realizan las modificaciones para la instalacin de la ltima versin,
recibiremos el siguiente mensaje.
Antes de ejecutar ningn script debemos de crear el fichero local.conf donde configuraremos
las contraseas que utilizarn los servicios, para que luego podamos acceder a ellos sin
problemas, en este caso solo vamos a configurar las contraseas pero podemos configurar
muchas ms opciones, vallan a la siguiente pgina 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 lnea
$ 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 instalacin este script se llama
stack.sh y lo podemos encontrar lgicamente dentro de la carpeta devstack.
$./stack.sh
Nos requerir la contrasea del usuario que utiliza sudo y comenzar la instalacin.
Una vez terminado el proceso de instalacin, devstack nos muestra la direccin 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 direccin que nos muestra y veremos la
interfaz de Horizon que nos requiere un usuario y una contrasea para acceder, en mi caso yo
en el fichero local.conf puse password como contrasea, por lo tanto accedo con el usuario
admin con contrasea password.
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 direccin que anteriormente desde el
navegador.
87
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Una vez comprobemos que tenemos conexin sin problemas a internet con la nueva direccin
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 mquinas virtuales es VirtualBox. Para la
instalacin, ejecutamos la siguiente orden:
# apt-get install virtualbox
Tambin 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 creacin y gestin de mquinas virtuales. Vamos a utilizar esta herramienta
para definir y gestionar las mquinas virtuales que vamos a usar. Estas mquinas sern
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 mquinas 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/preciseserver-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 configuracin de nuestras mquinas. Podemos utilizar la herramienta pip para instalar la
ltima versin 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 instalacin, 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
Antes de por ltimo, ejecutar los script de que realizarn la instalacin debemos tener en
cuenta que existe un error con esta instalacin que debemos de arreglar antes de realizar la
instalacin. El problema es que no se sustituye correctamente la variable que contiene la
contrasea de administrador en la instalacin, por lo tanto la instalacin 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
90
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Debemos ser pacientes, ya que el proceso de instalacin es bastante largo, puede llegar a
tardar hasta 1 hora.
Una vez finalizada la instalacin, Horizon estar disponible y podremos acceder a l mediante
cualquier navegador web accediendo a la siguiente direccin:
http://10.1.0.2/horizon
Como podemos comprobar podremos acceder sin problemas con el usuario admin y
contrasea secret, tambin podremos acceder con el usuario demo con contrasea
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
Comentar tambien que si accedemos a este directorio podemos manejar las mquinas
virtuales (pararlas, arrancarlas o destruirlas). Estas tres acciones se haran 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 instalacin 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 implementacin real, ya que todos los
componentes estan virtualizados.
93
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Gestin de imgenes
OpenStack utiliza imgenes de sistemas operativos previamente instalados para crear las
instancias que se ejecutan en los nodos de computacin. Estas imgenes pueden tener
diferentes formatos, pueden ser sistemas operativos limpios recin instalados o por contra
sistemas con muchas aplicaciones completamente configuradas y pueden ser incluso
instantneas (snapshots) de instancias que se estn ejecutando o se han ejecutado en alguno
de los nodos de computacin.
El componente de OpenStack encargado de la gestin de instancias es Glance que inicialmente
almacena las imgenes en el directorio /var/lib/glance/images, aunque es posible utilizar
tambin un componente de almacenamiento de objetos como OpenStack Swift.
Raw: Formato de imagen de disco no estructurado. Es el formato bsico que puede crearse
por ejemplo con la aplicacin dd, no est optimizado para su utilizacin en virtualizacin, pero
puede manejarse con herramientas bsicas del sistema (dd, parted, fdisk, mount, kpartx, ...)
vhd: Usado por herramientas de virtualizacin como VMWare, Xen, Microsoft, VirtualBox y
otros.
vmdk Otro formato usado por herramientas de virtualizacin como por ejemplo VMWare
player.
qcow2: Formato de disco soportado por el emulador QEMU que permite expandir
dinmicamente 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
Bare: Esto indica que no existe formato sobre los metadatos de la imagen.
ovf Open Virtualization FormatEstndar: abierto que estn implementando diferentes
soluciones de virtualizacin/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
96
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Como podemos ver en la captura de pantalla anterior hay un botn que dice Crear imagen
hacemos clic en l.
Horizon nos muestra un pequeo formulario para que pongamos el nombre, descripcin y
seleccionemos la imagen que queremos exportar Glance.
Seleccionando la seccin Seleccionar archivo y seleccionamos la imagen que queremos
aadir.
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, adems de otros valores opcionales como la arquitectura o el disco duro
mnimo 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 ms que reglas de cortafuegos (iptables) que controlan el
acceso a las instancias mediante la direccin IP otante.
Vamos a crear un grupo se seguirdad mediante Horizon, para ello vamos a la seccin Acceso
y seguridad de nuestro proyecto asignado y nos mostrar todos los grupos que tenemos
actualmente durante la instalacin 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 seccin Crear grupo de seguridad.
Ahora el grupo de seguridad est creado pero no tiene ninguna regla, por lo tanto no sabr
que trfico 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 trfico hacia
la instancia.
Vamos a crear una regla con la que permitamos todo el trfico ICMP hacia nuestra instancia
desde cualquier direccin IP, esta regla sera as:
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 pestaa que dice Pares de claves y
seleccionamos la opcin 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.
La descarga se debe realizar sin problemas y tendremos un archivo con el siguiente formato:
101
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Sabores (Flavors)
Como ya hemos explicado anteriormente un sabor define para una instancia el nmero de
CPUs virtuales, la RAM, si dispone o no de discos efmeros, 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 continuacin.
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
Administracin 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 seccin instancias y
seleccionamos Lanzar instancia en la parte derecha.
En el men de creacin de instancias, Horizon nos requiere que introduzcamos algunos valores
como por ejemplo, nombre de la instancia, sabor, nmero de instancias, origen de arranque de
la imagen, etc.
Nosotros hemos elegidos los siguientes valores en la pestaa detalles para lanzar una imagen
de Debian 7.
Pero antes de lanzar la instancia debemos de seleccionar algunas opciones ms que nos da
Horizon, como por ejemplo en la pestaa 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 permita el trafico ICMP hacia la instancia.
104
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Adems del grupo de seguridad tambin le asignamos el par de claves que creamos
anteriormente.
Pasado un tiempo el estado de la instancia cambiara a Running, una vez est corriendo la
instancia podremos acceder a ella sin ningn problema con haciendo clic en el nombre de la
instancia, luego veremos varias pestaas 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 pestaa consola y podremos administrar nuestra instancia desde esta conexin
VNC.
Instantnea (Snapshot)
Un snapshot es una fotografa (copia de seguridad) de un servidor virtual en un momento
determinado. El snapshot permite volver a ese estado si se produce algn fallo al realizar
acciones o modificaciones.
Vamos a crear una instantnea de la instancia que hemos creado previamente seleccionamos
en la parte derecha Crear instantanea
Una vez creada la instantnea podremos acceder a ella como si de una imagen se tratara.
106
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
107
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
108
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Por ultimo vamos a asociar el volumen que hemos creado ahora con la instancia que creamos
previamente para eso vamos a la pestaa Ms del volumen y seleccionamos Editar
asociaciones
109
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
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 asignrselas a las instancias,
para realizar esta prctica 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 creacin de la instancia hay una pestaa 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 prctica son las siguientes:
Como podemos observar las instancias Jorge y Jos Profesor han obtenido una direccin IP
correspondiente a la red a la que pertenecen, en este caso ha ASIR 2, mientras que el resto
han obtenido una direccin IP de la red ASIR1.
111
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Topologa de Red
Una de las grandes ventajas de Neutron es que nos permite ver la topologa de red de una
manera rpida y sencilla, simplemente haciendo clic en men de la izquierda y seleccionando
Topologa de red.
En la siguiente captura muestro la topologa de red de la prctica creada anteriormente:
112
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
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 instalacin.
Para crear un nuevo proyecto, podemos ver que en la parte superior derecha, hay un botn
que dice Crear proyecto, hacemos clic en l.
En el formulario que se muestra se nos requiere el nombre y la descripcin
Adems de la pestaa Informacin del proyecto tenemos dos pestaas ms una que dice
Miembros del proyecto que la podremos utilizar para agregar usuarios a este proyecto y la
pestaa Cuota la cual vamos a ver algo ms detenidamente.
113
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
En esta pestaa podemos establecer las limitaciones a las que estarn sujetas los diferentes
usuarios de OpenStack, entre ellas podemos definir, VCPUs, numero de instancias, numero
volmenes, memoria RAM, etc.
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 instalacin y que OpenStack utilizar para la autentificacin entre servicios.
Para crear un nuevo usuario, podemos ver que en la parte superior derecha, hay un botn que
dice Crear usuario, hacemos clic en l.
En el formulario que se muestra se nos requiere el nombre de usuario, correo electrnico,
contrasea, proyecto al que queremos asociarlo y por ltimo el rol.
115
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Finalmente hacemos clic en crear usuario y nuestro usuario estar creado correctamente y
podremos iniciar sesin con l.
116
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Conclusiones y agradecimientos
Finalizo este proyecto integrado sobre OpenStack Icehouse con la sensacin de que an
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 formis para poder aportar
algo a la comunidad, a la gran comunidad de OpenStack en todo el mundo que es lo que
verdaderamente estn desarrollando este proyecto y los que hacen que esto salga a delante
con trabajo y esfuerzo.
Actualmente la comunidad espaola es bastante reducida, aunque est aumentando de una
forma considerable en los ltimos tiempos, dada a la pequea comunidad espaola en
comparacin con otras partes del mundo, hay poqusima documentacin en espaol por lo
tanto me ha sido de gran ayuda toda la documentacin aportada por Alberto Molina y Jose
Domingo dos profesores del IES Gonzalo Nazareno, sus aportaciones estn ayudando mucho a
la comunidad de habla hispana de OpenStack, os recomiendo que entris en sus blog, en ellos
podris encontrar informacin de todo tipo no solo relacionada con OpenStack, sino en varios
aspectos de la informtica, el blog de Alberto Molina es
http:/www.albertomolina.wordpress.com y Jos domingo que podris contactar con el
mediante su pgina web http://www.josedomingo.org/ , un especial agradecimiento a este
ltimo con el que intercambie va varios correos electrnicos para resolverme algunas dudas.
La comunidad de OpenStack tiene infinidad de documentacin en su pgina web
http://docs.openstack.org/ , desde la pgina oficial es donde he obtenido la mayor parte de la
documentacin, aunque tiene el inconveniente que est totalmente en ingls.
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 suscribindose
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
Bibliografa
Sitio Web de OpenStack: https://www.openstack.org/
Gua de instalacin en Debian 7: http://docs.openstack.org/icehouse/installguide/install/apt-debian/content/
Gua de instalacin en Ubuntu 12.04/14.04 LTS:
http://docs.openstack.org/icehouse/install-guide/install/apt/content/
Gua para el usuario final: http://docs.openstack.org/user-guide/content/
Gua de Imgenes de VM: http://docs.openstack.org/image-guide/content/
Obtener Imgenes: http://docs.openstack.org/imageguide/content/ch_obtaining_images.html
Trystack: http://trystack.org/.
Blog de Alberto Molina: http://albertomolina.wordpress.com/
Pgina web Jos Domingo: http://www.josedomingo.org/pledin/
DevStack: http://devstack.org/
Informacin general: http://openwebinars.net/
Lista de Comandos OpenStack: http://docs.openstack.org/userguide/content/novaclient_commands.html
Buen post sobre la historia de OpenStack: http://nubeblog.com/
Informacin 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 disposicin 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 informticos virtualizados, disponibles para uso pblico o privado. Los
recursos cloud son mltiples (procesador y capacidad de clculo, memoria, mquinas virtuales,
red, almacenamiento, archivado, plataformas, software). El cloud puede destinarse al
consumo interno de las empresas, o tambin al leasing externo o pago por consumo. Las
infraestructuras que producen estos recursos virtuales y servicios pueden estar repartidas
geogrficamente, consolidadas, conectadas para dar a un nivel de simulacin superior la
imagen de que es independiente de esas consideraciones: es la nube.
Clonacin: Accin de duplicar los recursos en el cloud para poder conservar las
configuraciones iniciales (instancias, proyectos, espacios de almacenamiento, espacios de
archivado).
El tiempo total.
119
OpenStack - Jorge Guerrero Garrido.
OPENSTACK ICEHOUSE
Curso 13/14
Instancia: Llamamos instancia a cada servidor virtual iniciado por un perodo de tiempo
determinado. Es decir, la instancia es un servidor (mquina virtual) que, por lo general, se
utiliza estratgicamente de forma provisional, en lugar de instalarlo definitivamente.
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 mquinas virtuales y de reglas de
red.
Restauracin: Puesta a disposicin del cliente de los datos subidos con anterioridad a un
espacio de archivado.
vCloud: Se trata de la tecnologa de control global (vCloud Datacenter) utilizada por OVH para
proporcionar los entornos de vApps y mquinas virtuales.
VApp: Se trata de una aplicacin virtual que agrupa un conjunto de instancias, una vxlan y las
reglas de configuracin de red relativas. Las direcciones IP externas tambin estn asociadas a
esta aplicacin y son enrutadas internamente hacia las diferentes mquinas.
VxLAN: Red virtual. En el marco de las instancias cloud, cada proyecto (espacio de instalacin
de mquinas) est asociado a una vxLAN en una vApp.
120
OpenStack - Jorge Guerrero Garrido.