Archive:SEPsesam Extension for Jira

From SEPsesam
Revision as of 10:09, 19 May 2017 by Sta (talk | contribs) (Fixed link to new version.)

Template:Copyright SEP AG en

Overview

This document explains the general preparation steps for JIRA disaster recovery with SEP sesam.

SEP sesam provides a reliable backup and restore solution for JIRA, the issue tracking and project management system by Atlassian. Generally, there are two main approaches for backing up JIRA. The first one is to back up your database configuration in which JIRA information is stored (file dbconfig.xml). For this, catWorkX SEP sesam integration JIRA backup add-on in combination with SEP sesam software is used. Note that JIRA database configuration backup does not include attachments and plugins. For details, see Jira Backup Module.

The second one is to prepare for a disaster recovery of your JIRA instance. In most cases, a regular filesystem backup of the JIRA installation and data directory is sufficient for efficient restore. However, additional preparation is needed to be able to recover from a complete failure of your JIRA instance. This requires involvement of more SEP sesam backup modules and configuration of different backup tasks for complete backup of your JIRA instance. Depending on the Linux distribution your JIRA instance is running on, you should use a corresponding SEP Sesam BSR for Linux solution to create a backup of your JIRA system suitable for disaster recovery.

Configuring filelevel backup of your JIRA instance

To back up your JIRA installation and data directory, which contains application data for your JIRA instance, including attachments, you have to create two typical backup tasks with default backup type Path backup (in this step you select the data to be backed up). Then you have to set up a backup schedule (specify when you want to back up your data) and link a backup event to it (select where to back your data to and how). For general details on how to configure a backup and its prerequisites, see Standard Backup Procedure. Details about creating two backup tasks, one for backing up JIRA installation directory and another for backing up attachments, are described below.

Prerequisites

Creating backup tasks for your JIRA instance is a straightforward procedure.
First, you need to install the SEP sesam Client package on your JIRA system. You can download it from SEP Download Center. For details, see SEP Sesam Quick Install Guide.
Second, you need to acquire the following information to correctly select your source data for backup:

  • Installation directory of your JIRA instance (the directory into which the JIRA application files and libraries have been extracted).
  • Location of your JIRA HOME directory (see WEB-INF/classes/jira-application.properties). According to the latest JIRA documentation, the following are default locations of JIRA home directory:
    • If JIRA was installed using the automated Windows or Linux installers, the default location of the JIRA home directory is:
C:\Program Files\Atlassian\Application Data\JIRA (on Windows)
/var/atlassian/application-data/jira (on Linux)
    • If JIRA was installed from an archive file, the JIRA home directory can be any suitable location that is accessible by your JIRA installation. Typical example locations might be:
C:\jira\home (on Windows)
/var/jira-home (on Linux)
  • Location of your JIRA attachment directory. According to the latest JIRA documentation, the data subdirectory of your JIRA home directory contains application data for your JIRA instance, including attachments (for every version of each attachment stored in JIRA).
  • Operating system your JIRA instance is running on.

Creating a backup task for your JIRA instance

You have to create two different backup tasks, one for backing up JIRA installation and the other for data directory. The procedure is the same, you just need to select the relevant source directory for backup. Note that this setup follows the Atlassian recommendation for locating your JIRA home directory completely independently of the JIRA installation directory.

The following example shows the directory listing of a JIRA instance, installed on a Linux system.

user@jria:~# ls -alh /opt/jira/
total 16K
drwxr-xr-x  4 root root   4.0K Mar 26 10:31 .
drwxr-xr-x 10 root root   4.0K Mar 26 10:30 ..
drwxr-xr-x 13  500 oracle 4.0K Mar 26 10:31 atlassian-jira-6.4-standalone
drwxr-xr-x 12 root root   4.0K Mar 26 10:32 data

In our example is the JIRA instance installed to /opt/jira and the data directory resides on /opt/jira/data/.

You configure your backup as described in Standard Backup Procedure. Here only JIRA-specific information is introduced.

1. You configure your backup task from the Main Selection -> Tasks -> By clients -> select your JIRA client -> New backup task.

2. From the Backup type drop-down list, select Path.

3. Specify the Source. In our example, this is /opt/jira with all subdirectories.

Jira backup 1.jpg Jira backup 2.jpg

Creating a separate backup task for your JIRA attachments

SEP recommends that you create a separate backup task for your JIRA attachments. If you have attachments enabled in JIRA, all files attached to JIRA issues are stored in the data\attachments directory (not in the database).

Because of the nature of the attachments, which do not change once they are saved, consider backing up the attachments directory to an Si3 Deduplication Store. Before you begin, check the system requirements and recommendations. Make sure that you have enough disk space and that your storage can be extended for the needs of deduplication. Once your environment is set and Si3 data store configured, proceed as described in the Standard Backup Procedure and select your JIRA attachment directory as source.

JIRA's automated XML backups

JIRA's XML backup utility backs up the contents of the database in XML format. Note that XML generation is complex and adds to the load of the JIRA instance. If you are using this utility to automatically create an XML backup of JIRA data (by default, JIRA will create an XML dump of its database contents every 12 hours), you have to backup this JIRA XML backup too. It is located in the export subdirectory of your $JIRA_HOME, e.g., /opt/jira/data/export. JIRA XML backup is saved as a zipped archive file and can be used to recreate your JIRA database. For details, see the Atlassian documentation Automating JIRA backups.

Note that JIRA XML backup does NOT include the attachments or the JIRA install/home directory. For these directories, you have to create a separate backup task, as described above in Creating a backup task for your JIRA instance.

Example directory listing of the export directory

user@jira:/opt/jira/data/export$ ls -lah
total 712K
drwxr-xr-x  3 root root 4.0K Mar 26 10:31 .
drwxr-xr-x 12 root root 4.0K Mar 26 10:32 ..
-rw-r--r--  1 root root  27K Mar 25 11:23 2015-Mar-25--1123.zip
-rw-r--r--  1 root root  48K Mar 25 13:00 2015-Mar-25--1300.zip

Backing up JIRA database

JIRA stores its data in a relational database. Since JIRA's internal HyperSQL Database (HSQL) should only be used for evaluation purposes (according to Atlassian), you are probably using an external database (Oracle, PostgreSQL, MySQL, or MSSQL).

All databases have some specific requirements, configuration and limitation related to backup. You should backup your JIRA database running on an external database by using one of the following corresponding SEP sesam extensions:

Preparing JIRA for disaster recovery

To create a consistent and relevant backup of your JIRA system which can be used for a disaster recovery, the operating system itself should be backed up too. SEP sesam provides two disaster recovery solutions: Bare Metal Recovery Linux and BSR Recovery Pro for Windows. Depending on your operating system, prepare for a disaster recovery as described in the topic about particular disaster recovery solution:

Using Bare Metal Recovery to back up your system also enables you to restore your JIRA system to a machine with dissimilar hardware.

What is next?

JIRA Instance Restore

See also

Atlassian documentation: Backing up Jira