This article discusses briefly the LUN provisioning, deploying CSV and preparing for Live Migration in Microsoft Hyper-V environment. The prerequisites for a healthy iSCSI Fabric are not listed here, please refer to the document “Configuring iSCSI SAN for Hyper-V: Network Optimization” on this site.
For Server 2008 and above you will need the following roles and features enabled: Hyper-V role, Failover Clustering feature, for iSCSI redundancy Multipath I/O feature. If these are not installed please refer to the document “Using Hyper-V and Failover Clustering” (see link below) before continuing with the next steps.
Configuring LUNs on the SAN
You will need at least two LUNs – the quorum disk and disk(s) where actual application data will be stored. For the quorum disk at least 512MB are required. In our test environment we created a quorum disk with 2GB and one data disk with 2TB for the VHD files. In a productive environment you will either have to use SSD for the data disk where intensively used VHDs are stored or you will use 15k SAS disks with as many spindles as possible to eliminate the I/O bottleneck.
Depending on your SAN provider you have to isolate the storage volumes from servers outside of the cluster scope either defining the IQN of the hosts or their IP addresses. If the SAN does not provide an IP range or multiple IQNs (but instead uses wildcard) you will have to isolate the network either physically or using dedicated VLAN.
Attaching exposed LUNs to the Hyper-V hosts
If everything was so far correctly set up you can add the target’s IP address to the iSCSI initiator, click “Quick Connect” and discover the target. From the disk management console confirm that the exposed LUNs are visible. Initialize and format the disks as NTFS from the first cluster node but do not assign a letter or mount point. For disks larger than 2TB a GPT partitioning is required during initialization. NTFS is required for the quorum disk as well as for any CSV. Dynamic disks are not supported on failover clustering! Take them offline after formatting is completed. On the additional cluster nodes configure the iSCSI target as above and initialize the disk, eventually setting them offline as well.
Create the cluster
Run the validation wizard from the failover cluster console – this is your ticket by Microsoft Support and also your report to the chief if anything in the productive environment goes wrong. From the report summary click “Create the cluster now using the validated nodes”, provide a cluster name and an IP address, reassure that these are not already in use and proceed with the cluster creation. After saving the report click Finish and start the Failover Cluster Manager. Expand the cluster name / Storage node and check the allocation. The small sized quorum disk should be listed under “Disk Witness in Quorum”, all other additional volumes should be listed under “Available Storage”.
Configure CSV for Live Migration
In this last step you will set up Cluster Shared Volume from the Failover Cluster Manager console. Click on the name of the cluster and from the overview click “Enable Cluster Shared Volumes”. Remember that this is a new feature in Server 2008 R2 Hyper-V and cannot be used with Server 2008 release! If you have mixed environment with such releases do not use CSV – you will still be able to perform live migration using VM-dedicated LUNs instead. After you have read and accepted the terms and restrictions navigate to Cluster Shared Volumes node and click Add Storage. Select the storage from the list.
Now you are set up with a highly available iSCSI environment for Virtual Machines provisioning. The LUN / CSV setup is a straight-forward process with no caveats. Compared to the network setup these steps are definitely less complex and cost considerably less effort and administration time.
- Using Hyper-V and Failover Clustering (step-by-step guide): http://technet.microsoft.com/en-us/library/cc732181(WS.10).aspx
- Using Live Migration with Cluster Shared Volumes in Windows Server 2008 R2: http://technet.microsoft.com/en-us/library/dd446679(WS.10).aspx