Subscribe

OnTap Powershell Cluster-Wide efficiency report

System Manager GUI (ontap 9.1) reports cluster-wide efficiency on its dashboard and I need to report this value to a 3rd party monitoring tool, but am having trouble finding how to calculate this value using DataONTAP Powershell plugin or OnTap CLI.  Commands I've tried so far all calculate at the volume level but then I'm confused which values I should sum.

Re: OnTap Powershell Cluster-Wide efficiency report

 

Ben -

 

Maybe if you shared which cmdlets you're using and the outputs we'd be able to help you easier ?

 


I hope this response has been helpful to you.

At your service,

Eugene E. Kashpureff, Sr.
Independent NetApp Consultant http://www.linkedin.com/in/eugenekashpureff
Senior NetApp Instructor, Fast Lane US http://www.fastlaneus.com/
(P.S. I appreciate 'kudos' on any helpful posts.)

Re: OnTap Powershell Cluster-Wide efficiency report

[ Edited ]

Thanks Eugene.  I'm using "get-NcEfficiency" from powershell and "volume efficiency show" from OnTap CLI.  I've looked at aggr level or node level commands but none seem to include efficiency information.  If I have to sum up logical and physical values at the volume level and calculate a ratio from there that is fine, but I'm not sure which values to use:

 

 

=========== 1ST OUTPUT ===================

PS C:\Scripts\CDOT-Audit-for-portal> Get-NcEfficiency | Format-Table -AutoSize

 

Vserver: san6001c_iscsi_1

Name                            Capacity Used   SnapshotUsed Returns EffectiveUsed EfficiencyPercent
----                            -------- ----   ------------ ------- ------------- -----------------
san6001c_ems_resource_exchange_1 18.0 TB 16.1 TB   1.0 GB    16.1 TB 32.1 TB         178.5%
san6001c_iscsi_1_root            972.8 MB 808.0 KB 6.9 MB    99.2 KB 907.2 KB        0.1%


=========== 2ND OUTPUT ===================


PS C:\Scripts\CDOT-Audit-for-portal> Get-NcEfficiency | select *

SnapshotCount : 2
SnapshotReserve : 0
SnapshotUsed : 1124171776
SnapshotOverflow : 1124171776
Reserve : 0
ReserveUsed : 0
SpaceReserve : volume
QuotaCommitted : 0
QuotaUsed : 0
QuotaOverCommit : 0
TotalLunSize : 17592186044416
LunOverprovisionPercent : 88.88888888888888888888888889
EffectiveUsed : 35324028637184
EfficiencyPercent : 178.48342717107799318101671007
Qtrees : {[, DataONTAP.C.Types.Efficiency.QtreeEfficiency]}
NcController : san6001c-cluster
Vserver : san6001c_iscsi_1
Name : san6001c_ems_resource_exchange_1
Capacity : 19791209299968
Used : 17662790635520
Free : 2128418664448
Returns : 17661238001664


=========== 3RD OUTPUT ===================

 

san6001c-cluster::> vol eff show -instance


Vserver Name: san6001c_iscsi_1
Volume Name: san6001c_ems_resource_exchange_1
Volume Path: /vol/san6001c_ems_resource_exchange_1
State: Enabled
Status: Idle
Progress: Idle for 00:25:55
Type: Regular
Schedule: -
Efficiency Policy Name: AlwaysOnSecondary
Blocks Skipped Sharing: 0
Last Operation State: Success
Last Success Operation Begin: Tue Mar 21 16:05:00 2017
Last Success Operation End: Tue Mar 21 16:05:00 2017
Last Operation Begin: Tue Mar 21 16:05:00 2017
Last Operation End: Tue Mar 21 16:05:00 2017
Last Operation Size: 26.83MB
Last Operation Error: -
Changelog Usage: 0%
Logical Data Size: 478.6MB
Logical Data Limit: 640TB
Logical Data Percent: 0%
Queued Job: -
Stale Fingerprint Percentage: 0
Compression: true
Inline Compression: true
Constituent Volume: false
Inline Dedupe: true
Data Compaction: false

 

 

=========== 4TH OUTPUT ===================


PS C:\Scripts\CDOT-Audit-for-portal> Get-NcEfficiency | Select Vserver,Name,
@{ N="Space Saved by Storage Efficiency"; E={ ConvertTo-FormattedNumber $_.Returns.Total -Type DataSize -NumberFormatString "0.0" }},
@{ N="Percentage Saved by Storage Efficiency"; E={ [Math]::Round($_.EfficiencyPercent) }},
@{ N="Space Saved by Deduplication"; E={ ConvertTo-FormattedNumber $_.Returns.Dedupe -Type DataSize -NumberFormatString "0.0" }},
@{ N="Percentage Saved by Deduplication"; E={ [Math]::Round(($_.Returns.Dedupe / $_.EffectiveUsed) * 100) }},
@{ N="Space Saved by Compression"; E={ ConvertTo-FormattedNumber $_.Returns.Compression -Type DataSize -NumberFormatString "0.0" }},
@{ N="Percentage Space Saved by Compression"; E={ [Math]::Round(($_.Returns.Compression / $_.EffectiveUsed) * 100) }}


Vserver : san6001c_iscsi_1
Name : san6001c_ems_resource_exchange_1
Space Saved by Storage Efficiency : 16.1 TB
Percentage Saved by Storage Efficiency : 178
Space Saved by Deduplication : 45.1 MB
Percentage Saved by Deduplication : 0
Space Saved by Compression : 82.3 MB
Percentage Space Saved by Compression : 0

 

Re: OnTap Powershell Cluster-Wide efficiency report

[ Edited ]

-- edited ---

 

sorry. my original reply was about a diffrent product

Re: OnTap Powershell Cluster-Wide efficiency report

For my purposes I'll just average all volume efficieny percentages and morph the output into a similar ratio.  The value doesn't quite match what System Mgr reports because it my calc doesn't take into account thin snapshot / clone space savings but it tells specifically space savings by Dedupe & Compress (I think).  This powershell code seems to work:

 

$volEff = Get-NcEfficiency | Select EfficiencyPercent
$volEffAvg = $volEff.efficiencypercent | Measure-Object -Average
$volEffRatio = [math]::Round((1/($volEffAvg.Average/100)),2)
$volEffOutput = $volEffRatio.ToString() + ":1"

 

Thanks all,