Planning a multiseat, virtualized workstation

RudeRubbish

New Member
Dec 5, 2016
17
0
1
39
With AMD's Zen around the corner, I am getting ideas about what I might do with a crazy number of CPU cores.
I am looking to build a computer for use as a multi-seat workstation. I would like to have my host be some very stripped down OS (as close to "bare metal" as possible), and exclusively do all my work and play in various virtual machines. I am also intrigued by the concept of using dockers, but that is something I know even less about. I want to run 3 OSs, at least one of which will be Windows 10, and at least one of which will be some flavor of Linux.


My essential requirements are:
1. Pass-through of USB, video, audio, and network devices, such that I have a keyboard, mouse, and monitor bound to each OS.
2. Easy and fast access to shared storage from all devices.
3. Seamless copy-paste between OSs
4. Seamless boot- When I turn on the machine, all VMs are launched.
5. Better than 90% native performance (including for gaming).

Is this doable?

From what I've read so far, my thinking is to set it up like this:
- 8 core CPU, server board, three video cards of different types (one nice and two cheap), one PCI audio card, USB card with multiple controllers, lots of RAM
- FreeBSD (if possible, I'm unclear about the status of KVM for freeBSD) or CentOS with KVM

-Host OS on an M.2 drive

-VMs stored in a ZFS pool.
- A Windows 10 VM (for data science, media and a little gaming), a work Linux VM (for data science), and a Linux VM specifically for web browsing.
- The Windows 10 VM uses the nice video card, the PCI audio card, and its own network controller and usb controllers.
- The work Linux VM uses a cheap video card, no audio, and its own network and USB controllers
- The web browsing Linux VM uses a cheap video card and on-board audio.

Anyway, I'm open to suggestions regarding all my choices: hardware, virtualization solutions (although I'm guessing most people here are partial to KVM), file system choice etc. I'm also curious what people think will be the main hurdles (I'm particularly worried about the audio).
Any advice or relevant experience people can share would be greatly appreciated.
 

Markus

Member
Oct 25, 2015
78
19
8
Look @proxmox for a Debian based hypervisor which uses ZFS for Storage and a simple webinterface for management.
I use passthrough with a HBA - don't know if GPU also works.

Regards
Markus
 
  • Like
Reactions: RudeRubbish

MiniKnight

Well-Known Member
Mar 30, 2012
3,014
922
113
NYC
I mean... you can build this today inexpensively. I'm also advising you go for much less complexity.

Do this:
1. Get Windows 10 Pro install that as a base OS
2. Enable Hyper-V - Run Ubuntu VMs on there. Web browsing? Easy. Data science? Sure.
3. Install Docker for Windows for when you just don't want to spin up a huge VM. Extra points, you can even install Docker on Hyper-V Linux guest OSes and make a swarm across the VMs. Docker for Windows uses Hyper-V too so it's clean.

Hardware wise, you'll then need 1 GPU, no need for others. Cheaper, less power consumption. I'm assuming you want the Linux web browsing VM so that you can go to sites and not worry about virus infections of your main PC. You can do snapshots in Hyper-V even on Linux guests. Hyper-V also does let you virtualize FreeBSD now.

Your hurdle is ZFS at this point. I'd suggest just making a ZFS NAS and put two $30 10GbE cards, one in the NAS and one in the server. It is preferred to run ZFS bare metal if you can anyway. Otherwise, pass disks through to the ZFS VM but I'd keep it clean and just do NAS.

Doing the above means you have something that will use like 1/2 or 1/3 the power, it will be quieter and much easier to maintain. You also won't need pass-through AND it'll be a smaller footprint.

Zen is targeting Broadwell like performance so you can already get something better/ cheaper with used server gear today and it'll be cheaper than gen 1 Zen.

Check the STH front page post today. That is not too far off from what you could use so long as you bought a USB 3.0 hub w/ USB audio.
 
  • Like
Reactions: Patrick

RudeRubbish

New Member
Dec 5, 2016
17
0
1
39
I will definitely have a look at proxmox. I definitely do want more than one GPU as I will be doing gaming/graphics on the Windows side and I want to have a many-monitor setup. USB audio is a possibility although I already have a DAC that takes SPDIF input. And I really would rather have my base OS be something lighter than Windows.
 

_alex

Active Member
Jan 28, 2016
874
95
28
Bavaria / Germany
Hm, this sounds like you are looking for a VDI - Infrastructure ...
Would look at Citrix xendesktop, if this fits your needs somehow.
 

RudeRubbish

New Member
Dec 5, 2016
17
0
1
39
My understanding though that Citirix Xendesktop is meant to be deployed over a network. Because I want to be free to do gaming, I'd rather have everything plugged into the same box using normal video connections.
 

MiniKnight

Well-Known Member
Mar 30, 2012
3,014
922
113
NYC
I will definitely have a look at proxmox. I definitely do want more than one GPU as I will be doing gaming/graphics on the Windows side and I want to have a many-monitor setup. USB audio is a possibility although I already have a DAC that takes SPDIF input. And I really would rather have my base OS be something lighter than Windows.
Modern GPUs can handle multi-monitor.

If you can, try Win 10 w/ HyperV and docker. It'll change your mind.