OpenNebula consente di posizionare e riposizionare dinamicamente le macchine virtuali all'interno di un insieme di risorse hardware. In questo modo è possibile disporre le macchine virtuali in qualsiasi posizione disponibile.
In questa sezione viene indicato come configurare un cluster OpenNebula utilizzando tre computer: un host front-end e due nodi utilizzati per eseguire le macchine virtuali. I nodi necessitano di aver configurato un ponte (bridge) affinché le macchine virtuali possano accedere la rete locale. Per maggiori informazioni, consultare la sezione chiamata «Bridging».
Da un front-end, in un terminale, digitare:
sudo apt-get install opennebula
Su ogni nodo invece digitare:
sudo apt-get install opennebula-node
Per copiare le chiavi SSH, l'utente oneadmin necessita di una password. Su tutti i computer eseguire:
sudo passwd oneadmin
Copiare la chiave SSH dell'utente oneadmin nel file authorized_keys
dei nodi e del front-end:
sudo scp /var/lib/one/.ssh/id_rsa.pub oneadmin@node01:/var/lib/one/.ssh/authorized_keys sudo scp /var/lib/one/.ssh/id_rsa.pub oneadmin@node02:/var/lib/one/.ssh/authorized_keys sudo sh -c "cat /var/lib/one/.ssh/id_rsa.pub >> /var/lib/one/.ssh/authorized_keys"
La chiave SSH dei nodi deve essere aggiunta al file /etc/ssh/ssh_known_hosts
sul front-end. Per fare ciò, collegarsi via ssh su ogni nodo con un utente diverso da oneadmin, quindi uscire dalla sessione SSH ed eseguire il seguente comando per copiare la chiave SSH da ~/.ssh/known_hosts
a /etc/ssh/ssh_known_hosts
:
sudo sh -c "ssh-keygen -f .ssh/known_hosts -F node01 1>> /etc/ssh/ssh_known_hosts" sudo sh -c "ssh-keygen -f .ssh/known_hosts -F node02 1>> /etc/ssh/ssh_known_hosts"
![]() |
|
Sostituire node01 e node02 con i nomi host appropriati. |
In questo modo, l'utente oneadmin può eseguire scp senza l'utilizzo di una password o senza alcun intervento manuale per mettere in produzione un'immagine sui nodi.
Nel front-end creare una directory per archiviare le immagini delle VM, fornendo accesso a tale directory all'utente oneadmin:
sudo mkdir /var/lib/one/images sudo chown oneadmin /var/lib/one/images/
Infine, copiare il file del disco di una macchina virtuale in /var/lib/one/images
. È possibile creare una macchina virtuale utilizzando vmbuilder. Per maggiori informazioni, consultare la sezione chiamata «JeOS e vmbuilder».
Il cluster OpenNebula è ora pronto per essere configurato ed è possibile aggiungere le macchine virtuali al cluster.
Da un terminale digitare:
onehost create node01 im_kvm vmm_kvm tm_ssh onehost create node02 im_kvm vmm_kvm tm_ssh
Creare un file modello di Virtual Network chiamato vnet01.template
:
NAME = "LAN" TYPE = RANGED BRIDGE = br0 NETWORK_SIZE = C NETWORK_ADDRESS = 192.168.0.0
![]() |
|
Assicurarsi di cambiare l'indirizzo 192.168.0.0 con quello della propria rete. |
Utilizzando l'utilità onevnet, aggiungere la rete virtuale a OpenNebula:
onevnet create vnet01.template
Creare un file VM Template chiamato vm01.template
:
NAME = vm01 CPU = 0.5 MEMORY = 512 OS = [ BOOT = hd ] DISK = [ source = "/var/lib/one/images/vm01.qcow2", target = "hda", readonly = "no" ] NIC = [ NETWORK="LAN" ] GRAPHICS = [type="vnc",listen="127.0.0.1",port="-1"]
Avviare la macchina virtuale utilizzando onevm:
onevm submit vm01.template
Usare il comando onevm list per visualizzare informazioni riguardo le macchine virtuali, inoltre, il comando onevm show vm01 visualizza informazioni più dettagliate riguardo una specifica macchina virtuale.
Per maggiori informazioni, consultare il sito web di OpenNebula.
È anche possibile trovare supporto nei canali IRC #ubuntu-virt e #ubuntu-server sul server Freenode.
Also, the OpenNebula Ubuntu Wiki page has more details.