Vous êtes sur la page 1sur 4

KVM: uma opo fcil ao VirtualBox e ao VMware

Publicado em 02/03/2009 10:13 por Carlos Morimoto Embora seja um software open-source bastante antigo e conhecido, o Qemu nunca foi muito usado, pois era muito lento. Diferente do VMware e do VirtualBox, que so virtualizadores, capazes de rodarem outros sistemas operacionais com um overhead relativamente baixo, o Qemu um emulador, que funciona de forma similar aos emuladores de consoles antigos, que usamos para rodar jogos de SNES e Mega-Drive no PC. Em vez de utilizar um sistema de virtualizao, ele tenta processar todas as instrues, o que acaba demorando mais tempo e fazendo com que a performance seja menor. Em geral, o VMware consegue fazer com que o sistema guest rode com de 70 a 90% do desempenho que teria se estivesse rodando diretamente, enquanto que o Qemu obtm de 5 a 10%. Em 2005 o Qemu ganhou um mdulo adicional, o Kqemu, um "acelerador" que faz com que ele passe a ser capaz de virtualizar as instrues, passando a oferecer um desempenho muito melhor. O Kqemu melhorou consideravelmente o desempenho do Qemu, mas, ainda assim, ele continuou atrs do VMware em questo de desempenho. Como o Kqemu era um componente proprietrio, ele continuou sendo pouco usado. O segundo salto veio em 2007, com o lanamento do KVM (http://kvm.qumranet.com/kvmwiki), um sistema de virtualizao includo diretamente no Kernel, disponvel a partir da verso 2.6.20. O KVM substituiu o Kqemu como "acelerador" e, por ser licenciado sob a GPL, passou a ser desenvolvido de forma ativa, incorporando melhorias rapidamente, se tornando uma opo vivel de virtualizao, que passou a ser cada vez mais usado em servidores, concorrendo com o Xen, o VMware e o Virtuozzo. Em se tratando de desktops, a principal vantagem do KVM a facilidade de instalao e de criao das mquinas virtuais, combinada com o baixo impacto sobre o desempenho do sistema host, diferente do VMware, onde o processador fica ocupado o tempo todo enquanto a VM est ativa, mesmo que nada esteja sendo feito dentro dela. O KVM pode ser instalado rapidamente sobre praticamente qualquer distribuio atual (com kernel 2.6.20 ou mais recente); basta procurar pelos pacotes "kvm" e "qemu". No caso do Debian Lenny e do Ubuntu 8.10, voc pode instal-los diretamente via apt. O primeiro passo instalar os dois pacotes. A grande vantagem do KVM que, por ser um virtualizador open-source, ele bastante simples de instalar nas distribuies atuais. O mdulo vem includo diretamente no kernel e os dema is componentes podem ser instalados usando o gerenciador de pacotes: # apt-get install kvm qemu Depois de instalar, adicione o usurio que estiver utilizando no grupo "kvm", para que ele tenha permisso para usar o acelerador: # adduser gdh kvm Com isso a instalao est concluda. Falta apenas comear a criar os discos virtuais e rodar as VMs. Assim como no caso do VMware, o KVM suporta o uso de discos virtuais dinmicos, que comeam como arquivos vazios e vo crescendo conforme voc instala coisas dentroda VM. O comando para criar os discos virtuais o "qemu-img create nome.img -f qcow tamanho", como em: $ qemu-img create ubuntu.img -f qcow 10G Este comando deve ser executado com o seu login de usurio (e no mais como root), j que ele quem deve ser o dono do arquivo. Se voc criar as imagens usando o root, voc no ter permisso para escrever dentro dos arquivos ao usar o KVM, o que vai fazer com que a instalao dentro da VM falhe com uma mensagem "no possvel escrever no disco", ou similar.

C m m m sc s  s   s


m
 m  
10
 m mm   E  m c c m m     c csc  m s cc  s   m  :)

c m s sc s  s m m m sm s ms ss c s c     s s - s  H   C m sc   c  s c M s c m s s m c m s  s s m

C/  m m I

 cm 
