20141231-181722.jpg

Salvataggio e ripristino di una VM libvirt (parte I)

Con l’adozione definitiva da parte di Red Hat e altri vendor di kvm/qemu quale piattaforma di virtualizzazione con hypervisor l’evoluzione software a contorno di questa tecnologia ha fatto grandi passi, consentendo ad oggi di ottenere una perfetta architettura di virtualizzazione di livello enterprise anche a casa vostra gratuitamente (mediante distro quali Ubuntu, Fedora, ecc).
La scalabilità dell’architettura viene garantita dalla infrastruttura costruita a partire dalla libvirt: un demone per il controllo anche remoto dell’hypervisor, una interfaccia amministrativa grafica e una testuale e altro a corollario.

20141231-181855.jpg

Da questa complessa architettura risulta ancora assente uno strumento integrato e completo per il salvataggio e ripristino delle VM.

Assenza però non significa impossibilità: con strumenti disponibili e standard si può realizzare un semplice ma efficace e sicuro software per la realizzazione di procedure di salvataggio e ripristino automatico di VM gestite da libvirt.

Questo sarà oggetto di questa serie di articoli.

Gli strumenti disponibili
La console amministrativa virsh ha i comandi dumpxml e define atti a salvare e ripristinare la definizione di una VM (un dominio, nella nomenclatura libvirt). Questo è un buon punto di partenza.
Quello che manca è il salvataggio della componente storage della VM. Questa è descritta nel file XML di definizione, ed in ogni caso è uno o più file collocati nel percorso /var/lib/libvirt/images/.
Questo percorso è accessibile solo da utente amministratore (l’hypervisor che ne gestisce l’accesso è un servizio di sistema), e questo diviene un requisito per una costruenda procedura automatica.

Il salvataggio di una VM è dunque la copia della sua definizione e dei file delle immagini disco.
Per realizzarlo è sufficiente dunque copiare questi files in un archivio (magari compresso) su un supporto esterno.

Vedremo della prossima puntata il codice (script shell) con cui realizzare questo compito.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *