VMAXHumpday, 12/10/2014 – How to Expand a Striped Meta in Unisphere Online!


Hump Day!!! Whaaaaaat?

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:

  • discarded
  • 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.


Here we are creating two Virtual Volumes as meta members. Using Cyl size to ensure correct sizing.

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.


Here we are created a standard meta volume, creating individual members using the same configuration as the original meta-volume we want to expand. This BCV volume will be used to mirror the original data online as it is expanding the original meta volume.


Here is more detail noting the sizing we’re using here. We are creating a 8-way 1TB meta volume with 128GB (129811 Cyl) meta member sizing. Make sure you choose the Volume Creation “BCV+TDEV” here.


The summary screen. Verify settings and run now to create. Make note of the volume ID for next steps when the creation is complete.

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.


Here is an example if binding the device to the pool. Make sure the preallocated Capacity and Persiste preallocated through reclaim or copy options are checked.

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.


Here is the add member screen. Make sure you select “Protect Data”! Add the meta members you created in step 1.

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.


In the Jobs screen is where you can verify the Job before you either select run (highlighted) or schedule. In our case we chose to schedule the job at 6PM after peak operating hours.

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!




This entry was posted in EMC, varrow, VMAX, VMAX Hump Day. Bookmark the permalink.

2 Responses to VMAXHumpday, 12/10/2014 – How to Expand a Striped Meta in Unisphere Online!

  1. Kiran says:

    Thank you for the detailed explanation, i believe the above procedure is to expand the TDEV meta, can we expand striped meta with standard device for example i have a 500GB std meta assigned to a host and i would like to expand it to 1tb, will the above process work.


    • sangeek says:

      Sorry for just getting back to this. I was on vacation the past 45 days or so. 🙂

      For a standard dev….I’m guessing it could work? Basic process should be about the same. I would highly advise setting up a test device first though!


Leave a Reply

Your email address will not be published. Required fields are marked *