|
レプリケーションサーバは,システム内で以下の図のような設定項目を持っています.レプリケーションサーバの設定項目について,サンプルに基づいて説明します.
インストール・ディレクトリの下の"etc"ディレクトリの下(デフォルトでは"/usr/local/pgsql/etc")に"pgreplicate.conf.sample"というサンプルファイルがあります.このファイルをコピーして"pgreplicate.conf"というファイルを作成してください.pgreplicateを起動する際に,この設定ファイルのパスを指定できますので,設定ファイルの置き場所はどこでも構いません(pgreplicate起動時にパスを指定しない場合,環境変数$PGDATA,次にカレントディレクトリを探します).
|
#=============================================
# pgreplicate.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>
#
# "#"以降はコメントとして解釈されます.
#=============================================
#--------------------------------------------------------------------
# クラスタサーバの設定を記述します.
#--------------------------------------------------------------------
# 最初に記述したクラスタサーバがマスタDBになります.
<Cluster_Server_Info>
#----- ホスト名
<Host_Name> cluster_1
</Host_Name>
#----- postmasterのポート番号
<Port> 5432 </Port>
#----- マスタDBのデータ復旧受付ポート番号
<Recovery_Port> 7101 </Recovery_Port>
#------------ ライフチェックの接続ポート番号
<LifeCheck_Port> 7201 </LifeCheck_Port>
</Cluster_Server_Info>
#
# 以下クラスタサーバの記述を続けます.
#
<Cluster_Server_Info>
<Host_Name> cluster_2 </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7101 </Recovery_Port>
<LifeCheck_Port> 7201 </LifeCheck_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> cluster_3 </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7101 </Recovery_Port>
<LifeCheck_Port> 7201 </LifeCheck_Port>
</Cluster_Server_Info>
#
#--------------------------------------------------------------------
# ロードバランサの設定を記述します.
#--------------------------------------------------------------------
<LoadBalance_Server_Info>
#----------- ホスト名
<Host_Name> loadbalancer
</Host_Name>
#----------- リカバリ時の接続ポート番号
<Recovery_Port> 6101 </Recovery_Port>
#------------ ライフチェックの接続ポート番号
<LifeCheck_Port> 6201 </LifeCheck_Port>
</LoadBalance_Server_Info>
#
# ロードバランサの設定は複数記述できます.
#
#<LoadBalance_Server_Info>
# <Host_Name> loadbalancer_2 </Host_Name>
# <Recovery_Port> 6101 </Recovery_Port>
# <LifeCheck_Port> 6101 </LifeCheck_Port>
#</LoadBalance_Server_Info>
#
#------------------------------------------------------------
# 上位のカスケード接続レプリケーションサーバの設定を記述します.
#(上位にカスケード接続するレプリケーションサーバがない場合は記述不要です.)
#------------------------------------------------------------
#<Replicate_Server_Info>
# <Host_Name> upper_replicate.postgres.jp </Host_Name>
# <Port> 8001 </Port>
# <Recovery_Port> 8101 </Recovery_Port>
# <LifeCheck_Port> 8201 </LifeCheck_Port>
#</Replicate_Server_Info>
#
#--------------------------------------------------------------------
# レプリケーションサーバ固有の設定を記述します.
#--------------------------------------------------------------------
<Status_Log_File> /tmp/1/pgreplicate.sts
</Status_Log_File>
<Error_Log_File> /tmp/1/pgreplicate.log
</Error_Log_File>
<Replication_Port> 8001 </Replication_Port>
<Recovery_Port> 8101 </Recovery_Port>
<LifeCheck_Port> 8201 </LifeCheck_Port>
<RLOG_Port> 8301 </RLOG_Port>
<Response_Mode> normal </Response_Mode>
<Use_Replication_Log> no </Use_Replication_Log>
<Reserved_Connections> 1 </Reserved_Connections>
|
(1)クラスタサーバに関する設定
・<Cluster_Server_Info>〜</Cluster_Server_Info>
クラスタサーバの設定を宣言します.設定終了タグまでの間にクラスタサーバの設定値(ホスト名,postmaster用のポート番号,リカバリ用のポート番号)を記述します.クラスタサーバの情報は複数設定しておくことができます.最初に記述したクラスタサーバをマスタDBとして扱いますが,固定ではありません.最初のマスタDBに異常が発生した場合,その次に記述したクラスタサーバをマスタDBとして扱います.
・<Host_Name>〜</Host_Name>
クラスタサーバのホスト名の設定します.DNSまたは"/etc/hosts"で名前解決が可能なホスト名を設定します.IPアドレスを記述しないでください.
・<Port>〜</Port>
複製したクエリーを送信時に接続するクラスタサーバ(postmaster)のポート番号を設定します.
・<Recovery_Port>〜</Recovery_Port>
データ復旧時に接続するマスタDBのポート番号を設定します.
・<LifeCheck_Port>〜</LifeCheck_Port>
他サーバからのライフチェックを受信するポート番号を設定します.
(2)ロードバランサに関する設定
・<LoadBalance_Server_Info>〜</LoadBalance_Server_Info>
ロードバランサの設定を宣言します.設定終了タグまでの間にロードバランサの設定値(ホスト名,リカバリ用のポート番号)を記述します.ロードバランサの情報は複数設定しておくことができます.
・<Host_Name>〜</Host_Name>
ロードバランサのホスト名の設定します.クラスタサーバの設定時と同様,DNSまたは"/etc/hosts"で名前解決が可能なホスト名を設定します.IPアドレスを記述しないでください.
・<Recovery_Port>〜</Recovery_Port>
クラスタサーバの異常・復旧時にステータスを送信する際,接続するロードバランサのポート番号を設定します.
・<LifeCheck_Port>〜</LifeCheck_Port>
他サーバからのライフチェックを受信するポート番号を設定します.
(3)カスケード接続に関する設定
・<Replicate_Server_Info>〜</Replicate_Server_Infoo>
カスケード接続を行う場合の,上位サーバの情報を記述します.カスケード接続をしない場合や,上位サーバがない場合は記述する必要はありません.
・<Host_Name>〜</Host_Name>
カスケード接続対象のホスト名の設定します.DNSまたは"/etc/hosts"で名前解決が可能なホスト名を設定します.IPアドレスを記述しないでください.
・<Port>〜</Port>
クエリー情報送信時に接続するレプリケーションサーバのポート番号を設定します.
・<Recovery_Port>〜</Recovery_Port>
データ復旧時に接続するレプリケーションサーバのポート番号を設定します.
・<LifeCheck_Port>〜</LifeCheck_Port>
他サーバからのライフチェックを受信するポート番号を設定します.
(4)レプリケーションサーバ固有の設定
・<Status_Log_File> 〜 </Status_Log_File>
接続先のクラスタDBの状態等を記録するログファイル名を設定します.
・<Error_Log_File> 〜 </Error_Log_File>
デバッグ文やエラー文を記録するログファイル名を設定します.
・<Replication_Port>〜</Replication_Port>
クラスタサーバからのレプリケーション要求を受け付けるポート番号を設定します.
・<Recovery_Port>〜</Recovery_Port>
クラスタサーバからのリカバリ要求を受け付けるポート番号を設定します.
・<LifeCheck_Port>〜</LifeCheck_Port>
他サーバからのライフチェックを受信するポート番号を設定します.
・<RLOG_Port> 〜</RLOG_Port>
レプリケーションログを受信するポート番号を設定します.
・<Response_Mode>〜</Response_Mode>
クラスタサーバへ応答を返すタイミングを指定します.
'normal'はクエリーを受け付けたクラスタサーバの処理が終了したタイミングで応答を返します.
'reliable' は全てのクラスタサーバの処理が終了するのを待ってから応答を返します.
・<Use_Replication_Log> 〜</Use_Replication_Log>
レプリケーションログを使用するか否かを設定します.
使用する場合は'yes'
使用しない場合は'no'を記述します.
なお,レプリケーションログを使用する場合は,カスケード接続されたレプリケーションサーバが2台以上必要です.
・<Reserved_Connections> 〜</Reserved_Connections>
レプリケーションサーバからクラスタDBに接続するセッションのプール数を設定します.セッションはDB+ユーザ単位に作成され.これに共有することにより,レプリケーション要求のためにクラスタDBで消費されるセッション数を抑えることができます.
|