m
s    I cm m m ( s I m s    m m m m m! s  $   sc    s s   m m # R M W "s) s  s M (m M%) 
-
  cm  & M c M C -R M:
$ kvm -cdrom /dev/cdrom -h da u 'un (u.)mg -m 512 -boot d

   s s m m C     sc ss 
//c m
 m css m! :
$ kvm -cdrom /dev/cdrom -h da u bun tu.)mg -m 512 -boot d

s m    c m ssm c m $m s   * c s  m s c
s
; s  - c  c $ ss C +  :

  & M  ss m *   c  m s c+ m s   &E   cc c m  m   $ > m %


(ss
$  +F3
    !  s 
  * s  )  c+  m m m   (   m  m c s s m    c m    ! c m  ss m M c $ * m s  ) s c  s  s  s  m s   ) Em   s c s s ( s  s c  m s s c  m s  " & M s s s s s   s ss m s cs  sc!c s  ,ss c s  c+ m  s  & M c s c m -m sm c  m m ms  c s c m  s  m

342ndo o "kv m" por "qem 4 dos c .sos / 0.1. 2sso, bas3a exe c43ar o mesmo comando, s 4bs32 no-kvm":
$ qemu -n o-kvm -cdrom /dev/cdrom -h da u bun tu.5mg -m 512 -boot d Es3e s proble mas se manife s3am apenas durante a instala6o, de maneira que voc7 pode voltar a usar o KV M nor malmente depois que ela e stiver concluda. -no- acpi" ( que era Outra op 6o destinada a solucionar problemas de instala6o a " ne cess 8ria para instalar o Windows em ver s9es anteriore s do KV M), que pode ser adicionada no final do comando, como e m: $ kvm -cdrom win : .iso -h da xp.img -m 256 -boot d -n o-acpi Depois de instalado o sistema dentro da V M, o comando para inicializ -la da em dia be m mais simple s, indicando apenas o disco virtual e a quantidade de mem <ria re servada, como em: $ kvm -h da u bun tu.img -m 512 Para facilitar, crie cone s de atalho para a s V Ms criadas. Basta indicar o comando, especificando o caminho completo para o arquivo do disco virtual:

O KV M inclui um sistema de compartilhamento de conexo, que simplesmente compartilha a conexo de rede via NAT, permitindo que o siste ma gue st confi g ure a rede via DHC P. Graas a isso, voc7 no precisa exe cutar nenhum passo adicional para que a V M ace sse a web, basta deixar que ela obtenha a configurao de rede via DHC P durante a instalao. Este - net nic - net user", que pre cisavam ser espe cificadas modo equivalente s op 9e s " manualmente e m vers 9e s antigas. Concluindo, se ao abrir a V M voc7 re ceber um erro como: open / dev/kvm: Permission denied Could not initialize KV M, will disable KV M support significa que o KV M no e st carregado, ou que (mais provvel) as permiss 9e s de ace sso ao dispositivo virtual no foram ajustadas corretamente ao instalar o pacote. Ne sse caso, carregue o m <dulo ( apenas por desencargo) e ajuste as permiss 9es manualmente, como em:

# modprobe kvm # chown root:kvm /dev/kvm # adduser gdh kvm Se voc o =nico que utiliza o PC, pode simplesmente abrir as permisses do dispositivo, de modo a no precisar mais se preocupar com isso: # chmod 666 /dev/kvm A principal limitao do KVM que ele funciona apenas em processadores com suporte a virtualizao via hardware, o que deixa de fora a maioria das mquinas antigas. Voc pode checar se o processador possui ou no suporte > virtualizao usando o comando " cat /proc/cpuinfo", onde o campo "flags" deve incluir o "vmx" ou o "svm", como em: flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch

? necessrio tambm que o suporte a virtualizao esteja ativado no Setup (caso a opo esteja disponvel. Procure pela opo "Enable SVM" ou "Virtualization support".
Caso o processador no suporte nenhum dos dois, voc ainda poder usar o Qemu em modo de emulao (usando os mesmos comandos), mas tudo ficar muito lento. Nesse caso, o melhor seria partir para o VMware ou o VirtualBox, que no dependem de suporte especial por parte do processador.

Vous aimerez peut-être aussi