UNSOLVED

EZZ2

updated

18 years ago

E

EZZ2

8 Posts

0

1109

November 13th, 2008 04:00

Reporting on protected/unprotected (raw) usage

Hi.
I´ve been asked to report allocated storage - protected and unprotected - to each server connected to our CX700´s. I´m running 4+1, 8+1, metas and non-metas. Unfortunately all mixed (messed) up.

Is there an easy way to make this type of report/list on StorageGroup level?
I have no agents on the connected servers, so the values should come directly from the cabinets.
The 700´s are running Flare 26. I´ve tried to make the report in ECC - no luck.
We have StorageScope, but I cant figure out how to get the requested data.
Does anybody know, or maybe have some kind of script, that can give me the values?

A bonus would be, if I was able to see ATA/FC allocation also.
  • kelleg

    6 Operator

    4537 Posts

    309

    0

    Posted November 13th, 2008 07:00

    Have you run the "Reports" from the taskbar in Navisphere - the one on the left side of the screen?

    glen
  • EZZ2

    8 Posts

    309

    0

    Posted November 14th, 2008 00:00

    I have looked under the "Reporting" tab, and I´m not able to find the information.

    The Raid Group Report list Luns in every RG - only total RG sizes - protected values when bound.
    The Storage Group Report list Luns in every SG - no sizes.

    Have I missed something obvious?
  • kelleg

    6 Operator

    4537 Posts

    309

    0

    Posted November 14th, 2008 07:00

    Could you expand on the definition of "protected" and unprotected"? My understanding is that R3, R5 and R1 are protected storage (parity and mirroring).

    Or are you talking about bound vs unbound?

    The LUN report will give you all the LUNs and their size and the Storage group report will show you which LUNs are in each Storage Group - could you combine these two?

    glen
  • EZZ2

    8 Posts

    309

    0

    Posted November 17th, 2008 02:00

    Hi Glen.

    I´ll try to explain what I mean with protected and unprotected (raw).

    Lets say i bind 200GB lun on a R5 4+1 raidgroup.
    The protected size is 200GB, but the raw size is 250GB.

    The same lun created on a 8+1 raidgroup would look like this.
    Protected 200GB - Raw 225 GB.

    I´m not able to find the the raw values in Navisphere, unless I do some manual calculations based on which RG the Lun is created in. Running with different servers in each RG, and Metas with members in both 4+1 and 8+1 RGs (i know - it´s a mess) this is a major task to do the manual reporting.

    I'm looking for a report or script, that can give me the protected and raw values on storage allocated to each StorageGroup. Because we only have 1 server in each SG, this will give me the correct values on how much storage we have presented to each server.

    I hope this make sense.
  • ovivier

    142 Posts

    309

    0

    Posted November 17th, 2008 05:00

    Hi,

    If you run "naviseccli getrg" you will see something like that :

    Raw Capacity (Blocks): 1055712240
    Logical Capacity (Blocks): 844569792
    Free Capacity (Blocks,non-contiguous): 842472640

    I think you will have to cross this informations with "naviseccli storagegroup -list".

    Hope this helps
  • jcoenen1

    5 Posts

    309

    1

    Posted November 17th, 2008 06:00

    Hello,
    I think you'll need some serious scripting to do this, in combination with for example following commands:

    to get the needed data for every lun:

    naviseccli [...] getlun -name -capacity -rg -type -crus -drivetype

    this will give you the netto capacity, raid type, and number of disks for each LUN, together with the disk type (fc/ata). With the number of disks in combination with the raid type, you can calculate the raw capacity for that lun..

    example: output:
    LOGICAL UNIT NUMBER 6
    Name LUN-6 backuppca2
    LUN Capacity(Megabytes): 307200
    LUN Capacity(Blocks): 629145600
    RAIDGroup ID: 4
    RAID Type: RAID5
    Bus 0 Enclosure 0 Disk 5 Enabled
    Bus 0 Enclosure 0 Disk 6 Enabled
    Bus 0 Enclosure 0 Disk 7 Enabled
    Bus 0 Enclosure 0 Disk 8 Enabled
    Bus 0 Enclosure 0 Disk 9 Enabled
    Bus 0 Enclosure 0 Disk 10 Enabled
    Bus 0 Enclosure 0 Disk 11 Enabled
    Bus 0 Enclosure 0 Disk 12 Enabled
    Bus 0 Enclosure 0 Disk 13 Enabled
    Drive Type: Fibre Channel

    To do the mapping of the lun to the host, you could use:
    naviseccli [...] storagegroup -list -host

    this will give you, a.o. the storage group name, name of the host(s), and the lun id:

    torage Group Name: brdocsrv
    [...]
    Host name: brdocsrv....
    [...]
    HLU/ALU Pairs:
    HLU Number ALU Number
    ---------- ----------
    0 59

    where "59" is the LUN number.

    I have no script that does exactly this kind of report generating, but I do some
    automatic report generating similar to this, allthough less complicated, with
    perl under linux for our CX3-80 clariions. So if you have any further questions.

    Regards.
  • EZZ2

    8 Posts

    309

    0

    Posted November 18th, 2008 00:00

    @ ovivier: Thanks, but I´ll need a little bit more :-)

    @jcoenen: I see what you mean. I'm not an expert in scripting or navicli, but maybe I can find someone in the company who can help me with the scripting.

    Any ideas on how to list the metas and it´s members/components - again it´s the sizes I´m interested in. The output from the getlun command is a bit tricky when it comes to metas.

    The MetaLun 83 I have listed below as an example, consists of 83 (4087) and 86 (4088). The 83-Name can be found twice. I think maybe the header should be excluded from the calculations, but still it´s the only way to map it to the SG.
    I know that I find the meta size in the meta-header, but my problem is that some metas consists of 4+1 and 8+1 members - that gives me a problem with the raw sizes.

    LOGICAL UNIT NUMBER 83
    Name LUN 83
    LUN Capacity(Megabytes): 10240
    LUN Capacity(Blocks): 20971520
    RAIDGroup ID: N/A
    RAID Type: N/A
    Bus 0 Enclosure 0 Disk 0 Enabled
    Bus 0 Enclosure 0 Disk 1 Enabled
    Bus 0 Enclosure 0 Disk 2 Enabled
    Bus 0 Enclosure 0 Disk 3 Enabled
    Bus 0 Enclosure 0 Disk 4 Enabled
    Drive Type: N/A
    ############################
    LOGICAL UNIT NUMBER 4087
    Name LUN 83
    LUN Capacity(Megabytes): 5120
    LUN Capacity(Blocks): 10485760
    RAIDGroup ID: 3
    RAID Type: RAID5
    Bus 0 Enclosure 0 Disk 0 Enabled
    Bus 0 Enclosure 0 Disk 1 Enabled
    Bus 0 Enclosure 0 Disk 2 Enabled
    Bus 0 Enclosure 0 Disk 3 Enabled
    Bus 0 Enclosure 0 Disk 4 Enabled
    Drive Type: Fibre Channel
    ##############################
    LOGICAL UNIT NUMBER 4088
    Name LUN 86
    LUN Capacity(Megabytes): 5120
    LUN Capacity(Blocks): 10485760
    RAIDGroup ID: 6
    RAID Type: RAID5
    Bus 2 Enclosure 2 Disk 14 Enabled
    Bus 2 Enclosure 2 Disk 13 Enabled
    Bus 2 Enclosure 2 Disk 12 Enabled
    Bus 2 Enclosure 2 Disk 11 Enabled
    Bus 2 Enclosure 2 Disk 10 Enabled
    Drive Type: Fibre Channel
  • jcoenen1

    5 Posts

    309

    0

    Posted November 18th, 2008 06:00

    Olsen,

    To know which member luns belongs to which metalun, issue the command

    naviseccli [...] metalun -list -components

    which gives the following output:

    MetaLUN Number: 55
    Components:
    Number of LUNs: 1
    LUNs:
    LUN Number: 6139
    LUN Name: LUN 55
    LUN WWN: 60:06:01:60:B8:5A:1B:00:C2:02:2C:BA:41:52:DD:11
    RAID Type: RAID5
    Number of LUNs: 1
    LUNs:
    LUN Number: 6140
    LUN Name: LUN 56
    LUN WWN: 60:06:01:60:B8:5A:1B:00:2A:C8:E5:24:40:52:DD:11
    RAID Type: RAID5

    So, in this example, LUN 55 is a metalun, which consists of LUNs 6139 and 6140.
    You can combine this with your output from the getlun command in my previous post.
    procedure would be:
    - skip LUN 55 in "getlun ..."-output because it's a metalun.
    - calculate data for member luns 6139 and 6140 instead.
    - add data of member luns together to get the total net and raw capacity for meta LUN 55

    You can also add the option '-ismetalun' in your getlun command, which gives you a "YES" for every metalun (but not for the members).

    Do you also have mirrored luns for which you want to include the sizes of the target luns ? (just to make it really complex and complete :-) )

    BTW, all the naviseccli commands are described very well in the EMC Navisphere CLI Reference Guide.

    Regards,
    Johan
  • EZZ2

    8 Posts

    309

    0

    Posted November 19th, 2008 05:00

    Hi Johan.

    Thank you for the last part.
    You know that I´ve hoped for a magic command or build in report, that could give me my usage values. But I have taken the output from the 3 commands you gave me:

    naviseccli metalun -list -components
    navicli getlun -name -capacity -rg -type -crus -drivetype -ismetalun
    navicli storagegroup -list -host

    ....and given it to our "script guru". He is looking at it right now, so hopefully he can do some tricks.
    I will let you know when he has finished the script, and - if possible - post the result in this thread.

    We only use R5 in our CX´s (R1 and R5 in our DMX´s, but that´s a different story)

    BTW, all the naviseccli commands are described very well in the EMC Navisphere CLI Reference Guide.

    Thanx for the tip ;-)

    Br. Olsen
  • jcoenen1

    5 Posts

    138

    0

    Posted November 19th, 2008 06:00

    ....and given it to our "script guru". He is looking
    at it right now, so hopefully he can do some tricks.


    It shouldn't be that difficult I think. Just for the 'fun' of it, I gave it a try yesterday. Except for the metalun handling, I have a working quick and dirty version. And seeing all those values now, this kind of information looks interesting to me also. But we here have also some other 'features' to be dealt with:
    e.g.:
    - luns that are shared among multiple hosts
    - luns that are mirrored. I don't mean R1 luns, but luns mirrored with MirrorView to a second clariion. It might be interesting to include this kind of redundancy also.

    Johan