説明
Perforce Helix Coreのフェイルオーバー機能を使用したDR環境構築の手順を説明していますCoreのフェイルオーバー機能を使用したDR環境構築、構築後のテスト運用手順を説明しています
警告 |
---|
・マスタサーバとスタンバイサーバのタイムゾーンが一致している必要があります。 |
...
1.スタンバイサーバのサーバ仕様作成
【マスタサーバで作業します】
1.p4コマンドで“nomandatory”というサーバ仕様を作成します。① p4コマンドで“nomandatory”というサーバ仕様を作成します。
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -u super -p master-server:port server nomandatory |
2.設定を修正・追加します② 設定を修正・追加します 赤文字部分を修正・追記箇所し、保存します。
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ServerID: nomandatory |
情報 | ||
---|---|---|
| ||
startup.1=journalcopy -i 1 …… 起動時にjournalcopy(マスタサーバのjournalをスタンバイに移送)を実行 |
2.サービスユーザの作成と設定
【マスタサーバで作業します】
1.p4コマンドで“service”というレプリケーション用サービスユーザを作成します
実行コマンド
p4 ① p4コマンドで“service”というレプリケーション用サービスユーザを作成します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -u super -p master-server:port user -f service |
...
② 設定を修正・追加します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
User: service |
...
service ●一行追記する |
3.サービスユーザ ③ サービスユーザ “service” のパスワードを設定します
実行コマンド
p4
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -u super -p master-server:port passwd service |
...
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Enter new password: (任意のパスワードを入力します) |
4.サービスユーザのアクセスレベルの設定を追加します
実行コマンド
p4 protect
表示例)④ サービスユーザのアクセスレベルの設定を追加します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 protect |
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
write user * * //... |
...
●一行追加 |
3.チェックポイントの作成と移動
【マスタサーバで作業します】
1.スタンバイサーバ用のチェックポイントファイルを作成します
作成したチェックポイントファイル名は“checkpoint”としています 実行コマンド
p4
① スタンバイサーバ用のチェックポイントファイルを作成します
作成したチェックポイントファイル名は“checkpoint”としています
チェックポイントファイル(ファイル名:checkpoint.ckp.1)が作成されます
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -u super -p master-server:port admin |
...
checkpoint checkpoint |
チェックポイントファイル(ファイル名:checkpoint.ckp.1)が作成されます
2.チェックポイントファイルを転送します
FTPツール② チェックポイントファイルを転送します
FTPツール(任意)を使用して、スタンバイサーバへチェックポイントファイル(checkpoint.ckp.1)を転送します。
※このマニュアルではスタンバイサーバの ※このマニュアルではスタンバイサーバの /tmp に格納しています
4.スタンバイサーバの設定
【スタンバイサーバでの作業です】1~4の作業については、サーバ構築方法によって対応が異なります。実環境をご確認の上、必要に応じて作業してください。1.P4ROOT用のディレクトリ
情報 |
---|
①~④の作業については、サーバ構築方法によって対応が異なります。実環境をご確認の上、必要に応じて作業してください。 |
① P4ROOT用のディレクトリ “p4root_st” を作成します ※既にルートフォルダを作成済みであれば、作業不要です 実行コマンド
mkdir を作成します
※既にルートフォルダを作成済みであれば、作業不要です
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mkdir /p4root_st |
2.作成したディレクトリのownerを“root”から“perforce”に変更します ※ownerがperforceであれば作業不要です
実行コマンド
chown ② 作成したディレクトリのownerを“root”から“perforce”に変更します
※ownerがperforceであれば作業不要です
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
chown perforce:perforce -R /p4root_st / |
3.FTP転送したチェックポイントファイルを$P4ROOTへ移動します ※$P4ROOTへ転送済みであれば作業不要です
実行コマンド
mv /転送場所/filename /$P4ROOT/
コマンド例
mv ③ FTP転送したチェックポイントファイル(checkpoint.ckp.1)を$P4ROOT(ここではP4root_st/)へ移動します
※$P4ROOTへ転送済みであれば作業不要です
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mv /tmp/checkpoint.ckp.1 /P4root_st/ |
...
4.チェックポイントファイルのownerを“root”から“perforce”に変更します
※ownerがperforceであれば、作業不要です
実行コマンド
chown perforce:perforce filename
5.Perforceサービスを停止します
実行コマンド
p4dctl stop server-name
コマンド例)
p4dctl stop nomandatory
6.不要なファイルを削除します
構築したスタンバイサーバに存在するデータベース等を削除します
...
④ チェックポイントファイルのownerを“root”から“perforce”に変更します
※ownerがperforceであれば、作業不要です
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
chown perforce:perforce checkpoint.ckp.1 |
⑤ Perforceサービスを停止します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4dctl stop nomandatory |
⑥ 不要なファイルを削除します
構築したスタンバイサーバに存在するデータベース等を削除します
$P4ROOT(ここではP4root_st/)に移動し、以下のファイルを削除します
・ファイル名が[db.]で始まるファイル(データベース)すべて
・server.locksフォルダ:フォルダごと削除
実行コマンド例
rm
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
rm -f db.* |
7.ServerIDを指定します⑦ ServerIDを指定します
サーバ“standby”のserverIDを“nomandatory”に指定します
※既に指定されている場合は作業不要です 実行コマンド
p4d
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4d -r / |
...
P4root_st -xD nomandatory |
8.チェックポイントファイルを展開します。※ownerが“perforce”になるように展開してください。
実行コマンド
p4d -r /$P4ROOT -jr filename
または
sudo ⑧ チェックポイントファイルを展開します。※ownerが“perforce”になるように展開してください。
コマンド実行後、db.ファイルが作成されたことを確認します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4d -r /P4root_st/ -jr checkpoint.ckp.1 |
...
実行後、db.ファイルが作成されたことを確認します
9.Perforceサービスを開始します
実行コマンド
p4dctl start server-name
コマンド例
p4dctl start nomandatory
5.レプリケーションの設定と確認
【スタンバイサーバでの作業です】
1.ユーザ“service”が使用するレプリケーション用チケットを作成します
...
4root_st -jr fcheckpoint.ckp.1 |
⑨ Perforceサービスを開始します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4dctl start nomandatory |
5.レプリケーションの設定と確認
【スタンバイサーバでの作業です】
① ユーザ“service”が使用するレプリケーション用チケットを作成します
2.レプリケーション用チケットの確認をします
...
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -p master_server:port -u service -E "P4TICKETS=/p4root_st/.p4tickets" login |
...
② レプリケーション用チケットの確認をします
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ls -la /p4root_st/.p4tickets |
...
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
-r--------. 1 perforce perforce 53 10月 10 16:48 /p4root_st/.p4tickets |
...
3.レプリケーションの確認をします
...
③ レプリケーションの確認をします
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -u super -p standby_server:port pull -lj |
...
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Current replica journal state is: Journal 1, Sequence 4878. |
※大規模なサイトの場合、同期に時間がかかる場合がありますので、時間をおいて再度コマンドを実行してください。
“Sequence”が同じ数値になれば同期完了です。
※エラーが表示される場合は、作業を停止し、弊社サポートまでご連絡ください。
6.フェイルオーバー:テスト運用
マスターサーバが起動できない・完全にダウンしていると判断できる状況を想定した運用のご案内です。
マスタサーバが起動している・ネットワーク接続が可能な状況は別の手順となりますのでご注意ください。
...
注意 | ||
---|---|---|
| ||
・大規模なサイトの場合、同期に時間がかかる場合がありますので、時間をおいて再度コマンドを実行してください。“Sequence”が同じ数値になれば同期完了です。 |
情報 | ||
---|---|---|
| ||
pull -ljコマンド:レプリカとマスターにおけるカレントジャーナルの状態を表示するコマンドです |
6.フェイルオーバー:テスト運用
注意 | ||
---|---|---|
| ||
マスターサーバが起動できない・完全にダウンしていると判断できる状況を想定した運用のご案内です。 |
① フェイルオーバーの確認【スタンバイサーバで作業します】
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -u super -p standby-server:port failover -i - |
...
s commit -w 10 -F |
...
情報 | ||
---|---|---|
| ||
-i フェイルオーバー動作中にマスタサーバを無視するオプションです |
...
-s serverID 切り替えるサーバ(今回はマスタサーバ)のserverIDを指定します |
...
-w 10 フェイルオーバー実行までの待機時間を“秒”で指定します。今回は10秒としています |
...
-F 強制的にフェイルオーバーを実行します(※マニュアルに記載のないオプションです) |
...
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Checking if failover might be possible ... |
2.フェイルオーバーの実行② フェイルオーバーの実行
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -u super -p standby-server:port failover -i -s |
...
commit - |
...
w 10 -F -y |
...
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Attempting unsupported forced failover; attempting to continue through any errors encountered. This server might not be as expected after the forced failover. |
構築・テストは以上です。