Posts tagged ‘QEMU’

KVM, virtio, Windows and the paravirtualized block device

Prosegue la serie di post dedicati all’hypervisor KVM, in questo post vedremo come installare i driver del disco paravirtualizzati su di un guest Windows based, nello specifico Windows 2003 Server.

Circa 15 mesi fa trattai l’installazione dei driver di rete paravirtualizzati, per chi si fosse perso il post l’url da cui leggerlo è la seguente: “KVM, virtio, Windows and the paravirtualized network device“, se invece siete interessati ad aggiungere i driver paravirtualizzati ad un guest linux potreste trovare interessante questo post: “KVM: Adding paravirtualized device on linux guest“.

Continue reading ‘KVM, virtio, Windows and the paravirtualized block device’ »

From standalone QEMU to libvirt managed QEMU

libvirtlogoNel precedente post abbiamo introdotto libvirt parlando della sua architettura e delle funzionalità che offre, ora ci occuperemo della migrazione da una configurazione con macchine virtuali già installate e funzionanti gestite direttamente dalla riga di comando o tramite degli script (argomento trattato in questo mio precedente post) ad una configurazione gestita tramite libvirt e la sua management console virsh.

Per utilizzare con profitto le funzionalità di libvirt con KVM come hypervisor vi raccomando di avere una distribuzione abbastanza up-to-date visto che sia il virtualizzatore che la libreria con tutti i suoi tools sono software il cui sviluppo procede ancora spedito, in seguito utilizzerò una Ubuntu 9.04.

Continue reading ‘From standalone QEMU to libvirt managed QEMU’ »

introduction to libvirt

libvirtlogoNel mio ultimo post sul tema virtualizzazione ho parlato di come è possibile predisporre una macchina in modo da poter utilizzare con profitto la versione modificata di QEMU per  KVM compilando il tutto a partire dai sorgenti e di come si possono predisporre degli appositi script per rendere più semplice la gestione delle macchine virtuali, un metodo molto professionale alternativo a quello presentato per la gestione ed il deploy di un ambiente di virtualizzazione è quello di utilizzare libvirt.

Ma che cosa è libvirt? Cosa ci permette di fare? Quali tool ci vengono messi a disposizione? Come funziona?

A queste domande cercheremo di rispondere in seguito…

NB: in questo specifico post vedremo solo una overview su questo layer di gestione per  macchine virtuali, nel prossimo vedremo come passare da una configurazione basata sull’uso di QEMU standalone come presentato in questo post ad una configurazione con QEMU completamente gestito tramite le API di libvirt ed i suoi tools.

Continue reading ‘introduction to libvirt’ »

Using KVM with standalone QEMU

kvmbanner-logoIn questo post cercherò di riassumere quanto visto nei miei precedenti post in modo da poter fornire una visione d’insieme sull’utilizzo di questo virtualizzatore, in particolare ci soffermeremo sull’uso e sulla configurazione di un ambiente di virtualizzazione a partire dai sorgenti del progetto, in futuro parleremo di come realizzare una configurazione in cui si utilizza libvirt come frontend.

Prima d’iniziare ci tengo a sottolineare una cosa: KVM e QEMU sono due software in costante e veloce sviluppo, seppur ultimamente il tempo fra una release e l’altra inizi a ad aumentare, segno ormai che si sta in qualche modo convergendo verso una release stabile, difficilmente le comuni distribuzioni riescono ad integrare l’ultima release disponibile quindi se siete interessati ad una particolare release successiva a quella disponibile nel vostro kernel o nei repository della vostra distribuzione (ad esempio per ottenere un particolare bugfix oppure nuove feature) potreste comunque dover, o voler, compilare dai sorgenti.

Dalla release 85 in poi c’è stato uno split dei tarball in qemu-kvm-devel-85.tar.gz per l’userspace ed in kvm-kmod-devel-85.tar.gz per il modulo del kernel, fermo restando che è comunque disponibile il tarball contenente  sia userspace e modulo a cui siamo ormai abituati, in questo modo è più facile utilizzare l’ultima release del modulo in combinazione con la versione di QEMU disponibile nella nostra distribuzione.

