Enomalism per gestire server virtuali eterogenei

coccinella Enomalism è un’interfaccia grafica web-based per gestire un gruppo di server virtuali che adoperano diversi software di virtualizzazione. Attualmente Enomalism è in grado di portare a termine migrazioni da e per QEMU/KVM, Xen e Amazon EC2 (presto anche VMware, VirtualBox e OpenVZ).

Il software possiede anche la capacità di effettuare automaticamente il bilanciamento del carico di lavoro tra i server, inoltre ha un’architettura modulare che consente la creazione da parte di terzi di plug-in per Enomalism.


Enomalism può essere usata per gestire virtual machine create da QEMU ma anche da Xen, quindi il primo requisito è la presenza di uno di questi due programmi su un server. Si possono trovare istruzioni su come installarli leggendo degli articoli presenti sul blog.

E’ necessario scaricare i pacchetti di Enomalism e una libreria dal http://sourceforge.net/project/showfiles.php?group_id=164855

Installazione di Enomalism su Ubuntu

Inoltre bisogna disporre di MySQL, presente nei repository e facilmente installabile con il comando apt-get.

Scegliere il file che non è specifico per una distribuzione, scaricare per esempio: Enomalism2-2.0.1A-1270.noarch.tar.gz.

Scompattare il contenuto dell’archivio in una cartella:

# tar zxvf Enomalism2-2.0.1A-1270.noarch.tar.gz

Entrare nella cartella col comando:

# cd Enomalism2-2.0.1A-1270

Spostarla nella directory /opt e cambiarle nome:

# mv Enomalism2-2.0.1A-1270/* /opt/enomalism2

Entrare nella cartella con i file:

# cd /opt/enomalism2/

Avviare la procedura di installazione di Enomalism:

# python setup.py install

In caso di problemi, se compare un messaggio di errore che avverte che c’è un broken link per httplib2, recuperare il pacchetto python-httplib2 nei repository o sul sito Ubuntu.com.

Installazione del software su Red Hat, Fedora e OpenSuse

Per applicare i pacchetti necessari ad adoperare Enomalism, basta scaricare quelli già pronti da sourceforge.

# rpm -i Enomalism2-2.0.1A-1270.openSUSE.i586.rpm

Per installare il pacchetto per OpenSuse a 32 bit, se alcune dipendenze non sono soddifatte basta reperire ciò che serve dai repository o dai supporti ottici della propria distribuzione. All’interno delle pagine wev di Enomalism sono prelevabili alcuni file archivio contenenti alcuni pacchetti che possono risolvere le mancanze.

Anche per Red Hat, Fedora e OpenSuse è necessario che sia presente MySQL. In questo caso non si deve usare lo script setup.py perchè fa tutto il sistema di gestione di rpm.

Configurazione di Enomalism (per tutte le distribuzioni)

Ora è necessario creare un database in MySQL. Per fare ciò bisogna trovarsi nella cartella di Enomalism e digitare:

# script/init-db.sh password-root utente password

password-root sta per la password di root fornita al momento della configurazione di MySQL, mentre utente e password sono il nome utente al quale si vuole attribuire la paternità del database e la seconda opzione è la password.

enomalism-logo

Creare un file di configurazione partendo da quello già preparato e salvarlo in config/$HOSTNAME.cfg (attenzione non sovrascrivere default.cfg, ma salvare l’elaborato in /opt/enomalism2/config/, mettere il nome del proprio host al posto di $HOSTNAME)

# kwrite default.cfg

Si puo adoperare un editor a piacimento.

Il file va modificato nei punti:

sqlobject.dburi=”mysql://enomalism2:zx45qw12@localhost/enomalism2″

la parte enomalism2 va cambiata col nome utente usato durante la creazione del database così come zx45qw12 che assumerà il valore della password.

(caso particolare) Se si usano delle tabelle che non supportano le transizioni è necessario mettere il cancelletto davanti all’occorrenza della riga precedente e decommentare la linea (sostituire i valori opportuni):

sqlobject.dburi=”notrans_mysql://username:password@hostname:port/databasename”

Per tutti, cambiare

enomalism2.baseurl=http://127.0.0.1:8080/rest/

inserendo l’indirizzo IP o il nome dell’host al quale ci si deve collegare (server).

inoltre cambiare anche

enomalism2.self=”5fe6f05e-7ee0-11dc-ba7c-0011d88b8e81″

in modo che il numero sia unico per ogni istanza del cluster (variando, magari qualche cifra numerica a caso oppure utilizzando l’utility da riga di comando uuidgen).

Togliere il commento alla riga seguente e inserirci l’IP address corretto (con 127.0.0.1 al post di 1.2.3.4 per un server localhost):

enomalism2.ip_addr=”1.2.3.4″

Avviare Enomalism

beta Per lanciare il programma, basta usare lo script per la shell posizionandosi nella cartella /opt/enomalism2/:

#scripts/enomalism2.sh start

Se le cose vanno per la via giusta non dovrebbero comparire errori per cui è sufficiente usare un web brower come Firefox e digitare nella barra degli indirizzi:

http://server:8080

naturalmente server è il nome del server dove ci sono le macchine virtuali. Si presenta una rapida sequenza di passaggi per preparare e configurare l’interfaccia web. Quando verrà richiesta un nome utente e una password, inserire rispettivamente admin e password.

Per fermare Enomalism, digitare:

# /opt/enomalism2/scripts/enomalism2.sh stop

Un altro server da gestire

Seguendo le istruzioni appena fornite le virtual machine e i domini dovranno essere presenti sul computer dove è stato appena installato e configurato Enomalism quindi i parametri nel file $HOSTNAME.cfg devono rispecchiare quelli del calcolatore. Se si vuole aggiungere un altro server è necessario installare lì Enomalism (come visto prima ma non creare il database) e il file con le impostazioni va alterato tenendo conto di:

  1. Cambiare 127.0.0.1 in enomalism2.ip_addr=”127.0.0.1″ con l’IP address del server della prima installazione.
  2. Pure sqlobject.dburi=”mysql://enomalism2:zx45qw12@localhost/enomalism2″ va sostituita con sqlobject.dburi=”mysql://enomalism2:zx45qw12@primoserver/enomalism2″ dove primoserver è il nome dell’host del primo computer dove è stato installato il software. L’username e la password sono quelli del DB creato sul primo server
  3. Mettere un UID diverso da quello del primo server in enomalism2.self.
  4. Indicare l’indirizzo IP dove il web brower può trovare l’interfaccia grafica, ciò metterci l’IP address del primo server (non 127.0.0.1).

Per avviare il server nuovo usare le istruzioni già descritte.

Poi per installarle e configurarlo, dal primo server, digitare nella barra degli indirizzi del browser: http://nuovoserver:8080/install, dove nuovoserver è l’hostname dell’ultimo server preparato.

linux

Articolo precedente

Bridged Networking
linux

Articolo successivo

Virtualizzazione e Antivirus