Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Baremetal vs self-hosted KVM
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Baremetal vs self-hosted KVM

Hey folks,

I have few dedicated servers (Postgresql databases + python scripts, one windows server). Im thinking about consolidating all servers in 1-2 proxmox nodes.
Good idea? Bad idea? Why?

On 1 hand I don't have any big experience with proxmox, on another hand since a few years I have proxmox/esxi hosts up and runnig without any bigger problems.

What performance loss in cpu bound tasks i should expect when comparing kvm to baremetal?

Thanks :)

Comments

  • MikeAMikeA Member, Patron Provider

    Sounds like a good idea to me, if the purpose is to save money. But it depends what you spend right now. Proxmox is easy if you install from their ISO, and you can get 6c/12t+ core servers relatively cheap now.

    Thanked by 1dodheimsgard
  • ulayerulayer Member, Host Rep

    Hypervisor is the way to go and Proxmox is very easy to use as you may know. You can squeeze a lot more out of a server when running VMs. The overhead is very minimal, performance isn't going to be noticeably better on baremetal.

  • yoursunnyyoursunny Member, IPv6 Advocate

    Hypervisor is unaware of NUMA sockets. When physical machine has multiple CPUs, and you allocate more cores from both CPUs into a single VM, programs within the VM cannot see which NUMA socket each CPU core belongs to, and cannot specify which NUMA socket to request memory allocation from.
    Consequently, if a specialized program, such as Data Plane Development Kit (DPDK) that I'm familiar with, needs to request memory on specific NUMA socket. Normally, hypervisor would provide memory on the same NUMA socket of the running thread, but there are cases that the main thread on NUMA socket 0 wants to allocate memory on NUMA socket 1 so that a different thread running over NUMA socket 1 can use it. This isn't possible with hypervisor that hides details about NUMA sockets.
    If you don't know what a NUMA socket is, or your machine has only one CPU, you are unaffected.

    Thanked by 1joepie91
  • ZerpyZerpy Member

    @yoursunny said:
    Hypervisor is unaware of NUMA sockets. When physical machine has multiple CPUs, and you allocate more cores from both CPUs into a single VM, programs within the VM cannot see which NUMA socket each CPU core belongs to, and cannot specify which NUMA socket to request memory allocation from.

    Well, not really - the hypervisor is not unaware of NUMA - however, by default the hypervisor will usually just assign cores to a given VM, but Proxmox for example have the option to enable NUMA for a given VM, and it will try (if available) to allocate the cores on the same physical socket, as well as memory that is connected to the given socket.

  • jvnadrjvnadr Member

    Yes, generally speaking, it is a good idea. I have several vps on my nodes using proxmox.
    If it is your infrastructure and not for selling services (vps, shared), then, you can also isolate your needs using Proxmox LXC (except, of course, the Windows vps).
    Just calculate your computing needs (not only CPU and memory but also traffic, disk space and, especially, i/o usage) and let some spare resources for the node to "breathe".
    In any case, have backups, some backups and definitely backups to other servers on other providers!

  • NeoonNeoon Community Contributor, Veteran

    Keep stuff easy and separated, so put proxmox on it and you good to go.

Sign In or Register to comment.