Share via


Minimum Interleave Size allowed

Question

Saturday, February 24, 2018 10:08 PM

I created a storage pool with 4k sector size using 3 SSDs, each 5GB in size. These are the command I used:

    $disks = (Get-PhysicalDisk | Where CanPool -eq 'True')
    $storageSubsystemName = (Get-StorageSubSystem | Select -First 1).Name
    $storagePool = (New-StoragePool -StorageSubsystemName 
    $storageSubsystemName -FriendlyName 'Test_StoragePool' -PhysicalDisks $disks -FaultDomainAwarenessDefault 'PhysicalDisk' -LogicalSectorSizeDefault 4096)

After that, I tried creating a virtual disk with 3 columns and interleave size of 4k. 

    $virtualDisk = (New-VirtualDisk -StoragePoolFriendlyName   'Test_StoragePool' -FriendlyName 'Test_VirtualDisk' -ResiliencySettingName 'Simple' -UseMaximumSize -NumberOfColumns 3 -Interleave 4096)

This did not work, I got the following error:

    New-VirtualDisk : The value for Interleave is outside of the supported range of values.
    Activity ID: {b48c36f7-ab70-4c9c-b489-c9b5d49ead66}
    At line:1 char:17
    ....

I re-ran the same command with interleave size as multiples of 4k, I kept getting the same error till 12k but was able to create the virtual disk with 16k.

I'd like to understand if there is a minimum limit on the interleave size or if it is related to the sector size. 

Any help is appreciated. Thanks.

All replies (1)

Monday, February 26, 2018 3:07 AM

Hi Khusbu,

Based on my understanding, the default interleave size of 256 KB. Interleave represents the amount of data written to a single column per stripe. And we could specifies the interleave value to use during the creation of a virtual disk.

https://social.technet.microsoft.com/wiki/contents/articles/15200.storage-spaces-designing-for-performance.aspx

May I ask all the drives you add to the pool are  4K native drives and your create the new storage pool, right?

And according to the Microsoft, the desired size of a data strip on a single physical disk in a striping based resiliency setting. This value must be between the values of the InterleaveMin and InterleaveMax properties of the MSFT_ResiliencySetting object. Maybe you could refer to the articles below.

https://msdn.microsoft.com/en-us/library/windows/desktop/hh830539(v=vs.85).aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/hh830538(v=vs.85).aspx

Best Regards,

Mary

Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact [email protected].