Running several VMs with a single keyboard / monitor


Recommended Posts

Hi,

 

UNRAID Noob here, hope you dont mind the probably ignorant question:

 

[Background:  Currently I'm stuck on VmWare Workstation but it's just not cutting it.  It seems to just get worse with every release.  I need help dumping Workstation and switching to UNRAID.]

 

I've tried several times to switch to UNRAID but always run into the problem where it appears difficult / impossible to run several VMs at the same time without dedicating a keyboard & monitor to each VM.  But running multiple keyboards & monitors just isn't practical for me.

 

I looked at Evdev but that seems to only address the USB keyboard issue.  I did successfully get the KVM switch built into my monitor working by connecting a 2nd cable to the motherboard graphics port, and although that works it only allowed a 2nd VM to run at the same time, no more.  There was also some hokey weirdness with the BIOS randomly swapping the boot graphics device I never fully pinned down ant that was the eventual show-stopper.

 

Am I missing something here?  I have the feeling I must be, isn't this a really common problem?  I think I understand the solution to VNC/RDP into other 'headless' GPU-accelerated VMs from a primary VM, but I expect performance to suck even if both are running on the same machine.  Is this wrong?  I admit I haven't fully explored this option yet.  I've been waiting & watching UNRAID, hoping a new release brings a solution, but so far I'm not seeing it.

 

'Tldr' detail:  My primary use is heavy-duty CAD work, and I need high-performance 'DX12' level GPU-accelerated graphics in at least one VM.  I'd like to run another VM to provide 'host' background services (routing, etc) to other running VMs, and minimally one other VM (general purpose) and ideally a 3rd (VPN isolated) VM.  These other VMs don't need a dedicated GPU.

 

Can someone recommend an UNRAID configuration that might work for me?

 

 

Link to comment
31 minutes ago, Dav3 said:

Hi,

 

UNRAID Noob here, hope you dont mind the probably ignorant question:

 

[Background:  Currently I'm stuck on VmWare Workstation but it's just not cutting it.  It seems to just get worse with every release.  I need help dumping Workstation and switching to UNRAID.]

 

I've tried several times to switch to UNRAID but always run into the problem where it appears difficult / impossible to run several VMs at the same time without dedicating a keyboard & monitor to each VM.  But running multiple keyboards & monitors just isn't practical for me.

 

I looked at Evdev but that seems to only address the USB keyboard issue.  I did successfully get the KVM switch built into my monitor working by connecting a 2nd cable to the motherboard graphics port, and although that works it only allowed a 2nd VM to run at the same time, no more.  There was also some hokey weirdness with the BIOS randomly swapping the boot graphics device I never fully pinned down ant that was the eventual show-stopper.

 

Am I missing something here?  I have the feeling I must be, isn't this a really common problem?  I think I understand the solution to VNC/RDP into other 'headless' GPU-accelerated VMs from a primary VM, but I expect performance to suck even if both are running on the same machine.  Is this wrong?  I admit I haven't fully explored this option yet.  I've been waiting & watching UNRAID, hoping a new release brings a solution, but so far I'm not seeing it.

 

'Tldr' detail:  My primary use is heavy-duty CAD work, and I need high-performance 'DX12' level GPU-accelerated graphics in at least one VM.  I'd like to run another VM to provide 'host' background services (routing, etc) to other running VMs, and minimally one other VM (general purpose) and ideally a 3rd (VPN isolated) VM.  These other VMs don't need a dedicated GPU.

 

Can someone recommend an UNRAID configuration that might work for me?

 

 

It sounds as if you only need high performance graphics on one VM?    Remote access to other VMs via RDP or similar (I personally use NoMachine) is perfectly adequate for normal use.   I would not want to play a movie via that route but typical office type applications run with similar performance to having a dedicated GPU.   If that is correct then I do not see you having a problem.   Only needing a single GPU for your primary VM would certainly keep things simpler.

 

it might be worth highlighting exactly what your problems are with using VMWare workstation?   That might help identify any potential pr0blems using Unraid.

Link to comment

Ok, I'm going to look into a solution based on RDP and will take a look at NoMachine this weekend.  It sounds like it's worth a try.  Thanks for the recommendation.

 

At the risk of going on a minor rant, my issues with VMWare Workstation have to do with primarily two things:

 

1. It only supports 'emulation pass-through' graphics in the VMs that support up to the DX11 level API.  I.e. No real GPU shader support, which is becoming increasingly important in a modern computing environment.  Since v2015, my CAD software (primarily Autodesk Inventor) requires DX12 or it reverts to software graphics, which is unacceptable for my needs.  So I've been stuck on v2014 since then.  [I'm hearing rumors that Workstation v16 may support some sort of quasi-GPU-pass-through that might support DX12, but they're only rumors AFAIK at this point.  Similar rumors circulated prior to v15 & v14 so I'm not holding by breath.]

 

2. This isn't talked about much but VMWare found some serious bugs in their driver implementation in Workstation that could (and did) lead to some pretty bad data corruption issues.  Their solution was in following versions (and patches to older versions) to wrap their IO drivers in a mutex (single thread lock) that solved the corruption issue but absolutely kills heavy IO performance by forcing one IO transaction to complete at a time and forcing all other activity to wait before starting another.  And the way they implemented that wait was the worst possible way - by forcing it to be synchronous by just putting the VM CPU into a wait state until the current IO operation completes.  So nowadays, when I do something intensive (even copy large files or complex FEA runs, which I'm doing a lot of these days) it basically makes other VMs (thus the whole machine since I keep the host pretty barren) basically unusable.

 

Some other related issues.  When you consider that VMWare treats Workstation like a backwater product - they're all about the cloud now - I'm not holding out a lot of hope they'll fix the product anytime soon.  On the other hand (?), they have virtualized the IOMMU in recent releases, that's a big step towards virtualizing the GPU in smarter ways than simply locking it to a single GPU.  Another issue is that Nvidia is locking their consumer-level cards from API's that would enable GPU sharing.

 

So who knows how it will play out?  FWIW there are other rumors that Nvidia might forced to open up and allow their graphics cards to to this 'datacenter level' stuff (by AMD of course).  And maybe Vmware might get it's act together and finally properly support GPU hardware in Workstation.  All I know is that when doing heavy FEA, running the app in a VM is actually far worse than running it directly on the host.  It entirely locks up my primary machine for hours at a time.  Thus I'm casting around for better solutions.

 

If you read this far, thanks for reading.  Apologies if that turned into a rant.

 

-Dave

 

Link to comment
  • 1 month later...
On 5/31/2019 at 11:27 AM, Dav3 said:

impossible to run several VMs at the same time without dedicating a keyboard & monitor to each VM.  But running multiple keyboards & monitors just isn't practical for me.

I used to do this with Multiplicity -- one keyboard and mouse, multiple monitors with a few VNC-workstations. 

Not quite what you're asking for, but thought you might like the info.

 

Link to comment
  • 11 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.