HPE Storage Users Group

A Storage Administrator Community




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: Powershell Script to parse showpdvv data
PostPosted: Thu Nov 14, 2013 1:19 pm 

Joined: Wed Mar 21, 2012 4:21 pm
Posts: 9
Gentlemen,

I've been using this script quite a bit lately to balance some of our InServ's running 2.3.1 and 3.1.1. We purchased a few disk cages and due to the bug with tunesys in these InFormOS versions, I had to do it manually.

The script basically scans all PDID's in the input file and produces a report listing VV's and its User Chunklet usage. I use this script with 600+ PDID's to identify which VV's would reduce the most load and proceed to tune them to an interim CPG:

$pdIDs = Import-Csv C:\script\3par_tune\pdids.txt
$outfile = 'C:\script\3par_tune\vvperpd.txt'
$3par = 'IP'
$report = @()

foreach ($pdID in $pdIDs){
$id = $pdID.Id.ToString()
$vvs = C:\script\plink $3par -l username -pw password showpdvv -sum $pdID.Id | Select-String $id

foreach ($vv in $vvs){
$usrChunks = $vv.ToString().Split(" ",[StringSplitOptions]"RemoveEmptyEntries")[8]

if ([int]$usrChunks -gt 25){
$row = "" | Select PDId,Type,VVName,UsrChunks
$row.PDId = $id
$row.Type = $vv.ToString().Split(" ",[StringSplitOptions]"RemoveEmptyEntries")[2]
$row.VVName = $vv.ToString().Split(" ",[StringSplitOptions]"RemoveEmptyEntries")[5]

$row.UsrChunks = [int]$usrChunks
$report += $row
}
}
}

$report | Out-File $outfile

The script produces a report in this fashion:

PDId Type VVName UsrChunks
1584 FC VV1 43
1584 FC VV2 30
1584 FC VV3 36
1584 FC VV4 27

You can filter VV's with a number of User Chunklets using the -gt expression inside the if statement.


Top
 Profile  
Reply with quote  
 Post subject: Re: Powershell Script to parse showpdvv data
PostPosted: Fri Nov 15, 2013 1:03 pm 
Site Admin
User avatar

Joined: Tue Aug 18, 2009 10:35 pm
Posts: 1328
Location: Dallas, Texas
So to use this script, do you look for VVs in the output that are not equally balanced across all PDs? How much difference do you like to see before you target a VV or tuning? Tell us more about the tunesys bug? I have yet to run a tunesys.

Here is the showvvpd command output i've used, I would consider this VV to be perfectly balanced, as the SS7200 only has 16 PDs, today. Will be interesting to see how it looks after we add a few more.

Code:
SS7200-1 cli% showvvpd HOST1_LUN_0
Id Cage_Pos SA SD   usr total
 0    1:0:0  3  1  1040  1044
 1    1:1:0  2  1  1036  1039
 2    1:2:0  2  1  1040  1043
 3    1:4:0  3  1  1036  1040
 4    1:5:0  2  1  1040  1043
 5    1:6:0  2  1  1036  1039
 6    1:8:0  2  1  1040  1043
 7    1:9:0  2  1  1036  1039
 8   1:10:0  2  1  1040  1043
 9   1:12:0  2  1  1036  1039
10   1:13:0  2  1  1040  1043
11   1:14:0  2  1  1036  1039
12   1:16:0  3  1  1040  1044
13   1:17:0  3  1  1036  1040
14   1:20:0  2  1  1036  1039
15   1:21:0  2  1  1040  1043
-----------------------------
16    total 36 16 16608 16660

_________________
Richard Siemers
The views and opinions expressed are my own and do not necessarily reflect those of my employer.


Top
 Profile  
Reply with quote  
 Post subject: Re: Powershell Script to parse showpdvv data
PostPosted: Sun Nov 17, 2013 8:35 pm 

Joined: Wed Mar 21, 2012 4:21 pm
Posts: 9
Hi Richard,

You can find the Customer Advisory regarding the tunesys bug here:

http://h20566.www2.hp.com/portal/site/hpsc/template.PAGE/public/kb/docDisplay/?sp4ts.oid=5157544&spf_p.tpst=kbDocDisplay&spf_p.prp_kbDocDisplay=wsrp-navigationalState%3DdocId%253Demr_na-c03660626-1%257CdocLocale%253D%257CcalledBy%253D&javax.portlet.begCacheTok=com.vignette.cachetoken&javax.portlet.endCacheTok=com.vignette.cachetoken

As to how I use the script, please tale a look at the attached image. I build a pivot table with the script output and then look at tuning the VV's that have the most user chunklets first. The image is truncated because our InServ in question has +1500 disks and +3500 Virtual Volumes. You can imagine the amount of work needed to balance this system. We recently added 384 disks and now I'm looking to optimize the tuning process.

Best,

Jon


Attachments:
vvpd_dist.jpg
vvpd_dist.jpg [ 147.52 KiB | Viewed 52647 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Powershell Script to parse showpdvv data
PostPosted: Wed Nov 20, 2013 5:29 pm 

Joined: Thu Dec 06, 2012 1:25 pm
Posts: 138
if you have added more drives equally behind each node pair, why not simply run a for loop doing a tuneld over each of the SD (NOT the SA!!!) LD's (maybe per cpg, to keep some ordering in it)

the tuneld command will copy all the data of the existing ld to other ld's, until full and then create new ld's. the new ld's will be striped across all drives behind the node that was the owner of the original LD (old and new), and after all ld's are tuned, all data should be re-striped over all drives.

Don't run it together with tunevv's, compactcpg's or AO jobs though, that could give nasty errors.

_________________
The goal is to achieve the best results by following the clients wishes. If they want to have a house build upside down standing on its chimney, it's up to you to figure out how do it, while still making it usable.


Top
 Profile  
Reply with quote  
 Post subject: Re: Powershell Script to parse showpdvv data
PostPosted: Wed Nov 20, 2013 5:40 pm 

Joined: Thu Dec 06, 2012 1:25 pm
Posts: 138
by the way, just had a look at the advisory and it is only valid for 3.1.1 GA release. Mu1 already fixed that issue. So seems to be an oldy that for 99.99% procent of the 3PAR users is already solved.

_________________
The goal is to achieve the best results by following the clients wishes. If they want to have a house build upside down standing on its chimney, it's up to you to figure out how do it, while still making it usable.


Top
 Profile  
Reply with quote  
 Post subject: Re: Powershell Script to parse showpdvv data
PostPosted: Thu Nov 06, 2014 11:00 am 

Joined: Wed Nov 05, 2014 1:39 pm
Posts: 2
Hi,

I was trying to find if there is any powershell plugin for 3par. When i checked with HP they said they dont have one.

But in this thread there are some powershell scripts. How do you use powershell to connect to the array?

Thanks
Hari


Top
 Profile  
Reply with quote  
 Post subject: Re: Powershell Script to parse showpdvv data
PostPosted: Sun Nov 30, 2014 1:29 am 

Joined: Fri Jun 27, 2014 2:01 am
Posts: 390
I recently scripted quite the same in TCL:
list of VVs not spreaded in the same number of chunklets over PDs.
Over PDs they got chunklets in and over PDs they should get chunklets in regarding CPGs and their patterns.

This sort out a list of VVs, standard deviation of chunklets used on each device type, min and max chunklets used.


Image


The name is "Tune Virtual Volume". That second part is still in dev...


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 


Who is online

Users browsing this forum: No registered users and 21 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group | DVGFX2 by: Matt