#1 Líder Global em Resiliência de Dados
Orientações da Veeam para os clientes afetados pela atualização de conteúdo da CrowdStrike

O que é uma máquina virtual?

Uma máquina virtual, ou VM, é exatamente o que o nome sugere, uma forma de computador virtual. O software de virtualização permite que um único computador "host" execute várias máquinas virtuais "hóspedes" em seu hardware. Cada hóspede executa seu próprio sistema operacional e se comporta independentemente dos outros hóspedes. É possível que os hóspedes executem um sistema operacional diferente do host. Por exemplo, um host macOS pode ter máquinas virtuais Windows e/ou Linux em execução nele.

Como funciona uma máquina virtual?

O processo de criação de máquinas virtuais para execução em cima de um host é conhecido como virtualização. O hardware do computador host executa o sistema operacional do host. O software de virtualização é executado dentro do sistema operacional do host e aloca recursos para cada hóspede. Cada convidado tem seu próprio sistema operacional e seu próprio conjunto de quaisquer bibliotecas e arquivos binários necessários para executar as aplicações desejadas. O SO hospedado se comporta como um computador físico que está equipado com o poder de processamento, memória, espaço de armazenamento e outros recursos de computação atribuídos a ele.

Os dois tipos de máquinas virtuais

Existem dois tipos de máquinas virtuais: máquinas virtuais de processo e máquinas virtuais de sistema. A principal diferença entre eles é o tamanho e o caso de uso pretendido.

O que é uma máquina virtual de processo?

Uma máquina virtual de processo é uma VM especializada projetada para permitir que um único processo seja executado como uma aplicação no host. Um exemplo comum disso é a máquina virtual Java. As aplicações escritas em Java são independentes de plataforma e podem ser executadas em qualquer hardware e sistema operacional que suporte a Java VM. Em vez de os desenvolvedores terem que se preocupar com a compatibilidade de hardware e sistema operacional, eles simplesmente escrevem código para a Java VM, que cuida de quaisquer problemas específicos do host e permite que o código Java seja executado em qualquer sistema operacional suportado como se tivesse sido escrito nativamente para esse sistema operacional.

O que é uma máquina virtual de sistema?

As máquinas virtuais de sistema são uma forma de virtualização em maior escala. Uma VM de sistema é uma réplica completa de uma máquina física. É possível executar várias VMs em um computador host potente, com cada hóspede rodando seu próprio sistema operacional. Para fazer isso, o host deve executar um hipervisor.

Alguns softwares de hipervisor são executados sobre um sistema operacional host. Eles são conhecidos como hipervisores Tipo 2 e oferecem conveniência e usabilidade às custas de alguma latência e consumo de recursos adicionais. Outras soluções podem ser executadas diretamente no hardware do host, ou "bare metal". Esse tipo de hipervisor é conhecido como hipervisor Tipo 1. Como os hipervisores Tipo 1 são executados diretamente no hardware host, eles são uma solução de baixa latência e alto desempenho e são populares em ambientes corporativos onde o uso eficiente de recursos é essencial.

Os hipervisores permitem que cada máquina seja executada de forma independente, alocando dinamicamente recursos de memória, taxa de transferência de rede, armazenamento e processador, isolando as VMs guest umas das outras para evitar problemas de segurança.

Os hipervisores facilitam a ativação de novas máquinas virtuais conforme necessário e permitem o uso eficiente do hardware do host. Imagens de máquinas virtuais feitas para um hipervisor específico, como VMware ESXi ou Oracle VM VirtualBox, são altamente portáteis, pois podem ser implantadas em qualquer hardware que suporte o software do hipervisor e tenha recursos de sistema suficientes disponíveis. Essa portabilidade, combinada com o poder do software de replicação, torna a virtualização uma parte importante de qualquer plano de continuidade dos negócios. O Veeam Backup and Replication pode ser usado para gerenciar máquinas virtuais locais e hospedadas na nuvem, protegendo os dados da sua organização e ajudando você a voltar a funcionar rapidamente em caso de paralisação ou falha de hardware.

Para que serve uma máquina virtual?

As máquinas virtuais têm muitos casos de uso, incluindo:

  • Executando diferentes sistemas operacionais para testar compilações entre plataformas
  • Executar software específico do SO em um dispositivo/plataforma para a qual não foi projetado
  • Acessando dados de máquinas infectadas por vírus ou ransomware
  • Criando um ambiente de desenvolvimento para testes/compilações automatizados
  • Fazer backup de uma configuração de máquina existente para reimplantação rápida
  • Implantando aplicações na nuvem
  • Divisão de um servidor Web poderoso em vários servidores virtuais para um provedor de hospedagem revender

