Loading

Snapshot and backup

This feature is only available on a standalone instance.

Concept

You can make snapshots on a Warp 10 standalone instance in order to save your data. You may then use rsync or other tools to backup your snapshot files in another place.

Snapshots are very fast and lightweight as they use hard links for data files. This means that the target path for snapshot must be on the same device as LevelDB home.

During the snapshot operation LevelDB compactions are suspended. On start, the snapshot process puts a flag to inform Warp 10 to suspend compactions. Once compactions are suspended, with any pending compaction finished, Warp 10 will write a flag file to inform the snapshot process of the state of compactions. At the end of the snapshot process, the flag is removed in order to allow Warp 10 to enable again the LevelDB compactions.

By default, you will find your different snapshots in the snapshots directory under the home of LevelDB:

├── leveldb
│   └── snapshots
│       ├── 2018-07-25_snapshot_#1
│       ├── 2018-07-25_snapshot_#2
│       ├── 2018-07-28_snapshot_#1
│       └── 2018-07-28_snapshot_#2

Creating a complete snapshot

sudo bin/warp10-standalone.init snapshot 'snapshot_name'

Creating an incremental snapshot using previous snapshot

You can reduce the time of compactions suspension by taking a snapshot based on another snapshot. It will have the same behavior as above except that it will disable compactions only for files that differ from the base snapshot you have specified.

sudo bin/warp10-standalone.init snapshot 'snapshot_name' 'snapshot_base'

You can find here the procedure to restore your data from a snapshot.

Backing up the configuration file

When taking a snapshot the Warp 10 configuration directory is also copied under the snapshot directory (i.e. leveldb/snapshots/<my_snapshot_name>/warp10-config/conf.d/) so the various cryptographic keys needed to access the data are also saved.