Configuring HARP

failover_manager がharp に設定されている場合、TPAはHARPをインストールして構成します。これは、 BDR-Always-ONクラスターのデフォルトです。

HARPのインストール

harp-manager およびharp-proxy パッケージを提供する必要があります。これらのパッケージへのアクセスを取得するには、EDBに連絡してください。

HARPの設定

HARP構成の詳細については。

:header: Variable,Default value,Description :widths: 12,5,25 :align: left :class: longtable

cluster_name

` `

クラスターの名前。

harp_consensus_protocol

` `

使用するコンセンサスレイヤー(etcd`または`bdr)

harp_location

location

このインスタンスの場所(デフォルトは`location`パラメーター)

harp_ready_status_duration

10

更新されない場合、ノードの準備状況ステータスが持続する時間(秒)。

harp_leader_lease_duration

6

Lead Masterリースが更新されない場合、持続する時間(秒)。

harp_lease_refresh_interval

2000

Lead Masterリースの更新間のミリ秒単位の時間。

harp_dcs_reconnect_interval

1000

切断されたノードがDCSへの再接続を試行する間隔(ミリ秒単位)。

harp_dcs_priority

500

2つのノードに等量のラグとリードマスターリースを取得するためのその他の適格基準がある場合、これは、あるノードを別のノードよりも優先する追加のランキング値として機能します。

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

最後に受信したLSNと、このノードとそのCAMOパートナーとの間で適用された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-proxyが受け入れるクライアントの最大接続数 (max_client_conn)

harp_ssl_password_command

None

stdinで難読化されたsslpasswordを受け取り、処理されたsslpasswordをstdout経由で提供するカスタムコマンド。

harp_db_request_timeout

10s

dcs - request_timeoutに似ていますが、データベース自分自身への接続用です。

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構成で設定します。

カスタム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`サービスはオーバーライドされるため、障害時に再起動されます。 `harp-manager`パッケージによってインストールされるサービスに準拠するため、デフォルトは`false`です。

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>"

secure: true を使用し、独自の証明書とキーを使用する場合は、 cert_file およびkey_file キーの両方が必要です。

deploy を実行する前に、証明書とキーの両方がターゲットノード上の指定された場所で利用可能であることを確認する必要があります。

クラスター固有のCA証明書を使用してTPAで証明書とキーを生成する場合は、 cert_file と key_file の両方を空のままにします。 TPA CA証明書は「よく知られた」ものではありません。エンドポイントをプローブする各マシンのトラストストアにこの証明書を追加する必要があります。 CA証明書は、TPAノードのクラスターディレクトリにあります。<cluster_dir>/ssl/CA.crt after deploy 。

利用可能なapiエンドポイントの詳細については、harpのドキュメントを参照してください。