Storage Backends

The Sync Appliance uses by default a local storage backend limited by the capacity of local disk or mounted remote storage (NFS, distributed system, etc.).

The Sync Appliance can use external storage backends backed by Amazon S3 (or custom servers using the S3 protocol) and features:

  • strong encryption
  • automatic compression
  • built-in deduplication

Additional backends can be configured by the admin user via the webapp.

The Sync Appliance makes three assumptions about the storage backends:

  • durability
  • read-your-writes consistency
  • atomic renames (standard POSIX semantics)

Conventional remote storage like e.g. NFS mounts over mirrored disks satisfy these easily. Note in particular that the storage backend needs not support file locks or other problematic features.

Resilience against storage backend unavailability

The Sync Appliance is designed to keep working even when the storage backend is not available (e.g. NFS mount down), with little effect on the functionality:

  • incoming sync can proceed unaffected: the data received by the Sync Appliance is saved locally and moved to the storage backend when it becomes available.

  • outgoing sync is mostly unaffected: all files added after the storage backend became unavailable can be downloaded normally, as well as those that were added to the system up to 2 days before the outage.

  • access to the web service is mostly unaffected, as all operations but those that require access to the no longer available data can be performed normally (i.e., users can access recent files, but attempts to fetch older data will not complete until the storage backend becomes functional).