2.5. Creating an offline backup (OpenShift)

Overview

When using Red Hat JBoss A-MQ on Red Hat OpenShift Container Platform 3.x, you can create an offline backup of your A-MQ container for the KahaDB message store. An offline backup is the safest way to backup your data because it avoids the risk of copying data that might be in the process of being updated.

Prerequisites

Before you begin, you should be familiar with the OpenShift Container Platform command line interface (CLI). See the OpenShift Container platform documentation (https://docs.openshift.com/index.html), specifically the Developer’s Guide and the CLI Reference.

Procedure

To create an offline backup for the KahaDB message store, follow these steps:

Procedure 2.1. Creating an offline backup

  1. Use the oc scale command to stop the A-MQ broker pod to make sure that no writes occur during the backup process:
    oc scale <object_type> <object_name> --replicas=<#_of_replicas>
    In the following example, deployment configuration (dc) is the object-type and broker-amq is the object-name, and the number of replicas is set to zero:
    oc scale dc broker-amq --replicas=0
  2. Create and run a no-op container to use for the backup process. In the following example, temp is the name of the no-op container and registry.access.redhat.com/rhel7 is the image for the container to run. The --tail -f option specifies to send logs about the run command to a local /dev/null folder and keeps the container running by preventing the replication process from closing it prematurely.
    oc run temp --image=registry.access.redhat.com/rhel7 --tail -f /dev/null
  3. Mount the A-MQ broker’s persistent volume claims (PVC) to the no-op container by using the oc volume add command as shown in the following example:
    oc volume dc/temp --add -t pvc --name=broker-amq-claim --claim-name=broker-amq-claim --mount-path=/opt/amq/old-data
  4. Copy the the A-MQ broker’s data from the no-op container to a local directory (for example /opt/amq/old-data):
    oc rsync temp-2-b5p6d:/opt/amq/old-data
  5. Remove the no-op container:
    oc delete dc temp
  6. Use the oc scale command to start the A-MQ broker pod:
    oc scale dc broker-amq --replicas=1