Wednesday, June 18, 2008

HyperV - Virtual Machine Technology

Q. What is virtual machine technology?

A. Virtual machine technology applies to both server and client hardware. Virtual machine technology enables multiple operating systems to run concurrently on a single machine. In particular, Hyper-V, a key feature of Windows Server 2008, enables one or more operating systems to run simultaneously on the same physical system. Today, many x86-based operating systems are supported by Virtual PC 2007, Virtual Server 2005, and Hyper-V.

Q. What is virtual machine technology used for?

A. Virtual machine technology serves a variety of purposes. It enables hardware consolidation, because multiple operating systems can run on one computer. Key applications for virtual machine technology include cross-platform integration as well as the following:

* Server consolidation. If several servers run applications that consume only a fraction of the available resources, virtual machine technology can be used to enable them to run side by side on a single server, even if they require different versions of the operating system or middleware.
* Consolidation for development and testing environments. Each virtual machine acts as a separate environment, which reduces risk and enables developers to quickly recreate different operating system configurations or compare versions of applications designed for different operating systems. In addition, a developer can test early development versions of an application in a virtual machine without fear of destabilizing the system for other users.
* Legacy application re-hosting. Legacy operating systems and applications can run on new hardware along with more recent operating systems and applications.
* Simplify disaster and recovery. Virtual machine technology can be used as part of a disaster and recovery plan that requires application portability and flexibility across hardware platforms.
* Moving to a dynamic datacenter. Hyper-V, along with systems management solutions, helps you to now create a dynamic IT environment that not only enables you to react to problems more efficiently but also to create a proactive and self-managing IT management solution.

Q. What is Microsoft's strategy for virtualization?

A. Our goal is to help customers make their IT systems more self-managing and dynamic so that they can gain more control of their IT systems, and enable their businesses to respond faster and stay ahead of the competition. We're doing this by:

* Providing a complete set of virtualization products that span from the desktop to the datacenter
* Helping manage all IT assets—both physical and virtual—from a single platform

We are making broad investments—in the areas of the platform, management, applications, interoperability, and licensing, and working to enable customers to take advantage of their existing platform investments, utilize their existing support skills and infrastructure, and to reduce costs associated with implementing virtualized environments.

HyperV - 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 root partition, running Windows Server 2008. The virtualization stack runs in the root partition and has direct access to the hardware devices. The root partition then creates the child partitions which hosts the guests OSs. A child partition can also spawn further child partitions of their own. 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, they have a virtual view of the processor and run in Guest Virtual Address, which depending on the configuration of the hypervisor, may or may not be the entire virtual address space. A hypervisor may 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, instead they 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 till it reaches the root 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 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, bypassing any device emulation layer. This makes the communication more efficient but requires the guest OS to support Enlightened I/O.



HyperV - General

Q. What is Hyper-V?

A. Hyper-V, previously codenamed Viridian, is a hypervisor-based technology that is a key feature of Windows Server 2008. It provides a scalable, reliable, and highly available virtualization platform. It is part of Microsoft's ongoing effort to provide our customers and partners with the best operating system platform for virtualization.

Q. What is Windows hypervisor?

A. A core component of Hyper-V, Windows hypervisor is a thin layer of software between the hardware and the OS that allows multiple operating systems to run, unmodified, on a host computer at the same time. It provides simple partitioning functionality and is responsible for maintaining strong isolation between partitions. It has an inherently secure architecture with minimal attack surface, as it does not contain any third-party device drivers.

Q. What benefits does Hyper-V offer customers?

A. Hyper-V provides customers an ideal platform for key virtualization scenarios, such as production server consolidation, business continuity management, software test and development, and development of a dynamic datacenter.
Hyper-V provides key functionality, which an ideal virtualization platform should provide—scalability, high performance, reliability, security, flexibility, and manageability. It provides scalability and high performance by supporting features like guest multi-processing support and 64-bit guest and host support; reliability and security through its hypervisor architecture; flexibility and manageability by supporting features like quick migration of virtual machines from one physical host to another, and integration with System Center Virtual Machine Manager.

Q. Will Microsoft continue to support Linux operating systems with Hyper-V?

A. Yes, Microsoft will provide integration components and technical support for customers running select Linux distributions as guest operating systems within Hyper-V. Beta Linux integration components are now available for SUSE Linux Enterprise Server 10 SP1 x86 and x64 Editions. These integration components enable Xen-enabled Linux to take advantage of the VSP/VSC architecture and provide improved performance. Beta Linux Integration components are available for immediate download through http://connect.microsoft.com.

Q. What about other Linux distributions?

A. The full list of supported operating systems will be announced prior to RTM.

Q. Can you provide a brief overview of Hyper-V's feature set?

