MetroCluster:ギブバックの実行中にLIFがオフラインになる
環境
- MetroCluster IP
- MetroClusterバックエンドポートのクラスタポート
- MetroClusterバックエンドポートがオフライン
- ギブバック
問題
- MetroClusterバックエンドポートがオフラインのときにノードをブートしてギブバックを実行すると、原因クラスタがクォーラムのメンバーでなくなることがある
- その後、Virtual Interface Manager(VifMgr)がオフラインになり、FreeBSDによってすべてのLIFがオフラインになり、IPの重複排除が回避されます。
例:
node_03 VifMgrがe0aのクラスタLIF 1を使用してクォーラムに参加できない
[kern_vifmgr:info:9017] A [src/rdb/TM.cc 1621 (0x80ea38600)]: _triggerOnlineStatusCallback: TM 1002: Report UNIT_IS_OFFLINE (epoch 0, master 0). Reason: RW_TXN txn could not acquire transaction: RPC failure ().
[kern_vifmgr:info:9017] A [src/rdb/TM.cc 1625 (0x80ea38600)]: _triggerOnlineStatusCallback: FAILOVER rdb: Local unit VifMgr offline
node_03 VifMgrはクラスタLIF 1を別のポートに移動しようとしましたが、OOQであるため失敗します。
[kern_vifmgr:info:9017] [0x812356d00] [Net::CdbLifHandle::avoidDownPorts] LIF lif:cdb:node_03:node_03_clus1 (1000) is assigned to a down port (node_03:e0a). Attempting to reassign.
[kern_vifmgr:info:9017] Warning: Unable to list entries on node node_04. RPC: Port mapper failure [from vifmgr on node "node_03" (VSID: -3) to mgwd at 169.254.249.59]
node_04 VifMgrがnode_03と通信できないためクォーラムが失われる
[kern_vifmgr:info:9156] A [src/rdb/cluster_events.cc 88 (0x80e836c00)]: Report: Cluster event: cluster-quorum-ends, epoch 31, site 1003 [not enough healthy nodes (1/2 healthy)].
[kern_vifmgr:info:9156] A [src/rdb/quorum/qm_states/inq/HoldingQuorumState.cc 55 (0x80e836c00)]: doWork: Master losing quorum, not enough votes to maintain quorum at 2248s.
node_04は65秒の猶予期間内にクォーラムを回復せず、ノード03でホスト可能なLIFをオフラインにして、スプリットブレインやIPの重複を回避します。
[kern_vifmgr:info:9156] [0x80ae37300] [EventMgr::unitOffline] Setting VifMgr operational status as OOQ
[kern_vifmgr:info:9156] [0x80ae37300] [FailoverMgr::localNodeDown] VifMgr on node node_04 is now out of quorum.
[node_04: vifmgr: vifmgr.lifBeingRemoved:notice]: LIF data_01 (on virtual server 7), IP address 1.11.20.12, is being removed from node node_04, port a0a-120.