Por que usar uma máquina virtual?

As máquinas virtuais têm vários benefícios importantes. Eles tornam possível executar vários ambientes de sistema operacional em um único dispositivo. Isso faz delas uma maneira barata e eficiente de iniciar vários servidores, testar compilações de aplicações em uma variedade de configurações de sistema operacional diferentes ou executar uma aplicação legada. Por exemplo, uma empresa que depende de um sistema de conta de cliente que foi escrito para uma versão muito antiga do Windows pode fornecer uma VM contendo essa aplicação em vez de ter hardware antigo dedicado para executar o software.

O hipervisor oferece um ambiente isolado para cada hóspede. Isso torna as VMs úteis do ponto de vista da segurança porque os convidados não têm acesso direto aos sistemas de arquivos ou à memória uns dos outros. Se um vírus infectar uma máquina virtual, qualquer dano deverá ser contido. Se uma máquina virtual travar devido a um programa com comportamento incorreto, o host e outras VMs não deverão ser afetados.

Outro recurso útil das máquinas virtuais é a facilidade para fazer backup, serem movidas e recuperadas. Fazer backups de uma máquina virtual é apenas uma questão de fazer backup dos arquivos de configuração e da imagem de disco. Em um cenário de recuperação de desastres, restaurar esses arquivos para um novo host e ligar as VMs novamente permite que a empresa volte a funcionar mais facilmente. Como as máquinas virtuais são independentes de hardware, os backups podem ser restaurados para qualquer servidor que tenha recursos adequados para executar esse sistema hospedado. 

No entanto, a natureza altamente portátil e em área restrita das máquinas virtuais tem um custo. Cada VM de sistema hospedado executa uma cópia completa do sistema operacional. Executar várias máquinas virtuais em um servidor físico pode causar problemas de estabilidade se o servidor não for poderoso o suficiente. Dependendo do uso pretendido das VMs, pode haver uma maneira mais eficiente de atingir seus objetivos, como contêineres.

Contêineres versus máquinas virtuais

Os contêineres são uma forma de tecnologia de virtualização que compartilham muitas semelhanças com as máquinas virtuais, mas servem a um propósito ligeiramente diferente. Onde máquinas virtuais simulam uma máquina inteira, incluindo o sistema operacional e a camada de hardware, os contêineres virtualizam apenas as camadas de software que são executadas sobre o sistema operacional. O IEEE descreve os contêineres como uma alternativa leve às máquinas virtuais.

Enquanto as máquinas virtuais funcionam sobre um hipervisor que pode ser executado diretamente sobre o hardware ou dentro de um sistema operacional, os contêineres são executados em um mecanismo de contêineres. Cada contêiner terá suas próprias cópias de quaisquer binários e bibliotecas necessárias para executar o software que contém, mas o contêiner não precisa de suas próprias cópias do sistema operacional. Os contêineres compartilham o hardware em que estão sendo executados, embora tenham acesso restrito ao sistema de arquivos.

Softwares populares de gerenciamento de contêineres incluem o Docker, Google Kubernetes Engine, LXC e Portainer. Os contêineres são frequentemente usados em plataformas de computação em nuvem como uma forma de implantar rapidamente tudo o que é necessário para executar um script ou microsserviço.

Alguns benefícios dos contêineres incluem:

  • Eles são leves, pois contêm apenas os binários e bibliotecas que são absolutamente necessários para que eles sejam executados.
  • Eles são fáceis de iniciar e gerenciar.

As desvantagens dos contêineres são:

  • Não é possível misturar e combinar sistemas operacionais em um único host com contêineres.
  • Os contêineres stateless são fáceis de criar, mas o gerenciamento de contêineres stateful requer mais planejamento.
  • Como os contêineres não são totalmente isolados em sandbox, eles geralmente são considerados menos seguros do que as máquinas virtuais.

A questão da segurança dos contêineres é complexa, e os contêineres configurados corretamente oferecem uma segurança robusta. As aplicações em contêineres são isoladas umas das outras, o que as torna mais seguras do que executar aplicações individuais diretamente na máquina host. Além disso, cada contêiner tem uma superfície de ataque menor do que uma VM integral. Alguns contêineres são stateless, então cada vez que eles são iniciados, o contêiner é uma "tábua rasa" com a mesma configuração. Os contêineres stateless são úteis para certos tipos de microsservidores, e a falta de armazenamento persistente pode ser vista como um recurso de segurança em algumas situações.

