インフラエンジニアのメモ

インフラエンジニアとして、遭遇した障害、エラーなどの対応をまとめたブログです。

【pgpooladmin】ノードステータスにおいて、誤検知により「ダウン」状態となる


トップトラブル【DB】pgpool)>【pgpooladmin】ノードステータスにおいて、誤検知により「ダウン」状態となる

pgpooladminのノードステータスの誤検知について

pgpoolのヘルスチェックを有効にしている場合、pgpoolのノードステータスは (pgpool.conf ) health_check_user のユーザで接続して確認します。 ヘルスチェックするユーザはパスワードを設定することができないので、認証不要のユーザを作る必要があります。

# /var/lib/pgsql/data/pg_hba.conf
host template1 chkuser 172.18.21.213/32 trust
host all all 172.18.21.213/32 password


※ヘルスチェックユーザをchkuserとした場合、上記のようにchkuserでtemplate1に認証なしでアクセスできる設定が必要。





DB関連書籍

Mysqlのおすすめ書籍
PostgreSQLのおすすめ書籍
DBエンジニアとして読んでおきたい書籍


Google+

インフラエンジニアメモ【TOP】【IT資格】【書籍】トラブル【Linux】トラブル【WEB・アプリ】トラブル【DB】

広告

【PHP】PHPのSessionファイルをNFS上に置いた際の処理遅延


トップトラブル【WEB・アプリ】PHP)>【PHP】PHPのSessionファイルをNFS上に置いた際の処理遅延

PHPのSessionファイルをNFS上に置いた場合、高い頻度で何らかの処理待ち(30秒)が発生する。



ロックはできているですが、ロックが開放されません。プロセスが終了すればロックが解除されますが、同じプログラム内で2回以上ロックするような処理では 画面が固まってしまう現象がありました。

NFS上の処理遅延の原因・対応


「LinuxのRPMでPHPをインストールした場合、ファイルロックにflockを利用しているため、NFS上のファイルをロックできないことが原因」
と思ったが、カーネル2.6.12以降の場合、flockでもNFSのロックに対応しているようです。


NFS上のファイルをロックするためにはstatdとlockdの起動が必要


NFS上のファイルをロックするためにはNFSサーバ側とマウントする側のどちらにもstatdとlockdが必要になります。
NFSLOCKサービスを起動すると、30秒の処理遅延は確かに解決しました。




その他の解決事例


さらに調査を続けると、以下のような対応で解決できる事例がありました。
NFSサーバのhostsファイルにNFSクライアントのエントリを追加する。
statdとlockdの起動でも、解決できない場合は試してください。


関連情報:「fcntl()を使うビルド方法」


HeatBeat+DRBD環境で再発


通常のNFS環境では、上記のようにNFSLOCKサービスを起動することで解決しました。しかし、HeatBeat+DRBD環境では、また30秒の処理遅延が発生しました。
現在調査中です。




続きを読む
Google+

インフラエンジニアメモ【TOP】【IT資格】【書籍】トラブル【Linux】トラブル【WEB・アプリ】トラブル【DB】

広告
カスタム検索

最新記事
QRコード
QRコード
記事検索

  • ライブドアブログ