The Latest Gartner® Magic Quadrant™Hyperconverged Infrastructure Software
Moderators: anton (staff), art (staff), Max (staff), Anatoly (staff)
For our situation the advantages of each method are as follows:There are two ways to deploy StarWind Virtual SAN for Microsoft Hyper-V:
As a Linux-based Controller Virtual Machine (CVM) and as a Windows executable. CVM approach is actually preferred because it has advanced features like ZFS, NVMe-oF support, web UI management, AI-powered telemetry and so on, all unavailable in Windows version. CVM has better performance due to the fact Linux has faster storage and network stacks and our proprietary version of it uses polling to avoid interrupts handling and context switches, which is good for reduced CPU usage and lower I/O latency. By using PCI pass-through technology, Controller Virtual Machine is granted direct access to the physical devices, so no virtualization overhead. Windows version being fully supported in production is a bit easier to install and evaluate, though... We encourage you to use Linux-based CVM during evaluation and production, unless absolutely necessary in your particular case!
IMO (disclaimer): Deploying CVM in Windows will need setting up a VM, which adds more complexity to the system. SR-IOV in Windows might be tricky for some adapters (e.g., I had some "fun" with tuning Intel x710s the other day). Pass-through can also be tricky as you might end up with just a VMDK if the controller/disk cannot be passed through to the VM (VMDK eats some of the performance).Linux-based CVM: faster storage and network stacks, polling to avoid interrupts handling and context switches
There is no "one thing to rule them all", unfortunately. If one is after the benefits of Linux VM in Windows, CVM is an excellent way to go. If one is building "just HA storage", installing an app makes more sense in Windows bare-metal installations simply because it is much easier and minimalistic.Which would you recommend as the final method?