It happens to the best of us. You setup your SAN, setup all of your virtual disks for your different systems to connect to. Then 6 months down the road you decided that you need a little more room on your virtual disk. The process is actually fairly easy, yes you have to do a small command from the command line and cant use the GUI on a Dell MD3000i to expand a virtual disk. But don't get scared off its an easy thing to do.
1. Determine how much space you need
First you will need to calculate how much space you will want to expand the virtual disk by. The issue I found was a Dell MD3000i was setup with a single virtual disk for a vSphere Datastore that multiple vShere guest are stored on. We wanted to add a couple more guest operating systems to the vSphere host but needed a little more room on the vSphere Datastore. In this example I will expand the capacity on a Dell MD3000i Virtual Disk that is mounted from vSphere and then I increase the size of the Datastore on vSphere.
2. Expand the Dell MD3000i Virtual Disk
Now that you have determined how much you want to add to your Virtual disk you need to add capacity to the virtual disk. This must be done by the command line on the Dell MD3000i as it does not have support for adding capacity to a Virtual Disk in its GUI.
On the MD3000/MD3000i you have to use smcli at the command line to expand a virtual disk.
If you're doing this command from a Windows system, open a dos-prompt and assuming it's in the default location, go to: c:\program files\dell\MD storage manager\client.
From here issue a:
smcli arrayname -c "set virtualDisk ["virtualdisknametoresize"] addCapacity=4GB;" -p "password"
Fill in the correct "arrayname" or put the IP of its management connection , "virtualdisknametoresize", size you wish to add (I used 4GB in the example), and "password" to the management password of your MD3000i.
If you're running an older firmware, it may not accept the "GB" part, and you may have to specify the size you wish to add in bytes (so 1024 bytes makes a kb, 1024 kb makes an mb, etc).
For more information on the command line utility, check the CLI guide which can be downloaded from Dell's website.
Obviously, if you're going from below 2TB to above 2TB, be 100% sure your OS can do this (ESX/ESXi cannot for example) and that the disk is already converted to GPT or you'd never be able to use the space after the 2TB mark on the disk.
Now that the SMcli has completed successfully you may think your done. If you have ever expanded a RAID or Virtual disk before though you may think that was rather fast. "SMcli completed successfully." simply tells you that you have entered a proper SMcli command and the command has ben sent to the SAN. This does not actual mean that the process is complete.
To check on the process first open the Dell Modular Disk Storage Manager and select the storage array you performed the operation on. You will notis under Status that there will be 1 or more Operations in Progress.
Click on the link inside Status "Operations in Progress" to get more details. In the window below you will notice the my MD3000i had to move one of my other Virtual Disk's to make room for expanding my TESTDISK. This is because the SAN wants to keep all information for a virtual disk in sequence with the rest of the virtual disk. Kind of like keeping your desktop computer defragmented. You must wait for these operations to finish before continuing. Depending on the capacity increase this could take hours.
3. Extend the Datastore in vSphere
Now that you have expanded the ISCSI share/virtual drive you need to have vShere see the new space. Luckily this is the easy part.
Next, select the “Increase” button
In the following window, you will see a selection of the available devices that we can select to become an extent to the file system. Low and behold, the same LUN #19 has appeared (recall that the iSCSI LUN for the file system was #19!
Select that LUN and click Next.
Magically, vSphere knows exactly what to do with it.
vSphere sees that there is an additional 4.01GB of space available and that the ‘Free space’ will be used to expand the VMFS volume. Click Next!
Click Next to “Maximize capacity”.
Click Finish to begin the magic.
In a mere 6 seconds (for me), the VMFS datastore has been expanded and is available to use.
As a nice aside, this feature will also initiate a Storage Rescan of all ESX hosts connected to the datastore to ensure the change has been reflected everywhere.
4. Beer Time
This procedure to extend a VMFS datastore is super easy. Different SAN vendors have different utilities and procedures for enlarging an iSCSI share/virtual disk on the fly. Make sure to do you research on the procedure. This is a supper easy process and VMs running on the store will have little/no impact.