I recently ran into an issue while trying to manipulate some virtual disks on our MD3000i SAN at GCC. I know lots of other CITRT folks either have one of these “inexpensive” SANs, so I thought I’d document this here. Apologies to all my friends and family who have been haggling me to post something NON-TECHIE, but this is NOT that post.
A quick bit of background: We’re using our MD3000i strictly as media file archive and really want the SAN to be one really large LUN/partition so that the space is the most flexible. When we first implemented the MD3000i, we were limited to 2TB per LUN/partition and were splitting things up by year. 2007 was about 1.8TB of data and with one month remaining in 2008, the 2008 LUN was already full. You can see where we were already having an issue with 2TB limit.
Dell recently released new firmware for the MD3000i that supports a LUN size of larger than 2TB. I applied that before leaving the office on Friday and quickly started deleting the virtual disks that didn’t have any real data on them yet so I could create a new, larger partition and begin moving data around. Much to my surprise, I saw this in the Dell Modular Disk Storage Manager:
The stupid controllers left the Free Space from the virtual disks I removed in their respective physical locations on the disk. This was stupid, so I Tweeted about it. I exchanged a few tweets back and forth with Derek Mangrum and he hooked me up! He had ran in to the same issue before and sent over a rather handy list of commands he’d used on his own array as well as the SMcli reference guide from SANtricity, who apparently is the actual manufacturer of the Dell-rebranded MD3000i. I had to tweak the command a little because we have dual controllers, but this is the final recipe:
C:\Program Files\Dell\MD Storage Manager\client>SMcli controller_0_IP controller_1_IP -p yourarraypassword -c “start diskGroup [1] defragment;”
If you only have a single-controller, you can eliminate the second IP and be sure to replace “yourarraypassword” with uh, your array password. Also, if you have more than one diskGroup, replace the 1 after diskGroup with the diskGroup you wish to “defragment.” And yes, the brackets around the diskGroup number MUST STAY or you’ll get syntax errors.
For what it’s worth, I despise the SMcli tool. I’d much rather have a REAL command-line interface directly on the array controllers. My opinions aside, SMcli is insanely powerful and you can do a lot more through that tool than you can through the Dell MDSM GUI tool.In a few days, I’ll post again about how to use SMcli to expand a LUN. Stay tuned!
I’ve been thinking about updating the firmware on our MD3000i as well. How did it go for you? Were there any issues other than the fragmented drives? Thanks for the post!
Glad this worked for you! And, thanks for the shout-out.
I didn’t know about the larger-than-2TB LUN stuff… Guess I should have read the release notes better! hehehe Better go do that now.
D
Any updates on the SMCli commands to expand a LUN? I’m looking to do this right now, and they would be helpful!
Spencer,
I’ve not personally done this and I don’t have the SMCli guide in front of me right now, but I do remember seeing how to grow a LUN documented in the guide. Let me know if you can’t find it and I’ll be glad to help you track it down elsewhere.
I had the exact same problem with our MD3000i after recreating the virtual disks, and this fixed it. Thanks for the informative post.
SMCli -n %arrayname -p %password -c “set virtualDisk [“virtualdiskname”] addCapacity=x MB;”
However – why are you not using MDSM? It has a GUI way to do it in 3 clicks, then you use diskpart to expand the disk in windows – unless you aren’t using windows of course and then you would use the appropriate expand util.
Great site. I have found the info here very helpful. I have a couple of questions for you about how long the merge took and how the array performed while it was happening… Any way I could PM you?
To expand a LUN, do smcli -p -c “set virtualdisk [\"VDName\"] addCapacity=1000000000;”
to “A dell employee” re:
SMCli -n %arrayname -p %password -c “set virtualDisk [“virtualdiskname”] addCapacity=x MB;”
However – why are you not using MDSM? It has a GUI way to do it in 3 clicks, then you use diskpart to expand the disk in windows
Where in the GUI can you expand a virtual disk? I must be missing it. Thanks.
Awesome, I’ve been wondering how to do this, but was dreading calling Dell where I gave myself about a 50/50 chance the tech would a) understand and b) show me how to do it.
work perfectly ,
thank you
udi
THANK YOU!
The commands didn’t want to work for me. This is what I ended up doing:
SMcli ArrayIpAddress -p yourPassword
Then
start diskGroup [1] defragment;
Then you can check progress with:
show virtualDisk ["LUN_Name"] actionProgress
Thanks for the help!
i am afraif of deframenting my md3000i i have a vmware data storage, how are the performance gains?
I have another issue with the LUN expanding command:
An error occurred while attempting to increase virtual disk capacity for virtual
disk Data2 at line 1.
Error 54 – The operation cannot complete because the number of physical disks selected is not valid.
The command at line 1 that caused the error is:
set virtualdisk ["Data2"] addCapacity=2199023255552;
Script execution halted due to error.
SMcli failed.
I know it is not logical but I even try to specify the 3 new added disks, that are already in the RAID5 as free capacity, due to I do not have any other available, and the result ofcourse is:
Physical Disk [0,7] unavailable for virtual disk creation in the command at line
1. The command at line 1 that caused the error is:
set virtualdisk ["Data2"] addCapacity=2999006011588 addPhysicalDisks=(0,7 0,8 0,9);
Script execution halted due to error.
SMcli failed.
Is that problem related to some 2TB limitation on the MD3000i?
(My firmware version is “06.70.15.60″)