Virtualization as an alternative to two physical computers

GregHouse

New Member
Jan 27, 2026
2
0
1
Hi.

I wanted to build two physical computers:
one as a NAS using the TrueNAS and one as a desktop using the Windows.
The files would be stored on the NAS.
The desktop would be the main computer from which I would access the files on the NAS, where programs, games, ... would be installed.

I thought of an alternative:
A server with two CPUs.
I would use Proxmox as the host.

A virtual machine as the NAS, using CPU1 entirely and only for itself.
A virtual machine as the desktop, using CPU2 entirely and only for itself.

The host could share CPU1 with the NAS, or share CPU1 with the desktop.
The host and virtual machines will only use the local RAM, from the NUMA node of the CPU they are using.

The setup would be the same as with two physical computers:
The SAS/SATA drives would be connected directly to the NAS, using the PCIe passthrough of the HBA card.
The USB devices and the GPU would be connected directly to the desktop, using the PCIe passthrough of the USB card controller and of the GPU.

I want to use as few virtual devices as possible.

A) Is this possible?
  • I wanted to use the disks directly, without it being a virtual disk in a file. Like on two physical computers.
  • Only the host, the NAS, and the desktop would be installed on NVMe, each in MIRROR (6x NVMe).
  • The host and the NAS would be installed in RAID MIRROR via software. Each one in two NVMe.
  • The desktop would be installed in RAID MIRROR via hardware.
  • The passthrough of both NVMe would be used for NAS installation.
B) The CPU isolation (isolcpus, nohz_full, rcu_nocbs ..., or cgroups/cpusets),
and the PCIe passthrough and the PCIe SR-IOV, can be configured entirely via GUI?

Thank you.
 
With your goal as stated I think you’re making it way more complicated than two devices.

Actually having two CPUs means a higher class motherboard, RAM per CPU etc. a faster single CPU would also work. But then you don’t want to use any virtual devices which is kind of the point.
 
With your goal as stated I think you’re making it way more complicated than two devices.

Actually having two CPUs means a higher class motherboard, RAM per CPU etc. a faster single CPU would also work. But then you don’t want to use any virtual devices which is kind of the point.

That could work too.

But would my idea work?

B) The CPU isolation (isolcpus, nohz_full, rcu_nocbs ..., or cgroups/cpusets),
and the PCIe passthrough and the PCIe SR-IOV, can be configured entirely via GUI?
 
But would my idea work?
Depends on the hardware. Some is better "passthroughable" than others. You may have to try it out for yourself.

The CPU isolation (isolcpus, nohz_full, rcu_nocbs ..., or cgroups/cpusets),
and the PCIe passthrough and the PCIe SR-IOV, can be configured entirely via GUI?
Some are doable via UI but all of them? I don't think so.
 
A) Is this possible?

Propably. Whether this is a good idea is quite a different story though. First a NAS and a workstation/gaming pc are actually quite different things and some of their requirements counterdict eachother. For example on a gaming pc or highend workstation you would want maximal power in terms of RAM and CPU which will add up not only in the initial investment but also in your energy bill. Thus you will most likely only start it if you need it. A NAS on the other hand you would want to have just enough that it will work and try to get less hungry components so you can run it 24/7 without breaking the bank.

Another issue is that a lot of games have anti-cheating/copy protection etc mechanisms which often enough conflict with virtualization. Trying to make them work, might work out but feels (at least for me) more like work than having fun (the actual goal of gaming).

Third a virtualized machine will always have less performance than the system under it. For typical virtualization workloads that's not much of a deal and the benefits of virtualization can still make it worthwile. For example attaching storage etc as virtual discs allows complete backups and restores of the vms.
For your usecase I don't see them though. Basically you are planning a setup which removes most of the benefits of virtualization (because of the passthrough), adds the negative sides (loss of performance, software-issues if they don't support virtualization).

  • I wanted to use the disks directly, without it being a virtual disk in a file. Like on two physical computers.

So you want virtualization without actually benefitting from virtualization. Again: Why?

To be honest your idea had some flaw right from the start: Why would you host your games etc on the NAS and access from the desktop? Then the network will become the bottleneck.
If your main usecase is the gaming pc it's propably way easier to just bare-metal install Windows plus Applications and Apps and use windows internal file sharing capabilities to use your windows-pc as a NAS.

So all in all: I don't really get why you even want to seperate between your NAS and your PC, be it physical or virtual. So: What usecase do you want to solve with your setup?

If you want to have a workstation/Gaming PC but also play around with Linux or other vms using WSL or something like Virtualbox will propably more useful. I wouldn't run TrueNAS in it though but for just having a Linux fileserver you can also use any other Linux distribution. As already said for Windows the Windows network file sharing capabilities should be enough
 
  • Like
Reactions: UdoB