Virtual machines

travm

[H]ard|Gawd
Joined
Feb 26, 2016
Messages
2,042
So I'm looking for reasons to buy a home server and run some vms. Partially because I want to be able to run some Linux software without having to dual boot. For testing ERP systems and other business server things. And partially because why not.

I want to be able to set it somewhere and run completely headless.

What should I look for in terms of hardware? (3 or 4 VMs )

Any tips on running headless? Win 10 base install? Or start with Linux?

Alternative would be I upgrade my gaming rig and run the VMs in the background. Would a 12 core ryzen work well enough?
 
If the VMs need to be running persistently to perform some tasks I would recommend a separate box. If they're just transient then running on your current PC is probably fine. Assuming the former:

Hardware: Unless cost-constrained, something with at least 8 real cores and 32 GB RAM should give you plenty of headroom for a few VMs. If needed, I'd cut CPU before RAM (it's generally somewhat OK to over-subscribe CPU a bit, not good to do so for RAM). SuperMicro components/systems are nice for building white-box systems for home servers, and the IPMI is great for running headless and accessing the system from a browser. You can also sometimes get older/refurb Dell/HP systems for cheaper, and IIRC they have something similar to IPMI (though it may be a separate license).

Software: Proxmox is a very nice, free-to-use virtualization package. It's built on top of Debian Linux, and basically provides a nice front-end to standard Linux virtualization systems (KVM, QEMU, LXC containers, etc.). There's also the basic free VMware ESXi hypervisor, which should generally be fine for a single box but may have some limits on RAM, CPU, etc. A basic Windows Server running Hyper-V is also an option, but will probably cost a lot more. I can't see any advantage to running the VMware or Hyper-V options unless you have some vested interest in doing so (e.g., it's what's run at work and you want to duplicate a setup or learn them better).

Budget?
 
If the VMs need to be running persistently to perform some tasks I would recommend a separate box. If they're just transient then running on your current PC is probably fine. Assuming the former:

Hardware: Unless cost-constrained, something with at least 8 real cores and 32 GB RAM should give you plenty of headroom for a few VMs. If needed, I'd cut CPU before RAM (it's generally somewhat OK to over-subscribe CPU a bit, not good to do so for RAM). SuperMicro components/systems are nice for building white-box systems for home servers, and the IPMI is great for running headless and accessing the system from a browser. You can also sometimes get older/refurb Dell/HP systems for cheaper, and IIRC they have something similar to IPMI (though it may be a separate license).

Software: Proxmox is a very nice, free-to-use virtualization package. It's built on top of Debian Linux, and basically provides a nice front-end to standard Linux virtualization systems (KVM, QEMU, LXC containers, etc.). There's also the basic free VMware ESXi hypervisor, which should generally be fine for a single box but may have some limits on RAM, CPU, etc. A basic Windows Server running Hyper-V is also an option, but will probably cost a lot more. I can't see any advantage to running the VMware or Hyper-V options unless you have some vested interest in doing so (e.g., it's what's run at work and you want to duplicate a setup or learn them better).

Budget?
Budget would be low. say $1000. all in.
 
CPU's that support virtualization. 64/128GB of memory. SATA disks. I'd say at least 1TB for starters. Can create an LVM and always expand disks..

Run CentOS/Ubuntu etc and use virt-manager for handling all the virutalization.. I.E it's free.

I'd also say you could do vmware workstation, and create vm's on your own box. This is what I do for various VM's and testing. Keep a gold Linux images around etc.
 
Last edited:
CPU's that support virtuarlization.
Can't stress this enough. It's agony to run a virtual machine without virt extensions on the cpu, and many Intel CPUs (some that might catch you off guard) lack support. Most AMD CPUs have Virt extensions, but you should still check the specs just in case.
 
If I am not mistaken, to enable native virtualization in Windows 10, you will need to have a Professional/Enterprise edition of the OS. However, if you still want to use Windows, you can use Oracle VirtualBox, VMware workstation (this one is not free). Otherwise, XenServer/KVM/Proxmox.

Latest Ryzen should support virtualization technology as well as the latest 4-5 generations of Intel CPU's.

RAM amount depends on the consumption. For the lab purposes, you can use dynamic RAM for all VMs and allow to overprovision RAM. If each VM will require 8 GB of RAM you can take 32 GB in the host and it will be more than enough.

For the storage, if you have enough budget, take 1 TB TLC/QLC SATA SSD and that's it.
 
Back
Top