説明

レプリカ環境サーバでのアップグレード手順(2017.2 -> 2019.1)を説明しています。
※パッケージインストールではない場合の手順となります。

・LinuxOSでの作業手順です。
・Helix Coreサーバを起動しているOSユーザが"root"として説明を行っています。
 "root"以外のユーザで実行している場合、環境に合わせてコマンド実行ユーザと権限設定をお願いします。
 ご不明の場合は、作業前にテクニカルサポートまでご連絡ください。

手順

この手順では、以下のコミット - エッジサーバ構成でのアップグレード手順を紹介しています。
 - 例
  エッジサーバ2 --- エッジサーバ1 --- コミットサーバ

レプリカ環境構成では、外側のサーバ(ここではエッジサーバ2)からアップグレードを行い、つぎに、エッジサーバ1のアップグレードを行います。
最後に、エッジサーバ1とエッジサーバ2を停止したまま、コミットサーバのアップグレードを行います。

1.エッジサーバ2の停止
以下のコマンドから、エッジサーバ2を停止します

# p4 -p server:port -u super admin stop

  * server:portには、アップグレード対象のエッジサーバ2を指定します。
  * superには、super権限ユーザを指定します。

2.エッジサーバ1の停止
以下のコマンドから、エッジサーバ1を停止します。

# p4 -p server:port -u super admin stop

  * server:portには、アップグレード対象のエッジサーバ1を指定します。
  * superには、スーパ権限ユーザを指定します。

3.コミットサーバの停止
以下のコマンドから、コミットサーバを停止します。

# p4 -p server:port -u super admin stop

  * server:portには、アップグレード対象のコミットサーバを指定します。
  * superには、スーパ権限ユーザを指定します。

4.チェックポイントの取得(コミットサーバ)
p4dプログラムのバージョンアップを開始する前にチェックポイントを取得します。
チェックポイントを取得するには、以下のコマンドを実行します。

# p4d -r P4ROOT -jd

  *P4ROOTには、環境に適したパスを指定します。

5.チェックポイントの取得(エッジサーバ)
p4dプログラムのバージョンアップを開始する前にチェックポイントを取得します。
チェックポイントを取得するには、以下のコマンドを実行します。

# p4d -r P4ROOT -jd

 *P4ROOTには、環境に適したパスを指定します。

6.p4dプログラムのバックアップ(全サーバ)
既存の"p4d"プログラムをバックアップします。ここでは、既存の"p4d"プログラムが/usr/sbinに配置されている前提とします。

# mv /usr/sbin/p4d /usr/sbin/p4d_20172

7.p4dプログラム(Ver.2019.1)のダウンロード(全サーバ)
ダウンロードサイトから"p4d"プログラム(Ver.2019.1)をダウンロードします。
この手順では、"p4d"プログラムを/tmpへダウンロードした例として説明します。

Helix Core (Perforce) 製品ダウンロード

8.パーミッション設定(全サーバ)
ダウンロードした"p4d"プログラムへ実行権を追加するため、以下のコマンドを実行します。

#chmod +x /tmp/p4d

9.p4dプログラム(Ver.2019.1)の配置(全サーバ)
手順7でダウンロードした"p4d"プログラム(Ver.2019.1)を/usr/sbin配下へ配置します。

# mv /tmp/p4d /usr/sbin

10.p4dバージョンの確認(全サーバ)
以下のコマンドを実行し、p4dバージョンがアップグレードされていること、コマンドパスが通っていることを確認します。

# p4d -V

...
Rev. P4D/LINUX26X86_64/2019.1/1865205 (2019/10/11).
License: none

11.Helix Coreデータベースの更新(エッジサーバ2)
以下のコマンドを実行して、Helix Coreデータベースを更新します。

# p4d -r P4ROOT -xu

  *P4ROOTには、環境に適したパスを指定します。

2018.1: removing existing db.graphindex.
2018.2: Initialize Extensions depot and server.extensions.dir.
2018.2: Normalize a field in the triggers table.
2019.1: building db.storage from db.rev, db.revsh and db.revtx
2019.1: Adding default namespace to Extension configurations ...upgrades done

データベーステーブル"db.rev"関連の情報が多い場合、一時的にコマンドの応答が遅くなる場合があります。コマンドを強制終了しないように注意してください。
 - 対象メッセージ
  2019.1: building db.storage from db.rev, db.revsh and db.revtx

12.Helix Coreデータベースの更新(エッジサーバ1)
以下のコマンドを実行して、Helix Coreデータベースを更新します。

# p4d -r P4ROOT -xu

  *P4ROOTには、環境に適したパスを指定します。

2018.1: removing existing db.graphindex.
2018.2: Initialize Extensions depot and server.extensions.dir.
2018.2: Normalize a field in the triggers table.
2019.1: building db.storage from db.rev, db.revsh and db.revtx
2019.1: Adding default namespace to Extension configurations ...upgrades done

データベーステーブル"db.rev"関連の情報が多い場合、一時的にコマンドの応答が遅くなる場合があります。コマンドを強制終了しないように注意してください。
 - 対象メッセージ
  2019.1: building db.storage from db.rev, db.revsh and db.revtx

13.Helix Coreデータベースの更新(コミットサーバ)
以下のコマンドを実行して、Helix Coreデータベースを更新します。

# p4d -r P4ROOT -xu

  *P4ROOTには、環境に適したパスを指定します。

2018.1: removing existing db.graphindex.
2018.2: Initialize Extensions depot and server.extensions.dir.
2018.2: Normalize a field in the triggers table.
2019.1: building db.storage from db.rev, db.revsh and db.revtx
2019.1: Adding default namespace to Extension configurations ...upgrades done

データベーステーブル"db.rev"関連の情報が多い場合、一時的にコマンドの応答が遅くなる場合があります。コマンドを強制終了しないように注意してください。
 - 対象メッセージ
  2019.1: building db.storage from db.rev, db.revsh and db.revtx

14.コミットサーバの起動
通常手順でコミットサーバを起動します。ここでは、起動コマンド例を紹介します。

# p4d -r P4ROOT -p 1666 -L log -v server=3 -d

  *P4ROOTには、環境に適したパスを指定します。

15.Helix Coreバージョンの確認
以下のコマンドを実行し、起動中のコミットサーバ バージョンがアップグレードされていることを確認します。

# p4 -Ztag info

...
Server version: P4D/LINUX26X86_64/2019.1/1865205 (2019/10/11) ...

16.エッジサーバ1の起動
通常手順でエッジサーバ1を起動します。ここでは、起動コマンド例を紹介します。

# p4d -r P4ROOT -p 1666 -L log -v server=3 -d

  *P4ROOTには、環境に適したパスを指定します。

17.エッジサーバ2の起動
通常手順でエッジサーバ2を起動します。ここでは、起動コマンド例を紹介します。

# p4d -r P4ROOT -p 1666 -L log -v server=3 -d

  *P4ROOTには、環境に適したパスを指定します。

18. "db.storage"の構築状況確認(コミットサーバ)
Ver.2019.1から、新しく"db.storage"テーブルが追加されました。
このテーブルは、バージョンアップ後にHelix Coreサーバを起動するとともにバックグラウンドで構築が始まります。
構築状況は、以下のコマンドから確認できます。

# p4 -u super -p server:port storage -w

200GBを超えるdb.revテーブルがある環境では、完了までに数時間かかる場合があります。

構築終了時には、以下のコマンド結果を返却します。

The storage upgrade process is complete. 

アップグレード手順は以上となります。