Dec 6: Getting the most out of hardware

This post is about technical stuff, because that's what I do, but it's relatively
short and simple compared to my usual posts!

Being able to provide the quality of service that we do for such a low price is partially about big things like major efficiency improvements to our server software, but it's also about optimising small things.

Standalone IMAP servers

I blogged about our servers in last year's advent calendar. If you look at the section for one of the older servers (imap14) you'll notice that the search partition was less than 50% full, yet the spool
partitions were quite full. This pattern was repeated across all our 2U servers.

The OS partitions were also 1TB and had tons of free space. This was carved out of the 16TB RAID6, leaving room for only 15 slots.

In the process of rebuilding machines for Amsterdam, we decided to make use of that
free space, and reconfigure them, so instead of the RAID being:

(search and spool partitions are encrypted with LUKS, the SSDs have on-drive encryption, so they're just software RAID1 without OS level encryption as well)

We're slowly moving all the old machines over to this layout. Right now imap24 and imap29 have been reconfigured, and are syncing up new replicas from imap25 and imap26. That should be finished in about a week, then I'll empty those two servers and reconfigure the drives.

There are almost always long term migrations like this happening in the background. The latest IMAP hardware has 4TB big drives and 800GB SSDs along with 192GB RAM and some serious CPU, and we add new servers every few months and move users to them - but it's still good to get the best we can out of the older machines.