Virtualização com KVM no Red Hat

Publicado por Luiz Felipe Grillo em 20/06/2011

[ Hits: 19.954 ]

 


Virtualização com KVM no Red Hat



Introdução:

Este procedimento descreve como configurar o KVM e criar máquinas virtuais no Red Hat.

Preparando o hardware

Antes de iniciar, tenha certeza de que seu hardware tem a feature de virtualização e a mesma está habilitada.

Caso não esteja, entre na BIOS, nas opções do processador e procure a opção de virtualização para ativá-la.

Apanhei um pouco com isso :P

Preparando seu Red Hat para baixar os pacotes de virtualização


Obs.: Caso você esteja utilizando uma distro diferente da Red Hat, pule esta etapa.

Para que seja possível baixar os pacotes de virtualização, acesse o RHN:
Selecione o sistema que você está configurando.

Entre nas propriedades do sistema e selecione a checkbox "Virtualization"

Agora já é possível baixar os pacotes!

Instalando os pacotes necessários

Baixe os pacotes do KVM e as libs necessárias, conforme abaixo:

# yum install kvm virt-manager libvirt libvirt-python python-virtinst

Configurando a bridge

Para configurar a bridge, para que seja possível acessar as máquinas virtuais como se fossem máquinas comuns conectadas à rede local, faça o seguinte:

Instale o pacote bridge-utils com o comando:

# yum install bridge-utils

Pare os serviços NetworkManager e network:

# service NetworkManager stop
# service network stop

Entre no diretório /etc/sysconfig/network-scripts e crie o diretorio bkp/.

Copie os arquivos ifcfg-eth* para o diretório bkp/ para salvar as configurações originais. Na verdade, eu movimentei aqui todos os arquivos das placas que não estou utilizando, deixando apenas o ifcfg-eth0 que é a placa onde vou criar a bridge.

O conteúdo do meu arquivo ifcfg-eth0 está assim:

DEVICE=eth0
HWADDR=B8:AC:6F:12:A6:85
ONBOOT=yes
BRIDGE=kvmbr0


Crie agora o arquivo ifcfg-kvmbr0 (Arquivo de configuração da bridge a ser criada):

DEVICE=kvmbr0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.14.16.28
NETMASK=255.255.254.0
GATEWAY=10.14.16.1
DELAY=0


Feito isso, reinicie a rede:

# service network start

Veja a bridge criada com o comando:

# brctl show

Para ajudar na performance, edite o arquivo /etc/sysctl.conf adicionando as seguintes linhas:

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0


Para ativar as novas configurações, salve o arquivo e execute o comando:

# sysctl -p /etc/sysctl.conf

A placa de rede agora está configurada para que as VMs (Máquinas Virtuais) utilizem a bridge para acessar a rede local.

Finalmente: Criando uma VM

Criar as VMs é a tarefa mais fácil!

Com usuário root, execute:

# virt-manager

Clique com o botao direito na conexão qemu e selecione New.

Informe um nome para o servidor virtual.

No meu caso, como tenho a feature de virtualização na CPU, apenas o modo de virtualização Fully virtualized está disponível.

Para usar o método paravirtualizado, verifique as documentações da red hat em: Em seguida, selecione a mídia de instalação (normalmente, um arquivo .iso da distro a ser instalada na VM).

A partir daqui, basta dimensionar o disco, CPU e memória a serem utilizados na VM.

No meu caso, criei um filesystem apenas para abrigar as imagens de discos das VMs (montado em /vm) e todas minhas VMs ficarão lá. Aloquei 30GB (dinamicamente expansível), 8GB de RAM e 2 CPUs virtuais para ajudar nos processos multithread =).

Que a força esteja com você!


Outras dicas deste autor

Listar o modelo e o serial number da máquina no Linux

Configurar fontes MS True Type no Linux

Fedora Core 6 com suporte a MP3 no XMMS

Travando Msn por horario usando iptables

