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