Backup and Restore Strategy - BloomReach Experience - Open Source CMS

This article covers a Hippo CMS version 11. There's an updated version available that covers our most recent release.

26-04-2017

Backup and Restore Strategy

Regular backup and restore

Hippo recommends backing up the full Hippo Repository database daily.

Creating the backup

All data within Hippo is stored in the database. So making a backup of the database is sufficient to guarantee that no data is lost. While making the database backup there is no need to stop the system and the regular backup procedure for backing up the database can be used.

Restoring the backup

To restore the backup all nodes in the cluster must be stopped. After restoring the database a new index must be built to match the data of the restored backup. This is done by deleting the index folder on all the cluster node before starting the cluster node. At startup the index will automatically be rebuild. The location of the index is usually configured in the context.xml with the parameter repository-directory.

For example:

<Parameter name="repository-directory"
           value="${catalina.base}/../repository"
           override="false"/>

The location of the index folder in this case is:

${catalina.base}/../repository/workspaces/default/index

Backup and restore including the Lucene index

During the restore of the database in the normal backup procedure, it is required to rebuild the lucene index. If the repository contains a lot of content, for example hundreds of thousands of documents, this can take several hours. During the rebuilding of the index, the whole cluster is down and the site and cms will be unavailable. For use cases in which this is unacceptable, it is possible to also backup the index, but this process is more complex. Hippo advises to only use this method when there are very strict requirements since normally the time saving is not worth the extra complexity of the backup and restore procedure.

Creating the backup

  1. Stop one node of the cluster
  2. Store JOURNAL_ID of the node from the database. This can be found in the table REPOSITORY_LOCAL_REVISIONS.
  3. Backup Lucene index folder from the stopped cluster node
  4. Backup database
  5. Start node

Restoring the backup

  1. Stop all cluster ndoes
  2. Restore database
  3. Restore Lucene index folder from backup on all cluster nodes
  4. Set the JOURNAL_ID in the table REPOSITORY_LOCAL_REVISIONS to the value stored during the backup for all cluster nodes
  5. Start all cluster nodes

 

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?