Virtualização · 5 min read · Feb 01, 2026

Virtualização Com KVM Em Um Servidor Fedora 10

Virtualização Com KVM Em Um Servidor Fedora 10

Versão 1.0
Autor: Falko Timme

Este guia explica como você pode instalar e usar o KVM para criar e executar máquinas virtuais em um servidor Fedora 10. Eu vou mostrar como criar máquinas virtuais baseadas em imagem e também máquinas virtuais que usam um volume lógico (LVM). KVM é a sigla para Kernel-based Virtual Machine e faz uso de virtualização de hardware, ou seja, você precisa de um CPU que suporte virtualização de hardware, por exemplo, Intel VT ou AMD-V.

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Estou usando um servidor Fedora 10 com o nome do host server1.example.com e o endereço IP 192.168.0.100 aqui como meu host KVM.

Antes de começarmos, certifique-se de que o SELinux está desativado. Abra /etc/selinux/config…

vi /etc/selinux/config

… e defina SELINUX como desativado:

| # Este arquivo controla o estado do SELinux no sistema. # SELINUX= pode ter um destes três valores: # enforcing - A política de segurança do SELinux é aplicada. # permissive - O SELinux imprime avisos em vez de aplicar. # disabled - Nenhuma política do SELinux é carregada. SELINUX=disabled # SELINUXTYPE= pode ter um destes dois valores: # targeted - Processos direcionados são protegidos, # mls - Proteção de Segurança de Múltiplos Níveis. SELINUXTYPE=targeted |

Execute

setenforce 0

… para que a alteração tenha efeito.

Também precisamos de um sistema desktop onde instalamos o virt-manager para que possamos nos conectar ao console gráfico das máquinas virtuais que instalamos. Estou usando um desktop Ubuntu 8.10 aqui.

2 Instalando KVM

Host KVM Fedora 10:

Primeiro verifique se sua CPU suporta virtualização de hardware - se este for o caso, o comando

egrep '(vmx|svm)' --color=always /proc/cpuinfo

deverá exibir algo, por exemplo, assim:

[root@server1 ~]# egrep '(vmx|svm)' --color=always /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 rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
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  
[root@server1 ~]#

Se nada for exibido, então seu processador não suporta virtualização de hardware, e você deve parar aqui.

Para instalar o KVM e o virtinst (uma ferramenta para criar máquinas virtuais), executamos

yum install kvm qemu libvirt python-virtinst

Então inicie o daemon libvirt:

/etc/init.d/libvirtd start

Para verificar se o KVM foi instalado com sucesso, execute

virsh -c qemu:///system list

Deverá exibir algo como:

[root@server1 ~]# virsh -c qemu:///system list  
 Id Name                 State  
----------------------------------  
  
[root@server1 ~]#

Se exibir um erro em vez disso, então algo deu errado.

Em seguida, precisamos configurar uma ponte de rede em nosso servidor para que nossas máquinas virtuais possam ser acessadas de outros hosts como se fossem sistemas físicos na rede.

Para fazer isso, instalamos o pacote bridge-utils…

yum install bridge-utils

… e configuramos uma ponte. Exclua os links de inicialização do sistema para o NetworkManager e crie links de inicialização do sistema para a rede:

chkconfig --del NetworkManager  
chkconfig --levels 235 network on

Então crie o arquivo /etc/sysconfig/network-scripts/ifcfg-br0 (por favor, use os valores de BOOTPROTO, DNS1 (mais quaisquer outras configurações de DNS, se houver), GATEWAY, IPADDR, NETMASK e SEARCH do arquivo /etc/sysconfig/network-scripts/ifcfg-eth0):

vi /etc/sysconfig/network-scripts/ifcfg-br0

| DEVICE=br0 TYPE=Bridge BOOTPROTO=static DNS1=145.253.2.75 GATEWAY=192.168.0.1 IPADDR=192.168.0.100 NETMASK=255.255.255.0 ONBOOT=yes SEARCH="example.com" |

Modifique /etc/sysconfig/network-scripts/ifcfg-eth0 da seguinte forma (comente BOOTPROTO, DNS1 (e todos os outros servidores DNS, se houver), GATEWAY, IPADDR, NETMASK e SEARCH e adicione BRIDGE=br0):

vi /etc/sysconfig/network-scripts/ifcfg-eth0

| # nVidia Corporation Unknown (0x0760) DEVICE=eth0 #BOOTPROTO=static #DNS1=145.253.2.75 #GATEWAY=192.168.0.1 HWADDR=00:1e:90:f3:f0:02 #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 ONBOOT=yes #SEARCH="example.com" BRIDGE=br0 |

Então reinicie o sistema:

reboot

Após a reinicialização, execute

ifconfig

Agora deverá mostrar a ponte de rede ( br0):

[root@server1 ~]# ifconfig  
br0       Link encap:Ethernet  HWaddr 00:1E:90:F3:F0:02  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:49 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:72 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:6477 (6.3 KiB)  TX bytes:10368 (10.1 KiB)  
  
eth0      Link encap:Ethernet  HWaddr 00:1E:90:F3:F0:02  
          inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:57 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:55 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:9912 (9.6 KiB)  TX bytes:8038 (7.8 KiB)  
          Interrupt:22 Base address:0xa000  
  
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0  
          inet6 addr: ::1/128 Scope:Host  
          UP LOOPBACK RUNNING  MTU:16436  Metric:1  
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)  
  
virbr0    Link encap:Ethernet  HWaddr 62:6D:75:53:9C:AD  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0  
          inet6 addr: fe80::606d:75ff:fe53:9cad/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 b)  TX bytes:5277 (5.1 KiB)  
  
[root@server1 ~]#

3 Instalando virt-viewer Ou virt-manager Em Seu Desktop Ubuntu 8.10

Desktop Ubuntu 8.10:

Precisamos de um meio de conectar ao console gráfico de nossos convidados - podemos usar o virt-manager (veja Gerenciamento de Convidados KVM Com Virt-Manager No Ubuntu 8.10) para isso. Estou assumindo que você está usando um desktop Ubuntu 8.10.

Execute

sudo aptitude install virt-manager

para instalar o virt-manager.

(Se você estiver usando um desktop Fedora 10, pode instalar o virt-manager da seguinte forma:

Torne-se root…

su

… e execute

yum install virt-manager

)

4 Criando Um Convidado Debian Lenny (Baseado em Imagem)

Host KVM Fedora 10:

Agora vamos voltar ao nosso host KVM Fedora 10.

Dê uma olhada em

man virt-install

para aprender como usá-lo.

Para criar um convidado Debian Lenny (em modo de ponte) com o nome vm10, 512MB de RAM, dois CPUs virtuais e a imagem de disco ~/vm10.qcow2 (com um tamanho de 12GB), insira o CD de instalação da Debian Lenny na unidade de CD e execute

virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm

Claro, você também pode criar uma imagem ISO do CD de instalação da Debian Lenny…

dd if=/dev/cdrom of=~/debian-500-amd64-netinst.iso

… e usar a imagem ISO no comando virt-install:

virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm

A saída é a seguinte:

[root@server1 ~]# virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm  

Iniciando a instalação...  
Criando arquivo de armazenamento...                                                 |  12 GB     00:00  
Criando domínio...                                                                 |    0 B     00:00  
A instalação do domínio ainda está em andamento. Você pode se reconectar ao  
console para concluir o processo de instalação.  
[root@server1 ~]#
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.