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:

# 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

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

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:~#

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
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.