There's no good or bad here: both ref'd solutions are just very different in the way how they scale out, how they distribute data among cluster nodes and how they handle component failures.

1) Wide striping Vs Data Locality. SIO does what's called "wide striping": they keep volume data on all the cluster nodes (same way VMware VSAN & HPE VSA do) more or less equally, while StarWind takes care of that's called "data locality" (same way Nutanix NDFS and SimpliVity/HPE do) and keeps data on a limited amount of a "partners". There are pros and cons for both approaches actually.

http://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/products/vsan/vmware-virtual-san-data-locality.pdf

https://www.nutanix.com/2013/12/03/data-locality-sql-vdi-on-the-same-nutanix-cluster/

https://www.simplivity.com/blog/2016/05/importance-data-locality/

https://www.starwindsoftware.com/data-locality-page

2) Single Unified Address Space Vs Virtual Disks. SIO can indeed create a single unified address space but the reality is it's a useless (at least! bad idea at best!) feature in your environment: Microsoft / Hyper-V really needs AT LEAST one CSV / virtual LUN per cluster node so in your case an optimal amount of a virtual LUNs is the same and doesn't matter you use SIO or StarWind.

https://technet.microsoft.com/en-us/library/jj612868%28v=ws.11%29.aspx

https://www.petri.com/how-many-csvs-should-a-scale-out-file-server-have

https://blogs.msdn.microsoft.com/clustering/2013/12/02/cluster-shared-volume-csv-inside-out/

3) Number of Nodes and Fault Tolerance. SIO is a very similar to Ceph here: it needs quite a lot of nodes (8-10) to get a reasonable performance (thanks to "wide striping"). Also make sure you understand SIO is replication only and final capacity is (N-1)/2 so five nodes will give you 2 nodes capacity usable with a 2-way replication and an ability to lose one node only (N+1). StarWind is using a combination of a replication and a local reconstruction codes (erasure coding) to survive multiple failures at the same time thanks to the multiple fault domains, there's not only cross-node replication protection but also local "RAID" like protection, same way SimpliVity and similar to what Microsoft does in Azure/S2D.

https://www.emc.com/collateral/white-papers/h15148-emc-scaleio-deployment-guide.pdf

https://www.simplivity.com/blog/2016/10/data-storage-built-resiliency/

https://www.microsoft.com/en-us/research/publication/erasure-coding-in-windows-azure-storage/

https://www.starwindsoftware.com/grid-architecture-page

TL;DR: In general I'd suggest to build a P.O.C. for the both shortlist candidates and see how well everything goes.


The short answer is: both solutions will meet your requirements.

As already mentioned by the previous poster, they just work in a different way.

If you'd like to know about benefits / drawbacks of each solution, just contact both vendors and ask their pre-sales techs everything you'd like to know. After that, deploy a PoC and double-check what they told you.