Virtualização com KVM
KVM (Kernel-based Virtual Machine)
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 10.5.1.60 network 10.5.1.0 netmask 255.255.255.0 broadcast 10.5.1.255 gateway 10.5.1.254 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off |
# /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
1 2 3 4 5 6 | Starting install... Allocating 'debian_squeeze.img' | 12 GB 00:00 Creating domain... | 0 B 00:00 Domain installation still in progress. You can reconnect to the console to complete the installation process. root@debian:~# |
Depois de instalado vá em – Aplicativos – Ferramentas de sistema – Gerenciador de Máquinas Virtuais.
No virt-manager clique em – Arquivo – Adicionar Conexão
1 2 3 | Hypervisor: QEMU/KVM Conexão: Túnel remoto por SSH Nome da máquina: 10.5.1.60 |
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.
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.
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
Realmente o KVM é muito bom, mas como você mesmo disse outras soluções possuem mais recursos. Acredito que o KVM irá crescer, pois grandes empresas estão investindo nesta tecnologia.
Abraços
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.
Artur,
Obrigado pelo comentário e compartilhar sua opinião sobre o Hyper-V e XenServer.
Abraços
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.
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!
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.