thumb

中山テック 代表の中山です。

さて、現在代表のPCに入っているVMWareには4台の仮想マシンがセットされています(!?)。

それも今回の最大目的である「PostgreSQL × pgpoolⅡ」でロードバランス&フェイルオーバーを導入したいためです。

では早速導入していきましょう!

PostgreSQLのインストールはこちら



  • VMware × CentOS関連索引

※【追記】上記の図はServer3、4もVIPの中におります・・・大変失礼しました

PostgreSQLを2台構成にし、常にデータ同期を取りつつ片系が落ちても運用可能な状態にします。

そのためにpgpool-Ⅱが必須です。

また、それぞれを監視することで「誰が落ちているか」を瞬時に判断し、フェイルオーバーを実施してくれます。

・pgpool⇒PostgreSQL全体の監視

・Watchdog⇒pgpool全体の監視

・ハートビート⇒Watchdogやpgpoolから出される死活監視(UDP通信)。一定間隔で通信が行われる。仮に主系からの通信が途絶えたら副系が主系に切り替わる

pgpoolインストール

必要パッケージ

まずはPostgreSQLとpgpool-Ⅱ、LLVM関連パッケージを追加しましょう(PostgreSQLの追加手順と同様)。

sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install https://www.pgpool.net/yum/rpms/4.2/redhat/rhel-8-x86_64/pgpool-II-release-4.2-1.noarch.rpm
sudo yum -y install epel-release centos-release-scl

続いてインストールしてきたいのですが、対象パッケージは下記です(yum search postgresqlで検索)。

・postgresql15.x86_64

・pgpool-II-pg15-extensions ※PostgreSQLが入っているサーバにも必須

・pgpool-II-pg15

・pgpool-II-pg15-debuginfo

・pgpool-II-pg15-devel

あれっ?postgresql15入れるの?とお思いかもしれませんが、あくまでもクライアントです。

psqlコマンドは使うのでクライアントだけインストールします。

パッケージ詳細はpgpoo-Ⅱ文書のページをご覧ください。

インストール

片っ端からインストールしていきます。

yum -y install postgresql15.x86_64
yum -y install pgpool-II-pg15-extensions
yum -y install pgpool-II-pg15
yum -y install pgpool-II-pg15-debuginfo
yum -y install pgpool-II-pg15-devel

途中で「※公開鍵がインストールされていません」と出ますがしっかりインストールされていました。

PostgreSQL側の設定

おすすめの記事