Académique Documents
Professionnel Documents
Culture Documents
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 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
+
:
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.