Microsoft’s hypervisor-based virtualisation platform (Hyper-V) has been around for a few months now and, even though there is a whole host of information out there on the web, it’s still a source of confusion for many.
This post is a list of questions and answers for those trying to get started with the Microsoft hypervisor. It is based, in part, on information provided during the Hyper-V technology adoption programme and has been used with the kind permission of Microsoft Windows Virtualization product team, supplemented with additional information where appropriate.
Q. What are my options for installing Hyper-V?
A. Hyper-V is available as a role for x64 Editions of Windows Server 2008 Standard, Enterprise or Datacentre editions (i.e. not for 32-bit x86 or Itanium architectures, nor for web edition). The Hyper-V role is supported on either a server core or a full installation; however server core is recommended, due to its increased security. In addition, there is a standalone version of Hyper-V – Microsoft Hyper-V Server 2008 – designed for organisations who would like the benefits of Hyper-V but who do not run Windows (a comparison of features in the various Hyper-V products is available).
Q. I installed Hyper-V from the Windows Server 2008 media but it seems to be a pre-release version. Is that right?
A. Windows Server 2008 shipped with a beta version of Hyper-V. It is necessary to install an update to bring the Hyper-V components up to their RTM level, as well as to update the integration components in the virtual machines. John Howard has blogged extensively on obtaining Hyper-V, changes at RTM, upgrade considerations and more.
Q. How can I tell which version of Hyper-V I have installed?
A. Sander Berkouwer has provided some excellent advice for determining the installed version of Hyper-V on his blog (I also linked to some useful resources for those looking to upgrade a pre-release copy of Hyper-V).
Q. I’m not entirely comfortable with server core – how can I install the Hyper-V role?
A. John Howard has created step by step guidance on installing Hyper-V on Server Core. The basic steps are:
- After installation, logon to Windows and set a password.
- Configure the computername, firewall exceptions, remote desktop connection and then restart using the following commands (for more information on administering server core, see a few commands to get started with Server Core and there are also some alternative utilities available – including the HVconfig utility from Hyper-V Server):
netdom renamecomputer %computername% /NewName:newcomputername
netsh advfirewall firewall set rule group="Remote Administration" new enable=yes
cscript \windows\system32\scregedit.wsf /ar 0
cscript \windows\system32\scregedit.wsf /cs 0
shutdown /t 0 /r
- Update Hyper-V to the RTM version (see Microsoft knowledge base article 950050)
- Enable the Hyper-V role using
- Restart the computer using
shutdown /t 0 /r
Q. Hyper-V relies on hardware assisted virtualisation. How can I tell if my hardware supports this?
A. Michael Pietroforte has written about the free tools that AMD and Intel provide to indicate whether a processor has the necessary virtualisation functionality and John Howard has also written about enabling hardware assisted virtualization in the BIOS. If your machine does not have the option (and some do not!), try a BIOS update.
Q. How does Hyper-V’s disk input/output (IO) compare with a non-virtualised solution?
A. In order to ensure that IO will never be reported complete until it has been written to the physical disk, Hyper-V does not employ any additional disk caching other than that provided by the guest operating system. In certain circumstances, a Hyper-V VM can appear to provide faster disk access than a physical computer because Hyper-V batches up multiple requests and coalesces interrupts for greater efficiency and performance. In Microsft’s internal testing they also found that:
- Pass-through disks can sustain physical device throughput.
- Fixed VHDs can also sustain physical device throughput at the cost of slightly higher CPU usage.
- Dynamically expanding and differencing VHDs do not usually hit physical throughput numbers due to the overhead of expansion and greater likelihood of disk fragmentation.
Q. How can I measure performance in Hyper-V?
A. The MSDN website features a section on measuring performance on Hyper-V (specifically relating to running BizTalk Server in a VM but equally applicable to many other workloads).
Q. Sometimes, my virtual machines are paused automatically – why does this happen?
A. Rather than let a virtual machine run out of disk space, Hyper-V will pause the VM if the server is running critically low on space. In addition, an event (ID 16050) is written to the Hyper-V VMMS log.
Synthetic device driver model
Q. I’m confused about the various versions of the integration components (ICs) for virtual machines. Why does each release of Hyper-V have it’s own ICs?
A. Integration Components (ICs) are version specific – i.e. the versions used within the child partitions must match the version of Hyper-V that is running in the parent partition (Windows Server 2008 RTM was shipped with the Hyper-V Beta ICs). The Hyper-V RTM upgrade package (see Microsoft knowledge base article 950050) includes the updates for both the parent and child partitions. In addition, there are Hyper-V ICs for Linux and Professional, Enterprise and Ultimate versions of the Windows 7 and Windows Server 2008 R2 betas already come with Hyper-V integration components installed.
Q. Is there a method to incorporate the Hyper-V synthetic devices with Windows Preinstallation Environment (WinPE) for servicing?
A. Performing maintenance on a Hyper-V host from within WinPE represents a challenge for systems administrators in that, without the integration components, virtual hard disks (.VHDs) must be connected to the IDE controller (limiting the number of VHD’s that can be used at any given point in time) and legacy network adapters might be required in order to provide network access. Mike Sterling has a great blog post on using the Hyper-V integration components with WinPE (using the Windows Automated Installation Kit to create a custom WinPE image including the appropriate files extracted from the Hyper-V integration services setup disk). Attaching the resulting .ISO image to a VM and powering it on should provide full access to all synthetic devices.
Q. What tools does Microsoft provide to manage Hyper-V?
A. Out of the box, Microsoft provides a Microsoft Management Console (MMC) snap-in (Hyper-V Manager). This snap-in is also available for x86 (32-bit) versions of Windows Server 2008, as well as for Windows Vista SP1 (x86 or x64 – see also Microsoft knowledge base article 952627). If you have the management tools installed on a Windows Vista machine then you might also find Tore Lervik’s Hyper-V Monitor Gadget for the Windows Sidebar useful.
Whilst Hyper-V Manager is adequate for managing a single host (locally or remotely), remote management with System Center Virtual Machine Manager (SCVMM) 2008 provides a centralised management console, designed to manage thousands of VMs across hundreds of physical servers running Virtual Server 2005, Hyper-V or even VMware ESX via VMware Virtual Center.
Hyper-V can also be managed using Windows Management Instrumentation (WMI), for example in a Windows PowerShell script and there is an open source PowerShell Management Library for Hyper-V available on CodePlex.
Q. My version of Windows Server 2008 does not seem to have the Hyper-V Management tools available.
A. Windows Server 2008 SKUs without Hyper-V or for other architectures (i.e. 32-bit x86 and Itanium) do not include the Hyper-V management tools.
Q. What else can SCVMM offer that the standard management tools do not?
A. Information on SCVMM may be found on the Microsoft website but the main features include:
- Physical to virtual (P2V) and limited virtual to virtual (V2V) conversion (V2V is from VMware to Hyper-V – for Virtual Server to Hyper-V there is a free tool available (Matthijs ten Seldamâ€™s VMC to Hyper-V Import Tool) and, for conversions from other products or back to physical hardware, various third party tools are available).
- Orchestration of migration activities (i.e. quick migration for Hyper-V, VMotion for ESX).
- Intelligent placement of virtual machines.
- Management of virtual machine templates, virtual hard disks, CD/DVD (.ISO) images, etc.
- Full integration with Windows PowerShell (with supported PowerShell cmdlets) as well as other System Center products such as System Center Operations Manager and PRO packs.
- Virtual machine self-service for users to provision their own VMs, based on a quota system.
Q. I have a fully-patched Hyper-V host and SCVMM 2008 installation but SCVMM says my host needs attention. Have I missed something?
A. VirtualBoy Matt McSpirit blogged about a couple of updates required for Hyper-V and BITS when using SCVMM 2008. After installing these and rebooting, everything should be fine.
Q. How can I patch the virtual machines that are held offline (templates, etc.)?
A. Offline VMs may be patched using the Microsoft Offline Virtual Machine Servicing Tool.
Q. I’m trying to configure remote management for Hyper-V and it seems very difficult.
A. It can be! Luckily, John Howard had a few days vacation to use up and the result was a tool called
hvremote. You can read more and download the tool on MSDN – but don’t use it if you’re using SCVMM to manage your Hyper-V hosts.
Q. I’m using the Hyper-V Virtual Machine Connection to access the console of one of my Hyper-V virtual machines but every time I press Ctrl+Alt+left to release the mouse (I do not have integration components installed) my screen turns 90°. Have i been infected with a virus?
A. Probably not! Some Intel chipsets use that key combination to rotate the display. Either turn off that functionality in the display driver settings or press Alt+Tab to break out of the VM and change the hotkey in the Hyper-V settings.
Q. Virtualisation is often cited as an enabler for green IT – how can that be? Surely I’m just moving the same heat and power requirements into one place?
A. An underutilised server still uses a significant proportion of its maximum power and consolidation of many low-utilisation servers onto a shared infrastructure will normally result in power supplies running more efficiently and a net reduction in power consumption.
By consolidating many servers onto onto a smaller number of servers using virtualisation then many servers may be retired. These older servers are likely to be less efficient than a modern server and will all require cooling, resulting in further power cooling savings.
Whilst disposal of old servers is not very “green”, some servers may be redeployed in scenarios where a physical infrastructure is still required.
Q. Does Hyper-V work in conjunction with the Processor Power Management (PPM) power savings in Windows Server 2008?
A. When the Hyper-V server role is enabled system sleep states (standby and hibernate) are disabled. The major savings in power and cooling requirements are gained by switching servers off and, by viewing overall demand for the entire virtualised infrastructure rather than working at an individual sever level, it is possible to use management technologies to bring servers on and offline in order to meet demand.
Virtual machine settings
Q. With Microsoft Virtual Server, itâ€™s really difficult to access the virtual machine BIOS. Is there still a virtual machine BIOS?
A. Hyper-V VMs do still have a virtual machine BIOS; however, all of the BIOS features (e.g. numlock setting, boot device order, etc.) may be set in the virtual machine configuration or using a script. As a conseqence of this, Microsoft has removed the ability to access the BIOS at boot time.
Q. Hyper-V can import and export its own XML-based VM configurations but not the legacy .VMC format. Is there a way to migrate my Virtual Server and VirtualPC settings to Hyper-V without recreating the configuration manually (I’m not using SCVMM)?
A. As mentioned when discussing V2V migrations above, Matthijs ten Seldam (The author of VMRCplus) was written a VMC to Hyper-V import tool (remove the VM Additions before importing to save effort later).
Q. Can a virtual machine boot from SAN (FC or iSCSI), NAS, USB disk or Firewire disks (the boot order in the BIOS settings only shows floppy, CD, IDE and network)?
A. Virtual hard disks (VHDs) can be used to boot or run a VM from:
- Local storage (IDE or SCSI).
- USB storage (USB key or disk).
- Firewire storage.
- SAN Storage Area Network (iSCSI or fibre channel).
- NAS Network Attached Storage (file share, NAS device).
It’s also possible to assign a non-removable volume (direct attached storage or a SAN LUN) to an IDE channel in the VM settings and to boot from that device.
Q. Is it possible for Hyper-V virtual machines to access USB devices?
A. Not directly and, although many people would like to see this functionality, Microsoft is adamant that this is a client-side virtualisation feature and have no plans to include USB support in the product at this time. There is a workaround, using the Remote Desktop Connection client though (and this approach can also be used for audio).
Q. How can I move VM images to another physical disk?
A. With Hyper-V, the simplest approach I’ve found for moving virtual machines is to export the VM and import it to a new location. Alternatively, you could move the VHD and create a new virtual machine configuration.
Q. I’m confused by the various network interfaces on my Hyper-V host – what’s going on?
A. It’s not as confusing as it first looks! The parent partition is also virtualised and all communications run via a virtual switch (vswitch). In effect the physical network adapters (pNICs) are unbound from all clients, services and protocols, except the Microsoft Virtual Network Switch Protocol. The virtual network adapters (vNICs) in the parent and child partitions connect to the vswitch. Further vswitches may be created for internal communications, or bound to additional pNICs; however only one vswitch can be bound to a particular pNIC at any one time. Virtual machines can have multiple vNICs connected to multiple vswitches. Ben Armstrong has a good explanation of Hyper-V networking (with pictures) on his blog and I described more in an earlier post on Hyper-V and networking.
Q. Can I use Hyper-V over a wireless connection?
A. Not directly, but there is a workaround, as described in my blog post on Hyper-V and networking.
Q. Is NIC teaming supported?
A. Not by Microsoft, but certain OEMs provide support, and Patrick Lownds has blogged about new Broadcom support for NIC teaming that seems to work with Hyper-V.
Legacy operating system support
Q. The virtual machine settings include a processor option which limits processor functionality to run an older operating system such as Windows NT on the virtual machine. What does this feature actually do?
A. This feature is designed to allow backwards compatibility for older operating systems such as Windows NT 4.0 (which performs a CPUID check and, if CPUID returns more than three leaves, it will fail). By selecting the processor functionality check box Hyper-V will limit CPUID to only return three leaves and therefore allow Windows NT 4.0 to successfully install. It is possible that other legacy operating systems could have a similar issue.
Q. Does this mean that Windows NT 4.0 is supported on Hyper-V?
A. Absolutely not. Windows NT 4.0 is outside its mainstream and extended support lifecycle and is not supported on Hyper-V and no integration components will be released for Windows NT 4.0.
Q. But one of the stated advantages for virtualisation is running legacy operating systems where hardware support is becoming problematic. Does this mean I can’t virtualise my remaining Windows NT computers?
A. The difference here is between “possible” and “supported”. Many legacy (and current) operating systems will run on Hyper-V (with emulated drivers) but are not supported. Windows NT is no longer supported, whether it is running on physical or virtual hardware. Microsoft do highlight that Windows NT 4.0 has been tested and qualified on Virtual Server 2005 and that Virtual Server may be managed (along with Hyper-V and VMware ESX) using System Center Virtual Machine Manager 2008.
Copying files between virtual machines
Q. I want to copy files between Hyper-V virtual machines. Is there a way to do this?
A. Microsoft make a distinction between client-side and server-side virtualisation usage scenarios and note that virtualisation servers are typically managed by a group of administrators who want to deploy a secure, locked down server by default (and do not want additional attack vectors created through virtualisation). This is the reason that Hyper-V does not include shared folder or drag and drop functionality (nor are there any plans to do so at a later date). The options for transferring data from one virtual machine to another are:
- Setup a virtual network just as you would for physical systems.
- Use a virtual CD/DVD creation tool and insert a virtual CD/DVD; this can be done while the virtual machine is running.
Microsoft’s stated position is that, in the case of client-side virtualisation, a single user is running a virtualisation product (e.g. Virtual PC) locally ands expects the capability to move files from one virtual machine to another. For this reason, Virtual PC includes shared folder support (but are not set by default).
Q. How does this work if I move a Virtual PC VM with shared folders to a Virtual Server or Hyper-V system?
A. In this case the shared folders guest components wonâ€™t load because the required server-side components are not available in Virtual Server or Hyper-V.