« | »

IP_CIP が yes になる条件が分かりました。
ソースを見ると、IPaddr2 の ip_init() 関数の中で、

    if [ "$IP_INC_GLOBAL" -gt 1 ] && ! ocf_is_true "$OCF_RESKEY_unique_clone_address"; then
            IP_CIP="yes"
            IP_CIP_HASH="${OCF_RESKEY_clusterip_hash}"

という行があるのですね。IP_CIP を yes にしているのはここだけです。で、IP_CIP を yes にする条件は、IP_INC_GLOBAL が2以上の時(1より大きいとき)、で、IP_INC_GLOBAL を設定しているのは、やはり ip_init() の始まりの方で、

    IP_INC_GLOBAL=${OCF_RESKEY_CRM_meta_clone_max:-1}
    IP_INC_NO=`expr ${OCF_RESKEY_CRM_meta_clone:-0} + 1`

という行の所。で、OCF_RESKEY_CRM_meta_clone_max を設定しているのは IPaddr2 内ではなくて、これを起動する heartbeat。情報は https://clusterlabs.org/projects/pacemaker/doc/2.1/Pacemaker_Administration/html/agents.html にあります。あとhttps://blog.drbd.jp/2017/12/advance_resource/ も参考になります。どうやら、OCF_RESKEY_CRM_meta_clone_max が2に設定されているみたいです。なので、iptables を動かすロジックに進んでしまったみたい。

コメント/トラックバック

トラックバックURL:

コメントする

※管理人にのみ公開されます