Mapping Windows Drives to RDMs in VMware ESX/ESXi

It can be confusing when trying to identify the RDM that correlates to a Windows drive. To give you some context, let’s assume you receive a request to increase the K:\ drive on a SQL Server because it has run out of free space. You navigate to the VM to find the RDM in question but are faced with this:

20140111231903

So which disk needs to be expanded? To identify the correct disk, log onto the VM in question and fire up Disk Management.

Locate the drive in question, for this example we are using the K:\ drive:

20140111233556

Right-click on the disk and click on Properties:

20140111234725

In the General tab in the Location section make a note of the details, in our example above, the information we need is Bus Number 0, Target Id 6.

Windows uses a 0 for the Bus Number whereas VMware uses a 1. So for our example, Bus Number 0, Target Id 6 correlates to an RDM with a SCSI ID of 1:6.

Locate the VM using the vSphere client and go into the settings and locate the Hard Disk that has a SCSI ID of 1:6, see below:

20140112002032

We can see that Hard Disk 8 has a SCSI ID of 1:6. The next would be to click on Manage Paths and note down the naa #, which is highlighted below:

20140112002121

Using that #, naa.600601609aa02e004d7489a8adbce211, you can identify the LUN in question on the storage array and increase it according to requirements.

To cement this knowledge, lets use another example. If the Windows drive had the following the following info, Bus Number 0, Target Id 8, the RDM disk will have a SCSI ID of 1:8.

Note: Windows also uses the Bus Number 0 for SCSI controller 0, therefore do not confuse the disks on SCSI controller 0, with RDM disks on SCSI controller 1.

Virtual Disk ‘X’ is a mapped direct access LUN that is not accessible

After some LUNs are removed and re-presented to an ESX cluster you are unable to power on VMs or migrate them to other hosts in a cluster and see the following error:

Virtual Disk 'X' is a mapped direct access LUN that is not 
accessible

You also receive the following error when doing trying to view the properties of those RDMs when clicking Manage Paths in the Virtual Machine Properties:

There is no multipath configuration for this LUN

The cause of this issue is what is known as a VML mismtach. This occurs when the VML identifier for an RDM on two or more ESX hosts are not same – they are mis-matched. This issue is highlighted in VMware KB article 1016210.

The first thing to do is to ensure that the LUN IDs are the same across all the ESX hosts. If not, they need to be removed and re-presented so that the LUN IDs match. Secondly, you need to remove all the affected RDMs and then re-add them per the steps below:

  1. Power down the virtual machine.
  2. Right-click the virtual machine and click Edit Settings.
  3. Make note of the raw device mapped disks which are attached to the virtual machine.
  4. Remove the raw device mapped disks from the virtual machine.
  5. Click OK.
  6. Right-click the virtual machine and click Edit Settings.
  7. Click Add to re-add the previously removed raw device(s).
  8. Click OK.
  9. Power on the virtual machine and re-attempt the operation which previously failed.

I personally found that the steps above still did not resolve the issue. I then removed the RDMs and cold migrated the faulting VM to the other ESX host in the cluster and was able to add the RDMs. This identified that the cause was the previous ESX server. I power-cycled the faulty ESX server (Windows Admin style) and, migrated the VM back to it and was then able to add the RDMs successfully: