Saturday, May 28, 2011

How to convert VMDK to RDM

I needed to enhance the ASEAN Lab MS Exchange demo so we can show integration with array level snapshot. In this case, NetApp SnapManager for Exchange. As it does not support VMDK, I need to convert the virtual disk to RDM.

I found this post useful http://www.virtualclouds.info/?p=2122

The steps are:

From the NetApp web admin:
1. Create a new RDM disk. Match the size to the VMDK file. I'm using OnTAP 8.0.1 and I have to make Reservation when creating my LUN. If not, the commands vmkfstools complained.
2. Give it a LUN ID.
3. Map it to the ESX groups in the cluster, so it's mountable by all ESX in the cluster.

From the vSphere Admin client:
1. Check that the ESX can see the new disk. You might need to wait for 5 minutes for the _entire_ info to appear. Take note the LUN ID.
2. Shutdown the Exchange VM.
3. Remove the disk from the VM property. If you don't, Windows will still see it, and you will get a new drive letter for the RDM disk.

From the vMA or SSH to the ESXi server:
1. Login to the ESXi server holding the VM as root.
2. issue the commmand below

vmkfstools --clonevirtualdisk /vmfs/volumes/Demo-Desktop-01/Exchange1/Exchange1_1.vmdk
/vmfs/volumes/Demo-Desktop-01/Exchange1/Exchange1_1_RDM.vmdk
--diskformat rdmp:/vmfs/devices/disks/naa.60a9800057396d2f685a64346b664549

The command takes the form of
vmkfstools --clonevirtualdisk --diskformat rdmp:

I'm not sure if VAAI will speed it up. It is pretty slow in my case.

Once it is completed, go back to vSphere client. Perform the following:
1. Right click on the Exchange VM, and add disk.
2. Choose physical RDM
3. Follow the wizard. Click OK to complete it.
It would automatically create a new VMDK file. So I ended up with 2 VMDK file. This means the purpose of specifying the the pointer VMDK file is not necessary?
4. Power on the VM.

Login to the Exchange VM.
1. Open the Disk Management in Windows. Make sure that the new disk is there.
2. Click on disk, and bring it online. It would take the former disk drive letter.

Back to the vSphere Admin client.
1. Click on any of the ESX in the cluster.
2. Go to Configuration tab.
3. Click on Storage, then click on Add Storage
4. Make sure that the LUN is no longer visible. Else it can be accidentally mounted.

That seems to be the step :-)