My Home NW Lab

逸般の誤家庭のネットワーク

Meraki MX (Routed Mode)のWarm-Spareの挙動整理

概要

Meraki MXの冗長化には、VRRPをベースとしたActive-Standby構成を組めるWarm-Spareの機能があります。

Routed ModeではUplink (WAN)側とLAN側の状況が密接に関係してくるため、 本記事ではRouted Modeのパターンに絞ったうえでハマりやすそうな点に言及しつつ情報を整理していきます。

本記事の情報は、2022年02月頃の情報を元にしております。また、Meraki MX64 (Version: MX 15.44)にて筆者はコンセプト検証を行っております。

Routed ModeのMXでWarm-Spareによる冗長構成が組まれるまでの挙動

Meraki MXがRouted Modeの場合は、Warm-Spareで冗長構成が組まれるまでに主に3つのStepがあります。

  1. Uplink (WAN)の状況に応じて、LAN側のVRRP Priorityが決定します。
  2. LAN側でVRRPパケットを使用してMaster機を決定します。
  3. Uplink (WAN)側はMaster機がVIP (Virtual IP)を保持します。(任意)

Uplink (WAN)側のVIP (Virtual IP)の使用有無は任意となります。


Uplink (WAN)側の状況が、LAN側のVRRP Priorityの比較処理に影響を及ぼし。 さらにLAN側のMaster決定処理が、Uplink側のVIP (Virtual IP)の保持対象を決めます。 そのため、Uplink (WAN)側とLAN側の相互関係性で混乱しないように注意してください。

VRRP Priorityの決定方法

各Stepの話に入る前に、VRRP Priorityについて把握する必要があります。
まず前提として、Uplink (WAN)側のVIPの使用有無に関わらず、VRRP PacketはLAN側でのみやり取りされます。 表現を変えると、Routed ModeではUplink (WAN)側でVRRP Packetはやり取りされません。

そして、VRRP PriorityはMerakiの仕様によりUplinkの状況に応じて値が決定されます。
VRRP Priorityの詳細な情報は、下記のドキュメントの記載があります。

documentation.meraki.com

VRRP Priority

ドキュメント上には2種類のVRRP Priorityに関する表がありますが、
Primary MXとSpare MXの自身のPriorityと、Master機から送信されるVRRP Packet内のVRRP Priorityの値となります。

Step 1. Uplinkの状況に応じて、LAN側のVRRP Priorityが決定します。

Primary MXとSpare MX自身に設定されるVRRP Priorityは、Uplinkの状況に応じて決定されます。
そして次のStepにて、Master機のMXから送信されるVRRP Packet内のPriority値と比較で使用されます。

Step 1. VRRP Priorityの決定

Step 2. LAN側でVRRPパケットを使用してMaster機を決定します。

Warm-SpareではLAN側には物理IPアドレスは個別には設定されず、Master機のMXがVIPのアドレスを送信元にしてVRRP Packetを定期的にマルチキャストで送信します。

Step 2. Master機の決定

Uplink (WAN)に対してVIP (Virtual IP)を設定している場合は、Master機がVIP (Virtual IP)を保持します。

Step 3. Uplink (WAN)側のVIP保持対象の決定

正常時と障害時の挙動の整理

Warm-Spareの仕様はネットワークの冗長構成の設計にも影響を及ぼすため、正常時と障害時の情報の整理を行います。
背景は、障害時にLAN側が分断されると、Warm-Spareの挙動によりDual Masterの状態となってしまう可能性があるためです。

前提情報として、Spare MXはPrimary MXからのVRRP Packetの状態を監視しており、VRRP Packetが途切れるとSpare MXはMaster機に昇格します。

正常時

前述の各Stepの情報を、1枚の正常時の状態のスライドとして下記の画像にまとめております。

正常時

Primary MXのUplink (WAN)側が障害となると、Primary MXはVRRP Priorityを下げるため、Spare MXがMaster機に昇格します。
なお、Primary MXにWAN1とWAN2が存在してWAN負荷分散を行っている場合は、WAN1とWAN2の両方が落ちるとFail Overの条件を満たします。

Primary MXのUplink (WAN)側の障害時

LAN側の分断に伴うDual Master問題

まず前提として、Primary MXはUplink (WAN)側に障害が発生するとVRRP Priorityを下げて、Spare MXがMaster機に昇格するように促します。 ですが、LAN側が分断されてもPrimary MXはUplink (WAN)側に障害は発生していないためMasterのままとなります。 さらに、Spare MXはPrimary MXからのVRRP Packetが途切れるためMaster機に昇格します。
最終的に、Primary MXとSpare MXが同時にMasterとなり、Dual Master問題が発生します。

