Backlog サーバの移行手順をおしえてください ( エンタープライズ スタンダード エディション )

Backlogサーバーを移行する手順は次のとおりです。

1. システム要件

  • 移行先に、移行元と同バージョンのデータベースがインストール済みであること
  • 移行先に、移行元と同バージョンのBacklogがインストール済みであること

Backlogのインストール方法は インストールガイド をご参照ください。

2. 概要

移行の必要があるデータは次のとおりです。

  • データベース
  • アイコン画像を保管しているディレクトリ
  • 検索インデックスのデータを保管しているディレクトリ

各保管ディレクトリは、 Backlog のインストーラを実行した際 に「スペースおよびユーザーアイコン画像を保存したり検索インデックスを保存するディレクトリを絶対パスで指定してください」で設定したディレクトリの下に生成されます。以下、このディレクトリをデータ領域ディレクトリと呼んで説明します

3. 移行手順

次の手順に沿って移行作業を行ってください。

また、移行先のスペースオーナー情報(データベースレコード)は上書きされますので、移行後は移行元のスペースオーナー情報をご利用ください。

移行元

  1. Backlogを停止します
  2. データベースのダンプファイルを作成します
  3. データ領域ディレクトリを圧縮します

移行先

  1. 移行元からダンプファイルとデータ領域の圧縮ファイルを取得します
  2. Backlogを停止します
  3. インストール時に作成したデータベースを削除し、あらたにデータベースを作成します
  4. データ領域ディレクトリを空にします
  5. データベースのダンプファイルをリストアします
  6. データ領域の圧縮ファイルを解凍し、移行元のデータ領域にコピーします
  7. Backlogを起動します

次に説明する詳細な手順では、次の例でコマンドなどを記載しています。

データベース backlog
データベースユーザー backlog
データ領域ディレクトリ /var/lib/backlog
移行先サーバーでの移行データ格納場所 /mnt

移行元

1. Backlogを停止します

アプリケーションサーバー(Tomcat)を停止してください。

2. データベースのダンプファイルを作成します

  • PostgreSQLの場合

pg_dump -U backlog backlog > backlog-dump.sql

  • MySQLの場合

mysqldump -ubacklog -p --opt backlog > backlog-dump.sql

3. データ領域のディレクトリを4つ圧縮します

cd /var/lib/backlog
tar cvf backlog-data-image.tar image

cd lucene
tar cvf backlog-data-lucene-index.tar index

cd ../solr/issue
tar cvf backlog-data-solr-issue-data.tar data

cd ../wiki
tar cvf backlog-data-solr-wiki-data.tar data

移行先

4. 移行元からダンプファイルと圧縮ファイルを取得します

移行先からscpなどで/mntなどに保管します。

5. Backlogを停止します

アプリケーションサーバー(Tomcat)を停止してください。

6. [移行先] インストール時に作成したデータベースを削除し、あらたにデータベースを作成します

  • PostgreSQLの場合

dropdb -U backlog backlog
createdb -U backlog -E UTF8 backlog

  • MySQLの場合

mysqladmin -u backlog -p drop backlog
mysqladmin -u backlog -p create backlog

7. [移行先] データ領域ディレクトリを空にします

rm -rf /var/lib/backlog/image
rm -rf /var/lib/backlog/lucene/index
rm -rf /var/lib/backlog/solr/issue/data
rm -rf /var/lib/backlog/solr/wiki/data

8. [移行先] 移行元で作成したデータベースのダンプファイルをリストアします

  • PostgreSQLの場合

psql -U backlog backlog < /mnt/backlog-dump.sql

  • MySQLの場合

mysql -ubacklog -p backlog < /mnt/backlog-dump.sql

9. データ領域をリストアします

mkdir /mnt/backlog-data
mkdir /mnt/backlog-data/image
tar xvf /mnt/backlog-data-image.tar -C /mnt/backlog-data/image
cp -r /mnt/backlog-data/image/image /var/lib/backlog

mkdir /mnt/backlog-data/lucene-index
tar xvf /mnt/backlog-data-lucene-index.tar -C /mnt/backlog-data/lucene-index
cp -r /mnt/backlog-data/lucene-index/index /var/lib/backlog/lucene

mkdir /mnt/backlog-data/solr-issue-data
tar xvf /mnt/backlog-data-solr-issue-data.tar -C /mnt/backlog-data/solr-issue-data
cp -r /mnt/backlog-data/solr-issue-data/data /var/lib/backlog/solr/issue

mkdir /mnt/backlog-data/solr-wiki-data
tar xvf /mnt/backlog-data-solr-wiki-data.tar -C /mnt/backlog-data/solr-wiki-data
cp -r /mnt/backlog-data/solr-wiki-data/data /var/lib/backlog/solr/wiki

データ領域ディレクトリの所有者とチームには、Backlogを起動するユーザー(アプリケーションサーバーの実行ユーザー)を指定する必要があります。

  • Backlogを起動するユーザーがtomcatの場合

chown -R tomcat.tomcat /var/lib/backlog

10. Backlogを起動します

アプリケーションサーバー(Tomcat)を起動してください。

以上でデータの移行が完了します。起動した初回のアクセス時にはスペース設定 > スペースの編集にてスペースURLの確認と設定をしてください。