(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Vyatta】片系のみVRRPのpreemptが有効化されている時の挙動

スポンサーリンク

確認したいこと

VRRPが有効化なVyattaにて片系のみ

# set interfaces bonding test0 vrrp vrrp-group 1 preempt true

としている状態でMaster/Backupの切り替えを行うとどうなるのか。

環境情報
  • Debian 4.19.150-0vyatta1

確認結果

優先度が高い系でpreemptが有効化されている場合は対向側の有効化状況に拘わらずにMasterとなる。

箇条書きにすると以下。

  • 優先度が高いAでpreemptがtrueの場合
    • 優先度が低いBのpreemptの状態に拘わらず、A側がBackupに入る挙動に入ってもA側がMasterに戻る
  • 優先度が高いAでpreemptがfalseの場合
    • 優先度が低いBのpreemptの状態に拘わらず、A側がBackupに入る挙動となるとB側がMasterになる

以下、補足です。

補足

Preempt modeが有効な場合、priorityが数値として高い方が常にMasterとなります。逆にPreempt modeが無効の場合は元々のMasterルータが復旧しても現在のMaster側(元がBackup側)がMasterのまま保持されます。

一般的にはPreempt modeはフラッピングの原因となるのでfalseが推奨されていますが、例えばメイン機のみリソースが増強されている等でPreempt modeを有効化したい場合があると思います。

その際の動きとしては「Preempt modeが有効化されている側は常に相手との優先度を見て自分がMasterとなるか否かを決定する」という機構となるので、自分がBackupのstatusとなれば以下のようなログを出しながら自分をMasterに昇格します。

.. Keepalived_vrrp[5649]: VRRP_Instance(vyatta-test0-1) forcing a new MASTER election
.. Keepalived_vrrp[5649]: VRRP_Instance(vyatta-test0-1) Transition to MASTER STATE

よって優先度が高い側でpreempt trueがとなっていれば、強制的にBackupに切り替えようとしても

$ reset vrrp master interface test0 group 1
vrrp group 1 on test0 is in sync-group vgroup1
Forcing vyatta-test0-1 to BACKUP...
Warning: vyatta-test0-1 is in preempt mode and may retake master

上記のような標準出力が出た後にMaster状態を維持します。尚、"may retake master"と書いてある通りで優先度が低い場合は同メッセージは出るもBackupに切り替わります。

以上。