LAN側の分断に伴うDual Master問題

また、VIPを使用している構成でDual Master問題が発生すると、VIPに対応するMAC AddressがPrimary MXとSpare MXで同時に使用されるため、 WAN側に介在しているSwitchのMAC Address TableがFlappingします。

Dual Master問題が発生する物理構成

Dual Master問題を避けるには、各障害パターンにおいてPrimary MXとSpare MXのLANが分断されるのを常に防ぐ必要があります。
下記の「上向きのコの字型」の物理構成の例では、MXが直下のMS (L2SW)にしか接続を行っていないためLANが分断される障害パターンがあり、Single Point Of Failureが発生しています。

Dual Master問題が発生する物理構成

具体的にDual Master問題を避ける設計にするには、MXから配下の各Switchに対してケーブルを接続する必要があります。
そのため、必然的に下記のドキュメントの Recommended Topologies の構成にならざるを得ません。

documentation.meraki.com

下記の画像は Recommended Topologies の2種類あるうちの一つになります。

Recommended Topologies の Fully Redundant (Multiple Switches)

VIPの使用有無とネットワーク設計

Merakiのドキュメント上には Recommended Topologies の情報がありますが、 Internet接続用のMeraki MX (Routed Mode)では、Uplink (WAN)側でVIPを使用しないアクセス回線の直接収容が推奨構成となっています。

documentation.meraki.com

Warm-Spare使用時のRecommended Topologies (1/2)

Warm-Spare使用時のRecommended Topologies (2/2)

VIPを使用する構成の場合は、Uplink (WAN)側のISP Routerとの接続をWAN向けSwitchで冗長化する必要があり機器台数が増える点と、 OSPFやEIGRPの負荷分散を用いてのアクセス回線のActive-Activeな使用がMXではできない点があるため、コスト パフォーマンスが悪くなります。
ただ、VIPの使用有無でFailover/Failback timeが大きく異なる場合は、要件とコスト次第で採択する案も考えられます。(要実測, 要PoC)

また、障害時間に対する要件が厳しい場合は、VIPの使用有無によるFailover/Failback time以前の話として、 間接リンク障害の検知が最大 300秒 (5分)になる点に引っかからないかを気に留める必要があります。 間接リンクの障害検知の詳細情報関しては、Connection Monitoring for WAN Failover のドキュメントを参照してください。

documentation.meraki.com

Warm-Spareの切り替わり時間

VRRP PacketはPrimary MXから1秒毎に定期的に送信しており、Spare MXは3秒間に渡ってVRRP Packetを受信しなくなるとMaster機に昇格します。

documentation.meraki.com

VRRP Mechanics for HA A pair of MX in an HA configuration will use VRRP advertisements to monitor the status of the current active. In a working state, the active MX will send VRRP advertisements out to the LAN every second. If the passive MX does not receive any advertisements for three seconds, it assumes that the active MX has failed and will take over as the new active (including sending its own advertisements). This mechanism allows a spare MX to take over in the event of a hardware failure.

その上で、Master機が切り替わった後にAuto VPNを張り直す処理が走るため、 ドキュメント上ではFailover TimeとFailback Timeは30秒以下となっています。

documentation.meraki.com

Failover Timers

Service Failover Time Failback Time
Warm Spare 30 seconds or less 30 seconds or less

Warm-SpareのPreemptの動作: 自動Failback

Warm-Spareは障害が復旧すると、自動的にFailbackします。

documentation.meraki.com

Failure Detection
The two concentrators share health information over the network via the VRRP protocol.

In the event that the primary unit or connectivity tests for its WAN fail, the warm spare will assume the primary role until the original primary is back online or is passing connectivity tests again. When the primary VPN concentrator is back online and the spare begins receiving VRRP heartbeats again, the warm spare concentrator will relinquish the active role back to the primary concentrator.

The total time for failure detection, failover to the warm spare concentrator, and ability to start processing VPN packets is typically less than 30 seconds.

関連記事

Meraki MX (Routed Mode)のWarm-Spare構成における障害機の筐体交換は、Dashboardの設定変更が伴うため下記の記事を参考にしてください。

myhomenwlab.hatenablog.com

関連ドキュメント

本記事の内容に関連するドキュメントは下記となります。

documentation.meraki.com

documentation.meraki.com