Configuring HARP¶
failover_manager がharp
に設定されている場合、TPAはHARPをインストールして構成します。これは、
BDR-Always-ONクラスターのデフォルトです。
HARPのインストール¶
harp-manager およびharp-proxy
パッケージを提供する必要があります。これらのパッケージへのアクセスを取得するには、EDBに連絡してください。
HARPの設定¶
HARP構成の詳細については。
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のドキュメントを参照してください。