Continue reading ‘Using KVM with standalone QEMU’ »

KVM and the network

tech_network

Nei miei precedenti post riguardanti il tema della virtualizzazione uno degli argomenti che sono solo stati accennati è quello della configurazione della rete.

In questo post andremo a vedere in quali modi è possibile configurare la rete e quali feature offre ogni tipologia proposta, quanto segue è stato testato con la versione modificata di QEMU per KVM su di una Ubuntu. Ovviamente il tutto resta valido anche per le Debian, nel caso in cui si utilizzino altre distribuzioni i concetti illustrati vanno adattati al caso specifico.

La prima tipologia di rete che andremo ad analizzare è la user networking. Successivamente analizzeremo la bridged networking, di quest’ultima tipologia vedremo tre esempi, ogni esempio si adatta ad un contesto applicativo diverso.

Ricordatevi in tutti i casi di verificare di aver caricato i moduli necessari (kvm-amd oppure kvm-intel oppure kqemu), nel caso vogliate, potete verificarlo con lsmod.

Continue reading ‘KVM and the network’ »

KVM, virtio, Windows and the paravirtualized network device

Linux offre un’abbondante scelta di tecnologie di virtualizzazione, molte delle quali gestiscono alla propria maniera l’I/O. La scorsa primavera Qumranet, società che mantiene il progetto KVM ha rilasciato driver paravirtualizzati per i guest Windows. Sfortunatamente questi driver sono solo per l’interfaccia di rete, al momento non è dato sapere quando verranno rilasciati anche driver per i controller dei dischi. Vorrà dire che almeno per ora dovremo accontentarci dell’incremento di performance dell’interfaccia di rete…andiamo ora a vedere come è possibile installare questi driver su di un guest windows…

NOTA: se siete interessati ad aggiungere i driver paravirtualizzati ad un guest linux potreste trovare interessante questo post.

Continue reading ‘KVM, virtio, Windows and the paravirtualized network device’ »

KVM: Adding paravirtualized device on linux guest

Negli ultimi mesi il team di sviluppo di KVM ha lavorato per rendere disponibile driver paravirtualizzati per i guest virtualizzati, lo scopo è quello di eliminare l’ultimo layer di emulazione presente nella versione customizzata di qemu (principalmente disco e scheda di rete).

L’API scelta per supportare la virtualizzazione dell’IO è stata virtio, l’idea che sta dietro virtio è quella di avere un framework comune per diversi hypervisor per virtualizzare l’IO. Un interessante articolo di approfondimento su questo argomento si può leggere a questo indirizzo.

In questo post vedremo come configurare l’interfaccia di rete ed il controller dei dischi per utilizzare i driver paravirtualizzati per un guest linux-based, nei prossimi giorni con un post gemello vedremo come configurare i device paravirtualizzati in Microsoft Windows.

NOTA: se siete interessati ad un breve approfondimento su come è possibile installare i driver paravirtualizati per la rete all’interno di un guest Windows based potreste trovare interessante questo post.

Continue reading ‘KVM: Adding paravirtualized device on linux guest’ »

From vmdk to qcow and vdi

zeriEccoci al secondo post riguardante la conversione dei formati dei dischi virtuali utilizzati da alcuni dei virtualizzatori più utilizzati al momento, mi riferisco a VMware, VirtualBox e QEMU.

Questa volta tratteremo la conversione dal formato vmdk (utilizzato da VMware e supportato da QEMU e VirtualBox) al formato qcow (utilizzato principalmente da QEMU) e al formato vdi (utilizzato da VirtualBox).

Per i motivi già spiegati nel post “from-qcow-to-vmdk-and-vdi” anche questa volta negli esempi che seguiranno è stato utilizzato come sistema operativo linux sia dal guest che dall’host.

NOTA: se siete interessati alla conversione da vdi a qcow date un’occhiata a questo post del buon Noko.

Continue reading ‘From vmdk to qcow and vdi’ »