ロードバランサの設定

対象となるシステムの設定項目

ロードバランサは,システム内で以下の図のような設定項目を持っています.ロードバランサの設定項目について,サンプルに基づいて説明します.


pglb.confの設定

インストールディレクトリの下の"etc"ディレクトリの下(デフォルトでは"/usr/local/pgsql/etc")に"pglb.conf.sample"というサンプルファイルがあります.このファイルをコピーして"pglb.conf"というファイルを作成してください.pglbを起動する際に,この設定ファイルのパスを指定できますので,設定ファイルの置き場所はどこでも構いません(pglb起動時にパスを指定しない場合,環境変数$PGDATA,次にカレントディレクトリを探します).

#=============================================
# pglb.conf
#---------------------------------------------
# このファイルはテーブル状に複数の値を設定する書き方と,
# 設定値を1つずつ設定する書き方の2種類の書き方ができます.
#
# <Table_Name_Tag>
#  <Data_Name_Tag1> value1 </Data_Name_Tag1>
#  <Data_Name_Tag2> value2 </Data_Name_Tag2>
#  <Data_Name_Tag3> value3 </Data_Name_Tag3>
# </Table_Name_Tag>
# or
# <Data_Name_Tag> value </Data_Name_Tag>
#
# "#"以降はコメントとして解釈されます.
#=============================================
#--------------------------------------------------------------------
# クラスタサーバの設定を記述します.
#--------------------------------------------------------------------
<Cluster_Server_Info>
#----- ホスト名
<Host_Name> cluster_1   </Host_Name>
#----- postmasterのポート番号
<Port>      5432     </Port>
#----- 最大接続数(max_connections - cluster num)
<Max_Connect> 30      </Max_Connect>
</Cluster_Server_Info>
#
# 以下クラスタサーバの記述を続けます.
#
<Cluster_Server_Info>
  <Host_Name>  cluster_2  </Host_Name>
  <Port>       5432     </Port>
  <Max_Connect> 30      </Max_Connect>
</Cluster_Server_Info>
<Cluster_Server_Info>
  <Host_Name>   cluster_3  </Host_Name>
  <Port>       5432     </Port>
  <Max_Connect> 30      </Max_Connect>
</Cluster_Server_Info>

#--------------------------------------------------------------------
# ロードバランサ固有の設定を記述します.
#--------------------------------------------------------------------
<Backend_Socket_Dir> /tmp </Backend_Socket_Dir>
<Receive_Port>      5432  </Receive_Port>
<Recovery_Port>     7779  </Recovery_Port>

<LifeCheck_Port>     6201  </LifeCheck_Port>
<Max_Cluster_Num>    128  </Max_Cluster_Num>
<Use_Connection_Pool>  no  </Use_Connection_Pool>


(1)クラスタサーバに関する設定
・<Cluster_Server_Info>〜</Cluster_Server_Info>
 クラスタサーバの設定を宣言します.設定終了タグまでの間にクラスタサーバの設定値(ホスト名,postmaster用のポート番号,最大接続数)を記述します.クラスタサーバの情報は複数設定しておくことができます.
・<Host_Name>〜</Host_Name>
 クラスタサーバのホスト名の設定します.DNSまたは"/etc/hosts"で名前解決が可能なホスト名を設定します.IPアドレスを記述しないでください.
・<Port>〜</Port>
 クエリーを送信時に接続するクラスタサーバ(postmaster)のポート番号を設定します.
・<Max_Connect>〜</Max_Connect>
 クラスタサーバに接続するセッションの最大数を設定します.クラスタサーバの"max_connections"の設定値以下にしてください.クラスタサーバはロードバランサだけでなく,レプリケーションサーバとも接続しますので,実際に接続できる数は,ここで設定した最大値よりも少なくなります.(クラスタサーバの"max_connections"の設定値)-(クラスタサーバ数)が接続できる最大値になります.

(2)ロードバランサ固有の設定
<Backend_Socket_Dir> </Backend_Socket_Dir>
ロードバランサとクラスタDBが同一マシン上にある場合,使用するUNIXドメインソケットを作成するディレクトリを設定します.
・<Receive_Port>〜</Receive_Port>
 クライアントからクエリーを受け付けるポート番号を設定します.
・<Recovery_Port>〜</Recovery_Port>
 レプリケーションサーバからのリカバリ要求を受け付けるポート番号を設定します.
・<LifeCheck_Port>〜</LifeCheck_Port>
 他サーバからのライフチェックを受信するポート番号を設定します
・<Max_Cluster_Num>〜</Max_Cluster_Num>
 登録できるクラスタDBの最大値を設定します.
・<Use_Connection_Pool>〜</Use_Connection_Pool>
 クラスタサーバとの接続にコネクション・プーリング機能を使うかどうかを指定します.'yes'または'no'で記述してください.