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.
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.
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?
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.
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.
@ 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
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.
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:
....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.
....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.
kelleg
6 Operator
•
4537 Posts
309
0
Posted November 13th, 2008 07:00
glen