No entanto, os contêineres stateless não são adequados para executar serviços mais complexos ou serviços em que ser capaz de preservar o estado das aplicações ao se recuperar de uma interrupção é importante. Além disso, os contêineres compartilham um sistema operacional, portanto, se um contêiner for comprometido, o invasor tem a oportunidade de comprometer outros contêineres em execução na mesma máquina. Com máquinas virtuais, se uma VM for comprometida, o invasor não poderá usar esse acesso para comprometer outras VMs no mesmo host.  

Quando escolher contêineres vs. VMs

Em geral, é uma boa ideia usar máquinas virtuais se você precisar executar vários sistemas operacionais em uma única máquina ou se precisar capturar snapshots da máquina em estados diferentes para fins de backup. Ter máquinas virtuais prontas para implantar facilita a escala do seu sistema operacional e pode ser benéfico do ponto de vista da recuperação de desastres

Os contêineres são úteis para implantar microsserviços menores ou como parte de um pipeline de DevOps. Em um artigo para o EPR Today, Daniel Riedel explica a diferença na filosofia como "animais de estimação versus gado". Os contêineres são o gado, devem serem tratados como commodities e iniciados sob demanda, enquanto os serviços monolíticos são mais propensos a funcionar em VMs e ser cuidadosamente gerenciados, assim como os animais de estimação.

Como configurar uma máquina virtual

Alguns softwares populares de máquinas virtuais incluem:

  • VMware ESXi
  • Oracle VM VirtualBox
  • Máquinas Virtuais de Spot do Azure
  • Linux KVM

O processo para configurar uma máquina virtual será diferente dependendo do software de virtualização usado. Ferramentas como VMware e Oracle VM VirtualBox oferecem configurações guiadas para ajudar os usuários a configurar o hardware e instalar o sistema operacional para a VM através de uma interface gráfica do usuário (GUI). Como uma solução baseada na nuvem, a gama de VMs Dedicadas e Spot do Azure também oferece opções de configuração relativamente fáceis.

Configurar um Linux KVM via linha de comando requer um conhecimento mais profundo da rede e do hardware da máquina. Ferramentas como Kimchi e Proxmox tornam mais fácil para os administradores de sistemas gerenciar implantações de várias máquinas virtuais em um único host.

Algumas considerações importantes ao configurar uma máquina virtual são:

  • Alocação de hardware: O convidado deve ter acesso a memória e núcleos/threads de processador suficientes para garantir um bom desempenho.
  • Recursos disponíveis: Se o host estiver executando vários guests, o host deve ter recursos adequados para que cada VM funcione bem.
  • Limites de pico: Permitir que a máquina virtual ultrapasse temporariamente sua alocação de recursos usual pode melhorar a estabilidade e o desempenho durante breves períodos de carga pesada.
  • Espaço na unidade: Verifique se o hóspede tem espaço de storage suficiente alocado. Pode ser um único arquivo grande ou dividido em vários arquivos para aumentar a portabilidade e facilitar o backup.
  • Licenciamento de software: Considere os requisitos de licenciamento de qualquer software implantado em sua VM. Cada máquina virtual em execução pode contar como um "assento" para fins de licenciamento de software.

Se você já tem uma máquina física configurada da forma como gostaria que sua VM fosse, é possível criar uma cópia do disco rígido dessa máquina virtual como um disco de máquina virtual Hyper-V usando o que é conhecido como conversão de físico para virtual (P2V). Após uma cópia da unidade ser feita, ela poderá ser carregada em uma máquina virtual configurada com o mesmo tipo de virtualização de hardware e inicializada conforme necessário. Então, você pode proteger os dados da máquina virtual executando backups virtuais com o Veeam.

Uma vez que a máquina virtual esteja configurada, ela pode ser executada de dentro do sistema operacional do host como se fosse outra aplicação. A VM pode então ser controlada via teclado e mouse do host ou através de SSH/KVM remoto se o servidor estiver sendo executado no modo headless.

Se desejar saber mais sobre as soluções de backup para máquinas virtuais da Veeam e como podemos ajudar você a proteger seus dados, que tal experimentar o Veeam Backup and Replication? Faça o download do teste grátis agora.

Recursos em destaque

Proteção de dados

Tendências em Proteção de Dados 2022

O maior relatório do setor de proteção de dados, com mais de 3.000 líderes de TI

Ícone de parceiro

Solicite uma Demonstração

Saiba como modernizar sua proteção de dados em uma sessão ao vivo.

Ícone de contato

Entre em contato

Obtenha ajuda para selecionar a solução certa para a sua empresa