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

Virtualização Com KVM Em Um Servidor Fedora 11

Virtualização Com KVM Em Um Servidor Fedora 11

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 11. 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 11 com o nome do host server1.example.com e o endereço IP 192.168.0.100 aqui como meu host KVM.

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 Fedora 11 aqui.

2 Instalando KVM

Host KVM Fedora 11:

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

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

deveria 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

Deveria exibir algo como isto:

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

Desabilito o NetworkManager do Fedora e habilito a rede “normal”. O NetworkManager é bom para desktops onde as conexões de rede podem mudar (por exemplo, LAN vs. WLAN), mas em um servidor você geralmente não muda as conexões de rede:

chkconfig NetworkManager off  
chkconfig --levels 35 network on  
/etc/init.d/network restart

Verifique seu /etc/resolv.conf se ele listar todos os servidores de nomes que você configurou anteriormente:

cat /etc/resolv.conf

Se os servidores de nomes estiverem faltando, execute

system-config-network

e adicione os servidores de nomes que estão faltando novamente.

Para configurar a ponte, crie o arquivo /etc/sysconfig/network-scripts/ifcfg-br0 (por favor, use os valores 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

| # Networking Interface DEVICE=eth0 #BOOTPROTO=none #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 TYPE=Ethernet IPV6INIT=no USERCTL=no BRIDGE=br0 |

Então reinicie o sistema:

reboot

Após o reinício, execute

ifconfig

Deveria agora 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:113 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:91 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:16520 (16.1 KiB)  TX bytes:11889 (11.6 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:136 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:98 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:22152 (21.6 KiB)  TX bytes:14147 (13.8 KiB)  
          Interrupt:28 Base address:0x2000  
  
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:10 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:746 (746.0 b)  TX bytes:746 (746.0 b)  
  
virbr0    Link encap:Ethernet  HWaddr E2:54:14:EA:7A:01  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0  
          inet6 addr: fe80::e054:14ff:feea:7a01/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 b)  TX bytes:5156 (5.0 KiB)  
  
[root@server1 ~]#

3 Instalando o virt-manager Em Seu Desktop Fedora 11

Desktop Fedora 11:

Precisamos de um meio de conectar ao console gráfico de nossos convidados - podemos usar o virt-manager para isso. Estou assumindo que você está usando um desktop Fedora 11.

Torne-se root…

su

… e execute…

yum install virt-manager

… para instalar o virt-manager.

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

sudo aptitude install virt-manager

)

4 Criando Um Convidado Debian Lenny (Baseado em Imagem)

Host KVM Fedora 11:

Agora vamos voltar ao nosso host KVM Fedora 11.

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 Netinstall do 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 Netinstall do 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 progresso. Você pode reconectar ao console para completar 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.