9 Backing up and restoring

This chapter describes controller backup and restore actions using cURL commands. For the REST APIs related to backup and restore, go to /restore and /backup in the RSdoc facility on the controller. (Using a Google Chrome browser window on the controller, enter https:// system_ip_address:8443/api .)

NOTE: You cannot use RSdoc to download or upload files.

NOTE: Only one backup, restore, upload, or download operation can be active at any time on a given controller or controller team. Parallel operations are not supported.

9.1 Backing up a controller

A controller backup takes a snapshot of the controller state, and includes the following in a single file:

Controller databases

License compliance history and metrics log data

In a teaming environment, the teaming configuration

User repository folder (for user-installed applications)

Controller configuration folder

Application data for applications that have implemented backup/restore functionality.

NOTE: Applications using Cassandra in a teamed mode cannot use the backup and restore services in the SDN Controller. In this case, off-the-shelf solutions are recommended, such as rsync or Amanda.

Examples of cURL commands in this guide use the --noproxyoption, which is appropriate where execution of cURL commands do not need a proxy to access controllers. If your network is set up such that a proxy is needed to access controllers, use the --proxyoption. For details on cURL proxy options, visit http://curl.haxx.se/docs/manpage.html.

9.1.1 Backup operation

A controller backup includes the controller configuration and databases in one *.zip file.

Backups run in the background, and, except for locking the Cassandra database to prevent writes, do not interrupt system operation.

Whether operating in a team or operating in standalone mode, each controller is backed-up as a single system.

When the controller is deployed in a VM, standard VM backup/restore tools (such as Snapshot or Clone) can be used.

When the controller is deployed on bare metal, standard Linux server-based backup/restore tools (such as rsync, LVM snapshot, and Amanda/Zmanda) can be used.

To complete a teamed backup, no controller can be in a failed state. (A controller team must have three controllers.)

On any controller or controller team, only one operation can run at any given time (backup, restore, upload, or download). Also, starting a new backup while another backup is being downloaded creates an error condition and halts the new backup.

Only authenticated users are allowed to create and restore backups. In some cases the domain name is also required.

92 Backing up and restoring