[SOLVED] How to create a custom Xeon CPU (Core Intel Xeon)?

LooneyTunes

Active Member
Jun 1, 2019
203
16
38
Hi,

I run my PVE (7.4-3) on an Intel NUC. Now I need to install MongoDB in a VM, and they have requirement of an "Core Intel Xeon" CPU.

Looking under "Type" in the CPU section when provisioning, there are many different Intel CPU types listed, but could not find an Xeon. So can PVE handle this, and which one would possibly be the best choice?

I am not even sure what CPU flags I need really, usually not having to be concerned with those. Should I just add all I can find for a Xeon CPU?

My fault finding led me here, MongoDB Forum, in which thread they talk about this...

(Core issue being the Unifi Controller app is dependent on MongoDB, which in turn needs this)

Edit: Digging in the manual I just found this, https://pve.proxmox.com/wiki/Manual:_cpu-models.conf, but not at all sure how to use it...

Edit2: Ok, so first I checked Intels webpage and found out that "Nehalem" is a 'Micro-architecture' for one of their Xeon families. Then looking in Wikipedia, I see the same listed next to "Core" - which is the type I think I need. One of the "steps" is called "Penryn", which indeed is available in ProxmoxVE. I will try if this works and post back, but would still much appriciate any comments if I'm getting this right.

Edit3: The above did not help getting MongoDB to start working, it crashes on start, not even logging anything...

Thanks
 
Last edited:
Set CPU type to "host". Then the VM will be able to make use of all CPU features your physical CPU supports. If then still features are missing, you probably are out of luck as some required enterprise features are missing.
 
Set CPU type to "host". Then the VM will be able to make use of all CPU features your physical CPU supports. If then still features are missing, you probably are out of luck as some required enterprise features are missing.
Thanks, luckily this wasn't neccessary in the end. I do get this is nothing that one perhaps come across that often... :)
 
Thanks, luckily this wasn't neccessary in the end. I do get this is nothing that one perhaps come across that often... :)
Would you mind sharing exactly what you did to get MongoDB up and running? I have it running now as well after changing the CPU type from "Default (kvm64)" to "host". I did this in the following location:

Server View > [VM] > Hardware > Processors > Edit:
Type: host (scroll down, it is at the very bottom)

This can also be done during VM creation on the equivalent step in the configuration.

I am curious as to what steps you took to get MongoDB to start and run without changing the CPU to host.
 
Would you mind sharing exactly what you did to get MongoDB up and running? I have it running now as well after changing the CPU type from "Default (kvm64)" to "host". I did this in the following location:

Server View > [VM] > Hardware > Processors > Edit:
Type: host (scroll down, it is at the very bottom)

This can also be done during VM creation on the equivalent step in the configuration.

I am curious as to what steps you took to get MongoDB to start and run without changing the CPU to host.
Absolutely :) One could argue this is not an efficient way of doing it, but it worked for me. I googled and found that ppl successfully had installed mongoDB on older Linux still available, such as Ubuntu 18.04-6, so I choose that one, downloaded MongoDB 3.6.23 from their website, pinned that version, and then upgraded Ubuntu to latest. I needed mongoDB for Unifi, which is a bit picky with versions it supports, so this was what I did. I have not tried to unpin mongoDB, but will one of these days to see if Unifi will work with latest as well, though I doubt it.
 
Thanks for the explanation. I had read in the MongoDB manual that one workaround for this issue is to use an older version of MongoDB, which is what you did. So, for anyone who does want to use the current version of MongoDB, the only solution is to change the CPU type on the VM before installing the OS (or at least before running MongoDB for the first time).

BTW: Do you mind flipping the indicator on the title of this thread to SOLVED? I think a workaround and a solution are both clearly stated in the answers above.
 
  • Like
Reactions: LooneyTunes
Absolutely :) One could argue this is not an efficient way of doing it, but it worked for me. I googled and found that ppl successfully had installed mongoDB on older Linux still available, such as Ubuntu 18.04-6, so I choose that one, downloaded MongoDB 3.6.23 from their website, pinned that version, and then upgraded Ubuntu to latest. I needed mongoDB for Unifi, which is a bit picky with versions it supports, so this was what I did. I have not tried to unpin mongoDB, but will one of these days to see if Unifi will work with latest as well, though I doubt it.
Easiest way to pin such things would be just using docker containers with exactly that version. I do not know any easier method that this.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!