続・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 を最後に置くようにコミュニティに提案してみようか...