EVPN マルチホーミング設定での Junos OS のアップグレード
このネットワーク構成例について
このネットワーク構成例を使用して、EVPN Muiltihoming(ESI-LAGとも呼ばれる)用に設定されたJunos OSまたはJunos Evolvedデバイスのペア上のJunos OSを、接続されたサーバー(ホスト)に手動でアップグレードします。
この例は、QFX スイッチを使用した既存の ERB(エッジルーテッドブリッジング)EVPN 設定に基づいています。ここで示す手順は、中央ルーティングされたブリッジング(CRB)とブリッジされたオーバーレイEVPNアーキテクチャにも適用できます。
サポートされているプラットフォームと、EVPN ESI-LAGのJunosまたはJunos Evolvedリリースサポートの詳細については、 Feature Explorerを参照してください。
例:EVPN マルチホーミングの使用例での Junos OS のアップグレード
要件
EVPN マルチホーム ホスト接続をサポートするように構成された QFX シリーズ リーフ スイッチのペアをアップグレードするには、この手順を使用します。
始める前に:
両方のリーフデバイスでコンソールにアクセスできることを確認します。
ホストMACアドレスが両方のリーフデバイスのEVPNデータベースに存在していることを確認します。
両方のリーフスイッチの
hold-time up
LAGインターフェイスで60秒(60000ミリ秒)のタイマー値を設定することをお勧めします。このオプションの詳細については、 保留時間 を参照してください。ホールドアップ タイマーを設定することで、スイッチがリブート イベント後に BGP ルート交換を完了する前に、ホスト側の LAG メンバー インターフェイスが動作状態にならないようにすることができます。この例では、マルチホーム ホストから VLAN の IRB インターフェイスに設定された仮想ゲートウェイ アドレスへの ping を生成します。ping 応答を生成するには、両方のスイッチの IRB インターフェイスに オプションを追加する
virtual-gateway-accept-data
必要があります。
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
Junos OSリリース19.1R3.9を最初に実行していた2台のQFX5100-48S-6Qデバイス
Junos OSリリース19.2R1.8
両方のToRスイッチへのリンクを備えたUbuntuまたはCentosサーバー。サーバーは、LACPベースのリンクアグリゲーションをサポートするために、モード4ボンディングインターフェイスを使用して構成されています。
手順の概要
このセクションでは、アップグレード手順の概要について説明します。一連の手順は、マルチホーム ホストをサポートするリーフ スイッチのペアをアップグレードする際の中断を最小限に抑えるように設計されています。
アップグレードの準備:
両方のスイッチでLAGインターフェイスが動作しており、EVPNコントロールプレーンが収束していることを確認します。
目的のJunos OSイメージを両方のスイッチの/var/tmpディレクトリにコピーします。
マルチホーム ホストから、同じ VLAN 内のオーバーレイ宛先への ping を開始します。たとえば、CRB の場合はスパイン デバイス上の IRB インターフェイス、ERB の場合はリーフ デバイス上の IRB インターフェイスなどです。この手順は、アップグレード手順に関連するパケット損失の程度を後で判断できるようにするために実行されます。
アップグレードするスイッチを選択し、サーバーまたはホストへのダウンリンクインターフェイスを無効にします。
スイッチを新しいJunosバージョンにアップグレードして再起動します。スイッチで新しいバージョンが実行されていることを確認します。
EVPN コントロール プレーンをチェックして、アップグレードされたスイッチがダウンリンク ホストの MAC アドレスを再学習したことを確認します。
アップグレードしたスイッチのダウンリンク インターフェイスを有効にします。
もう一方のスイッチで手順 3 から 6 を繰り返して、アップグレードを完了します。
ホストが生成したpingを停止し、アップグレード手順中に失われたパケット数を確認します。
メモ:アップグレード手順はヒットレスではありません。ダウンリンクで転送中のパケットは、アップグレードの準備のためにインターフェイスが無効になっていると失われる可能性があります。インターフェイスが無効になると、トラフィックは他のリーフ スイッチに切り替わり、流れ続けます。この手順では、アップグレードする各スイッチのLAGメンバーインターフェイスを無効にすると、2つの小さな損失ウィンドウがあります。これらの損失ウィンドウは、50 ミリ秒を超えてはなりません。
トポロジ
図 1 に、この EVPN マルチホーミングのアップグレード例のトポロジーを示します。両方のスイッチには、接続されたホストに関連付けられたVLAN用に設定されたIRBインターフェイスがあることに注意してください。これらの IRB は、共有仮想ゲートウェイ アドレス 192.168.0.1 を使用して設定されます。ホストには、bond0 インターフェイスでアドレス 192.1689.1.100 が割り当てられています。この図には、ホスト上のbond0インターフェイスのMACアドレスと、両方のリーフスイッチのLAGインターフェイスに設定されているイーサネットセグメント識別子(ESI)も詳しく記載されています。
EVPN マルチホーミングのアップグレード設定
アップグレードの準備
手順
EVPNマルチホーミングが動作していることを確認します。サーバーにログインし、ボンドインターフェイスが稼働していることを確認します。その間に、bond0 インターフェイスの MAC アドレスをメモします。この例では、ホストは Ubuntu を実行しているため、
ifconfig
コマンドが使用されます。Centosディストリビューションを使用している場合は、ip link show bond0
コマンドを使用します。この例でのホストの bond0 インターフェイスの MAC アドレスは、 00:1B:21:79:5A:ECです。root@server-host# ifconfig bond0 bond0 Link encap:Ethernet HWaddr 00:1B:21:79:5A:EC inet addr:192.168.100.100 Bcast:192.168.100.255 Mask:255.255.255.0 inet6 addr: fe80::21b:21ff:fe79:5aec/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:99980 errors:0 dropped:0 overruns:0 frame:0 TX packets:2997762 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:12393700 (11.8 MiB) TX bytes:371717722 (354.4 MiB)
コマンドで
show interfaces ae1
、両方のリーフデバイスでLAGインターフェイスが動作していることを確認します。この例では、LAGインターフェイスは ae1 両方のリーフデバイスにあります。集約されたインターフェイス番号は、2つのリーフデバイス間で異なる可能性があるローカルインデックスであることに注意してください。これはインターフェイス名ではなく、2つのリーフ間のLAGインターフェイスを論理的にバインドする一致するESIとsystem-id
パラメータの設定です。両方のリーフデバイスでLAGインターフェイスが起動していることを確認してください。出力では、LAGインターフェイスが動作しており、ESIが両方のリーフで00:01:01:01:01:01:01:01:01 :01:01として 設定されていることを確認します。
root@leaf3> show interfaces ae1 Physical interface: ae1, Enabled, Physical link is Up Interface index: 640, SNMP ifIndex: 529 Link-level type: Ethernet, MTU: 1514, Speed: 10Gbps, BPDU Error: None, Ethernet-Switching Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, Flow control: Disabled, Minimum links needed: 1, Minimum bandwidth needed: 1bps Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Current address: 10:0e:7e:b5:7e:f0, Hardware address: 10:0e:7e:b5:7e:f0 Ethernet segment value: 00:01:01:01:01:01:01:01:01:01, Mode: all-active Last flapped : 2020-05-06 21:44:35 UTC (1d 09:25 ago) Input rate : 960 bps (0 pps) Output rate : 0 bps (0 pps) Logical interface ae1.0 (Index 550) (SNMP ifIndex 530) Flags: Up SNMP-Traps 0x24024000 Encapsulation: Ethernet-Bridge Statistics Packets pps Bytes bps Bundle: Input : 0 0 0 0 Output: 0 0 0 0 Adaptive Statistics: Adaptive Adjusts: 0 Adaptive Scans : 0 Adaptive Updates: 0 Protocol eth-switch, MTU: 1514 Flags: Is-Primary
root@leaf2> show interfaces ae1 Physical interface: ae1, Enabled, Physical link is Up Interface index: 640, SNMP ifIndex: 541 Link-level type: Ethernet, MTU: 1514, Speed: 10Gbps, BPDU Error: None, Ethernet-Switching Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, Flow control: Disabled, Minimum links needed: 1, Minimum bandwidth needed: 1bps Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Current address: f4:b5:2f:44:af:30, Hardware address: f4:b5:2f:44:af:30 Ethernet segment value: 00:01:01:01:01:01:01:01:01:01, Mode: all-active Last flapped : 2020-05-08 05:58:07 UTC (01:22:18 ago) Input rate : 968 bps (0 pps) Output rate : 0 bps (0 pps) Logical interface ae1.0 (Index 554) (SNMP ifIndex 542) Flags: Up SNMP-Traps 0x24024000 Encapsulation: Ethernet-Bridge Statistics Packets pps Bytes bps Bundle: Input : 0 0 0 0 Output: 0 0 0 0 Adaptive Statistics: Adaptive Adjusts: 0 Adaptive Scans : 0 Adaptive Updates: 0 Protocol eth-switch, MTU: 1514 Flags: Is-Primary
前の手順でメモした ESI 値を使用して、両方のメンバー スイッチの EVPN データベースにホスト MAC アドレスが存在することを確認します。
root@leaf3> show evpn database | match esi 00:01:01:01:01:01:01:01:01:01 Instance: default-switch VLAN DomainId MAC address Active source Timestamp IP address 10100 00:1b:21:79:5a:ec 00:01:01:01:01:01:01:01:01:01 May 08 08:23:11 192.168.100.100
root@leaf3> show evpn database | match esi 00:01:01:01:01:01:01:01:01:01 Instance: default-switch VLAN DomainId MAC address Active source Timestamp IP address 10100 00:1b:21:79:5a:ec 00:01:01:01:01:01:01:01:01:01 May 07 22:06:11 192.168.100.100
両方のリーフ デバイスで集約されたインターフェイス設定を表示します。なお、このオプションは、
hold-time up
この例の推奨事項に従って、6 秒間に設定されています。root@leaf3> show configuration interfaces ae1 esi { 00:01:01:01:01:01:01:01:01:01; all-active; } aggregated-ether-options { lacp { active; system-id 00:00:01:01:01:01; hold-time up 6000; } } unit 0 { family ethernet-switching { interface-mode access; vlan { members v100; } } }
root@leaf2> show configuration interfaces ae1 esi { 00:01:01:01:01:01:01:01:01:01; all-active; } aggregated-ether-options { lacp { active; system-id 00:00:01:01:01:01; hold-time up 6000; } } unit 0 { family ethernet-switching { interface-mode access; vlan { members v100; } } }
両方のスイッチのLAGメンバーインターフェイス名をメモします。アップグレードするスイッチでこのインターフェイスをシャットダウンする必要があります。LAGメンバーのインターフェイス名は、スイッチのペア間で異なるのが一般的です。この例では、両方のリーフデバイスでLAGメンバーインターフェイスがxe-0/0/46です。
root@leaf3> show lacp interfaces Aggregated interface: ae1 LACP state: Role Exp Def Dist Col Syn Aggr Timeout Activity xe-0/0/46 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/46 Partner No No Yes Yes Yes Yes Slow Active LACP protocol: Receive State Transmit State Mux State xe-0/0/46 Current Slow periodic Collecting distributing . . .
root@leaf2# run show lacp interfaces Aggregated interface: ae1 LACP state: Role Exp Def Dist Col Syn Aggr Timeout Activity xe-0/0/46 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/46 Partner No No Yes Yes Yes Yes Slow Active LACP protocol: Receive State Transmit State Mux State xe-0/0/46 Current Slow periodic Collecting distributing . . .
図2に示すように、目的のJunos OSイメージを両方のリーフデバイスに転送します。イメージは必ずスイッチの /var/tmp ディレクトリに配置してください。通常、リーフデバイスにイメージをコピーするには、FTPまたはSCPのいずれかが使用されます。CLIを使用してファイルをコピーする方法の詳細については、ファイルコピーを参照してください。
メモ:request system storage cleanup
アップグレードに十分な領域があることを確認するために、新しいイメージを転送する前にコマンドを実行することを検討してください。図2:新しいJunosイメージ を転送する両方のEVPNマルチホーミングリーフで、Junos OSの開始バージョンを確認します。この例では、Junos OS の起動バージョンは 19.1R3.9 です。簡潔にするために、リーフ2からの出力のみを示しています。
root@leaf2> show version localre: -------------------------------------------------------------------------- Hostname: leaf2 Model: qfx5100-48s-6q Junos: 19.1R3.9 JUNOS OS Kernel 64-bit [20200219.fb120e7_builder_stable_11] JUNOS OS libs [20200219.fb120e7_builder_stable_11] JUNOS OS runtime [20200219.fb120e7_builder_stable_11] JUNOS OS time zone information [20200219.fb120e7_builder_stable_11] JUNOS OS libs compat32 [20200219.fb120e7_builder_stable_11] JUNOS OS 32-bit compatibility [20200219.fb120e7_builder_stable_11] JUNOS py extensions [20200326.053318_builder_junos_191_r3] . . .
これまでに実行した手順は、LAGインターフェイスが動作しており、EVPNコントロールプレーンが収束していることを示しています。アップグレードを開始する前に、ホストから VLAN の IRB インターフェイスに割り当てられた仮想ゲートウェイの IP アドレスに対して ping を開始します。このトラフィックは、いずれかのメンバーリンクにハッシュします。両方のスイッチが同じ仮想ゲートウェイIPで構成されているため、ホストがトラフィックを送信するスイッチは関係ありません。
どちらのスイッチもpingに応答できることに注意することが重要です。つまり、一方のスイッチが再起動しても、もう一方のスイッチは使用可能であり、ping に応答できます。
メモ:ping を成功させるには、両方のスイッチで IRB インターフェイスに オプションが
virtual-gateway-accept-data
設定されていることを確認する必要があります。[root@serverhost ~]# ping 192.168.100.1 PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data. 64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=3.80 ms 64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=1.93 ms 64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=8.81 ms 64 bytes from 192.168.100.1: icmp_seq=4 ttl=64 time=2.91 ms 64 bytes from 192.168.100.1: icmp_seq=5 ttl=64 time=1.34 ms 64 bytes from 192.168.100.1: icmp_seq=6 ttl=64 time=15.0 ms ...
失われたパケットの総数を特定できるように、アップグレード手順の間、ホストから IRB インターフェイスへの ping が実行されていることを確認します。
リーフ 3 のアップグレード
手順
図 3 の赤い「X」で示されているように、LAG メンバー xe-0/0/46 に面しているサーバーをシャットダウンして、リーフ 3 でアップグレード プロセスを開始します。
メモ:リーフ 3 の xe-0/0/46 インターフェイスで転送中の少数のパケットは、このステップで失われる可能性があります。この時点で、ping トラフィックはアップグレードが完了し、リーフ 3 でダウンリンク インターフェイスを再度有効にするまで、リーフ 2 デバイスを通過します。
図 3: リーフ 3 のダウンリンク インターフェイスの無効化[edit interface xe-0/0/46] root@leaf3# set disable
[edit interface xe-0/0/46] root@leaf3# commit and-quit
コンソール接続を使用し、コマンドを使用してリーフ 3
request system software add /var/tmp/jinstall-host-qfx-5e-x86-64-19.2R1.8-secure-signed.tgz reboot
でアップグレードを開始します。イメージの読み込みとその後の再起動プロセスは、 図 4 の歯車アイコンで表されています。アップグレード プロセスが完了するまでに数分かかります。この間、ping はリーフ 2 を流れるはずです。これは、リーフ 3 のアップグレード中もフル稼働しているためです。図 4: リーフ 3 のアップグレードの開始スイッチの再起動後、アップグレードが成功したことを確認します。
root@leaf3> show version localre: -------------------------------------------------------------------------- Hostname: leaf3 Model: qfx5100-48s-6q Junos: 19.2R1.8 JUNOS OS Kernel 64-bit [20190517.f0321c3_builder_stable_11] JUNOS OS libs [20190517.f0321c3_builder_stable_11] JUNOS OS runtime [20190517.f0321c3_builder_stable_11] JUNOS OS time zone information [20190517.f0321c3_builder_stable_11] JUNOS OS libs compat32 [20190517.f0321c3_builder_stable_11] JUNOS OS 32-bit compatibility [20190517.f0321c3_builder_stable_11] JUNOS py extensions [20190621.152752_builder_junos_192_r1] JUNOS py base [20190621.152752_builder_junos_192_r1] JUNOS OS vmguest [20190517.f0321c3_builder_stable_11] JUNOS OS crypto [20190517.f0321c3_builder_stable_11] . . .
この時点で、すべてのアンダーレイおよびオーバーレイBGPセッションを再確立する必要があります。リーフ 3 で LAG メンバー インターフェイスを有効にする前に、すべての BGP ピアがバックアップされ、EVPN コントロール プレーンが再コンバージェンスしていることを確認します。
root@leaf3> show evpn database esi 00:01:01:01:01:01:01:01:01:01 Instance: default-switch VLAN DomainId MAC address Active source Timestamp IP address 10100 00:1b:21:79:5a:ec 00:01:01:01:01:01:01:01:01:01 May 08 08:40:33 192.168.100.100
図 5 の緑色のチェック マークで示されているように、リーフ 3 のダウンリンク インターフェイスを有効にします。
図 5: リーフ 3 でダウンリンク インターフェイスを有効にする[edit interface xe-0/0/46] root@leaf3# delete disable
[edit interface xe-0/0/46] root@leaf3# commit and-quit
leaf2のアップグレード
手順
リーフ2のアップグレード手順を開始するには、 図6の赤いXで示すように、ダウンリンクインターフェイスを無効にします。ping はリーフ 2 を通って流れている可能性が高いため、この手順は手順の 2 番目の損失ウィンドウを示します。ping は、リーフ 2 のアップグレード後も、リーフ 3 デバイスを介して流れ続けるはずです。
図6:leaf2 のダウンリンクインターフェイスを無効にする[edit interface xe-0/0/46] root@leaf2# set disable
[edit interface xe-0/0/46] root@leaf2# commit and-quit
イメージのロードを開始し、リーフ2でコマンドで
request system software add /var/tmp/jinstall-host-qfx-5e-x86-64-19.2R1.8-secure-signed.tgz
再起動します。リーフ2のアップグレードと再起動は、 図7の歯車のアイコンで示されています。図 7: リーフ 2 でのアップグレードの開始リーフ2の再起動後、Junos OSのバージョンをチェックして、アップグレードが成功したことを確認します。
root@leaf2> show version localre: -------------------------------------------------------------------------- Hostname: leaf2 Model: qfx5100-48s-6q Junos: 19.2R1.8 JUNOS OS Kernel 64-bit [20190517.f0321c3_builder_stable_11] JUNOS OS libs [20190517.f0321c3_builder_stable_11] JUNOS OS runtime [20190517.f0321c3_builder_stable_11] JUNOS OS time zone information [20190517.f0321c3_builder_stable_11] JUNOS OS libs compat32 [20190517.f0321c3_builder_stable_11] JUNOS OS 32-bit compatibility [20190517.f0321c3_builder_stable_11] JUNOS py extensions [20190621.152752_builder_junos_192_r1] JUNOS py base [20190621.152752_builder_junos_192_r1] JUNOS OS vmguest [20190517.f0321c3_builder_stable_11] JUNOS OS crypto [20190517.f0321c3_builder_stable_11] . . .
EVPN コントロール プレーンがリーフ 2 で再コンバージェンスされていることを確認します。すべてのBGPセッションが再確立され、ホストのMACアドレスがEVPNデータベースに入力されるまでに数分かかる場合があります。
root@leaf2> show evpn database esi 00:01:01:01:01:01:01:01:01:01 Instance: default-switch VLAN DomainId MAC address Active source Timestamp IP address 10100 00:1b:21:79:5a:ec 00:01:01:01:01:01:01:01:01:01 May 08 08:53:30
図8の緑色のチェックマークで示されているように、リーフ2のLAGメンバーインターフェイスを有効にします。
図 8: リーフ 2 でダウンリンク インターフェイスを有効にする[edit interface xe-0/0/46] root@leaf2# delete disable
[edit interface xe-0/0/46] root@leaf2# commit and-quit
これで、両方のスイッチがアップグレードされ、すべてのLAGメンバーインターフェイスが再び動作できるようになりました。アップグレード プロセス中のトラフィックの中断を測定するには、ping を停止し、ping の統計情報をメモします。この例では、マルチホーム ホストをサポートするリーフ デバイスのペアのアップグレード中に、合計 2 つのパケットが失われます。
多くの場合、進行中のpingが中断されると、単一のパケットの損失が示されます。実際に失われたのが1パケットであろうと2パケットであろうと、アップグレードは事実上ヒットレスとみなされます。これは、この例で示した手順の期待値に従ったものです。
[root@serverhost ~]# ping 192.168.100.1 ... 64 bytes from 192.168.100.1: icmp_seq=1621 ttl=64 time=0.465 ms 64 bytes from 192.168.100.1: icmp_seq=1622 ttl=64 time=7.52 ms 64 bytes from 192.168.100.1: icmp_seq=1623 ttl=64 time=0.920 ms 64 bytes from 192.168.100.1: icmp_seq=1624 ttl=64 time=8.48 ms 64 bytes from 192.168.100.1: icmp_seq=1625 ttl=64 time=9.89 ms 64 bytes from 192.168.100.1: icmp_seq=1626 ttl=64 time=8.95 ms 64 bytes from 192.168.100.1: icmp_seq=1627 ttl=64 time=1.85 ms ^C --- 192.168.100.1 ping statistics --- 1627 packets transmitted, 1625 received, 0% packet loss, time 1628654ms rtt min/avg/max/mdev = 0.260/8.371/87.282/11.096 ms
結論
EVPNマルチホーミングは、ハイパフォーマンスと高可用性の両方をサポートする必要があるデータセンターアーキテクチャにとって重要な機能です。この例では、マルチホームホスト接続をサポートするリーフスイッチのペアを最小限の中断でアップグレードするために必要な構成と手順を示しました。