Leitura recomendada

Recebendo e enviando emails pelo GMail usando o Thunderbird

Instalando Kernel 2.6.39.2 no Slackware 12

Manipulação de grupos

Criar disquete de boot de instalação do Debian

Sensible-browser, x-www-browser e afins (sensible-*)

  

Comentários
[1] Comentário enviado por david fonseca em 12/07/2011 - 09:23h

Bom dia amigo seguir seu tuto e deu tudo certo ...

mas so falta uma coisa

q diretório coloco a imagem do SO para montar no " virt-manager "

[2] Comentário enviado por quig0n em 13/07/2011 - 21:46h

ola,
a imagem pode ficar em qualquer diretorio... vc soh precisa especificar o caminho correto no virt-manager..
abcs!

[3] Comentário enviado por david fonseca em 14/07/2011 - 13:56h

mas pelo virt-manager ele so deixa eu pegar a imagem via HTTP/FTP .
ou seja a opcao de selecionar o iso direto nao tem ( tem mas não esta disponível )

[4] Comentário enviado por david fonseca em 06/01/2012 - 11:44h

mas pelo virt-manager ele so deixa eu pegar a imagem via HTTP/FTP .
ou seja a opcao de selecionar o iso direto nao tem ( tem mas não esta disponível

[5] Comentário enviado por quig0n em 07/01/2012 - 14:47h

No minimo eu diria que é esstranho!

Com qual usuario vc está abrindo o virt-manager? Abre a ferramenta como root!

[6] Comentário enviado por kram3r em 12/01/2012 - 03:28h

se não me engano é porque o davi fonseca está utilizando o sistema sem suporte a virtualização full.
Quando o sistema não pode ser virtualizado totalmente, ele necessita de um kernel modificado para poder 'instalar' o sistema a ser vitualizado. Um exemplo parecido seria o OpenVZ por exemplo.
Outro ponto interessante, é verificar se sua distribuição é 64Bits, se fo 32, é melhor reinstalar o sistema ok?

Mas vamos lá, faz o seguinte. Abre um terminal e executa os passos a seguir.
Para processador intel:
grep vmx /proc/cpuinfo

=== resultado ===
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida dts tpr_shadow vnmi flexpriority


Para processador AMD:
grep svm /proc/cpuinfo

como não tenho um processador AMD agora pra te mostrar o resultado, é só verificar se existe a flag SVM

Caso não tenha, verifique se o seu processador tem suporte a virtualização. Se há suporte, verifique na BIOS se o suporte a virtualização está habilitada.


[7] Comentário enviado por DebianWoman em 06/02/2013 - 22:17h

No caso eu criei um repositório local, pois não tenho RHN. Ao iniciar com o comando virt-manager ele pediu conexão com quemu ou xen. Alguém pode me ajudar, pois essa parte não ficou claro para mim.

Desde já obrigada pela atenção.

[8] Comentário enviado por quig0n em 07/02/2013 - 06:11h

Ola mulher do Debian!
Seu servidor subiu com a feature de virtualizacao habilitada na bios?
vc instalou tds os pacotes?
[]s

[9] Comentário enviado por DebianWoman em 07/02/2013 - 11:20h

Instalei todos os pacotes sim. Configurei tudo certo só que fiz em outra versão do RHEL5.5 x86_64 e deu tudo certo. A dificuldade está na hora de criar a VM, pois fully virtualization e nem a paravirtualização estão habilitadas, não permitindo que eu uso a iso que está no host.

[10] Comentário enviado por DebianWoman em 07/02/2013 - 12:15h

Virtualização KVM funciona dentro de uma outra máquina virtual ou tem que ser em uma máquina fisica.

[11] Comentário enviado por quig0n em 07/02/2013 - 13:28h

Boa tarde! tem q ser fisica... []s

[12] Comentário enviado por Denis Roberto em 17/09/2015 - 11:58h

O que as seguintes linhas fazem?

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts