Reindexing outside of the cluster (for 7.x to 8.13 upgrades)
ユーザーのダウンタイムを最小化するために、データベースのコピーを作成して本番環境クラスタの外部でインデックスを作成します。ほとんどのデータがインデックス済みになるため、アップグレードされたノードではインデックス全体をゼロから作成することなく、不足しているインデックスの追加のみを行うことができます。
概要
はじめる前に
これらのステップは Jira Data Center をシャット ダウンすることなく行なえます。
クラスタ外部でインデックスを作成
データベースのコピーを作成し、Jira 8.13 をそれに接続します。これにより、本番環境クラスタの外部で Jira 8 との互換性を持つインデックスを作成できます。
1. NodeIndexCounter
テーブルにコピー
データベースで
NodeIndexCounter
テーブルのコピーを作成します。
この操作が必要な理由
NodeIndexCounter
テーブルは、個々のノードからそれらのインデックスのコピーに適用された変更を記録します。このタイミングでコピーし、元のデータベースにあとから (アップグレード中に) 復元することで、この時点でユーザーが行った可能性があるすべての変更をアップグレードされたノードに含めることができます。
2. データベースのコピー
稼動中のデータベースのコピーを作成します。あとから元のデータベースに切り替えるため、ユーザーによる新規データの追加について心配する必要はありません。
これらのステップは実際のアップグレードに可能な限り近いタイミングで行う必要があります。これにより、元のデータベースとクローンされたデータベースの違いを最小限に抑え、保持期間を超過しないようにします。
3. データベースのコピーを Jira 8.13 に接続
データベースのコピーを接続する、別の Jira 8.13 環境が必要です。この環境の要件は次のとおりです。
Jira 8.13 である必要があります。
本番環境インスタンスと同じプラグインを持っている必要があります (プラグインはカスタム フィールドからの値を保持していたり、再インデックス中にインデックスにデータを追加したりしている可能性があります)。
Data Center ライセンスを使用している必要があります。ただし、シングル ノード構成を使用できます。
この環境をセットアップするもっとも簡単な方法は、次のステップを完了することです。
次のステップでは、別の 8.13 インスタンスをインストールし、自動再インデックスを無効化し、プラグインをインストール (または本番環境からコピー) して、準備が整ったら手動で再インデックスを実行します。
- 「Jira Data Center のアップグレード」の「最初のノードで Jira をアップグレードする」の手順に従います。Jira 8.13 を構成する際は、ここまでのステップで作成したデータベースのコピーに接続するようにします。
- 「Jira Data Center のアップグレード」の「最初のノードでのアップグレード後の手順」の手順に従います。
結果
手動の再インデックスを完了したら、データベースのコピーの情報に基づいた Jira 8 インデックスを用意できます。コピーの作成後に元のデータベースに加えられた情報は含まれませんが、不足している変更エントリのノードでの追加は、インデックス全体をゼロから作成するよりも簡単に行えます。
インデックスをノードにコピー
Jira 8 のインデックスは既存のクラスタに影響しないよう、古いバージョンとは別のディレクトリに保管されます。新しいインデックスを各ノードにコピーし、ノードでのダウンロードを不要にできます。
Jira 8 のインデックスを各ノードの次のディレクトリにコピーします。
<local-home-directory>/caches/indexesV1
Jira Data Center のアップグレード
ここでは Jira Data Center をシャットダウンし、アップグレードを開始する必要があります。
最初のノードのアップグレード
Jira Data Center のアップグレードでは時間の削減のため、1 つのノードを選択してそれをアップグレードし、インストール ディレクトリをほかのノードにコピーすることをおすすめします。ここでは任意のノードを選択できます。
クラスタを停止します。
この手順の最初にコピーした
NodeIndexCounter
テーブルを元のデータベースに復元します。これにより、アップグレードの開始後に元のデータベースに追加されたすべての情報について、ノードでエントリが作成されます。最初のノードをアップグレードします。「Jira Data Center のアップグレード」の「最初のノードで Jira をアップグレードする」の手順に従います。作業を開始する前に次のメモをご確認ください。
自動再インデックスの無効化
リンク先の手順の最後のステップには、自動再インデックスを無効化する旨の説明があります (ステップ 5: 自動再インデックスの無効化)。この手順を確実に完了するようにします。未完了の場合、Jira で自動再インデックスが開始され、この手順の目的を果たすことができません。
最初のノードでアップグレード後の手順を完了します。「Jira Data Center のアップグレード」の「最初のノードでのアップグレード後の手順」の手順に従います。
ステップの 1 つでインデックスを再インデックスするように促されます。このステップは除外するようにします。インデックスはクラスタ外部で作成済みのため、再作成する必要はありません。
実行される内容について
最初のノードの開始後、データベースがアップグレードされます。次のステップとして、ノードはインデックスの状態を確認し、必要に応じて再インデックスします。ただし、互換性のあるインデックスをすでにコピー済みであるため、ノードはこれを検出し、不足している変更のエントリ (元のデータベースと、Jira 8 インデックスを作成するために使用したクローンされたデータベースとの違い) の追加のみを行います。ノードの観点では、短期間オフラインになっていたのと同じ状況と見なされます。
オプション: インデックスのスナップショットのリクエスト
このオプションのステップでは、ノードでデータベースの更新を処理するのではなく、最初のノードのインデックスのスナップショットをダウンロードします。
残りのノードのアップグレード
これで、インストール ディレクトリを残りのノードにコピーしてそれらをアップグレードできます。
Upgrade remaining nodes. Follow Upgrade remaining nodes from Upgrading Jira Data Center.
インデックスの再実行
ノードには完全なインデックスが存在しているはずですが、変更が確実に適用されていることを確認するため、再びインデックスを作成することをおすすめします。再インデックスは 1 つのノードで実行されるため、Jira Data Center をシャット ダウンする必要はありません。
- > [システム] > [再インデックス] に移動します ("." を押して検索できます)。
- [完全な再インデックス] を選択します。
再インデックスの完了には時間がかかりますが、ユーザーは引き続き Jira を利用できます。完了後、新しいインデックスが残りのノードに自動的に配布されます。