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/cpuinfodeverá 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-virtinstEntão inicie o daemon libvirt:
/etc/init.d/libvirtd startPara verificar se o KVM foi instalado com sucesso, execute
virsh -c qemu:///system listDeverá 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 onEntã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:
rebootApós a reinicialização, execute
ifconfigAgora 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-managerpara 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-installpara 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 --hvmClaro, 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 --hvmA 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 ~]#Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.