Jump to section

KVM | Máquina virtual baseada em Kernel

Copiar URL

A máquina virtual baseada em kernel (KVM) é uma tecnologia de virtualização open source baseada no Linux®. Com a KVM 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 (VMs).

A KVM é parte do Linux. Se a sua versão do Linux é 2.6.20 ou mais recente, então você tem a KVM. A KVM foi anunciada em 2006 e incorporada à versão principal do kernel Linux no ano seguinte. Como a KVM é parte do código do Linux existente, ela aproveita imediatamente todas as funcionalidades, correções e avanços novos do Linux sem engenharia adicional.

A KVM converte o Linux em um hipervisor de tipo 1 (bare-metal). Para executar máquinas virtuais, todos os hipervisores precisam de alguns componentes no nível do 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 inclui todos esses componentes porque faz parte do kernel Linux. Cada máquina virtual é implementada como um processo comum do Linux, agendado pelo programador padrão do sistema com um hardware virtual dedicado, como uma placa de rede, adaptador de vídeo, CPUs, memória e discos.

Como implementar a KVM

Em resumo, para implementar a KVM, é preciso executar uma versão do Linux que tenha sido lançada após 2007, e ela precisa ser instalada em hardware X86 que ofereça suporte a recursos de virtualização. Se ambos os critérios forem atendidos, basta carregar dois módulos existentes (um de kernel host e um específico do processador), um emulador e qualquer driver que o ajude a executar sistemas adicionais.

No entanto, implementar a KVM em uma distribuição Linux compatível, como o Red Hat Enterprise Linux, amplia os recursos da KVM. Assim, é possível trocar recursos entre guests, compartilhar bibliotecas comuns, melhorar o desempenho do sistema e muito mais.

 

A criação de uma infraestrutura virtual em uma plataforma fornecida por contrato limita o acesso ao código-fonte. Isso significa que seus desenvolvimentos de TI provavelmente serão soluções alternativas, em vez de inovações. E o próximo contrato pode impedir que você invista em nuvens, containers e automação. Ao migrar para uma plataforma de virtualização baseada em KVM, é possível verificar, modificar e aprimorar o código-fonte do hipervisor. E não é necessário um contrato de licença corporativo, já que não há código-fonte para proteger. Tudo é seu.

A KVM é parte do Linux. O Linux é parte da KVM. A KVM tem as mesmas funcionalidades do Linux. No entanto, ela inclui funcionalidades específicas que a transformam em um hipervisor bastante usado pelas empresas.

Segurança

A KVM combina o Security-Enhanced Linux (SELinux) e a virtualização segura (sVirt) para aprimorar o isolamento e a proteção das máquinas virtuais. O SELinux estabelece os limites de segurança nas máquinas virtuais. Já a sVirt amplia os recursos do SELinux para aplicar a segurança gerada pelo controle de acesso obrigatório (MAC) às máquinas virtuais guest e impedir os erros da rotulagem manual.

Armazenamento

A KVM aceita qualquer armazenamento compatível com o Linux, incluindo determinados discos locais e o armazenamento NAS. É possível usar E/S em vários caminhos para aprimorar o armazenamento e gerar redundância. A KVM também oferece suporte a sistemas de arquivos compartilhados para que as imagens de máquina virtual sejam compartilhadas por vários hosts. E como as imagens de disco são compatíveis com o provisionamento fino, você aloca o armazenamento sob demanda, e não tudo de uma vez logo no começo.

Suporte a hardware

A KVM usa uma ampla variedade de plataformas de hardware certificadas com suporte do Linux. Como os fornecedores de hardware contribuem regularmente para o desenvolvimento do kernel, os recursos de hardware mais recentes costumam ser adotados com rapidez no kernel do Linux.

Gerenciamento de memória

A KVM herda as funcionalidades de gerenciamento de memória do Linux, incluindo acesso não uniforme à memória e a mesclagem da mesma página do kernel. A memória de uma máquina virtual pode ser trocada, aprimorada por volumes grandes para aumentar o desempenho e compartilhada ou apoiada por um arquivo de disco.

Migração ao vivo

A KVM é compatível com a migração ao vivo, que é a capacidade de mover uma máquina virtual em execução entre hosts físicos sem interromper o serviço. A máquina virtual continua ligada, as conexões de rede permanecem ativas, e as aplicações continuam em execução durante essa realocação. A KVM também salva o estado atual de uma máquina virtual para armazená-la e retomá-la depois.

Desempenho e escalabilidade

A KVM herda o desempenho do Linux, escalando para atender à carga da demanda caso o número de máquinas guest e solicitações aumente. Com a KVM, é possível virtualizar as cargas de trabalho das aplicações mais exigentes. Ela é a base de muitas configurações de virtualização empresariais, como datacenters e nuvens privadas (por meio do OpenStack®).

Agendamento e controle de recursos

No modelo da KVM, a máquina virtual é um processo do Linux programado e gerenciado pelo kernel. O programador do Linux possibilita o controle de alta granularidade dos recursos alocados em um processo do sistema. Além disso, ele assegura a qualidade do serviço em processos específicos. Na KVM, isso inclui o programador totalmente justo, grupos de controle, namespaces de rede e extensões em tempo real.

Menos latência e mais priorização

O kernel Linux inclui extensões em tempo real para que apps baseadas em máquina virtual sejam executadas com menos latência e mais priorização (em comparação com o bare-metal). O kernel também divide processos que exigem longos tempos de computação em componentes menores, que depois são agendados e processados de acordo.

É possível gerenciar manualmente determinadas máquinas virtuais iniciadas em uma estação de trabalho sem precisar de ferramentas correspondentes. Empresas de grande porte usam o software de gerenciamento da virtualização que cria uma interface entre os ambientes virtuais e o hardware físico subjacente para simplificar a administração de recursos, aprimorar as análises de dados e otimizar as operações. A Red Hat criou o Red Hat Virtualization especialmente para essa finalidade.

Acreditamos tanto na KVM que ela é o único hipervisor de todas as nossas soluções de virtualização. Além disso, estamos sempre aprimorando o código do kernel fazendo contribuições com a comunidade da KVM. No entanto, como a KVM faz parte do Linux, ela já vem incluída no Red Hat Enterprise Linux.

Leitura recomendada

ARTIGO

Diferença entre containers e máquinas virtuais (VMs)

Containers Linux e máquinas virtuais são ambientes de computação empacotados que combinam diversos componentes de TI e os isolam do restante do sistema.

ARTIGO

O que é uma máquina virtual (VM)?

Uma máquina virtual (VM) ou virtual machine é um ambiente de computação isolado, criado a partir da abstração de recursos de uma máquina física.

ARTIGO

O que é KVM?

As máquinas virtuais baseadas em Kernel (KVM) são uma tecnologia de virtualização open source que transforma o Linux em um hipervisor.

  • A marca nominativa e o logotipo do OpenStack® são marcas registradas/marcas de serviço ou marcas comerciais/marcas de serviço da OpenStack Foundation nos Estados Unidos e em outros países, usadas com a permissão da OpenStack Foundation. Não temos afiliação, endosso ou patrocínio da OpenStack Foundation nem da comunidade OpenStack.