Início > Conceitos > Sistemas de Virtualização de Computadores

Sistemas de Virtualização de Computadores

12/05/2010

1.1. Sistemas de Virtualização Nativos e Hosteados

Existem dois tipos de arquiteturas clássicas para a construção de sistemas de máquinas virtuais: Tipo I (Virtualização Clássica – Nativa) e o Tipo II (Virtualização Hospedada – Hosteado).

1.2 Tipo I (Virtualização Clássica – Nativa)

O Virtual Machine Monitor (VMM) tem o controle e cria um ambiente de máquinas virtuais. Cada máquina virtual se comporta como uma máquina física completa, que pode executar o seu próprio sistema operacional, semelhante ao sistema operacional anfitrião. O monitor é implementado entre o hardware e os demais sistemas convidados (guest system). Na virtualização nativa, o sistema operacional de virtualização é instalado diretamente na máquina física e nas máquinas virtuais, logo em seguida. O resultado são máquinas virtuais com performance equivalente à máquinas reais, total segurança, alta escalabilidade que nos permitirá executar o máximo de VMs simultâneas na mesma máquina física. A escalabilidade é o fator mais importante de um Datacenter Virtual. Quanto mais máquinas virtuais conseguimos executar em um Datacenter Virtual, maior a redução de custo, que é exponencial para baixo, a cada máquina virtual que ligamos no sistema. Isso quer dizer que para cada máquina virtual a mais no sistema, menor será o esforço de gerenciamento, consumo de energia, espaço físico, ar-condicionado, maior disponibilidade da máquina virtual e seu aplicativo além de inúmeros outros benefícios que vamos ver a seguir.

1.3 Tipo II (Virtualização Hospedada – Hosteada)

O Virtual Machine Monitor (VMM) funciona sobre um sistema anfitrião, da mesma maneira que um processo em um sistema real. O monitor de Tipo II executa da mesma maneira que o Tipo I, embora possua um sistema operacional principal abaixo deste. Neste caso, o monitor simula todas as operações que o sistema anfitrião controlaria. O monitor é implementado como um processo de um sistema operacional real subjacente, denominado sistema hospedeiro (host system). Um sistema de virtualização hosteado é aquele que é instalado em um sistema operacional de mercado, assim como o exemplo do Vmware Player. Trata-se de um aplicativo que tem a capacidade de criar máquinas virtuais e executá-las simultaneamente. Como este sistema é instalado em cima de um sistema operacional, temos muitas camadas de software que resultam em baixa escalabilidade, mas que não é um problema quanto este sistema é utilizado para testes de software ou apoio ao desenvolvimento de software. Vamos contar as camadas que existem em um sistema de virtualização hosteado: Temos um sistema operacional instalado na máquina real, um aplicativo de virtualização, uma máquina virtual, o sistema operacional da máquina virtual e seus aplicativos. Este “sanduíche” resulta em perda de performance da máquina virtual e host, devido a grande necessidade de memória RAM e Processamento para execução da VM, além de oferecer menor segurança e falta de escalabilidade, que significa que não podemos executar um grande número de máquinas virtuais simultâneas na mesma máquina física.

2.1. Técnicas de Virtualização

As principais técnicas de virtualização são: Virtualização completa (full virtualization) e Paravirtualização (Paravirtualization).

2.2.Virtualização Completa (full virtualization)

Virtualização completa é uma técnica de virtualização utilizada para permitir que qualquer software possa ser executado sem alterações. Para isso, esta técnica realiza uma simulação completa do hardware da máquina de modo que qualquer sistema operacional possa ser executado. Esta simulação implica em representar o conjunto de instruções do processador, a memória principal, interrupções, exceções e acesso aos diversos dispositivos existentes. Podem ocorrer penalidades em relação ao desempenho da máquina virtual, uma vez que já que o hardware é virtualizado, as instruções devem ser interpretadas pelo VMM. Um ponto importante que deve ser considerado é que este tipo de virtualização necessita obrigatoriamente de um hardware com características específicas uma vez que instruções de execução privilegiada, como as de acesso a I/O (entrada e saída de dados), devem ser interceptadas e somente serem executadas de acordo com os critérios definidos pela camada Virtual Machine Monitor – VMM. Com a avanço das pesquisas e desenvolvimento de novos hypervisors, as penalidades de performance da virtualização full praticamente não existem mais. Atualmente, os processadores e outros dispositivos físicos já têm recursos que facilitam a virtualização, além do hypervisor nativo ter tido seu tamanho reduzido a 32 Mb e vir embarcado nos principais modelos dos fornecedores de hardware, sendo assim, ele é customizado para aquele modelo de máquina física permitindo ainda maior performance.

2.3.Paravirtualização (Paravirtualization)

A paravirtualização é uma tecnologia que consiste em repartir, de forma transparente, os recursos do hardware, permitindo que o sistema convidado (guest SO) execute com uma redução de desempenho muito pequena. O ponto negativo que contrapõe tal vantagem é a necessidade de uma modificação no sistema convidado. Isto significa que não há como executar qualquer sistema de maneira direta. Quando o sistema operacional atualiza estruturas de dados do hardware, tais como a tabela de paginação ou início de uma operação de acesso direto à memória, o sistema operacional hóspede faz chamadas na API (Application Programming Interface – ou Interface de Programação de Aplicativos), que é oferecida pelo hypervisor, um software que executa em um hardware e gerencia um ou mais sistemas operacionais. A paravitualização proporciona a alteração de três grandes fatores no sistema.

Anúncios
Categorias:Conceitos