今回は特定のTier-0/1 GWのSRをActive/Standby方式で冗長化する方法について説明します。
概要
SRのHAについて
特定のTier-0/1 GWのSRの配置先のNSX Edgeが1台の場合、NSX Edge(仮想マシン)に障害が発生したり、NSX Edgeがデプロイされている物理サーバで障害が発生した際、NSX Edge上に配置されているSRが提供しているサービスが使用できなくなります。
そのため、特定のTier-0/1 GWのSRを複数のNSX Edgeに配置し、冗長化することが可能です。冗長化方式には、2台以上のNSX EdgeにSRを配置して全SRを同時に動作させるAcitve/Active方式と、2台のNSX EdgeにSRを配置してどちらか一方のSRのみ動作させるAcitve/Standby方式が存在します。
特定のTier-0/1 GWのSRを複数のNSX Edgeに配置することで、特定のNSX Edgeで障害が発生した場合でも、SRが提供するサービスを継続して利用可能です。
Active/Standby方式のHAのPreemptiveについて
特定のTier-0/1 GWのSRをActive/Standby方式で冗長化している場合、Preemptiveと呼ばれるパラメータが存在します。Preemptiveの有無によって、Active状態のSRで障害発生し、その後、障害が発生したSRが復旧した際の動作が変化します。
Preemptiveが有効な場合、以前Active状態であったSRが復旧した際、現在Active状態として動作しているSRがStandby状態に遷移し、復旧したSRがActive状態として動作します。
Preemptiveが無効な場合、以前Active状態であったSRが復旧した際、現在Active状態として動作しているSRはActive状態に留まり、復旧したSRはStandby状態として動作します。
NSX-Tの話では無いのですが、一般的にFWやLBなどでは、フェイルバック時の通信断を回避するために、Preemptiveは無効にします。
Active/Standby方式のHAのVIPについて
Active/Standby方式のHAを使用してSRを冗長化している場合、VIP(Virtual IP)が設定可能です。VIPはActive状態にSRに割り当てられ、もしフェイルオーバーが発生した場合は新しいActive状態のSRにVIPも遷移します。
物理ネットワーク側のルータはNSX-Tの仮想ネットワーク向けのスタティックルートのネクストホップにVIPを指定します。これにより、SRでフェイルオーバーが発生した際、ルータ側の設定変更無しで通信が継続できます。
注意点として、VIPに関連付けられるMACアドレスはSRの実MACアドレスになります。仮想MACアドレスは生成されません。そのため、フェイルオーバー発生時には、新たにActive状態に遷移したSRはGARP(Gratuitous ARP)を送信し、物理ネットワーク側のルータのARPテーブルを更新します。
SRが配置されているNSX Edge間の死活監視
SRが配置されているNSX Edgeはお互いにBFDパケットを送受信し、死活監視を実施します。BFDパケットはGENEVE通信で使用するTEP経由でやり取りされます。
補足として、以下はNSX Edge間でやり取りされていたBFDパケットのキャプチャになります。
検証結果
検証内容、構成
Tier-1 GWでSegment 1を収容します。
Tier-1 GWとTier-0 GWを接続します。
NSX EdgeにTier-0 GWのSRを配置し、物理ネットワークとNSX-Tの仮想ネットワークを接続します。
Tier-0 GWのSRはActive/Standby方式でNSX Edge1とNSX Edge2に配置します。Preemptiveは無効にします。
NSX Edge1とNSX Edge2に配置されたSR用に20.1.1.254のVIPを設定します。
ネットワーク機器のCLIの設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.1.254
interface GigabitEthernet2
ip address 20.1.1.100 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 20.1.1.254
NSX-Tの設定
Edge Clusterの設定
Edge Clusterには2台のNSX Edgeを登録します。
Tier-0 GWの設定
HAモードにアクティブ/スタンドバイ、フェイルオーバーに非プリエンプティブを指定します。
Edgeクラスタに先程定義したEdge Clusterを指定します。
次に、Uplinkを設定します。今回は仮想ネットワークと物理ネットワーク間の接続を冗長化するので、NSX Edge1とNSX Edge2にUplinkを作成します。
最後にNSX Edge1とNSX Edge2で共有するVIPを設定します。
正常時の動作確認
HAの状態確認
NSX Edgeに配置されたSRのHAの状態はget logical-router <uuid> high-availability statusコマンドで確認可能です。
現在はNSX Edge1に配置されたSRがActive状態、NSX Edge2に配置されたSRがStandby状態なことが確認できます。また、Preemptiveが無効なことも確認できます。
edge1> get logical-router e0bbdd48-d605-49ac-9c46-89b056a1cda1 high-availability status
Service Router
UUID : a2a1c222-e278-4ec8-be02-6ae597c3f968
state : Active
type : TIER0
mode : A/S
failover mode : Non-preemptive
rank : 0
service count : 0
service score : n/a
HA ports state
UUID : 1d16a610-54e0-40e4-815d-3349be497059
op_state : Up
addresses : 169.254.0.2/24;fe80::50:56ff:fe56:5300/64
Peer Routers
Node UUID : 6af2ff1c-199c-4917-bc92-0d396111fc38
HA state : Standby
edge2> get logical-router e0bbdd48-d605-49ac-9c46-89b056a1cda1 high-availability status
Service Router
UUID : e0bbdd48-d605-49ac-9c46-89b056a1cda1
state : Standby
type : TIER0
mode : A/S
failover mode : Non-preemptive
rank : 1
service count : 0
service score : n/a
HA ports state
UUID : 18b1bc20-b49e-4a48-b4f5-a1d7cb254ae0
op_state : Down
addresses : 169.254.0.2/24;fe80::50:56ff:fe56:5300/64
Peer Routers
Node UUID : c58b27c7-d7bb-4037-98da-f8cb3d1b9456
HA state : Active
VIPの状態確認
Active状態のSRが配置されたNSX Edge1がVIPを保持していることが確認できます。
edge1> get logical-router a2a1c222-e278-4ec8-be02-6ae597c3f968 interfaces
Logical Router
UUID VRF LR-ID Name Type
a2a1c222-e278-4ec8-be02-6ae597c3f968 1 4097 SR-Tier-0_GW SERVICE_ROUTER_TIER0
Interfaces (IPv6 DAD Status A-Assigned, D-Duplicate, T-Tentative)
.
<一部省略>
.
Interface : 5c849be2-a779-41fb-9156-b4f594e0f102
Ifuid : 267
Name : Ext_Uplink1
Fwd-mode : IPV4_ONLY
Internal name : uplink-267
Mode : lif
Port-type : uplink
IP/Mask : 20.1.1.254/24;20.1.1.1/24
MAC : 00:50:56:b9:a7:b2
VLAN : None
Access-VLAN : None
.
<一部省略>
edge2> get logical-router e0bbdd48-d605-49ac-9c46-89b056a1cda1 interfaces
Logical Router
UUID VRF LR-ID Name Type
e0bbdd48-d605-49ac-9c46-89b056a1cda1 1 4098 SR-Tier-0_GW SERVICE_ROUTER_TIER0
Interfaces (IPv6 DAD Status A-Assigned, D-Duplicate, T-Tentative)
.
<一部省略>
.
Interface : e5dcd1e4-bb9b-4124-85b4-871512d3221b
Ifuid : 276
Name : Esx_Uplink2
Fwd-mode : IPV4_ONLY
Internal name : uplink-276
Mode : lif
Port-type : uplink
IP/Mask : 20.1.1.2/24
MAC : 00:50:56:b9:3d:c8
VLAN : None
Access-VLAN : None
.
<一部省略>
R2のARPテーブルを見ると、VIPに対応するMACアドレスがNSX Edge1に配置されたSRのMACアドレスであることが確認できます。
R2#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 20.1.1.1 1 0050.56b9.a7b2 ARPA GigabitEthernet2
Internet 20.1.1.2 0 0050.56b9.3dc8 ARPA GigabitEthernet2
Internet 20.1.1.100 - 0050.56b9.a2c5 ARPA GigabitEthernet2
Internet 20.1.1.254 1 0050.56b9.a7b2 ARPA GigabitEthernet2
Tier-0 GWのSRのTransit BP向けインタフェースの状態確認
NSX Edge1とNSX Edge2に配置されたSRのTransit BP向けのインタフェースのアドレスが同じことが確認できます。
edge1> get logical-router f6d536a6-0edc-459c-9fff-bef1a717f5a7 interfaces
Logical Router
UUID VRF LR-ID Name Type
f6d536a6-0edc-459c-9fff-bef1a717f5a7 5 4099 SR-Tier-0_GW SERVICE_ROUTER_TIER0
Interfaces (IPv6 DAD Status A-Assigned, D-Duplicate, T-Tentative)
.
<一部省略>
.
Interface : 1d16a610-54e0-40e4-815d-3349be497059
Ifuid : 271
Name : bp-sr0-port
Fwd-mode : IPV4_ONLY
Internal name : downlink-271
Mode : lif
Port-type : backplane
IP/Mask : 169.254.0.2/24;fe80::50:56ff:fe56:5300/64(NA)
MAC : 02:50:56:56:53:00
VNI : 65541
Access-VLAN : None
LS port : 8dbf094f-2cb2-4326-9e41-9bd9d93520f1
Urpf-mode : NONE
DAD-mode : LOOSE
RA-mode : RA_INVALID
Admin : up
Op_state : up
MTU : 1500
.
<一部省略>
edge2> get logical-router 86666169-5d83-4ccd-96df-ed72e1c407b8 interfacess
Logical Router
UUID VRF LR-ID Name Type
86666169-5d83-4ccd-96df-ed72e1c407b8 5 4100 SR-Tier-0_GW SERVICE_ROUTER_TIER0
Interfaces (IPv6 DAD Status A-Assigned, D-Duplicate, T-Tentative)
.
<一部省略>
.
Interface : 18b1bc20-b49e-4a48-b4f5-a1d7cb254ae0
Ifuid : 284
Name : bp-sr1-port
Fwd-mode : IPV4_ONLY
Internal name : downlink-284
Mode : lif
Port-type : backplane
IP/Mask : 169.254.0.2/24;fe80::50:56ff:fe56:5300/64(NA)
MAC : 02:50:56:56:53:00
VNI : 65541
Access-VLAN : None
LS port : afdabe09-fe48-4957-b411-9b919d1d7470
Urpf-mode : NONE
DAD-mode : LOOSE
RA-mode : RA_INVALID
Admin : up
Op_state : down
MTU : 1500
.
<一部省略>
疎通確認
R1の10.1.1.1からR2の20.1.1.100へPingを実施します。
R1の10.1.1.1からR2の20.1.1.100へのPingが成功することが確認できます。
R1#ping 20.1.1.100 source 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.1.1.100, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
以下はR1の10.1.1.1からR2の20.1.1.100へのトレースフローの結果になります。トラフィックがNSX Edge1を経由していることが確認できます。
NSX Edge1障害時の動作確認
NSX Edge1の電源を停止し、各種状態を確認します。
HAの状態確認
NSX Edge2に配置されたSRがActive状態に遷移したことが確認できます。
edge2> get logical-router e0bbdd48-d605-49ac-9c46-89b056a1cda1 high-availability status
Service Router
UUID : e0bbdd48-d605-49ac-9c46-89b056a1cda1
state : Active
type : TIER0
mode : A/S
failover mode : Non-preemptive
rank : 1
service count : 0
service score : n/a
HA ports state
UUID : 18b1bc20-b49e-4a48-b4f5-a1d7cb254ae0
op_state : Up
addresses : 169.254.0.2/24;fe80::50:56ff:fe56:5300/64
Peer Routers
Node UUID : c58b27c7-d7bb-4037-98da-f8cb3d1b9456
HA state : Unreachable
VIPの状態確認
NSX Edge2に配置されたSRにVIPが遷移したことが確認できます。
edge2> get logical-router e0bbdd48-d605-49ac-9c46-89b056a1cda1 interfaces
Logical Router
UUID VRF LR-ID Name Type
e0bbdd48-d605-49ac-9c46-89b056a1cda1 1 4098 SR-Tier-0_GW SERVICE_ROUTER_TIER0
Interfaces (IPv6 DAD Status A-Assigned, D-Duplicate, T-Tentative)
.
<一部省略>
.
Interface : e5dcd1e4-bb9b-4124-85b4-871512d3221b
Ifuid : 276
Name : Esx_Uplink2
Fwd-mode : IPV4_ONLY
Internal name : uplink-276
Mode : lif
Port-type : uplink
IP/Mask : 20.1.1.254/24;20.1.1.2/24
MAC : 00:50:56:b9:3d:c8
VLAN : None
Access-VLAN : None
.
<一部省略>
R2のARPテーブルを見ると、VIPに対応するMACアドレスがNSX Edge2に配置されたSRのMACアドレスに変化したことが確認できます。
R2#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 20.1.1.1 1 0050.56b9.a7b2 ARPA GigabitEthernet2
Internet 20.1.1.2 0 0050.56b9.3dc8 ARPA GigabitEthernet2
Internet 20.1.1.100 - 0050.56b9.a2c5 ARPA GigabitEthernet2
Internet 20.1.1.254 1 0050.56b9.3dc8 ARPA GigabitEthernet2
補足として、以下は、フェイルオーバー発生時にNSX Edge2に配置されたSRが送信したGARPのキャプチャになります。
疎通確認
R1の10.1.1.1からR2の20.1.1.100へPingを実施します。
R1の10.1.1.1からR2の20.1.1.100へのPingが成功することが確認できます。
R1#ping 20.1.1.100 source 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.1.1.100, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
以下はR1の10.1.1.1からR2の20.1.1.100へのトレースフローの結果になります。トラフィックがNSX Edge2を経由していることが確認できます。
NSX Edge1復旧時の動作確認
NSX Edge1に電源を投入し、各種状態を確認します。
HAの状態確認
復旧したNSX Edge1に配置されたSRがStandby状態に遷移し、NSX Edge2に配置されたSRはActive状態のままであることが確認できます。
edge1> get logical-router e0bbdd48-d605-49ac-9c46-89b056a1cda1 high-availability status
Service Router
UUID : a2a1c222-e278-4ec8-be02-6ae597c3f968
state : Standby
type : TIER0
mode : A/S
failover mode : Non-preemptive
rank : 0
service count : 0
service score : n/a
HA ports state
UUID : 1d16a610-54e0-40e4-815d-3349be497059
op_state : Down
addresses : 169.254.0.2/24;fe80::50:56ff:fe56:5300/64
Peer Routers
Node UUID : 6af2ff1c-199c-4917-bc92-0d396111fc38
HA state : Active
edge2> get logical-router e0bbdd48-d605-49ac-9c46-89b056a1cda1 high-availability status
Service Router
UUID : e0bbdd48-d605-49ac-9c46-89b056a1cda1
state : Active
type : TIER0
mode : A/S
failover mode : Non-preemptive
rank : 1
service count : 0
service score : n/a
HA ports state
UUID : 18b1bc20-b49e-4a48-b4f5-a1d7cb254ae0
op_state : Up
addresses : 169.254.0.2/24;fe80::50:56ff:fe56:5300/64
Peer Routers
Node UUID : c58b27c7-d7bb-4037-98da-f8cb3d1b9456
HA state : Standby
VIPの状態確認
Active状態のSRが配置されたNSX Edge2がVIPを保持し続けていることが確認できます。
edge1> get logical-router a2a1c222-e278-4ec8-be02-6ae597c3f968 interfaces
Logical Router
UUID VRF LR-ID Name Type
a2a1c222-e278-4ec8-be02-6ae597c3f968 1 4097 SR-Tier-0_GW SERVICE_ROUTER_TIER0
Interfaces (IPv6 DAD Status A-Assigned, D-Duplicate, T-Tentative)
.
<一部省略>
.
Interface : 5c849be2-a779-41fb-9156-b4f594e0f102
Ifuid : 267
Name : Ext_Uplink1
Fwd-mode : IPV4_ONLY
Internal name : uplink-267
Mode : lif
Port-type : uplink
IP/Mask : 20.1.1.1/24
MAC : 00:50:56:b9:a7:b2
VLAN : None
Access-VLAN : None
.
<一部省略>
edge2> get logical-router e0bbdd48-d605-49ac-9c46-89b056a1cda1 interfaces
Logical Router
UUID VRF LR-ID Name Type
e0bbdd48-d605-49ac-9c46-89b056a1cda1 1 4098 SR-Tier-0_GW SERVICE_ROUTER_TIER0
Interfaces (IPv6 DAD Status A-Assigned, D-Duplicate, T-Tentative)
.
<一部省略>
.
Interface : e5dcd1e4-bb9b-4124-85b4-871512d3221b
Ifuid : 276
Name : Esx_Uplink2
Fwd-mode : IPV4_ONLY
Internal name : uplink-276
Mode : lif
Port-type : uplink
IP/Mask : 20.1.1.254/24;20.1.1.2/24
MAC : 00:50:56:b9:3d:c8
VLAN : None
Access-VLAN : None
.
<一部省略>
R2のARPテーブルを見ると、VIPに対応するMACアドレスがNSX Edge2に配置されたSRのMACアドレスのままであることが確認できます。
R2#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 20.1.1.1 1 0050.56b9.a7b2 ARPA GigabitEthernet2
Internet 20.1.1.2 0 0050.56b9.3dc8 ARPA GigabitEthernet2
Internet 20.1.1.100 - 0050.56b9.a2c5 ARPA GigabitEthernet2
Internet 20.1.1.254 1 0050.56b9.3dc8 ARPA GigabitEthernet2
疎通確認
R1の10.1.1.1からR2の20.1.1.100へPingを実施します。
R1の10.1.1.1からR2の20.1.1.100へのPingが成功することが確認できます。
R1#ping 20.1.1.100 source 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.1.1.100, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
以下はR1の10.1.1.1からR2の20.1.1.100へのトレースフローの結果になります。トラフィックがNSX Edge2を経由していることが確認できます。
コメント