Configuring HARP#
failover_manager がharp
に設定されている場合、TPAはHARPをインストールおよび構成します。これは、
BDR-Always-ONクラスターのデフォルトです。
HARPのインストール#
harp-manager およびharp-proxy
パッケージを提供する必要があります。これらのパッケージへのアクセスを取得するには、EDBに連絡してください。
HARP構成の変数#
HARP documentation を参照してください
HARP構成の詳細については、
Variable |
Default value |
Description |
|---|---|---|
cluster_name |
`` |
クラスターの名前。 |
harp_consensus_protocol |
`` |
使用するコンセンサスレイヤー etcd`または`bdr |
harp_location |
location |
このインスタンスの場所 デフォルトは`location`パラメーター |
harp_ready_status_duration |
10 |
ノードの準備ができている時間秒更新されない場合、ステータスは持続します。 |
harp_leader_lease_duration |
6 |
リードマスターの秒単位の時間リースは、更新されない場合は持続します。 |
harp_lease_refresh_interval |
2000 |
ミリ秒単位の時間リードマスターリースの更新。 |
harp_dcs_reconnect_interval |
1000 |
ミリ秒単位で測定される間隔、切断されたノードがDCSへの再接続を試行する間隔。 |
harp_dcs_priority |
500 |
2つのノードが等しい量の遅延とリードマスターリースを取得するその他の修飾基準がある場合、これは追加のランキング値として機能し、1つのノードを別のノードより優先します。 |
harp_stop_database_when_fenced |
false |
考えられるすべてのルーティングからノードを単に削除するのではなく、ノードがフェンスされたときにデータベースを停止します。 |
harp_fenced_node_on_dcs_failure |
false |
HARPがDCSに到達できない場合は、ノードをフェンスします。 |
harp_maximum_lag |
1048576 |
リードマスターロックを取られる前に、以前のリードマスターとこのノードのLSNを記録した間の最大許容分散バイト単位。 |
harp_maximum_camo_lag |
1048576 |
このノードとそのCAMOパートナー間で最後に受信したLSNと適用されたLSN間の最大許容分散バイト単位。 |
harp_camo_enforcement |
lag_only |
CAMOキュー状態を厳密に適用するかどうか。 |
harp_use_unix_sock |
false |
マネージャーデータベースアクセスにはUNIXドメインソケットを使用します。 |
harp_request_timeout |
250 |
ミリ秒単位の時間DCSへのクエリーが成功するまでの時間。 |
harp_watch_poll_interval |
500 |
ポーリングDCS間のスリープするミリ秒。 `harp_consensus_protocol`が`bdr`の場合にのみ適用されます。 |
harp_proxy_timeout |
1 |
Lead Masterへのビルトインプロキシ接続タイムアウト秒単位。 |
harp_proxy_keepalive |
5 |
ビルトインプロキシがキープアライブpingを送信する前に、リードマスターへのアイドル接続で待機する時間。 |
harp_proxy_max_client_conn |
75 |
harp-プロキシによって受け入れられるクライアントの最大数 max_client_conn |
harp_ssl_password_command |
None |
難読化されたsslパスワードをstdinで受信し、処理されたsslパスワードをstdout経由で提供するカスタムコマンド。 |
harp_db_request_timeout |
10s |
dcs -> request_timeoutに似ていますが、データベース自分自身への接続用です。 |
harp_local_etcd_only |
None |
すべてのetcdノードではなくローカルetcdノードのみを含むようにharp managerエンドポイントリストを制限する |
harp-config hook を使用できます
HARP構成ファイルがインストールされた後にタスクを実行するには追加の構成ファイルをインストールします。
コンセンサスレイヤー#
tpaexec configure への--harp-consensus-protocol 引数は、
BDR-Always-ONアーキテクチャでは必須です。
etcd#
--harp-consensus-protocol etcd オプションがtpaexec configure
に指定されている場合、TPAはconfig.ymlでharp_consensus_protocol
をetcd
に設定し、選択したレイアウトに応じてインスタンスの適切なサブセットにetcd
ロールを付与します。
HARP v2には、etcd v3.5.0以降が必要です。これは、EDBが提供するproducts/harp/releaseパッケージリポジトリで入手できます。
etcdの次のパラメーターを構成できます。
Variable |
Default value |
Description |
|---|---|---|
etcd_peer_port |
2380 |
etcdがピア通信に使用するポート |
etcd_client_port |
2379 |
クライアントがetcdに接続するために使用するポート |
bdr#
tpaexec configure に--harp-consensus-protocol bdr
オプションが指定されている場合、TPAはconfig.ymlでharp_consensus_protocol
からbdr を設定します。
この場合、既存のPGDインスタンスはコンセンサスに使用され、追加の構成は必要ありません。
harpプロキシの別のユーザーの構成#
harpプロキシで別の読み取り専用ユーザーを使用する場合は、
cluster_varsの下でharp_dcs_user: username
を設定することにより、それを指定できます。 TPAはharp_dcs_user
設定を使用して読み取り専用ユーザーを作成し、DCS構成で設定します。
harp manager用の別のユーザーの設定#
harp managerで別のユーザーを使用する場合は、 cluster_vars
の下でharp_manager_user: username
を設定することにより、それを指定できます。
TPAexecはその設定を使用して、新しいユーザーを作成し、bdr_superuser
ロールを付与します。
カスタムSSLパスワードコマンド#
harp_ssl_password_command が提供するコマンドは、
HARPが使用して、接続文字列で指定されたsslpassword
の難読化を解除します。 sslpassword が存在しない場合、
harp_ssl_password_command は無視されます。 sslpassword
が難読化されていない場合、 harp_ssl_password_command
は必要なく、指定しないでください。
harpサービスの構成#
harpサービスの次のパラメーターを構成できます。
harp http(s)ヘルスプローブの構成#
サービスの状態を監視するためのAPIエンドポイントを提供するharpのhttp(s)サービスを有効にして構成できます。
Variable |
Default value |
Description |
|---|---|---|
harp_http_options |
<br />`enable: false`<br />`secure: false`<br />`host: <inventory_hostname>`<br />`port: 8080`<br />`probes:<br /> `timeout: 10s`<br />`endpoint: "host=<proxy_name> port=<6432> dbname=<bdrdb> user=<username>" |
http(s) API設定を定義するharp config.ymlのhttpセクションを構成します。 |
変数には、次のキーを含めることができます。
enable: false
secure: false
cert_file: "/etc/tpa/harp_proxy/harp_proxy.crt"
key_file: "/etc/tpa/harp_proxy/harp_proxy.key"
host: <inventory_hostname>
port: 8080
probes:
timeout: 10s
endpoint: "<valid dsn>"
cert_file およびkey_file キーは、 secure: true
を使用し、独自の証明書とキーを使用する場合に必要です。
deploy
を実行する前に、証明書とキーの両方がターゲットノードの指定された場所で利用できることを確認する必要があります。
クラスター固有のCA証明書を使用してTPAに証明書とキーを生成する場合、
cert_file およびkey_file の両方を空のままにします。 TPA
CA証明書は「ウェルノウン」になりません。この証明書を、エンドポイントをプローブする各マシンの信頼ストアに追加する必要があります。
CA証明書は、TPAノードのクラスターディレクトリで deploy
の後の<cluster_dir>/ssl/CA.crt にあります。
使用可能なAPIエンドポイントの詳細については、 harpドキュメントを参照してください。