Failover clustering for your virtual machines can be a real challenge when it comes to Cluster Shared Volumes (CSV’s). After a few days of research, the following conclusions can be made:
- Cluster Shared Volumes on Hyper-V R2 (Windows 2008 R2) can only be used by using iSCSI (you can use pass-through disks in your VM’s, but these are not suitable for CSV’s).
- Virtual Fibre Channel adapters are supported in Hyper-V R3 (Windows Server 2012) and will require much less configuration.
- So, Cluster Shared Volumes within virtual machines on Windows 2008 R2 can only be realized in two ways:
- Over your TCP/IP network, using iSCSI, where your network storage has to be configured as an iSCSI target.
- Over your Fibre Channel connected storage, but only by using a third party tool which will function as an iSCSI target to provision the disks. For these purposes, Microsoft provides the free Microsoft iSCSI Software Target software: http://www.microsoft.com/en-us/download/details.aspx?id=19867
- Each solution has it’s advantages and disadvantages:
- iSCSI advantages: With iSCSI, you only need the iSCSI Initiator tool which is natively included in Windows 2008 R2 to connect a network storage disk. No additional software is required.
- iSCSI disadvantages: For iSCSI you need to use your Ethernet network. Therefore you need to create a Ethernet connection between your Hyper-V hosts and storage. Best practice is to use dedicated redundant cabling (teaming / trunking) only for your iSCSI communication. Or you could use your existing cabling, but make sure your iSCSI traffic is separated by using a VLAN and make use of QoS to provide the proper bandwidth. VLAN’s must be configured on all of the switches between your Hyper-V hosts and storage. So, with iSCSI you need to (re)configure your existing network and at the same time, considering if your network meets the proper requirements.
- iSCSI target software advantages: the Microsoft iSCSI Software Target makes sure you will stay within your storage Fibre Channel network, because traffic does not leave the Hyper-V hosts.
- iSCSI target software disadvantages: You need software. Software has to be installed on a Windows machine. This Windows machine has to be a virtual machine. Of course, you can use an existing virtual machine, but this creates another problem. With a piece of software installed on a single virtual machine, you will create a single-point-of-failure. Also, you are creating another layer between your Windows hosts and network storage, which increases complexity and has it’s influence on performance.
Configure direct iSCSI connection
My recommendation is to use an direct iSCSI connection to your network storage for performance and failover capabilities at network level (trunking / teaming). Of course, your network storage has to support iSCSI, but most will do.
Follow these steps to create your iSCSI network:
- (Additional: connect your Hyper-V hosts to your network storage by using the proper cabling; CAT6 for Gigabit connections). Or use the existing LAN.
- Choose a network range and a VLAN ID.
- Create the iSCSI target on your network storage, assign an IP address in the chosen network range and the VLAN ID. Create the LUN’s and IP assignments for your virtual hosts.
- Create the VLAN ID on the switches connected between your Hyper-V hosts and your network storage. Additionally, configure QoS on the switch ports.
- If you used dedicated cabling in step 1, create a vSwitch on your Hyper-V hosts, assign it to the physical network card, define the network range and assign the VLAN ID.
- Assign an extra virtual network card to your virtual machine, only for iSCSI communication. Assign the VLAN ID.
- Make sure in the Failover Cluster Manager, the network card is not used for cluster communication.
- Assign the virtual network card an IP address in the chosen range and define the subnet mask. Do not fill in the default gateway or DNS servers. Turn off DNS registration, LMHOSTS lookup and NetBIOS in Advanced TCP/IP settings. Disable services and protocols which are not needed:
9. Open the iSCSI Initiator and fill in the IP address of the iSCSI target. This is the IP address configured in step 3. The disks configured in step 3 will be presented.
10. Add the discovered volumes in the Failover Cluster Manager \ Nodes \ Cluster Shared Volumes.
Configure an iSCSI software target
For a complete guide how to configure CSV’s with Microsoft iSCSI Software Target, I recommend this post: http://blogs.technet.com/b/mghazai/archive/2009/12/12/hyper-v-guest-clustering-step-by-step-guide.aspx