Lenovo M920q
Power-saving, small-form-factor, smaller than a good book, cheap, efficient, and more powerful than expected. It's an interesting combination of words and phrases when describing a mini-pc that is designed for use in offices or hidden behind large signage. Still, these devices (especially the n-1 generation) can be found cheap on eBay and make for a great home lab (be it containers or a few reasonably-sized VM's).
Using these small-form-factor systems for home labs isn't something new, and using a NUC in the same fashion follows the same concept. What has changed however is the overall performance of these devices, and the maximum amount of RAM supported. Patrick at ServeTheHome is doing a significant amount of testing/review of these style devices (found here) and how they can be used as cheap servers for those wanting to experiment. As a NUC user for some time (and always wanting to reduce my electricity bill) giving one of these systems a try definitely has its appeal.
Insides
Despite the overall size the device still manages to cram in a large amount of functionality. Looking at the hardware specs of this model (Lenovo 10RRS1UC00) we have the following equipment/capability:
- Intel Core i5-8500T CPU
- 2 SODIMM slots (for up to 64GB RAM)
- m.2 NVMe full-length slot
- Onboard Intel GPU (shared memory)
- HDMI and DisplayPort output
- Gigabit Ethernet (Intel chipset)
- Internal SATA-3 port for 2.5" SSD
- Multiple USB2 and USB3 ports
- USB-C/Thunderbolt port
- HH/HL PCIe slot (with expansion board)
You can see from the image below that half of the board is covered by a large heatsink and fan for cooling. Even with that, everything is carefully laid out to provide room for upgrade (including support for a WiFi adapter, PCIe expansion, SATA drive, and optional Thunderbolt port on the rear.
RAM Upgrade
While the official specifications of the device show a maximum RAM capacity of 32GB, the CPU within the device (Intel i5-8500T) actually supports significantly more. As it turns out, after flashing the BIOS to the latest version (this part was important, I went for M1UKT65A) the device will take 2x32GB SODIMM's for a cool 64GB RAM. Memtest86+ shows the RAM is fine with a full pass, and ESXi shows all of the RAM as usable as well. From a home lab perspective this is major, as combined with the 6-core CPU even memory-heavy VM's can still function without issue. Unfortunately the cost (and availability) of 32GB SODDIM's is somewhat prohibitive, however that will change over time (as the cost of the devices also decreases).
Expansion
While the device comes with a SATA expansion bay which may be useful at a later date, a big focus for me is the ability to add a second network adapter so that I can run the device as an IDS (albeit virtualized). Thankfully the required riser can be ordered via eBay (a quick search for the model and 'PCIe riser' will find it) which can easily be added as required. It's worth noting however that it isn't a standard PCIe mounting bracket and so some creativity will be required to mount a PCIe card securely.
With the new riser card fitted a two-port Intel NIC was also added to allow for full packet capture without using a virtual interface. While it was tempting to add a single-port 10Gb NIC, the heat generated from them (and the power consumption) doesn't make it a good fit. The heat output from the new NIC looks good, and the total power usage doesn't appear to be hitting the limits of the power adapter.
Virtualization
With my hypervisor of choice being ESXi (I love Linux and KVM, but for ease of configuration and performance it just doesn't come close), I was pleased to see that ESXi 7.0 installs without any issues and performs great. I did have to do same trick as the NUC whereby you install 6.7 first and then upgrade to 7.0 so you don't lose a large portion of the SSD to virtual flash (top tip, use the latest ESXi 6.7 ISO as it has support for the newer Intel NIC). From a performance perspective it runs great and even when on full load the fan noise is minimal. While hyperthreading would have been a nice addition, I have it disabled for security reasons on all hardware so its not a significant issue. Disabling the unused hardware in the BIOS (i.e., audio controller) also helps reduce the overall power consumption of the device.
Current Status
Running smoothly in the rack, hosting multiple virtual machines while using very little power. The majority of the time its near-silent (even when a few inches away from the device). Going forward the plan is to add a PCIe network card and move the IDS virtual machine to this device.