Jump to section

O que é um hypervisor?

Copiar URL

Um hipervisor (ou hypervisor, em inglês) é um software que cria e executa máquinas virtuais (VMs). Também chamado de monitor da máquina virtual (VMM), ele isola o sistema operacional do hipervisor e os recursos das máquinas virtuais, possibilitando a criação e o gerenciamento dessas máquinas.

Quando usado como hipervisor, o hardware físico é chamado de host, enquanto as diversas máquinas virtuais que utilizam seus recursos são chamadas de guests.

O hypervisor trata os recursos, como CPU, memória e armazenamento, como um pool que pode ser realocado com facilidade entre os guests existentes ou para novas máquinas virtuais.

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.

O hipervisor fornece a cada máquina virtual os recursos alocados e gerencia a programação de recursos da VM em comparação com os físicos. O hardware físico faz a execução, ou seja, a CPU ainda assim executa as instruções conforme solicitado pelas VMs, por exemplo, enquanto o hipervisor gerencia a programação.

Vários sistemas operacionais diferentes podem operar lado a lado e compartilhar os mesmos recursos de hardware virtualizados com um hypervisor. Esse é um dos principais benefícios da virtualização. Sem ela, só é possível executar um sistema operacional no hardware. 

Há várias opções de hypervisors, de fornecedores tradicionais e open source. A VMware é uma opção conhecida 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 faz parte do kernel do Linux®. Outras opções incluem o Xen, o qual é open source, e o Microsoft Hyper-V. 

Há dois tipos diferentes de hipervisores que podem ser usados para a virtualização: tipo 1 e tipo 2.

Tipo 1: Bare-metal

Um hipervisor tipo 1, também chamado de hipervisor nativo ou bare-metal, é executado diretamente no hardware do host para gerenciar sistemas operacionais guest. Ele ocupa o lugar de um sistema operacional host, e os recursos da máquina virtual são programados diretamente no hardware pelo hipervisor. 

Este tipo é mais comum em data centers empresariais ou outros ambientes baseados em servidor.

KVM, Microsoft Hyper-V e VMware vSphere são exemplos de hipervisores tipo 1. A KVM foi integrada ao kernel do Linux em 2007, então, se você estiver usando uma versão atual do Linux, você já tem acesso a ela. 

Tipo 2: Hosted

O hipervisor tipo 2 também é chamado de hosted e é executado em um sistema operacional convencional como uma camada de software ou aplicação.

Ele funciona abstraindo sistemas operacionais guest do sistema operacional host. Os recursos de máquina virtual são operados em um sistema operacional host, executado no hardware. 

Esse tipo de hipervisor é mais adequado para usuários individuais que desejam executar vários sistemas operacionais em um computador pessoal. 

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

De forma geral, containers e VMs parecem similares. 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 importante está na portabilidade e em como eles escalam. 

Um container é um conjunto de um ou mais processos organizados isoladamente do sistema. Ele permite que o processo acesse somente as solicitações de recursos especificadas. Esses limites de recursos garantem que o container seja executado em um com capacidade suficiente.

As máquinas virtuais contêm o próprio sistema operacional, o que permite que elas executem várias funções com uso intenso de recursos simultaneamente. O número maior de recursos disponíveis para as máquinas virtuais permite que elas abstraiam, dividam, dupliquem e emulem servidores, sistemas operacionais, desktops, bancos de dados e redes

Além disso, o hipervisor permite executar vários sistemas operacionais em máquinas virtuais, enquanto os containers só podem executar um sistema operacional. Por exemplo, um container em execução em um servidor Linux só pode executar um sistema operacional Linux. 

Os containers, às vezes, são vistos como substitutos dos hipervisores. Mas, não é bem isso, já que os containers e a virtualização atendem a necessidades diferentes.

As máquinas virtuais fornecem um ambiente isolado do resto do sistema. Então, independentemente do que estiver sendo executado na máquina virtual, não haverá interferência alguma sobre o que estiver sendo executado no hardware host.

Como as máquinas virtuais são isoladas, mesmo se uma delas estiver comprometida, não haverá impacto em todo o sistema. 

No entanto, se o próprio hipervisor estiver comprometido, isso pode afetar todas as máquinas virtuais que ele gerencia, tornando os dados em cada uma delas vulneráveis. 

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

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

Red Hat® OpenShift® Virtualization é um recurso do Red Hat OpenShift que permite executar e gerenciar máquinas virtuais (VM) e cargas de trabalho de contêineres lado a lado.


O OpenShift Virtualization combina duas tecnologias em uma única plataforma de gerenciamento para as organizações aproveitarem a simplicidade e a velocidade dos containers e do Kubernetes e, ao mesmo tempo, se beneficiam dos aplicativos e serviços projetados para VMs.

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.