p4 server

このコマンドは、 Helixサーバの作成、変更、削除を行います。

構文規則

p4 [g-opts] server serverID
p4 [g-opts] server -g
p4 [g-opts] server -d serverID
p4 [g-opts] server -o [-l] serverID
p4 [g-opts] server -i [-c edge-server|commit-server]
p4 [g-opts] server -c edge-server|commit-server serverID

説明

サーバ仕様は、Helixサーバの高レベルの構成および 使用目的を表します。 Helixサーバが1つしかないインストールでは、 サーバ仕様の設定は任意です。

p4 serverコマンドはサーバ仕様を一時ファイルに保存し、 変数P4EDITORによって構成されたエディタを呼び出します。ファイルを保存すると、変更がサーバ仕様に作成または保存されます。

オペレータタイプのユーザはこのコマンドを実行できません。(3つのユーザタイプは「p4 user」で説明されています。)

フィルタリング

ClientDataFilter:フィールド、RevisionDataFilter:フィールド、ArchiveDataFilter:フィールドは、 複製環境で不要なメタデータを除外するために用意されています。 例えばビルドサーバの場合、マスターサーバ上で作業状態になっているすべての クライアントワークスペースのhaveリストを複製する必要はありません。 『Helix Coreサーバ管理者ガイド』の「複製処理の実行中またはエッジサーバが連結されている状態でメタデータをフィルタリングする」を参照してください

警告

ArchiveDataFilter:をそのままにすることをお勧めします。このフィルタを変更した場合は、 サーバを最初から作成する必要があります。

ヒント

バージョン2019.1以降の場合: 構成内容を簡単に編集する方法については、DistributedConfig:フィールドの説明を参照してください。

フォームフィールド

フィールド名 タイプ 説明

ServerID:

読み取り専用

このサーバに関する一意の識別子。p4 serveridコマンドにより定義された、サーバのserver.idファイルの内容と 一致していなければなりません。

重要

構成の問題を回避するには、serverIDの値をP4NAMEの値と常に一致させる必要があります(どちらも設定されている場合)。serverIDを 設定することをお勧めしますが、下位互換性を維持するため、P4NAME もサポートされています。

Type:

書き込み可能

サーバの実行タイプ。以下のうちいずれか1つをとります。

タイプ 注記
server  
proxy p4pキャッシュプロキシを指定します
broker p4brokerプロセスを指定します
connector git-connector - p4gconnキャッシュプロキシを指定します

各タイプで1つ以上のサービスを指定することができます。

Services:

書き込み可能

serverタイプのサーバは、次のサービスを提供します。

  • standard - 標準のHelixサーバ
  • replica - 読み取り専用のレプリカサーバ
  • commit-server - マルチサーバ環境の中央サーバ
  • edge-server - マルチサーバ環境内のノード
  • forwarding-replica - データベース書き込みを伴うコマンドをマスターサーバへと 転送するように構成されたレプリカ
  • build-server - ビルド自動化機能とビルドサーバ(またはビルドファーム)の 統合をサポートするレプリカ
  • P4AUTH - 認証機能を提供するサーバ
  • P4CHANGE - チェンジリストの番号付け機能を提供するサーバ
  • standby - p4 journalcopyコマンドを使用する読み取り専用レプリカサーバ
  • forwarding-standby - p4 journalcopyコマンドを使用する転送レプリカサーバ
  • local - p4 initによって作成されるDVCS個人サーバ

これらのサービスの詳細については、『Helix Coreサーバ管理者ガイド』の「展開アーキテクチャ」を参照してください。

サービスをサーバに割り当てる場合、管理者は、p4 serverコマンドで表示されるServices:フィールドを使用する必要があります。

サービス 説明 注記

standard

標準のHelix Coreサーバ

単一サーバ環境内の直接接続クライアントをサポートするサーバ(これがデフォルトです。p4 serverコマンドで明示的に割り当てる必要はありません)

replica 読み取り専用のレプリカサーバ
  • レプリカには、ターゲットサーバのメタデータとファイル内容のコピーが保存されます。

  • レプリカは、メタデータを読み取るためのコマンドを提供します。

  • レプリカは、メタデータを更新するためのコマンドを拒否します。
  • レプリカは、ブローカとともに使用する必要があります。「P4Brokerを使用して読み取り専用コマンドをリダイレクトする」を参照してください。

  • レプリカでオフラインチェックポイントを有効にして、チェックポイントやバックアップに対するターゲットサーバのダウンタイムを防ぐことができます。

  • レプリカは、障害回復用のウォームスタンバイサーバとして使用することができます。

詳細については、『Helix Coreサーバ管理者ガイド』の「読み取り専用レプリカを設定する」を参照してください。

