Arquitectura de Hyper-V

Hyper-V es una tecnología de virtualización basada en el hipervisor para determinadas versiones x64 de Windows. El hipervisor es fundamental para la virtualización. Se trata de la plataforma de virtualización específica de procesador que permite que varios sistemas operativos aislados compartan una misma plataforma de hardware.

Hyper-V admite el aislamiento en términos de una partición. Una partición es una unidad lógica de aislamiento, admitida por el hipervisor, en la que se ejecutan los sistemas operativos. El hipervisor de Microsoft debe tener al menos una partición primaria o raíz que ejecute Windows. La pila de administración de virtualización se ejecuta en la partición primaria y tiene acceso directo a los dispositivos de hardware. Luego la partición raíz crea las particiones secundarias que hospedan los sistemas operativos invitados. Una partición raíz crea particiones secundarias mediante la interfaz de programación de aplicaciones (API) de hiperllamadas.

Las particiones no tienen acceso al procesador físico ni controlan las interrupciones del procesador. En su lugar, tienen una vista virtual del procesador y se ejecuten en una región de direcciones de memoria virtual que es privada para cada partición invitada. El hipervisor controla las interrupciones del procesador y las redirige a la partición correspondiente. Hyper-V también puede emplear aceleración de hardware para la traducción de direcciones entre distintos espacios de direcciones virtuales invitados usando una unidad de administración de memoria de entrada y salida (IOMMU) que funciona de forma independiente del hardware de administración de memoria utilizado por la CPU. Una IOMMU se usa para volver a asignar las direcciones de memoria física a las direcciones que usan las particiones secundarias.

Asimismo, las particiones secundarias no tienen acceso directo a otros recursos de hardware y se les presenta una vista virtual de los recursos, como dispositivos virtuales (vDev). Las solicitudes de los dispositivos virtuales se redirigen a través del VMBus o el hipervisor a los dispositivos de la partición primaria, que controla las solicitudes. El VMBus es un canal de comunicaciones entre particiones lógicas. La partición primaria hospeda los proveedores de servicios de virtualización (VSP) que se comunican a través del VMBus para controlar las solicitudes de acceso de dispositivo procedentes de las particiones secundarias. Las particiones secundarias hospedan los consumidores de servicios de virtualización (VSC) que redirigen las solicitudes de dispositivo a los VSP de la partición primaria a través del VMBus. La totalidad del proceso es transparente para el sistema operativo invitado.

Los dispositivos virtuales también pueden aprovechar una característica de virtualización de Windows Server, denominada E/S habilitada, para almacenamiento, redes, gráficos y subsistemas de entrada. E/S habilitada es una implementación especializada de reconocimiento de virtualización de los protocolos de comunicación de alto nivel (por ejemplo, SCSI) que utilizan el VMBus directamente y omiten cualquier capa de emulación de dispositivos. Esto hace la comunicación más eficaz, pero requiere un invitado habilitado que reconozca el hipervisor y el VMBus. Se proporcionan E/S habilitada de Hyper-V y un kernel con reconocimiento de hipervisor a través de la instalación de los servicios de integración de Hyper-V. También hay disponibles componentes de integración, que incluyen controladores de cliente de servidor virtual (VSC), para otros sistemas operativos cliente. Hyper-V requiere un procesador que incluya virtualización asistida por hardware, como la proporcionada con la tecnología Intel VT o Virtualización AMD (AMD-V).

El siguiente diagrama ofrece una descripción general de alto nivel de la arquitectura de un entorno de Hyper-V.

Diagram of the Hyper V High Level Architecture, showing the four partitions and Hypervisor sections.

Glosario

  • APIC: Controladora programable avanzada de interrupciones. Un dispositivo que permite asignar niveles de prioridad a sus salidas de interrupción.
  • Partición secundaria : Una partición que hospeda un sistema operativo invitado. Todos los accesos a la memoria física y a los dispositivos realizados por una partición secundaria se proporcionan mediante el bus de máquina virtual (VMBus) o el hipervisor.
  • Hiperllamada: Interfaz para la comunicación con el hipervisor. La interfaz de hiperllamadas aloja el acceso a las optimizaciones proporcionadas por el hipervisor.
  • Hipervisor : Una capa de software que se encuentra entre el hardware y uno o varios sistemas operativos. Su función principal es proporcionar entornos de ejecución aislados, llamados particiones. El hipervisor controla y arbitra el acceso al hardware subyacente.
  • IC : Componente de integración. Un componente que permite a las particiones secundarias comunicarse con otras particiones y con el hipervisor.
  • Pila de E/S : Pila de entrada y salida.
  • MSR: Rutina de servicio de memoria
  • Partición raíz : A veces se conoce como partición primaria. Administra las funciones de nivel de equipo como los controladores de dispositivo, la administración de la energía y el agregado o la retirada de dispositivos en caliente. La partición raíz (o primaria) es la única partición que tiene acceso directo a la memoria física y los dispositivos.
  • VID : Controlador de infraestructura de virtualización. Proporciona servicios de administración de particiones, servicios de administración de procesador virtual y servicios de administración de memoria para las particiones.
  • VMBus : Mecanismo de comunicación basado en canal usado para la comunicación entre particiones y la enumeración de dispositivos en sistemas con varias particiones virtualizadas activas. El VMBus se instala con los servicios de integración de Hyper-V.
  • VMM : Servicio Administración de máquinas virtuales. Se encarga de administrar el estado de todas las máquinas virtuales que se encuentran en particiones secundarias.
  • VMWP : Proceso de trabajo de máquina Virtual. Un componente de modo de usuario de la pila de virtualización. El proceso de trabajo proporciona servicios de administración de máquinas virtuales desde la instancia de Windows Server 2008 que está en la partición primaria a los sistemas operativos invitados que se encuentran en las particiones secundarias. El servicio Administración de máquinas virtuales genera un proceso de trabajo independiente para cada máquina virtual en ejecución.
  • VSC: Cliente de servicios de virtualización. Una instancia de dispositivo sintética que se encuentra en una partición secundaria. Los VSC usan recursos de hardware proporcionados por los proveedores de servicios de virtualización (VSP) que están en la partición primaria. Se comunican con los VSP correspondientes de la partición primaria mediante el VMBus para satisfacer las solicitudes de E/S de los dispositivos de las particiones secundarias.
  • VSP : Proveedor de servicios de virtualización. Reside en la partición raíz y proporciona compatibilidad de dispositivos sintéticos para las particiones secundarias través del bus de máquina virtual (VMBus).
  • WinHv : Biblioteca de interfaz del hipervisor de Windows. WinHv es básicamente un puente entre los controladores de un sistema operativo con particiones y el hipervisor, y permite a los controladores llamar al hipervisor mediante convenciones de llamada estándar de Windows.
  • WMI : El servicio Administración de máquinas virtuales expone un conjunto de API basadas en Instrumental de administración de Windows (WMI) para administrar y controlar las máquinas virtuales.