3

My understanding is that type-1 “bare metal” hypervisors are usually used to run large numbers of virtual machines that are used by remote clients. I want to use several virtual machines on one multi-seat workstation, and have them all perform as well or nearly as well as running native. I think this would be advantageous both for separating work from entertainment, and for improving security.

I use my computer for a lot of different tasks. These include:

  • Photoshop, Lightroom, and other Adobe products (as a serious hobby)
  • Data science in R and Python (as my career track)
  • Some gaming
  • My jukebox
  • My main means of consuming TV and movies
  • Browsing mainstream websites (Facebook, news, work-related etc)
  • Browsing and posting that I want to keep separate from my main social media existence and as anonymous as is practical.
  • Using the web to buy things or do other stuff that is not anonymous, but does need to be secure.

In my dream workspace setup, I'd have 3+ monitors with dedicated purposes and connected to OS-dedicated video cards.

Station 1. Windows 10. The most powerful graphics card I can afford. One large monitor for graphics, gaming, and work with Windows-specific work apps. A second monitor(possibly a touchscreen) connected to the same graphics card, this for control of my music, as well as for any other panels or toolbars I am using a lot. A third monitor, vertical, for comparing documents with the main screen. Dedicated keyboard and mouse.

Station 2. Several Linux virtual machines. A KDE-based distro for my main browsing, social media, file management, and writing needs. A second, lightweight distro VM for doing banking and other private (but not anonymous) stuff. A third lightweight distro exclusively for visiting dodgy websites and posting anonymously. These get a large monitor and a vertical monitor (also for comparing documents, connected to a second graphics card (probably not a very fancy one).

Station 2.5: A small touchscreen monitor connected to my CPUs graphics that displays stuff like RSS feeds, weather, or whatever information I want to keep an eye on at the time. It would probably have its own VM too, not sure what OS would be best.

Integration:

  1. Copy-paste between all the virtual machines.
  2. A keyboard and mouse devoted entirely to Windows, and a second keyboard and mouse that is used exclusively to control the Linux virtual machines. These would preferably be switched between using a hotkey, so that they basically act like multiple desktops do.
  3. All files other than the OS and apps are stored on a shared drive, probably some form of ZFS pool.

My questions:

  1. Is this feasible?

  2. If so, should I expect a lot of problems with configuration and stability? (I read that IOMMU implementation is often buggy)

  3. Would this perform a lot better than just having a main OS with a bunch of virtual machines?

  4. What should I be aware of before choosing hardware and choosing a hypervisor for use as described?

Stonecraft
  • 360
  • 5
  • 15

1 Answers1

0

It was a long journey, I finally did this with Arch (LTS kernel 4.19) as the host OS and KDE Neon and Windows 10 as OSs with their own physical deskspace.

  • AMD Threadripper 1950x, 128GB ECC RAM, Windows 10 has a 1070GTX GPU and Sonnet Allegero USB 3.1 card. Linux has Radeon RX470.

  • ZFS manages VM and data storage. Host system is installed on mirrored SSDs.

  • Guests are on ZVOLs partitioned from mirrored NVME drives. Google Drive is installed on the host and has its own dedicated NVMe. It is shared to the guests via Samba.

  • I wasn't able to get NFS working with Arch, and every Ubuntu Server installation I tried experienced some sort of data corruption that made the system unbootable.

  • My only complaint is that I live in fear of updates because I went with Arch and depend on an out of tree kernel module (ZFS on Linux).

And now I foolishly tore down my system thinking that I could configure it better, and have been having a hell of a time because this time I thought ZFS on root would be a good thing to try. But this system worked flawlessly for a good five months before I did that, and hopefully soon it well be back better, faster, stronger.

  1. Copy-paste: supposedly this can be done with Spice, but I never was able to get it working. And my understanding is that it will not work for copy-pastew between VMs. I seem to have managed fine though.
  2. I have a USB 3.0 card which I passthrough to Windows to let me use a dedicated keyboard/mouse and get great audio via a USB DAC. I have two sections of my desk that I use for separate tasks (graphics and entertainment on the Windows side, work on the Linux side).
  3. Stability has not been an issue. Configuration of passthrough took a lot of work and reading, but works now (except for the AMD gpu reset bug).
  4. I don't have time to benchmark it against other setups, but it has been everything I hoped for. I like turning my body to a different screen more than I like switching between windows. I guess that's wierd and irrational, but that's what I like.
  5. I wish I had known about the AMD reset bug. Make sure you exhaustively research all components

So in short, this is definitely a lunatic's system, but I'm a happy lunatic.

Also, thanks to the SE communities for patient help that saved me from having my head explode. I mostly lurked there, but I found a lot of useful stuff on the Level1Tech forums.

These tutorials were also essential:

My setup

Stonecraft
  • 360
  • 5
  • 15