forwarding-replica updateコマンドを転送するレプリカ
  • レプリカは、メタデータを読み取るためのコマンドを提供します。

  • 転送レプリカは、updateコマンドをターゲットサーバに自動的に転送します。

    詳細については、『Helix Coreサーバ管理者ガイド』の「転送レプリカ」を参照してください。

commit-server マルチサーバ環境の中央サーバ
  • マルチサーバ環境のHelixサービスは、1つのコミットサーバと1つ以上のエッジサーバの組み合わせで構成されています。
  • コミットサーバには、正規のアーカイブと永続的なメタデータが保存されます。
  • 動作はPerforceマスターサーバに似ていますが、ワークスペース情報の一部が含まれていない場合があります。

Helix Coreサーバ管理者ガイド』の「コミットエッジ」を参照してください。

edge-server マルチサーバ環境内のノード
  • 地理的にリモートコミットサーバよりも近い場所にあるエッジサーバにクライアントを接続すると、パフォーマンスが改善する場合があります。『Helix Coreサーバ管理者ガイド』の「コミットエッジ」を参照してください。
  • 地理的に離れた場所にある複数のエッジサーバを使用して、最終的にコミットサーバに到達するチェーンを構成することができます。
  • エッジサーバには、コミットサーバのメタデータのコピー、エッジサーバのlbr.replication設定によって制御されるコンテンツ、エッジワークスペースの「処理中」データに対するローカルメタデータが保存されます。詳細については、ナレッジベースの記事「エッジサーバ」の「p4 submit」セクションを参照してください。

build-server ビルドサーバ(またはビルドファーム)の統合をサポートするレプリカ

ビルドサーバでは、読み取り専用コマンドを使用できるのみでなく、p4 clientコマンドとp4 syncコマンドを使用して、ビルドサーバ上にクライアントと同期ファイルを作成することもできます。

  • ビルドサーバは、読み取り専用コマンドをサポートします。
  • ビルドサーバでは、p4 clientコマンドとp4 syncコマンドを使用して、ビルドサーバ上にクライアントと同期ファイルを作成することもできます。詳しくは、「ビルドサーバ」を参照してください。
standby ジャーナルコピーを使用する読み取り専用レプリカサーバ

スタンバイは、以下の点を除き、レプリカと同じです。

  • スタンバイでは、mandatoryサーバに対するフェイルオーバーで、p4 failoverコマンドを使用することができます。『Helix Coreサーバ管理者ガイド』の「フェイルオーバー」で、「mandatory」の説明を参照してください。
  • スタンバイは、p4 journalcopyコマンドとp4 pull -Lコマンドを使用してメタデータを複製します。
  • スタンバイは、バージョン2018.2以降のHelixサーバで使用することができます。

forwarding-standby

 

ジャーナルコピーを使用する転送レプリカ

 

転送スタンバイは、以下の点を除き、転送レプリカと同じです。

  • スタンバイでは、mandatoryサーバに対するフェイルオーバーで、p4 failoverコマンドを使用することができます。
  • スタンバイは、p4 journalcopyコマンドとp4 pull -Lコマンドを使用してメタデータを複製します。
  • スタンバイは、バージョン2018.2以降のHelixサーバで使用することができます。
  • 詳細については、『Helix Coreサーバ管理者ガイド』の「フェイルオーバー」を参照してください。

local

 

DVCS環境内の個人サーバ

詳細については、「分散バージョニング環境におけるHelix Coreサーバの利用」を参照してください。

 

P4AUTH 中央認証機能を提供するサーバ 独立したサーバの統合アーキテクチャでは、認証用の単一のサーバを共有することができます。 詳細については、「集中認証サーバ(P4AUTH)」を参照してください。
P4CHANGE 中央変更番号を提供するサーバ 独立したサーバの統合アーキテクチャでは、チェンジリスト番号用の単一のサーバを共有することができます。 詳細については、「チェンジリストサーバ(P4CHANGE)」を参照してください。
ヒント

さらに詳しくは、以下のリンクを参照してください。

オプション: 書き込み可能
  • mandatory: メタデータが他のレプリカに複製される前にジャーナルコピーされたメタデータを永続化するstandbyサーバまたはforwarding-standbyサーバ。このオプションが設定されたstandbyサーバまたはforwarding-standbyサーバは、フェイルオーバーの発生時に、ジャーナルコピー処理の実行元となるサーバが稼働可能な状態になっているかどうかにかかわらず、フェイルオーバー時のサーバとして使用することができます。

  • nomandatory: (デフォルト)standbyサーバまたはforwarding-standbyサーバによってメタデータを永続化する前に、他のレプリカに対してそのメタデータが複製される場合があります。フェイルオーバーの発生時に、ジャーナルコピー処理の実行元となるサーバが稼働可能な状態になっている場合に限り、standbyサーバとforwarding-standbyサーバがフェイルオーバー時のサーバとして稼働します。

