This site is best viewed in Internet Explorer
TechNotes! | Windows Virtualization - Page 2

Device Virtualization in Hyper-V

by vp 2. January 2008 22:27

I pointed out about device access in my earlier post, differentiating between emulated device and non-emulated device in Hyper-V. Ever wondered how non-emulating devices work internally in Hyper-V? If not, then read on...

Device access virtualization is a method for sharing hardware efficiently without any emulation. All physical devices are controlled by existing device drivers without creating new ones.

VSP's or Virtualization Service Providers runs within parent partition. It talks to the respective device driver and acts as a multiplexer and offers hardware services to guests by establishing a communication with VSC's or Virtualization Server Clients over VMBUS (A communication channel for VSP's and VSC's).

VSC's runs within the child partition and acts as a service. For every VSC, there will a corresponding VSP in parent partition. It's the VSP/VSC pair which makes a device type within a guest. Microsoft provides VSP/VSC pairs for storage, networking, video, input, USB.

Tags: ,

Virtualization | Windows Virtualization

Device Access in Hyper-V

by vp 29. December 2007 22:28

Ok. This is what I've learned so far about device access in Hyper-V.

For device access in Hyper-V, there are two underlying methods:- Emulated and VSP/VSC devices.

Emulated devices are just like the devices you have seen or used in Virtual Server 2005 R2. Whenever the virtual machine or VM attempts to access I/O, the hypervisor traps that request and the I/O gets emulated in the parent partition. This approach is highly compatible across most of the OS, but it has its own overhead and slow.

To overcome the above mentioned I/O performance issues, VSP/VSC devices have been developed in Windows Server 2008 Hyper-V. The hidden caveat is, these are supported only on specific OS. Of course, Windows 2003 and above is supported. This approach requires VSC drivers in the guest OS which looks like normal drivers in windows. With VSC drivers, I/O is not trapped by the hypervisor as it does in emulated one - rather the VSC drivers directly communicates with VSP's over VMBUS and operates much faster than emulated devices.

Ok, now we know the two underlying methods available for device access. Let's take a look at the type of disk contoller Hyper-V provides for storage. The excerpt below has shamelessly been copied from here.

There are two types of disk controllers that Hyper-V supports: SCSI and IDE. There are two IDE controllers and four SCSI controllers available.

Each IDE controller can have two devices. You can't boot from a SCSI controller. This means an IDE disk will be required. The boot disk will be IDE controller 0 Device 0. If you want a CDROM it will consume an IDE device slot.

EACH SCSI controller can support up to 255 devices.

Both SCSI and IDE can support pass-through, Fixed, Dynamic, Sparse, and Delta drives (see http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx). The difference lies in how the controllers are actually implemented. The IDE controller is emulated where as the SCSI controller is synthetic. So what does this mean?

The IDE controller implements a well-known IDE controller and this means there is extra processing before the I/O is sent to the disk. This processing occurs in vmwp.exe (a user mode process that exists for each started VM. More on this in a later post). Once the IDE emulation is complete the I/O is sent into the Root Partition's I/O Stack. I/O completion requires a trip back to vmwp.exe.

The SCSI controller is not emulated. The SCSI controller uses VMBUS (Virtual Machine BUS. More on this in a later post). The I/O's pass from the Child (aka Guest) Partition to the root over VMBUS and enter the I/O stack. You can already see one less process/machine context switch is required because vmwp.exe does not get invoked. Once and I/O completes its completion is sent over VMBUS.

There is a lot more to how both the IDE and SCSI controllers work however the descriptions below should help you to understand why SCSI controllers are the right choice for the best performance.

One of the main reasons you can't boot off of SCSI device is because it is implemented as a synthetic device in Hyper-V and the VMBUS is not available during the boot. Rest of the devices such as CD, IDE, Legacy Network Adapter and Floppy is supported though.

