忍者ブログ

IT-Note

インフラ屋さんのメモ書き

Link Monitorの設定

今かかわっているプロジェクトでFortigateを利用しているのですが、
割といろいろなことができるんですね。

比較的多くの機器に実装されていますが、
FortigateにもLink Monitorという機能が存在します。

■やれること
  • 監視対象を定期的にPing監視し、HAのフェイルオーバーのトリガーにする
  • 監視対象を定期的にPing監視し、ダウンした場合には該当のgateway設定となっているルーティングをDisable化する。(StaticRouteのip-sla(Cisco)やKeep Alive機能(YAMAHA)みたいなもの)
後者をやる場合には、バックアップルートとなるもののDistance値を上げておき、明示的にバックアップであることを示すことで、通常時はDistance値が低いgatewayが利用され、LinkMonitorが動作する場合、そのルートが消えてDistance値の高いgatewayが採用されるようです。

ちょっとハマったのが、プライオリティ値の考え方。
HA設定で用いるPriorityとは別に、pingserverという独自のプライオリティ基準があり、
pingserver側の設定でフェイルオーバーに必要なプライオリティを定義し、
Link Monitor側では、それがダウンした際にいくつプライオリティ値を加算するか、という
計算をやる模様です。
初期値は1なので、ルーティングのアップデートもHAのフェイルオーバーも同時に起こってしまいます。
なので、ルーティングのアップデートとHAのフェイルオーバーを連動させたくない場合には、
pingserverの初期値となっているプライオリティ値を上げ、ルーティングのトリガーとしたいLink Monitorで加算させるプライオリティ値は低い値にしておく必要があるようです。

また、Flip Flop(パタパタと頻繁にHAのステータスが切り替わってしまう機能)防止の機能があり、1度LinkMonitorの機能でフェイルオーバーした後は、一定時間同じトリガーでは切り替わらないようになっている模様。初期値は60分。

障害試験を行っている際に、1号機LinkMonitorでフェイルオーバー→2号機でLinkMonitorで
フェイルオーバーしない、という事象が発生しえます。
要チューニングポイントですね。