Jump to content

Hyper-V

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 38.116.136.226 (talk) at 19:59, 20 July 2009 (Linux support). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Microsoft Hyper-V, codenamed Viridian,[1] formerly known as Windows Server Virtualization, is a hypervisor-based virtualization system for x64 systems.[2] A beta version of Hyper-V was shipped with certain x64 editions of Windows Server 2008, and the finalized version (automatically updated through Windows Update) was released on 26 June 2008.[3]

A free stand-alone version of Hyper-V, called "Microsoft Hyper-V Server 2008" was released on October 1 2008, which is a variant of Windows Server 2008 "Core" that includes full Hyper-V functionality; other Windows 2008 Server Roles are disabled, and there are limited Windows Services.[4] The free 64 bit Hyper-V "Core" version is limited to a command line interface (CLI), where configuration of the "Host" or "Parent" (Hyper-V Core Server) O/S, 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 Core Server O/S) and the "guest" or virtual O/S's, is generally done by downloading extended Management Consoles that are installed onto a Windows Vista PC or Windows 2008 Server (32 or 64 bit). Alternatively another Windows 2008 Server, with the Hyper-V "Role" installed can be used, by redirecting the management console. Other administration / configuration of Windows Hyper-V Core Server can be done using a remote Windows 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 version of Windows 2008 Server. This allows much easier "point and click" configuration, and monitoring of the Hyper-V Core Server. It is not clear whether there will be a similar free version when Windows 2008 R2 is released in late 2009.

Architecture

Hyper-V 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.

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 between various Guest Virtual Address-spaces by using an IOMMU (I/O Memory Management Unit) which operates independent of the memory management hardware used by the CPU.

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 2008, Windows Vista 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

  1. An x64-based processor running an x64 version of Windows Server 2008 Standard, Windows Server 2008 Enterprise or Windows Server 2008 Datacenter.
  2. 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").
  3. NX bit-compatible CPU must be available and Hardware Data Execution Prevention (DEP) must be enabled.
  4. Memory minimum 2 GB. (Each virtual OS requires its own memory, and so realistically much more.)
  5. Windows 2008 Standard (64 Bit) Hyper-V Core requires approximately 3 GB of disk space (installed size)
  6. Windows 2008 Standard (64 Bit) Hyper-V full GUI product requires approximately 8 GB of disk space (installed size)
  7. Windows 2008 Standard (64 Bit) Hyper-V full GUI or Core supports up to 31 GB of memory for running VMs, plus 1 GB for Hyper-V Parent OS. [1]
  8. Windows 2008 Standard (64 Bit) Hyper-V full GUI or Core supports up to 4 processors with 1, 2 or 4 cores
  9. Windows 2008 Standard (64 Bit) Hyper-V full GUI or Core supports up to 128 "Guest OSes" [2]
  10. Windows 2008 Standard (64 Bit) Hyper-V full GUI or Core supports 32-bit (x86) and 64-bit (x64) Guest VMs

The stand-alone Hyper-V Server does not require an existing installation of Windows Server 2008 and has a minimum memory requirement of 1Gb and disk space requirement of 2Gb.

Supported guests

The supported/tested list of guest operating systems includes:[5]

Windows Server 2008 guests and Windows HPC Server 2008 can be configured for 1-, 2-, or 4-way SMP, Windows Server 2003 and Windows Vista VMs for 1- or 2-way SMP, and all other VMs as 1-way only.[5] 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.[7][8][9]

Desktop virtualization (VDI) products are available from third-party companies, Citrix XenDesktop 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, Windows Vista SP1 and planned offerings from Citrix XenServer and Novell will be able to use the host resources better since VSC drivers in these guests communicate directly with the VSPs directly over VMbus.[10] Non-enlightened operating systems will run with emulated I/O;[11] however, integration components (which include the VSC drivers) are available for Windows Server 2003 SP2, Windows XP SP3, 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,[12] 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. [13]

Linux support

Hyper-V only provides basic virtualization support for Linux guests out of the box. Paravirtualization support is, however, available by installing the Linux Integration Components and Satori InputVSC drivers. On July 20, 2009, Microsoft submitted these drivers for inclusion in the Linux kernel [3], so that kernels from 2.6.32 will 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 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 O/S is configured and started using Hyper-V, the Guest O/S will detect changes to the (virtual) hardware. Installing "Hyper-V Integration Services" (similar in function to Virtual Machine Add-ons) 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.

Limitations

As of December 2008, Hyper-V does not support access to USB devices or support sound in guest VMs.[citation needed] 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. Sound can be enabled through a similar workaround.

Also, Hyper-V in Windows Server 2008 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.[14] A third party product called Melio FS allows live migration by allowing all of the virtual servers to use a single LUN concurrently. This allows for failover of an idividual VM as opposed to the entire host having to failover. [15] Live migration will be supported with Windows Server 2008 R2 (currently a public beta is available) which will be available in the second half of 2009. See also Cluster Shared Volumes

Hyper-V does not allow VM memory to be over-committed.[16]

See also

References

  1. ^ "Microsoft to ship Windows Server 2008, over time, in eight flavors". Retrieved 2007-11-13.
  2. ^ Paul Thurrott. "Windows Server Virtualization Preview". Retrieved 2007-09-25.
  3. ^ "http://www.microsoft.com/presspass/features/2008/jun08/06-26hyperv.mspx". Retrieved 2008-06-26. {{cite web}}: External link in |title= (help)
  4. ^ "Microsoft Helps Customers Overcome Barriers to Virtualization and Get Virtual Now". PressPass (Press release). Microsoft. October 1 2008. Retrieved 2008-10-02. {{cite press release}}: Check date values in: |date= (help)
  5. ^ a b Supported Guest OS on Windows Server 2008 Hyper-V
  6. ^ Microsoft releases Hyper-V RC1
  7. ^ Installing Fedora Core 8 on Hyper-V
  8. ^ First Look: Fedora 9 Alpha, Running in Hyper-V Beta: CRN
  9. ^ Install Ubuntu 7.10 on Hyper-V
  10. ^ Hyper-V solution overview
  11. ^ Microsoft's Hyper-V: why all the fuss?
  12. ^ Microsoft Hyper-V To Flaunt Advanced Virtualization Features
  13. ^ Microsoft and Red Hat sign virtualization pact
  14. ^ Hyper-V Live Migration vs. Quick Migration
  15. ^ www.sanbolic.com
  16. ^ "Comparison on the Essential Functionalities of a Hypervisor". VMware. Retrieved 2009-07-11.

Books

  • Morimoto, Rand. Windows Server 2008 Hyper-V Unleashed. ISBN 0672330288. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)