Page 1 of 1

best way to run multiple Windows 10 VMs

PostPosted: 27. Aug 2019, 19:06
by bigjohn888jb
What I’m trying to put together is an emergency network to use temporarily in the event of a catastrophic disaster (for example, the office burning down).

The network currently consists of 16 windows 10 (i5’s, 8 gb of ram, 120 GB SSD).
These attach to a Windows 2012 r2 server. The server runs a SQL based software package that everyone attaches to, and also is where all their word processing documents reside.

What I’ve done is made a VM of the server running on a Xeon processor. It runs quite well and is nearly as fast as the regular server.
I took an i7 and created 2 Windows 10 VMs on it.
I then hooked up an OpenVPN server. This allows me to get to the VMs remotely from different offsite computers.

The emergency scenario then would be; the building is completely destroyed via flood, fire, etc.
So, the users who all have home computers could open up the VPN tunnel, login to separate Windows 10 VMs, and be able to work until a new building is secured.

My primary question is what would be the best computer specs to run the Windows 10 VMs. Would a Xeon be capable of running all 16 workstations at once?
64 GB minus 4 for the base operating system would give me (16) 3.75 GB per VM (roughly). Or would it be better to get 3 i7s, put 5 VMs on each (1 with 6) and get a little more ram for each VM.
Also what would be the best host for multiple windows 10 VMs?
Any input would be much appreciated

Re: best way to run multiple Windows 10 VMs

PostPosted: 27. Aug 2019, 19:14
by scottgus1
Sounds like you have an interesting project! Would like to try that myself.
Virtualbox capabilities are pretty much simple addition:

The number of CPU cores taken by each guest + one CPU core for the host OS must be less than or equal to the total number of physical cores in the host PC. Only physical cores count. Hyperthreads or the AMD equivalent do not count. (To see how many cores a host has according to Virtualbox, run a simple guest then look at the log for this line:
CPUM: Physical host cores: #

Total RAM requested for all guests that will run at once + whatever RAM the host OS normally consumes when not running a guest must be less than or equal to the amount of RAM in the host PC. Keep in mind that each guest's video memory setting also comes from host RAM and is in addition to the guest RAM setting.

More than 2 modern OS's running off a platter-style drive will swamp the drive and cause delays or crashes. SSD's should be able to handle many more OS's at once.

The host OS should be the one you are most familiar with. If I had to run an emergency host with a Linux host OS, I'd go "Sorry, boss, got no idea what to do... Should have been Windows". All supported OS's would work. Windows 10 has the default Hyper-V stuff Microsoft is pushing, but that situation can be surmounted. If you go Windows, go Pro at least for the host so you can use Group Policy Editor to turn off automatic reboot for updates. (Computer Config > Admin Templates > Windows Components > Windows Update > Configure Automatic Updates > Setting 2 Notify for Download and Auto Install)

I ran two Windows 7 guests as backup workstations on the office server when I played IT guy for a while. There was a bit of sluggishness with the CAD software we had that some who had to work with the backup workstations complained about. Try your company software to see what experience your coworkers will have.

Re: best way to run multiple Windows 10 VMs

PostPosted: 27. Aug 2019, 22:24
by bigjohn888jb
Thanks for the info.
I was not aware of the core/VM demand, I was concentrating on ram/VM.

So, the i7 that I have 2 VMs running on, could comfortably support 1 more windows 10 VM (if I add additional ram- currently only have 9GB). I’m doing 3 GB each VM and leaving 3 for the Windows 10 host.

I did use SSD’s and the overall performance is not bad. I used the VPN tunnel to come in from two different locations, ran the 2 VMs, connected to the SQL software and opened Word processing documents, and overall it looks like in an emergency it would be very tolerable. It also looks to me that I could also be using the host (i7-4 cores) so one computer could accommodate 4 users.

Would it be better to use Xeon as opposed to an I7, or would it not make much difference?

Good point on the host OS. I have used all of the various Windows down through the years, so that is what I have the most knowledge about.

Re: best way to run multiple Windows 10 VMs

PostPosted: 27. Aug 2019, 23:25
by Martin
Virtualbox also works well with CPU overcommitment as long as your workload inside the VMs is not very CPU heacy.
Most of the users here want to get best performance so we don't propose configurations where multiple VMs need to share cores. There would also an additional performance penalty because of the need to "unload" a VM from a core and "load" another many times per second for this time sharing.

Re: best way to run multiple Windows 10 VMs

PostPosted: 28. Aug 2019, 02:40
by scottgus1
Xeons vs Core-i#'s , I think, is just server- vs consumer-class, with the Xeons having error checking built-in more & compatibility with ECC memory etc. And money. If the data being processed were business-important, I'd say Xeons would be suitable, and especially so for the file server. But all the workstations at my old job were i#'s, and we got along fine.

Martin is right about the total core count being not too hard a barrier. I have over-provisioned a host before, assigning more total guest cores than there were on the host. 2 two-core guests and a one-core guest on a four-physical-core i7, and they all ran fine. But I also knew what might happen if all the guests went full-throttle down the trench to keep the fighters off their tails: the host might starve. It's just a risk assessment whether over-coring the guests would be ok or not, and to remember where to look if the host gets sluggish.