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-config hook を使用できます

HARP構成ファイルがインストールされた後にタスクを実行するには、たとえば、追加の構成ファイルをインストールします。

コンセンサスレイヤー#

tpaexec configure への--harp-consensus-protocol 引数は、 BDR-Always-ONアーキテクチャでは必須です。

etcd#

tpaexec configure に--harp-consensus-protocol etcd オプションが指定されている場合、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マネージャー用の別のユーザーの設定#

HARPマネージャーに別のユーザーを使用させたい場合は、cluster_vars の下でharp_manager_user: username を設定することによりそれを指定できます。 TPAはその設定を使用して、新しいユーザーを作成し、bdr_superuser ロールを付与します。

カスタムSSLパスワードコマンド#

harp_ssl_password_command が提供するコマンドは、 HARPが使用して、接続文字列で指定されたsslpassword の難読化を解除します。 sslpassword が存在しない場合、harp_ssl_password_command は無視されます。 sslpassword が難読化されていない場合、 harp_ssl_password_command は必要ないため、指定しないでください。

HARPサービスの構成#

HARPサービスの次のパラメーターを構成できます。

Variable

Default value

Description

harp_manager_restart_on_failure

false

`true`の場合、 `harp-manager`サービスはオーバーライドされるため、失敗時に再起動されます。デフォルトは`false`で、`harp-manager`パッケージによってインストールされるサービスに準拠します。

HARP http(s)ヘルスプローブの構成#

サービスの状態をモニタするためのAPIエンドポイントを提供するHARPのhttp(s)サービスを有効にして構成できます。

Variable

Default value

Description

harp_http_options

enable: false``secure: false``host: <inventory_hostname>``port: 8080``probes:  timeout: 10s``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 documentation を参照してください。