I want to use Windows as host and at the same time I want the machine to be a NAS.
I plan to run FreeNAS on HyperV or VMware to direct control the HDD. It is passable to do it without losing a lot of performance.
I want to use OpenCL on this machine, but due to some reasons, those programs can only run on Win. However, it said that the VirtualBOX provided by FreeNAS is not suitable for Windows. As a result, I want to run FreeNAS on HyperV or VMware.
Can we make a reverse? Windows runs on the VM on FreeNAS or both FreeNAS and Win are on VMs?
Performance shouldn't be an issue. If it's possible to pass the hard drive controller through to the VM that will probably work better for freenas as i've heard it doesn't really like working with virtual disks. Your motherboard and cpu will need to support it though.
But I wouldn't recommend it. You say you have to run windows, can you not run something else and virtualize windows instead? Also, if you don't need ZFS there's no reason why you can't just use windows as a NAS.
passing though discs might not be enough though, im assuming it just maps the disc to a file and not pass through the actual sata controller which is needed for zfs to work properly
EDIT: you absolutely have to pass through the sata controller (as in iommu) and not just map the disc to a file for zfs to work properly.
if its passing through individual discs, its not actually passing them through (as in assigning the actual disc to the vm) its just mapping the disc blocks to a file and giving it to the vm. You cant pass through a disc to a vm because its not on the pcie bus. U can only pass through the sata controller (which is on the pcie bus) that has access to the disc.