SDLMUX 소프트웨어는 두 개의 네트워크 어댑터를 하나의 IP 인터페이스에 결합하여 활성 어댑터의 링크가 다운되어 있거나 어댑터가 실패할 경우 기능 장애 기능을 제공합니다. 일단 설정하면 거의 관리가 필요하지 않지만 알아야 할 몇 가지 사항이 있습니다.
첫째, SDLMUX는 부하 밸런싱을 제공하지 않습니다. 모든 트래픽은 활성 어댑터에서 전송되고 수신됩니다.
둘째, ftServer VSeries 하드웨어에서 활성 어댑터는 양식 00:00:A8:4v:wx:yz의 MAC 주소를 가지고 있습니다. 00:00:A8은 IEEE가 할당한 Stratus 조직 고유 식별자(OUI)입니다. "v"는 0부터 초기화된 SDLMUX 장치 순서를 기준으로 인덱스입니다. 값 "wx:yz"는 시스템 일련 번호를 기반으로 합니다. 대기 주소는 4바이트 대신 4바이트의 상단 니블에서만 활성 주소와 다릅니다. 또한 동일한 모듈의 두 활성(또는 대기) 어댑터의 MAC 주소 의 차이는 네 번째 바이트의 하부 니블에만 있습니다. 모든 MAC 주소 목록을 얻는 가장 쉬운 방법은 "MAC"에서 "dump_sdlmux" 일치하는 analyze_system 요청과 함께 그림 1을 참조하십시오.
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
셋째, SDLMUX 네트워크 어댑터는 네트워크 경로가 올바르게 작동하는지 확인하기 위해 파트너에게 이더넷 802.2 LLC 프레임을 보냅니다. 이러한 테스트 프레임의 다섯 세트는 3초 간격으로 이동한 다음 33초 간격으로 진행됩니다. 추적 1은 이 패턴의 세 주기를 표시합니다. 추적 1은 또한 활성 어댑터(프레임 1) 및 대기 어댑터(프레임 2)의 실제 프레임을 표시합니다. 나는 단지 주기를 쉽게 읽을 수 있도록 33 초 간격 다음 프레임을 강조했다. 이들은 이더넷 형 II 프레임 또는 IP 패킷이 아니며 네트워크 어댑터에 연결된 스위치와 두 어댑터 사이의 경로를 따라 있는 모든 스위치에는 이러한 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 읽기 전에 스택에서 프레임을 제거합니다.
넷째, 각 어댑터가 다른 스위치에 연결되어 있고 스위치 사이의 링크가 실패하거나 다른 이유로 테스트 프레임이 syserr_log 그림 3처럼 보이는 것을 볼 수 있지만 얻지 못하는 경우. 테스트 프레임 오류가 있는 경우 릴리스 16.2.1ak 및 17.0.0ah에서 시작하여 SDLMUX는 의심스러운 인터페이스를 통해 성공적으로 ARPed를 받은 마지막 호스트에게 ARP 요청을 트리거합니다. 대답을 받으면 활성 어댑터가 작동하므로 대기 어댑터를 재설정하여 작동하도록 시도하는 것을 알고 있습니다. 어댑터를 재설정하는 테스트 프레임을 차단하는 네트워크 문제가 있고 어댑터가 결국 MTBF로 이동하는 경우 그림 3에서 타임스탬프 08:08:10을 참조하십시오. dlmux_admin 명령은 깨진 어댑터를 DOWN, 그림 4로 보고하며 이 시점에서 테스트할 것이 없기 때문에 추적에는 테스트 프레임이 표시되지 않습니다. ARP 회신이 수신되지 않거나 ARP 요청을 보내지 않는 릴리스에 문제가 있는 경우 SDLMUX는 어댑터를 통해 실패하고 새 대기 어댑터를 중단합니다. 다음 주기 동안 테스트 프레임이 다시 실패하고 ARP 회신이 수신되지 않으면 실패가 끝나고 중단이 다시 수행됩니다. 결국 하나의 어댑터가 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에서 portfast라고 함). 학습 및 듣기 단계 동안 스위치는 일반 데이터 프레임을 통과하지 않습니다. 극단적인 경우 이러한 설정으로 인한 지연이 너무 길어SDLMUX가 또 다른 실패를 트리거할 수 있습니다.
마지막으로 어댑터의 링크 상태를 모니터링하여 두 링크가 모두 연결되어 있는지 확인해야 합니다. 링크의 오류로 인해 시스템이 집으로 전화하지 않으며 오류에 관대하지 않으므로 이전 블로그 게시물에서 이를 다루었던 시스템 연결 손실이 없으므로 모니터링 네트워크 어댑터 상태를 참조하십시오.