-- Ben Armstrong, Virtualization Program Manager
Talking about core virtualization at Microsoft (Hyper-V, Virtual PC and Virtual Server).
Here is a good question:
If you are using iSCSI for all of your storage needs; should you use a software iSCSI initiator inside the virtual machine to connect the iSCSI storage directly to the virtual machine, or should you connect the iSCSI storage to the management operating system (in the parent partition) and then store virtual hard disks / use pass through disks?
The answer is (as usual) not that simple. Generally speaking – you should always connect the iSCSI storage to the management operating system. The reason for this is that virtual machines can only connect to iSCSI devices with a software iSCSI initiator, where as the management operating system will be able to use hardware host-bus adapters (HBAs).
That said, there is a time when you will want to use a software iSCSI initiator inside the virtual machine and connect the storage directly to the virtual machine. You will want to do this if you are trying to cluster the guest operating system inside the virtual machine (as opposed to clustering Hyper-V itself). In this scenario; having iSCSI storage connected directly to the guest operating system is the only option that works.
Some common questions that I have heard around these recommendations include:
Cheers, Ben
Microsoft does great job with their Hyper-V to provide minimal performance degradation when iSCSI is moved inside virtual machine. We've experimented with our both iSCSI target and initiator software and inside VM iSCSI runs at 50%-70% of the speed it could do outside VM. Also there are companies like Virsto specializing on moving storage management software inside VM. So I think we'll see less and less difference in performance every day. Just for your references:
www.starwindsoftware.com
and
http://virsto.com/
Best wishes!
Anton
And, you cannot backup a VM from the management OS when you have an iSCSI disk connected to a iSCSI initiator inside the VM. If you plan to have a management OS-based backup solution backing up all your VMs in the physical machine, do not count on the iSCSI data being backed up.
Rant over.
I have a fail-over clustered HyperV servers and another fail-over cluster inside the VM used for file server, all conencted to the SAN via iSCSI. I also got DFS and Shadow Copies set up inside the VM cluster. The problem is the VM sometimes log iSCSI error and BOSD (caused by a BugCheck), another issue with the Shadow Copies is that it is not working (probably after a failover inside the VM cluster) as the volume used to store shadow copies show 100% free space? And all previous versions are lost...
doing your iscsi on the hyper-v host, instead of inside the hyper-v guest, limits your flexibility. With Hyper-V you need to shut down a guest in order to resize an attached VHD (either scsi or ide). If you use iSCSI inside the guest, you can usually resize a disk on the fly.
also, you can usually do volume snapshots on iscsi volumes on the storage platform so thats one backup option. DPM also backs up data in iscsi connected disks so thats another.
Great post, Ben. Can you clarify something in your first bullet point? I was under the impression that teaming iSCSI adapters was unsupported. Are you referring to teaming the management or virtual switch NICs?