ReplicatingFrom: 書き込み可能

複製処理またはジャーナルコピー処理の実行元となるサーバのサーバID。サーバがstandbyまたはforwarding-standbyサーバで、どちらかにmandatoryオプションが設定されている場合、このフィールドは必須です。

注意

転送レプリカを使用して、エッジサーバでの読み取り専用コマンドの負荷を軽減する場合は、転送レプリカのサーバ仕様で、このフィールドの値をエッジサーバのサーバIDに設定します。

Name:

書き込み可能

このサーバに関連付けられたP4NAME

空白のままにすることも、serveridと同じ値に設定することができます。

Address:

書き込み可能

このサーバに使用されるP4PORTです。

以下の構文でp4 reloadコマンドを実行する場合は、コミットサーバとエッジサーバにこのフィールドが存在している必要があります。

p4 reload -c client-name -p serverID

ExternalAddress:

書き込み可能

  • このフィールドには、コミットサーバがエッジサーバに接続するための外部アドレスが保管されます。コミットサーバからエッジサーバへのサービスユーザログインチケットを作成するには、このフィールドをコミットエッジの設定で使用されるP4PORTに設定します。エッジサーバでSSLを使用する場合は、ポート番号に「ssl」というプレフィックスを付加する必要があります。

  • マルチサーバ環境で並列サブミットを実行する場合に、このフィールドが必要になります。
    例: tokyo-edge.your-company.com:1666
  • 2019.2よりも前のバージョンのGit Connectorサーバでは、このオプションフィールドに、各リポジトリ名の前にスペースを付加した状態で、更新対象のリポジトリのリストを含めることができました。バージョン2019.2以降は、UpdateCachedReposフィールドに更新対象のリポジトリを含めるようになりました。

UpdateCachedRepos:

書き込み可能

バージョン2019.2以降、このオプションフィールドに、各リポジトリ名の前にスペースを付加した状態で、更新対象のリポジトリのリストを含めることができるようになりました。『Helix4Git管理者ガイド』の「Git Connectorのアップグレード」と「Git Connectorを構成してHelix4Gitからリポジトリをポーリングする」を参照してください。

Description:

書き込み可能

このサーバに関する任意入力の説明。

User:

書き込み可能

サーバによって使用されるサービスユーザ名。このフィールドの使用方法については、 『Helix Coreサーバ管理者ガイド』の「サービスユーザ」を参照してください。

AllowedAddresses:

書き込み可能 このサーバで使用可能なアドレスのリスト。 セキュリティレベル6の場合、このフィールドを使用して、 指定したサービスユーザに中間サーバが関連付けられます。 一致するサーバ仕様が存在しない中間サーバ経由での接続はブロックされます。

ClientDataFilter:

書き込み可能

レプリカサーバの場合、この任意指定フィールドには、アクティブなクライアントワーク スペースのメタデータを絞り込む方法を表す1つ以上のパターンを含めることができます。 アクティブなクライアントワークスペースのメタデータには、haveリスト、作業レコード、 未実行の衝突解決が含まれます。

アクティブなクライアントメタデータを含めるには、以下の構文を使用します。

//client-pattern/...

アクティブなクライアントメタデータを除外するには、以下の構文を使用します。

-//client-pattern/...

すべてのパターンはクライアントシンタックスで指定されます。

RevisionDataFilter:

書き込み可能

レプリカサーバの場合、この任意指定フィールドには、サブミット済みリビジョンの メタデータを絞り込む方法を表す1つ以上のパターンを含めることができます。 サブミット済みリビジョンのメタデータには、リビジョンレコード、反映レコード、 ラベルの内容、サブミット済みチェンジリストに登録されているファイルが含まれます。

サブミット済みリビジョンディポのメタデータを含めるには、以下の構文を使用します。

//depot/pattern/...

サブミット済みリビジョンディポのメタデータを除外するには、以下の構文を使用します。

-//depot/pattern/...

すべてのパターンはディポシンタックスで指定されます。

ArchiveDataFilter:

書き込み可能

レプリカサーバの場合、この任意指定フィールドには、ファイルの内容の複製を 自動的にスケジュールするためのポリシーを表す1つ以上のパターンを 含めることができます。このフィールドが存在する場合、パターンで記述される ファイルだけが自動的にレプリカサーバに転送されます。 その他のファイルは、ファイルの内容を求めるレプリカコマンドによって参照されるまで 転送されません。

