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 の確認と設定を行ってください。