[pgpool-general-jp: 1626] Re: pcpコマンドでの.pcppassファイル使用方法, MASTERノードのpgpool停止時のdelegate IP移動について

Takeharu SATO takeharu.sato @ gmail.com
2020年 5月 17日 (日) 18:58:49 JST


先週水曜日に質問を行いました、佐藤です。

ご回答いただき、有難うございました。

pgpool-II停止時にdelegateIPが移らない現象につきましては、ご指摘いただきました
enable_consensus_with_half_votesをonに変更することで、意図した通りの動作となりま
した。有難うございました。

2020年5月15日(金) 15:53 Takuma Hoshiai <hoshiai @ sraoss.co.jp>:
>
> はじめまして、星合です。
>
>
> On Wed, 13 May 2020 21:01:32 +0900
> Takeharu SATO <takeharu.sato @ gmail.com> wrote:
>
> > 皆様、はじめまして。
> >
> > つい先日からpgpool-IIを試し始めた者です。色々と設定に失敗しているようで、
> > 何が誤っているか(または誤っている箇所の調査方法)をご教示いただきたくメール
> > をお送りします。
>
> エラーが発生する、正常に動作しない場合は、設定ファイルや事象再現時のログ、
> 判明していれば再現手順も合わせて共有していただけると、回答してくれる方が
> 多いかと思います。パスワードやIP情報など載せられない情報がある場合は適宜
> マスキングしていただければと思います。

有難うございます。実は質問を行う前、試しにlog_min_messages, client_min_messages
をdebug3に設定してログを眺めるなどして、幾つかの設定ミス(ポート番号の書き間違い)を
発見するなどしておりました。しかし、あまりにもログ出力が大量で、内容的にもsourceを
知っていないと手も付けられないのではないかと思い、困惑しておりました。


