Jump to section

O que é um hipervisor?

Copiar URL

Um hipervisor é um software que cria e executa máquinas virtuais (VMs). Às vezes chamado de monitor de máquina virtual (VMM), ele isola o sistema operacional e seus recursos, viabilizando a criação e o gerenciamento de máquinas virtuais

O hardware físico, quando utilizado como hipervisor, é chamado de host e as máquinas virtuais que utilizam os recursos do host são chamadas de guests.

O hipervisor trata os recursos (CPU, memória e armazenamento, por exemplo) como um pacote que pode ser movimentado, com facilidade, entre guests existentes ou para novas máquinas virtuais.

Para executar máquinas virtuais, 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 dispositivos, gerenciador de segurança, stack de rede, entre outros.

O hipervisor disponibiliza para cada máquina virtual os recursos alocados e gerencia o agendamento dos recursos da VM em relação aos recursos físicos. O hardware físico ainda realiza a execução, então a CPU ainda executa as instruções conforme solicitado pelas VMs, por exemplo, enquanto o hipervisor gerencia o agendamento.

Vários sistemas operacionais podem ser executados lado a lado e compartilhar os mesmos recursos de hardware virtualizados por meio de um hipervisor. Esse é um dos principais benefícios da virtualização. Sem ela, você só consegue executar um sistema operacional no hardware. 

Existem muitas opções de hipervisores de fornecedores tradicionais  open source. A VMware é uma opção popular para a virtualização. Ela oferece o hipervisor ESXi e a plataforma de virtualização vSphere.

Já a máquina virtual baseada em Kernel (KVM) é open source e está integrada ao kernel Linux®. Outras opções são o Xen, que é open source, e Microsoft Hyper-V. 

Existem dois tipos diferentes de hipervisores que podem ser usados para virtualização.

Tipo 1

Um hipervisor tipo 1, também conhecido como hipervisor nativo ou bare metal, é executado diretamente no hardware do host para gerenciar sistemas operacionais guest. Ele substitui um sistema operacional host, e os recursos da VM são agendados diretamente no hardware pelo hipervisor. 

Esse tipo de hipervisor é mais comum em data centers empresariais e outros ambientes baseados em servidor.

KVM, Microsoft Hyper-V e VMware vSphere são exemplos de hipervisores tipo 1. O KVM foi incorporado ao kernel do Linux em 2007. Então, se está usando uma versão moderna do Linux, você já tem acesso a ele. 

Tipo 2

Um hipervisor tipo 2, também conhecido como hipervisor hospedado, é executado em um sistema operacional convencional como uma camada de software ou aplicação.

Ele abstrai os sistemas operacionais guest do sistema operacional host. Os recursos da VM são agendados em um sistema operacional host, que é então executado no hardware. 

Um hipervisor tipo 2 é melhor para usuários individuais que querem executar vários sistemas operacionais em um computador pessoal. 

VMware Workstation e Oracle VirtualBox são exemplos de hipervisores tipo 2. 

A princípio, containers e VMs parecem semelhantes. Ambos são ambientes de computação empacotados que combinam vários componentes de TI e os isolam do resto do sistema. A diferença entre eles está na escala e a portabilidade. 

Um container Linux é um conjunto de um ou mais processos organizados isoladamente do restante do sistema. Ele permite que o processo acesse apenas as solicitações de recursos que foram especificadas. Essas limitações de recursos asseguram que o container possa ser executado em um com capacidade suficiente.

As VMs contêm seus próprios sistemas operacionais (SOs), o que permite que elas executem várias funções com uso intensivo de recursos simultaneamente. A maior disponibilidade de recursos para as máquinas virtuais permite que elas extraiam, dividam, dupliquem e repliquem servidores, sistemas operacionais, desktops, bancos de dados e redes

Um hipervisor também permite executar vários sistemas operacionais em VMs, enquanto os containers só conseguem executar um. Por exemplo, um container em execução em um servidor Linux só pode executar um sistema operacional Linux. 

Às vezes, os containers são considerados substitutos dos hipervisores. Essa visão não é totalmente precisa, pois os containers e a virtualização atendem a necessidades diferentes.

As máquinas virtuais oferecem um ambiente isolado do resto do sistema, garantindo que o que está sendo executado no hardware do host não sofra interferência alguma do que está sendo executado na VM.

Como as VMs são isoladas, mesmo em caso de comprometimento de uma VM, o sistema como um todo não deve ser afetado. 

Contudo, uma invasão do hipervisor pode comprometer todas as máquinas virtuais gerenciadas por ele, expondo os dados em cada uma delas a vulnerabilidades. 

Os protocolos e requisitos de segurança podem variar de acordo com o tipo de hipervisor.

Um hipervisor fornece a base para sua plataforma de virtualização. A Red Hat® tem uma longa tradição no suporte ao desenvolvimento da virtualização, aperfeiçoando o hipervisor da KVM e contribuindo para as comunidades KVM e oVirt desde que foram fundadas.

O Red Hat OpenShift® Virtualization, uma funcionalidade do Red Hat OpenShift, permite que as equipes de TI incluam máquinas virtuais em fluxos de trabalho em containers. Ao executar uma VM em um container, as equipes podem implantar e gerenciar máquinas virtuais lado a lado com containers, tudo em uma única plataforma. Dessa forma, as empresas aproveitam os investimentos em virtualização que já fizeram, ao mesmo tempo que se beneficiam da simplicidade e da velocidade de uma plataforma de aplicações moderna.

É possível transferir máquinas virtuais implantadas em outras plataformas para a plataforma de aplicações do OpenShift utilizando ferramentas de migração intuitivas e gratuitas. As VMs resultantes serão executadas junto com os containers nos mesmos nós do Red Hat OpenShift.

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.