ArchiveDataFilter:フィールドで指定されたファイルは、レプリカのユーザがその内容を 要求したかどうかに関係なくレプリカに転送されます。

サブミット時にファイルを自動的に転送するには、次の構文を使用します。

//depot/pattern/...

自動転送からファイルを除外するには、次の構文を使用します。

-//depot/pattern/...

すべてのパターンはディポシンタックスで指定されます。

ほとんどのディポパスを含める場合は、以下のパターンを使用します。

>//...
-//depot/projA/...
-//depot/projB/...

このパターンでは、最初にすべてのパスが処理対象として含められます。

いくつかのディポパスだけを含める場合は、以下のパターンを使用します。

>//depot/projA/...
//depot/projB/...

このパターンでは、明示的に含められていないすべてのパスが暗黙的に除外されます。

警告

レプリカサーバまたはエッジサーバを再起動しない限り、ArchiveDataFilterに対する変更は無視されます。

DistributedConfig:

書き込み可能

すべてのサーバタイプについて、このフィールドには、デフォルト値以外の値が設定されている構成可能変数が表示されます(1行に1つの構成可能変数が表示されます)。管理者はこのフィールドを使用して、特定の値を編集したり、特定の構成可能変数をデフォルト値以外の値に設定するための新しい行を追加したり、行を削除して特定の構成可能変数をデフォルト値にリセットしたりすることができます。

以下の点に注意してください。

  • コミットサーバのany#の値(any#monitor=30など)は、ローカルで上書きしない限り、マルチサーバ環境全体に適用されます。
  • コミットサーバのローカルの値(monitor=40など)により、any#の値が上書きされます。

-cオプションを指定してp4 serverコマンドを実行すると、現在の設定値が構成値として取り込まれます。値が設定されていない場合は、デフォルトの推奨値が設定され、デフォルトの推奨値が設定されていない場合は、「unset」が値として設定されます。

-cを指定してコマンドを呼び出したときにこのフィールドが存在する場合は、 serverIDフィールドで指定されたサーバの範囲を使用して、このフィールド内の 構成コマンドが現在のサーバ上で実行されます。

エッジサーバまたはコミットサーバの場合、-cフラグを指定した場合にのみ、 このオプションフィールドが表示されます。

ヒント

フィールドの下に行がある場合は、その行をインデントしてください。以下に例を示します。

Description:Created by maria

オプション

-c edge-server | commit-server

エッジサーバまたはコミットサーバで「DistributedConfig:」フィールドを使用して、マルチサーバ環境の設定に使用される構成値の設定、変更、表示を行うことができます。

構成フィールドには、初期値として以下の値が設定されます。

  • 既に値が設定場合は、その値がそのまま使用されます。
  • 値が設定されていない場合は、デフォルト値が設定されます。
  • 値もデフォルト値も設定されていない場合は、unsetが設定されます。

フォームを終了すると、serverIDで指定された範囲内の現行サーバ上で、「DistributedConfig:」フィールドに含まれているすべての構成コマンドが実行されます。

これらの構成コマンドは、serverIDで指定されたサーバに対してのみ実行されるため、これらの構成コマンドで「server#」というプレフィックスを指定することはできません。サポートされるサービスは、エッジサーバとコミットサーバだけです。これらのサービスにより、サーバコマンドを最初に実行したときのフォームの初期値の設定に使用される構成値が定義されます。

-d serverID

指定されたサーバ仕様を削除します。

-g

フォームの一部として、新しい「serverID」を生成します。

-i

サーバ仕様を標準入力から読み込みます。

このオプションを-cオプションと組み合わせて、分散環境内でエッジサーバ またはコミットサーバを設定するための構成変数を生成して実行することができます。 このフラグを-cフラグとともに指定すると、DistributedConfig:フィールドの 標準入力で明示的に設定されたフィールドのみが構成されます。

-l

DistributedConfig:フィールドの機能によって置き換えられたため、このオプションは非推奨になりました。

-o

指定されたサーバ仕様を標準出力に書き出します。

g-opts

グローバルオプション」を参照してください。

使用上の注意点

ファイル引数でリビジョン指定子を使用できるか? ファイル引数でリビジョン範囲を使用できるか? 最低限必要なアクセスレベル

適用外

適用外

以下を参照

  • 更新モード(-i-g、および-dオプションを使用)では、 スーパーユーザのみがp4 serverを実行できます。

  • オペレータ以外のユーザは、更新モード以外のモードで(-oオプションまたは -o -gオプションを使用して)p4 serverを実行できます。

  • オペレータは、p4 serverを実行することはできません。

関連コマンド

作成後にサーバIDを変更する

p4 serverid

既知のサーバをすべて一覧表示する

p4 servers