> > 現在、ドキュメントの「8.3. Pgpool-II + Watchdogの構築の例」にしたがいつ
> > つ、2台構成でVirtualBox上に構築を試みています。PostgreSQLのバージョンが
> > 10のため、11を前提としたPATH設定は修正済みです。また、NICのdeviceはeth0
> > ではなくenp0s8のため、該当部分も変更済みです。
> > https://www.pgpool.net/docs/latest/ja/html/example-cluster.html
> >
> > 環境は次のとおりです。
> > OS: CentOS 7.7.1908 (yum upgrade実行済)
> > PostgreSQL: postgresql10-server-10.12-1PGDG.rhel7.x86_64
> >             postgresql10-libs-10.12-1PGDG.rhel7.x86_64
> >             postgresql10-10.12-1PGDG.rhel7.x86_64
> >             (https://www.postgresql.org/download/linux/redhat/ を利用)
> > Pgpool-II: pgpool-II-pg10-4.1.1-1pgdg.rhel7.x86_64
> >            pgpool-II-pg10-extensions-4.1.1-1pgdg.rhel7.x86_64
> >            (pgpool-II-release-4.1-1.noarch を利用してyum install)
> >
> > ホスト名  | IPADDR
> > ---------+--------------
> > pgsql101 | 192.168.56.11
> > pgsql102 | 192.168.56.12
> >
> > delegate IPADDR: 192.168.56.13
> >
> > 【現象1】
> > pcpコマンドに-wオプションを付けるとパスワードファイルを利用して認証を行う
> > と認識していますが、正常に行えない状況が発生しています。
> >
> > -wオプション無しで実行した場合は、正常に実行できています。
> > | -bash-4.2$ pcp_watchdog_info -h 192.168.56.13 -p 9898 -U pgpool
> > | Password:
> > | 2 YES pgsql101:9999 Linux pgsql101 pgsql101
> > |
> > | pgsql101:9999 Linux pgsql101 pgsql101 9999 9000 4 MASTER
> > | pgsql102:9999 Linux pgsql102 pgsql102 9999 9000 7 STANDBY
> >
> > -wオプションを付けると、認証エラーが返されます。
> > | -bash-4.2$ pcp_watchdog_info -h 192.168.56.13 -p 9898 -U pgpool -w
> > | FATAL:  authentication failed for user "pgpool"
> > | DETAIL:  username and/or password does not match
> >
> > straceで調べたところ、~/.pcppassは正常に読み込めているようですし、権限も
> > 正しく設定できているようです。以下、straceの結果から終了直前部分を一部抜粋
> > します。試しで構築している関係上、pgpoolのパスワードをpgpoolとして設定し
> > てあります。
>
> 以下の結果を見る限り、ホスト名がlocalhostになっております。
> こちらをpcpを実行する際に指定するhost名と一致させても認証うまくいかないか
> 試していただければと思います。それでもうまくいかない場合、log_min_messagesを
> debug以下のレベルに変更して、上記エラー事象を再現した際のログも合わせて
> 共有していただければと思います。

.pcpassを変更し、各ホスト名でマッチするようにして再度実行しましたが、現象が再現し
てしまいました。以下、実行状況です。

(log_min_messagesおよびclient_min_messagesをdebug1に設定した状態)
| -bash-4.2$ cat .pcppass
| localhost:9898:pgpool:pgpool
| pgsql101:9898:pgpool:pgpool
| pgsql102:9898:pgpool:pgpool
| pgpooldelegate:9898:pgpool:pgpool
| -bash-4.2$ cat /etc/hosts
| 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
| ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
| 192.168.56.11   pgsql101
| 192.168.56.12   pgsql102
| 192.168.56.13   pgpooldelegate
| -bash-4.2$ hostname
| pgsql101
| -bash-4.2$ date; pcp_watchdog_info -h 192.168.56.11 -p 9898 -U pgpool
| 2020年  5月 17日 日曜日 18:17:16 JST
| Password:
| 2 YES pgsql101:9999 Linux pgsql101 pgsql101
|
| pgsql101:9999 Linux pgsql101 pgsql101 9999 9000 4 MASTER
| pgsql102:9999 Linux pgsql102 pgsql102 9999 9000 7 STANDBY
| -bash-4.2$ date; pcp_watchdog_info -h 192.168.56.13 -p 9898 -U pgpool
| 2020年  5月 17日 日曜日 18:17:34 JST
| Password:
| 2 YES pgsql101:9999 Linux pgsql101 pgsql101
|
| pgsql101:9999 Linux pgsql101 pgsql101 9999 9000 4 MASTER
| pgsql102:9999 Linux pgsql102 pgsql102 9999 9000 7 STANDBY
| -bash-4.2$ date; pcp_watchdog_info -h 192.168.56.13 -p 9898 -U pgpool -w
| 2020年  5月 17日 日曜日 18:17:45 JST
| FATAL:  authentication failed for user "pgpool"
| DETAIL:  username and/or password does not match

→ファイル: pgsql101-pgpool.log-20200517181716-20200517181803.log


(log_min_messagesおよびclient_min_messagesをdebug5に設定した状態)
| -bash-4.2$ date; pcp_watchdog_info -h 192.168.56.13 -p 9898 -U pgpool -w;date
| 2020年  5月 17日 日曜日 18:47:46 JST
| FATAL:  authentication failed for user "pgpool"
| DETAIL:  username and/or password does not match

→ファイル: pgsql101-pgpool.log-20200517184745-20200517184750.log

お手数おかけしますが、何卒よろしくお願いいたします。


> > | stat("/var/lib/pgsql/.pcppass", {st_mode=S_IFREG|0600, st_size=29, ...}) = 0
> > | open("/var/lib/pgsql/.pcppass", O_RDONLY) = 4
> > | fstat(4, {st_mode=S_IFREG|0600, st_size=29, ...}) = 0
> > | mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
> > -1, 0) = 0x7f619659c000
> > | read(4, "localhost:9898:pgpool:pgpool\n", 4096) = 29
> > | read(4, "", 4096)                       = 0
> > | close(4)                                = 0
> > | munmap(0x7f619659c000, 4096)            = 0
> > | write(3, "M\0\0\0\4", 5)                = 5
> > | select(4, [3], NULL, [3], NULL)         = 1 (in [3])
> > | read(3, "m\0\0\0\10B\342H*", 1024)      = 9
> > | write(3, "R\0\0\0,pgpool\0fd5d959733067cc6dbca"..., 45) = 45
> > | select(4, [3], NULL, [3], NULL)         = 1 (in [3])
> > | read(3, "E\0\0\0xSFATAL\0CXX000\0Mauthenticati"..., 1024) = 121
> > | close(3)                                = 0
> > | write(2, "FATAL:  authentication failed fo"..., 98FATAL:
> > authentication failed for user "pgpool"
> > | DETAIL:  username and/or password does not match
> > |
> > | ) = 98
> > | exit_group(1)                           = ?
> > | +++ exited with 1 +++


-- 
Takeharu SATO <takeharu.sato @ gmail.com>
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: pgsql101-pgpool.log-20200517181716-20200517181803.log
$B7?(B:         application/octet-stream
$B%5%$%:(B:     52831 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        <http://www.sraoss.jp/pipermail/pgpool-general-jp/attachments/20200517/bf5ded1d/attachment-0002.obj>
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: pgsql101-pgpool.log-20200517184745-20200517184750.log
$B7?(B:         application/octet-stream
$B%5%$%:(B:     8399 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        <http://www.sraoss.jp/pipermail/pgpool-general-jp/attachments/20200517/bf5ded1d/attachment-0003.obj>


pgpool-general-jp メーリングリストの案内