Subscribe
Frequent Contributor

Get-NaEfficiency missing savings for SM destination

Hello,

  

I've written a script to collect data from several Filers and put them in an Excel sheet. For each Filer, I get the list of the aggregates, then run "get-naefficiency" on each aggregate. Using "-recurse" option, I also collect data from aggregate's volumes.

What I've found out is that for some reasons, I don't get any storage efficiency savings (dedupe/compression) for SnapMirror volumes:

$myfiler = SM destination

$myfiler2 = SM source

  

$aggr_eff = Get-NaEfficiency -Aggregate aggr_sn12_01 -Recurse -Controller $myfiler

$volumes = $aggr_eff | %{$_.Children.Values} | Where {$_.Name -Match "ci1epso01_01"}

$volumes.Returns =>

Dedupe      : 0

Compression : 0

Snapshot    : 353596505292

Cloning     : 0

Total       : 353596505292

Get-NaVol $volumes.Name -Controller $myfiler | fl * | Out-String

RaidStatus                                 : raid_dp,snapmirrored,read-only,sis

$aggr_eff2 = Get-NaEfficiency -Aggregate aggr_adf12_01 -Recurse -Controller $myfiler2

$volumes2 = $aggr_eff2 | %{$_.Children.Values} | Where {$_.Name -Match "ci1epso01_01"}

$volumes2.Returns =>

Dedupe      : 68420845568

Compression : 0

Snapshot    : 353548572672

Cloning     : 0

Total       : 421969418240

Get-NaVol $volumes2.Name -Controller $myfiler2 | fl * | Out-String

RaidStatus                                 : raid_dp,sis

Any idea where problem could come from?

Thanking you in advance,

Kind regards,

Michel

Re: Get-NaEfficiency missing savings for SM destination

I too have seen shortcomings of get-naefficiency as well as get-ncefficiency.

I get these two errors intermittently with the 7 mode commandlet.  The volumes are not offline though they are snapmirror destinations.

writeErrorStream : True

PSMessageDetails :

OriginInfo : server1

Exception : System.Management.Automation.RemoteException: The specified volume stlsqlcls02p_ccms2p_sysdb is offline.

TargetObject : filer1

CategoryInfo : InvalidOperation: (filer1:NaController) [Get-NaEfficiency], EVOLUMEOFFLINE

FullyQualifiedErrorId : ApiException,DataONTAP.PowerShell.SDK.Cmdlets.Toolkit.Efficiency.GetNaEfficiency

ErrorDetails :

InvocationInfo :

ScriptStackTrace :

PipelineIterationInfo : {}

 

writeErrorStream : True

PSMessageDetails :

OriginInfo : server1

Exception : System.Management.Automation.RemoteException: The specified volume stlsqlcls02p_ccms2p_userlog is in the

process of mounting.

TargetObject : filer1

CategoryInfo : InvalidOperation: (filer1:NaController) [Get-NaEfficiency], EVOLUMEMOUNTING

FullyQualifiedErrorId : ApiException,DataONTAP.PowerShell.SDK.Cmdlets.Toolkit.Efficiency.GetNaEfficiency

ErrorDetails :

InvocationInfo :

ScriptStackTrace :

PipelineIterationInfo : {}

And with an unitialized snapmirror destination on the cluster mode commandlet get this every time.   It exits the commandlet before getting info from the remaining volumes:

Attempted to divide by zero.

+ CategoryInfo : InvalidOperation: (NetApp.Ontapi.Filer.C.NcController[]:NcController[]) [Get-NcEfficiency], DivideBy

ZeroException

+ FullyQualifiedErrorId : ApiException,DataONTAP.C.PowerShell.SDK.Cmdlets.Toolkit.Efficiency.GetNcEfficiency

+ PSComputerName : server1