Pacemaker: Pacemaker を停止しても、必ずしもリソースが別のノードに転送されるわけではありません。

Pacemaker: Pacemaker を停止しても、必ずしもリソースが別のノードに転送されるわけではありません。

sles12に2ノードクラスタを作成しました。以下は構成です -

    msnode1:~ # crm --version
    crm 3.0.0

    msnode1:~ #  corosync -v
    Corosync Cluster Engine, version '2.3.6'
    Copyright (c) 2006-2009 Red Hat, Inc.

msnode1:~ # crm config show
node 1: msnode1
node 2: msnode2
primitive mspersonal systemd:mspersonal \
        op monitor interval=30s
primitive virtip IPaddr \
        params ip=10.243.109.103 cidr_netmask=21 \
        op monitor interval=30s
location cli-prefer-virtip virtip role=Started inf: msnode1
colocation msconstraint inf: virtip mspersonal
order msorder Mandatory: virtip mspersonal
property cib-bootstrap-options: \
        have-watchdog=false \
        dc-version=1.1.16-4.8-77ea74d \
        cluster-infrastructure=corosync \
        cluster-name=mscluster \
        stonith-enabled=false \
        placement-strategy=balanced \
        help \
        list \
        last-lrm-refresh=1561341732
rsc_defaults rsc-options: \
        resource-stickiness=100 \
        migration-threshold=2
op_defaults op-options: \
        timeout=600 \
        record-pending=true

msnode1:~ # crm status
Stack: corosync
Current DC: msnode1 (version 1.1.16-4.8-77ea74d) - partition with quorum
Last updated: Tue Jun 25 17:43:44 2019
Last change: Tue Jun 25 17:38:21 2019 by hacluster via cibadmin on msnode1

2 nodes configured
2 resources configured

Online: [ msnode1 msnode2 ]

Full list of resources:

 virtip (ocf::heartbeat:IPaddr):        Started msnode1
 mspersonal     (systemd:mspersonal):   Started msnode1

ノード 1 でクラスターをシャットダウンするか、ノード 1 を再起動すると、リソースは msnode2 で開始されますが、ただちにシャットダウンされ、状況が変更されます。

msnode1:~ # systemctl stop pacemaker
msnode2:~ # crm status
Stack: corosync
Current DC: msnode2 (version 1.1.16-4.8-77ea74d) - partition WITHOUT quorum
Last updated: Tue Jun 25 17:44:26 2019
Last change: Tue Jun 25 17:38:20 2019 by hacluster via cibadmin on msnode1

2 nodes configured
2 resources configured

Online: [ msnode2 ]
OFFLINE: [ msnode1 ]

Full list of resources:

 virtip (ocf::heartbeat:IPaddr):        Stopped
 mspersonal     (systemd:mspersonal):   Stopped

msnode1でPacemakerサービスを再起動すると、リソースはmsnode1で再起動されます。

msnode1:~ # systemctl start pacemaker
msnode1:~ # crm status
Stack: corosync
Current DC: msnode2 (version 1.1.16-4.8-77ea74d) - partition with quorum
Last updated: Tue Jun 25 17:46:09 2019
Last change: Tue Jun 25 17:38:20 2019 by hacluster via cibadmin on msnode1

2 nodes configured
2 resources configured

Online: [ msnode1 msnode2 ]

Full list of resources:

 virtip (ocf::heartbeat:IPaddr):        Started msnode1
 mspersonal     (systemd:mspersonal):   Started msnode1

しかし、同じ練習を再実行すると、リソースは実際にmsnode2から始まります。

msnode1:~ # systemctl stop pacemaker
msnode2:~ # crm status
Stack: corosync
Current DC: msnode2 (version 1.1.16-4.8-77ea74d) - partition WITHOUT quorum
Last updated: Tue Jun 25 17:47:00 2019
Last change: Tue Jun 25 17:38:20 2019 by hacluster via cibadmin on msnode1

2 nodes configured
2 resources configured

Online: [ msnode2 ]
OFFLINE: [ msnode1 ]

Full list of resources:

 virtip (ocf::heartbeat:IPaddr):        Started msnode2
 mspersonal     (systemd:mspersonal):   Started msnode2

しかし、msnode1からPacemakerを再起動すると、リソースはmsnode1に戻ります。これは、固定性が100に設定されているため予期しない現象です。

このクラスタ構成で何が欠落しているかが見つかりません。

ベストアンサー1

ログや追加情報なしで最初の試行でリソースが完全に停止した理由はわかりません。 2番目の練習は、以下の位置制約を考慮して予想通りに行われました。

location cli-prefer-virtip virtip role=Started inf: msnode1

この位置制約には、200を超える固定スコアを持つ無限大スコアがあります。この位置制約を削除してテストを再試行すると、目的の方法で動作するようには思えません。

おすすめ記事