New-FlashArrayCapacityReport cmdlet in Pure Storage PowerShell Toolkit 1802.13

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

22 comments
  1. 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

  2. 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 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. -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.

  8. 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.

  9. 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

  10. 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…

Add Comment

Required fields are marked *. Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.