説明
Perforce Helix Coreのフェイルオーバー機能を使用したDR環境構築、構築後のテスト運用手順を説明していますCoreのフェイルオーバー機能を使用したDR環境の構築、および構築後のテスト運用手順を説明しています
警告 |
---|
・マスタサーバとスタンバイサーバのタイムゾーンが一致している必要があります。・マスターサーバとスタンバイサーバのタイムゾーンが一致している必要があります。「タイムゾーンの設定」をご覧ください |
情報 | ||||
---|---|---|---|---|
| ||||
本構築作業の条件は以下の通りです
適宜実環境に合わせて変更してください
マスター | スタンバイ | Perforce super user | |
サーバ名 | commit | nomandatory | super |
ServerID | commit | nomandatory | レプリケーション用ユーザ名 |
Option | - | nomandatory | service |
server-service | commit-server | standby | |
IP | 192.168.56.102 | 192.168.56.104 | |
Port | 1666 | 1666 | |
P4ROOT | /commit | /p4root_st |
構築手順
...
1.スタンバイサーバのサーバ仕様作成【マスターサーバで作業します】
① p4コマンドで“nomandatory”というサーバ仕様を作成します。p4コマンドで"nomandatory"というスタンバイサーバのサーバ仕様を作成します。
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 p4 -u super -p master-server:port server standby-serverID |
② 設定を修正・追加します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ServerID: nomandatorynomandatory |
情報 | ||
---|---|---|
| ||
startup.1=journalcopy -i 1 …… 起動時にjournalcopy(マスタサーバのjournalをスタンバイに移送)を実行1:起動時にjournalcopy(マスターサーバのjournalをスタンバイに移送)を実行 |
...
※より詳細な情報は『Helix Core P4コマンドリファレンス (2019.1)』をご参照ください |
2.サービスユーザの作成と設定【マスターサーバで作業します】
① p4コマンドで"service"というレプリケーション用サービスユーザを作成します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 p4 -u super -p master-server:port user -f service-user |
② 設定を修正・追加します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
User: service |
③ サービスユーザ “service” "service" のパスワードを設定します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 p4 -u super -p master-server:port passwd service-user |
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Enter new password: (任意のパスワードを入力します) |
...
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
write user * * //... |
...
3.チェックポイントの作成と移動【マスターサーバで作業します】
① スタンバイサーバ用のチェックポイントファイルを作成します
作成したチェックポイントファイル名は“checkpoint”としています作成したチェックポイントファイル名は"checkpoint"としています
チェックポイントファイル(ファイル名:checkpoint.ckp.1)が作成されます
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 p4 -u super -p master-server:port admin checkpoint filename |
② チェックポイントファイルを転送します
FTPツール(任意)を使用して、スタンバイサーバへチェックポイントファイル(checkpoint.ckp.1)を転送します。を使用して、スタンバイサーバへチェックポイントファイルを転送します。
※このマニュアルではスタンバイサーバの ※ここではスタンバイサーバの /tmp に格納しています
4.スタンバイサーバの設定【スタンバイサーバでの作業です】
情報 |
---|
①~④の作業については、サーバ構築方法によって対応が異なります。実環境をご確認の上、必要に応じて作業してください。①~④の作業については、サーバ構築方法によって対応が異なります。実環境をご確認の上、必要に応じて作業してください。 |
① P4ROOT用のディレクトリ “p4root"p4root_st” st" を作成します
※既にルートフォルダを作成済みであれば、作業不要です
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mkdir /$P4ROOT |
② 作成したディレクトリのownerを“root”から“perforce”に変更します 作成したディレクトリのownerを"root"から"perforce"に変更します
※ownerがperforceであれば作業不要です
パネル | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| chown ||||||||||
chown perforce:perforce -R /$P4ROOT/ |
③ FTP転送したチェックポイントファイル(checkpoint.ckp.1)を$P4ROOT(ここでは/P4root_st/)へ移動します
※$P4ROOTへ転送済みであれば作業不要です
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mv mv /転送場所/filename /$P4ROOT/ |
④ チェックポイントファイルのownerを“root”から“perforce”に変更しますチェックポイントファイルのownerを"root"から"perforce"に変更します
※ownerがperforceであれば、作業不要です
パネル | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| chown ||||||||||
chown perforce:perforce filename |
...
パネル | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| p4dctl ||||||||||
p4dctl stop server-name |
⑥ 不要なファイルを削除します
構築したスタンバイサーバに存在するデータベース等を削除します
$P4ROOT(ここではP4root_st/)に移動し、以下のファイルを削除します
・ファイル名が[db.]で始まるファイル(データベース)すべて
・server.locksフォルダ:フォルダごと削除
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
rm -f db.* |
⑦ ServerIDを指定します
サーバ“standby”のserverIDを“nomandatory”に指定します サーバ "standby"のserverIDを"nomandatory"に指定します
※既に指定されている場合は作業不要です
パネル | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| p4d ||||||||||
p4d -r /$P4ROOT -xD standby-serverID |
⑧ チェックポイントファイルを展開します。※ownerが“perforce”になるように展開してください。チェックポイントファイルを展開します。※ownerが"perforce"になるように展開してください。
コマンド実行後、db.ファイルが作成されたことを確認します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4d -r /P4root_st$P4ROOT/ -jr checkpoint.ckp.1jr filename |
⑨ Perforceサービスを開始します
パネル | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| p4dctl ||||||||||
p4dctl start server-name |
5.レプリケーションの設定と確認【スタンバイサーバでの作業です】
① ユーザ“service”が使用するレプリケーション用チケットを作成しますユーザ"service"が使用するレプリケーション用チケットを作成します
※ "p4root_st/.p4tickets" はサーバ仕様作成時(手順1-②)に指定した場所を入力します。
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 p4 -p master_server:port -u service -E "P4TICKETS=/p4root_st/.p4tickets" login |
② レプリケーション用チケットの確認をします
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ls ls -la /p4root_st/.p4tickets |
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
-r--------. 1 perforce perforce 53 10月 10 16:48 /p4root_st/.p4tickets |
...
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 p4 -u super -p standby_server:port pull -lj |
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Current replica journal state is: Journal 1, Sequence 4878. |
注意 | ||
---|---|---|
| ||
・大規模なサイトの場合、同期に時間がかかる場合がありますので、時間をおいて再度コマンドを実行してください。“Sequence”が同じ数値になれば同期完了です。"Sequence" が同じ数値になれば同期完了です。 |
情報 | ||
---|---|---|
| ||
pull -ljコマンド:レプリカとマスターにおけるカレントジャーナルの状態を表示するコマンドです |
6.フェイルオーバー:テスト運用【スタンバイサーバで作業します】
注意 | ||
---|---|---|
| ||
マスターサーバが起動できない・完全にダウンしていると判断できる状況を想定した運用のご案内です。マスターサーバが起動できない・完全にダウンしていると判断できる状況を想定した運用のご案内です。 |
① フェイルオーバーの確認
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 -u super -p standby-server:port failover -i -s master-serverID -w 10 -F |
情報 | ||
---|---|---|
| ||
-i ………… フェイルオーバー動作中にマスタサーバを無視するオプションですフェイルオーバー動作中にマスターサーバを無視するオプションです |
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Checking if failover might be possible ... |
② フェイルオーバーの実行
コマンド実行後、自動的にPerforceサーバが再起動され、マスタサーバへと切り替わります。自動的にPerforceサーバが再起動され、マスターサーバへと切り替わります。
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 p4 -u super -p standby-server:port failover -i -s master-serverID -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. |
...