Repository 32bit  Forum
Repository 64bit  Wiki

Kvm

Da Slacky.eu.
Versione delle 14:46, 7 nov 2007, autore: Slacky (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Indice

Introduzione

Kvm è un modulo del kernel che permette la virtualizzazione dei sistemi operativi, come applicazione in user space invece usiamo una particolare versione di Qemu chiamata Qemu-Kvm. I vantaggi sono molteplici: tutto open-source, modulo direttamente nel kernel quindi possiamo evitare tranquillamente le patch alle quali Vmware e compagnia ci avevano abituato, e infine.. la velocità nettamente superiore alle altre applicazioni (perlomeno a Vmware), va anche sottolineato che Kvm funziona benissimo da user, una qualità fondamentale per la sicurezza. Ovviamente abbiamo anche svantaggi, uno su tutti la pessima gestione dell'acpi, ancora incompleta ma sulle macchine virtuali non credo sia essenziale; oltretutto alcuni sistemi anziani come nt4 e Windows 98 neppure partono.

Requisiti

Un processore che supporti l'istruzione vmx per intel o svm per amd, per saperlo:

$cat /proc/cpu|grep svm  

un kernel con Kvm attivo (il kernel di default di slackware-current va bene)e ovviamente Kvm

Preparativi

L'uso di Kvm, è facilissimo praticamente si tratta di Qemu modificato, se avete già usato Qemu non dovrebbero esserci problemi. In ogni caso ecco qualche dritta, innanzitutto dovete inserire in /etc/groups, una riga simile a questa

kvm:x:106:nomeutente

fatto questo riavviate udev rules

#/etc/rc.d/rc.udev reload

ora riloggatevi e infine date

#modprobe kvm_amd

pronti! Adesso potete avviare la prima macchina virtuale.

Avvio

Come macchina virtuale di esempio prendiamo Windows 2000 (una delle meno rognose, e a mio avviso uno tra i migliori OS di Microsoft). Creiamo innanzitutto un disco virtuale fasullo, potete crearlo di quanti gb volete, per Windows 2000 sono consigliati 8gb

$qemu-img create disco 8G

adesso installiamo la macchina virtuale con

$qemu-system-x86_64 -hda disco -cdrom /dev/cdrom -net nic,vlan=0 -net user -soundhw es1370 -no-acpi -m 512 -boot d -no-reboot

ovviamente col disco di installazione inserito.

Descrizione opzioni

  • -hda disco: indica di usare come disco primario il disco virtuale "disco"
  • -cdrom: non ha bisogno di spiegazioni, potete usare sia il cdrom vero, che un immagine iso
  • -net nic,vlan=0: crea una scheda di rete virtuale e da il numero 0 a questo pc, volendo si possono avviare altre macchine virtuali collegate tra loro con vlan=1,vlan=2,etc. Attenzione, con questa modalità (user) si può navigare in internet ma non è possibile accedere alla macchina virtuale ne pingarla, è un opzione comoda e sicura, ma molto limitata.
  • -soundhw: crea una scheda audio virtuale supportata da tutti gli OS
  • -no-acpi: forza a non usare l'acpi sulla macchina virtuale, obbligatorio in caso di sistemi Windows
  • -no-reboot: anziché eseguire un reboot, termina Kvm
  • -m: indica la quantità di memoria fisica da usare se volete approfondire, specie quanto concerne la rete. Vi rimando alla documentazione ufficiale, molto completa.

Tips & Tricks

Sistemi operativi

  • Windows 2000/xp/2003: Questa famiglia di OS è supportata benissimo installate con no-acpi, all'avvio dell'installazione premete F5 e selezionate "standard pci", per Windows server 2003 è necessario usare -net nic,model=rtl8139. Durante l'uso, noterete la cpu salire al 100%, e bloccare il sistema emulato per qualche minuto, niente paura: è un bug che si verifica quando Windows fa il "check" per gli aggiorna menti automatici.
  • Windows nt4,98,95: questi sistemi non funzionano con Kvm
  • Windows vista: parte ma non è possibile usare aereo (la gui con gli effetti 3d), è necessario usare il driver di Windows 2000 per la rete e indicare -net nic, model=ne2k_pci a differenza delle altre versioni di Windows è obbligatorio usare acpi, quindi omettete l'opzione no-acpi.

Come monto un disco virtuale di Kvm?

mount -o loop,offset=32256 nomedisco puntodimount

Come posso catturare uno screenshot ?

Ctrl-alt-2 si sposta in una "console" di Kvm, li digitate screendump nomefile, le immagini vengono salvate sulla cartella dove eseguite Kvm in formato ppm.

Autore: Meskalamdug

Strumenti personali
Namespace

Varianti