Virtualização

O que é KVM?

A máquina virtual baseada em kernel (KVM) é uma tecnologia de virtualização open source baseada no Linux®. Especificamente, 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 você tem o Linux 2.6.20 ou uma versão mais recente, a KVM está incluída. A KVM foi anunciada pela primeira vez em 2006 e, um ano depois, inserida à versão de kernel do Linux da linha principal. 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.


Implementação da 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 no 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 módulo de kernel host e um específico do processador), um emulador e qualquer driver que o ajude a executar sistemas adicionais.

Recursos da KVM

Resumindo, a KVM é Linux.: A KVM é parte do Linux. O Linux é parte da KVM. Sendo assim, a KVM tem tudo que está presente no Linux. Mas há recursos específicos que fazem da KVM o hipervisor preferido das empresas.

Segurança

A KVM usa uma combinação de Security-Enhanced Linux (SELinux) e Secure Virtualization (sVirt) para garantir maior segurança e o isolamento de máquinas virtuais. O SELinux estabelece limites de segurança nas máquinas virtuais. O sVirt estende os recursos do SELinux, permitindo que a segurança do controle de acesso obrigatório (MAC) seja aplicada a máquinas virtuais guest e impedindo erros de identificação manual.

Armazenamento

A KVM pode usar qualquer armazenamento compatível com Linux, incluindo alguns discos locais e armazenamento de dados em rede (NAS). A E/S de multicaminho pode ser usada para melhorar o armazenamento e oferecer redundância. A KVM também oferece suporte a sistemas de arquivos compartilhados. Portanto, as imagens de máquina virtual podem ser compartilhadas por vários hosts. As imagens de disco oferecem suporte a provisionamento leve, alocando o armazenamento sob demanda, em vez de fazê-lo antecipadamente.

Suporte a hardware

A KVM pode usar 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 os recursos de gerenciamento de memória do Linux, incluindo acesso de memória não uniforme e fusão alinhada de kernel. A memória de uma máquina virtual pode ser trocada, contar com o suporte de grandes volumes para melhorar o desempenho e compartilhada ou suportada por um arquivo de disco.

Migração ao vivo

A KVM oferece suporte a migração ao vivo, que é a habilidade de migrar uma máquina virtual em execução entre hosts físicos, sem interrupção de serviço. A máquina virtual permanece ligada, as conexões de rede continuam ativas e as aplicações continuam em execução enquanto a máquina virtual é realocada. A KVM também salva o estado atual de uma máquina virtual, de modo que ela possa ser armazenada e reiniciada posteriormente.

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 aumentar. A KVM permite virtualizar as cargas de trabalho de aplicações mais exigentes e é a base para muitas configurações de virtualização corporativas, como datacenters e clouds privadas (por meio do OpenStack®).

Agendamento e controle de recurso

No modelo da KVM, uma máquina virtual é um processo do Linux, agendado e gerenciado pelo kernel. O agendador do Linux permite o controle de alta granularidade dos recursos alocados para um processo do Linux e garante a qualidade do serviço para um processo em particular. Na KVM, isso inclui um Completely Fair Scheduler, grupos de controle, namespaces de rede e extensões em tempo real.

Latência mais baixa e priorização mais alta

O kernel do Linux apresenta extensões em tempo real. Elas permitem que aplicações baseadas em máquinas virtuais sejam executadas a uma latência mais baixa, com priorização melhor (em comparação com 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.

Gerenciamento da KVM

É possível gerenciar manualmente uma série de máquinas virtuais vinculadas a uma única estação de trabalho sem uma ferramenta de gerenciamento. Grandes empresas usam o software de gerenciamento de virtualização que interage com os ambientes virtuais e o hardware físico subjacente para simplificar a administração de recursos, aprimorar análises de dados e otimizar as operações. A Red Hat criou o Red Hat Virtualization justamente com esse propósito.


KVM e Red Hat

Acreditamos tanto na KVM, que ela é o único hipervisor de todas as nossas soluções de virtualização. Além disso, sempre aperfeiçoamos o código do kernel com contribuições da comunidade da KVM. Mas como a KVM faz parte do Linux, ela já está incluída no Red Hat Enterprise Linux. Então, por que você precisaria do Red Hat Virtualization?

A Red Hat tem duas versões de KVM. A KVM que é fornecida com o Red Hat Enterprise Linux tem todas as funcionalidades de hipervisor com recursos básicos de gerenciamento, permitindo que os clientes executem até quatro máquinas virtuais isoladas em um único host. O Red Hat Virtualization contém uma versão avançada de KVM, que permite o gerenciamento corporativo de máquinas guest ilimitadas. Ele é ideal para uso na virtualização de datacenter, estações de trabalho técnicas, clouds privadas e no desenvolvimento ou na produção.

Você tem uma aplicação legada que exige um sistema operacional mais antigo? Talvez, você queira desenvolver uma nova aplicação em um ambiente de baixo risco. Você pode configurar o Red Hat Enterprise Linux como um hipervisor básico para ser executado em quatro máquinas virtuais isoladas em um único host.

Esta solução é tudo que você precisa. De verdade. Instale-a em qualquer ambiente, de hardware bare-metal a sistemas open source ou proprietário, e comece a implantar dezenas, ou até mesmo centenas, de máquinas virtuais com um hipervisor capaz de processá-las e uma plataforma de gerenciamento que facilita seu trabalho.

A marca nominativa e o logotipo OpenStack, em conjunto ou separados, são marcas comerciais ou registradas da OpenStack Foundation nos Estados Unidos e em outros países, usadas com a permissão da OpenStack Foundation. A Red Hat, Inc. não é afiliada, endossada ou patrocinada pela OpenStack Foundation ou pela comunidade OpenStack.

Você pode fazer muito mais com a virtualização