We are attempting to use the Windows PowerShell manageability tools and seem to have encountered a discrepancy when comparing the results of SnapshotUsed from Get-NcEfficiency and Get-NcSnapshot commands.
Can anyone please explain what the 'SnapshotUsed' value is from the Get-NcEfficiency commandlet from the Powershell Toolkit? It seems this number is different from the summation of the actual snapshot sizes, as returned by the Total value from the Get-NcSnapshot data for volumes.
The documentation makes no distinction of the two, and in fact shows the usage of SnapshotUsed value in reporting. We are seeing a very high discrepancy for some volumes in comparing the two numbers. As tested with toolkit versions 3.1 and most recent, 3.2.1
The Get-NcSnapshot cmdlet is designed to "get a list of snapshot objects".
The Get-NcEfficiency cmdlet is designed to "get efficiency information for volumes." The cmdlet returns a VolEfficiencyInfo object for each volume it investigates. The VolEfficiency object returned contains the SnapshotCount - the number of snapshots of the volume.
So, the Get-NcSnapshot cmdlet should return a list of snapshots. The Get-NcEfficiency cmdlet should return a count of snapshots (as a small part of its output.) Presumably, the count of snapshots from Get-NcEfficiency should equal the number of snapshots returned by Get-NcSnapshot?
The problem is that there is "a discrepancy when comparing the results of SnapshotUsed from Get-NcEfficiency and Get-NcSnapshot commands." Snapshotused is the amount of space used by snapshots. The Get-NcSnapshot doesn't appear to return space used. Perhaps we need to use advanced queries? Can anyone confirm that this would be productive if we tried it?
This is important to us to reconcile since we use the information returned to create billing statements that we believe may be inaccurate.
We'd like to find a way to make sure we are billing properly for space consumed within snapshots.
and verify whether there is any discrepancy between the 'Cumulative' column reported by Get-NcSnapshot and the 'SnapshotUsed' column reported by Get-NcEfficiency. There really shouldn't be.
I suspect the discrepancy you are observing is because of formatting. The toolkit formats output of the 'Total' column of Get-NcSnapshot by rounding to the nearest x.y KB/MB/GB/TB (meaning it converts the bytes in to a 'reasonable unit' say MB, and rounds the MB value to one place after decimal; like 13.23 MB becomes 13.2MB and 13.26MB becomes 13.3MB).
Suppose you have a 10 snapshots of size 1.35MB. The output would show 1.4MB for each of them. So if you are manually adding this value, you get total size as 14MB, whereas cumulative (and Get-NcEfficiency) would have actually performed the addition in bytes and rounded only the sum and will show 13.5MB.
If you run the equlvilent 7mode commandlets, the Efficiency.SnapshotUsed number returned from Get-NaEfficiency "correctly" reports the summation of all snapshots, Get-NaSnapshots. This has to be a bug with the cmode efficiency command.