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.

Prima di incominciare una piccola precisazione, questi driver pur essendo stati sviluppati per Windows 2000 e Windows XP è possibile utilizzarli anche su Windows 2003 Server installando il driver per XP.

Per iniziare è necessario scaricare l’archivio zip contenente i driver paravirtualizzati da sourceforge, una volta scaricati i driver e decompresso l’archivio è necessario arrestare il sistema.

Una volta spento il vostro guest è necessario modificare il comando che utilizzate per avviare la vostra macchina virtuale in modo che il modello della scheda di rete sia virtio, di seguito un esempio:

sudo qemu-system-x86_64 -drive file=./hellgate.img,if=ide,boot=on -net nic,model=virtio -net tap -k it -smp 2 -m 512

Come si può vedere purtroppo l’emulazione ide non ce la leviamo di torno, almeno in questo momento. Al riavvio Windows rileva la nuova interfaccia di rete e richiede di installare il driver appropriato, di seguito qualche immagine anche se la procedura è la solita avanti…avanti…avanti…ok a cui Microsoft ci ha abituato.

Facile e veloce, fra le immagini inserite nella photogallery ce n’è anche una che mostra come viene vista la scheda a procedenimento terminato.

Visto che scrivere questo post è stato più facile ed indolore del solito direi che ci si può fermare qualche minuto per qualche commento sui parametri passati a qemu.

L’opzione -drive si usa per passare a qemu l’immagine disco o l’immagine di un cd/dvd, si specifica un file, si specifica il tipo di interfaccia, è possibile utilizzare ide (come nell’esempio), scsi e virtio (per ora solo con linux). Il vantaggio di usare scsi è dato principalmente dal supporto all’hot-plug cosa che l’ide non permette, con virtio è possibile utilizzare i driver paravitualizzati, ovviamente per i sistemi operativi che lo supportano. Ulteriore attributo utilizzato nell’esempio è boot, se si vuole avviare dal nostro disco è necessario impostarlo ad on. Altri due attributi utili possono essere index e media, con index è possibile specificare l’ordine con cui devono essere visti i device all’interno del guest e con media è possibile comunicare a qemu se mostrare l’immagine come disco (valore disk) oppure cdrom (valore cdrom).

Rimanderei il discorso sulla rete visto che penso che probabilmente ne parlerò in uno dei prossimi post e passerei alle altre opzioni.

Con -k è possibile specificare una lingua per la tastiera che viene fatta vedere da qemu al guest, con -smp di “mostrare” al guest due cpu virtuali ed infine con -m la quantità di memoria che il guest potrà vedere.

Fine, la prossima volta che affronterò l’argomento KVM si parlerà di come è possibile impostare la rete.

Related post:

2 Comments

  1. Noko says:

    Le icone di slashdot e google si vedono malissimo sullo sfondo grigio.
    Suggerimento: canale alfa su Gimp.

    Il mio browser è Firefox on Linux, 1208×1024. Stesso effetto con Explorer7 1280×1024.

  2. MRG says:

    Corretto…anzi…le ho cambiate direttamente! Queste le trovo molto più carine 😉