Do VirtualBox ao KVM, e como usar o KVM

Esse é um artigo que achava que tinha escrito uns anos atrás, mas parece que não. Enfim, história primeiro:

Quando comecei nesse “negócio” de usar Linux e SL, uma das primeiras maravilhas que me deparei foi o Qemu, e assim conheci o maravilhoso mundo da virtualização. Fato que o Qemu não é um virtualizador, mas sim um emulador. E era lento, por ser emulador, mesmo com a evolução do kqemu. Mas era poderoso. Inclusive o Android usa o Qemu para seu emulador do SDK. Mas com a necessidade, depois de um tempo migrei para um virtualizador, e o escolhido foi o ótimo VirtualBox. Por que sim. 

Estava muito feliz com o VBox, mas sempre fiquei de olho o KVM. O Kvm é parte do kernel do linux(logo opensource), que permite virtualizar sistemas através de instrução especificas existentes nos processadores modernos(ou nem tão modernos). Enfim, é, assim como o qemu, uma forma extremamente simples de ter um SO rodando como se fosse “mais um” processo do sistema. Muito simples mesmo. E, como bônus, o kvm se baseia no qemu modificado e pode usar as ótimas ferramentas do mesmo.

Eu ia mudar antes, mas como o VBox estava indo tão bem acabei enrolando, mas desde o aniversário do meu notebook, onde ganhou mais ram e um kernel recompilado o VBox perdeu desempenho. Devo ter sido eu a fazer algo errado, mas já queria migrar mesmo o passei ao KVM.

 

Desktops Virtuais

 

 

A performance esta ótima, basicamente tenho VMs do Win XP,  OpenSolaris (para aprender) e um Debian de standby. Estou feliz com isso, qualquer dia entra o Win 7 aí na história… ou não.

Acabou a  história, vamos ao que interessa. Para migrar as imagens do VBox para o formato compacto qcow do qemu, usa primeiro as ferramentas do próprio VBox, na pasta do Harddrive, geralmente ~/.VirtualBox/HardDrivers:

$  VBoxManager clonehd -format RAW old.vdi nova.img 

Depois convertemos a imagem bruta para o formato qcow2:

$ qmeu-img convert -f raw nova.img -O qcow nova.qcow

“Tcharã!” está pronta a nova imagem. Lendo assim parace fácil, mas imagens grandes demoram vários minutos para cada passo.

Uma pegadinha é que instalações do Windows podem precisar serem reparadas. Vejam bem, não precisa reinstalar. Coloque o CD, boot pelo cd, comece como se fosse instalar. Ao chegar na escolha de partições, pressione “R” sobre a partição do windows e continue. 

Usa o kvm é ridiculamente fácil, primeiro certifique-se de ter te-lo instalado e levante o modulo para sua plataforma:

# aptitude install kvm

# modprobe kvm-amd

Ou “kvm-intel”. Garanta ainda que seu usuário possui permissões no dispositivo /dev/kvm adicionando-o ao groupo kvm:

# useradd username kvm

# chown kvm.kvm /dev/kvm 

A Sintaxe básica é a mesma do qemu, veja um exemplo:

$ kvm -hda nova.qcow -cdrom /dev/cdrom -usb -m 1024 -smp 2  -sd card.img -boot c

Isso diz que o kvm vai ter , na ordem, a imagem nova.qcow como hda (primeiro disco), cdrom no disposivo de sistema, usb ativado, 1G de ram, 2 núcleos, card.img com sdcard e vai bootar no hda (c). Muitas outras opções estão disponiveis no “kvm -help” ou “man kvm”.

Você pode ainda ser mais fresco e usar o virt-manager, e ter uma interface gráfica para administrar suas VMs. Esta disponível no seu repositório linux favorito, e não esqueça o python-libvirt (ou python2.5-libvirt). Ou o Qemulator, Ou o AQemu.

Enfim, o KVM suporta live migrations, vários SOs e esta ai evoluindo bem. Confira um ótimo conteúdo em http://www.linux-kvm.org/

Seja mais feliz virtualizando.