VM server on the cheap

imrazor

Distinguished
I'm trying to build a super-cheap VM box as a home lab, mostly with parts on hand. The VMs would not be under heavy load, EXCEPT that I want to be able to apply Windows updates as quickly and painlessly as possible. I may also be using Linux VMs as routers for various virtual networks. I have the following equipment available, and would appreciate input as to which would be the most effective VM server:

Dell Precision M6400 laptop (Core 2 Quad Q9100 2.26GHz, 8GB RAM)

Dell Insipron 570 (2.9 GHz Athlon X3, 10GB DDR3)

Intel Core 2 Quad Q6600 (will OC to 3.0 GHz, but no mobo)

If I can get a cheap Socket 775 motherboard I can use the Q6600 (the old Mobo died) I can use it with either 6GB DDR2-667 (4 sticks) or 8GB DDR3-1333 (2 sticks). I also have a 256GB Crucial MX100 SATA III SSD or 640GB 7200RPM WD Blue I can devote to this project. The idea is to set up a few Windows Servers and clients to create my own little virtual domain for educational purposes. It will NOT see heavy loads.

P.S. How good would something like an FX-8320 be as a VM server?

P.P.S More cores? More RAM? More SSDs? Which is better for a VM server?
 
Solution
Where did you read that VT-d or IOMMU is required to install Hyper-V? VT-x or AMD-V definitely are required. and no VT-d or IOMMU means no device pass-through. Most H motherboards support VT-d, but not all Z motherboards do. My ASRock H97M Pro4 should support Hyper-V and ESXi without issues (still to be installed in a case, etc.) ASRock seem to have very good support VT-d and IOMMU; so does Gigabyte. Always check the manual and online to make sure the OS and pass-through both work with the motherboard you're interested in. As far as I'm concerned, if it works with ESXi, it will work with Hyper-V; however the reverse isn't always true.
If you can pick up a cheap 775 motherboard, many of them can run Intel Xeon server processors with slight modification. They perform better then the Core 2 Quads and are dirt cheap.

http://www.delidded.com/lga-771-to-775-adapter/
 
I use a non-overclocked Q6600 (I prefer stability over performance) with 16 GB of memory and a few hard disks to run several VMS (VMware workstation on Windows Server 2012 R2); since my VMs aren't very busy, the bottleneck often is the hard disks, but performance still is fine. More RAM, a faster CPU and SSDs would obviously be better if you can justify it. To be honest there is little difference between my Q6600 and my i5-4590 when running the same VM on VMware workstation, but using SSDs would be better (and costly). My i7-3770 is more responsive, but that's to be expected because it runs Hyper-V (ESXi and other hypervisors would be as good).
 
The only problem with a Q6600 is that it doesn't seem to support VT-d/IOMMU. I'm not sure if the Athlon II X3 does nor not. I'm intrigued by the Socket 771 mod, but I'm not sure if those old Xeons would have BIOS support or VT-d. I'll go root around in ARK and have a look. Would VMWare ESX run on a Frankenstein like that? It sure won't on the Inspiron or the Precision.
 
If you need IOMMU (AMD) or VT-d (Intel), then a CPU and motherboard that supports it is required. It also implies that you'll run a real hypervisor and something like VMware workstation. Not all AMD based motherboards properly support IOMMU (you probably should stay away from Asus if you have that requirement and instead look into ASRock or Gigabyte after making sure the BIOS includes it). It isn't much easier with Intel where the CPU (most non-K and all Xeon processors support VT-d) and the motherboard both have to support it. What devices will you pass-through?
 
One reason I wanted VT-d is that ESXi requires it when installing, though I have found a workaround for it. I also want it for educational purposes, to play with passing video and sound cards through to the VM. Since my main rig has K-class CPU, I can't use it for experimentation.

I was under the impression that if the CPU supported VT-d, you were all set. Apparently that was wrong. Would I have to look for a server or workstation class motherboard to get VT-d support?

EDIT: Oh, the other reason for VT-d. Microsoft's Hyper-V requires VT-d support to function, at least as far as I can tell.

EDIT 2: Nope, it's not VT-d that Hyper-V needs. It's extended page tables. No support in the C2Q line, not sure about Athlon II.
 
Where did you read that VT-d or IOMMU is required to install Hyper-V? VT-x or AMD-V definitely are required. and no VT-d or IOMMU means no device pass-through. Most H motherboards support VT-d, but not all Z motherboards do. My ASRock H97M Pro4 should support Hyper-V and ESXi without issues (still to be installed in a case, etc.) ASRock seem to have very good support VT-d and IOMMU; so does Gigabyte. Always check the manual and online to make sure the OS and pass-through both work with the motherboard you're interested in. As far as I'm concerned, if it works with ESXi, it will work with Hyper-V; however the reverse isn't always true.
 
Solution

If you read my second edit above, I realized that I was getting a little mixed up. It's extended page tables that Hyper-V requires, which I'm pretty sure shuts out all of the Core 2 line. If I do get a motherboard, it will probably be a socket 775 board. No 775 CPU that I'm aware of has extended page tables. Perhaps a Socket 771 Xeon might, but that would surprise me.
 
What OS will you install? Windows 8.1, Server 2008 R2 or Server 2012 R2? Just to make sure, I installed Windows 2012 R2 and the Hyper-V role on an Asus P5Q Deluxe and an E8400 (VT-x, VT-d, trusted execution technology and execute disable bit) CPU. I don't know where you found info that a Core 2 can't run Hyper-V. I haven't tried with a Q6600 that doesn't support VT-d or trusted execution technology (I doubt the motherboard supports VT-d). Based on my test, I'm sure a Q9650 would have no issues running Hyper-V on the same motherboard. I haven't configured the Remote FX role to test GPU pass-through.
 
Huh. I've got a laptop with a Core 2 Quad Q9100 and Windows 10 Pro installed. When I go to Turn Windows Features On or Off, and try to enable Hyper-V Hypervisor (under Hyper-V):

Hyper-V cannot be installed. The processor does not have Second Level Address Translation (SLAT) capabilities.

Now a Q9100 is not a Q6600, but I was pretty sure that they had the same feature set. Unfortunately this laptop can't take Windows Server due to video driver problems, and I don't have Socket 775 board for testing...
 
OK, this explains things a little more:
http://www.aidanfinn.com/?p=12679
If true, it explains that SLAT/Extended Page Tables is required for Hyper-V on Windows 8 (and presumably Windows 10), but is not required for Windows Server 2012. Unfortunately, that laptop will not run Windows Server 2012 thanks to a very odd video adapter. Running coreinfo.exe ( https://technet.microsoft.com/en-us/sysinternals/cc835722.aspx ) on my Athlon II X3 435 reveals that it *does* support SLAT, which will allow Hyper-V to run on either Windows Server or a Windows client, as well as giving the VMs a performance boost. Sorry for all the confusion.

Perhaps I'll upgrade the Athlon to a Phenom X4.
 
It puzzled me that SLAT was required for Windows 8/10, but not for Windows Server. Some Googling around found this article:

https://blogs.msdn.microsoft.com/virtual_pc_guy/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v/

In short, it appears that the Hyper-V hypervisor can seriously impede video driver performance without SLAT. Bummer. At least I've got the AMD system available if I decide to pursue my cheapo VM server.