I was having a conversation with someone, and the question of the server stats came up. Here we go:
The server hardware is actually two Dell R420 servers. From that beginning, I added a hardware RAID card, three rotary hard drives (1TB each), and one solid state drive (128GiB), 16GiB of RAM, and Intel Xeon E2430 CPUs, six cores each, 2.3GHz.
Two of the drives are RAID-1 (mirrored) with the third as a spare that will kick in automatically. I chose that configuration because a 3-disk RAID5 and a 2-disk RAID1 have very similar performance and reliability characteristics: they both have 2x read I/O and 1x write I/O, and can both tolerate one failed drive. With mirrored/spare, however, I trade off some space for automatic failover and rebuild onto the spare drive. I use the SSD as a block cache for the RAID1; that is, writes to the disk first go onto the SSD, and then get written out more efficiently, sequentially, to the rotary storage in batches, getting the best of both worlds. I use Bcache for that part.
The two servers both run Debian, a lightweight Linux distribution particularly well suited for servers. They are mostly identically configured; one is named ‘node1’ and the other is named ‘node2’. Installed on both servers is a piece of software named Ganeti, which manages KVM, a hypervisor; it’s used to run “virtual” machines, that is, machines that run virtually, separately from one another and can share a single physical computer. Ganeti lets me run VMs in a master-slave configuration, mirroring a VM between both node servers in such a way that if one server fails, the other server can take over. VMs can be migrated between the servers without people logged into the VM even noticing that it happened. For instance, I can move all the VMs onto node2, reboot node1, and then move all the VMs to node1 and reboot node2. Users don’t even notice, in theory. So, it’s pretty cool technology.
Right now, minecraft pretty much gets a node to itself. It’s extremely overpowered for the task, but I’ve specced things out to hopefully last me five or six years, so I’m pretty comfortable with the investment.