Administrator's Guide

9.2 Restoring a controller from a backup
9.2.1 Restore operation
NOTE: To restore a controller from a backup, it is necessary to re-install the controller.
In a controller team environment each active controller is restored as a single system.
When the controller is deployed in a VM, standard VM 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.
If a backed-up controller in a team fails, use single-system restore to restore the controller. The
HA synchronization updates the controller to the latest version.
The controller blocks traffic over OpenFlow ports during a restore.
NOTE: The controller ceases to operate during a Restore operation.
9.2.2 System restore requirements
A system backup can be restored only to a system having the following:
The same controller version that existed at the time the backup was taken.
The same network settings (IP address) as were present at the backup.
The same license ID as was in effect when the controller was installed.
NOTE: If you have modified any environment—specific settings in files such as
/opt/sdn/virgo/options or /etc/init/sdnc.conf, ensure that the appropriate changes
are made to these files after you re-install the controller and before you start the restore. For example,
the network interface that the Virgo service uses (default: eth0) may be eth1 or another setting
on some systems.
9.2.3 Restoring a controller from a backup
1. Uninstall the controller(s) to be restored. If this is a rollback to a previous state, uninstall all
controllers.
2. Before restoring a controller, set CTL_RESTORE_INSTALL_MODE=True in the ~/
.sdn_install_options file in the home directory. If this file is not present in the directory,
create it with the CTL_RESTORE_INSTALL_MODE entry. If the file is already present, ensure
that it includes the CTL_RESTORE_INSTALL_MODE entry. This entry directs the installer to
perform the necessary changes to direct the controller to start in recovery/restore mode, during
which OpenFlow activity is suspended for the subject controller.
3. Re-install the failed controller(s), making sure to use the same IP address configuration. During
the re-installation, log messages similar to the following appear in the Audit Log:
root@mak:~/dev/controller/dist# dpkg -i hp-sdn-ctl_1.11_amd64.deb
Selecting previously unselected package hp-sdn-ctl.
(Reading database ... 212350 files and directories currently installed.)
Unpacking hp-sdn-ctl (from hp-sdn-ctl_1.11_amd64.deb) ...
Setup has detected a compatible jre-headless - 1.7.0_25
Creating system group 'sdn'...
...done.
Creating system user 'sdn'...
...done.
Creating system user 'sdnadmin'...
...done.
Configuring PostgreSQL database...
* Restarting PostgreSQL 9.1 database server [ OK ]
9.2 Restoring a controller from a backup 95