My specific use case:
- Host OS could be Windows 10 or Linux (leaning towards Linux)
- Single Windows Guest OS used exclusively for gaming
- Most of the host OS's data will be on the SSD, so it's not particularly important for the host to benefit from PrimoCache. All the large files on HDD I want to cache are basically Steam games, which will be in Guest.
- Host OS's performance is actually less important than guest OS (but due to some stupid stuff on how Steam In-Home-Streaming works, I need a copy of Windows with lower-than-usual security). Host OS will be primarily web browsing / productivity apps. Nothing super intensive.
- 500GB SSD
- Partition 1: Host OS
- Partition 2: Guest OS
- Partition 3: PrimoCache L2 Cache for HDD
- 2TB HDD (for user data storage and Steam game installs)
- 16GB RAM
In a best case scenario, the Host OS would be running PrimoCache, and the guest OS would benefit from it yet be oblivious. But given the way virtualization is designed specifically to prevent VMs from interacting with the Host, I would not be surprised if this was impossible. Or does the low-level nature of PrimoCache mean that files frequently accessed inside a VM would get cached as expected (as long as everything was NTFS)? Would running two copies of PrimoCache, one directly on hardware and one inside a VM, be a good idea or would that just be a mess of conflicts?
Option 2:
If my host OS is Linux, my guest OS is Windows, and I install PrimoCache inside the VM, barring some minor overhead, will I still gain most of the performance benefits inside the guest OS? Rather than using a file-based VHD, the entire partition (and cache partition) would be made available exclusively to the VM. So while there's a layer of abstraction, as far as the guest OS is concerned, there's a system partition and a partition for caching, which correspond 1:1 to real physical drives.
Option 3:
I'm aware there are similar things to PrimoCache for Linux. Are there any that play nice? Linux Host running _____, Windows Guest running PrimoCache, but shared cache in case access to HDD is needed.
Any other suggestions for my use case?
Thanks a ton!