1. CentOS 7 で Pacemaker を利用する場合の注意点

注意点 CentOS 7 上で Pacemaker リポジトリパッケージを利用する場合は、必ず NetworkManager-config-server パッケージをインストールしてください。インストール後は一旦 NetworkManager を再起動してください。 手順例

# yum install -y NetworkManager-config-server
# systemctl restart NetworkManager

補足 RHEL 7 では NetworkManager-config-server パッケージは標準で必ずインストールされるため特別な手順は不要です。


2. NetworkManager-config-server パッケージが必要な理由

NetworkManager-config-server パッケージは、RHEL 7 では必ずインストールされますが、CentOS 7 では通常の手順ではインストールされない、という違いがあります。

この違いの影響で NetworkManager の動作が RHEL7 と CentOS 7 の間で差分があり、CentOS 7 上の Corosync が想定外の動作となってしまう可能性があるためです。

具体的な動作の違いとして、インターコネクトLAN接続の切断故障が発生した場合、以下の違いが発生します。

NetworkManager-config-server あり(RHEL 7 標準の動作)

(ネットワーク接続断が発生してもIPアドレス設定は保持されたまま)
# ip addr show dev eth1
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
 state DOWN group default qlen 1000
    link/ether 08:00:27:67:bb:18 brd ff:ff:ff:ff:ff:ff
    inet 192.168.33.101/24 brd 192.168.33.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
#

NetworkManager-config-server なし(CentOS 7 標準の動作)

(ネットワーク接続断が発生するとIPアドレス設定が削除される)
# ip addr show dev eth1
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
 state DOWN group default qlen 1000
    link/ether 08:00:27:67:bb:18 brd ff:ff:ff:ff:ff:ff
#

インターコネクトLAN通信で利用しているIPアドレスが運用中に削除されると、 Corosync プロセスは異常状態としてクラッシュする可能性があります。 この場合 Linux-HA Japan の推奨設定では watchdog 機能によってノードの再起動が発生します。

結果としてノードの再起動によるフェイルオーバが発生してサービス継続は行われますが、想定外のノード再起動が発生することになるため、故障原因の解析時に注意が必要となります。

また、ノード間のインターコネクトLAN通信を(L2SW等を通さず)直接接続している構成では、両ノードとも接続断を検知して再起動してしまい、サービス停止につながる可能性があるため十分注意が必要です。


3. Corosync の動作について

IPアドレスが削除された場合に Corosync プロセスがクラッシュするという動作は、 現在のバージョンの Corosync-2.* では仕様です。 同じ理由で、ifdown コマンドを実行した場合も Corosync プロセスはクラッシュします。

この動作の改善については、Corosync-3.*以降(Kronosnet)で対応することが検討されているようです。

以上です。