高可用性クラスターを構築するためのrepmgr + pg12(1)

1.概要

Repmgrは、第2象限のオープンソースストリーミングレプリケーションクラスター管理ツールのセットです。公式の概要をご覧ください。

repmgrは、PostgreSQLサーバーのクラスターでレプリケーションとフェイルオーバーを管理するためのオープンソースのツールスイートです。PostgreSQLに組み込まれたホットスタンバイ機能を拡張し、スタンバイサーバー、レプリケーションを監視するツール、および管理タスク(フェイルオーバーや手動切り替え操作など)をセットアップします。

repmgrdeの機能:

拡張が容易な分散管理クラスターノードは、クラスターノードをオンラインで追加および削除できます。

構造は次のとおりです。

 

 2.導入

マスターノード:

  1. 関連パラメーターを構成する
  2. データベースを起動します
  3. 「repmgr primary register」コマンドを使用して、プライマリノードを登録します。(この登録の目的は、構成ファイルのいくつかの主要なパラメーターをメタデータテーブルに書き込み、repmgrシステムがクラスターノードなどを識別できるようにすることです。
  4. repmgrdデーモンを起動します。

スタンバイノード:

  1. 関連パラメーターを構成する
  2. 「repmgr standby clone」コマンドを使用して、マスターノードを物理的にコピーします。
  3. データベースを起動します
  4. 「repmgr standby register」コマンドで待機ノードを登録します。
  5. repmgrdデーモンを起動します。

クラスター内の各ノードが正常にデプロイされた後、フェイルオーバーを処理して監視データを記録できるrepmgrdデーモンが開始されます。

3.実際の運用

動作環境:

centos7.6

3.1。pg12をインストールします(前の投稿を参照)

3.2。repmgrインストールパッケージを取得する

https:// yum.postgresql.org/12/redhat/rhel-7-x86_64/repoview/

 

 

 3.3。remggrをインストールする

rpm -ivh repmgr12- 5.10 - 1 .rhel7.x86_64.rpm

3.4.repmgrパラメータ設定

vim / etc / repmgr / 12 / repmgr.conf 
##必要な構成項目を入力します
node_id = 1 
node_name = node1 
conninfo = ' host = 192.168.101.9 port = 5432 user = postgres dbname = postgres ' 
data_directory = ' / var / lib / pgsql / 12 /データ'

3.5。データベースパラメータの設定

vim / var / lib / pgsql / 12 / data / postgresql.conf #構成
パラメーター
shared_preload_libraries = ' repmgr ' 
listen_addresses = '*'

vim /var/lib/pgsql/12/data/pg_hba.conf#構成
パラメーター

  #IPv4ローカル接続:
  すべて0.0.0.0/0の信頼をすべてホスト#新增

3.6。データベースに再接続した後、データベースに接続してプラグインを作成します(./psql -Upostgres -dpostgres)

CREATE EXTENSION repmgr;

3.7。メインデータベースを登録する

[postgres @ localhost bin] $ ./ repmgr primary register 
INFO:プライマリデータベースに接続しています... 
INFO:" repmgr " 拡張がすでにインストールされています
注意:プライマリノードレコード(ID:1)が登録されています

3.8。クラスターステータスビュー

[postgres @ localhost bin] $ ./ repmgr cluster show 
 ID | 名前| 役割| ステータス| 上流| ロケーション| 優先順位| タイムライン| 接続文字列 
---- + ------- + --------- + ----------- + ---------- +- -------- + ---------- + ---------- + ------------------- ------------------------------------------ 1   | node1 | プライマリ| *実行中| | デフォルト| 100       | 1         | host = 192.168101.9ポート= 5432ユーザー= postgres dbname = postgres
 

登録スタンバイデータベースについては、次のセクションで説明します。

おすすめ

転載: www.cnblogs.com/mingfan/p/12741231.html