Hyper-V is the Microsoft’s virtualization platform that allows creating virtual infrastructures under Windows and/or Linux. Virtualization makes it possible to cohabit in isolation several operating systems on the same physical server (Hypervisor). Virtualization takes place on the same hardware platform after installing specific software – hypervisor. The hypervisor is an additional layer between physical and virtual scopes, it manages the system’s hardware resources so they are distributed efficiently among virtual machines (VMs). Here’s the post to introduce Hyper-V 2016 Overview and Architecture.
Hyper-V version 5:
Then, Virtualization allows a consolidation of servers in order to make the most of their hardware resources. It will allow better management of hardware resources of the DataCenter.
Virtualization and protection rings (CPU):
One more ring (-1) with privileges to manage Operating Systems and applications named type 1 hypervisor.
Hyper-V version 5 is the new version of Hyper-V with the release of Windows Server 2016, it brings a lot of innovations that will propel Hyper-V into another sphere in the global market of Virtualization. Innovations and improvements will be discussed in a next post. New Hyper-V is focused on the new operating system from Microsoft: Windows Server 2016, sized for the Cloud and following Microsoft’s strategy: Microsoft Azure « Cloud first Mobile first ».
Hyper-V 2016 Architecture:
Hyper-V is a microkernelized hypervisor (type 1 hypervisor), which works with isolated logical units or “Partitions”. These isolated logical drives will run guest operating systems (Guest OS or Virtual Machines). The VMs need to access to the compute (physical hardware) of the hypervisor (CPU, RAM, network card etc.), so, they will have to go through the main Virtual Machine. Basically, by the parent partition that allows doing the workflow between child partitions (Virtual Machines) and physical hardware.
In microkernelized VMMs such as Hyper-V, the parent partition performs functions other than CPU and memory management. The parent partition hosts the independent hardware vendor drivers so that no third-party code runs in the hypervisor and only standard Windows 64-bit drivers are required for the hardware. The child partitions access the hardware in one of two ways, depending on the child partition.
The following diagram provides a high-level overview of the architecture of a Hyper-V:
- APIC – Advanced Programmable Interrupt Controller – A device which allows priority levels to be assigned to its interrupt outputs.
- Child Partition – Partition that hosts a guest operating system – All access to physical memory and devices by a child partition is provided via the Virtual Machine Bus (VMBus) or the hypervisor.
- Hypercall – Interface for communication with the hypervisor – The hypercall interface accommodates access to the optimizations provided by the hypervisor.
- Hypervisor – A layer of software that sits between the hardware and one or more operating systems. Its primary job is to provide isolated execution environments called partitions. The hypervisor controls and arbitrates access to the underlying hardware.
- IC – Integration component – Component that allows child partitions to communication with other partitions and the hypervisor.
- I/O stack – Input/output stack.
- MSR – Memory Service Routine.
- Root Partition – Manages machine-level functions such as device drivers, power management, and device hot addition/removal. The root (or parent) partition is the only partition that has direct access to physical memory and devices.
- VID – Virtualization Infrastructure Driver – Provides partition management services, virtual processor management services, and memory management services for partitions.
- VMBus – Channel-based communication mechanism used for inter-partition communication and device enumeration on systems with multiple active virtualized partitions. The VMBus is installed with Hyper-V Integration Services.
- VMMS – Virtual Machine Management Service – Responsible for managing the state of all virtual machines in child partitions.
- VMWP – Virtual Machine Worker Process – A user mode component of the virtualization stack. The worker process provides virtual machine management services from the Windows Server 2008 instance in the parent partition to the guest operating systems in the child partitions. The Virtual Machine Management Service spawns a separate worker process for each running virtual machine.
- VSC – Virtualization Service Client – A synthetic device instance that resides in a child partition. VSCs utilize hardware resources that are provided by Virtualization Service Providers (VSPs) in the parent partition. They communicate with the corresponding VSPs in the parent partition over the VMBus to satisfy a child partitions device I/O requests.
- VSP – Virtualization Service Provider – Resides in the root partition and provide synthetic device support to child partitions over the Virtual Machine Bus (VMBus).
- WinHv – Windows Hypervisor Interface Library – WinHv is essentially a bridge between a partitioned operating system’s drivers and the hypervisor which allows drivers to call the hypervisor using standard Windows calling conventions.
- WMI – The Virtual Machine Management Service exposes a set of Windows Management Instrumentation (WMI)-based APIs for managing and controlling virtual machines.
Source: MSDN Microsoft
Recommending to read an E-book “All You Need to Know About Microsoft Windows Server 2016 Virtualization” by Clint Wyckoff (Veeam’s Blogger)to stay tuned with the technology changes that will have a great impact on Hyper-V.
Veeam Agent for Windows step by step installation guide.
If you need to disable UAC Server on Windows Server 2016Script Guide.
If you need to upgrade your Veeam Backup Server (v9 or v9.5) you can follow this article.