読者です 読者をやめる 読者になる 読者になる

AS2500の最果てで

AS2500のどっかのNOCのまとまらないまとめ

続・Redhat High Availability Addonsで割り当ててたVIPが一定間隔で切れる

Redhat High Availability Addonsで割り当ててたVIPが一定間隔で切れる - AS2500の最果てで

色々調べていくと実は普遍的なhttpd.confだと問題ないだろうことが分かった。

というのも rgmanager は httpd.conf の中をパースしている。rgmanager は起動後に /etc/httpd/conf/httpd.conf を /etc/cluster/apache/<apache-name>/httpd.conf に再構築する。
この際 PidFileディレクティブ を書き換えているようでこれによって見る pid が /var/run/httpd.pid から /var/run/cluster/apache/apache:<apache-name>.pid に変わっている。

再構築の手順は

PidFile "/var/run/cluster/apache:<apache-name>.pid"

を最初においてから /etc/httpd/httpd.conf の内容を PidFileディレクティブ を含めずに書き下してる。

ただ、ここで問題なのが Includeディレクティブ の存在だ。

どうやら rgmanager は Includeディレクティブ の先までは追わないようで、Includeディレクティブ 中に PidFileディレクティブ があるとあとに書かれたディレクティブを優先するようだ。
つまり最初に PidFileディレクティブ を置く rgmanager は後の Includeディレクティブ を発見できず、予定していた位置に pid が無いため起動に失敗する。

やっとわかった... PidFile を最後に置くようにコミュニティに提案してみようか...