Objectiu:
Segon petit tutorial sobre la implementació d’un núvol privat mitjançant Openstack. La primera entrada que podeu consultar aquí tractava sobre el servei d’autenticació Keystone. Aquest tutorial tracta sobre la instal·lació del servei d’imatges glance.
Aquest servei ve a ser un repositori d’imatges de disc que els nodes poden utilitzar per a obtenir imatges de disc (kernel, ramdisk i imatge de disc del S.O.) a l’hora d’arrencar una nova màquina virtual. Aquestes imatges són reutilitzables, això vol dir que cada node que n’utilitzi una se’n farà una còpia local i les del servei glance no es modificaran mai.
Procediment:
Utilitzarem la mateixa màquina Ubuntu 11.10 que s’ha utilitzat per a la instal·lació de Keystone. Tot i així seria perfectament legal i, fins i tot, recomanable, que en un entorn de producció aquests dos serveis estiguessin en màquines diferents.
S’utilitzarà el sistema d’arxius local per emmagatzemar les imatges. Per defecte glance utilitza la ruta /var/lib/glance/images per emmagatzemar-les. En entorns més seriosos podríem utilitzar qualsevol recurs de xarxa per emmagatzemar-les, des d’un NFS fins a unitats iSCSI, etcètera.
La instal·lació és força simple. La comanda d’instal·lació és la següent:
# apt-get install python-software-properties # add-apt-repository ppa:nova-core/trunk # apt-get update # apt-get install glance python-dateutil
Un cop realitzada la instal·lació aturarem els serveis iniciats per dur a terme unes modificacions a la configuració:
# ls /etc/init.d/glance-* | cut -d'/' -f4 | while read l; do service ${l} stop; done
El primer que farem és crear una base de dades per glance de la mateixa manera que vam fer amb Keystone:
# mysql -p Enter password: mysql> create database glance; mysql> grant all privileges on glance.* to 'glance'@'%' identified by 'pAssw0rd' with grant option; mysql> quit; Bye
A continuació modificarem els arxius /etc/glance/glance-api.conf i /etc/glance/glance-registry.conf. Ens interessa configurar la base de dades i l’autenticació mitjançant Keystone.
Executant les següents comandes ho tindrem tot configurat:
# cat << EOF >> /etc/glance/glance-api.conf [paste_deploy] flavor = keystone EOF # cat << EOF >> /etc/glance/glance-registry.conf [paste_deploy] flavor = keystone EOF # sed -i "s/127.0.0.1/IP_SERVIDOR/g" /etc/glance/glance-api.conf # sed -i "s/127.0.0.1/IP_SERVIDOR/g" /etc/glance/glance-api-paste.ini # sed -i "s/127.0.0.1/IP_SERVIDOR/g" /etc/glance/glance-registry-paste.ini # sed -i "s/localhost/IP_SERVIDOR/g" /etc/glance/glance-api.conf
Finalment ja podem arrencar els serveis de nou:
# ls /etc/init.d/glance-* | cut -d'/' -f4 | while read l; do service ${l} start; done
Si algun dels serveis no arrenca podem veure els errors amb:
# tail -f /var/log/glance/api.log /var/log/glance/registry.log
Configuració posterior:
Un cop els serveis instal·lats podem mirar d’afegir una imatge de test i verificar que tot funciona correctament:
# dd if=/dev/zero of=image bs=1024x1024 count=2 # glance add -A 999888777666 name="test-image" is_public=true < image # glance details -A 999888777666 ================================================================================ URI: http://0.0.0.0:9292/v1/images/738b2a2a-7408-46d2-8e56-a325ede4436c Id: 738b2a2a-7408-46d2-8e56-a325ede4436c Public: Yes Protected: No Name: test-image Status: active Size: 2097152 Disk format: raw Container format: ovf Minimum Ram Required (MB): 0 Minimum Disk Required (GB): 0 Owner: 1de1cb4b2027415dae7e1535658ac13d ================================================================================ # glance delete 738b2a2a-7408-46d2-8e56-a325ede4436c -A 999888777666 Delete image 738b2a2a-7408-46d2-8e56-a325ede4436c? [y/N] y Deleted image 738b2a2a-7408-46d2-8e56-a325ede4436c
En aquest moment tenim un servei d'imatges llest pels nodes que virtualitzin màquines.
Documentació:
La documentació d'openstack es pot trobar a http://docs.openstack.org. Bona sort!