Virtualização com KVM no Debian PDF Imprimir E-mail
Escrito por RibamarFS   
Qua, 22 de Junho de 2011 00:40

Virtualização com KVM no Debian Squeeze


Dados
Servidor dnocs5.dnocs.gov.br    - 192.168.1.50
Desktop com Ubuntu 11.04


Checar se processador suporta virtualização nativamente
egrep '(vmx|svm)' --color=always /proc/cpuinfo

Se tiver suporte retorna vmx ou svm

Instalar KVM e virtinst
apt-get install kvm qemu-kvm libvirt-bin virtinst

Adicionar usuário atual aos grupos
adduser `id -un` libvirt
adduser `id -un` kvm

Checar instalação
virsh -c qemu:///system list

Instalar bridge-utils
apt-get install bridge-utils

Configurar rede com bridge
nano /etc/network/interfaces

# 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
#allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

/etc/init.d/networking restart

ifconfig


Instalar virt-viewer ou virt-manager no Ubuntu 11.04 Desktop
sudo apt-get install virt-manager

Criar VM via linha de comando baseada em imagem

man virt-install

Para criar uma VM Debian Squeeze (em modo bridge) com nome dnocs51, 512MB de RAM, 2 virtual CPUs e a imagem do disco /var/lib/libvirt/images/dnocs51.img 
(com o tamanho de 35GB), inserir o CD do Debian Squeeze Netinstall no drive e rodar

virt-install --connect qemu:///system -n dnocs51 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/dnocs51.img,size=35 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm

Podemos criar uma imagem do CD e instalar com ela:
dd if=/dev/cdrom of=/var/lib/libvirt/images/debian-6.0.0-amd64-netinst.iso

virt-install --connect qemu:///system -n dnocs51 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/dnocs51.img,size=12 -c /var/lib/libvirt/images/debian-6.0.0-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm


Conectar para o Desktop

Abra o Virt Manager e conecte ao servidor

Abra a VM dnocs51

Entre com a senha e instale o Debian.

Após finalizar a instalação acesse o servidor e execute:
virsh --connect qemu:///system

start vm10
quit

Agora pode conectar para a VM pelo Desktop ou via SSH.


Também podemos criar VM diretamente pelo Virt Manager, que é bastante simples.


Gerenciando VM pela linha de comando com virsh
virsh --connect qemu:///system
define /etc/libvirt/qemu/dnocs51.xml
help


Criar VM baseada em LVM

pvcreate /dev/sda6
vgcreate vg0 /dev/sda6
lvcreate -L35G -n dnocs52 vg0


Criando a VM
virt-install --connect qemu:///system -n dnocs52 -r 512 --vcpus=2 --disk path=/dev/vg0/dnocs52 -c /var/lib/libvirt/images/debian-6.0.0-amd64-netinst.iso --vnc --noautoconsole --os-type linux --osvariant debiansqueeze --accelerate --network=bridge:br0 --hvm 

Instale de acordo com o exemplo anterior.


Convertendo VM baseadas em imagens em VM baseadas em LVM

- Parar a VM

virsh --connect qemu:///system
shutdown dnocs51
quit

Criar o volume logico /dev/vg0/dnocs51 com o mesmo tamanho da imagem

lvcreate -L35G -n dnocs51 vg0

Duas formas de converter:
- Primeira
qemu-img convert /var/lib/libvirt/images/dnocs51.img -O host_device /dev/vg0/dnocs51

- Segunda
qemu-img convert /var/lib/libvirt/images/dnocs51.img -O raw /var/lib/libvirt/images/dnocs51.raw
dd if=/var/lib/libvirt/images/dnocs51.raw of=/dev/vg0/dnocs51
rm -f /var/lib/libvirt/images/dnocs51.raw

Então podemos excluir a imagem com:
rm -f /var/lib/libvirt/images/dncos51.img

Ajustar algumas seções do script para
nano /etc/libvirt/qemu/dnocs51.xml
...

<disk type=*block* device=*disk*>
<driver name=*qemu* type=*raw*/>
<source dev=*/dev/vg0/dnocs51*/>
<target dev=*vda* bus=*virtio*/>
<address type=*pci* domain=*0x0000* bus=*0x00* slot=*0x04* function=*0x0*/>
</disk>

...

Troque todos os * por aspas simples.

Redefinir a VM
virsh --connect qemu:///system
define /etc/libvirt/qemu/dnocs51.xml
start dnocs51
quit


Referência
http://www.howtoforge.com/virtualization-with-kvm-on-a-debian-squeeze-server

 

Adicionar comentário


Código de segurança
Atualizar