wiki:RedundantServers
close Warning: Error with navigation contributor "AccountModule"

Redundant Servers

This page gives advice about running more than one Box Backup server for redundancy, resiliency and high availability.

Why

If one of your backup servers goes down temporarily, clients will not be able to back up, and may get annoyed.

If it goes down permanently, they may lose all their backed-up data and history, and they may get more annoyed.

Simple things like RAID on disks can increase uptime and prevent some failures, but does not help you if:

  • your server catches fire
  • someone deletes all the files
  • an OS upgrade goes wrong
  • power failure causes disk corruption
  • power supply fails
  • hosting company/site goes offline

How

There are two common methods:

  • Set up two completely independent servers (with synchronisation of the accounts database between them) and set your clients to back up independently to both. This uses more bandwidth per client (twice as much) but no bandwidth between the servers.
  • Set up a master and slave server. Have clients backup to the master, and the master replicate to the slave with rsync. May use a lot of bandwidth between master and slave.

Independent Servers

This is very easy to set up. You will need multiple configuration files, but you should not need multiple sets of keys.

On Windows clients, if you create Windows services (and you should), then you'll also need to create multiple services with different names and different named pipe names.

You can rsync the accounts.txt file and account home directory from one server to the other whenever you create a new account.

Master and Slave

It should be possible to synchronise the two servers with rsync. However rsync is not _that_ bandwidth-efficient or disk-efficient. You might consider running filesystems that support snapshots at both ends, and then locally computing the difference between two snapshots on the master and transferring just that difference to the slave. ZFS has built-in support for this (using the "zfs send" command).

I believe that Pete Jalajas was running a similar setup and discovered that the bandwidth use between the two server sites (using rsync) was too high, so he found it better to run two completely independent backup configurations on each client.

I don't believe you have anything to worry about from a failed sync (for example if the master dies in the middle of an rsync).

If you rsync from server A to server B while clients are backing up to server A, you will probably get some incomplete updates, lock files and inconsistent store statistics on B. You might want to run "bbstoreaccounts check fix" on each account on B after the transfer is complete.

If you do have any problems, please let us know. Good luck!

Last modified 11 years ago Last modified on Jan 27, 2008, 4:27:44 PM