Get a pretty view of your S2D Storage Pools

I’d like to start with a shout out to Philip Elder, for he came up with the initial idea and script that I’ve used here.

One thing that’s not always obvious when dealing with S2D Clusters is how much of your Storage Pool has been provisioned and how much capacity, if any, is left.

To help with this, we came up with be script you’ll see at the bottom of this article.
It’s designed to be run both locally on a cluster host and against multiple clusters remotely.

So what can you expect to get out of this script?

  • Total Size – This is your RAW capacity in the pool
  • Allocated Size – This is the RAW amount of storage already allocated to Virtual Disks
  • RAW Free Space – This is your remaining capacity in the pool
  • Mirror Available – This is how much space you can provision as Mirror Volumes, it assumes 2-way mirror for 2-Nodes and 3-way mirror for 3+ Nodes
  • Parity Available – This is how much space you can provision as Parity Volumes
  • Reserved Space, this is how much space needs to be retained for rebuilds after disk failure

So how do you run this?
Well it’s very simple, you can just run the command with nothing else directly on a cluster host and get an output

Or you can run it remotely against multiple clusters

As always, I hope this script helps someone else out there

12 thoughts on “Get a pretty view of your S2D Storage Pools

  1. This doesn’t appear to return any results, executing it just returns to the PS prompt.
    Anything I can look into to troubleshoot why it won’t run?

    1. Hey, I tried running it directly in PS on two of the hosts in the cluster, also tried running it from our SCVMM system. It doesn’t return any errors just goes back to the shell.

    2. You need to put the source code into a file and then import the module first.

      PS C:\> Import-Module C:\Scripts\Get-Poolstats.psm1

      Then you can call the function.

      PS C:\> Get-Poolstats

      Name : S2D on foobar
      TotalSize : 158 TB
      AllocatedSize : 144 TB
      RawFreeSpace : 14 TB
      MirrorAvailable : 2 TB
      ParityAvailable : 3 TB
      ReservedSpace : 7 TB

  2. I think it would be better to have this run as a script, easier to run instead of having to copy / paste every time you want to see these kinds of stats.

    1. You can easily drop it in a .ps1 file and then dot source it. Eg. . C:\scripts\get-prettypool.ps1 and then you can use the command without copy paste

  3. Hi

    Im using windows 2019 and when we run,we are getting the error.Please advise.

    I have one cluster and cluster name is “cl03-us03.uslocal.com”

    Get-StoragePool -FriendlyName S2D* -CimSession Cluster-cl03-us03 | Get-PoolStats | ft -au

    Get-PoolStats : The term ‘Get-PoolStats’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included,
    verify that the path is correct and try again.
    At line:1 char:58

Leave a Reply

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

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