KVM

O que é KVM?núcleo

O que é KVM?núcleo

A virtualização se refere à criação de um recurso de computação simulado que imita o comportamento do recurso real ou físico correspondente. Muitos tipos de recursos podem ser virtualizados, de software a dispositivos de hardware individuais e plataformas de hardware completas. Esta postagem se concentra em máquinas virtuais que compreendem dispositivos como CPU, memória, placa de rede, disco, adaptador gráfico e o sistema operacional. O software que cria e executa máquinas virtuais é chamado de hipervisor. Abaixo, discutiremos os recursos de um hipervisor chamado KVM.

Benefícios da virtualização

No passado, ser homogêneo era o modus operandi em data centers, casas de desenvolvimento e em casa. Praticamente, todas as máquinas executariam a mesma versão de um único sistema operacional, seja Linux, Windows ou FreeBSD. Os tempos mudaram.

Hoje, esperamos sistemas operacionais diferentes, como Linux e Windows, e até mesmo versões diferentes de um sistema operacional (e.g., Windows XP e 10) para co-localizar no mesmo ambiente de computador. Sem máquinas virtuais, várias máquinas físicas devem ser implantadas e mantidas, a fim de executar aplicativos em várias plataformas operacionais. A virtualização permite a execução de várias máquinas virtuais, cada uma potencialmente com um sistema operacional diferente, em uma única máquina física.

As vantagens das máquinas virtuais sobre as físicas incluem:

  1. Uso mais eficiente dos recursos do computador.
    O preço do hardware continua tendendo para baixo enquanto seu poder de processamento continua aumentando. Sob esta realidade, muitas máquinas grandes e poderosas hoje tendem a ser subutilizadas, conforme medido por ciclos de CPU ociosos, memória não utilizada, etc. A consolidação de máquinas virtuais em menos máquinas físicas resulta em menos recursos físicos e, portanto, melhor eficiência.
  1. I melhorado.T. capacidade de resposta e produtividade.
    O provisionamento de novo hardware físico envolve um longo período de espera de aquisição, seguido por um longo período de instalação e implantação após sua chegada. Em contraste, o provisionamento de máquinas virtuais pode ser automatizado e disponibilizado em minutos, em vez de dias ou mesmo semanas que a aquisição de máquina tradicional às vezes leva.
  1. Economia de custo.
    Big data centers economizarão dinheiro devido aos custos operacionais mais baixos. A economia vem na forma de contas de energia reduzidas como resultado de menores requisitos de refrigeração e energia.

Apresentando KVM

Máquina virtual baseada em kernel, ou KVM em suma, é uma solução de hipervisor gratuita e de código aberto. Ele compete em uma indústria madura com alternativas de código aberto, como Xen, VirtualBox, bem como produtos proprietários como VMware vSphere, Citrix XenServer, Microsoft Hyper-V.

Antes de 2005, as soluções de hipervisor da época, como Xen e VirtualBox, eram todas baseadas em software. A arquitetura x86 simplesmente não oferecia suporte para virtualização.  Em 2005, a introdução das extensões do conjunto de instruções Intel VT e AMD-V mudou permanentemente o panorama da virtualização. O KVM lançou sua primeira versão em 2006 e foi um dos primeiros hipervisores a aproveitar as vantagens da nova provisão de hardware para otimizar o desempenho da virtualização.

Você pode instalar o KVM em qualquer computador x86 de 32 ou 64 bits, a 'máquina host' na linguagem hipervisória, que suporta a extensão Intel VT ou AMD-V. Hoje, os hipervisores modernos geralmente oferecem suporte à virtualização híbrida: assistida por hardware quando possível e um failover para software apenas para chipsets mais antigos.

KVM é categorizado como um hipervisor tipo 2, o que significa que ele é executado em um sistema operacional host. Como o próprio nome sugere, o KVM é baseado em kernel e, para ser mais preciso, é o kernel Linux. Portanto, não é surpreendente que o KVM suporte apenas Linux como seu sistema operacional host. (KVM foi posteriormente portado para FreeBSD.) Se você deseja um hipervisor de plataforma múltipla de código aberto tipo 2, o VirtualBox é um bom candidato. VirtualBox pode ser executado nativamente em Windows, Linux, Mac OS X e Solaris.

O Xen, em contraste, é um hipervisor tipo 1, também conhecido como hipervisor bare-metal, que é executado diretamente como firmware na máquina host. A vantagem do tipo 1 sobre o tipo 2 é a eficiência obtida devido ao hipervisor rodar diretamente no hardware subjacente. A desvantagem é que um hipervisor tipo 1 pode não suportar uma gama tão ampla de dispositivos host quanto o sistema operacional host de um hipervisor tipo 2.

Embora os hipervisores possam diferir quanto à necessidade de um sistema operacional host e de quais, eles são muito semelhantes em relação aos sistemas operacionais convidados que oferecem suporte, ou seja, o sistema operacional que uma máquina virtual pode executar. O KVM suporta a virtualização dos seguintes sistemas operacionais convidados:

KVM é capaz de executar imagens de sistema operacional convidado não modificadas. Esse recurso é conhecido como virtualização completa, em oposição à para-virtualização, onde o sistema operacional convidado é modificado para tratamento especial de operações que são substancialmente mais difíceis de executar na máquina virtual do que na máquina host.


Como funciona o KVM

KVM consiste em 2 componentes de tecnologia: kernel e espaço do usuário. O componente kernel consiste em 2 módulos de kernel carregáveis: kvm.ko, e kvm-intel.ko ou kvm-amd.ko. O kvm.O módulo ko fornece processamento de virtualização independente de arquitetura central. O kvm-intel.ko e kvm-amd.os módulos ko correspondem aos módulos específicos dos processadores Intel e AMD. Esses módulos foram integrados ao kernel do Linux a partir da versão 2 do kernel.6.20.

A forte integração do KVM com o kernel Linux tem suas vantagens. KVM é capaz de delegar ao Linux para fazer o trabalho pesado do sistema, enquanto se concentra em lidar com as novas instruções de virtualização expostas pelo hardware. KVM também se beneficia por herdar de qualquer melhoria contínua do sistema de upstream na comunidade Linux maior.

Importante que os módulos do kernel são, eles não emulam o hardware da máquina virtual em que o sistema operacional convidado é executado. Esse trabalho pertence ao espaço do usuário. KVM usa QEMU, que é executado no espaço do usuário, para construir as máquinas virtuais que interagem com os sistemas operacionais convidados.  Cada máquina virtual é simplesmente um processo regular do Linux. Um grande benefício é que você pode usar comandos Linux familiares, como top e kill para monitorar e gerenciar máquinas virtuais.


Resumo e conclusão

KVM é uma excelente solução de código aberto para virtualização completa na plataforma host Linux. Após mais de 10 anos de desenvolvimento ativo, o KVM se tornou a ferramenta de virtualização de nível de máquina padrão de fato em muitas distribuições Linux.

Como usar o Xdotool para estimular cliques do mouse e pressionamentos de tecla no Linux
Xdotool é uma ferramenta de linha de comando gratuita e de código aberto para simular cliques do mouse e pressionamentos de tecla. Este artigo irá cob...
Os 5 principais produtos ergonômicos de mouse de computador para Linux
O uso prolongado do computador causa dor no pulso ou nos dedos? Você está sofrendo de rigidez nas articulações e constantemente precisa apertar as mão...
Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...