I'm using Windows 10 Enterprise. I have four identical 3TB disks set up in a Storage Space pool. Each disk shows up as providing 2.72 TB to the pool. I create a storage space with REFS and resiliency as Parity.

Coming from a RAID-5 world, I set the size to (N-1)*drive_size = 8.16 TB. When I proceeded to copy data to the disk, I was surprised when it ran out of space after 7.26 TB. I guess there are a few terms I don't understand.

Under Storage Spaces, it shows:

  • WDC 3TBx4 (F:)
  • Parity
  • 8.16 TB
  • Using 10.8 TB pool capacity

In Windows Explorer, it shows:

  • WDC 3TBx4 (F:)
  • 915 GB free of 8.15 TB.

I guess what I don't understand is, when creating the pool and space in the first place, what these definitions are:

  • Total pool capacity
  • Available pool capacity
  • Size (maximum) <---------------- something I can set
  • Including resiliency

Since I don't want to delete the 4x3TB space and start over, I tried the experiment with 4x5GB VHD files (sadly, I couldn't try 3GB disks since they apparently must be at least 4 GB). With 5 GB disks:

  • Total pool capacity: 17 GB
  • Available pool capacity: 16 GB
  • Size (maximum): defaults to 8 GB, but I can set it to whatever I want
  • Including resiliency: 12 GB

Can someone please explain how the math works?

  • The apparently uncapped size is because it's thin provisioned, see arstechnica.com/information-technology/2012/10/… (that's a good primer in general, though do keep in mind it's targeted towards Win8 and some of the complaints, like rebalancing, are solved in Win10) – Bob Jan 23 '18 at 6:28
  • Also the "Using 10.8 TB pool capacity" basically means your 4 x 2.72 TB = 10.88 TB is full. Possibly due to overhead, see community.spiceworks.com/topic/…. – Bob Jan 23 '18 at 6:29
  • I did a bunch of experiments and the results were not promising. I ended up creating pools and spaces on the command line in Powershell after looking at this thread: social.technet.microsoft.com/Forums/windows/en-US/… Even after manually setting the number of columns (which makes sense) and interleave and stripes (for which I couldn't find a good definition), there was still confusing amounts of overhead. I gave up on the idea and ended up using ZFS on Linux via a VM instead. – stuyguy Jan 31 '18 at 5:52

As in many cases, Microsoft expect us to use this without knowing how space is managed. And we don't. Practically, instead of 8.16TB usable space you get around 1 TB less. Some of its space to create a write back cache, some is used for not yet known reasons.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.