I move servers. A lot. I'm the type who switches things around depending on price, location, network and reliability. But most of the time, I leave my personal stuff alone. At least I usually do. That doesn't seem to be the case right now.
I'm all in for transparency, as long as it's not so much that it lowers security at least. Right now I'm planning a move to a dedicated server. This isn't a cost cutting measure, but an attempt at centralizing and increasing performance. A lot of people think this is just a matter of buying the new server, running
rsync -auP mystuff/ email@example.com and calling it done.
To shake this up a little bit, I thought I'd drag you along my process of finding a new host, planning the move and actually executing it. So brace yourself, this will be one hella geeky ride.
Also, I excuse all the blank space in the network maps, they're all just saved as PDFs and are usually pretty rushed. You might want to right click them and hit "view image" to get a better look.
The current setup
First off is planning which servers to move. I'll need to shuffle some processes around and come up with a plan for how I want things to end up. Currently, my main server network looks like this:
I have a bit more, but they're behind two routers named NAT and NAT2, let's forget about those network segments for now, since they're irrelevant for this.
There's a lot of server, and a lot of ways to shuffle this around. In general, I want to try only moving around stuff that won't really have an impact or that people won't really notice. Fortunately, this is pretty easy since this is a personal setup. And at least half the services here are never really seen by people other than me, making this a lot easier.
Which servers to replace
There was only one server I really wanted to replace this time around, omega.
Omega is a shared server, which runs a lot of Plex servers and torrent clients. Something I don't really feel is optimal. It's also managed by someone else so I don't have complete control over it, making it a bit more tedious to set up new things and troubleshooting in general. But since I don't really want to spend more money than I already do, I'll have to remove another server, otherwise, the monthly cost would instead be higher. And I don't really want that.
I decided to kill of saika as well. Since it's mostly just storage and backup at this point. Syncthing will easily keep running on clients even if the server goes down and the IRC bouncer isn't really a crisis. rTorrent is mostly seeding older torrents that are 4 months older or more, so killing it will at most keep me from gaining slight bit of buffer on some private trackers.
In the same way, ruTorrent on omega is just used for old stuff, so we can kill that guy too. Leaving us with only Deluge to manage a move for.
Planning the move
Fortunately, this is just a couple of personal servers, meaning that downtime isn't really an issue. All I really have to find out is how I should avoid breaking shit. Currently, my solutions look something like this:
- Move Deluge over to the new server with its session folder
- The IRC bouncer can just be reinstalled, as it's not really critical
- Syncthing will just sync from clients after the move
- Plex will just be installed manually and I'll set up new libraries
- Both rTorrent on saika and ruTorrent on omega will be killed off
A pretty simple move compared to stuff I've had to do earlier in life (Like converting configs for 24 apache sites to all-new nginx ones, then hoping they all work on the first try. ugh)
While I'm already doing this, I can consider some new services to add to the server. Currnetly I've thought about:
- Samba shares, to make accessing files easier
- A Webmail client, so I can read mail from places that block IMAP ports without having to mess with proxies
The end plan
Finally I can go ahead and visualize this as another network map, which ended up looking like this:
This is a move which seems really nice to me. Since saika is a Raspberry Pi (1st gen, model B) with an external HDD attached, it will also bring a lot of performance improvements to Syncthing and maybe some other things I fire up on it. saika has 512GB of storage (plus an 8GB SD card I guess), while the new server has a proper internal HDD at 1TB.
I'm hoping to finish this move before 2015 is over, otherwise I'll probably do it in January 2016. The server I plan to buy might also change, because prices are never really stable when it comes to tech.