Cluster Shared Volumes (CSV) – Extending a Volume

There are often times where you have a need to expand a LUN when running enterprise systems.  This is a trivial action in most cases because you simply add physical drives to the array and then use Disk Management to extend the drive to encompass the newly expanded volume.  Unfortunately, on highly-available systems such as those running Failover Clustering with Cluster Shared Volumes (CSV)-enabled features the drive is reserved and un-manageable by Disk Management.  However, this procedure is possible and capable of being done without any loss of service to client services such as virtual machines.

First:  Extend LUN using OEM-specific tools

The first step isn’t one that I can document specifically because it is OEM-specific for the toolset.  As you know, SAN’s are a form of Shared I/O and due to this they are managed using a set of proprietary tools (usually) and as such I can’t really provide guidance because of this.

However, to summarize a bit what you should do is similar to the following steps as I performed on our EMC Clarion AX4-5 using Navisphere Express -

  1. Connect to Navisphere via browser
  2. Click Disk Pools
  3. Click Extend
  4. Provided percentage or size

After extending the LUN, I verified that the LUN was fully extended through the Navisphere client and when completed, I moved to the next step.

Second:  Find the CSV Owner

To find the owner of the CSV, the easiest method is to use the Failover Clustering administration tool.  This can be found on any of the cluster hosts or you can install on your workstation as part of the Remote Administration Tools for Windows 2008 R2.

To determine the CSV owner, do the following:

  1. Click Start, Administrative Tools, Failover Cluster Manager
  2. Connect to the Cluster by clicking Manage Cluster from the MMC action pane
  3. Highlight the Cluster Shared Volumes node, and locate the server name under Current Owner

image

This server name will be used in Step 3.

Third:  Remote Desktop (RDP) to CSV Owner Server

CSV’s are a tricky “volume” unlike many seen in the past.  The entire LUN is presented to all hosts in the cluster; however, the lock for each server is done at the folder level rather than the traditional LUN level.  This allows n number of hosts to all connect to a LUN but only own the applications contained in the folders they utilize.  Beyond that, the drives that are managed in Disk Management are set as reserved and un-manageable using the UI hence causing trickiness.  Using the information determined in Step 2, let’s RDP to the server.

To RDP to the server, just use mstsc /v:{server FQDN}

Fourth:  Use DiskPart to Extend Volume

The last step, now that you are at the server who owns the CSV, is to execute DiskPart and issue the command to start the extend process.  To do this, you do the following -

  1. Run DiskPart from an elevated command prompt
  2. Type rescan
  3. Type list volume
  4. Type select volume {enter volume number from output from #3 step}
  5. Type extend

To confirm that all changes were taken and that the volume is the correct size, you can do the the list volume command again and verify the size change from step 3 above.

Summary

In this post, we focused on a scenario where you’ve “outgrown” your planned capacity and you now need to extend your CSV-based volume.  Unfortunately, the traditional methods of extending the size of a drive isn’t capable of being used due to the tools (Disk Management) disabling the functionality.  The next challenge, though, is finding the volume with DiskPart and the trick here is to find the CSV owner and execute the toolset from this server.  After doing this, your LUN should extend to the size you provisioned in your OEM-specific tool.

Thanks,

-Chris