Hyper-V
Initial release | July 26, 2008[1][2] | (KB950050)
---|---|
Stable release | |
Operating system | Windows 8 (Planned) and Windows Server 2008 or standalone |
Type | Virtual machine |
License | Proprietary |
Microsoft Hyper-V, codenamed Viridian[5] and formerly known as Windows Server Virtualization, is a hypervisor-based virtualization system for x86-64 systems.[6] A beta version of Hyper-V was shipped with certain x86-64 editions of Windows Server 2008, and the finalized version (automatically updated through Windows Update) was released on June 26, 2008.[7] Hyper-V has since been released in a free stand-alone version, and has been upgraded to Release 2 (R2) status.[citation needed]
Versions and variants
Hyper-V exists in two variants: as a stand-alone product called Microsoft Hyper-V Server 2008, and as an installable role in Windows Server 2008 R2 and Windows Server 2008 (the former containing the later release of Hyper-V).
The stand-alone version of Hyper-V is free, and was released on October 1, 2008. It is a variant of the core installation of Windows Server 2008 that includes full Hyper-V functionality; other Windows Server 2008 roles are disabled, and there are limited Windows Services.[8] The free Hyper-V Server 2008 variant is limited to a command line interface (CLI), where configuration of the "Host" or "Parent" (Hyper-V Server 2008) OS, physical hardware and software is done using shell commands. A new menu driven CLI interface does simplify initial configuration considerably, and some freely downloadable script files extend this concept. Administration and configuration of the "Host" (Hyper-V Server 2008 OS) and the "guest" or virtual OSes is generally done by downloading extended Microsoft Management Consoles that are installed onto a Windows 7 PC or Windows 2008 Server (32 or 64 bit) or System Center Virtual Machine.
Alternatively, another Windows Server 2008 computer, with the Hyper-V role installed, can be used to manage Hyper-V Server 2008 by redirecting the management console. Other administration and configuration of Hyper-V Server 2008 can be done using a Remote Desktop RDP session (though still CLI) or redirected standard management consoles (MMC) such as "Computer Management" and "Group Policy (Local)" from a Vista PC or a full installation of Windows 2008 Server. This allows much easier "point and click" configuration, and monitoring of the Hyper-V Server 2008. Hyper-V Server Release 2 (R2) was made available in September 2009, its main feature being the inclusion of Windows Powershell v2 for greater CLI control, and the updated Windows Server 2008 R2 code base.
Architecture
Hyper-V supports isolation in terms of a partition. A partition is a logical unit of isolation, supported by the hypervisor, in which operating systems execute. A hypervisor instance has to have at least one parent partition, running Windows Server 2008. The virtualization stack runs in the parent partition and has direct access to the hardware devices. The parent partition then creates the child partitions which host the guest OSs. A parent partition creates child partitions using the hypercall API, which is the application programming interface exposed by Hyper-V.[9]
A virtualized 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. A hypervisor could choose to 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 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 specialized virtualization-aware implementation of high level communication protocols like SCSI to take advantage of VMBus directly, that allows bypassing any device emulation layer. This makes the communication more efficient, but requires the guest OS to support Enlightened I/O. Windows Server 2008, Windows Vista, Red Hat Enterprise Linux, and SUSE Linux are currently the only operating systems that 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.
System requirements / specifications
- Host Operating system:
- To install the Hyper-V role, Windows Server 2008 (64-bit only) or 2008 R2 Standard, Enterprise or Datacenter edition is required. Installation on the Web and/or Foundation editions is not possible; neither is it possible on 32-bit (x86-32) versions of Windows Server 2008 nor IA64 editions.
- It can be installed regardless of whether the installation is a full or core installation.
- Processor:
- An x86-64 processor
- Hardware-assisted virtualization. This is available in processors that include a virtualization option; specifically, Intel VT or AMD Virtualization (AMD-V, formerly code-named "Pacifica").
- A NX bit-compatible CPU must be available and Hardware Data Execution Prevention (DEP) must be enabled.
- Although this is not an official requirement, Windows Server 2008 R2 and a CPU with Extended Page Table support are recommended for workstations.[10]
- Memory
- Minimum 2 GB. (Each virtual OS requires its own memory, and so realistically much more.)
- Windows Server 2008 Standard (x64) Hyper-V full GUI or Core supports up to 31 GB of memory for running VMs, plus 1 GB for Hyper-V Parent OS.[11]
- Maximum total memory per system for Windows Server 2008 R2 hosts: 32 GB (Standard) or 2 TB (Enterprise, Datacenter) [12]
- Guest operating Systems
- Hyper-V supports virtual machines with up to 4 processors (1, 2, or 4 processors depending on guest OS-see below )
- Hyper-V supports up to 384 VMs per system[13]
- Hyper-V supports both 32-bit (x86) and 64-bit (x64) guest VMs.
Microsoft Hyper-V Server
The stand-alone Hyper-V Server variant does not require an existing installation of Windows Server 2008 nor Windows Server 2008 R2. The standalone installation is called Microsoft Hyper-V Server for the non-R2 version and Microsoft Hyper-V Server 2008 R2. Microsoft Hyper-V server is built with components of Windows and has a Windows Server Core user experience. None of the other roles of Windows Server are available in Microsoft Hyper-V Server. This version supports up to 64 VMs per system. [14]System requirements of Microsoft Hyper-V server are the same for supported guest operating systems and processor, but differ in the following :[15]
- RAM: Minimum: 1 GB RAM; Recommended: 2 GB RAM or greater; Maximum 1 TB.
- Available disk space: Minimum: 8 GB; Recommended: 20 GB or greater.
Supported guests
The following is a table of supported guest operating systems.[16] Other guest operating systems such as Ubuntu Linux 6.06/6.10/7.10 or Fedora 8/9 are unsupported; however, they have been reported to run.[17][18][19] [16]
Guest OS | Virtual processors | Edition(s) |
---|---|---|
Windows 7 | 1,2 or 4 | Both x86-32 and x86-64, all editions except home editions |
Windows Server 2008 R2 | 1,2 or 4 | x64, Web, Standard, Enterprise, Datacenter |
Windows Server 2008 | 1,2 or 4 | Both x86 and x64, Web, HPC, Standard, Enterprise, Datacenter, with or without Hyper-V |
Linux (only including SUSE Linux Enterprise Server 10 with SP3 or version 11 and Red Hat Enterprise Linux versions 5.2-6.1), CentOS 5-2-6.0 | 1,2 or 4 | Both x86 and x64 |
Windows Server 2003 | 1 or 2 | Both x86 and x64, Standard, Enterprise, Datacenter, SP2 required |
Windows Server 2003 R2 | 1 or 2 | Web, Standard, Enterprise, Datacenter, both x86 and x64 except for Web whose 64-bit version is not supported |
Windows 2000 Server | 1 | Server, Advanced Server, SP4 required |
Windows Vista | 1 or 2 | Both x86 and x64, all editions except home editions |
Windows XP | 1 or 2 | x86, Professional edition only, SP3 required |
Windows XP x64 Edition | 1 or 2 | x64, Professional edition only, SP2 required |
Windows Small Business Server 2011 | 1, 2 or 4 | Essentials, Standard (Essentials supports only 2 virtual CPUs) |
Windows Home Server 2011 | 1, 2 or 4 | Standard |
Windows Storage Server 2008 R2 Essentials | 1, 2 or 4 | Essentials |
Others | 1 | N/A |
Desktop virtualization (VDI) products are available from third-party companies, Quest Software vWorkspace, Citrix XenDesktop, Systancia AppliDis Fusion[20] and Ericom PowerTerm WebConnect, that 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.[21] Non-enlightened operating systems will run with emulated I/O;[22] however, integration components (which include the VSC drivers) are available for Windows Server 2003 SP2, Windows Vista SP1 and Linux to achieve better performance. Xen-enabled Linux guest distributions can also be paravirtualized in Hyper-V. Currently, only SUSE Linux Enterprise Server 10 SP1/SP2 x86 and x64 Editions are officially supported by Microsoft in this way,[23] 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.[24]
Linux support
In July 2009 Microsoft submitted Hyper-V drivers to the kernel, which improve the performance of virtual Linux guest systems in a Windows hosted environment. Microsoft was forced to submit the code when it was discovered that Microsoft had incorporated a Hyper-V network driver with GPL-licensed components statically linked to closed-source binaries. Hyper-V provides basic virtualization support for Linux guests out of the box. Paravirtualization support is, however, available by installing the Linux Integration Components or Satori InputVSC drivers. On July 20, 2009, Microsoft submitted these drivers for inclusion in the Linux kernel under the terms of the GPL,[25] so that kernels from 2.6.32 may include inbuilt Hyper-V paravirtualization support.
VHD compatibility with Virtual Server 2005 and Virtual PC 2004/2007
Hyper-V, like Virtual Server 2005 and Virtual PC 2004/2007, saves each guest OS to a single virtual hard disk file with the extension .VHD. This file contains the entire guest OS, though other files can also be configured to allow "undo information" etc.
Older .vhd files from Virtual Server 2005 and Virtual PC 2004/2007 can be copied and used by Windows 2008 Hyper-V Server, but the old "Virtual Machine add-ons" require removing prior to migration. 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. Consequently later versions of Windows may require re-activation. Virtual Server 2005 R2 SP1 supports guest operating systems OS/2 4.5 and Solaris 10 while Hyper-V does not.
Limitations
USB passthrough
Hyper-V does not support virtualized USB ports or COM ports. [26] [27] However, a workaround to access USB drives in Windows guest VMs involves using the Microsoft Remote Desktop Client to "share" host drives with guests over a Remote Desktop Connection.
Other techniques exist to allow USB utilisation, an example would be using a network to USB device and extracting the "usbd.sys" file from the installation media to the host machine.
Audio
Audio hardware is not virtualized by Hyper-V although the above Remote Desktop workaround may be used.
Optical drives pass-through
Optical drives virtualized in the guest VM are read-only. [28] 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.
Graphics issues on the host
When manufacturer-supplied Vista-compatible (WDDM) display drivers are installed on the host OS, most servers and PCs will experience a dramatic drop in graphic performance, including 'page flipping'-like effects when viewing high definition content or scrolling in applications and system hangs when switching between applications on the host; guest systems performance is unaffected. Users may install XP/2003-compatible (Non-WDDM) display drivers but may have compatibility problems and will be unable to use Aero. This occurs regardless of whether a VM actually exists or whether any Hyper-V services are running.[29]
Microsoft recommends to use default VGA drivers (shipped with Windows Server 2008) on the host systems instead of manufacturer- supplied ones,[30] however, such drivers, in turn, do not support multiple displays and high resolution configurations, as well as Aero, DirectX, Hardware-accelerated video decoding and other graphic accelerated features, thereby limiting its use on workstations (default VGA drivers do not support e.g. resolutions higher than 1280x1024).
This issue in Windows Server 2008 (not R2) is still not solved. According to a Microsoft specialist's statement, systems with Windows Server 2008 R2 and processors supporting Extended Page Table are unaffected;[10] however, at least some users experience an even more significant problem: Windows Server 2008 R2 with Hyper-V and manufacturer-supplied graphic drivers installed won't boot at all.[31] This issue is fixed in Windows Server 2008 R2 SP1.[citation needed]
Live migration
Hyper-V in Windows Server 2008 (not R2) does not support "live migration" of guest VMs (where "live migration" is defined as maintaining network connections and uninterrupted services during VM migration between physical hosts). Instead, Hyper-V on Server 2008 Enterprise and Datacenter Editions supports "quick migration", where a guest VM is suspended on one host and resumed on another host. This operation happens in the time it takes to transfer the active memory of the guest VM over the network from the first host to the second host.[32]
However, with the release of Windows Server 2008 R2, Live Migration is supported with the use of Cluster Shared Volumes (CSVs). This allows for failover of an individual VM as opposed to the entire host having to failover (it seems that when a node (Hyper-V server, not a VM) fails then each "VM running on the failed node" may migrate to other live nodes independently of "other VMs on the same LUN running on other nodes that share the LUN with the failed node". In Hyper-V we are clustering the Hyper-V nodes not the VMs.). See also Cluster Shared Volumes
Degraded performance for Windows XP VMs
32-bit Windows XP guests running on Hyper-V experience degraded CPU and I/O performance because the Windows XP kernel frequently accesses the CPU APIC's Task Priority Register (TPR) which Hyper-V intercepts putting more overhead on the hypervisor. [33] While there is no resolution for this issue, some Intel CPUs include a technology called vTPR which works around this issue. AMD CPUs have a software workaround. 32-bit and 64-bit editions of Windows Server 2003, Windows XP x64 Edition and Windows Vista and later Windows versions are not affected.
NIC teaming
Network card teaming or link aggregation is only supported if the NIC manufacturer supplied drivers support NIC teaming. [34]
Future
The Developer Preview of Windows 8 Server[35] presented at the Microsoft Build Event[36] contains the future version of Hyper-V. Some of the new features are listed below.
- Network virtualization[37]
- Extensible Hyper-V Virtual Switch
- Multi-tenancy
- NIC teaming as part of Windows Server 8 OS
- 160 logical processors per server
- 32 virtual processors max per VM
- Storage Resource Pools
- .vhdx disk format supporting 16TB virtual hard disks with power failure resiliency
- Virtual Fibre Channel
- Offloaded data transfer
- Hyper-V replica
- Cross-Premise connectivity
- Cloud backup
See also
References
- ^ "Comprehensive List of Hyper-V Updates". Technet.microsoft.com. Retrieved 2010-03-02.
- ^ http://support.microsoft.com/kb/950050
- ^ http://technet.microsoft.com/en-us/library/ff394763%28WS.10%29.aspx
- ^ http://support.microsoft.com/kb/976932
- ^ "Microsoft to ship Windows Server 2008, over time, in eight flavors". Retrieved 2007-11-13.
- ^ Paul Thurrott. "Windows Server Virtualization Preview". Retrieved 2007-09-25.
- ^ "http://www.microsoft.com/presspass/features/2008/jun08/06-26hyperv.mspx". Retrieved 2008-06-26.
{{cite web}}
: External link in
(help)|title=
- ^ "Microsoft Helps Customers Overcome Barriers to Virtualization and Get Virtual Now". PressPass (Press release). Microsoft. October 1, 2008 2. Retrieved 2008-10-02.
{{cite press release}}
: Check date values in:|date=
(help) - ^ "Benchmarking Hyper-V on Windows Server 2008 R2 x64". Retrieved 2010-01-28.
- ^ a b Virtual PC Guy's WebLog : Understanding High-End Video Performance Issues with Hyper-V
- ^ "Memory Limits for Windows Releases (Windows)". Msdn.microsoft.com. Retrieved 2010-03-02.
- ^ http://www.microsoft.com/windowsserver2008/en/us/system-requirements.aspx
- ^ "Microsoft Hyper-V Server: Overview". Microsoft.com. Retrieved 2010-03-02.
- ^ "Microsoft Hyper-V Server:Frequently asked questions".
- ^ "Microsoft Hyper-V Server: System Requirements". Microsoft.com. Retrieved 2010-03-16.
- ^ a b Supported Guest OS on Windows Server 2008 Hyper-V
- ^ Installing Fedora Core 8 on Hyper-V
- ^ First Look: Fedora 9 Alpha, Running in Hyper-V Beta: CRN
- ^ Install Ubuntu 7.10 on Hyper-V
- ^ "Systancia offers application and desktop virtualization in a single product". DataMonitor.
- ^ Hyper-V solution overview
- ^ Microsoft's Hyper-V: why all the fuss?
- ^ Microsoft Hyper-V To Flaunt Advanced Virtualization Features
- ^ Microsoft and Red Hat sign virtualization pact
- ^ "Microsoft Contributes Linux Drivers to Linux Community: Roundtable Q&A: Sam Ramji, senior director of Platform Strategy at Microsoft, and Tom Hanrahan, director of Microsoft's Open Source Technology Center, discuss the company's release of Linux device driver code under General Public License v2". Microsoft.com. 2009-07-20. Retrieved 2010-03-02.
- ^ Hyper-V FAQ
- ^ Known Issues with Running Windows Small Business Server 2008 in a Hyper-V Environment
- ^ DVD writer on Hyper-V server
- ^ Poor Host System Performance after RC1 Update (RTM as Well)
- ^ Video performance may decrease when a Windows Server 2008-based computer has the Hyper-V role enabled and an accelerated display adapter installed
- ^ Hyper-V install = Blue Screen - VIDEO_TDR_FAILURE
- ^ Hyper-V Live Migration vs. Quick Migration
- ^ Degraded I/O Performance using a Windows XP Virtual Machine with Windows Server 2008 Hyper-V
- ^ Microsoft Support Policy for NIC Teaming with Hyper-V
- ^ "Windows Server 8 (Video and Slides)".
- ^ "Microsoft Build Windows Server 8 and Hyper-V 3.0 sessions (Video and Slides)".
- ^ "A deep dive into Hyper-V Networking (Video and Slides)".
Books
- Morimoto, Rand. Windows Server 2008 Hyper-V Unleashed. ISBN 0672330288.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Sterling, Mike. Windows Server 2008 Hyper-V: Insiders Guide to Microsoft's Hypervisor. ISBN 0470440961.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Stagner, Harley. Pro Hyper–V. ISBN 1430219084.
- Townsend, Thomas G. Microsoft Hyper–V: TFM. ISBN 978-0-9821314-3-5.
External links
- Hyper-V on Microsoft TechNet
- Hotfixes for Hyper-V R2
- Hyper-V Community Blog
- Microsoft Hyper-V Server
- Microsoft Press Windows Server 2008 Hyper-V Resource Kit
- Hyper-V Functional Specification
- WinHEC 2006 Presentation Slides
- Benchmarking Hyper-V on Windows Server 2008 R2 x64
- Core Scenarios and Key features of Hyper-V
- Official x64 Hyper-V Download
- Windows Virtualization team blog
- Windows Server 2008 Evaluation Software
- Windows Server 2008 Hyper-V FAQ
- Dutch Windows Virtualization and Hyper-V team blog
- Virtualization and Security: What does it mean for me? - Microsoft TechNet Video
- Hyper-V Architecture
- Hyper-V Architecture (German)
- Hyper-C CPU Requirements (German)
- Details about Cluster Shared Volume (German)
- Microsoft Server Virtualization for government agencies
- Hyper-V IC Debian Linux Kernel
- Microsoft Virtual Academy Hyper-V learning resources