Salim Aouar - ensinando para transformar!

O que é a Virtualização com KVM (Kernel-based Virtual Machine)?

Entenda os conceitos e definições sobre Virtualização no Linux com KVM (Kernel-based Virtual Machine).

Por Salim Aouar dia em Virtualização

O que é a Virtualização com KVM (Kernel-based Virtual Machine)?
  • Compartilhe esse post
  • Compartilhar no Facebook00
  • Compartilhar no Google Plus00
  • Compartilhar no Twitter

Muito bem... hoje terei a grata satisfação de falar para você sobre Virtualização com KVM (Kernel-based Virtual Machine), que já utilizo há 6 anos em meus ambientes de produção, quando substituí o Xen!

Mas, antes de adentrarmos no mundo KVM, precisamos deixar algumas definições mais claras, ok?! Então vamos lá...

- A Virtualização
É uma tecnologia que permite criar vários ambientes simulados ou recursos dedicados a partir de um único sistema de hardware físico. Ou seja, pode-se criar diversas máquinas virtuais dentro de uma máquina física.

Imagine que você tenha 3 máquinas físicas, sendo uma para um Servidor DHCP, outra para um Firewall/Proxy, e outra para DNS. E, cada um desses serviços em execução não utilizem todos recursos da máquina. Por exemplo, a máquina com o DHCP tenha apenas 30% dos recursos utilizados, a máquina com firewall/proxy esteja com 30%, e a máquina com o DNS com 30% de utilização.

O que é a Virtualização com KVM (Kernel-based Virtual Machine)?

Repare que para cada uma das máquinas físicas, tem-se uma subutilização de recursos de harfware. Nesse sentido, a Virtualização ajuda muito na otimização da utilização dos recursos da máquina física.

Ou seja, você poderia ter apenas 1 máquina física e, a partir dela, criar 3 máquinas virtuais para atender aos serviços de DHCP, Firewall/Proxy e DNS. Compreende?!

O que é a Virtualização com KVM (Kernel-based Virtual Machine)?

Não vamos entrar muito a fundo nos conceitos de Virtualização, ok?! Mas, é muito interessante ter em mente esse conceito inicial.

FAÇA O DOWNLOAD GRATUITO DO MEU E-BOOK KVM PARA DESKTOPERS!!!

- O Hipervisor (Hypervisor)
Imagine agora uma máquina física com 3 máquinas virtuais em execução. A todo momento as Máquinas Virtuais necessitarão de recursos de hardware (memória, cpu, disco, etc). E, quem faz o monitoramento dessas máquinas virtuais??? Sim... isso mesmo... pelo Hypervisor!

O hipervisor geralmente é um software que faz a gerência das máquinas virtuais, possibilitando que a virtualização ocorra de forma organizada. É ele que fará a integração entre as máquinas virtuais e os recursos de hardware existentes.

O que é a Virtualização com KVM (Kernel-based Virtual Machine)?

Assim, o hipervisor faz com que uma máquina física se transforme num sistema Host (Hospedeiro), que poderá receber hóspedes (Guests), ou Máquinas Virtuais.

Existe a classificação de tipos de Hipervisores, depois dê uma lida aqui!

- A KVM (Kernel-based Virtual Machine)
Com a KVM (Kernel-based Virtual Machine) você pode transformar o Linux em um hipervisor, permitindo que uma máquina Host execute vários ambientes virtuais isolados, chamados máquinas Guest ou máquinas virtuais.

A KVM é parte integrante do Kernel do Linux a partir da versão 2.6.20. É mantido e desenvolvido na linha principal do kernel. Como a KVM é parte do código do Linux atual, ela aproveita imediatamente todos os recursos, correções e avanços novos do Linux sem engenharia adicional.

- Como a KVM funciona? "A KVM converte o Linux em um hipervisor tipo-1 (bare-metal). Para executar VMs, todos os hipervisores precisam de alguns componentes em nível de sistema operacional, como gerenciador de memória, agendador de processos, stack de entrada/saída (E/S), drivers de dispositivo, gerenciador de segurança, um stack de rede e muito mais. A KVM tem todos esses componentes por fazer parte do kernel do Linux. Toda máquina virtual é implementada como um processo regular do Linux que é programado pelo agendador do Linux padrão. Ele conta com hardware virtual dedicado, como placa de rede, adaptador de placa gráfica, CPU(s), memória e discos." Veja aqui outros conceitos.

O que é a Virtualização com KVM (Kernel-based Virtual Machine)?

- Posso executar virtualização com KVM? Basicamente deve-se atender a 2 premissas:
1 - ter uma versão do Kernel Linux posterior a 2007 - isto é fácil!!!;
2 - ter um processador x86 que forneça recursos de virtualização (Intel VT ou AMD-V) - a maioria dos processadores atuais possuem.

- Como saber se meu processador suporta KVM? Ele precisa ter as flags de virtualização ('vmx' para Intel, ou a flag 'svm' para AMD). Basta executar o seguinte comando para saber se existe uma das flags:

grep --color -E 'svm|vmx' /proc/cpuinfo

Além disso, é necessário habilitar na BIOS a 'Tecnologia de Virtualização'.

- Posso criar máquinas virtuais Windows através do KVM? Sim. Perfeitamente. Suas máquinas virtuais poderão ser criadas, inclusive, com ambientes gráficos.

- Como faço a gestão das Máquinas Virtuais? Pode-se fazer via linha de comando, através da ferramenta 'virsh'. Ou, de forma remota, através de uma ferramenta gráfica chamada 'virt-manager'. Caso tenha interesse, pesquise sobre o Proxmox, que tem um painel de gerência muito bacana também, e utiliza KVM para virtualização!

Você gostou deste artigo? Deixe sua mensagem aí nos Comentários. Você tem interesse de utilizar KVM para ambiente de testes e produção?

Bom pessoal... vou ficando por aqui! Acredito que já conseguimos esclarecer um pouco mais sobre o mundo da Virtualização. Espero que tenha compreendido as definições e um pouco sobre KVM.

KVM completou 10 anos. Tenho muita satisfação em fazer parte dos usuários dessa brilhante tecnologia. Já estou há 6 anos com diversas máquinas virtuais em execução com KVM. E posso afirmar que é uma tecnologia robusta, estável e muiiiito confiável!

FAÇA O DOWNLOAD GRATUITO DO MEU E-BOOK KVM PARA DESKTOPERS!!!

Posso te pedir uma ajuda? Compartilhe este artigo em suas redes sociais! É uma forma de levarmos conhecimento sério e de qualidade a um maior número de pessoas!

Abraços,
Salim Aouar.

  • Compartilhe esse post
  • Compartilhar no Facebook00
  • Compartilhar no Google Plus00
  • Compartilhar no Twitter

Deixe seu comentário aqui: