SDLMUX ソフトウェアは、2 つのネットワークアダプタを 1 つの IP インターフェイスに統合し、アクティブなアダプタのリンクがダウンしたり、アダプタに障害が発生した場合にフェイルオーバー機能を提供します。一度セットアップすれば管理はほとんど必要ありませんが、いくつか注意すべき点があります。
第一に、SDLMUX は負荷分散を提供しません。すべてのトラフィックはアクティブアダプタ上で送受信されます。
次に、ftServer VSeries のハードウェア上では、アクティブアダプタの MAC アドレスは 00:00:00:A8:4v:wx:yz の形式である。00:00:00:A8 は、IEEE によって割り当てられた Stratus の組織的に一意な識別子 (OUI) である。v」は、SDLMUX デバイスが初期化された順番に基づくインデックスであり、0 から始まる。 値「wx:yz」は、システムのシリアル番号に基づく。スタンバイアドレスとアクティブアドレスの違いは、4 バイト目の上位ニブルのみであり、4 の代わりに 6 となる。 また、同じモジュール上の 2 つのアクティブ (またはスタンバイ) アダプタの MAC アドレスの違いは、4 バイト目の下位ニブルのみである。すべての MAC アドレスのリストを取得する最も簡単な方法は、"MAC" にマッチする analyze_system リクエスト "dump_sdlmux" を使用することです。
as: match 'MAC' ; dump_sdlmux MAC address = 0000A8405A8B MAC address = 0000A8605A8B MAC address = 0000A8415A8B MAC address = 0000A8615A8B MAC address = 0000A8425A8B MAC address = 0000A8625A8B MAC address = 0000A8435A8B MAC address = 0000A8635A8B as: |
図1
MAC アドレスだけではあまり役に立ちません。「MAC」または「#」で一致させると、MAC アドレスと SDLMUX およびネットワークアダプタのデバイス名が得られます。このリストには、SDLMUX パートナーシップの一部ではないネットワークアダプタは含まれていないことに注意してください。
as: match 'MAC' -or '#' ; dump_sdlmux sdlmux device = #sdlmuxA.m16.10-5-0.11-5-0 MAC address = 0000A8405A8B Interface device = %phx_vos#enetA.m16.10-5-0 MAC address = 0000A8605A8B
sdlmux device = #sdlmuxA.m16.10-5-1.11-5-1 MAC address = 0000A8415A8B Interface device = %phx_vos#enetA.m16.10-5-1 MAC address = 0000A8615A8B
sdlmux device = #sdlmux.m16.11-2 MAC address = 0000A8425A8B Interface device = %phx_vos#enet.m16.11.11-2 MAC address = 0000A8625A8B
sdlmux device = #sdlmux.m16.11-3 MAC address = 0000A8435A8B Interface device = %phx_vos#enet.m16.10.11-3 MAC address = 0000A8635A8B Interface device = %phx_vos#enet.m16.11.11-3 as: |
図2
3 番目に、SDLMUX ネットワークアダプタは、ネットワークパスが正しく機能していることを確認するために、イーサネット 802.2 LLC フレームをパートナーに送信します。これらのテストフレームの 5 セットは、3 秒間隔で送信され、その後 33 秒間隔で送信されます。トレース 1 は、このパターンの 3 サイクルを示しています。また、トレース 1 には、アクティブアダプタ(フレーム 1)とスタンバイアダプタ(フレーム 2)からの実際のフレームも表示されています。サイクルを読みやすくするために、33 秒間隔の後のフレームを強調表示しています。これらはイーサネットタイプ II フレームや IP パケットではないので、ネットワークアダプタに接続されているスイッチや、2 つのアダプタ間のパスに沿って接続されているスイッチは、802.2 LLC フレームをブロックしないように設定されている必要があります。
No. delta Time Source Destination Protocol Info 1 0.000000 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 0000 00 00 a8 62 5a 8b 00 00 a8 42 5a 8b 00 1b ac ac ...bZ....BZ..... 0010 03 31 32 39 2e 31 2e 30 00 00 00 00 00 00 00 00 .129.1.0........ 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0030 00 00 00 00 00 00 00 00 00 00 00 00 b1 60 74 48 .............`tH 2 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 0000 00 00 a8 42 5a 8b 00 00 a8 62 5a 8b 00 1b ac ac ...BZ....bZ..... 0010 03 31 32 39 2e 31 2e 30 00 00 00 00 00 00 00 00 .129.1.0........ 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0030 00 00 00 00 00 00 00 00 00 00 00 00 45 23 24 c0 ............E#$. 3 2.999945 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 4 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 5 2.999943 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 6 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 7 2.999882 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 8 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 9 2.999946 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command
11 32.99900 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 12 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 13 2.999945 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 14 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 15 2.999938 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 16 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 17 2.999942 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 18 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 19 2.999943 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 20 0.000008 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 21 32.99900 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 22 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 23 2.999944 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 24 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 25 2.999947 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 26 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 27 2.999938 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 28 0.000007 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 29 2.999946 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 30 0.000010 StratusC_62:5a:8b StratusC_42:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command 31 32.99900 StratusC_42:5a:8b StratusC_62:5a:8b LLC U, func=UI; DSAP 0xac Individual, SSAP 0xac Command |
トレース1
これらのテストフレームを見るために packet_monitor を使用することはできないことに注意してください。フレームは packet_monitor がスタックにタップしたポイントの下に送信され、SDLMUX は packet_monitor がフレームを読み取る前にスタックからフレームを削除します。
4 番目に、各アダプタが異なるスイッチに接続されていて、それらのスイッチ間のリンクに障害が発生した場合や、何らかの理由でテストフレームが届かない場合、syserr_log に図 3 のような内容が表示されます。リリース 16.2.1ak および 17.0.0ah 以降では、テストフレームの障害が発生すると、SDLMUX は、疑わしいインターフェイス上で正常に ARP された最後のホストに ARP リクエストを送信します。応答があった場合、アクティブなアダプタが動作していることがわかるので、スタンバイアダプタをリセットして動作するようにします。ネットワークの問題でテストフレームがブロックされている場合は、アダプタをリセットしても何の解決にもならず、アダプタは最終的に MTBF になってしまいます。dlmux_admin コマンドを実行すると、壊れたアダプタが DOWN (図 4) として報告され、トレースにはテストフレームが表示されません。ARP 応答が受信されなかったり、ARP 要求を送信しないリリースで問題が発生したりすると、SDLMUX はアダプタを介して失敗し、新しいスタンバイアダプタが壊れます。次のサイクルでテストフレームが再び失敗し、ARP 応答が受信されない場合は、フェイルオーバーとブレークが再び行われます。最終的には、1 つのアダプタが MTBF になります。
08:05:02 WARNING(64): SDLMUX: the devices in group #sdlmux.m16.11-2 08:05:02 WARNING(65): SDLMUX: are not exchanging test packets with each other 08:05:02 WARNING(66): SDLMUX: but the active adapter is able to communicate wi +th other hosts! 08:05:02 WARNING(67): SDLMUX: This indicates some sort of network or cabling i +ssue! 08:05:02 WARNING(68): SDLMUX: breaking adapter %phx_vos#enet.m16.10.11-2: XID +communication issue 08:05:02 PCI 10/11/2 enet.m16.10.11-2 Break Requested 08:05:02 WARNING(69): SDLMUX: device name %phx_vos#enet.m16.10.11-2 is broken 08:05:02 PCI 10/11/2 enet.m16.10.11-2 Adding 08:05:04 PCI 10/11/2 enet.m16.10.11-2 Online 08:05:04 WARNING(70): genet in (10/11/2) Link is Up. 08:05:04 WARNING(71): SDLMUX: device %phx_vos#enet.m16.10.11-2 back to servic +e 08:05:49 WARNING(72): SDLMUX: breaking adapter %phx_vos#enet.m16.10.11-2: XID +communication issue 08:05:49 PCI 10/11/2 enet.m16.10.11-2 Break Requested 08:05:49 WARNING(73): SDLMUX: device name %phx_vos#enet.m16.10.11-2 is broken 08:05:49 PCI 10/11/2 enet.m16.10.11-2 Adding 08:05:52 PCI 10/11/2 enet.m16.10.11-2 Online 08:05:52 WARNING(74): genet in (10/11/2) Link is Up. 08:05:52 WARNING(75): SDLMUX: device %phx_vos#enet.m16.10.11-2 back to servic +e 08:07:22 WARNING(76): SDLMUX: the devices in group #sdlmux.m16.11-2 08:07:22 WARNING(77): SDLMUX: are not exchanging test packets with each other 08:07:22 WARNING(78): SDLMUX: but the active adapter is able to communicate wi +th other hosts! 08:07:22 WARNING(79): SDLMUX: This indicates some sort of network or cabling i +ssue! 08:07:22 WARNING(80): SDLMUX: breaking adapter %phx_vos#enet.m16.10.11-2: XID +communication issue 08:07:22 PCI 10/11/2 enet.m16.10.11-2 Break Requested 08:07:22 WARNING(81): SDLMUX: device name %phx_vos#enet.m16.10.11-2 is broken 08:07:22 PCI 10/11/2 enet.m16.10.11-2 Adding 08:07:25 PCI 10/11/2 enet.m16.10.11-2 Online 08:07:25 WARNING(82): genet in (10/11/2) Link is Up. 08:07:25 WARNING(83): SDLMUX: device %phx_vos#enet.m16.10.11-2 back to servic +e 08:08:10 WARNING(84): SDLMUX: breaking adapter %phx_vos#enet.m16.10.11-2: XID +communication issue 08:08:10 PCI 10/11/2 enet.m16.10.11-2 Break Requested 08:08:10 PCI 10/11/2 MTBF Failure 08:08:10 WARNING(85): SDLMUX: device name %phx_vos#enet.m16.10.11-2 is broken |
図3
dlmux_admin #sdlmux.m16.11-2 sdlmux_status Group Name: #sdlmux.m16.11-2 Device Name: %phx_vos#enet.m16.11.11-2 Adapter State: ACTIVE UP Partner: %phx_vos#enet.m16.10.11-2 Partner State: DOWN |
図4
アダプタをサービスに戻すには、 board_admin コマンドでアダプタを追加する必要があります。もちろん、根本的な問題を修正せずにこれを行うと、アダプタは再び MTBF してしまいます。
board_admin 10/11/2 add board_admin device_id: 10/11/2 action: add Do you want to continue? (yes, no) yes Command completed. |
図5
第五に、アクティブなアダプタは常に同じMACアドレスを持っているので、フェイルオーバーの効果はMACアドレスをあるスイッチポートから別のスイッチポートに移動させることです。スイッチポートのセキュリティ設定は、この変更を許可する必要があります。また、スイッチポートは、様々な設定をネゴシエートしながら、他のスイッチポートと話をするように設定することができます。これらの設定は、新しいMACアドレスやリンクの復元など、トポロジーの変化にスイッチが気づいたときにトリガーされます。これらの設定がネゴシエートされるまで、スイッチは通常のフレームを渡すことができません。SDLMUX アダプタに接続されているスイッチポートは、これらのネゴシエーションを実行しないように設定する必要があります。また、SDLMUX アダプタに接続されているスイッチポートは、スパニングツリープロトコルを実行しないように設定したり、学習とリッスンのステップをスキップしたりしないように設定する必要があります (これは、Cisco ではポートファストと呼ばれています)。学習およびリッスンステップの間、スイッチは通常のデータフレームを渡しません。極端な場合、これらの設定によって発生する遅延が非常に長くなり、SDLMUX が別のフェイルオーバーをトリガーすることがあります。
最後に、アダプタのリンクステータスは、両方のリンクがアップしていることを確認するために監視する必要があります。リンクの障害が発生しても、システムが自宅に電話をかけることはありませんし、そのフォールトトレラントがあるため、システムの接続性が失われることはありません。