Start a Conversation

Unsolved

This post is more than 5 years old

3117

June 11th, 2015 15:00

Different Sym dev id from symcfg list address and symmaskdb list database

The sym device number which is returned is different for the below commands. As you see below, the symcfg gives back an Sym device which is 5 chars (00084) whereas one which is listed in symmaskdb is 4 chars(00C4).

Please advise why are the device number format different.

symcfg -sid 123 list -dir all -address

The 8.0 version shows output as

Symmetrix ID: 000290300123 (Local)

      Director             Device Name          Attr     Address

    ------------ ------------------------------ ---- --------------

    Ident   Port Sym Physical VBUS  TID  LUN

    ------  ---- ----- ----------------------- ----  ---  ---

    FA-1C      0 00084 Not Visible             (M)     0 00  001

                 00088  Not Visible             (M)     0 00  002

======start of C:\Program Files\EMC\SYMCLI\bin\symmaskdb -sid 000290300123 list database ===========

Command:symmaskdb -sid 000290300123 list database

Command Location:C:\Program Files\EMC\SYMCLI\bin\

Symmetrix ID : 000290300123

Database Type : Type6

Last updated at : 11:10:20 AM on Tue Mar 24,2015

Director Identification : FA-1C

Director Port : 0

User-generated   

Identifier Type   Node Name        Port Name         Devices

---------------- ----- --------------------------------- ---------

10000000c961bb52 Fibre  lons00107219     10000000c961bb52  00C0

00C4

00C8

00CC

00D0

00D4

00D8

00DC

00E0

                                                            00E4

00E8

00EC

419 Posts

June 12th, 2015 05:00

There should be a note in the 8.0 release notes on this.

419 Posts

June 12th, 2015 05:00

This was changed on the symdev command set for SE 8.x for accommodation of the lager address namespace for VMAX3 if you need the old behaviour you can change the setting in the options file  Line 897: #SYMAPI_SYMDEVNAME_WIDTH = 5  remove the # and change to 4

46 Posts

June 12th, 2015 09:00

Thank you. However shouldnt it be consistent size for all the command outputs? Why does the symmaskdb still gives 4 char sym dev id, when rest are giving 5 chars. Is there any configuration for this?

46 Posts

June 15th, 2015 16:00

Thank you. However shouldnt it be consistent size for all the command outputs? Why does the symmaskdb still gives 4 char sym dev id, when rest are giving 5 chars. Is there any configuration for this?

419 Posts

June 16th, 2015 08:00

Ran,

it looks like you have discovered a bug, symmaskdb is no longer used with VMAX, I'd be interested if you see the output truncating to 4 digits on symaccess list view -detail -sid xxx on VMAX array, I only have VMAX3 so my output Is returned with 5 digits.

My guess here is that that information is read directly from the VCM database which will only ever store up to 4 Characters for the LUN ID and the output does not append extra Zero.  The parameter I mention will put all to 4 characters to match. 

46 Posts

June 16th, 2015 12:00

symaccess does return a 5 char output ( I have put a sample below). Only the symmaskdb does not.

So how do we resolve this. We have a logic which maps the sym dev from the symmaskdb command to output of symcfg. Because of the mismatch in device names, correct mappings are not found. Do we just prefix a '0' before the sym dev returned from symmaskdb if is < 5 chars? Also based on the setting SYMAPI_SYMDEVNAME_WIDTH, if that has been set to 4, then appending a 0 to the symmaskdb output in our logic will again give us improper matches as in this scenario the other commands would return 4 chars sym dev.

Also How often is SYMAPI_SYMDEVNAME_WIDTH changed?

e.g

symaccess -sid 123 list view -v -detail gives out (just part of output extracted)

Sym                                    Host
Dev Dir:Port  Physical Device Name Lun   Attr  Cap(MB)

------  --------  -----------------------  ----  ----  -------

002A9   08F:000   Not Visible             1      19918

226 Posts

June 17th, 2015 10:00

Ran,

Personally, I'd write a function (or use a builtin method) to pad the SymDev number with zeros if it's less than the desired width. I tend to use Python, which has a builtin zfill() method for padding strings with zeros. So if you have a string called "device" containing an arbitrary-length SymDev name, and you want it to always be 5 characters wide, you can pad it with zeros like this:

device = device.zfill(5)

There are ways to do this in pretty much any language, but some may require more manual coding than others.

Thanks,

- Sean

No Events found!

Top