From Wikipedia, the free encyclopedia
A Windows 10 Hyper-V guest virtual machine running inside a Windows 10 host |
|
Developer(s) | Microsoft |
---|---|
Initial release | June 28, 2008; 16 years ago |
Operating system | Windows Server Windows 8, Windows 8.1, Windows 10, Windows 11 (x64; Pro, Enterprise and Education) |
Predecessor | Windows Virtual PC Microsoft Virtual Server |
Type | Native hypervisor |
License | Proprietary |
Website | learn |
Hyper-V is a native hypervisor developed by Microsoft; it can create virtual machines on x86-64 systems running Windows.[1] It is included in Pro and Enterprise editions of Windows NT (since Windows as an optional feature to be manually enabled.[2] A server computer running Hyper-V can be configured to expose individual virtual machines to one or more networks.
Codenamed Viridian[3] and briefly known before its release as Windows Server Virtualization, a beta version was shipped with certain x86-64 editions of Windows Server 2008. The finalized version was released on June 26, 2008 and was delivered through Windows Update.[4] Hyper-V has since been released with every version of Windows Server starting with version 2012,[5][6][7] superseding Microsoft Virtual Server, and starting with Windows 8, Hyper-V has been the hardware virtualization component for personal computers, superseding Windows Virtual PC.
Former Hyper-V logo
Former Hyper-V Server wordmark
Microsoft provides Hyper-V through two channels:
- Part of Windows: Hyper-V is an optional component of Windows Server 2008 and later. It is also available in x64 SKUs of Pro and Enterprise editions of Windows 8, Windows 8.1, Windows 10 and Windows 11.
- Hyper-V Server: It is a freeware edition of Windows Server with limited functionality and Hyper-V component.[8]
Hyper-V Server 2008 was released on October 1, 2008. It consists of Windows Server 2008 Server Core and Hyper-V role; other Windows Server 2008 roles are disabled, and there are limited Windows services.[9] Hyper-V Server 2008 is limited to a command-line interface used to configure the host OS, physical hardware, and software. A menu driven CLI interface and some freely downloadable script files simplify configuration. In addition, Hyper-V Server supports remote access via Remote Desktop Connection. However, administration and configuration of the host OS and the guest virtual machines is generally done over the network, using either Microsoft Management Consoles on another Windows computer or System Center Virtual Machine Manager. This allows much easier «point and click» configuration, and monitoring of the Hyper-V Server.
Hyper-V Server 2008 R2 (an edition of Windows Server 2008 R2) was made available in September 2009 and includes Windows PowerShell v2 for greater CLI control. Remote access to Hyper-V Server requires CLI configuration of network interfaces and Windows Firewall. Also using a Windows Vista PC to administer Hyper-V Server 2008 R2 is not fully supported.
Microsoft ended mainstream support of the free version of Hyper-V Server 2019 on January 9, 2024 and extended support will end on January 9, 2029.[10] Hyper-V Server 2019 will be the last version of the free, standalone product. Hyper-V is still available as a role in Windows Server 2022 and will be supported as long as that operating system is, currently scheduled for end of extended support on October 14, 2031.[11]
Hyper-V implements isolation of virtual machines in terms of a partition. A partition is a logical unit of isolation, supported by the hypervisor, in which each guest operating system executes. There must be at least one parent partition in a hypervisor instance, running a supported version of Windows. The parent partition creates child partitions which host the guest OSs. The Virtualization Service Provider and Virtual Machine Management Service runs in the parent partition and provide support for child partition. A parent partition creates child partitions using the hypercall API, which is the application programming interface exposed by Hyper-V.[12]
A child partition does not have access to the physical processor, nor does it handle its real interrupts. Instead, it has a virtual view of the processor and runs in Guest Virtual Address, which, depending on the configuration of the hypervisor, might not necessarily be the entire virtual address space. Depending on VM configuration, Hyper-V may expose only a subset of the processors to each partition. The hypervisor handles the interrupts to the processor, and redirects them to the respective partition using a logical Synthetic Interrupt Controller (SynIC). Hyper-V can hardware accelerate the address translation of Guest Virtual Address-spaces by using second level address translation provided by the CPU, referred to as EPT on Intel and RVI (formerly NPT) on AMD.
Child partitions do not have direct access to hardware resources, but instead have a virtual view of the resources, in terms of virtual devices. Any request to the virtual devices is redirected via the VMBus to the devices in the parent partition, which will manage the requests. The VMBus is a logical channel which enables inter-partition communication. The response is also redirected via the VMBus. If the devices in the parent partition are also virtual devices, it will be redirected further until it reaches the parent partition, where it will gain access to the physical devices. Parent partitions run a Virtualization Service Provider (VSP), which connects to the VMBus and handles device access requests from child partitions. Child partition virtual devices internally run a Virtualization Service Client (VSC), which redirect the request to VSPs in the parent partition via the VMBus. This entire process is transparent to the guest OS.
Virtual devices can also take advantage of a Windows Server Virtualization feature, named Enlightened I/O, for storage, networking and graphics subsystems, among others. Enlightened I/O is a specialized virtualization-aware implementation of high level communication protocols, like SCSI, that allows bypassing any device emulation layer and takes advantage of VMBus directly. This makes the communication more efficient, but requires the guest OS to support Enlightened I/O.
Currently[when?] only the following operating systems support Enlightened I/O, allowing them therefore to run faster as guest operating systems under Hyper-V than other operating systems that need to use slower emulated hardware:
- Windows Server 2008 and later
- Windows Vista and later
- Linux with a 3.4 or later kernel[13]
- FreeBSD[14]
System requirements
[edit]
The Hyper-V role is only available in the x86-64 variants of Standard, Enterprise and Datacenter editions of Windows Server 2008 and later, as well as the Pro, Enterprise and Education editions of Windows 8 and later. On Windows Server, it can be installed regardless of whether the installation is a full or core installation. In addition, Hyper-V can be made available as part of the Hyper-V Server operating system, which is a freeware edition of Windows Server.[15] Either way, the host computer needs the following.[16]
- CPU with the following technologies:
- NX bit
- x86-64
- Hardware-assisted virtualization (Intel VT-x or AMD-V)
- Second Level Address Translation (in Windows 8 and later)[17]
- At least 2 GB memory, in addition to what is assigned to each guest machine
The amount of memory assigned to virtual machines depends on the operating system:
- Windows Server 2008 Standard supports up to 31 GB of memory for running VMs, plus 1 GB for the host OS.[18]
- Windows Server 2008 R2 Standard supports up to 32 GB, but the Enterprise and Datacenter editions support up to 2 TB.[19] Hyper-V Server 2008 R2 supports up to 1 TB.[16]
- Windows Server 2012 supports up to 4 TB.
The number of CPUs assigned to each virtual machine also depends on the OS:
- Windows Server 2008 and 2008 R2 support 1, 2, or 4 CPUs per VM; the same applies to Hyper-V Server 2008 R2[15]
- Windows Server 2012 supports up to 64 CPUs per VM
There is also a maximum for the number of concurrently active virtual machines.
- Windows Server 2008 and 2008 R2 support 384 per server;[20] Hyper-V Server 2008 supports the same[15]
- Windows Server 2012 supports 1024 per server; the same applies to Hyper-V Server 2012[21]
- Windows Server 2016 supports 8000 per cluster and per node[22]
Windows Server 2008 R2
[edit]
The following table lists supported guest operating systems on Windows Server 2008 R2 SP1.[23]
Guest operating system | Virtual CPUs | ||
---|---|---|---|
OS | Editions | Number | Architecture |
Windows Server 2012[a] | Hyper-V, Standard, Datacenter | 1–4 | x86-64 |
Windows Home Server 2011 | Standard | 1–4 | x86-64 |
Windows Server 2008 R2 SP1 | Web, Standard, Enterprise, Datacenter | 1–4 | x86-64 |
Windows Server 2008 SP2 | Web, Standard, Enterprise, Datacenter | 1–4 | IA-32, x86-64 |
Windows Server 2003 R2 SP2 | Web,[b] Standard, Enterprise, Datacenter | 1 or 2 | IA-32, x86-64 |
Windows 2000 SP4 | Professional, Server, Advanced Server | 1 | IA-32 |
Windows 7 | Professional, Enterprise, Ultimate | 1–4 | IA-32, x86-64 |
Windows Vista | Business, Enterprise, Ultimate | 1–4 | IA-32, x86-64 |
Windows XP SP3 | Professional | 1 or 2 | IA-32 |
Windows XP SP2 | Professional, Professional x64 Edition | 1 | IA-32, x86-64 |
SUSE Linux Enterprise Server 10 SP4 or 11 SP1–SP3 | — | 1–4 | IA-32, x86-64 |
Red Hat Enterprise Linux 5.5–7.0 | Red Hat Compatible Kernel | 1–4 | IA-32, x86-64 |
CentOS 5.5–7.5 | — | 1–4 | IA-32, x86-64 |
Ubuntu 12.04–20.04 | Debian Compatible Kernel | 1–4 | IA-32, x86-64 |
Debian 7.0 | Debian Compatible Kernel | 1–4 | IA-32, x86-64 |
Oracle Linux 6.4 | Red Hat Compatible Kernel | 1–4 | IA-32, x86-64 |
- ^ Windows Server 2012 is supported and runs only on a host system Windows Server 2008 R2 RTM or SP1, with a hotfix applied.
- ^ Web edition does not have an x64 version.
Fedora 8 or 9 are unsupported; however, they have been reported to run.[23][24][25][26]
Third-party support for FreeBSD 8.2 and later guests is provided by a partnership between NetApp and Citrix.[27] This includes both emulated and paravirtualized modes of operation, as well as several HyperV integration services.[28]
Desktop virtualization (VDI) products from third-party companies (such as Quest Software vWorkspace, Citrix XenDesktop, Systancia AppliDis Fusion[29] and Ericom PowerTerm WebConnect) provide the ability to host and centrally manage desktop virtual machines in the data center while giving end users a full PC desktop experience.
Guest operating systems with Enlightened I/O and a hypervisor-aware kernel such as Windows Server 2008 and later server versions, Windows Vista SP1 and later clients and offerings from Citrix XenServer and Novell will be able to use the host resources better since VSC drivers in these guests communicate with the VSPs directly over VMBus.[30] Non-«enlightened» operating systems will run with emulated I/O;[31] however, integration components (which include the VSC drivers) are available for Windows Server 2003 SP2, Windows Vista SP1 and Linux to achieve better performance.
On July 20, 2009, Microsoft submitted Hyper-V drivers for inclusion in the Linux kernel under the terms of the GPL.[32] Microsoft was required to submit the code when it was discovered that they had incorporated a Hyper-V network driver with GPL-licensed components statically linked to closed-source binaries.[33] Kernels beginning with 2.6.32 may include inbuilt Hyper-V paravirtualization support which improves the performance of virtual Linux guest systems in a Windows host environment. Hyper-V provides basic virtualization support for Linux guests out of the box. Paravirtualization support requires installing the Linux Integration Components or Satori InputVSC drivers. Xen-enabled Linux guest distributions may also be paravirtualized in Hyper-V. As of 2013 Microsoft officially supported only SUSE Linux Enterprise Server 10 SP1/SP2 (x86 and x64) in this manner,[34] though any Xen-enabled Linux should be able to run. In February 2008, Red Hat and Microsoft signed a virtualization pact for hypervisor interoperability with their respective server operating systems, to enable Red Hat Enterprise Linux 5 to be officially supported on Hyper-V.[35]
Windows Server 2012
[edit]
Hyper-V in Windows Server 2012 and Windows Server 2012 R2 changes the support list above as follows:[36]
- Hyper-V in Windows Server 2012 adds support for Windows 8.1 (up to 32 CPUs) and Windows Server 2012 R2 (64 CPUs); Hyper-V in Windows Server 2012 R2 adds support for Windows 10 (32 CPUs) and Windows Server 2016 (64 CPUs).
- Minimum supported version of CentOS is 6.0.
- Minimum supported version of Red Hat Enterprise Linux is 5.7.
- Maximum number of supported CPUs for Windows Server and Linux operating systems is increased from four to 64.
Windows Server 2012 R2
[edit]
Hyper-V on Windows Server 2012 R2 added the Generation 2 VM.[37]
Backward compatibility
[edit]
Hyper-V, like Microsoft Virtual Server and Windows Virtual PC, saves each guest OS to a single virtual hard disk file. It supports the older .vhd format, as well as the newer .vhdx. Older .vhd files from Virtual Server 2005, Virtual PC 2004 and Virtual PC 2007 can be copied and used in Hyper-V, but any old virtual machine integration software (equivalents of Hyper-V Integration Services) must be removed from the virtual machine. After the migrated guest OS is configured and started using Hyper-V, the guest OS will detect changes to the (virtual) hardware. Installing «Hyper-V Integration Services» installs five services to improve performance, at the same time adding the new guest video and network card drivers.
Hyper-V does not virtualize audio hardware. Before Windows 8.1 and Windows Server 2012 R2, it was possible to work around this issue by connecting to the virtual machine with Remote Desktop Connection over a network connection and use its audio redirection feature.[38][39] Windows 8.1 and Windows Server 2012 R2 add the enhanced session mode which provides redirection without a network connection.[40]
Optical drives pass-through
[edit]
Optical drives virtualized in the guest VM are read-only.[41] Officially Hyper-V does not support the host/root operating system’s optical drives to pass-through in guest VMs. As a result, burning to discs, audio CDs, video CD/DVD-Video playback are not supported; however, a workaround exists using the iSCSI protocol. Setting up an iSCSI target on the host machine with the optical drive can then be talked to by the standard Microsoft iSCSI initiator. Microsoft produces their own iSCSI Target software or alternative third party products can be used.[42]
VT-x/AMD-V handling
[edit]
Hyper-V uses the VT-x on Intel or AMD-V on AMD x86 virtualization. Since Hyper-V is a native hypervisor, as long as it is installed, third-party software cannot use VT-x or AMD-V. For instance, the Intel HAXM Android device emulator (used by Android Studio or Microsoft Visual Studio) cannot run while Hyper-V is installed.[43]
Client operating systems
[edit]
Hyper-V is also available in x64 SKUs of Windows 8, 8.1, 10 Pro, Enterprise, Education. The following features are not available on client versions of Windows:[44]
- Live migration of virtual machines from one host to another
- Hyper-V Replica
- Virtual Fiber Channel
- SR-IOV networking
- Shared .VHDX
The following features are not available on server versions of Windows:[44]
- Quick Create and the VM Gallery
- Default network (NAT switch)
Feature changes per version
[edit]
Windows Server 2012
[edit]
Windows Server 2012 introduced many new features in Hyper-V.[7]
- Hyper-V Extensible Virtual Switch[45][46]
- Network virtualization[45]
- Multi-tenancy
- Storage Resource Pools
- .vhdx disk format supporting virtual hard disks as large as 64 TB[47] with power failure resiliency
- Virtual Fibre Channel
- Offloaded data transfer
- Virtual Machine Queue (VMQ)
- Hyper-V replica[48]
- Cross-premises connectivity
- Cloud backup
Windows Server 2012 R2
[edit]
With Windows Server 2012 R2 Microsoft introduced another set of new features.[49]
- Shared virtual hard disk[50]
- Storage quality of service[51]
- Generation 2 Virtual Machine[52]
- Enhanced session mode[53]
- Automatic virtual machine activation[54]
Windows Server 2016
[edit]
Hyper-V in Windows Server 2016 and Windows 10 1607 adds[55]
- Nested virtualization[56] (Intel processors only, both the host and guest instances of Hyper-V must be Windows Server 2016 or Windows 10 or later)
- Discrete Device Assignment (DDA), allowing direct pass-through of compatible PCI Express devices to guest Virtual Machines[57]
- Windows containers (to achieve isolation at the app level rather than the OS level)
- Shielded VMs using remote attestation servers
- Monitoring of host CPU resource utilization by guests and protection (limiting CPU usage by guests)
Windows Server 2019
[edit]
Hyper-V in Windows Server 2019 and Windows 10 1809 adds[58]
- Shielded Virtual Machines improvements including Linux compatibility
- Virtual Machine Encrypted Networks
- vSwitch Receive Segment Coalescing
- Dynamic Virtual Machine Multi-Queue (d. VMMQ)
- Persistent Memory support
- Significant feature and performance improvements to Storage Spaces Direct and Failover Clustering
Windows Server 2022
[edit]
Hyper-V in Windows Server 2022 added:[59]
- nested virtualization for AMD processors
- updated Receive Segment Coalescing (RSC) for virtual switches
Windows Server 2025
[edit]
Hyper-V in Windows Server 2025 changes:[60]
- Generation 2 is now the default option in the New Virtual Machine Wizard in Hyper-V Manager
- GPU Partitioning (share a GPU between VMs)
- Hypervisor-enforced paging translation (HPVT)
- Support for 4 petabytes of memory and 2,048 logical processors per Hyper-V host
- Workgroup clusters (support for failover clusters without an Active Directory)
- Comparison of platform virtualization software
- Features new to Windows 8
- Virtual disk image
- Microsoft Open Specification Promise
- Microsoft Remote Web Workplace
- Virtual private server
- Windows Subsystem for Linux
- ^ Paul Thurrott. «Windows Server Virtualization Preview». Archived from the original on 2007-10-11. Retrieved 2007-09-25.
- ^ scooley (2024-08-12). «Enable Hyper-V on Windows». learn.microsoft.com. Retrieved 2024-12-03.
- ^ «Microsoft to ship Windows Server 2008, over time, in eight flavors». ZDNet. Archived from the original on 2010-09-24. Retrieved 2007-11-13.
- ^ «Announcement available from the Microsoft download centre». Archived from the original on 2008-06-29. Retrieved 2008-06-26.
- ^ «Microsoft Hyper-V Server». Microsoft. p. 1. Archived from the original on October 5, 2013. Retrieved January 12, 2012.
- ^ «Download: Microsoft® Hyper-V™ Server 2008 R2 SP1 — Microsoft Download Center — Download Details». Microsoft.com. 2011-12-04. Archived from the original on 2012-04-19. Retrieved 2012-10-07.
- ^ a b «Server Virtualization Features». Microsoft. Archived from the original on October 14, 2012. Retrieved October 5, 2012.
- ^ «Try Hyper-V Server 2012 R2». Evaluation Center. Microsoft. Archived from the original on 11 July 2020. Retrieved 16 February 2015.
- ^ «Microsoft Helps Customers Overcome Barriers to Virtualization and Get Virtual Now». PressPass (Press release). Microsoft. October 1, 2008. Archived from the original on 2010-01-18. Retrieved 2008-10-02.
- ^ «Microsoft Lifecycle». Hyper-V Server 2019 — Microsoft Lifecycle. Microsoft.
- ^ «Windows Server 2022 — Microsoft Lifecycle». learn.microsoft.com. Microsoft. Retrieved 2024-03-21.
- ^ «Hyper-V Architecture». Microsoft. 26 April 2022. Retrieved 2023-10-25.
- ^ «Staging: hv: storvsc: Move the storage driver out of the staging area». Retrieved 28 December 2015.
- ^ «FreeBSD and Microsoft Windows Server Hyper-V support». Archived from the original on 24 January 2015. Retrieved 10 February 2015.
- ^ a b c «Microsoft Hyper-V Server 2008 R2: Frequently Asked Questions». Microsoft.com. Microsoft. Archived from the original on 14 August 2011.
- ^ a b «Microsoft Hyper-V Server: System Requirements». Microsoft.com. Microsoft. Archived from the original on 14 March 2010.
- ^ Thurott, Paul. «Q: Will Windows Server 2012 require the processor to support SLAT?». Archived from the original on August 9, 2017. Retrieved November 5, 2011.
- ^ «Memory Limits for Windows Releases (Windows)». Msdn.microsoft.com. Archived from the original on 2009-06-20. Retrieved 2010-03-02.
- ^ «Microsoft Windows Server 2008 System Requirements». Microsoft.com. Archived from the original on 2011-06-12. Retrieved 2012-10-07.
- ^ «Microsoft Hyper-V Server: Overview». Microsoft.com. Archived from the original on 2012-03-22. Retrieved 2010-03-02.
- ^ «Hyper-V Server whitepaper» (PDF). Archived (PDF) from the original on 2013-11-07. Retrieved 2013-12-21.
- ^ «Plan for Hyper-V scalability in Windows Server 2016». Microsoft.com. Retrieved 2017-06-22.
- ^ a b «About Virtual Machines and Guest Operating Systems». TechNet. Microsoft. 16 July 2014. Archived from the original on 2016-05-06. Retrieved 2016-05-09.
- ^ «Installing Fedora Core 8 on Hyper-V — Ben Armstrong — Site Home — MSDN Blogs». Blogs.msdn.com. 2008-01-03. Archived from the original on 2010-02-10. Retrieved 2012-10-07.
- ^ Sheinberg, Brian (2008-02-08). «First Look: Fedora 9 Alpha, Running in Hyper-V Beta». Crn.com. Archived from the original on 2010-07-23. Retrieved 2012-10-07.
- ^ «Install Ubuntu 7.10 on Hyper-V». Haiders.net. 2008-04-04. Archived from the original on 2009-02-24. Retrieved 2012-10-07.
- ^ «Available Today: FreeBSD Support for Windows Server Hyper-V». Openness@Microsoft. 2012-08-09. Archived from the original on 2014-05-25. Retrieved 2014-05-25.
- ^ «HyperV — FreeBSD Wiki». Freebsd.org. Archived from the original on 2014-07-18. Retrieved 2014-05-25.
- ^ «Systancia offers application and desktop virtualization in a single product». DataMonitor.
- ^ «Microsoft Windows Server 2008 – Hyper-V solution overview — Gabe Knuth». BrianMadden.com. Archived from the original on 2008-07-04. Retrieved 2012-10-07.
- ^ Stevens, Alan (2008-02-27). «Microsoft’s Hyper-V: why all the fuss?». ZDNet. CBS Interactive. Archived from the original on 2009-05-15. Retrieved 2012-10-07.
- ^ Ramji, Sam; Hanrahan, Tom (2009-07-20). «Microsoft Contributes Linux Drivers to Linux Community». News Center. Microsoft. Archived from the original on 2012-04-18. Retrieved 2010-03-02.
- ^ Foley, Mary Jo (2009-07-22). «Pigs are flying low: Why Microsoft open-sourced its Linux drivers». ZDNet. CBS Interactive. Archived from the original on 2012-10-12. Retrieved 2012-08-07.
- ^ Babcock, Charles (2008-04-24). «Microsoft Hyper-V To Flaunt Advanced Virtualization Features». Informationweek.com. Archived from the original on 2014-09-03. Retrieved 2012-10-07.
- ^ Foley, Mary Jo (2009-02-16). «Microsoft and Red Hat sign virtualization pact». ZDNet. CBS Interactive. Archived from the original on 2016-02-08. Retrieved 2012-10-07.
- ^ «Hyper-V Overview». TechNet. Microsoft. Archived from the original on September 15, 2012. Retrieved October 5, 2012.
- ^ Archiveddocs (25 October 2016). «Generation 2 Virtual Machine Overview». docs.microsoft.com. Archived from the original on 2021-01-26. Retrieved 2021-01-19.
- ^ Otey, Michael (24 June 2008). «Guest VM Audio Support under Hyper-V». Windows IT Pro. Penton Media. Archived from the original on 21 October 2014. Retrieved 21 September 2014.
- ^ «Enable Audio in Windows 2008 guest machines running on HyperV». Akshat’s Blog. Microsoft. 7 April 2011. Archived from the original on 21 October 2014. Retrieved 21 September 2014.
- ^ Gear, Gavin (5 December 2013). «Overview: Client Hyper-V Enhanced Session Mode in Windows 8.1». Blogging Windows. Microsoft. Archived from the original on 15 October 2014. Retrieved 21 September 2014.
- ^ Cook, John Paul. «DVD writer on Hyper-V server». TechNet Forums. Microsoft. Archived from the original on 2012-03-23. Retrieved 2012-10-07.
- ^ «Using Full DVD/CD Writing Capabilities in a Hyper-V VM | Mark Gilbert’s Blog». Mark-gilbert.co.uk. 2012-09-05. Archived from the original on 2016-05-09. Retrieved 2015-01-18.
- ^ Syrewicze, Andy (October 2, 2013). «VMware vs. Hyper-V: Architectural Differences». Syrewiczeit.com. Self-published. Archived from the original on February 25, 2018. Retrieved 2019-01-18.
- ^ a b «Introduction to Hyper-V on Windows». learn.microsoft.com. 2024-08-12. Retrieved 2024-10-15.
- ^ a b «A deep dive into Hyper-V Networking (Video and Slides)». Archived from the original on 2012-03-10. Retrieved 2011-09-22.
- ^ «Extending the Hyper-V switch (Video and Slides)». Archived from the original on 2012-05-23. Retrieved 2012-05-10.
- ^ «Hyper-V Virtual Hard Disk Format Overview». TechNet. Microsoft. Archived from the original on August 27, 2012. Retrieved August 25, 2012.
- ^ Reseller, Mike. «Hyper-V Replica in depth». Veeam Software. Archived from the original on 2014-11-29. Retrieved 2014-11-14.
- ^ «What’s New in Hyper-V for Windows Server 2012 R2». Technet.microsoft.com. Archived from the original on 2016-06-03. Retrieved 2016-04-26.
- ^ «What’s New in Hyper-V for Windows Server 2012 R2». Technet.microsoft.com. Archived from the original on 2016-06-03. Retrieved 2016-04-26.
- ^ «What’s New in Hyper-V for Windows Server 2012 R2». Technet.microsoft.com. Archived from the original on 2016-06-03. Retrieved 2016-04-26.
- ^ «What’s New in Hyper-V for Windows Server 2012 R2». Technet.microsoft.com. Archived from the original on 2016-06-03. Retrieved 2016-04-26.
- ^ «What’s New in Hyper-V for Windows Server 2012 R2». Technet.microsoft.com. Archived from the original on 2016-06-03. Retrieved 2016-04-26.
- ^ «What’s New in Hyper-V for Windows Server 2012 R2». Technet.microsoft.com. Archived from the original on 2016-06-03. Retrieved 2016-04-26.
- ^ «What’s new in Hyper-V on Windows Server 2016». Docs.microsoft.com. Archived from the original on 2017-10-28. Retrieved 2017-10-27.
- ^ «Run Hyper-V in a Virtual Machine with Nested Virtualization». Docs.microsoft.com. Archived from the original on 2017-10-28. Retrieved 2017-10-27.
- ^ «What’s new in Hyper-V on Windows Server 2016». Docs.microsoft.com. Archived from the original on 2019-01-13. Retrieved 2019-02-21.
- ^ «What’s new in Windows Server 2019». Docs.microsoft.com. Archived from the original on 2019-03-27. Retrieved 2019-02-21.
- ^ «What’s new in Windows Server 2022». learn.microsoft.com. 10 July 2024. Retrieved 2024-08-20.
- ^ «What’s new in Windows Server 2025». learn.microsoft.com. Retrieved 2024-08-20.
- «Hypervisor Top Level Functional Specification». Microsoft. 2016. Archived from the original on 2017-04-05. Retrieved 2017-04-04.
- Koens, Dimitri (2013). «Hyper-V Quick Reference» (PDF). Dimension IT TV. Archived (PDF) from the original on 2016-03-26. Retrieved 2017-04-04.
- Howard, John (2006). «WinHEC 2006 Presentation slides». Virtualization Blog. Microsoft. Archived from the original on 2015-12-20. Retrieved 2017-04-04.
- Radzikowski, Przemek (2009). «Benchmarking Hyper-V on Windows Server 2008 R2 x64». Archived from the original on 2017-04-23. Retrieved 2017-04-04.
- Posey, Brien; Zerger, Pete; Henley, Chris (2013). The Hands-on Guide: Understanding Hyper-V in Windows Server 2012. Veeam Software. Archived from the original on 2014-04-13. Retrieved 2017-04-04.
Wikiversity has learning resources about Hyper-V
- Official website
- Virtualization Fabric Design Considerations Guide
- Hyper-V on Microsoft TechNet
- Benchmarking Hyper-V on Windows Server 2008 R2 x64 Archived 2017-04-23 at the Wayback Machine
- Hyper-V Architecture
- Windows Admin Center
- Hv Manager
Время на прочтение11 мин
Количество просмотров119K
Всем занять свои места! Задраить люки! Приготовиться к погружению!
В этой статье я попытаюсь рассказать об архитектуре Hyper-V еще подробнее, чем я сделал это ранее.
Что же такое – Hyper-V?
Hyper-V – это одна из технологий виртуализации серверов, позволяющая запускать на одном физическом сервере множество виртуальных ОС. Эти ОС именуются «гостевыми», а ОС, установленная на физическом сервере – «хостовой». Каждая гостевая операционная система запускается в своем изолированном окружении, и «думает», что работает на отдельном компьютере. О существовании других гостевых ОС и хостовой ОС они «не знают».
Эти изолированные окружения именуются «виртуальными машинами» (или сокращенно — ВМ). Виртуальные машины реализуются программно, и предоставляют гостевой ОС и приложениям доступ к аппаратным ресурсам сервера посредством гипервизора и виртуальных устройств. Как уже было сказано, гостевая ОС ведет себя так, как будто полностью контролирует физический сервер, и не имеет представления о существовании других виртуальных машин. Так же эти виртуальные окружения могут именоваться «партициями» (не путать с разделами на жестких дисках).
Впервые появившись в составе Windows Server 2008, ныне Hyper-V существует в виде самостоятельного продукта Hyper-V Server (де-факто являющегося сильно урезанной Windows Server 2008), и в новой версии – R2 – вышедшего на рынок систем виртуализации Enterprise-класса. Версия R2 поддерживает некоторые новые функции, и речь в статье пойдет именно об этой версии.
Гипервизор
Термин «гипервизор» уходит корнями в 1972 год, когда компания IBM реализовала виртуализацию в своих мэйнфреймах System/370. Это стало прорывом в ИТ, поскольку позволило обойти архитектурные ограничения и высокую цену использования мэйнфреймов.
Гипервизор – это платформа виртуализации, позволяющая запускать на одном физическом компьютере несколько операционных систем. Именно гипервизор предоставляет изолированное окружение для каждой виртуальной машины, и именно он предоставляет гостевым ОС доступ к аппаратному обеспечению компьютера.
Гипервизоры можно разделить на два типа по способу запуска (на «голом железе» или внутри ОС) и на два типа по архитектуре (монолитная и микроядерная).
Гипервизор 1 рода
Гипервизор 1 типа запускается непосредственно на физическом «железе» и управляет им самостоятельно. Гостевые ОС, запущенные внутри виртуальных машин, располагаются уровнем выше, как показано на рис.1.
Рис.1 Гипервизор 1 рода запускается на «голом железе».
Работа гипервизоров 1 рода непосредственно с оборудованием позволяет достичь большей производительности, надежности и безопасности.
Гипервизоры 1 рода используются во многих решениях Enterprise-класса:
- Microsoft Hyper-V
- VMware ESX Server
- Citrix XenServer
Гипервизор 2 рода
В отличие от 1 рода, гипервизор 2 рода запускается внутри хостовой ОС (см. рис.2).
Рис.2 Гипервизор 2 рода запускается внутри гостевых ОС
Виртуальные машины при этом запускаются в пользовательском пространстве хостовой ОС, что не самым лучшим образом сказывается на производительности.
Примерами гипервизоров 2 рода служат MS Virtual Server и VMware Server, а так же продукты десктопной виртуализации – MS VirtualPC и VMware Workstation.
Монолитный гипервизор
Гипервизоры монолитной архитектуры включают драйверы аппаратных устройств в свой код (см. рис. 3).
Рис. 3. Монолитная архитектура
Монолитная архитектура имеет свои достоинства и недостатки. Среди достоинств можно отметить:
- Более высокую (теоретически) производительность из-за нахождения драйверов в пространстве гипервизора
- Более высокую надежность, так как сбои в работе управляющей ОС (в терминах VMware – «Service Console») не приведет к сбою всех запущенных виртуальных машин.
Недостатки же у монолитной архитектуры следующие:
- Поддерживается только то оборудование, драйверы на которое имеются в гипервизоре. Из-за этого вендор гипервизора должен тесно сотрудничать с вендорами оборудования, чтобы драйвера для работы всего нового оборудования с гипервизором вовремя писались и добавлялись в код гипервизора. По той же причине при переходе на новую аппаратную платформу может понадобиться переход на другую версию гипервизора, и наоборот – при переходе на новую версию гипервизора может понадобиться смена аппаратной платформы, поскольку старое оборудование уже не поддерживается.
- Потенциально более низкая безопасность – из-за включения в гипервизор стороннего кода в виде драйверов устройств. Поскольку код драйверов выполняется в пространстве гипервизора, существует теоретическая возможность воспользоваться уязвимостью в коде и получить контроль как над хостовой ОС, так и над всеми гостевыми.
Самым распространенным примером монолитной архитектуры является VMware ESX.
Микроядерная архитектура
При микроядерной архитектуре драйверы устройств работают внутри хостовой ОС.
Хостовая ОС в этом случае запускается в таком же виртуальном окружении, как и все ВМ, и именуется «родительской партицией». Все остальные окружения, соответственно – «дочерние». Единственная разница между родительской и дочерними партициями состоит в том, что только родительская партиция имеет непосредственный доступ к оборудованию сервера. Выделением памяти же и планировкой процессорного времени занимается сам гипервизор.
Рис. 4. Микроядерная архитектура
Достоинства у такой архитектуры следующие:
- Не требуются драйвера, «заточенные» под гипервизор. Гипервизор микроядерной архитектуры совместим с любым оборудованием, имеющим драйверы для ОС родительской партиции.
- Поскольку драйверы выполняются внутри родительской партиции – у гипервизора остается больше времени на более важные задачи – управление памятью и работу планировщика.
- Более высокая безопасность. Гипервизор не содержит постороннего кода, соответственно и возможностей для атаки на него становится меньше.
Самым ярким примером микроядерной архитектуры является, собственно, сам Hyper-V.
Архитектура Hyper-V
На рис.5 показаны основные элементы архитектуры Hyper-V.
Рис.5 Архитектура Hyper-V
Как видно из рисунка, гипервизор работает на следующем уровне после железа – что характерно для гипервизоров 1 рода. Уровнем выше гипервизора работают родительская и дочерние партиции. Партиции в данном случае – это области изоляции, внутри которых работают операционные системы. Не нужно путать их, к примеру, с разделами на жестком диске. В родительской партиции запускается хостовая ОС (Windows Server 2008 R2) и стек виртуализации. Так же именно из родительской партиции происходит управление внешними устройствами, а так же дочерними партициями. Дочерние же партиции, как легко догадаться – создаются из родительской партиции и предназначены для запуска гостевых ОС. Все партиции связаны с гипервизором через интерфейс гипервызовов, предоставляющий операционным системам специальный API. Если кого-то из разработчиков интересуют подробности API гипервызовов — информация имеется в MSDN.
Родительская партиция
Родительская партиция создается сразу же при установке системной роли Hyper-V. Компоненты родительской партиции показаны на рис. 6.
Назначение родительской партиции следующее:
- Создание, удаление и управление дочерними партициями, в том числе и удаленное, посредством WMI-провайдера.
- Управление доступом к аппаратным устройствам, за исключением выделения процессорного времени и памяти – этим занимается гипервизор.
- Управление питанием и обработка аппаратных ошибок, если таковые возникают.
Рис.6 Компоненты родительской партиции Hyper-V
Стек виртуализации
Следующие компоненты, работающие в родительской партиции, в совокупности называют стеком виртуализации:
- Служба управления виртуальными машинами (VMMS)
- Рабочие процессы виртуальных машин (VMWP)
- Виртуальные устройства
- Драйвер виртуальной инфраструктуры (VID)
- Библиотека интерфейсов гипервизора
Помимо этого, в родительской партиции работают еще два компонента. Это провайдеры служб виртуализации (VSP) и шина виртуальных машин (VMBus).
Служба управления виртуальными машинами
В задачи службы управления виртуальными машинами (VMMS) входит:
- Управление состоянием виртуальных машин (включено/выключено)
- Добавление/удаление виртуальных устройств
- Управление моментальными снимками
При запуске виртуальной машины VMMS создает новый рабочий процесс виртуальной машины. Подробнее о рабочих процессах будет рассказано далее.
Так же именно VMMS определяет, какие операции разрешено выполнять с виртуальной машиной в настоящий момент: к примеру, если происходит удаление снапшота, то применить снапшот в течение операции удаления она не даст. Подробнее о работе с моментальными снимками (снапшотами) виртуальных машин можно почитать в соответствующей моей статье.
Если говорить более детально – то VMMS управляет следующими состояниями виртуальных машин:
- Starting
- Active
- Not Active
- Taking Snapshot
- Applying Snapshot
- Deleting Snapshot
- Merging Disk
Другие задачи управления – Pause, Save и Power Off – выполняются не службой VMMS, а непосредственно рабочим процессом соответствующей виртуальной машины.
Служба VMMS работает как на уровне пользователя, так и на уровне ядра как системная служба (VMMS.exe) и зависит от служб Remote Procedure Call (RPC) и Windows Management Instrumentation (WMI). Служба VMMS включает в себя множество компонент, среди которых имеется и WMI-провайдер, предоставляющий интерфейс для управления виртуальными машинами. Благодаря этому можно управлять виртуальными машинами из командной строки и с помощью скриптов VBScript и PowerShell. System Center Virtual Machine Manager так же использует этот интерфейс для управления виртуальными машинами.
Рабочий процесс виртуальной машины (VMWP)
Для управления виртуальной машиной из родительской партиции запускается особый процесс – рабочий процесс виртуальной машины (VMWP). Процесс этот работает на уровне пользователя. Для каждой запущенной виртуальной машины служба VMMS запускает отдельный рабочий процесс. Это позволяет изолировать виртуальные машины друг от друга. Для повышения безопасности, рабочие процессы запускаются под встроенным пользовательским аккаунтом Network Service.
Процесс VMWP используется для управления соответствующей виртуальной машиной. В его задачи входит:
Создание, конфигурация и запуск виртуальной машины
Пауза и продолжение работы (Pause/Resume)
Сохранение и восстановление состояния (Save/Restore State)
Создание моментальных снимков (снапшотов)
Кроме того, именно рабочий процесс эмулирует виртуальную материнскую плату (VMB), которая используется для предоставления памяти гостевой ОС, управления прерываниями и виртуальными устройствами.
Виртуальные устройства
Виртуальные устройства (VDevs) – это программные модули, реализующие конфигурацию и управление устройствами для виртуальных машин. VMB включает в себя базовый набор виртуальных устройств, включающий в себя шину PCI и системные устройства, идентичные чипсету Intel 440BX. Есть два типа виртуальных устройств:
- Эмулируемые устройства – эмулируют определенные аппаратные устройства, такие, к примеру, как видеоадаптер VESA. Эмулируемых устройств достаточно много, к примеру: BIOS, DMA, APIC, шины ISA и PCI, контроллеры прерываний, таймеры, управление питанием, контроллеры последовательных портов, системный динамик, контроллер PS/2 клавиатуры и мыши, эмулируемый (Legacy) Ethernet-адаптер (DEC/Intel 21140), FDD, IDE-контроллер и видеоадаптер VESA/VGA. Именно поэтому для загрузки гостевой ОС может использоваться только виртуальный IDE-контроллер, а не SCSI, который является синтетическим устройством.
- Синтетические устройства – не эмулируют реально существующие в природе железки. Примерами служат синтетический видеоадаптер, устройства взаимодействия с человеком (HID), сетевой адаптер, SCSI-контроллер, синтетический контроллер прерывания и контроллер памяти. Синтетические устройства могут использоваться только при условии установки компонент интеграции в гостевой ОС. Синтетические устройства обращаются к аппаратным устройствам сервера посредством провайдеров служб виртуализации, работающих в родительской партиции. Обращение идет через виртуальную шину VMBus, что намного быстрее, чем эмуляция физических устройств.
Драйвер виртуальной инфраструктуры (VID)
Драйвер виртуальной инфраструктуры (vid.sys) работает на уровне ядра и осуществляет управление партициями, виртуальными процессорами и памятью. Так же этот драйвер является промежуточным звеном между гипервизором и компонентами стека виртуализации уровня пользователя.
Библиотека интерфейса гипервизора
Библиотека интерфейса гипервизора (WinHv.sys) – это DLL уровня ядра, которая загружается как в хостовой, так и в гостевых ОС, при условии установки компонент интеграции. Эта библиотека предоставляет интерфейс гипервызовов, использующийся для взаимодействия ОС и гипервизора.
Провайдеры служб виртуализации (VSP)
Провайдеры служб виртуализации работают в родительской партиции и предоставляют гостевым ОС доступ к аппаратным устройствам через клиент служб виртуализации (VSC). Связь между VSP и VSC осуществляется через виртуальную шину VMBus.
Шина виртуальных машин (VMBus)
Назначение VMBus состоит в предоставлении высокоскоростного доступа между родительской и дочерними партициями, в то время как остальные способы доступа значительно медленнее из-за высоких накладных расходах при эмуляции устройств.
Если гостевая ОС не поддерживает работу интеграционных компонент – приходится использовать эмуляцию устройств. Это означает, что гипервизору приходится перехватывать вызовы гостевых ОС и перенаправлять их к эмулируемым устройствам, которые, напоминаю, эмулируются рабочим процессом виртуальной машины. Поскольку рабочий процесс запускается в пространстве пользователя, использование эмулируемых устройств приводит к значительному снижению производительности по сравнению с использованием VMBus. Именно поэтому рекомендуется устанавливать компоненты интеграции сразу же после установки гостевой ОС.
Как уже было сказано, при использовании VMBus взаимодействие между хостовой и гостевой ОС происходит по клиент-серверной модели. В родительской партиции запущены провайдеры служб виртуализации (VSP), которые являются серверной частью, а в дочерних партициях – клиентская часть – VSC. VSC перенаправляет запросы гостевой ОС через VMBus к VSP в родительской партиции, а сам VSP переадресовывает запрос драйверу устройства. Этот процесс взаимодействия абсолютно прозрачен для гостевой ОС.
Дочерние партиции
Вернемся к нашему рисунку с архитектурой Hyper-V, только немного сократим его, поскольку нас интересуют лишь дочерние партиции.
Рис. 7 Дочерние партиции
Итак, в дочерних партициях могут быть установлены:
- ОС Windows, с установленными компонентами интеграции (в нашем случае – Windows 7)
- ОС не из семейства Windows, но поддерживающая компоненты интеграции (Red Hat Enterprise Linux в нашем случае)
- ОС, не поддерживающие компоненты интеграции (например, FreeBSD).
Во всех трех случаях набор компонент в дочерних партициях будет немного различаться.
ОС Windows с установленными компонентами интеграции
Операционные системы Microsoft Windows, начиная с Windows 2000 поддерживают установку компонент интеграции. После установки Hyper-V Integration Services в гостевой ОС запускаются следуюшие компоненты:
- Клиенты служб виртуализации. VSC представляют собой синтетические устройства, позволяющие осуществлять доступ к физическим устройствам посредством VMBus через VSP. VSC появляются в системе только после установки компонент интеграции, и позволяют использовать синтетические устройства. Без установки интеграционных компонент гостевая ОС может использовать только эмулируемые устройства. ОС Windows 7 и Windows Server 2008 R2 включает в себя компоненты интеграции, так что их не нужно устанавливать дополнительно.
- Улучшения. Под этим имеются в виду модификации в коде ОС чтобы обеспечить работу ОС с гипервизором и тем самым повысить эффективность ее работы в виртуальной среде. Эти модификации касаются дисковой, сетевой, графической подсистем и подсистемы ввода-вывода. Windows Server 2008 R2 и Windows 7 уже содержат в себе необходимые модификации, на другие поддерживаемые ОС для этого необходимо установить компоненты интеграции.
Так же, компоненты интеграции предоставляют следующий функционал:
- Heartbeat – помогает определить, отвечает ли дочерняя партиция на запросы из родительской.
- Обмен ключами реестра – позволяет обмениваться ключами реестра между дочерней и родительской партицией.
- Синхронизация времени между хостовой и гостевой ОС
- Завершение работы гостевой ОС
- Служба теневого копирования томов (VSS), позволяющая получать консистентные резервные копии.
ОС не из семейства Windows, но поддерживающая компоненты интеграции
Существуют так же ОС, не относящиеся к семейству Windows, но поддерживающие компоненты интеграции.На данный момент – это только SUSE Linux Enterprise Server и Red Hat Enterprise Linux. Такие ОС при установке компонент интеграции используют VSC сторонних разработчиков для взаимодействия с VSC по VMBus и доступа к оборудованию. Компоненты интеграции для Linux разработаны компанией Microsoft совместно с Citrix и доступны для загрузки в Microsoft Download Center. Поскольку компоненты интеграции для Linux были выпущены под лицензией GPL v2, ведутся работы по интеграции их в ядро Linux через Linux Driver Project, что позволит значительно расширить список поддерживаемых гостевых ОС.
Вместо заключения
На этом я, пожалуй, закончу свою вторую статью, посвященную архитектуре Hyper-V. Предыдущая статья вызвала у некоторых читателей вопросы, и надеюсь, что теперь я на них ответил.
Надеюсь, что чтение не было слишком скучным. Я достаточно часто использовал «академический язык», но это было необходимо, поскольку тематика статьи предполагает очень большой объем теории и практически нуль целых нуль десятых практики.
Выражаю огромную благодарность Mitch Tulloch и Microsoft Virtualization Team. На основе их книги Understanding Microsoft Virtualization Solutions и была подготовлена статья.
Платформа виртуализации Microsoft Hyper-V в Windows
Microsoft Hyper-V – это платформа аппаратной виртуализации от компании Microsoft, которая позволяет создавать и запускать независимые изолированные виртуальные машины (ВМ) на физическом хосте (сервере). Hyper-V обеспечивает распределение аппаратных ресурсов сервера между виртуальными машинами. Hyper-V в виде отдельной роли доступен во всех версиях Windows Server и десктопных версиях Windows 10 и 11.
Для использования Hyper-V процессор физического сервера должен поддерживать аппаратную виртуализацию, и эта функция должна быть разрешена в настройка BIOS/UEFI (Intel VT — Intel Virtualization Technology или AMD-V — SVM Mode).
Архитектура и компоненты Hyper-V
- Гипервизор Hyper-V – отдельный компонент, который устанавливается в Windows и является основой, которая обеспечивает возможности изоляции и виртуализации физического железа хоста;
- Виртуальная машина – независимый экземпляр операционной системы, который запускаются на гипервизоре. Виртуальные машины изолированным друг от друга и работают в собственном виртуальном окружении. Администратора выделяет для виртуальной машины ресурсы (процессорное время, память, сетевые адаптеры, диски) в зависимости от их потребностей;
- Гостевая операционная система – операционная система, которая установлена в виртуальной машине. В качестве гостевой ОС можно использовать различные дистрибутивы, включая Windows и Linux;
- Хостовая ОС – компьютер с Windows с установленной ролью Hyper-V. Виртуальные машины выполняются хостовой ОС;
- Виртуальный диск – файл виртуальной машины, который эмулирует физический жесткий диск. В Hyper-V используются два формата виртуальных дисков VHD (Virtual Hard Disk) и VHDX (Virtual Hard Disk Extended);
- Виртуальный коммутатор – программный компонент, которые позволяет организовать сетевой доступ между ВМ и с внешней сетью.
В каких версиях Windows можно использовать виртуализацию Hyper-V?
- Во всех версиях Windows Server 2022/2019/2016/2012R2/2008R2 Hyper-V доступа для установки в виде отдельной роли
- Как отдельный продукт Windows Server Hyper-V (это бесплатная версиях гипервизора), которая не требует лицензирования
- В дестопных версиях Windows x64 с редакциями Professional и Enterprise (включая Windows 10 и Windows 11)
Возможности гипервизора Hyper-V
- Снимки (snapshots) – Hyper-V может сохранять состояние виртуальных машин и запущенных гостевых ОС и возвращаться к ранее сохраненным состояниям.
- Поддержка кластеризации и высокой доступности
- Live migration– возможность переноса запущенных виртуальных машин между хостами Hyper-V
- Проброс графического адаптера (GPU) с хостовой ОС в виртуальные машины Hyper-V
- Прямой доступ из ВМ к физическим ресурсам хоста Hyper-V с помощью технологии SR-IOV (Single Root Input/Output Virtualization)
Следующие функции доступны только в Hyper-V на Windows Server:
- Live Migration
- Репликация Hyper-V
- Virtual Fibre Channel
- SR-IOV для сетевых адаптеров
- Общие VHDX диски
Инструменты управления Hyper-V
- Графическая консоль Hyper-V Manager
- System Center Virtual Machine Manager (SCVMM)
- Командлеты PowerShell из модуля Hyper-V
- Веб интерфейс Windows Admin Center (WAC)
Установка Hyper-V
- Установка бесплатного Windows Hyper-V Server 2019 (2016)
- Включить роль Hyper-V в виртуальной машине Windows на VMware ESXi
Настройка Hyper-V и виртуальных машин
- Настройка автозапуска и порядка старта виртуальных машин Hyper-V
- Включить маршрутизацию между разными IP подсетями в Hyper-V
- Управление количеством доступных ядер (vCPU) для виртуальной машины
- Резервное копирование виртуальных машин Hyper-V
- Использование Production Checkpoints (продуктивные контрольные точки) в Hyper-V
- Проброс USB накопителей (флешки, SD карты) в виртуальную машину Hyper-V
- Как увеличить или уменьшить виртуальный диск машины Hyper-V
Сценарии использования Hyper-V:
- Установка Windows 11 в виртуальную машину Hyper-V
- Установка VMware ESXi в виртуальную машину Hyper-V
- Клонирование, импорт и экспорт ВМ в Hyper-V
- Использование дифференциальных дисков в Hyper-V
- Шифрование ВМ на Hyper-V с помощью BitLocker
- Установка компонентов VirtualMachinePlatform для запуска среды Windows Subsystem for Linux (WSL)
Решение проблем и исправление ошибок Hyper-V и виртуальных машин
- Низкая скорость передачи данных с виртуальных машины Hyper-V на Windows Server 2019
- Ошибка при загрузке Linux ВМ: The image’s hash and certificate are not allowed
- Как принудительно выключить зависшую виртуальную машину Hyper-V
Недостатки Hyper-V
- Не поддерживается проброс USB ключей из хостовой ОС в виртуальную машину. В качестве обходного решения рекомендуется использовать проброс с помощью программ, реализующих протокол USB over IP. Например, для проброса USB устройства в виртуальную машину Hyper-V можно использовать open-source проект usbipd—win
Включить Hyper-V в Windows 10 и 11 (Pro или Home редакции)
08.05.2024
Платформа виртуализации Hyper-V доступна не только в Windows Server, но и в десктопных редакциях Windows 10 и 11. С помощью встроенного гипервизора Hyper-V пользователи могут создавать и запускать виртуальные машины. В этой статье мы рассмотрим, как включить компоненты Hyper-V в Windows…
Монтирование физических, виртуальных и сетевых дисков в WSL2 (Windows Subsystem for Linux)
25.10.2023
Windows Subsystem for Linux (WSL) предоставляет ряд удобных возможности подключения физических, виртуальных и сетевых дисков. По умолчанию в среде wsl в каталог /mnt/ монтируются все логические диски, которые доступны в Windows. Кроме того, вы можете прямо из проводника Windows обратиться к…
Проброс видеокарты (GPU) в виртуальную машину Hyper-V
17.08.2023
В предыдущих версиях Hyper-V (начиная с Windows 7/Windows Server 2008R2) для проброса дискретной видеокарты с хоста в виртуальную машину можно было использовать технологию RemoteFX vGPU. Однако, начиная с Windows 10 1809 и Windows Server 2019, Майкрософт отключило поддержку RemoteFX. Вместо нее…
Удаленное управление с помощью Hyper-V Manager
23.11.2022
Если вы развернули роль Hyper-V на редакции Windows, в которой отсутствует графический интерфейс (Windows Server Core или Microsoft Hyper-V Server) вы можете использовать для управления серверов и виртуальными машинами команды PowerShell из модуля Hyper-V. Для более комфортного управления виртуальными машинами предпочтительно…
Установка Windows 11 в виртуальную машину Hyper-V
29.11.2021
Microsoft выкатила ряд требований для оборудования устройства, необходимых для установки Windows 11. В частности, ваш компьютер должен иметь встроенный TPM модуль, современный процессор, поддерживать UEFI Secure Boot. Даже если ваш компьютер не поддерживает на аппаратном уровне эти функции, вы можете использовать…
Управление виртуальными машинами Hyper-V с помощью PowerShell
10.11.2021
Статья посвящена особенностям управления виртуальными машинами Hyper-V из консоли PowerShell. Мы рассмотрим создание виртуальных коммутаторов и виртуальных машин, изменение настроек ВМ и управление ими. Вы сможете использовать рассмотренные команды для ручного управления своими ВМ или в PowerShell скриптах для автоматизации различных…
Включаем поддержку SR-IOV для виртуальных машин Hyper-V
21.09.2021
SR-IOV (Single Root Input/Output Virtualization) это технология виртуализации аппаратных устройств хоста, позволяющая предоставить виртуальным машинам прямой доступ к устройствам. Технология позволяет виртуализировать различные виды устройств, но чаще всего используется для виртуализации сетевых адаптеров. В этой статье мы расскажем, как правильно включить…
Низкая скорость сети на хосте Hyper-V с Windows Server 2019
01.09.2021
Несколько раз встречался с тем, что скорость копирования файлов по сети с/на виртуальные машины на Hyper-V в Windows Server 2019 намного ниже, чем в ВМ аналогичной конфигурации на хосте с Windows Server 2016. В некоторых тестах скорость записи/чтения данных по сети…
Установка VMWare ESXi в виртуальную машину Windows Hyper-V
19.04.2021
Для домашнего стенда мне понадобилось установить гипервизор VMWare ESXi -V в качестве виртуальной машины Hyper-V на Windows 10. Hyper-V и VMWare ESXi поддерживают вложенную виртуализацию (nested virtualization) и в принципе этот сценарий возможен (хотя официально не поддерживается). Однако есть несколько особенностей…
Hyper-V: настройка автоматического запуска и порядка загрузки виртуальных машин
11.03.2021
В гипервизоре Hyper-V, как и в VMWare ESXi, вы можете настроить параметры автоматического запуска и выключения виртуальных машин при включении/перезагрузке хостовой ОС. В этой статье мы покажем, как настроить действия, которые должен выполнить хост Hyper-V с виртуальными машинами на нем при…
Маршрутизация между разными IP подсетями в Hyper-V
25.02.2021
В тестовом стенде на отдельно-стоящем Hyper-V сервере потребовалось создать несколько внутренних IP подсетей и настроить маршрутизацию между ними. По умолчанию Hyper-V не маршрутизирует трафик между подсетями на виртуальных коммутаторах. Поэтому при решении задачи в-лоб обычно создают отдельную ВМ с двумя сетевыми…
Клонирование, импорт и экспорт виртуальных машин в Hyper-V
18.02.2021
В Hyper-V в отличии от VMWare нет встроенной функции клонирования виртуальной машины (клонирование есть только в Virtual Machine Manager). Чтобы создать полную копию существующей ВМ придется использовать функцию импорта/экспорта. В этой статье мы рассмотрим, как клонировать виртуальную машину в Hyper-V через…
Hyper-V — нативная (встроенная в ОС) платформа для аппаратной виртуализации, разработанная компанией Microsoft на основе Virtual PC, продукта дочерней компании Apple Connectix. Она позволяет создавать на одном физическом сервере несколько параллельно работающих изолированных программных окружений. Первоначально Hyper-V использовалась для виртуализации серверов, но, начиная с Windows 8, доступна для клиентской версии операционной системы.
Что такое Hyper-V
Для понимания функций и назначения Hyper-V необходимо разобраться, что представляет собой технология виртуализации.
Если коротко, то виртуализация — программная имитация работы полноценного ПК со своей операционной системой, жестким диском, оперативной памятью, процессором на выделенных мощностях физического компьютера. Для этого часть ресурсов физической платформы выделяется под работу виртуальной машины, а чтобы они не конфликтовали друг с другом, вторую запускают в изолированной программной среде. Виртуализация используется для решения различных задач:
- эффективного использования аппаратных ресурсов — например, с помощью нее можно запустить несколько виртуальных машин на сервере под отдельные сайты, что позволит снизить стоимость хостинговых услуг, так как основной ПК не будет работать вхолостую;
- пробной установки новой операционной системы — например, если пользователь решил перейти на новую ОС, но пока не готов отказаться от старой или хочет использовать обе системы сразу под разные задачи;
- тестирования новых программных продуктов или игр — например, если разработчик хочет распространять свою продукцию среди пользователей других операционных систем;
- экспериментов в области информационной безопасности — запустив изолированную виртуальную машину, специалист может «заражать» ее вирусами, троянами и другим вредоносным ПО без риска повредить основную ОС и потерять хранящиеся на ней данные;
- использования программного обеспечения — в частности, на компьютере с основной системой Windows пользователь может с помощью виртуальной машины применять ПО, разработанное под Linux.
Виртуализация бывает двух типов:
- программной — когда аппаратные ресурсы для одной или нескольких виртуальных машин выделяются операционной системой физической платформы. Это, с одной стороны, упрощает виртуализацию, с другой — замедляет работу виртуальных систем. Кроме того, чтобы они нормально работали, их ОС должны поддерживать ядро основной операционной системы;
- аппаратной — в этом случае распределение физических ресурсов ПК между установленными на нем виртуальными платформами происходит напрямую, минуя основную (серверную) операционную систему. Это позволяет запускать на виртуальных машинах свои полноценные ОС (в том числе не поддерживающие ядро основной операционной системы).
Создание изолированной виртуальной среды и распределение аппаратных ресурсов между основной и гостевыми ОС — одна из главных задач, которую нужно решить для успешной виртуализации. Эти функции берет на себя программа-гипервизор, представляющая собой своеобразную операционную систему.
Hyper-V — аппаратный гипервизор — программа-посредник между виртуальной машиной и самим «железом» компьютера. По сути, это своеобразная операционная система (микроядро), которая выполняет следующие функции:
- параллельную и независимую работу нескольких виртуальных машин на одном хост-компьютере;
- изолирование гостевых операционных систем друг от друга и основной ОС для предотвращения конфликтов;
- распределение аппаратных ресурсов между виртуальными машинами и управление ими;
- обеспечение взаимодействия между гостевыми ОС (обмен файлами, сетевое соединение и т.д.).
Иными словами, виртуализация в Hyper-V создает условия, при которых аппаратные ресурсы физической платформы эффективно распределяются между установленными на ней виртуальными операционными системами.
История развития
В начале 2000-х годов корпорация Microsoft искала новые направления для своего развития, одним из которых стала разработка различных серверных решений. В 2003 году она поглотила дочернюю компанию Apple Connectix, от которой ей по наследству перешли права на программу Virtual PC. Это программное обеспечение уже на тот момент могло на равных конкурировать с продуктами лидера рынка виртуализации — корпорацией VMware.
На основе Virtual PC в 2004 году Microsoft представила Virtual Server 2005 — решение для создания и управления виртуальными машинами в Windows. Впоследствии компания несколько изменила свой подход к этому продукту, и в 2008 году выпустила первую версию Hyper-V как компонента, по умолчанию входящего в состав новой на тот момент серверной операционной системы Windows Server.
Сегодня Hyper-V поставляется корпорацией Microsoft в двух версиях:
- Hyper-V Server — отдельный программный продукт, который можно скачать с официального сайта Microsoft в виде ISO-файла (виртуального образа диска);
- вложенная виртуализация в составе серверных операционных систем Windows Server, а также 64-разрадных клиентских Windows 8, 10, 11 версий Pro (профессиональная), Enterprise (корпоративная) и Education (для образовательных учреждений). В домашней версии ОС этот компонент не предусмотрен.
Архитектура
Виртуализация в Windows с использованием Hyper-V основана на разделах. Так называется логическая единица разграничения, в которой работают операционные системы. Такие разделы (партиции) бывают двух типов:
- родительские. В разделах этого типа находится основная операционная система, управляющая физической платформой, а также запускается стек виртуализации;
- дочерние. Такие разделы создаются параллельно родительскому и изолированно от него и друг друга с помощью API-гипервизора Hyper-V. Именно в них устанавливаются гостевые операционные системы.
Дочерние разделы не имеют прямого доступа к аппаратным ресурсам физической платформы. Вместо этого гипервизор предоставляет им виртуальное представление этих ресурсов (виртуальные устройства). Во время работы гостевая ОС обращается именно к своему виртуальному устройству, затем гипервизор перенаправляет ее запрос с помощью технологии VMbus (шины виртуальных устройств) хостовой операционной системе. И уже она передает все обращения гостевых ОС непосредственно драйверам аппаратной платформы.
В этом заключается ключевое отличие Hyper-V от основного конкурента — гипервизора VMware ESX. Последний имеет встроенные аппаратные драйверы, в то время как Hyper-V задействует драйверы хостовой операционной системы. У каждого подхода есть свои преимущества.
- С одной стороны, наличие аппаратных драйверов в самом гипервизоре позволяет ему работать без хостовой ОС, по сути, заменяя ее. Также это ускоряет работу гостевых операционных систем, направляя запросы от них напрямую «железу».
- С другой стороны, обращаясь к аппаратным драйверам операционной системы, гипервизор становится менее зависимым от архитектуры самой физической платформы. Например, если появляется драйвер для какой-то специфичной функции физической платформы, достаточно просто установить его в хостовую ОС, а не ждать выхода новой версии гипервизора с соответствующей поддержкой.
Hyper-V позволяет создавать несколько уровней виртуализации — то есть дочерние разделы с установленными в них гостевыми ОС сами становятся родительскими для новых дочерних разделов. В этом случае обращение гостевых операционных систем к аппаратным ресурсам проходит последовательно через все ступени деления до того момента, как достигнут основной операционной системы, непосредственно управляющей операционной системой. Для повышения эффективности вложенной виртуализации в Hyper-V предусмотрена технология прогрессивного ввода-вывода, позволяющая гостевым ОС напрямую взаимодействовать с шиной виртуальных устройств. Однако, чтобы данная функция работала, гостевая операционная система должна иметь ее встроенную поддержку.
Возможности
Hyper-V дает пользователю множество возможностей для создания виртуальных машин и обеспечения контроля над ними. К основным функциям относятся:
- Вычислительная среда. В Hyper-V каждая виртуальная машина представляет собой эмуляцию полноценного компьютера со своими вычислительными ресурсами — пространством жесткого диска, оперативной памятью, центральным и графическим процессором, сетевым подключением для обмена данными и т.д. Все эти характеристики пользователь может настроить самостоятельно в соответствии с требованиями конкретной задачи.
- Восстановление данных. Hyper-V позволяет восстановить данные в случае ошибки в работе виртуальной машины. Для этого программа автоматически создает копии виртуальных машин на другой физической платформе. Также в Hyper-V предусмотрено резервное копирование данных с помощью сохраненных состояний или службы теневого копирования томов (VSS).
- Оптимизация работы виртуальных машин. Для каждой гостевой ОС, установленной на физической платформе, имеется отдельный набор настраиваемых драйверов и сетевых служб. Это упрощает интеграцию виртуальной машины с аппаратным обеспечением (физической платформой).
- Переносимость. В Hyper-V реализованы различные функции (динамическая миграция, перенос хранилища, импорт и экспорт файлов и т.д.), позволяющие перенести или дублировать виртуальную машину на другую физическую платформу.
- Удаленное подключение. Hyper-V предлагает пользователям возможность удаленно контролировать виртуальную машину. Эта функция предусмотрена как для Windows, так и для Linux. Она подразумевает консольный доступ в отличие от удаленного рабочего стола, то есть пользователь может наблюдать происходящее в гостевой ОС, даже если основная операционная система еще не загружена.
- Безопасность. В Hyper-V реализованы различные средства, обеспечивающие безопасное функционирование виртуальных машин. К ним относятся, например, экранирование, предотвращающее распространение вредоносного ПО с одной виртуальной машины на остальные или на основную ОС, подключение к резервному серверу или автономный режим при нарушении подключения к защите ресурсов узла, функция устранения неполадок, шифрование диска в гостевой операционной системе и т.д.
Преимущества
Нативность. В операционных системах семейства Windows Hyper-V является встроенным компонентом. То есть владельцам этих ОС не нужно отдельно скачивать и устанавливать программу, достаточно просто включить ее через раздел «Параметры». Кроме того, нативность обеспечивает полную совместимость Hyper-V с перечисленными системами и, следовательно, стабильную виртуализацию.
Простота. Hyper-V имеет простой и интуитивно-понятный интерфейс со множеством функций. Это позволяет пользователю быстро создать виртуальные разделы на аппаратной платформе, легко управлять ими и распределять ресурсы между гостевыми ОС.
Возможность шифрования виртуальных машин. Эта функция защищает данные, размещенные на виртуальных дисках. Доступ к ним не имеет даже администратор хоста, что особенно полезно при публичном размещении виртуальных машин.
Удаленное управление в Hyper-v. Помимо уже упоминавшегося управления посредством консоли, этот гипервизор позволяет создавать удаленные рабочие столы. Функция полезна, например, при работе нескольких сотрудников над одним проектом.
Аппаратная совместимость. Hyper-V поддерживает работу с различными аппаратными платформами на базе процессоров Intel и AMD, включая самое современное «железо».
Программная совместимость. Виртуальные машины в Hyper-V могут работать под управлением операционных систем семейства Windows (Server, 8, 10, 11 версий Pro, Enterprise, Education), Linux (Ubuntu, Debian, Oracle и т. д.), UNIX (FreeBSD).
Недостатков у Hyper-V немного:
- отсутствие поддержки ПО от сторонних разработчиков;
- меньшая функциональность и эффективность работы в сравнении с конкурентами KMV и VMware:
- обязательное наличие лицензионной серверной ОС Windows Server.
Таким образом, Hyper-V является на сегодняшний день одной из самых популярных платформ для виртуализации, которая используется для выполнения различных задач, от создания виртуальных серверов до разработки ПО. Простота и широкий набор возможностей делают ее предпочтительной не только для профессионалов, но и тех, кто только хочет попробовать свои силы в создании виртуальных машин.