Symmetrix – Extending Striped Meta Devices

Weekend gone… there comes Monday 😦

I am at the office, obviously with Monday blues…. I logged on to my War-station (a.k.a Workstation) and saw an email to extend the striped meta devices.

To be frank with you all, I have not done this before on Symmetrix :(So fail-back to the Symmetrix array controls guide… Hurray!!! I got the command to extend the striped meta. But wait, I need to ensure few things before I can go and extend.

Prelude:

1. Check with platform team to ensure that there is a recent and valid backup of the meta devices
2. Schedule the change on the OOH (Out of Office Hours / Off Business Hours)
3. Check that the Symm devices available are of the same disk group, size, RAID etc as the source meta device which we are gonna extend… else check for uncarved space available from the same disk group
4. We need to create regular BCV (BCV+R-5 is not supported) meta device with the size same as the source meta device. (lets say source striped meta device is of size 50 GB then BCV should also be 50 GB)
5. Finally pray to God that all should go well… 😉

once the above must haves are ready. then type the below command in a text file called extend.cmd

add dev 0123:0126 to meta 0122 , protect_data=TRUE , bcv_meta_head=0222;

Symconfigure -sid zxxx -f  z:\babu\extend.cmd preview -V -nop

Symconfigure -sid zxxx -f  z:\babu\extend.cmd prepare -V -nop

Symconfigure -sid zxxx -f  z:\babu\extend.cmd commit -nop

Command Description:

add dev 0123:0126 to meta 0122

we are adding device 0123,0124,0125 and 0126 to the source meta device 0122

protect_data=True

we are specifying protect_data as True so that the data on the source device remains same. If we give as false then data is gone…

bcv_meta_head=0222

BCV 0222 will be established with the striped meta device 0122 and it will sync with BCV device 0222. Once the sync is complete then the striped device 0122 will be extended by adding the meta members 0123 through 0126.

Blok Diagram

Postlude:

1. It takes lot of time, in my case, to extend 400 GB lun, it took whopping 8 hours, even though Enginuity and patches are latest for the array.

2. It will take fraction of seconds in HDS / Hitachi arrays to extend the LUNs. Just add the sub-logical unit to the main lun. No need of BCV and other stuffs. But Hitachi will be compromised when it comes to LUN formatting…

3. Run the “Symdev -sid zxxx show 0122” to see the new size. Finally, host team will increase the LUN size by running the diskpart (windows) or format (solaris) commands.

19 thoughts on “Symmetrix – Extending Striped Meta Devices

  1. Farhan

    I did expanded the volume from storage side it was perfect. When I used format command on solaris (auto configure) it also increased the filegeomatry. But growfs was not working. It infact changed the disk geomatry and made the disk inaccable. It was a Oracle mount point. Luckily brought back the file system through format.dat

    Can you please explain the host steps required anyother than what i did? thanks

  2. Shankar R

    Hi Vinay,

    Documented in a Good way 🙂
    Here I have question for you. Hope you are not getting irritated.
    I would like to extend a striped thin meta device. Say I have 2 member meta device with a member size 50GB. Inorder to extend my thin Meta, should I unbind the meta device first? If I do so I will lose the data 😦
    Awaiting your reply,
    BTW what’s your twitter ID?

    1. Sorry for the delayed response…

      You need to create a bigger LUN migrate data and then reclaim the old LUN. This would be the simple task compared to other options.

  3. Fred CHAUNIER

    Hi. Thanks for the tip, it helped: I inflated a big disk.
    But how does that end? The BCV doesn’t seem to be liberated: it’s still associated to the first expansion I made, in ‘split’ status, but still there.
    Meaning I can’t do a subsequent inflate of an other disk, the BCV is not available. I shall wait more? Any clue? Thanks!

    1. as per my understanding of your query, we need to cancel the relation between STD and BCV device. This can be done using symmir command with cancel option.
      eg. STD device is 123B and BCV device is 456C. Please confirm that they are in “split” state. Add these devices to a tab separated file like below.

      cancel_bcv.txt
      123B 456C
      (STD) (BCV)

      now run the below command to cancel the relationship between them.

      symmir -sid xxx -f cancel_bcv.txt cancel

      You will be asked to confirm this operation and type “Y”.

  4. Fred CHAUNIER

    Great, thanks for the info!
    (yes it was in ‘split’ state, but by the way, 6 hours after, it freed the BCV automatically ; the bay was probably still working on the striping, although I did not have any progress info)

  5. eugene

    Hello! Could you please explain me? I want to expand 560 gb meta LUN, as I understood I have to use BCV metadevice for this, but I have only 55 BCV devices 8 gb each. 55*8= 440.
    As you can see 440 gb doesn’t enough for expanding operation.What can I do in this case?

    1. Hi,
      To answer above we have few options which depends on your environment
      1. Create BCV devices from free space
      2. If no free space available and you have devices not mapped to hosts; convert htem as BCV
      3. Ensure have full backup on the meta device before extend.

      1. Eugene

        1. I tried to create new BCV device but I didn’t know which options I have to use:
        create dev count=xxx, size=xxx, emulation=FBA, config=BCV;
        The piece of information of B8D (this meta I want to expand):
        —————————————————–
        Device Capacity
        {
        Cylinders : 598455
        Tracks : 8976825
        512-byte Blocks : 1149033600
        MegaBytes : 561052
        KiloBytes : 574516800
        ————————————————
        Device Configuration : RAID-5 (Meta Head,
        Non-Exclusive Access)
        ————————————————–
        Dynamic RDF Capability : RDF1_OR_RDF2_Capable
        ————————————————–
        Meta Configuration : Striped
        Meta Stripe Size : 960k (1 Cylinders)
        Meta Device Members (65) :
        —————————————————-
        SO I tried this command:
        create dev count=65, size=598455, emulation=FBA, config=BCV;
        65 As I thought this is a count of member;
        598455 As I tought this is count of Cylinders;
        But,
        >symconfigure -sid XXX -cmd “create dev count=65, size=598455, emulation=FBA, config=BCV;” preview -nop I got this:
        “Error occurred while Defining change number 1:
        Cannot perform the requested operation because the symmetrix wide meta auto meta is disabled”
        Did aI make a mistake? Could you please explain me how can I create BCV dev properly?
        Are all members of BCV meta dev have to are BCV devices?
        2. ((((( I tried conver to BCV from STD divece but I got this:
        >symconfigure -sid XXX -cmd “convert dev 14a5 to BCV;” preview -nop
        ” The existing device configuration cannot be converted to the new configuration
        Device 14A5 generated the failure”
        I tried to did this : convert dev to unprotected -> BCV, but I cant ((((
        When did I do something wrong?
        3. Yes of course!!!
        I tried everything BUT I did nothing (((( So I will be happy if you can help me to expand my b8d meta device.
        Thanks a lot!!!

  6. Eugene

    Hello again! When I tried to run this:
    >symconfigure -sid xxx -cmd “create dev count=65, size=9207 cyl, emulation=FBA, config=2-way-bcv-mir;” preview -nop I got this:
    ” Definition 1 is in error:
    Could not find disks that satisfy our mirror/RAID policy”

  7. So I try to expain your wrong steps:

    Prelude:
    1. Check with platform team to ensure that there is a recent and valid backup of the meta devices
    >>>>>>>>>>>Yes, it is a best way! You didn’t make a mistake
    2. Schedule the change on the OOH (Out of Office Hours / Off Business Hours)
    >>>>>>>>>>> No, you are wrong, because if you use BCV device you won’t need to create schedule on OOH, when your metaLUN will increase BCV device (in your case: “ADD DEV 0123:0126 TO META 0122 , PROTECT_DATA=TRUE , BCV_META_HEAD=0222;”). it is 0222 will perform all IO operation with data which have located on meta 0122
    3. Check that the Symm devices available are of the same disk group, size, RAID etc as the source meta device which we are gonna extend… else check for uncarved space available from the same disk group
    >>>>>>>>>>>Yes, it is a best way! You are right
    4. We need to create regular BCV (BCV+R-5 is not supported) meta device with the size same as the source meta device. (lets say source striped meta device is of size 50 GB then BCV should also be 50 GB)
    >>>>>>>>>>> In the first you should say about you Symmetrix, as I understand you use DMX series, but in VMAX BCV-R-5 device is support this oparetion.
    In the second you may expand your metaLUN without BCV, if you need to expand SAN disk for Linux, if this disk a part of volume group (LVM) .After that you linux team should perform this:
    umount /dev/mapper/$VG_name_devexpand$
    resize2fs /dev/mapper/$VG_name_devexpand$
    mount /dev/mapper/$VG_name_devexpand$ /$mount_point$
    or use system-config-lvm
    5. Finally pray to God that all should go well…
    >>>>>>>>>>>As you wish

  8. David

    Do we need the the device to be sequence I mead you are adding 0123 0124 0125 are in sequence what if these device are not in sequence

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s