Virtualização com KVM

KVM (Kernel-based Virtual Machine)

KVM Banner Logo

KVM Banner Logo

Trata-se de uma solução de virtualização (Intel VT ou AMD-V). Consiste de um módulo de kernel kvm.ko, que fornece a infra-estrutura de virtualização do núcleo e um módulo de processador específico, kvm-intel.ko ou kvm-amd.ko. O KVM também requer um QEMU modificado.


Com o KVM, é possível executar múltiplas máquinas virtuais rodando imagens de GNU/Linux ou Windows. Cada máquina virtual tem hardware virtual privado: uma placa de rede, disco, placa gráfica, etc.
O componente KVM do kernel está incluído na árvore principal do mesmo desde a versão 2.6.20. O KVM é um software de código aberto.
Após uma breve explicação vamos instalar e configurar o KVM
Primeiramente vamos verificar se há o suporte de Virtualização em seu processador:
# grep -E ‘(vmx|svm)’ –color=auto /proc/cpuinfo
grep -E ‘(vmx|svm)’ –color=auto /proc/cpuinfo
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 pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save
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 pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save
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 pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save
Se nada em destaque aparecer, significa se seu processador não oferece suporte a virtualização e você não poderá prosseguir com esse post.
Mas no caso de positivo, instale os pacotes abaixo:
# apt-get install kvm qemu-kvm libvirt-bin virtinst
Vamos adicionar o usuário aos grupos libvirt e kvm:
# usermod -a -G libvirt ricardo
# usermod -a -G kvm ricardo
Obs.: Para que essas mudanças tenham efeito será necessário o logout do usuário e verifique com o comando abaixo se o usuário aparece nos grupos:
# groups
Vamos verificar se o KVM  foi corretamente instalado com o comando:
# virsh -c qemu:///system list
Id Name                           State
———————————-
Se nenhum erro aparecer podemos prosseguir com o post. Se o pacote bridge utils não estiver instalado instale-o:
# apt-get install bridge-utils
E para configurar vamos editar o arquivo /etc/network/interfaces para configurar a bridge:
Feito isso vamos reiniciar o serviço de rede:
# /etc/init.d/networking restart
CRIAR A MÁQUINA VIRTUAL
Para tal irei utilizar o virt-install para a instalação da máquina virtual (Debian):
# virt-install –connect qemu:///system -n debian_squeeze -r 1024 –vcpus=3 –disk path=/var/lib/libvirt/images/debian_squeeze.img,size=12 -c /dev/cdrom –vnc –noautoconsole –os-type linux –os-variant debiansqueeze –accelerate –network=bridge:br0 –hvm
Vamos utilizar um Desktop Ubuntu para a instalação do virt-manager e terminar a instalação

Depois de instalado vá em – Aplicativos – Ferramentas de sistema – Gerenciador de Máquinas Virtuais.
No virt-manager clique em – Arquivo – Adicionar Conexão
Clique em conectar, se for a 1a. conexão digite yes para armazenar o fingerprint do servidor ssh, e digite a senha.
Clique na máquina squeeze e depois em abrir
Faça a instalação do máquina virtual Debian Squeeze a seu gosto
Depois de instalado você terá uma máquina virtual utilizando o KVM, divirtam-se com a máquina recém criada.
Espero que tenham gostado do post e não se esqueçam de assinar o nosso portal.
Share

    Comments

    1. Ja lido um pouco sobre isso em uma revista, parece ser um projeto legal.
      Mas vc teria como fazer um comparativo entre outra soluções, tipo vantagens e desvantagens???

      • Rodrigo,
        Esse tipo de comparação pode ser origem de um novo post, como existem hoje algumas soluções de virtualização tanto para linux quanto para windows. Vamos elaborar um post com estas soluções, só não podemos prometer para agora.
        Abraços.

    2. Trabalho com o KVM.
      Muito boa ferramenta para virtualização. Otimo desempenho e facilidade para backup, principalmente incremental.
      mas acho que VMWare e HyperV tem mais recursos.
      VLW

    3. O Hyper-V está se tornando realmente interessante na versão do Windows 8 Server.
      Particularmente e atualmente, prefiro trababalhar com o XenServer que possui uma versão free bastante funcional.

    4. Muito bom,
      Porém fiquei com uma dúvida, como posso fazer as máquinas virtuais inicializarem quando a máquina for reiniciada, pois pretendo implantar um ambiente de teste virtualizado.
      fico grato pela resposta.

    5. Corrigindo a pergunta, como posso fazer as máquinas virtuais iniciarem junto com a máquina real,q uando a máquina real for reiniciada ?
      Fico grato pelo retorno.

      • Edson, esta opção é possível na interface de gerenciamento do Virt-Manager.
        Siga os passos:
        – Desligue sua VM;
        – Selecione a VM e clique em “Abrir”
        – Selecione o “I” Azul!!
        – Clique em “BootOptions”
        Verá a opção “Inicializar máquina virtual na inicialização do host”
        Basta marcar esta opção!
        Flw!

    6. Olá, cara eu uso KVM aqui na empresa, mas uso pq quando entrei aqui já era esta infra.. pretendo mudar no futuro para hyper-V server 2012, mas não agora…
      Mas estou querendo aderir o System Center VMM, vi que o SCVMM tem a opção de gerenciar tb servidores Xen… fiz um teste aqui se conseguiria adicionar um srv KVM, mas n consegui, ai fica minha pergunta…
      Tenho como gerenciar um srv KVM via SCVMM? ja que ele tem suporte ao Xen.
      Abraços.

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.