Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1.スタンバイサーバのサーバ仕様作成【マスタサーバで作業します】

p4コマンドで“nomandatory”というサーバ仕様を作成します。p4コマンドで“nomandatory”というスタンバイサーバのサーバ仕様を作成します。

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4   p4 -u super -p master-server:port server standby-serverID
例:p4 -u super -p 192.168.56.102:1666 server nomandatory

② 設定を修正・追加します

Panel
borderColorgray
borderWidth1
borderStylesolid
title赤文字部分を修正・追記

ServerID:   nomandatory
Type:   server
Services:   standby ●standard(default)を上書き●standard(default)を上書き
Options:   nomandatory
ReplicatingFrom: commit ●一行追記する(マスタサーバのserver ID)
Description:
Created by super.
DistributedConfig:
any#P4JOURNAL=../journals/journal
any#P4LOG=../logs/log
⋮ 
any#unicode=1
P4LOG=log
P4TARGET=192.168.56.102:1666
P4TICKETS=/p4root_st/.p4tickets
db.replication=readonly
lbr.replication=readonly
monitor=2
rpl.journalcopy.location=1
serviceUser=service
startup.1=journalcopy -i 1
startup.2=pull -L -i 1
startup.3=pull -u -i 1

...

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4   p4 -u super -p master-server:port user -f service-user
例:p4 -u super -p 192.168.56.102:1666 user -f service

② 設定を修正・追加します

Panel
borderColorgray
borderWidth1
borderStylesolid
title赤文字部分を追記

User: service
Type: service ●一行追記する
Email: service@commit
FullName: service

...

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4   p4 -u super -p master-server:port passwd service-user
例:p4 -u super -p 192.168.56.102:1666 passwd service

Panel
borderColorgray
borderWidth1
borderStylesolid
titleパスワード設定

Enter new password: (任意のパスワードを入力します)
Re-enter new password: (確認のため同じパスワードを入力します)

...

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4   p4 -u super -p master-server:port admin checkpoint filename
例:p4 -u super -p 192.168.56.102:1666 admin checkpoint checkpoint

② チェックポイントファイルを転送します
   FTPツール(任意)を使用して、スタンバイサーバへチェックポイントファイル(checkpoint.ckp.1)を転送します。
   ※このマニュアルではスタンバイサーバの /tmp に格納しています

...

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド例

mkdir   mkdir /$P4ROOT
例:mkdir /p4root_st

② 作成したディレクトリのownerを“root”から“perforce”に変更します 
 ※ownerがperforceであれば作業不要です

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

chown   chown perforce:perforce -R /$P4ROOT/
例:chown perforce:perforce -R /p4root_st/

③ FTP転送したチェックポイントファイル(checkpoint.ckp.1)を$P4ROOT(ここではP4root_st/)へ移動します 
 ※$P4ROOTへ転送済みであれば作業不要です

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

mv /  mv /転送場所/filename /$P4ROOT/
例:mv /tmp/checkpoint.ckp.1 /P4root_st/

④ チェックポイントファイルのownerを“root”から“perforce”に変更します
  ※ownerがperforceであれば、作業不要です

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

chown   chown perforce:perforce filename
例:chown perforce:perforce checkpoint.ckp.1

⑤ Perforceサービスを停止します

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4dctl   p4dctl stop server-name
例:p4dctl stop nomandatory

⑥ 不要なファイルを削除します
   構築したスタンバイサーバに存在するデータベース等を削除します

   $P4ROOT(ここではP4root_st/)に移動し、以下のファイルを削除します
   ・ファイル名が[db.]で始まるファイル(データベース)すべて
   ・server.locksフォルダ:フォルダごと削除   

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド例

rm -f db.*
rm -fr server.locks/

...

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4d   p4d -r /$P4ROOT -xD standby-serverID
例:p4d -r /P4root_st -xD nomandatory

⑧ チェックポイントファイルを展開します。※ownerが“perforce”になるように展開してください。
  コマンド実行後、db.ファイルが作成されたことを確認します

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4d -r /P4root_st$P4ROOT/ -jr checkpoint.ckp.1jr filename
または
sudo -u perforce p4d -r /4root_st -jr fcheckpoint.ckp.1$P4ROOT -jr filename

⑨ Perforceサービスを開始します

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4dctl   p4dctl start server-name
例:p4dctl start nomandatory

5.レプリケーションの設定と確認【スタンバイサーバでの作業です】

① ユーザ“service”が使用するレプリケーション用チケットを作成します
  ※"p4root_st/.p4tickets"はサーバ仕様作成時(手順1-②)に指定した場所を入力します。

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4   p4 -p master_server:port -u service -E "P4TICKETS=/p4root_st/.p4tickets" login
例:p4 -p 192.168.56.102:1666 -u service -E "P4TICKETS=/p4root_st/.p4tickets" login 

② レプリケーション用チケットの確認をします

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

ls   ls -la /p4root_st/.p4tickets

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行結果:例

-r--------. 1 perforce perforce 53 10月 10 16:48 /p4root_st/.p4tickets

...

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4   p4 -u super -p standby_server:port pull -lj
例:p4 -u super -p 192.168.56.104:1666 pull -lj

Panel
borderColorgray
borderWidth1
borderStylesolid
title表示されるメッセージ例

Current replica journal state is: Journal 1, Sequence 4878.
Current master journal state is: Journal 1, Sequence 4878.
The statefile was last modified at: 2019/10/16 15:16:27.
The replica server time is currently: 2019/10/16 15:19:11 +0900 JST

...

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

  p4 -u super -p standby-server:port failover -i -s commit s master-serverID -w 10 -F
例:p4 -u super -p 192.168.56.104:1666 failover -i -s commit -w 10 -F

Info
title解説

-i ………… フェイルオーバー動作中にマスタサーバを無視するオプションです
-s ………… serverID 切り替えるサーバ(今回はマスタサーバ)のserverIDを指定します
-w 10…… フェイルオーバー実行までの待機時間を“秒”で指定します。今回は10秒としています
-F………… 強制的にフェイルオーバーを実行します(※マニュアルに記載のないオプションです)

...

Panel
borderColorgray
borderWidth1
borderStylesolid
title実行コマンド

p4   p4 -u super -p standby-server:port failover -i -master-serverID -w 10 -F -y
例:p4 -u super -p 192.168.56.104:1666 failover -i -s commit -w 10 -F -y

Panel
borderColorgray
borderWidth1
borderStylesolid
title表示されるメッセージ

Attempting unsupported forced failover; attempting to continue through any errors encountered. This server might not be as expected after the forced failover.
Starting failover process ...
This failover requires that this server have the 'mandatory' option set since the server from which failover is to occur is not participating in the failover.
Waiting for 'pull -L' to complete its work ...
Checking for archive file content not transferred ...
Verifying content of recently updated archive files ...
Moving latest journalcopy'd journal into place as the active journal ...
Updating configuration of the failed-over server ...
Restarting this server ...
Perforce Server re-starting...

...