A. Some of the capabilities of Hyper-V will include x64 host and guest support, ability to run guest machines in a multi-processor environment, large memory allocation per virtual machine, integrated virtual switch support, and ability to migrate virtual machines across hosts with minimal downtime. The key new features that are in Hyper-V beta are support for quick migration and high availability, ability to run Hyper-V as a Server Core role and integration of Hyper-V into Server Manager. For a full list of features, refer to the key features in Hyper-V RC.

Q. How will customers migrate to Hyper-V?

A. Customers who invest in the .vhd file format—the format used by Virtual Server, as well as a multitude of vendor licensees—will have a clear path forward to Hyper-V. Customers can leverage V2V capabilities in System Center Virtual Machine Manager to conveniently migrate from Virtual Server or VMware to Hyper-V or work with Microsoft's partners who provide migration solutions.

HyperV - Windows 2008 RTM specific

Q. What version of Hyper-V is available with Windows Server 2008?

A. A RC version of Hyper-V is now available with Windows Server 2008 RTM for x64 editions. Previously a customer technology preview (CTP) version of Hyper-V was made available as a part of the 64-bit editions of Windows Server 2008 Release Candidate 0 (RC0).

Q. How do users access the Hyper-V RC?

A. Users can download and install the update for RC from here or via Windows Update. Users can go to Server Manager and install the Hyper-V role. After the Hyper-V role is enabled, Hyper-V Manager will become available as a part of Administrative Tools. From the Hyper-V Manager users can easily create and configure virtual machines.

Q. Who should take part in the beta? Is the beta open to anyone?

A. Microsoft is encouraging all customers and partners to test and evaluate the beta of Hyper-V. Detailed installation instructions are available at How to Install Windows Server 2008 Hyper-V page.

Q. Who should take part in the Release Candidate? Is the RC open to anyone?

A. Microsoft is encouraging all customers and partners to test and evaluate the RC of Hyper-V. With RC, Hyper-V is now feature complete and provides a seamless upgrade path to RTM of Hyper-V. Detailed installation instructions are available at How to Install Windows Server 2008 Hyper-V page.

Q. What are the key differences between what is in RC versus the Beta for Hyper-V?

A. The RC of Hyper-V is available for Windows Server 2008 x64 editions. Customers are encouraged to use this release to evaluate and test Hyper-V. With RC, Hyper-V is now feature complete and provides a seamless upgrade path to RTM of Hyper-V. The key new updates that are in Hyper-V RC are stability and usability improvements including partial localization for German and Japanese, additional Guest OS support, and improved performance. For a full list of features, refer to the key features in Hyper-V RC.

Q. Is this RC feature complete? Do you expect to make any feature additions or subtractions going forward?

A. The Hyper-V RC is feature complete, and is designed for test and evaluation of the final deployment scenarios. This provides the opportunity for Microsoft to get valuable feedback from customers and partners.

Q. What are the goals of this RC?

A. The goal of this RC is to provide customers and partners with a feature complete version of Hyper-V to evaluate and begin planning and testing, and provide Microsoft feedback.

Q. What will testers see when they download the Hyper-V RC?

A. Customers will download Windows Server 2008 x64 editions, and they'll have to enable the virtualization role through Server Manager. The update for the RC version is available as a separate download or via Windows Update. After the Hyper-V role is enabled, Hyper-V Manager will become available as a part of Administrative Tools. From the Hyper-V Manager users can easily create and configure virtual machines.

Q. Does Microsoft provide technical support to RC participants?

A. There is no direct technical support. We will have newsgroup support only.

Q. What is the guidance for using/deploying Hyper-V RC?

A. Hyper-V RC should be used for evaluation and testing purposes only. Production deployments of the RC will not be supported.

Q. What is the expected performance of the Hyper-V RC? How does it compare to Virtual Server? How does it compare to ESX server?

A. We will be doing most of the performance-related work between the beta and RTM of Hyper-V. At this point, we are happy with the progress made on the performance side between Beta and RC. We will not be publishing performance numbers at this time.

Q. Can I upgrade from the Hyper-V Beta to the Hyper-V RC?

A. Customers will be able to upgrade their current Hyper-V Beta systems running on Windows Server 2008 RTM with the Windows Update. It is recommended that customers backup their VHDs before installing the updates. Customer will be required to re-create the virtual machine settings and virtual switch settings on the host but can re-use their existing VHDs. Get detailed instructions for Hyper V migration.

Q. What is the list of guests that will be supported on Hyper-V? When can we expect support for key operating systems like Windows Vista, Windows XP, Linux, etc.?

