Per chi è abituato all’utilizzo di sistemi di virtualizzazione classica, si può trovare spiazzato quando affronta per la prima volta il setup di una istanza in un cloud.
Difatti, lavorando direttamente sull’hypervisor, è pratica comune utilizzare un disco virtuale per ogni macchina virtuale contenente tutte le configurazioni specifiche di quella macchina.
Usando sistemi di cloud la cosa non può essere così: difatti chi acquista una istanza in un cloud pretende un setup quasi immediato, cosa che non permetterebbe ai sistemisti di creare una installazione ad-hoc per tale macchina, pertanto si è costretti ad operare in maniera diversa: in un sistema cloud vengono creati uno o più dischi master per le VM (ad esempio un disco con l’istallazione di base di una distribuzione) che vengono “duplicati” alla creazione dell’istanza della VM.
Nella maggior parte dei casi, inoltre, si tende ad utilizzare filesystem evoluti che permettono di creare snapshot dell’immagine master senza dover duplicare fisicamente l’immagine, cosa che rende il processo di provisioning ancora più rapido e migliora l’utilizzo dello spazio all’interno dello storage.
Da una simile premessa, risulta evidente che l’immagine master non può contenere una configurazione specifica per ciascuna delle istanze che vengono create, bensì è necessario che l’immagine all’avvio si “autoconfiguri” in modo da settare automaticamente quelle opzioni univoche che sono necessarie per il corretto funzionamento.
L’esempio più evidente è il settaggio dell’indirizzo IP: non è corretto settare un unico indirizzo IP all’interno della immagine master, bensì è necessario configurare l’immagine master in modo che setti automaticamente un IP univoco all’avvio.
Tale operazione specifica potrebbe essere compiuta attraverso un server DHCP installato all’interno del bridge della rete con le VM; OpenNebula ha però un metodo interno per gestire tutti questi parametri.
Il metodo che andremo a descrivere ora permette di configurare automaticamente l’indirizzo IP della scheda di rete della VM in base a quanto settato nel file di configurazione della VM. L’indirizzo IP verrà estratto in base al MAC Address assegnato alla scheda di rete: questa associazione può essere presente sia all’interno della configurazione del network virtuale associato all’intanza (onevnet per intenderci) sia usando una configurazione statica nella configurazione della VM.
Per eseguire questo setup automatico, è necessario copiare all’interno della directory /etc/init.d dell’istanza alla VM lo script per la propria distribuzione scaricabile da qui.
Quindi, utilizzando il comando ln -s, o qualsiasi altro comando proprio della distribuzione, far partire il comando prima della configurazione della rete: all’avvio dell’istanza, lo script estrarrà l’indirizzo IP assegnato alla VM e creerà il file di configurazione per il setup statico della rete, pronto per essere utilizzato successivamente dallo script di configurazione.