SNBS, the Simple Network Backup System, provides a framework for network-based backups to a central backup server. It is designed to be simple and robust, and it tries to avoid any trust relationship between the backup server and its clients.
In the following, the backup server is the server that stores the backups, and a backup source is a host that participates in the backup system and stores data on the backup server.
The design criteria which guided the development of SNBS are:
The backup server uses a traditional UNIX file system for storing the backups. Removable media support is not required.
There is hardly any trust relationship between the backup server and the backup sources. In particular, backups must be encrypted and integrity-protected by the backup source, and the backup sources might try to attack the backup server. Denial-of-service attacks must be detected, but the system need not prevent them if they originate from the participants.
The overall system must be as simple as possible. Installation on client systems must be non-invasive. All components that interpret network traffic (which is by definition untrusted) must be easily auditable.
Microsoft Windows systems (with Interix installed) can be backup sources.
A single backup sources can store multiple backup streams.
The system must support vastly different backup streams (tar
archives, incremental backups, but also dumps from PostgreSQL and other databases). The backup server shall be completely unaware of the format of the backup streams.
A configuration which enables backup sources to add more backup streams without reconfiguration of the backup server must be supported.
Backups are scheduled by the backup server, not by the backup source. Grandfather-father-son backup patterns must be supported. For each backup source or backup stream, the schedule shall be configurable.
Restore need not be fully automated and may require significant operator involvement.
Gradual migration to a more extended system must be possible. (A more extended system would support (semi-)automatic recovery and partial recovery of some files in a file system dump.)
The backup server should provide statistics (in particular, estimates of future disk space requirements) and reports on the backup status, preferably by email. Its software architecture shall permit further extensions in this area.
The SNBS network protocol is described on a separate page.
2004-07-18: published