Watchdog

watchdogプロセスはpgpool-II本体から起動される、高可用性を目的としたプロセスです。 以下の機能を提供します。

サーバ構成

watchdogプロセスを含むpgpool-IIサーバは以下の図のようなシステム構成をとります。

watchdog server composition

watchdogの起動と停止

watchdogプロセスはpgpool-IIから自動的に起動・停止されますので、固有の起動・停止コマンドはありません。 しかし、watchdogプロセスは仮想IPインターフェースの起動・停止を行いますので、 pgpool-IIの起動は root権限で 行う必要があります。

pgpool.confの設定

watchdogプロセスの設定項目はpgpool.confに記述します。 pgpool.conf.sampleファイルのWATCHDOGセクションにサンプルを記述していますので、参照してください。 watchdogプロセスは以下の項目すべてを指定する必要があります。

基本設定セクション

use_watchdog

watchdog を有効にするには on にします。デフォルトは off です。

trusted_servers

上位接続を確認するための信頼できるサーバリストです。 pingの応答が得られる必要があります。 hostA,hostB,hostC...のようにカンマで区切って複数のサーバを指定できます。

delegate_IP

(アプリケーションサーバなど)外部からの接続されるpgpool-IIの仮想IPアドレスです。 スタンバイからアクティブに切り替わる際、pgpoolはこの仮想IPを引き継ぎます。

wd_hostname

watchdogプロセスが相互監視を受信する為のホスト名またはIPアドレスです。

wd_port

watchdogプロセスが相互監視を受信する為のポート番号です。

wd_interval

pgpool-IIへの生存監視の間隔(秒)です。 (1以上の数値)

ping_path

上位サーバへの接続監視に利用するpingコマンドのパスです。 /bin のようにパスだけを指定します。

ifconfig_path

IPアドレス切り替えに利用するコマンドのパスです。 /sbin のようにパスだけを指定します。

if_up_cmd

仮想IPを起動するために実行するコマンドです。 ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0 のようにコマンドとパラメータを指定します。 $_IP_$ はdelegate_IPで指定されたIPアドレスに置換されます。

if_down_cmd

仮想IPを停止するために実行するコマンドです。 ifconfig eth0:0 down のようにコマンドとパラメータを指定します。

arping_path

IPアドレス切り替え後にARPリクエストを送信するコマンドのパスです。 /usr/sbin のようにパスだけを指定します。

arping_cmd

IPアドレス切り替え後にARPリクエストを送信するコマンドです。 arping -U $_IP_$ -w 1 のようにコマンドとパラメータを指定します。 $_IP_$ はdelegate_IPで指定されたIPアドレスに置換されます。

wd_life_point

pgpool-IIの生死監視で応答が得られなかった場合のリトライ回数です。 (1以上の数値)

wd_lifecheck_query

pgpool-II の死活監視のために発行されるクエリです。 デフォルトは "SELECT 1" です。

監視対象サーバ指定セクション

other_pgpool_hostname0

監視対象のpgpool-IIサーバのホスト名を指定します。 数値の部分は監視対象サーバの番号です。 監視対象のサーバ毎に0からの連番にします。

other_pgpool_port0

監視対象のpgpool-IIサーバのpgpool用のポート番号を指定します。 数値の部分は監視対象サーバの番号です。 監視対象のサーバ毎に0からの連番にします。

other_wd_port0

監視対象のpgpool-IIサーバのwatchdog用のポート番号を指定します。 数値の部分は監視対象サーバの番号です。 監視対象のサーバ毎に0からの連番にします。