I've got a small HP Microserver G8 in my office as a general office fileserver, VM host for software projects, network server etc.
It originally came with a 2.3 Ghz dual core Xeon. This server was insanely good value for money, at only £179 (inc VAT) for the bare server with a Celeron G1610T processor and 2GB RAM. I spent a further £350 on 4 x WD Red 4GB disks and £110 on a 16GB memory kit for it.
The way I have the server set up, it boots from an internal SD Card into FreeBSD and starts the internal network interfaces. The majority of the actual data is then on a 4-disk ZFS raidz2 with each disk being a GELI encrypted filesystem:
I then run a script to start all the guest VMs (including The OpenBSD virtual router). This way if the server is ever stolen, the data is at least secure.
A while back I bought a more powerful CPU for it. After doing some searching around I found that an Intel BX80637E31230V2 processor at £181 should be a drop in replacement. It should run cool enough to still be OK in the small case of the server. This is a Xeon class processor which has some more virtualisation features:
Intel Turbo Boost Technology 2.0
Intel vPro Technology
Intel Hyper-Threading Technology
Intel Virtualization Technology (VT-x)
Intel Virtualization Technology for Directed I/O (VT-d)
Having VT-d means I can do PCI passthru on bhyve and pass PCI devices, such as network ports directly through to a guest OS on the VM. It also features AES-NI meaning it can do the AES crypto for the filesystem in hardware. I'm not entirely sure I trust onboard crypto these days, maybe me just being paranoid.
One great thing about this little server, is that it has an ethernet-based ILO port which gives you remote console access. When I replaced the CPU I was never expecting it to 'just work' first time. Inevitably something was going to cause trouble. I was expecting some kind of 'New CPU detected, Press F1'-type message on the console. But as it was it just booted up straight away without even needing me to go into the ILO console.
Physically replacing the CPU was dead simple, and pretty much tool-less. Just a couple of thumb-screws on the back to get the case off. Then unplug about five cables from the motherboard and slide the motherboard tray out the back of the chassis. Then unbolting the CPU was a case of just undo-ing 4 torx bolts holding the heatsink on using the supplied torx wrench. Swap the CPU, then put it back together, and voila. Back and running about 10 minutes later.
But anyway, here is the relevent bits of dmesg output before and after the upgrade:
Checking the IPMI sensors, and the processor is running at 40 degrees C at the moment, when fairly idle:
root@jenna:~ # ipmitool sensor
UID Light | 0x0 | discrete | 0x0080| na | na | na | na | na | na
Health LED | 0x0 | discrete | 0x0080| na | na | na | na | na | na
Power Supply 1 | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Fan 1 | 12.544 | percent | ok | na | na | na | na | na | na
01-Inlet Ambient | 22.000 | degrees C | ok | na | na | na | na | 42.000 | 46.000
02-CPU | 40.000 | degrees C | ok | na | na | na | na | 70.000 | 0.000
03-P1 DIMM 1-2 | 37.000 | degrees C | ok | na | na | na | na | 87.000 | 0.000
04-HD Max | na | | na | na | na | na | na | 60.000 | 0.000
05-Chipset | 59.000 | degrees C | ok | na | na | na | na | 105.000 | 0.000
06-Chipset Zone | 46.000 | degrees C | ok | na | na | na | na | 68.000 | 73.000
07-VR P1 Zone | 52.000 | degrees C | ok | na | na | na | na | 93.000 | 98.000
08-Supercap Max | na | | na | na | na | na | na | 65.000 | 0.000
09-iLO Zone | 47.000 | degrees C | ok | na | na | na | na | 72.000 | 77.000
10-PCI 1 | na | | na | na | na | na | na | 100.000 | 0.000
11-PCI 1 Zone | 37.000 | degrees C | ok | na | na | na | na | 64.000 | 69.000
12-Sys Exhaust | 50.000 | degrees C | ok | na | na | na | na | 68.000 | 73.000
13-LOM | na | | na | na | na | na | na | 100.000 | 0.000
Memory | 0x0 | discrete | 0x4080| na | na | na | na | na | na
Any questions, then let me know in the comments below.