Understanding sector size, stripe size, allocation size, etc

Software-based VM-centric and flash-friendly VM storage + free version

Moderators: anton (staff), art (staff), Max (staff), Anatoly (staff)

Post Reply
Nubbins
Posts: 8
Joined: Mon Aug 10, 2020 9:14 am

Mon Aug 10, 2020 9:57 am

Hi All,

I'm just testing out StarWind VSAN free in our LAB with a view to possibly buying the commercial version for prod - It seems like a great product! We're currently testing on a pair of DL360 G8 servers each with 4x 4TB Seagate NAS in RAID10, and 2x Intel D3-4610 480GB in RAID1. These are standalone (non-HCI) and will serve datastores via ISCSI to both Hyper-V and ESXi 6.5+.

I'm just trying to get to grips with exactly how the disk sector size, RAID block size, windows allocation unit size, virtual disk size, etc should be set up for best performance when hosting datastores. I get that Hyper-v wants 4k and VMWare likes 512 but how should the great of the stack be configured. for example:

1. Seagate Exos X14 10TB says - "FastFormat models ship in 512e format state. When switching from 512e to 4Kn by executing the FastFormat routine, all data on the drive will be deleted. Note that data must be aligned to 4K sectors to see improved
performance in 4Kn format
". So should I set them up as 512e (which according to this https://knowledgebase.starwindsoftware. ... lock-size/ may have performance issues or use them as 4Kn?

2. When I configure the RAID on the RAID controller (currently P420i but will be 9361-8i in prod) what should the stripe size be? Does it matter what the disks are as the array controller is another abstraction layer anyway?

3. I have read in various places that the stripe size can be left at 64K on the array controller as a safe bet. Is that a total stripe size (32k per pair in a 4 disk RAID10) or per disk pair.

4. Once the disk is initialised on Windows, what should the allocation unit be? Again does this just act as another abstraction layer?

5. Once the VSAN disk Image is created, I understand that ESX LUNs should be 512 and hyper-v (windows) LUNs should be 4k but doesn't that defeat the purpose of the optimisation down at the hardware level?

In summary, for best datastore performance on lightly loaded VMFS/CSV LUNs using mechanical disks (with flash cache), how should I configure the physical HDD, RAID10 stripe size, windows NTFS allocation unit size and then ultimately the VASN block size?

Sorry for the long first post and thanks in advance.
yaroslav (staff)
Staff
Posts: 2277
Joined: Mon Nov 18, 2019 11:11 am

Wed Aug 12, 2020 11:19 am

Hi,

Sorry for the delayed response. Here is the KB that discusses the recommended RAID settings https://knowledgebase.starwindsoftware. ... ssd-disks/.
Normally Disk sector size should be 512K if you plan to use it for ESXi in order to be able to use RAID as an RDM device. In your case though (i.e., compute and storage separated setup) this is slightly more flexible. What OS are you running on the storage boxes? If you run Windows there, disk sector size should not matter. If there is ESXi installed, 512 would be preferable.

Now, let me discuss RAID settings. RAID block should be 64k; this is not a universal number but works in most cases. You need to keep the type of production you are running there in mind. Virtual disk size does not matter; only VMFS and NTFS requirements come here into play. Just make sure to have enough disks in RAID.
may have performance issues or use them as 4Kn?
No.If you use 512K as sector size for a StarWind HA device, there should be no issues with 4K blocks.
Is that a total stripe size (32k per pair in a 4 disk RAID10) or per disk pair.
That's overall. While creating the RAID, select 64K as the stripe size.
Once the disk is initialised on Windows, what should the allocation unit be? Again does this just act as another abstraction layer?
While formatting the RAID in Windows, leave the allocation size at default settings: it depends on the volume size. You just format the disk to NTFS, so it forms a layer.
Once the VSAN disk Image is created, I understand that ESX LUNs should be 512 and hyper-v (windows) LUNs should be 4k but doesn't that defeat the purpose of the optimisation down at the hardware level?
While creating a HA device that serves as a datastore or CSV in the future, you should select block size once again. If the VMs are running on ESXi hosts, just leave 512 as the sector size while creating a StarWind HA device.

No worries, I'm always happy to assist you.
Let me know if you have any questions.
Nubbins
Posts: 8
Joined: Mon Aug 10, 2020 9:14 am

Fri Aug 14, 2020 1:08 pm

Thanks for the detailed reply.

I have a pair of Supermicro x10 CSE-847 storage servers with the following spec: Dual E5-2630-V3, 128GB, 10GB Chelsio T520-CR, 9361-8i, 8x 10TB 7200 SAS RAID10, 2x D3-S4610 480GB for cache. Windows 2019 Bare metal. There's also some SSDs going in for for VMs that need faster disks for OS's etc. The HDD pool is just for the larger, more static data sets (Veeam Repos, File stores, etc).

So I should do fairly well using 4Kn drives, 64k Stripe, Default Allocation (4K i think), 512/4096 HA device depending on initiator.

Does the 64K RAID stripe not mean that we still need to read/write 64K minimum for every read and write operation? If so, why wouldn't we just align the windows allocation unit as 64K too?

Thanks again
yaroslav (staff)
Staff
Posts: 2277
Joined: Mon Nov 18, 2019 11:11 am

Fri Aug 14, 2020 1:29 pm

Windows allocation size depends on the volume of the device you format. That is why we leave it at default settings normally.
You can carry out performance tests with 64K formatted device though.

Speaking of cache, flash cache is available only in Write-Through mode. And, due to Write-Through Cache design, you will get only read performance gain with Write-Through cache. If you want to boost both reads and writes, just consider creating a HA device on that 2x D3-S4610 480GB volume. Learn more about caching in StarWind VSAN here https://knowledgebase.starwindsoftware. ... rinciples/.

In general, just make sure to use 512 block as block size while creating a StarWind HA device. Underlying storage in this case should not matter that much.
Attachments
This is where you need to select 512 block size.
This is where you need to select 512 block size.
word-image-27.png (14.85 KiB) Viewed 4405 times
Post Reply