New-FlashArrayCapacityReport has been updated in the latest release of the Pure Storage PowerShell Toolkit 1802.13. The report that is generated provides a view of the FlashArray that includes the following:
- Information about the FlashArray such as Name, Purity Version, ID, System Capacity and more.
- Details about volumes such as Name, Size, Data Reduction, Thin Provisioning and Shared Space.
- Volumes section has a Protected column to indicate if a volume is protected by a snapshot.
- Details about individual FlashRecover Snapshots.
- Parameters
- EndPoint — Flash Array IP or FQDN.
- Credential — Get-Credential or pass in a Secure Credential object.
- VolumeFilter — Filter out for a specific pattern of volume name. Eg. *Server*, finds anything with the word Server in the name. Default parameter value is “*” to include all volumes.
- OutFilePath — Location of the HTML report file. This can be a URL or share as well as local. Eg. C:\Temp
- HTMLFileName — Name of the report. Eg. Test-Report.html
Example report with no filtering:
PS C:\> New-FlashArrayCapacityReport -EndPoint 10.0.0.1 -OutFilePath C:\Temp -HTMLFileName Test-Report.html
Example report with filtering (Eg. -VolumeFilter *Server*):
PS C:\> New-FlashArrayCapacityReport -EndPoint 10.0.0.1 -OutFilePath C:\Temp -HTMLFileName Test-Report.html -VolumeFilter *Server*
Thanks,
Barkz
Love the idea of the Capacity report.. attempting to give it a try this morning but running into a few issues..
1. Simple typo, the PS Command line listed above shows it as New-FlashArrayReport instead of New-FlashArrayCapacityReport.
2. Running the report seems to generate repeated errors that seem to be related to the percentage complete (this might be a non-issue but after roughly 5 minutes of the same looping error i killed it):
Write-Progress : Cannot validate argument on parameter ‘PercentComplete’. The 467 argument is greater than the ma
allowed range of 100. Supply an argument that is less than or equal to 100 and then try the command again.
At C:Program
FilesWindowsPowerShellModulesPureStoragePowerShellToolkit3.2.0.0PureStoragePowerShellToolkit.psm1:190 char:9
+ … ng Pure Storage FlashArray report…” -PercentComplete $volumes.Count
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Write-Progress], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.WriteProgressCommand
Hi Justin –
First off thanks for the feedback. Nice to know there are people using the toolkit. I removed the Write-Progress updates as it really isn’t necessary, but if you have feedback on that feature let me know. I just updated the module on the PowerShell Gallery to 3.3.224.0 and also pushed the updated source code to GitHub. Check http://code.purestorage.com for the repo. I also update the blog post to reflect the correct cmdlet name, figured I’d at least get that one right 😉
If you have requests for a feature log it on the Issues section of the GitHub repo (https://github.com/PureStorage-OpenConnect/powershell-toolkit/issues).
Thanks,
Barkz
Hi Justin –
First off thanks for the feedback. Nice to know there are people using the toolkit. I removed the Write-Progress updates as it really isn’t necessary, but if you have feedback on that feature let me know. I just updated the module on the PowerShell Gallery to 3.3.224.0 and also pushed the updated source code to GitHub. Check http://code.purestorage.com for the repo. I also update the blog post to reflect the correct cmdlet name, figured I’d at least get that one right ?
If you have requests for a feature log it on the Issues section of the GitHub repo (https://github.com/PureStorage-OpenConnect/powershell-toolkit/issues).
Thanks,
Barkz
The report shows overall data reduction but is it possible to get it to show the actual data reduction figure? (The one without thin provisioning)
Hi Garrick –
The Volumes section contains the per volume actual data reduction value. Is this what you are looking for?
Thanks,
Barkz
Hi Garrick –
The Volumes section contains the per volume actual data reduction value. Is this what you are looking for?
Thanks,
Barkz
Hi Barkz
I’ve been playing with this cmdlet today and as per Garrick’s question above I too would like to see the actual “used” figure for each LUN.
(To be clear…. the used figure I would like to see is found in the Pure Admin console under Storage/Volumes/ then to the right of the blue bar is a Used capacity figure which includes volumes and snapshots.)
Is this possible?
In my case this is required because I’d like to provide the “used capacity / volume” to our ESX Administrators who cannot see how much space a LUN is actually consuming within the VSphere console where the Vsphere plugin is not installed.
Regards
Hi TF –
This is possible and I’ll get the cmdlet updated with a “Used” detail. Stay tuned. I’m just getting back into the office from an extended leave so should get to this next week.
Thanks for the feedback,
Barkz
Hi Barkz
Thanks for getting back to me.
I have managed to add the “used” detail myself and in the process have learned a lot about powershell!
I’ve also added a column to the LUN report to indicate whether a LUN is replicated off-site or not. At this point I just check to see if the LUN is in a Protection Group or not – there’s probably a better way of doing this….
I have more scripting to do, so expect a few more questions in the coming weeks 🙂
Cheers
TF
Hi Barkz,
I am unable to use the stored credentials for the below
New-FlashArrayCapacityReport -EndPoint $FA -Credential $Creds
As I am getting the below error
PowerCLI D:Powercli> .Pure_Storage_Report.ps1
New-FlashArrayCapacityReport : A parameter cannot be found that matches parameter name ‘Credential’.
At D:MineKBPureCLIScriptsPowercliPure_Storage_Report.ps1:7 char:44
+ New-FlashArrayCapacityReport -EndPoint $FA -Credential $Creds -OutFil …
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-FlashArrayCapacityReport], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,New-FlashArrayCapacityReport
Installed version of toolkit : 3.3.225.2 and SDK is 1.7.4.0
Please help
-Madhu
Hi Madhu –
This is still an open issue on GitHub (https://github.com/PureStorage-OpenConnect/powershell-toolkit/issues/12). I am working on a new revision of the Toolkit for release later this week. This fix will be included in that release.
I will post a blog about the additions to the Toolkit.
Thanks,
Barkz
Provisioned Space (TB) shows zero in Capacity Report.
I have installed the latest version of PureStoragePowerShellToolkit 3.4.512.0
Still I am seeing the same error.
-Madhu
Hi Madhu –
Please contact me directly at barkz@purestorage.com. I can look at your FlashArray internally to get some details on what you are seeing, version of Purity, etc.
Thanks,
Barkz
Hi,
My report pulls back the array information but no volume information or falshrecover information. Are there any dependencies I may have missed? I know we need to update our array to 4.8.12, could that be why?
Thanks
Hi Frankie –
Did you install both the Pure Storage PowerShell SDK and the Toolkit? Being on 4.8.12 is fine. The SDK is compatible up to REST 1.7. Even if you are on a newer REST API version it will be backwardly compatible with 1.7. For example I run Purity 5.0 which is REST 1.12 without issue.
Can you run this basic test script:
$FlashArray = New-PfaArray -EndPoint (yourIP) -Credentials (Get-Credential) -IgnoreCertificateError
Get-PfaVolumes -Array $FlashArray | Format-Table -Autosize
This should show you all of your volumes on the FlashArray. I would also suggest joining our slack team via self-invite (https://pscodeinvite.azurewebsites.net). Jump into the #powershell channel and then we can have a quicker exchange so I can help you out.
Thanks,
Barkz
Is it possible to add a switch to compare two New-FlashArrayCapacityReport’s so its easy to see the deltas between the two reports so it makes it more simple to identify which volumes are growing?
Hi Chad –
This would be a bit challenging because the output is dynamically built and then saved off as an HTML report. To make it easier I could create a parameter -OutputType [HTML\Excel]. If Excel is chosen then the data could be stored there and graphing etc could be done to compare, etc. I’m over simplifying this but its doable.
Thanks,
Barkz
-OutputType [HTML\Excel] sounds like a workable solution to me! I dont suppose you take requests? 🙂 Ill continue to pursue other solutions as well, thanks for the input.
is the Snapshot Size section working as intended? It looks to be showing the exact same size as the initial Volume of the lun but in the GUI some luns either have no snapshots taken, so I would think snapshot size should read zero, or they have snapshots which the size of those snaps dont match what the script outputs.
Sorry for the double comment It doesnt look like its in your above screen shots but the WS (Written Space) should be equal to the “Volume” column of the of the web GUI correct? It doesnt add up correctly on my side of things. WS is a lot smaller then the Volume
Barkz , First of all thank you…One of your commands helped me configure Capacity reports in our environment….
Now, can you help me with a PS1 to health check pure array…
Hi Kaylan —
What are you looking for regarding FlashArray health checks?
Thanks,
Barkz
Oh my goodness! Incredible article dude! Thank
you so much, However I am encountering problems with your RSS.
I don’t understand why I cannot join it. Is there anybody getting the same RSS issues?
Anyone that knows the answer can you kindly respond?
Thanks!!
Sorry about the RSS feed, URL is https://www.purepowershellguy.com/?feed=rss2.
Thanks,
Barkz
Is this thread still active? is there a place to find updated scripts?
Hi Jason — The powershell-toolkit, where the New-FlashArrayCapacityReport cmdlet is implemented, is at version 2.0.4.0. Check either the https://powershellgallery.com or https://github.com/purestorage-openconnect/powershell-toolkit.
Thanks — Barkz