Game Server Backup Strategy: RAID 10, Snapshots, and Offsite RPO/RTO Planning

A 200-player Rust server writing to a 1TB NVMe array generates roughly 40-90GB of daily churn between world saves, plugin logs, and player databases. A conventional nightly full backup of that dataset takes 12-18 minutes and, on most game hosts, runs during exactly the window when your highest-value players are online. The fix is not a bigger backup window — it is a three-layer strategy where each layer covers a different failure mode.

Layer 1: RAID Is Availability, Not Backup

RAID survives disk death. It does not survive a corrupted world file, an accidental rm -rf, or a bad plugin update that overwrites the save. Treat RAID as uptime insurance only.

RAID levelUsable capacityWrite penaltyGame server fit
RAID 0100%NoneNever — zero redundancy
RAID 150%LowSmall single-server boxes
RAID 1050%ModerateBest for world-save write bursts
RAID 5n-1HighAvoid — rebuild risk on large NVMe
RAID 6n-2Very highCold storage only

For game workloads, RAID 10 on 4-8 NVMe drives with a hardware controller carrying a battery-backed or supercapacitor-backed write cache is the sweet spot. The cache absorbs save bursts that would otherwise stall the tick loop waiting on parity computation.

Layer 2: Snapshots for Rollback Speed

Snapshots are for the mistake you made ten minutes ago. A ZFS or Btrfs snapshot of a 200GB world costs milliseconds and near-zero space until data diverges.

# Hourly ZFS snapshot of the game data dataset, keep 48
0 * * * * /sbin/zfs snapshot gameserv/world@$(date +\%Y\%m\%d-\%H)

# Keep 48 hourly, drop older
15 * * * * /sbin/zfs list -H -o name -t snapshot gameserv/world | head -n -48 | xargs -r -n1 /sbin/zfs destroy
  • Snapshot before every plugin update and every world migration — no exceptions.
  • Never snapshot the live database file alone; snapshot the directory so WAL and data stay consistent.
  • Remember snapshots on the same physical array do not protect against hardware loss. They protect against human loss.
  • Watch snapshot space: high-churn log directories can consume 20% of the pool within hours.

Layer 3: Offsite Replication for Real Disaster

The offsite copy is the one that saves you when the datacenter loses power, the host is reimaged by mistake, or ransomware hits. It must be on different hardware, in a different facility, ideally on a different provider.

MethodRPOBandwidth/dayRestore time
Nightly full tarball24h40-90GB20 min
Incremental rsync (hourly)1h5-15GB45 min
ZFS send incremental1h2-8GB30 min
Continuous WAL streaming<1 min2-10GB10 min
#!/bin/bash
# Incremental offsite replication with resume and compression
LAST=$(ssh backup@offsite 'zfs list -H -t snapshot -o name -s creation gameserv/world | tail -1')
SNAP=gameserv/world@repl-$(date +\%Y\%m\%d-\%H)
zfs snapshot $SNAP
if [ -z "$LAST" ]; then
  zfs send -c $SNAP | ssh -c [email protected] backup@offsite 'zfs recv -F gameserv/world'
else
  zfs send -c -i $LAST $SNAP | ssh -c [email protected] backup@offsite 'zfs recv -F gameserv/world'
fi

The incremental ZFS send is the standout here: 2-8GB per hour over a 1Gbit link is comfortable, and because it transfers only changed blocks, compression keeps the pipe utilization low enough that it never competes with player traffic.

Restore Drills: The Part Everyone Skips

A backup you have never restored is not a backup, it is a hope. Run a restore drill monthly into an isolated environment.

  • Spin up a spare box, restore the latest offsite snapshot, boot the game server, confirm the world loads and player inventories are intact.
  • Time the whole drill end to end. If it exceeds 60 minutes, your RTO promise to players is fiction.
  • Verify the database replica is consistent, not just the world files.
  • Document the exact commands in a runbook the on-call admin can follow at 3am.

Verdict

Run all three layers, but budget your effort in proportion to risk. Hardware RAID 10 with a cached controller eliminates 80% of your outage risk for a one-time cost. Hourly snapshots cost almost nothing and save you from every bad plugin push. Offsite incremental replication is the only thing that saves you from a total host loss, so make it non-negotiable and test it. If you are still on a single-drive box, start by comparing dedicated server specs on our comparison table and look for RAID controllers with battery-backed cache — that is the single upgrade that most improves both performance and recoverability.

Leave a Reply