Implementación De Stackops

Manual para el montaje de una Plataforma StackOps
View more...
   EMBED

Share

Preview only show first 6 pages with water mark for full document please download

Transcript

IMPLEMENTACION DE OPEN STACK CON STACKOPS PRESENTADO POR: JUAN DAVID HURTADO GIRALDO SERVICIO NACIONAL DE APRENDIZAJE SENA CENTRO DE ELECTRICIDAD Y AUTOMATIZACION INDUSTRIAL ADMINISTRACION DE REDES DE COMPUTADORES SANTIAGO DE CALI 2011 CONTENIDO 1. Introducción a Open Stack 1.1. ¿Qué es Open Stack? 1.2. ¿Qué es StackOps? 2. Instalación de StackOps 2.1. Arquitecturas de Instalación 2.2. Requerimientos del Sistema 2.3. Instalación 3. Configurando StackOps 3.1. Configuración de la arquitectura a través de la Interfaz Web (Smart Installer) 3.1.1.Configuración de una Arquitectura “Single Node” 3.1.2.Configuración de una Arquitectura “Dual Node” 3.2. Configuración de Administración de Imágenes 3.2.1.Creando una Imagen Linux (Ubuntu y Fedora) 3.2.2.Creando una Imagen Windows 4. Administración de StackOps con la herramienta Hybridfox 5. Bibliografía 1. Introducción a OpenStack 1.1. ¿Qué es OpenStack? OpenStack es un proyecto liderado por la empresa Rackspace, que ha decidido liberar el código de sus servicios Cloud Files y Cloud Servers bajo una licencia Apache 2.0. Este código forma la piedra angular de OpenStack, ofreciendo la posibilidad a usuarios o empresas de crear sus propios servicios de cloud computing. Rackspace aporta la parte de almacenamiento, llamada Swift. La NASA, que también participa en el proyecto, colabora con Nova, base de su plataforma NEBULA, ambos servicios están desarrollados utilizando Phyton. OpenStack es una colección de tecnología de código abierto que ofrece escalabilidad masiva de software de computación en nube de código abierto. Actualmente OpenStack desarrolla dos proyectos relacionados con: • • OpenStack Compute, que ofrece una potencia de computación a través de máquinas virtuales y gestión de red. OpenStack Object Storage, que es un software para la capacidad redundante y escalable de almacenamiento de objetos. 1.2. ¿Qué es StackOps? Stackops es una empresa española incubada por Seedrocket, que nace con el objetivo de facilitar el acceso a las tecnologías de Cloud Computing a empresas de cualquier tamaño. Stackops presta sus servicios de puesta en marcha de soluciones de nube pública y privada basadas en Openstack, una plataforma de gestión de cloud respaldada por los principales actores de la industria (Rackspace, Dell, Citrix, Cisco,etc) y participada por la NASA. Se trata de una distribución OpenStack completa, lista para su uso comprobado, probada y diseñada para llegar al mayor número de usuarios posible gracias a un nuevo proceso de instalación muy sencillo. Stackops democratiza la tecnología de Cloud Computing para empresas de todos los tamaños y sectores. Sólo es necesario descargar la imagen ISO con la distribución e instalarlo en tantos servidores como sea necesario. En pocos minutos usted podrá disfrutar del poder de su propia nube. 2. Instalación de StackOps 2.1. Arquitecturas de Instalación Stackops ofrece Openstack Nova en arquitecturas diferentes según las necesidades del cliente. Desde una instalación simple sobre una máquina virtual para jugar con Openstack, hasta despliegue de una solución multinodo con alta disponibilidad de los componentes. La distribución permite elegir qué quieres desplegar, reconfigurando los nodos para desarrollar el rol asignado. • Un solo nodo: Esta es la instalación clásica, si sólo desea probar la plataforma. Todos los componentes de la solución OpenStack además de otros se instalan en un solo nodo. Es evidente que con esta configuración, usted sólo puede tener una visión general de las capacidades de la plataforma. Todas las capacidades de automatización están restringidas a los límites de un solo nodo. • Doble nodo: Esta es la instalación mínima para la producción. Todos los componentes de la solución OpenStack además de otros, se instalan en el nodo controlador, pero el nodo de procesamiento se instalada en un nodo diferente. Ambos nodos pueden funcionar en un entorno virtualizado, pero es recomendable ejecutar el nodo de cálculo en un servidor físico. Usted puede agregar más nodos de procesamiento en un momento dado. • Multinodo estándar Esta es la instalación estándar para la producción. Los componentes dividen todos los diferentes nodos y un mínimo de cuatro servidores físicos se recomiendan. Usted puede agregar más nodos de procesamiento en un momento dado. El controlador, los nodos de red, almacenamiento y procesamiento necesitan un servidor dedicado con requisitos del sistema muy específicos. 2.2. Requerimientos del Sistema ➢ Un solo nodo Servidor Conf. Mínima 64 bits x86 Controlador/Red/ Almacenamiento/Procesamiento RAM 2GB 1 Disco SATA 30GB 1 NIC 1Gb Conf. Recomendada 2 x 64 bits x86 RAM 32GB 2 Discos SATA 32GB Raid1. 2 Discos SATA 2TB Raid 1 2 NIC 1Gb ➢ Doble nodo Servidor Conf. Mínima 64 bits x86 Controlador/Red/ Almacenamiento RAM 1GB 1 Disco SATA 30GB 2 NICs 1Gb Conf. Recomendada 1 x 64 bits x86 RAM 4GB 2 Discos SSD 32GB Raid 1 2 Discos SATA 2TB Raid 1 2 NICs 1Gb 2 x 64 bit x86 64 bits x86 Nodo de Procesamiento RAM 2GB 1 Disco SATA 30GB 2 NICs 1Gb RAM 32GB 2 Discos SAS/SATA 2TB Raid 1. 2 Discos SAS/SATA/SSD 32GB Raid 1 2 NICs 1Gb ➢ Multinodo estándar Servidor Conf. Mínima Conf. Recomendada 64 bits x86 Nodo Controlador RAM 1GB 1 Disco 10GB 1 NIC 1Gb 64 bits x86 Nodo de Red RAM 1GB 1 Disco SATA 10GB 2 NICs 1Gb 1 x 64 bits x86 RAM 4GB 2 Discos SAS/SATA/SSD 200GB Raid 1 1 NIC 1Gb 1 x 64 bits x86 RAM 4GB 2 Discos SAS/SATA/SSD 10GB Raid 1 3 NICs 1Gb 1 x 64 bit x86 RAM 4GB 2 Discos SAS/SATA/SSD 200GB Raid 1 2 Discos SAS/SATA 2TB Raid 1 2 NICs 1Gb 2 x 64 bit x86 64 bits x86 RAM 1GB Nodo de Almacenamiento 1 Disco SATA 30GB 1 NIC 1Gb 64 bits x86 Nodo de Procesamiento RAM 2GB 1 Disco SATA 30GB 2 NICs 1Gb RAM 32GB 2 Discos SAS/SATA 2TB Raid 1 2 Discos SAS/SATA/SSD 32GB Raid 1 3 NICs 1Gb 2.3. Instalación Descargue la distribución, puede descargar la última versión de la distribución de este enlace http://sourceforge.net/projects/stackops/files/. Debe quemar la imagen en un CD o memoria USB e iniciar el proceso de instalación al igual que cualquier sistema operativo. Inicie el equipo por el medio de instalación elegido y siga las instrucciones. En la pantalla de instalación principal se muestran todas las opciones de instalación. Debe seleccionar qué tipo de componente Nova se va a instalar, los componentes del controlador, procesamiento (compute), red o volumen. Si desea instalar un controlador, elija una de las dos primeras opciones, si desea instalar cualquiera de los otros componentes elija las opciones 3 o 4. Como sugerencia, si usted desea llevar a cabo una arquitectura de un solo nodo tiene que elegir siempre 'Controller'. Si desea implementar un doble nodo, elija 'Controller' primero y agregue los nodos 'Compute' después. Para el modo Multi nodo, elija 'Controller', luego 'Red', 'Volumen' y 'Compute'. Posteriormente, seleccione su idioma y ubicación para la configuración del teclado. El asistente le puede ayudar a encontrar la configuración del teclado, si no necesita el asistente presione no y seleccione su configuración de teclado manualmente Luego, seleccione la tarjeta de red principal (conectada a la red pública, preferiblemente eth0) y configure la dirección IP local, la máscara de subred y el Gateway (pasarela) Es importante que todos los nodos individuales de la implementación de OpenStack estén sincronizados con el resto de los nodos. El sistema intentará conectarse a un servidor NTP externo. Si el sistema no puede resolver el servicio, usted debe proporcionar esta información manualmente. Después Configure las particiones de los discos, por defecto todos los servidores excepto el nodo de volumen puede trabajar con una sola partición. Es muy recomendable eliminar todas las particiones y empezar con una nueva instalación. Por defecto, el sistema particiona el disco duro con una partición raíz y una partición swap. Cuando el sistema termine la instalación, reinicie el equipo, y ya estará listo para ingresar, por defecto, la contraseña del usuario root es “password” así que es totalmente recomendable cambiar dicha contraseña lo más pronto posible, lo puede hacer con el comando passwd. Por último, puede probar el estado del proceso stakops. root@nova-controller:~# status stackops stackops start/running, process 770 root@nova-controller:~# 3. Configurando StackOps 3.1. Configuración de la arquitectura a través de la Interfaz Web (Smart Installer) Para proceder con la configuración, debe conectarse a a la URL mostrada en la consola del nodo que se va a configurar. Primero que todo debe registrarse llenando los campos requeridos, luego puede cambiar a la pestaña Login e iniciar sesión con los datos del usuario que creó. Después de iniciar sesión, debe escoger que tipo de arquitectura va a implementar y empezar la configuración de dicha arquitectura. 3.1.1. Configuración de una Arquitectura “Single Node” Seleccione la opción Single Node y presione el botón Start deployment, después el Instalador determinará si el hardware y el software del equipo soportan OpenStack Luego seleccione la interfaz que va a utilizar para la administración, almacenamiento, y conexión a la red pública. A continuación encontrara la configuración de los servicios globales, preferiblemente no modifique ningún campo, a la derecha se encuentra la descripción de cada uno, solamente debe llenar el campo “floating_range”, que se refiere al rango de direcciones públicas (en forma a.b.c.d/e) que se podrán mapear con las direcciones de las máquinas virtuales de la red interna, para que dichas VMs se puedan comunicar en la red pública. En la configuración del controlador y de red es preferible no modificar ningún parámetro En la configuración de volúmenes, preferiblemente elija un disco o partición que no esté siendo utilizado. En la configuración de Compute no es necesario cambiar ningún parámetro Por último agregue un nombre y una descripción a la instalación y presione “save” y luego Start deployment now! Ahora podemos ver en la cloudlist que la configuración fue exitosa 3.1.2. Configuración de una Arquitectura “Dual Node” Para agregar una arquitectura de doble nodo, podemos eliminar la existente o podemos agregarla simplemente presionando el botón Create a new cloud architecture from scratch, luego seleccionar Dual Node y presionar Start deployment De aquí en adelante es igual a la instalación de una arquitectura single node, lo único que cambia es que no nos aparecerá la pagina de configuración de Compute, ya que esta la haremos cuando configuremos el nodo de procesamiento. Ahora, cuando termine la configuración del controlador de la nube, verifique en la lista de nubes que esté registrada. Luego, cierre sesión e ingrese otra vez al smart installer (interfaz web), pero esta vez, con la dirección del nodo de procesamiento, e inicie sesión con el mismo usuario y contraseña. Al ingresar, debería poder ver la arquitectura que acabó de crear (el controlador y el nodo de procesamiento deben estar en la misma red), así que solamente tiene que hacer click en la opción add compute, tal como se observa en la siguiente imagen. Después de que el instalador verifique su hardware y software, debe seleccionar la tarjeta de red de administración y almacenamiento, debe escoger la que está en red con el controlador de la nube. Después aparecerá la pagina de configuración de Compute, pude dejar los datos tal, cual le muestra el smart installer, y continuar. Por último presione Start deployment now y verifique que en la lista de nubes las funciones de la arquitectura hayan sido correctamente asignadas. Puede agregar tantos nodos de procesamiento como sea necesario. 3.2. Administración de Imágenes Configuración de Para comenzar a administrar nuestro Cloud, en el controlador de la nube, debemos crear un usuario, asignarle el rol al usuario, crear un proyecto con su administrador y generar el archivo de credenciales de dicho usuario y proyecto. root@nova-controller:~/creds# /var/lib/nova/bin/nova-manage user create i2t2 export EC2_ACCESS_KEY=c92a1811-48e6-44c6-adb7-1ab286c30a05 export EC2_SECRET_KEY=18622687-5699-4120-a3ae-f6a021f7ce6b root@nova-controller:~/creds# /var/lib/nova/bin/nova-manage role add i2t2 cloudadmin root@nova-controller:~/creds# /var/lib/nova/bin/nova-manage project create stackops i2t2 root@nova-controller:~/creds# /var/lib/nova/bin/nova-manage project zipfile stackops i2t2 Ahora podemos listar el contenido del directorio /root/creds/ y observar el archivo nova.zip, el cual debemos descargar a un equipo Linux que este en la misma red que el controlador ls -l total 24 -rw------- 1 root root 2063 2011-11-09 13:15 cacert.pem -rw------- 1 root root 2503 2011-11-09 13:15 cert.pem -rw------- 1 root root 893 2011-11-09 13:15 novarc -rw-r--r-- 1 root root 6852 2011-11-09 13:30 nova.zip -rw------- 1 root root 887 2011-11-09 13:15 pk.pem Esta descarga se puede realizar por cualquier medio, por ejemplo con la herramienta sftp gnuradio@gnuradio-icesi:~$ sftp [email protected] Are you sure you want to continue connecting (yes/no)? yes [email protected]'s password: sftp> ls creds sftp> cd creds/ sftp> ls cacert.pem cert.pem nova.zip novarc pk.pem sftp> get nova.zip Fetching /root/creds/nova.zip to nova.zip /root/creds/nova.zip 100% 6852 6.7KB/s 00:00 sftp> exit gnuradio@gnuradio-icesi:~$ mv nova.zip test/ gnuradio@gnuradio-icesi:~$ cd test/ gnuradio@gnuradio-icesi:~/test$ unzip nova.zip Archive: nova.zip extracting: novarc extracting: pk.pem extracting: cert.pem extracting: cacert.pem gnuradio@gnuradio-icesi:~/test$ euca-add-keypair stackops > stackops.pem gnuradio@gnuradio-icesi:~/test$ chmod 600 stackops.pem gnuradio@gnuradio-icesi:~/test$ euca-describe-images EC2_ACCESS_KEY environment variable must be set. gnuradio@gnuradio-icesi:~/test$ . novarc gnuradio@gnuradio-icesi:~/test$ euca-describe-images gnuradio@gnuradio-icesi:~/test$ La herramienta euca2ools puede ser instalada con el comando “sudo apt-get install euca2ools”; con el comando: “. novarc” se agregaron las variables al equipo donde estamos laborando (nótese que hay un espacio entre el punto y el nombre del archivo), ahora podemos empezar a trabajar con imágenes. Ahora vamos a descargar una imagen simple para probar el funcionamiento de StackOps. Primero, declaramos una variable con el nombre de la imagen que vamos a descargar (todo esto desde el mismo equipo Linux que venimos utilizando), luego la descargamos con el comando wget, y por último la publicamos a nuestra nube con el comando uec-publish-tarball. gnuradio@gnuradio-icesi:~/test$ image="ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz" gnuradio@gnuradio-icesi:~/test$ wget http://smoser.brickies.net/ubuntu/ttylinux-uec/$image gnuradio@gnuradio-icesi:~/test$ uec-publish-tarball $image mybucket Podemos verificar el estado de la imagen con el commando: gnuradio@gnuradio-icesi:~/test$ euca-describe-images Cuando la imagen esté disponible (available en la salida del comando anterior), podemos iniciarla con: gnuradio@gnuradio-icesi:~/test$ euca-run-instances -k stackops -t m1.tiny ami-3212757a En donde la opción –k especifica el archivo generado con el comando eucaadd-keypair, -t señala el tipo de instancia, y el ami es el identificador de la imagen (se puede ver con el comando euca-describe-images). Para revisar el estado de la instancia utilizamos gnuradio@gnuradio-icesi:~/test$ euca-describe-instances La instancia estará lista cuando su estado sea “running” Posteriormente, debemos habilitar el tráfico icmp y ssh para poder acceder a la instancia gnuradio@gnuradio-icesi:~/test$ euca-authorize default -P tcp -p 22 -s 0.0.0.0/0 gnuradio@gnuradio-icesi:~/test$ euca-authorize default -P icmp -t -1:-1 Por último, debemos mapear a la instancia una dirección pública para que pueda ser vista por los demás hosts de la red, primero pedimos una dirección mediante: gnuradio@gnuradio-icesi:~/test$ euca-allocate-address Luego la asignamos a nuestra instancia gnuradio@gnuradio-icesi:~/test$ euca-associate-address -i i-00000002 192.168.X.X Con la opción -i especificamos el identificador de la instancia a la cual vamos a asignar la dirección IP que nos fue entregada (el identificador de instancia lo podemos visualizar con el comando para describir las instancias) Ya podemos estamos listos para acceder a nuestra máquina virtual (instancia) gnuradio@gnuradio-icesi:~/test$ ssh -i stackops.pem 192.168.X.X Si el par de claves no funciona, la contraseña de la VM es “password” Cuando terminemos, debemos desasociar la dirección “pública”, liberarla, y terminar la instancia gnuradio@gnuradio-icesi:~/test$ euca-disassociate-address 192.168.X.X gnuradio@gnuradio-icesi:~/test$ euca-release-address 192.168.X.X gnuradio@gnuradio-icesi:~/test$ euca-terminate-instances i-00000002 El procedimiento descrito a continuación le dará imágenes de disco que representa un disco sin particiones. Nova-Compute puede cambiar el tamaño de tales discos (incluyendo el cambio de tamaño del sistema de archivos), basado en el tipo de instancia elegida en el momento del lanzamiento de la instancia. Estas imágenes no pueden tener la bandera 'booteable' y por lo tanto es obligatorio contar con imágenes de disco de kernel y de disco de memoria asociados. Estas imágenes de disco de kernel y de disco de ram necesitan ser usadas por Nova-Compute en el momento del lanzamiento de la instancia. Sin embargo, también se ha añadido una pequeña sección sobre la creación de imágenes booteables con varias particiones que pueden ser utilizadas por nova para iniciar una instancia sin necesidad de imágenes del kernel y disco RAM. La única salvedad es que mientras Nova-Compute puede cambiar el tamaño de estos discos en el momento de poner en marcha la instancia, el tamaño del sistema de archivos no se altera y, por tanto, a efectos prácticos, este tipo de discos no son de tamaño ajustable. 3.2.1. Creando una Imagen Linux (Ubuntu y Fedora) El primer paso sería crear una imagen raw en el Cliente1. Esto representará el disco duro principal de la máquina virtual, así que asegúrese de darle el espacio que usted necesita. qemu-img create -f raw server.img 5G Instalación del SO Descargue el archivo ISO de la distribución Linux que desea instalar. La mayoría de las instrucciones se refieren a Ubuntu. Los puntos de diferencia entre Ubuntu y Fedora se mencionan en caso necesario. wget http://releases.ubuntu.com/natty/ubuntu-11.04-server-amd64.iso Arranque una instancia de QEMU con la ISO de instalación de OS en la unidad de CD-ROM virtual. Esto iniciará el proceso de instalación. El siguiente comando establece también una pantalla de VNC en el puerto 0 sudo qemu -m 256 -cdrom ubuntu-11.04-server-amd64.iso –drive file=server.img,if=scsi,index=0 -boot d -net nic -net user -nographic vnc :0 Conectarse a la máquina virtual a través de VNC (número para utilizar a la pantalla: 0) y finalizar la instalación. Por ejemplo, donde 10.10.10.4 es la dirección IP de gnuradio-icesi: vncviewer 10.10.10.4 :0 Durante la instalación de Ubuntu, crear una única partición ext4 montada en '/'. No crear una partición swap. En el caso de Fedora 14, la instalación no progresará a menos que cree una partición swap. Por favor, siga y cree una partición swap. Después de terminar la instalación, vuelva a iniciar la máquina virtual ejecutando el siguiente comando. sudo qemu -m 256 -drive file=server.img,if=scsi,index=0,boot=on -boot c –net nic -net user -nographic -vnc :0 En este punto, usted puede agregar todos los paquetes que desea tener instalados, actualice la instalación, agregue los usuarios y realice los cambios de configuración que desee en su imagen. Como mínimo, para Ubuntu debe ejecutar los siguientes comandos sudo apt-get update sudo apt-get upgrade sudo apt-get install openssh-server cloud-init En Fedora ejecute los siguientes comandos como root yum update yum install openssh-server chkconfig sshd on También elimine las reglas de red de /etc/udev/rules.d ya que se traducirá en la interfaz de red en la instancia como una interfaz distinta a eth0. sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules Apague la maquina virtual y prosiga con estos pasos (si prefiere una imagen booteable puede ir directamente a dicha sección Extracción de la Partición ext4 La imagen que necesita ser cargada en OpenStack tiene que ser una imagen del sistema de archivos ext4. Estos son los pasos para crear una imagen de sistema de ficheros ext4 de la imagen raw, es decir server.img sudo losetup -f server.img sudo losetup -a Debe ver una salida como esta /dev/loop0: [0801]:16908388 ($filepath) Observe el nombre del dispositivo local (/dev/loop0 en esta configuración) cuando $filepath es el camino para el archivo .raw montado. Ahora tenemos que averiguar el sector de inicio de la partición. Ejecutar: sudo fdisk -cul /dev/loop0 Debe ver una salida como esta Disk /dev/loop0: 5368 MB, 5368709120 bytes 149 heads, 8 sectors/track, 8796 cylinders, total 10485760 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00072bd4 Device Boot Start End Blocks Id System /dev/loop0p1 * 2048 10483711 5240832 83 Linux Desmonte el dispositivo loop0 sudo losetup -d /dev/loop0 sudo losetup -f -o 1048576 server.img sudo losetup -a Verá un mensaje como este: /dev/loop0: [0801]:16908388 ($filepath) offset 1048576 Copie la partición entera a un nuevo archivo .raw sudo dd if=/dev/loop0 of=serverfinal.img Ahora tenemos nuestro sistema de archivos ext4 es decir, la imagen serverfinal.img Desmonte el dispositivo loop0 sudo losetup -d /dev/loop0 Ajustar el archivo /etc/fstab Usted tendrá que modificar el archivo /etc/fstab para que sea adecuado para una instancia de la nube. Nova-compute puede cambiar el tamaño del disco en el momento del lanzamiento de las instancias según el tipo de instancia elegida. Esto puede hacer el UUID del disco no válido. Por lo tanto, tenemos que usar la etiqueta del sistema de archivos como el identificador de la partición en lugar de los UUID. Monte serverfinal.img, mediante la ejecución de sudo mount -o loop serverfinal.img /mnt Editar /mnt/etc/fstab y modificar la línea de montaje para la partición raíz (que puede ser similar al siguiente) UUID=e7f5af8d-5d96-45cc-a0fc-d0d1bde8f31c / ext4 errors=remount-ro 0 1 A: LABEL=uec-rootfs / ext4 defaults 0 0 Obtención de metadatos en Fedora Ya que, Fedora no viene con cloud-init o su equivalente, tendrá que tomar algunas medidas en la instancia para buscar los metadatos como las llaves ssh, etc Editar el archivo /etc/rc.local y añadir las siguientes líneas antes de la línea "touch/var/lock/subsys/local" depmod -a modprobe acpiphp # simple attempt to get the user ssh key using the meta-data service mkdir -p /root/.ssh echo >> /root/.ssh/authorized_keys curl -m 10 -s http://169.254.169.254/latest/meta-data/public-keys/0/opensshkey | grep 'ssh-rsa' >> /root/.ssh/authorized_keys echo "AUTHORIZED_KEYS:" echo "************************" cat /root/.ssh/authorized_keys echo "************************" Initrd y Kernel para OpenStack Copie el kernel y la imagen initrd de /mnt/boot en el directorio de usuario. Estos serán utilizados más tarde para crear y cargar una imagen virtual completa a OpenStack. sudo cp /mnt/boot/vmlinuz-2.6.38-7-server /home/localadmin sudo cp /mnt/boot/initrd.img-2.6.38-7-server /home/localadmin Desmonte la particion Loop sudo umount /mnt Cambiar la etiqueta del sistema de archivos de serverfinal.img a “uec-rootfs" sudo tune2fs -L uec-rootfs serverfinal.img Ahora, tenemos todos los componentes de la imagen lista para ser subida al servidor de imágenes OpenStack. Registrar en OpenStack El último paso sería subir las imágenes al servidor de imágenes. Los archivos que necesitan ser cargados para la configuración del ejemplo anterior de Ubuntu son: vmlinuz-2.6.38-7-servidor, initrd.img-6.2.38-7-servidor, serverfinal.img Ejecute el siguiente comando: uec-publish-image -t image --kernel-file vmlinuz-2.6.38-7-server –ramdiskfile initrd.img-2.6.38-7-server amd64 serverfinal.img bucket1 En Fedora, el proceso es similar. Asegúrese de que utiliza el kernel correcto y los archivos de initrd extraídos anteriormente. Imágenes Booteables Puede registrar imágenes de arranque del disco sin asociar imágenes del kernel ni disco RAM. Esto simplifica enormemente el proceso de agrupación y registro de las imágenes. Tenga en cuenta que las instrucciones a continuación utilizan server.img y se puede saltar todos los pasos engorrosos relacionados con la extracción de una sola partición ext4. euca-bundle-image -i server.img euca-upload-bundle -b mybucket -m /tmp/server.img.manifest.xml euca-register mybucket/server.img.manifest.xml Otra alternativa cuando qemu es muy lento y se van a utilizar imágenes booteables, es crear e instalar la VM en VirtualBox, cuando se instalen todos los paquetes complementarios y la VM esté lista, se puede convertir el formato de disco con el comando Vboxmanage clonehd server.vdi server.img –format RAW Listado de Imágenes El estado de las imágenes que se han subido se puede ver mediante el uso del comando euca-describe-images. El resultado debe ser como el siguiente: gnuradio@gnuradio-icesi:~/test$ euca-describe-images IMAGE ari-7bfac859 bucket1/initrd.img-2.6.38-7-server.manifest.xml css available private x86_64 ramdisk IMAGE ami-5e17eb9d available private IMAGE aki-3d0aeb08 available private bucket1/serverfinal.img.manifest.xml x86_64 machine aki-3d0aeb08 ari-bfac859 bucket1/vmlinuz-2.6.38-7-server.manifest.xml x86_64 kernel css css 3.2.2. Creando una Imagen Windows El primer paso sería crear una imagen raw en el Cliente1, esto representará el disco duro principal de la máquina virtual, así que asegúrese de darle tanto espacio como usted necesita. qemu-img create -f raw windowsserver.img 20G OpenStack presenta el disco con una interfaz de virtio durante el lanzamiento de la instancia. Por lo tanto el sistema operativo debe tener controladores para virtio. De manera predeterminada, Windows Server 2008 ISO no tiene los controladores para virtio. Descargue una unidad virtual de disco que contiene los controladores virtio de la siguiente ubicación http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/ Y adjúntela durante la instalación Inicie la instalación ejecutando el comando sudo qemu -m 1024 -cdrom win2k8_dvd.iso –drive file=windowsserver.img,if=virtio,boot=on -fda virtio-win-1.1.16.vfd -boot d -nographic -vnc :0 Cuando la instalación le pida que elija un dispositivo de disco duro usted no verá ningún dispositivo disponible. Haga clic en "load drivers" en la parte inferior izquierda y cargue los controladores de A:\i386\Win2008 Después de que la instalación acabe, instale cualquier aplicación adicional que necesite y realice los cambios de configuración que usted necesite hacer. Asegúrese también de que RDP está habilitado, esa sería la única manera de conectarse a una instancia de ejecución de Windows. El Firewall de Windows debe estar configurado para permitir conexiones entrantes ICMP y RDP. Para OpenStack permitir las conexiones RDP entrantes, use el comando. euca-authorize default –P tcp –p 3389 –s 0.0.0.0/0 Apagar la VM y cargar la imagen a OpenStack euca-bundle-image -i windowsserver.img euca-upload-bundle -b mybucket -m /tmp/windowsserver.img.manifest.xml euca-register mybucket/windowsserver.img.manifest.xml Otra guía para crear una instancia Windows puede ser encontrada en http://blogs.poolsidemenace.com/2011/06/16/porting-windows-to-openstack/ 4. Administración de StackOps con la herramienta Hybridfox Actualmente se usa un plugin de Firefox que soporta compatibilidad con OpenStack Nova. El plugin se llama Hybridfox y es muy bien conocido por los usuarios de Eucalyptus y Amazon. Con este plugin tiene acceso a todas las características compatibles con OpenStack Nova, y funciona muy bien. Instalar el plugin Para instalar el plug-in, debe descargar e instalar directamente desde la página de descarga del sitio web del plugin (no lo encontrará en la página oficial de Firefox Plugin). La versión que debe instalar es la última de la versión 1.6. Usted puede descargar directamente desde este enlace http://hybridfox.googlecode.com/files/hybridfox-ext-1.6.000121.xpi. Para instalarlo debe ir en el menú de Firefox a Herramientas > Complementos, después presionar el botón de la parte superior y seleccionar “Instalar complemento desde archivo” tendrá que reiniciar el navegador después de la instalación. Para acceder a la interfaz bastará con ir a Herramientas > Hybridfox Conexión con el punto final OpenStack Nova En primer lugar tenemos que añadir el punto final OpenStack Nova en nuestra plataforma. Haga clic sobre las regiones, una ventana con la lista de plataformas en la nube disponibles se mostrarán. Ahora, usted tiene que insertar tres parámetros: • Nombre de la región: Este es el nombre de su plataforma, así que elija el nombre que desee. • Tipo: OpenStack. • Endpoint URL: este es el punto final en la plataforma EC2 en donde se están escuchando solicitudes de la API. Usted puede encontrar esta url en el archivo generado novarc (la hora de crear un nuevo proyecto) en la variable de entorno EC2_URL. Ok, ya ha finalizado, haga clic en el botón Agregar y su región estará configurada. Adición de credenciales Las credenciales son la información que necesita para acceder a la plataforma. Siguiendo el modelo EC2, es una combinación de una clave de acceso y una clave secreta. Inserte estos cuatro parámetros: • • • • Nombre de la cuenta: texto que describa el nombre de la cuenta. Puede ser el nombre que le dio cuando creó la cuenta, por ejemplo stackops en este caso. AWS Access_Key: Usted puede encontrar esta clave de acceso en el archivo de novarc generado al crear un nuevo proyecto, en la variable de entorno EC2_ACCESS_KEY. AWS Secret Access_Key: Usted puede encontrar esta clave de acceso en el archivo novarc generado al crear un nuevo proyecto, en la variable de entorno EC2_SECRET_KEY Región preferida: debe elegir la región que acaba de crear en el paso anterior. Haga click en el botón agregar y ya puede comenzar a manejar su cuenta con el plug-in. Un tutorial sobre el manejo del plugin Hybridfox se encuentra en el siguiente enlace: http://www.eucalyptus.com/video/managing-eucalyptus-instances-hybridfox 5. BIBLIOGRAFÍA • • Computación en la nube: http://es.wikipedia.org/wiki/Computaci %C3%B3n_en_nube Cloud Computing: http://www.ibm.com/co/services/cloud.phtml • • • • • • OpenStack, cloud computing de código abierto: http://www.genbeta.com/actualidad/openstack-cloud-computing-decodigo-abierto OpenStack: http://en.wikipedia.org/wiki/OpenStack OpenStack nubes públicas y privadas: http://cloudprivado.org/openstacknubes-publicas-y-privadas/ Manual de Administración de OpenStack: http://goo.gl/hIY84 Stackops Documentation: http://docs.stackops.org/display/documentation/Home Youtube, Canal de stackops: http://www.youtube.com/user/stackops#p/u