A. In general, Microsoft does not support pre-release software which includes CTP, beta, and Release Candidates. However, online forums and newsgroup support are available. The guest operating systems that have been tested on Hyper-V RC are: Windows Server 2003 editions, Windows Server 2008 editions, Windows Vista SP1 x86, Windows XP SP3 x86 editions, and SUSE Linux Enterprise Server 10 with Service Pack 1. In fact, beta Linux integration components are now available for SUSE Linux Enterprise Server 10 SP1 x86 and x64 Editions. The Linux integration components include support for both the synthetic network adapter and synthetic storage controller. The integration components also include the Hypercall Adapter. The Hypercall adapter is a thin layer of software that resides below the Xen-enable Linux kernel and translates the Xen-specific virtualization calls to Microsoft Hyper-V hypercalls resulting in improved performance. Beta Linux Integration components are available for immediate download through http://www.connect.microsoft.com. For the complete list of operating systems that will be supported for the Hyper-V RTM, please refer to http://www.microsoft.com/windowsserver2008/en/us/hyperv-supported-guest-os.aspx.

Q. What Guest OS is supported with Hyper-V at RC?

A. In general, Microsoft does not support pre-release software which includes CTP, beta, and Release Candidates. However, online forums and newsgroup support is available. The guest operating systems that have been tested on Hyper-V RC are:

Windows Server 2008, Windows Server 2003, Vista, XP and SUSE 10 will be supported with Hyper-V.

* Windows Server 2008 x86 (VM configured as 1, 2 or 4-way SMP)
* Windows Server 2008 x64 (VM configured as 1, 2 or 4-way SMP)
* Windows Server 2003 x86 (VMs configured as 1 or 2-way SMP only)
* Windows Server 2003 x64 (VMs configured as 1-way only)
* Windows Vista x86 with Service Pack 1 (VMs configured as 1-way only)
* Windows XP x86 with Service Pack 3 (VMs configured as 1-way only)
* SUSE Linux Enterprise Server 10 with Service Pack 1 x86 Edition
* SUSE Linux Enterprise Server 10 with Service Pack 1 x64 Edition

Q. What are the differences between Hyper-V and Virtual Server?

A. Microsoft Virtual Server 2005 R2 is the current server virtualization solution from Microsoft and is based on a hosted virtualization platform. Hyper-V, a key feature of Windows Server 2008, is a hypervisor-based virtualization platform that will enable customers to not only consolidate a vast array of workloads but also enable moving toward a dynamic IT environment. Core feature set differences include support for 64 guest virtual machines, SMP support, performance improvements, and other key features in Hyper-V.

Q. Will localized versions of Hyper-V be made available?

A. Hyper-V RC is now available in English and partially localized in German and Japanese. We have not announced the localization schedule for Hyper-V yet.

Hyperv - Licensing Information

Q. What are the licensing considerations in a virtual machine environment?

A. It is important to understand your licensing rights and obligations when running Microsoft Windows Server and/or other Microsoft applications in a virtual machine environment. For details, see Microsoft Adapts Windows Server System Licensing to Virtualization Scenarios.
In addition, it's good to understand the licensing terms offered by independent software vendors (ISVs) for any software provided by those vendors. For more information on licensing considerations in these cases, you should consult with your ISV.

Q. Does running Windows NT in a virtual machine mean that Microsoft is extending its support for the product?

A. No. While you may receive benefit from moving the applications from physical hardware to virtual machines, running applications in a virtual environment does not extend their support life cycles. For more information about the support life-cycle timeframes, please see the Microsoft Support Lifecycle page.

HyperV - Technical Information

Q. What are the system requirements for Hyper-V?

A. In addition to the systems requirement for Windows Server 2008, the two key requirements for the Hyper-V platform are the need to ensure that the server is a 64-bit environment and supports hardware-assisted virtualization (Intel VT or AMD-V) technology.

Q. How many virtual machines can run per processor?

A. The number of virtual machines running per host depends on many factors, including physical memory, processor, and workload running in the guest. With Hyper-V, you define the amount of memory available to a virtual machine, and that memory allocation can be altered to reflect the needs of the virtual machine.

Q. Does Hyper-V support 64-bit processors?

A. Hyper-V runs on a 64-bit (x64) server platform and requires support of either AMD64 or Intel IA-32e/EM64T (x64) processors with hardware-assisted virtualization support. Note that Hyper-V does not support Itanium (IA-64) processors. For the virtual machines, Hyper-V supports both 32-bit and 64-bit systems as guest OSes.

Q. Does Hyper-V support symmetric multiprocessing (SMP) in the virtual machine environment?

A. Hyper-V supports both uniprocessor and multiprocessor configurations in the virtual machine environment.

HyperV - Setup and Requirements

Q. What are the prerequisites to install and use Hyper-V?

A. In addition to the system requirements for Windows Server 2008 as described in the release notes, a 64-bit system with hardware-assisted virtualization enabled and data execution prevention (DEP) is required. It is also recommended to ensure that you have a clean install of x64 edition of Windows Server 2008 to be able to use the Hyper-V technology.

Q. How do I install and enable the Hyper-V beta in Windows Server 2008 Release Candidate?

A. Prerequisites, installation steps, OS recommendations, and known issues can be found here.