Jump to section

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

Copiar URL

Uma máquina virtual (VM) é um ambiente de computação que funciona como um sistema isolado com CPU, memória, interface de rede e armazenamento próprios, criado a partir de um pool de recursos de hardware. O software chamado hipervisor isola os recursos computacionais necessários e permite a criação e o gerenciamento de VMs.

A máquina física que executa as VMs é chamada de máquina host, computador host, sistema operacional host ou simplesmente host. As várias VMs que usam os recursos do host são máquinas guest, computadores guest, sistemas operacionais guest ou simplesmente guests. O hipervisor trata os recursos de computação (por exemplo, CPU, memória e armazenamento) como um pool que pode ser realocado com facilidade entre os guests existentes ou para novas máquinas virtuais.

As VMs permitem a execução simultânea de vários sistemas operacionais distintos em um único computador, como de uma  distribuição do Linux® em um sistema MacOS ou Windows. Cada sistema operacional é executado da mesma maneira como seria no hardware host. Portanto, a experiência do usuário final é emulada dentro da VM de modo quase idêntico à experiência de usar o sistema operacional executado em uma máquina física, em tempo real. 

A virtualizaçãoé uma tecnologia que usa recursos tradicionalmente vinculados ao hardware. Com ela, é possível usar a capacidade total de uma máquina física, distribuindo seus recursos entre muitos usuários ou ambientes.

Os tipos de virtualização incluem:

  • Virtualização de dados, que permite às organizações consolidar fontes de dados em um único recurso dinâmico.

  • Virtualização de desktop, que permite implantar e controlar vários ambientes de desktop simulados por meio de um administrador central.

  • Virtualização de servidores, que permite aos administradores particionar servidores em configurações destinadas a desempenhar funções específicas.

  • Virtualização de sistema operacional, que torna possível a execução de vários sistemas operacionais em um único computador.

  • Virtualização de funções de rede, que separa as funções de uma rede (como serviços de diretório, compartilhamento de arquivos e configuração de IP) para distribuí-las entre os ambientes.

Uma VM pode ser definida em um único arquivo de dados, que pode ser transferido de um computador a outro, aberto em qualquer um e funcionar da mesma forma. Um hipervisor gerencia o hardware e separa os recursos físicos dos ambientes virtuais. Os recursos são particionados, conforme a necessidade, do ambiente físico para as VMs. O hardware físico ainda realiza a execução, ou seja, a CPU ainda executa as instruções conforme solicitado pelas VMs, por exemplo, enquanto o hipervisor gerencia o agendamento.

Quando a VM está sendo executada e um usuário ou programa emite uma instrução que exige recursos adicionais do ambiente físico, o hipervisor programa essa solicitação. Assim, as aplicações e o sistema operacional da máquina virtual podem acessar o pool de recursos físicos compartilhados.

Em ambientes Linux®, o hipervisor integrado é chamado máquina virtual baseada em Kernel. Outras opções são o Xen, que é open source, e o Microsoft Hyper-V.

Há dois tipos diferentes de hipervisores que podem ser usados para a virtualização.

Tipo 1

O hipervisor tipo 1 é chamado de bare-metal. Os recursos da VM são programados diretamente no hardware pelo hipervisor. A KVM é um exemplo de hipervisor tipo 1.

Tipo 2

O hipervisor tipo 2 é chamado de hosted. Os recursos da VM são agendados em um sistema operacional host, que é então executado no hardware. VMware Workstation e Oracle VirtualBox são exemplos de hipervisores tipo 2. 

Com a virtualização, vários sistemas operacionais podem ser executados lado a lado e compartilhar os mesmos recursos de hardware virtualizados. Sem ela, você só consegue executar um sistema operacional no hardware.

O principal motivo para usar VMs é a consolidação de servidores. A maioria das implantações de aplicações e sistemas operacionais utiliza somente uma pequena parcela dos recursos físicos disponíveis quando implantadas em bare-metal. Ao virtualizar as máquinas, é possível colocar vários servidores virtuais em cada servidor físico para otimizar a utilização do hardware.

Isso diminui a necessidade de adquirir mais recursos físicos, como discos rígidos, assim como de usar mais energia, espaço e resfriamento no data center. As VMs oferecem mais opções de recuperação de desastres, pois permitem implementar failover e redundância. Antes isso só era possível com o uso de hardwares adicionais.

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

Como proporcionam isolamento, as VMs são uma boa opção para testar novas aplicações ou configurar um ambiente de produção. Também é possível executar VMs de finalidade única como suporte a um processo específico.

A virtualização é uma das tecnologias que torna a cloud computing possível. Nuvens públicas e privadas virtualizam recursos em pools compartilhados, adicionam uma camada de controle administrativo e entregam esses recursos com funções automatizadas de self-service.

O software de automação, gerenciamento e virtualização que cria nuvens, se baseia no sistema operacional, que mantém as conexões entre os recursos físicos, os pools de dados virtuais, o software de gerenciamento, os scripts de automação e os clientes.

Faz muito tempo que a Red Hat é uma das principais colaboradoras no desenvolvimento de software de virtualização open source. Hoje, o Red Hat OpenShift® Virtualization, uma funcionalidade do Red Hat OpenShift, permite que as equipes de TI incluam VMs em fluxos de trabalho em containers. Ao executar uma VM em um container, as equipes podem implantar e gerenciar essas duas tecnologias lado a lado, 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 criadas serão executadas junto aos 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.