I’m a man of many ideas. It’s a shame that most of them are quite stupid.

This is one of them, but at least it makes for a fun experiment.

Intro

After adding an UPS to accompany my server, my setup was as complete as it could reasonably be. The server is low power, but packs quite a punch with fast storage and plenty of compute power around. The UPS provides a battery backup for both my server and the router.

There was still one annoyance lingering at the back of my head: this setup took 40 watts of power in idle. That’s a lot for something that runs 24/7. Yes, /r/homelab regularly showcases more power hungry setups, but my standards are quite high when it comes to power use. I want to go as low as reasonably possible.

I recently bought a spare ThinkPad T430 so that I can have a backup machine in case something happens to my laptop that doesn’t suck. I’ve also had ideas about a server setup involving this laptop.

That’s when I decided to try running my services off of the ThinkPad T430.

The setup.
The setup.
Another angle of the setup.
Another angle of the setup.

The setup

Here’s a quick rundown of the relevant specifications:

  • CPU: Intel i5-3320M, 2 cores 4 threads @ 3.3GHz max
  • RAM: 16GB DDR3
  • OS disk: 256GB Micron mSATA SSD
  • Main storage: 2x 4TB Samsung 870 QVO SSD

One of the main reasons that this setup is viable in the first place is the fact that the ThinkPad T430 supports up to 3 SSD-s if you replace the optical drive with a HDD caddy. Your OS can run off of an mSATA SSD and your mirrored storage can utilize the two 2.5" SATA slots.

You probably don’t want to use a setup like this if you want to store a lot of big files, such as your legally obtained media collection. If your data can fit on a pair of SATA SSD-s, then this setup will be just fine.

Why use a laptop as a home server?

If you don’t have a home server yet and want to start off as cheap as possible while also being mindful of the power usage, then an used laptop with a competent CPU is a fantastic starting point. In an age where 6 CPU cores is considered mid-range, two CPU cores might not sound like much, but for most home server workloads it’s absolutely fine.

Laptop CPU-s are designed to use as little power as possible. After all, they need to run off of a small battery most of the time and have to run cool as well to make do with the limited cooling setup that they have. This makes them ideal for a machine that runs 24/7.

I measured the power usage of my ThinkPad T430 in this configuration and found that it used around 15-20 watts when running with a low load. This is comparable to the ASRock DeskMini X300.

What sets laptops apart from the usual desktop-based home server builds is that they often have a working battery, which can act as a poor man’s UPS. If you momentarily lose power, then the server will happily keep on working until the battery runs out, which might take 1-2 hours (or more if your battery is in a good state). This is comparable to the runtime I saw with the DeskMini server build and the APC Smart-UPS 750.

Most laptops also come with an Ethernet port, and if the laptop is made some time after 2005, then it’s likely running at gigabit speeds. Unless you have a valid use case for 10 gigabits or more, then this will be plenty of network bandwidth for most home server use cases.

One aspect that’s often overlooked with a laptop-based home server setup is the inclusion of an integrated keyboard and mouse. If you accidentally mess up your configuration and your server does not start up properly, then you can just open the lid and start fixing it on the spot. On any other setup, you’d have to find a monitor to hook the server up to and find a spare keyboard to use as well, which can be a hassle.

Performance

A home server that serves the needs of a couple of users at most and runs some scheduled tasks from time to time can run perfectly fine off of a dual core Intel Core series CPU from 2012. You probably don’t want to run intensive computational workloads off of it, such as transcoding video files on a service like Jellyfin. However, you can utilize the integrated GPU to off-load specific workloads to it, and media encode-decode for select video codecs is one of those. Intel QuickSync is an absolute godsend for situations where you need to transcode media on a CPU that isn’t that powerful.

My home server runs a lot of services: Docker containers, this blog, data archival jobs, backup jobs etc. When running them on the T430, the average CPU usage was around 20%. Not ideal, but still leaves plenty of headroom for services.

The overall usability and performance that this machine offers was completely acceptable. It’s not as lightning fast as something that runs a modern CPU, like the AMD Ryzen 5 PRO 4650G in the DeskMini, but it gets the job done.

Caveats: thermals

A home server built around a used laptop brings a lot of benefits. However, it also has some potential downsides that you should be aware of.

Most laptops have fans, and they can be damn loud. The ThinkPad T430 is notoriously loud if you have the cooling fan manufactured by Toshiba. In a home setting this can potentially a deal-breaker, unless you can wedge the laptop into a corner of the room where it’s not audible.

There exist solutions to the fan control problem. You can install a tool like thinkfan or just write your preferred fan level to /proc/acpi/ibm/fan to avoid the cooling fan running too loud (instructions here).

Running the fan at the lowest speed works fine most of the time since your CPU can throttle itself when it’s running too hot. However, with my setup I had an odd issue where the machine would power off suddenly when it was doing a lot of I/O workload, such as scrubbing the ZFS pool on the two 4TB SSD-s. This happened even when the CPU was not even close to throttling, running around 75 C. I do not know what the actual reason for the sudden shutdown is, but I suspect that it may be related to the motherboard overheating or the system treating the hot SSD-s as hard drives that are over the critical temperature limit of around 60 C.

I was able to work around most of the cooling-related issues by mounting the laptop vertically and limiting the maximum CPU clock speed to around 2.4 GHz using the knobs made available with intel_pstate.

The CPU temperatures during normal operation were mostly around 60C, with a high load reaching max 75C with the tweaks applied and the CPU fan running at the slowest possible speed.

Caveats: maintenance

If you have a machine that runs 24/7, maintenance will become an issue. No matter how often you clean your home, dust will accumulate. On desktop PC-s, cleaning out your CPU heatsink is just a matter of taking off the PC case side panel, removing the heatsink fan, cleaning off the dust and putting it all back together. You probably want to replace the thermal paste from time to time as well.

On most laptops, cleaning out the CPU heatsink is much trickier. You will likely have to disassemble most of the machine to even access it, which takes up much more time compared to a desktop PC, which also means more downtime.

Depending on the model, a simple change, such as upgrading your storage or replacing a faulty drive, can also be more complicated. I’ve seen laptops where you actually have to disassemble the whole machine to access the hard drive. The ThinkPad T430 has an easily accessible setup when it comes to storage, but the main storage bay does have an annoying pull-tab setup that probably won’t survive multiple subsequent changes.

Conclusion

Aside from the setbacks that may or may not be due to the specifics of my setup, I find that a laptop can make for a good home server. If you have more specific requirements, then a custom-built server is likely the way to go, but if you’re just starting out, then definitely do consider this option.

After running this setup for a week or two, I decided to go back to my previous setup based on the ASRock DeskMini. The reliability woes weren’t something I was too happy with, and I didn’t really have another use case for the DeskMini either, so it made sense for me.