Forum

2019 Storage Spaces...
 
Notifications
Clear all

2019 Storage Spaces Write Performance Guide  

  RSS

Hayden
(@hayden-kirk)
Member Admin
Joined: 5 years ago
Posts: 85
24/05/2020 6:30 am  

This guide was posted on the Microsoft forms.

RS5 (Build 17763, Windows 10 1809) update brings improved parity write performance to storage spaces. The improvement comes from being able to bypass the parity space write cache for full stripe writes. Previously created storage spaces will also benefit from these improvements (once the storage pool is upgraded with Update-StoragePool). For best results, you will need to create a new storage space with specific interleave size.

Step 1

Upgrade your storage pool to the latest version.

Get-StoragePool <NameOfPool> | Update-StoragePool

Confirm

Are you sure you want to perform this action?

This will upgrade the StoragePool "TestPool" to the latest version. This is an irreversible action.

[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):  

Verify that your pool is at least at "Server 2019" version or later

Get-StoragePool | ? IsPrimordial -eq $false | ft FriendlyName,Version

FriendlyName Version

------------ -------

NameOfPool   Windows Server 2019

Step 2

 Create a new parity virtual disk, with an interleave size of 32KB, 3 columns. This maximizes your flexibility in adding capacity to your space, and ensures that the data stripe size is 64KB, which will match the NTFS allocation unit (cluster) size of 64KB that you will use in the next step. (If you use the Storage Spaces Control Panel UI to create the space, it will typically have an interleave size of 256KB and an NTFS cluster size of 4KB, which doesn't guarantee that all writes will be aligned to data stripe boundaries)

New-VirtualDisk -StoragePoolFriendlyName <NameOfPool> -ProvisioningType Thin -Interleave 32KB -FriendlyName FastParity -Size 1TB -ResiliencySettingName Parity -NumberOfColumns 3

Step 3

Go to disk management, initialize the disk corresponding to the newly created virtual disk, and format it with NTFS (or REFS) filesystem with an allocation unit (cluster) size of 64KB.

Step 4

Verify that copying large files to this volume is fast. Provided you are copying from a source that is *different* from any of the virtual disks in the storage pool, you should be able to achieve a write performance that is close to 2x the write performance of the slowest physical disk in your storage pool. With typical consumer SATA hard disks, if your source is sufficiently fast (e.g. internal SSD), you should be able to hit 200MB/sec for copying large files.

You can use the performance monitor (perfmon.exe) to verify that your new virtual disk has a high "Write Bypass %". When correctly configured, you should expect this value to be >99%. The  Counter set name is "Storage Spaces Write Cache"

Parity (Single disk failure resilient) recommended configurations for Archival workloads

Storage Spaces Interleave Size

Number of Columns

Data Stripe Size

FileSystem

Allocation Unit Size
(Cluster Size)

Expected Write Performance
(Multiples of single disk performance)

32KB

3

64KB

NTFS

64KB

2x

32KB

3

64KB

REFS

64KB

2x

16KB

5

64KB

NTFS

64KB

4x

16KB

5

64KB

REFS

64KB

4x

Dual Parity (Two disk failure resilient) recommended configurations for Archival workloads

Storage Spaces Interleave Size

Number of Columns

Data Stripe Size

FileSystem

Allocation Unit Size
(Cluster Size)

Expected Write Performance
(Multiples of single disk performance)

16KB

7

64KB

NTFS

64KB

4x

16KB

7

64KB

REFS

64KB

4x


Quote
Jason
 Jason
(@Jason)
Guest
Joined: 2 months ago
Posts: 2
07/08/2020 4:57 am  

This is a life saver. Thank.you!


ReplyQuote
Jason
 Jason
(@Jason)
Guest
Joined: 2 months ago
Posts: 2
07/08/2020 5:31 am  

@hayden-kirk I put my email in the name box like a dummy. Could you please remove it?


ReplyQuote
Hayden
(@hayden-kirk)
Member Admin
Joined: 5 years ago
Posts: 85
08/08/2020 9:03 pm  

@Jason I see you fixed it 🙂


ReplyQuote
martin heusser (@mozzeph)
 martin heusser (@mozzeph)
(@martin heusser (@mozzeph))
Guest
Joined: 3 weeks ago
Posts: 1
06/09/2020 5:00 am  

Hi, thanks a lot for this post. It's very helpful. Is the Data Stripe Size in your charts something than can be configured or something which is calculated based on Interleave and Cluster Size?
I have an 8bay JBOD Enclosure which is connected via USB 3.0 to my PC and hosts 7x 2.72 TB WD Red drives. I configured a new Storage Space with 16KB Interleave and 7 Columns, however write-speeds are just in the 40-50 MB/s. Any advice?


ReplyQuote
Share: