Rebirth.RO has generally had one of the best, if not the best, server and network infrastructures of any other RO server. We strive to provide the most powerful network and hardware possible. We constantly update and revise our backend systems and try our best to keep everything running as smoothly as possible. When we encountered issues that would have caused other servers to have to wipe or have major rollbacks, we’ve been able to avoid that. This blog post will cover what we are currently doing and what we are planning to do both in the next maintenance and in the coming weeks.
Data Integrity: Right Now
We actually take data integrity very seriously. All our servers use ECC RAM, which is fairly common in a server environment. If you are unaware, ECC RAM aims to prevent data in memory from becoming corrupted. The thing that is a bit more uncommon is our use of ZFS on our database and backup servers. ZFS provides data integrity that other file systems lack and as such ensures that the data we store remains valid.
Backups: Right Now
Right now we take point-in-time backups (also called snapshots) during maintenance. The last 2 backups are kept on the live server. At least a year’s worth of backups is stored in 2 locations: an external USB hard drive connected to my computer and a storage server located in my house.
Backups: Next Maintenance
What we will be doing this coming maintenance is setting up database replication. If you don’t know what that is, it’s simply a real-time copy of the database that exists somewhere else. In our case, we’ll be using an Amazon EC2 instance. The reason we chose EC2 and not some other VPS provider is to maintain as much data integrity as we can. Amazon has a proven track record of keeping data safe. We’ll also be starting to push backups to Amazon Glacier, which is a low-cost storage solution offered by Amazon. This is in addition to our practices now.
Backups: Later This Month
Later this month we’ll be making the move to encrypting backups (those stored in glacier and those stored locally at my home). We’ll also be setting up snapshots on the EC2 instance to take daily point-in-time backups without having to perform a maintenance every day. If you are wondering why that would be necessary with a real-time backup in place, it’s because a real-time backup only provides protection in the event of hardware failure. If, say, there was a power surge and the physical server hardware was destroyed, a real-time offsite backup, like we are doing with EC2, would be invaluable. However, if there was a bug in the game or site that caused all of your items to be deleted, this would propagate to the real-time backup almost instantly. In this case, we would need to use a point-in-time backup to restore your items. So point-in-time backups are very important, and the more often we can do them the better.