Note: Since Hyper-V is not RTM'ed all numbers are subject to change as are the behaviors.

Tags: ,

Virtualization | Windows Virtualization

Windows Server 2008 Hyper-V Beta RC1 - Issues, Incompatibilities or "Bugs"

by vp 27. December 2007 22:29

I've been testing Hyper-V lately and thought of compiling a list of things which are either incompatibilities, issues or "bugs" with Hyper-V.
Note: This is what I have experienced personally or from the field and is never a complete one. I'll be updating it as and when new information is available.

  1. All roles except DC (Domain controller) role is supported
  2. If you are using virtual switches in a VM cluster then make sure they are identically named on both nodes. Make sure you have installed integration services before attempting a failover. I also noticed that creating virtual switches using the GUI during installation doesn't cut it and you need to delete it and recreate it again to make it properly work inside a cluster
  3. Since, we are dealing with pre-release material here and one thumb rule is, don't expect everything to work straight forward. For instance, upgrading a VM configured on Hyper-V pre-beta code (RC0) to Hyper-V Beta RC1 may not be supported and may offer un-predicatable results.
  4. Always install the virtualization integration components for Linux inside Virtual Guests. Otherwise, you won't see the devices. The Linux downloads are available from Connect Website
  5. While enabling Hyper-V role, make sure you keep (do not change) EN-US as your default language otherwise you may get VMM service failures and Hyper-V wouldn't start
  6. Wireless network adapters on laptops are not supported by Hyper-V.

Tags: ,

Virtualization | Windows Virtualization

Windows Server 2008 WSv CTP Support

by vp 20. November 2007 23:37

Windows Server Virtualization (WSv) CTP only supports English version of the OS at the moment and has been tested only on selected hardware.

I have been trying to load Windows Server 2008 on SunFire x4200 (AMD Opetron x64-bit) hardware and wasn't even successful in installing the OS and then I found this link on MS Website which clearly says, what all hardware is tested and supported for the CTP release.

WSv Supports the following (for those who love bird's eye view)

  • Hyper-V supports 32 and 64-bit SMP guests
  • Supports iSCSI and Fibre Channel SAN
  • Large memory allocation (more than 32 GB per machine)
  • Integrated Virtual Switch

Recommended

  • Only Windows OS
  • Maximum 4 virtual processors be allocated to a VM running "Windows 2K8". Only 1 for "Windows 2K3"
  • 1 virtual SCSI controller per VM
  • 1 virtual network controller per VM
  • 1 legacy virtual network controller per VM

Not tested and Recommended

  • Not compatible with dynamic disks
  • Disable hyperthreading
  • PXE setting inside the VM BIOS doesn't support 64-bit OS deployment
  • Do not create dynamically expanding virtual hard disks that are greater than 1 TB in size
  • Clustering of VMs
  • Clustering of physical server and quick migration
  • Compacting of virtual hard disks

Recommended Hardware Devices

HP - Proliant DL585(AMD), DL385 G2(AMD), DL 580 G4(Intel), DL380 G5(Intel)

DELL - PowerEdge 6950(AMD F2 Opteron 8218 with BIOS 1.1.2 or later), 6850(Intel), 2950 (Intel, with BIOS 1.3.7 or later)

Fujitsu - TX300 S2(Intel)

NEC- Express 5800 120Ri-2(Intel)

Tags:

Virtualization | Windows Virtualization


DISCLAIMER: Usage of content provided on this website is your own risk. You have been WARNED!
Copyright Aswathi, 2009

About

I spend most of my work time managing, evangalizing, mentoring and architecting IT solutions. Here you find my rambling thoughts on various tools and gadgets which you may or may not like.

Email Me: vinodp@aswathi.com
Twitter: http://www.twitter.com/ablogs

Disclaimer: Contents on this website are just my own thoughts and opinions, and in no way related to my employer's. Whether you use it, like it or ignore it, is totally up to you. Comments are welcome though :-)