Configuring commit log backups

Commit log backups facilitate point-in-time restores. Configure commit log backup locations to On Server, Amazon S3, or a Local FS.

Commit log backups facilitate restoring backup data to a particular point-in-time.

If commit log archiving is enabled on a cluster, OpsCenter does not automatically enable commit log archiving on the new nodes when adding new nodes to a cluster using Lifecycle Manager. The Commit Log Archiving Setting Enabled Consistency Rule in the Best Practice Service checks to make sure all nodes within a cluster have Commit Log Archiving enabled.

Important: Enabling commit log archiving modifies the Apache Cassandra™ commitlog_archiving.properties configuration file. The archive_commitlog.sh is created when commit log archiving is enabled. If you add nodes to a cluster and commit log archiving is enabled, you must manually copy commitlog_archiving.properties and archive_commitlog.sh to the new nodes prior to starting DataStax Enterprise, or re-enable commit log archiving.

Prerequisites

  • Java 7 or later is required when backing up commit logs.

Procedure

  1. Click cluster name > Services.
  2. Click the Details link for the Backup Service.
    The Activity tab appears.
  3. Click the Settings tab.

  4. Click the Configure link for the Commit log backup feature.

    The Configure commit log backup dialog appears.

  5. Set the slider to On.
  6. If you want to backup the commit logs to a local filesystem location or to a cloud storage provider such as Amazon S3, click Add Location. For more information about Locations and Retention Policy, see adding a backup location.
  7. Required: Enter the path in the Backup Directory for staging the commit logs prior to storage on each node.

    The Backup Directory is configured with the backup_staging_dir option in address.yaml (default: /var/lib/datastax-agent/commitlogs/).

    Prior to being routed to the backup storage directory configured with the backup_storage_dir option in address.yaml (default: /var/lib/datastax-agent/backups/), the commit logs temporarily reside in the backup staging directory for commit logs. After the commit logs have been sent to any other configured locations, the commit logs are moved from the backup staging to the backup storage directory. The backup staging, backup storage, and the agent tmp_dir (default: /var/lib/datastax-agent/tmp) must all be located on the same filesystem so that a hard link can be established between them all during a restore. Shared filesystems do not constitute the same filesystem in this regard.

    The location set under Backup Directory must be writable both by the user running DataStax Enterprise and the DataStax agent user. The Backup Directory is not to be confused with the Commit log locations, which store backups of the commit logs. The DataStax agent user and the DataStax Enterprise user are by default the same user. If that is not the case for your environment, see Setting permissions to run the agent as the DSE user.

    Important: If the location runs out of disk space, the backup fails. Monitor the free disk space using available alerts. Configure the free disk space threshold to prevent backups from starting if there is not enough free space available. Commit log files record every mutation of the data in a cluster, and can grow quite large over time (see Logging writes and memtable storage). The disk performance of the commit log backup location is extremely important because the disk write speed can likely be a bottleneck for write-heavy use cases; and read performance a bottleneck for restore operations.
  8. Click Save.
  9. After enabling (or disabling) commit log backups, OpsCenter prompts you to confirm a rolling restart of the cluster.
    The Status column displays On for the Status of the Commit Log Backup feature.

  10. Click View Archive Times at any time to view the data and time for the archived commit logs.
    The Commit log backups dialog displays the Last Archived date and time for each node. When restoring a backup to a specific point in time, all nodes in the cluster must have a commit log backup for the desired time.