[pgcluster: 799] Re: pglb の仕様が疑問があります

Atsushi Mitani a.mitani @ sra-europe.com
2005年 8月 15日 (月) 19:12:18 JST


三谷@オランダです。


>pglb は pgreplicate からクラスタサーバの生死を伝えられて、
>ステータスが error か start use かを知り、
pglbがクラスタDBの異常を検知するのはレプリケーションサーバからの通知ではなく、自分で接続に行って検知します。

>何が原因で通知が行われないのかは分かっていないのですが、
>そもそも pglb が error ステータスを解除する為には通知を
>待つしかないのであれば問題だと思います。
これは、クラスタDB間のデータ同期が取れたことを確認した後でないと、クライアントからの接続を許可していないからです。

もしクラスタDBをリカバリーモードなしで後から起動した場合、データが他のクラスタDBと異なっていることが多いと思います。もし、そのままpglbがクライアントからの接続を許可してしまった場合、クラスタDB間でデータの不整合が発生します。

ですので、データ不整合の状態を防止するために、一度エラーになったクラスタDBはレプリケーションサーバから(データの同期が取れたよ、という)通知を貰うまで、外部からのアクセスを許可しないようになっているのです。

お分かり頂けましたでしょうか。

なお、メンテナンス等で全てのクラスタDBを停止した場合、システムとしてDBは1つも動いていませんので、pglbやレプリケーションサーバだけが動いていても意味を成しません。随って、この場合は「システム全部を手順とおりに再起動する」という運用になるのが普通だと思います。




pgcluster メーリングリストの案内