Máquinas virtuais são contêineres lógicos nos quais os aplicativos e sistemas operacionais convidados são executados. Pelo design, todas as máquinas virtuais VMware são isoladas umas das outras. Esse isolamento permite que várias máquinas virtuais sejam executadas de maneira segura ao compartilhar o hardware, e oferece a capacidade para acessar o hardware e o seu desempenho ininterrupto

Até mesmo um usuário com privilégios de administrador de sistema em um sistema operacional convidado de máquina virtual não pode romper essa camada de isolamento para acessar outra máquina virtual sem privilégios explicitamente concedidos pelo administrador do sistema ESXi. Como resultado do isolamento de máquina virtual, se houver falha em um sistema operacional convidado executado em uma máquina virtual, outras máquinas virtuais no mesmo host continuam sendo executadas. Os usuários ainda podem acessar outras máquinas virtuais, e o desempenho de outras máquinas virtuais não é afetado.

Cada máquina virtual é isolada de outras máquinas virtuais sendo executadas no mesmo hardware. Embora as máquinas virtuais compartilhem recursos físicos, tais como CPU, memória e dispositivos E/S, um sistema operacional convidado em uma máquina virtual individual só pode detectar os dispositivos virtuais que você disponibilizar para ele.

Figura 1. Isolamento da máquina virtual
Isolamento da máquina virtual

O VMkernel faz a medição de todos os recursos físicos. Todos os acessos do hardware físico ocorrem através do VMkernel e as máquinas virtuais não podem contornar esse nível de isolamento.

Assim como uma máquina física se comunica com outras máquinas em uma rede através de uma placa de rede, uma máquina virtual se comunica com outras máquinas virtuais em execução no mesmo host através de um switch virtual. Além disso, uma máquina virtual se comunica com a rede física, incluindo máquinas virtuais em outros hosts ESXi, através de um adaptador de rede físico.

Figura 2. Rede virtual através de switches virtuais
Rede virtual através de switches virtuais para ESXi

A rede virtual também é afetada pelo isolamento da máquina virtual.

  • Se uma máquina virtual não compartilhar um switch virtual com qualquer outra máquina virtual, ela fica completamente isolada das máquinas virtuais dentro do host.
  • Se nenhum adaptador de rede físico for configurado para uma máquina virtual, a máquina virtual fica completamente isolada. Isso inclui o isolamento de quaisquer redes físicas ou virtuais.
  • As máquinas virtuais são tão seguras quanto as físicas se você as protege da rede com firewalls, softwares antivírus e assim em diante.

Você pode proteger ainda mais as máquinas virtuais através da criação de reservas de recursos e limites no host. Por exemplo, você pode usar a alocação de recursos para configurar uma máquina virtual para que ela sempre receba pelo menos 10 por cento dos recursos da CPU do host, mas nunca mais de 20 por cento.

Reservas de recursos e limites protegem as máquinas virtuais da degradação do desempenho que pode ocorrer se outra máquina virtual consumiu recursos de hardware compartilhados excessivos. Por exemplo, se uma das máquinas virtuais em um host estiver incapacitada por um ataque de negação de serviço (DoS), um limite de recursos nessa máquina evita que o ataque consuma muitos recursos de hardware que as outras máquinas virtuais também foram afetadas. Da mesma forma, uma reserva de recursos em cada uma das máquinas virtuais garante que, em caso de alta demanda de recursos por parte da máquina virtual alvo do ataque DoS, todas as outras máquinas virtuais tenham recursos suficientes para operar.

Por padrão, o ESXi impõe uma forma de reserva de recursos através da aplicação de um algoritmo de distribuição que divide os recursos disponíveis do host igualmente entre as máquinas virtuais, mantendo uma certa porcentagem de recursos para ser usado por outros componentes do sistema. Esse comportamento padrão oferece um grau de proteção natural contra DoS e ataques de negação de serviço (DDoS) distribuídos. As reservas de recursos específicos e os limites são estabelecidos numa base individual para personalizar o comportamento padrão para que a distribuição não seja igual em toda a configuração da máquina virtual.