We've been looking at this at work, investing some effort into VMware vSAN, Nutanix, Storage Spaces Direct and VxRails (which we talk about but know nothing about).
Basically these all do the same thing -- present a storage LUN to a hypervisor as if it was ordinary storage, with some middleware storage layer supplying caching and redundancy of the stored data across all nodes so in the event of a node loss data remains online.
As far as I can tell, all products require some level of flash disk for caching purposes. How it actually works "for real" isn't well documented, at least in marketing materials, but my guess is flash disk local to the host and thus VM is used to take writes and supply some reads, with a higher latency process writing the data to capacity disks and maintaining redundancy. I believe all of them require 10 gig Ethernet to keep latency at a tolerable minimum for both real-time data access and to maintain redundancy levels at safe latencies (between cache write and capacity disk writes).
This doesn't seem like a terribly new idea, AFS has been around for a long time (although I have never seen it implemented) and even Microsoft has DFS, but those schemes were meant for file storage, not for block level storage. Block level storage presumes access latencies under, say, 30 ms to even be useful and much less than that to be competitive.
Strangely, none of the systems are terribly expansion friendly. VMware says that additions to vSAN clusters need to be on identical hardware (good luck with that) and I think so does Microsoft (SSDirect isn't even out yet, so who really knows). So vSAN and SSDirect are essentially cluster systems built all at once and upgraded all at once.
Only Nutanix seems to be friendly to mixed hardware clusters and thus, incremental expansion of an existing cluster. The downside is that it also seems to be the simplest implementation, which is both good and bad. Good in that its storage cluster nodes actually run as VMs on an hypervisor (they say they support VMware, Hyper-V and KVM) so they should be fairly agnostic to the hardware layer. The bad is that they suffer from the added latency of a virtualization layer and the single path penalty of NFS datastores.
I've rolled my own Nutanix-like system just to see if I could, using NAS4Free storage nodes to export "local" storage as iSCSI exports, and then combining them with a "master" node to RAID the individual storage nodes and export the RAID volume as iSCSI to a system which could actually store data. It even worked, but for some reason the exported usable volume went offline if one of the members of the RAID set went offline. This isn't the expected behavior of a RAID set and seems like a bug to me. If it had worked as expected, it would have been actually useful right now for creating distributed block storage on existing clusters, such as some VMware systems with local disk unusable for normal Vmware clusters, even if it would have only been useful as low-throughput disk.
I'm skeptical of the market value of these hyperconverged systems versus traditional SAN.
- Costly expansion -- many customers do incremental upgrades, mixed-generation compute, added on storage. Having to buy your cluster up front, complete, is expensive and having to buy a whole new one when you only need incremental expansion is worse.
- Excess compute -- almost nobody taxes CPU in their virtualization clusters, so pretty much everyone is over-computed as it is. Having node requirements of 3 or 4 minimum makes these solutions extremely compute heavy for most aggregate workload environments. I would expect this would be worse at larger storage scales as nodes have limited disk unit capacities, leaving nodes more dependent on very large SATA platters for capacity.
- Expensive parts -- nearly all seem dependent on expensive components. Everyone should be buying 10 gig these days for networking backbones, but existing SAN models work at 1 gig now, and those with 10 gig work well even without the presence of flash. These solutions all require a lot of flash and a lot of 10 gig just to work at all.
- Unknown reliability -- it's an open question how durable these systems are. Traditional SAN systems have been highly hardened against data loss with heavy battery backed caches, active-active controllers, redundant networking, and a do-one-thing-well software simplicity. Pushing data across multiple nodes and multiple software layers seems to invite data loss and corruption in the event of a node failure.
- Expensive software -- the licensing on these systems is extremely expensive.
In theory, these systems are supposed to offer savings by using "commodity" components and breaking the high dollar components, support, etc. associated with traditional SAN. Of course between the narrow hardware compatibility lists, need for abundant flash, 10 gig (or 40 gig!) networking, and expensive licensing and limited expandability, I'm wondering where the savings are.
In an ideal future, nodes would be designed for this -- a single 8-12 core CPU, appropriate levels of RAM and large disk capacity. And ideally, smarter software that handles mixed storage capacities or types intelligently, rather than mandating an all-the-same kind of uniformity.