In questo articolo installeremo OpenStack Glance, il componente di OpenStack in grado di interfacciarsi con il pool di server Nova per fornire loro le immagini delle macchine virtuali.
Glance può utilizzare diversi datastore per registrare le immagini delle macchine virtuali, tra cui OpenStack Swift; in questo articolo, però, per semplicità, utilizzeremo semplicemente l’hard disk locale. In successivi articoli spiegheremo come far collaborare al meglio assieme i componenti di OpenStack.
Per l’installazione, e consigliabile utilizzare come distribuzione Ubuntu Linux Server 10.10. E’ possibile utilizzare un server separato e ridondarlo, assumiamo però di utilizzare lo stesso cloud controller dell’esempio precedente (172.16.0.1). E’ semper importante eseguire i comandi come utente root
Download ed installazione di Glance
Iniziamo con aggiungere la repository apt ed installare il pacchetto
add-apt-repository ppa:glance-core/trunk apt-get update apt-get install glance
Quindi creiamo la directory con il file di configurazione:
cd /etc mkdir glance cd glance
Configurazione dei servizi
Creiamo quindi il file glance.conf con la configurazione:
/etc/glance/glance.conf [DEFAULT] # Show more verbose log output (sets INFO log level output) verbose = True # Show debugging output in logs (sets DEBUG log level output) debug = False [app:glance-api] paste.app_factory = glance.server:app_factory # Directory that the Filesystem backend store # writes image data to filesystem_store_datadir=/var/lib/glance/images/ # Which backend store should Glance use by default is not specified # in a request to add a new image to Glance? Default: 'file' # Available choices are 'file', 'swift', and 's3' default_store = file # Address to bind the API server bind_host = 0.0.0.0 # Port the bind the API server to bind_port = 9292 # Address to find the registry server registry_host = 0.0.0.0 # Port the registry server is listening on registry_port = 9191 [app:glance-registry] paste.app_factory = glance.registry.server:app_factory # Address to bind the registry server bind_host = 0.0.0.0 # Port the bind the registry server to bind_port = 9191 # SQLAlchemy connection string for the reference implementation # registry server. Any valid SQLAlchemy connection string is fine. # See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine sql_connection = sqlite:///glance.sqlite # Period in seconds after which SQLAlchemy should reestablish its connection # to the database. # # MySQL uses a default `wait_timeout` of 8 hours, after which it will drop # idle connections. This can result in 'MySQL Gone Away' exceptions. If you # notice this, you can lower this value to ensure that SQLAlchemy reconnects # before MySQL can drop the connection. sql_idle_timeout = 3600
Ora aggiungiamo ad /etc/rc.local il seguente comando per avviare glance automaticamente:
/usr/bin/glance-control all start
Altra modifica da effettuare riguarda il file /etc/nova/nova.conf: bisogna levare i riferimenti a nova-objectsore che non sarà più utilizzato e aggiungere quelli relativi a glance:
/etc/nova/nova.conf Levare: --s3_host=172.16.0.1 Aggiungere: --glance_host=172.16.0.1 --glance_port=9292 --image_service=nova.image.glance.GlanceImageService
Per non sprecare risorse inutili, consiglio di levare il servizio glance-objectstore dall’avvio automatico. A questo punto abbiamo finito con le configurazioni e possiamo procedere a riavviare il nostro server.
Utilizzo di Glance
Per utilizzare il servizio glance, è necessario pubblicare le immagini sul server con il comando glance-upload:
wget http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz tar zxvf ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz glance-upload --disk-format=ari --container-format=ari --type=ramdisk ttylinux-uec-amd64-12.1_2.6.35-22_1-initrd ramdisk glance-upload --disk-format=aki --container-format=aki --type=kernel ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz kernel glance-upload --disk-format=ami --container-format=ami --type=machine --ramdisk=1 --kernel=2 ttylinux-uec-amd64-12.1_2.6.35-22_1.img
Per controllare le istanze, d’ora in poi utilizzaremo direttamente il comando nova. Ad esempio:
nova flavor-list nova image-list nova boot pippo --flavor 2 --image 3
It’s all folks, but stay tuned!
Corretto un errore sulla configurazione del file nova.conf (mancavano i — prima delle direttive di configurazione) e modificate le istruzioni per la pubblicazione delle immagini