I am considering building a system to virtualise Windows Server 2016 and CentOS 6 using virtualbox on Solaris (for home use), in order to take advantage of zfs' reliability.
I was planning on getting a DP ws/server board with 1tb of ram, plus a stack of WD Red drives.
I am also interested in allowing Windows VMs access to GPU resources. Is this possible in this situation?
Is it possible to host a Windows/Linux VM that uses a zfs zpool or vdev instead of going direct to the hardware for file system access?
I really only need Windows and Linux OSs, but was considering a solaris host solely for the benefits of zfs and its compatibly with virtualbox.
Is there a better way of doing this, or have I picked the best option?
Whether this is the best method or there is a better way, what are the gotchas involved with whatever method you suggest?
I have a limited budget, and I would prefer spending my money on hardware rather than software if there is a free software option that will work.
My other option was to add a hardware sas adapter with raid 6, and use Windows Server 2016 as a host for virtualbox and the linux and any other VMs, but ntfs isn't as reliable as zfs…
EDIT
My goals are:
-
Have one physical machine.
-
Minimize the potential for data loss as the result of hard drive failures and other file system problems.
-
Run a Windows 2016 server OS plus some applications like Exchange, sql server. GPU is required here
-
Run a modified CentOS system (FreePBX).
-
Run some other virtual machines, preferably also with GPU support.
-
Supplement and eventually replace a Synology RS812+ box.
-
Minimize expenditure on software, allowing more/better hardware for my budget.
I am in the planning phase, so I can consider anything at this stage.
My thinking in having a Solaris host was that the entire file system would be zfs, and hence better protected from failures than the VM guests might otherwise allow – unless I have misunderstood something somewhere. The alternatives would seem to result in at least some of the file system being non-zfs, with lower reliability.
Best Answer
To directly passthrough a PCIe graphics card, you will need:
It seems that unfortunately, Virtualbox does not currently support it. If this is a hard requirement, you may need to use KVM on Linux or illumos, VMware ESXi or Microsoft Hyper-V, all of them support it (although with different configuration work needed).
Yes, it is possible. Here are the relevant commands, taken from Johannes Schlüter's blog post:
Alternatively you could use COMSTAR to serve the zvol over iSCSI.
While this has only slight additional overhead and no direct advantage in the local case, you may profit from it when you want to spread out and for example add another (redundant) storage server, or when moving the storage to a separate box.
In your specific case I would not do this, but there exists the option (also with NFS instead of iSCSI, but when using zvols instead of file systems there is no immediate advantage if both are properly configured).
Regarding your edit:
In broad terms, you have two possible All-in-One setup options - storage itself virtualized (like in the napp-it readme I've linked) or storage on the hypervisor. I will call them A and B to compare along your points.
So, it largely comes down to preference: