I have a question. I need to build active/active HA storage architecture, but I don't know how achieve this without expensive third party software. I have two Hyper-V hosts, each with iSCSI storage. I can build Hyper-V failover cluster, which gives me HA in situation when one Hyper-V host fails. But if one storage fails, it will be bad. The other scenario is, that I will have two Hyper-V hosts connected to two Scale-Out File Servers and on the top i will have Hyper-V Failover Cluster. Is this solution? I need two HV hosts, each with VMs running on own storage, but I need synchnonization between these storages for the case of failure. In case of failure, I need two HV hosts running all VMs from one storage. Any ideas? What is the best practice how to achieve this? Is possible to build mentioned architecture with SOFS? What about performance in case of the use SOFS? Btw... I need HW RAID 10 on both storages and I have Windows Server 2012 (no R2).
but I don't know how achieve this without expensive third party software.
Well, let's say that "expensive" is IISC 299 USD per node (http://www.kernsafe.com/ HA ISCSI target, 2 nodes, replicating) or free (using some of the HA stuff available for Linux)
Besides that - no way for full high availability. Sorry.
You can easily build an inexpensive Hyper-V cluster in a very VMware VSAN / Linux DRBD / FreeBSD HAST way (storage virtualization stack runs natively on a hypervisor and not inside guest VM as that's slow and flaky). StarWind Software has this version and entry level is even free of charge. See:
StarWind can even build a SoFS w/o any physical back-end block storage (no SAS, no FC, no iSCSI, just inexpensive SATA disks and Ethernet). See:
But again, it makes sense only if you want to play with SoFS and SMB 3.0 as running VMs from DAS with some virtual SAN replication for HA (2-way or 3-way) is always faster then running VMs completely from NAS/SAN (DAS is faster then Ethernet -letency).
You can definetely build a SOFS cluster to achieve this. The storage backend would have to be a JBOD SAS array, such as the DataOn Storage solutions. This will ensure the storage is up and running even with a failed node in the SOFS cluster, and with both nodes up they will present storage in an active/active fashion.
You would then present the SOFS cluster to the hyper-v hosts using the SMB3 protocol, ideally on 10Gbps NICs.
I haven't crunched the numbers, but according to rumors this sort of solution is often roughly half the price of an off-the-shelf SAN, and is becoming increasingly popular.
There is lots of blog posts detailing the various options, Aidan Finn has a lot of good ones.
Windows-based one you reference would cost $600 + Windows licenses (another $1000). For both Windows and Linux you'll have to add a pair of physical servers to run them and a pair of network switches. The whole project would cost $4-5K (Windows one, Linux would be cheaper of course). That's the price of an entry-level VNXe or a SAS JBOD from DataOn. Both will provide a good support and with a Windows solution you mention there's basically no support ("Made in China", one-man-company) and Linux is coming with a community support only. Not sure "HA" and these referenced issues mix well :)
SoFS makes sense if you need a cheap Ethernet-based gateway in front of an expensive to expand SAS or FC storage. Let's say you have a SAS JBOD or FC SAN. With only a pair of Hyper-V hosts you can easily share this storage. But if you have more nodes (3+) you need to deploy SAS switches and license 8+ more FC ports. So it makes sense from the financial point of view to leave SAS and FC connected to a pair of Windows boxes converting DAS -> SMB 3.0 with SoFS concept.
See MS presentations - they always show HUGE SoFS farms. For a reason: two node SoFS config is expensive and slow (DAS and FC directly are faster then Ethernet). So YES you can do SoFS. But NO you don't really need to do it before you need to feed shared storage to at least 4 node Hyper-V cluster :)
SoFS is not really active/active as you need multiple clients as server workload is distributed on a DNS basis: no MPIO like it happens with FC or iSCSI.
You can definitely build a SoFS cluster to achieve this. The storage back end would have to be a JBOD SAS array, such as the DataOn Storage solutions. This will ensure the storage is up and running even with a failed node in the SOFS cluster, and with both nodes up they will present storage in an active/active fashion.