Arquitetura do Hyper-V

Olá Pessoal

Continuando a série de vídeos sobre virtualização, agora o próximo assunto é a Arquitetura do Hyper-V.

Tudo começou em 2003 quando a Microsoft comprou a Connectix que já tinha uma solução de virtualização para Sistemas Operacionais, e que em 2004 foi lançado com o nome de Virtual Server 2005.

Tinha algumas limitações como utilizar plataforma x86, máximo de 3.6gb de RAM por VM. Um pouco após essa época, foi lançado também os processadores Intel e AMD com suporte a virtualização chamado de Intel VT e AMD-V que o Virtual Server 2005 R2 se beneficiou.

recursos-hyper-v-2005-e-2008

Diferenças entre recursos do Hyper-V 2008 e Virtual Server 2005 R2.

Bom, temos 3 tipos de arquitetura uma chamada de Type 2, Hybrid, Type 1.

Antes o Hypervisor era chamado de Virtual Machine Monitor (VMM) e na Type 2 significa que o VMM roda acima do Host, ou seja, acima do sistema operacional. Um exemplo seria instalar o Virtual Server 2005 e o Virtual Box. Como vocês podem ver nessa imagem.

type-2-hyper-v
Type 2

O que ocorre nessa situação com o Virtual Server 2005 é que a VM não utiliza de todo poder do Hardware devido ao processo que tem essa arquitetura. Primeiro que toda chamada de hardware a VM tem que fazer uma requisição para o VMM, depois ela é encaminhada para o Host e por fim chega até o Hardware.

Passando para a arquitetura Híbrida o VMM era instalado ao lado do sistema operacional, fazendo com que o Virtual Server 2005 R2 aproveitasse da tecnologia Intel-VT e AMD-V, e aí sim usasse 100% do hardware.

hibrido-hypr-v
Híbrido

Chegamos então ao Type 1 que é utilizado pelo Windows Server 2008 com Hyper-V e Hyper-V Server. Por padrão não vem instalado o Hypervisor no Windows ou Host, e sem a tecnologia Hypervisor instalada a arquitetura fica igual dessa imagem ao lado, isso significa que o Sistema Operacional tem acesso direto ao Hardware. Somente após a instalação do Hyper-V 2008 que é instalado essa camada fina de drivers.

type1-hyper-v
TYPE 1

Ao fazer a instalação do Hyper-V a máquina sofre algumas mudanças fazendo com que o arquivo de boot Winload.exe carregue o driver hvboot.sys a cada vez que ligar o Servidor. Esse driver checa se o processador tem suporte a virtualização, verificando o arquivo Hvix64 para Intel e Hvax64 para AMD.

Se tratando de arquitetura existe as camadas de segurança que chamamos de Ring do processador (Anel). Como podemos ver na imagem, existe a camada mais e menos privilegiada. Começando do Ring 0 usado pelo Kernel, Ring 1 Drivers dos dispositivos, Ring 2 Serviços do Sistema Operacional e no Ring 3 as aplicações que é usado pelo Usuário.

E após a instalação do Hyper-V temos a seguinte arquitetura: são criadas duas partições, chamada de Parent Partition (partição pai) onde fica instalado o Sistema operacional, e Child Partition (partição filho) onde fica roda todas as Máquinas Virtuais.

Nesse caso é criado uma nova camada chamada Ring -1 onde fica o Hypervisor, permitindo que mantenha as camadas existentes. É o hypervisor que gerencia as partições pai e filho.

camada-ring-arquitetura
Camadas de Acesso

Agora que já compreendemos como fica a arquitetura do Hyper-V, o segundo ponto a ser explicado seria, e como tudo isso é gerenciado?

É criado uma pilha de virtualização, chamada de Virtualization Stack, que é uma série de drivers virtuais e componentes que trabalham juntos na partição pai e filho.

arquitetura-final
Arquitetura Final

Vou explicar começando pelo VMBus que seria o mais importante, pois ele é o barramento de comunicação entre a partição pai e filho e que controla o VSC e VSP. Ele é instalado com o Integration Services, que pra quem não sabe, é um conjunto de software que melhora a conversa entre VM e Host.

VSP que significa Virtualization Service Provider. Ele é o responsável por receber chamadas da partição filha para a partição pai através do VMBus, permitindo o acesso correto ao hardware fornecendo driver sintéticos, reforçando que esse componente fica na partição pai. Ele é o Fornecedor.

O que é driver sintético e emulado? De acordo com a Microsoft “Os dispositivos emulados emulam um dispositivo de hardware existente que existe como hardware físico. A vantagem de dispositivos emulados é que a maioria dos sistemas operacionais geralmente possuem drivers nativos para eles. Os dispositivos emulados podem enfrentar problemas de desempenho devido a sobrecarga de emulação.“

E os sintéticos  são componentes de software de alto desempenho que controlam o acesso aos dispositivos de hardware físico que são projetados para um desempenho ideal em ambientes virtualizados.”

Quando se instala o Integration Services utiliza-se os drivers sintéticos, mas há vários outros que tem que ser emulados, vou deixar 2 links abaixo onde tem uma lista de quais são eles, sendo um link em inglês e outro português.

https://support.microsoft.com/pt-br/kb/2844106 – Português

https://support.microsoft.com/en-us/kb/2844106 – Inglês

VSC de Virtual Services Client é o componente da VM que faz a solicitação para a partição pai, quando tenta acessar o hardware, e envia para o VSP via VMBus, ou seja é o filho que requisita os dados para o pai.

VID Virtualization Infrastrucuture Driver fornece serviço de gerenciamento das partições, dos processadores virtuais e da memória Ram.

VMMS Virtual Machine Management Service responsável por gerencia o estado de todas as máquinas virtuais.

VMWP Virtual Machine Worker Process – eu diria que esse é o segundo processo mais importante depois do VMBus, pois o VMWP é criado no Host para cada Máquina Virtual, ele abre um processo no Gerenciador de Tarefas, e o VMWP ele faz a conversa com as partições filhas requisitando chamada na biblioteca WinHV.

E o WinHV é uma biblioteca que cria uma ponte entre o Hypervisor e o VID, permitindo que ele faça chamadas de drivers.

Bom, basicamente todos esses componentes servem para comunicação de chamadas de drivers e hardware para que tudo funcione corretamente.

Arquitetura é um assunto mais complexo, dá pra se aprofundar muito mais, pois tem bem mais siglas pra se aprender. Mas já dá pra entender como funciona.

Aproveita deixa um comentário, compartilha, se inscreve no Blog e também no Canal do Youtube!! Valeu.

Anúncios

Obrigado por comentar

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s