Compartilhar via


Arquitetura de Hyper-V

Hyper-V é uma tecnologia de virtualização baseada em hipervisor para determinadas versões x64 do Windows. O hipervisor é fundamental para a virtualização. É a plataforma de virtualização específica do processador que permite que vários sistemas operacionais isolados compartilhem uma única plataforma de hardware.

Hyper-V dá suporte ao isolamento em termos de partição. Uma partição é uma unidade lógica de isolamento, com suporte do hipervisor, na qual os sistemas operacionais são executados. O hipervisor da Microsoft deve ter pelo menos uma partição pai, ou raiz, executando o Windows. A pilha de gerenciamento de virtualização é executada na partição primária e tem acesso direto a dispositivos de hardware. Em seguida, a partição raiz cria as partições filho que hospedam os sistemas operacionais convidados. Uma partição raiz cria partições filho usando a API (interface de programação do aplicativo de hiperchamada).

As partições não têm acesso ao processador físico nem manipulam as interrupções do processador. Em vez disso, eles têm uma exibição virtual do processador e são executados em uma região de endereço de memória virtual que é privada para cada partição do convidado. O hipervisor manipula as interrupções no processador e as redireciona para a respectiva partição. Hyper-V também pode acelerar a tradução de endereços entre vários espaços de endereços virtuais das máquinas convidadas usando uma Unidade de Gerenciamento de Memória de Entrada/Saída (IOMMU) que opera de forma independente do hardware de gerenciamento de memória usado pela CPU. Um IOMMU é usado para remapear endereços de memória física para os endereços usados pelas partições filhas.

As partições filhas também não têm acesso direto a outros recursos de hardware e são apresentadas uma visão virtual dos recursos, como dispositivos virtuais (VDevs). As solicitações para os dispositivos virtuais são redirecionadas por meio do VMBus ou do hipervisor para os dispositivos na partição pai, que manipula as solicitações. O VMBus é um canal lógico de comunicação entre partições. A partição pai hospeda Provedores de Serviços de Virtualização (VSPs) que se comunicam pelo VMBus para lidar com solicitações de acesso de dispositivos das partições filhas. As partições filho hospedam VSCs (Consumidores do Serviço de Virtualização), que redirecionam solicitações de dispositivos para VSPs na partição pai por meio do VMBus. Todo esse processo é transparente para o sistema operacional convidado.

Os dispositivos virtuais também podem aproveitar um recurso de Virtualização do Windows Server, chamado E/S Habilitado, para subsistemas de armazenamento, rede, gráficos e entrada. Enlightened I/O é uma implementação especializada ciente de virtualização de protocolos de comunicação de alto nível (como SCSI) que utilizam o VMBus diretamente, ignorando qualquer camada de emulação de dispositivo. Isso torna a comunicação mais eficiente, mas requer um convidado esclarecido que esteja ciente do hipervisor e do VMBus. A E/S otimizada do Hyper-V e um kernel com reconhecimento de hipervisor são fornecidos por meio da instalação dos serviços de integração do Hyper-V. Os componentes de integração, que incluem drivers VSC (cliente de servidor virtual), também estão disponíveis para outros sistemas operacionais cliente. Hyper-V requer um processador que inclua virtualização assistida por hardware, como é fornecido com a tecnologia Intel VT ou AMD Virtualization (AMD-V).

O diagrama a seguir fornece uma visão geral de alto nível da arquitetura de um ambiente Hyper-V.

Diagrama da Arquitetura de Alto Nível do Hyper V, mostrando as quatro partições e seções do Hipervisor.

Glossário

  • APIC – Controlador avançado de interrupção programável – um dispositivo que permite que os níveis de prioridade sejam atribuídos às saídas de interrupção.
  • Partição filho – Partição que hospeda um sistema operacional convidado – todo o acesso à memória física e dispositivos por uma partição filho é fornecido por meio do VMBus (Barramento de Máquina Virtual) ou do hipervisor.
  • Hypercall – Interface para comunicação com o hipervisor – a interface de hiperchamada acomoda o acesso às otimizações fornecidas pelo hipervisor.
  • Hipervisor – uma camada de software que fica entre o hardware e um ou mais sistemas operacionais. Seu trabalho principal é fornecer ambientes de execução isolados chamados partições. O hipervisor controla e arbitra o acesso ao hardware subjacente.
  • IC – Componente de integração – Componente que permite que partições filho se comunicam com outras partições e com o hipervisor.
  • Pilha de E/S – pilha de entrada/saída
  • MSR – Rotina de serviço de memória
  • Partição root – às vezes chamada de partição principal. Gerencia funções no nível da máquina, como drivers de dispositivo, gerenciamento de energia e adição/remoção a quente de dispositivos. A partição raiz (ou pai) é a única partição que tem acesso direto à memória física e aos dispositivos.
  • VID – Driver de Infraestrutura de Virtualização – Fornece serviços de gerenciamento de partição, serviços de gerenciamento de processador virtual e serviços de gerenciamento de memória para partições.
  • VMBus – Mecanismo de comunicação baseado em canal usado para comunicação entre partições e enumeração de dispositivo em sistemas com várias partições virtualizadas ativas. O VMBus é instalado com o Hyper-V Integration Services.
  • VMMS – Serviço de Gerenciamento de Máquina Virtual – Responsável por gerenciar o estado de todas as máquinas virtuais em partições filho.
  • VMWP – Processo de Trabalho da Máquina Virtual – um componente do modo de usuário da pilha de virtualização. O processo de trabalho fornece serviços de gerenciamento de máquina virtual da instância do Windows Server 2008 na partição pai para os sistemas operacionais convidados nas partições filho. O Serviço de Gerenciamento de Máquina Virtual gera um processo de trabalho separado para cada máquina virtual em execução.
  • VSC – Cliente do Serviço de Virtualização – uma instância de dispositivo sintético que reside em uma partição filha. Os VSCs utilizam recursos de hardware fornecidos por VSPs (Provedores de Serviços de Virtualização) na partição pai. Eles se comunicam com os VSPs correspondentes na partição pai sobre o VMBus para satisfazer as solicitações de E/S de dispositivos das partições-filho.
  • VSP – Provedor de Serviços de Virtualização – reside na partição raiz e fornece suporte de dispositivo sintético para as partições filhas por meio do Barramento de Máquina Virtual (VMBus).
  • WinHv – Biblioteca de Interface do Hipervisor do Windows – o WinHv é essencialmente uma ponte entre os drivers de um sistema operacional particionado e o hipervisor que permite que os drivers chamem o hipervisor usando convenções de chamada padrão do Windows
  • WMI – O Serviço de Gerenciamento de Máquina Virtual expõe um conjunto de APIs baseadas em WMI (Instrumentação de Gerenciamento do Windows) para gerenciar e controlar máquinas virtuais.