I originally took the summer off in what was my regular VMAX humpday posts…and then a little more time from blogging due to general life getting in the way…well no excuses, I should probably remedy that right now.
Recently I have been involved in several large scale implementations of VMAX’s for customers and a common theme that comes up to those that are new to VMAX is operational tasks that happen after I leave the site and customers actually have to manage an array. One of those most common questions I get is: “Well, I’m glad you set this all up with the exact sizing that I need, but what happens if I want to expand a lun?” or “In VNX, I just have to right click on a LUN and expand the size, is there an option to do this in VMAX?” Well the short answer is that you can expand a LUN online, however the process to do so is not as easy as it is in VNX. Below I will explain how to do this, break down why we do this in this way and hopefully make it a little less complicated. I will demonstrate how to do this in Unisphere.
Before starting anything, I like to break down the components to give a little background and terminology. Here are some terms that I will mention in this post:
Meta Member – A virtual volume that is no larger than 240GB and used / striped or concatenated together to form a Striped Meta.
Striped Meta – Meta volumes are used in VMAX to make volumes larger than 240GB’s and/or address performance considerations. Normally striped metas are formed in 4,8 or 16 members to meet size or performance needs. My general rule of thumb (yours may vary!) is to form Meta Luns starting around 100-150GB at 4 members, and as I reach 1TB, I start expanding them out to 8 members and beyond. I can go into the reasoning in more detail, but it will go well beyond this blog post.
BCV-TDEV – BCVs can be detached from the active data storage at a point in time and mounted on non-critical servers to facilitate offline backup or parallel processing. Once offline processes are completed, these BCVs can be either:
- re-attached (re-synchronized) to the production data again
- used as a source to recover the production data
Why is this important to expanding a LUN? Well a BCV is used to make a mirror of the production data while the LUN is expanded and re-striped and then mirrored back to the newly formed LUN. This is why VMAX is cool…it protects and re-stripes. It is also why the process takes a while to accomplish.
Alright, now that we have some terminology out of the way, let’s get to it!!
Here is the procedure:
In my example, I have a 1TB volume that was presented to ESXi as a datastore that ran out of storage and needed to be expanded. It contained 8x128GB members and the customer wanted to expand it by another 256GB. I advised that if they are going to expand, that it would be best to keep things in ‘even’ numbers so we expanded the LUN to 10 x 128GB or 1.3 TB’s.
Step One – Create New Meta Members
First we had to create the new devices that we are going to use to expand the existing striped meta.
Each member must be the exact size as each of the other meta members. In this case we further drilled down and picked cylinders instead of GB’s to make sure the size was exactly the same.
Don’t bind the devices to any pool. When the VMAX adds these, they will be bound to the current pool that the Meta-Volume is assigned to.
Make note of the device ID’s that you just created.
Step Two – Creating BCV Volume
We need to create a BCV+TDEV of the SAME configuration as the existing Striped meta.
Make note of the BCV+TDEV you created’s device ID.
Once you create the volume you need to bind it to the pool (in our case we used the R5 FC Pool)
When you bind it, the device must be 100% allocated. Select the “persist preallocated capacity through reclaim or copy” option.
Watch the device allocate itself, and wait until it reaches 100% before doing the next step. This can take a few minutes on a large volume.
Step Three – Extend the volume!
Select the Original meta volume in the meta-volume section of volumes in Unisphere, right click and select ‘add member’.
MAKE SURE THE PROTECT DATA OPTION IS CHECKED – Double and triple check this…for obvious reasoning.
Select the BCV-TDEV you created in step two.
Select ‘add to job list’ (this is so you can either schedule or review the configuration before committing the job). We scheduled this particular job to run after peak hours, just to make sure that we don’t impact anything.
Another thing to watch out for, is that if you are using recoverpoint for VMAX, you will need to stop replication to the secondary site and untag this volume in recoverpoint. I won’t get into it here, but if you get an error when the device starts to expand about recoverpoint, this is why.
You may be asked ‘how long is this going to take?’, well this depends on several factors but in our case we were able to do this expansion on a 1TB volume on a VMAX20K in about 3 hours. Plan on things taking a while to run.
Note, Unisphere for VMAX give NO PROGRESS on how long or what steps it is on to completion. This is very disheartening, but here is what you can do in symcli to ‘monitor’ copy progress.
symdev -sid YOUR_SID show YOUR_Original Meta_Device_ID
Will show a lot of information. Towards the end, you will see BCV copy status and how far along it is. When it reaches 100%, for the first time, keep in mind that it’s got to copy the data back to the volume afterwards. You will be able to too if it is copying to the volume if you see original meta members (in our case 8) and you will be able to see if it is copying back when you see the expanded meta members (in our case 10).
Another handy tool is to look at the end of the \program files\emc\symapi\log\symapi Logs. Choose the most recent and you can view in Notepad on a windows host. You will see a ton of information, but you will be looking for stuff like “Steps 70 of 100”, “Steps 78 of 100”. You will begin to see when things are competed.
Finally, if all the above is followed, when the job finishes in Unisphere, you will see “SUCCESSFUL” in the jobs list.
Step Four Expand – You can now expand the volume in ESXi, Windows, etc.
Step Five Cleanup Tasks – Unbind the BCV-TDEV if you’re done with it. This could take a while, because it reclaims all space from all meta members. Afterwards you should be able to dissolve the meta volume and destroy the meta members.
Well, there you have it! Hope you enjoyed. I hope to have more for you in the coming weeks and not months!