Pular para o conteúdo principal
O software SDLMUX combina dois adaptadores de rede em uma única interface IP, fornecendo uma capacidade de failover caso o link no adaptador ativo seja interrompido ou o adaptador falhe. Uma vez configurado, ele praticamente não requer administração, mas há alguns aspectos que você deve estar ciente.
Primeiro, o SDLMUX não oferece nenhum balanceamento de carga; todo o tráfego é transmitido e recebido no adaptador ativo.
Em segundo lugar, no hardware ftServer VSeries, o adaptador ativo tem um endereço MAC no formato 00:00:A8:4v:wx:yz. O 00:00:A8 é o identificador organizacional exclusivo (OUI) da Stratus, atribuído pela IEEE. O “v” é um índice baseado na ordem em que os dispositivos SDLMUX foram inicializados, começando em 0. O valor “wx:yz” é baseado no número de série do sistema. O endereço em espera difere do endereço ativo apenas no nibble superior do quarto byte, em vez de um 4, é um 6. Além disso, a diferença entre os endereços MAC de dois adaptadores ativos (ou em espera) no mesmo módulo estará apenas no nibble inferior do quarto byte. A maneira mais fácil de obter uma lista de todos os endereços MAC é com a solicitação analyze_system “dump_sdlmux” correspondente a “MAC”, veja a figura 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:
Figura 1
Apenas os endereços MAC não são muito úteis; ao corresponder “MAC” ou “#”, você obtém os endereços MAC e os nomes dos dispositivos SDLMUX e adaptadores de rede. Observe que esta lista não conterá nenhum adaptador de rede que não faça parte de uma parceria 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

Interface device          = %phx_vos#enetA.m16.11-5-0

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

Interface device          = %phx_vos#enetA.m16.11-5-1

 

sdlmux device             = #sdlmux.m16.11-2
MAC address               = 0000A8425A8B
Interface device = %phx_vos#enet.m16.11.11-2
MAC address               = 0000A8625A8B

Interface device          = %phx_vos#enet.m16.10.11-2

 

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:
Figura 2
Em terceiro lugar, os adaptadores de rede SDLMUX enviam quadros Ethernet 802.2 LLC aos seus parceiros para garantir que o caminho da rede está a funcionar corretamente. Cinco conjuntos destes quadros de teste são enviados em intervalos de três segundos, seguidos de um intervalo de 33 segundos. O traço 1 mostra três ciclos deste padrão. O traço 1 também mostra o quadro real do adaptador ativo (quadro 1) e do adaptador em espera (quadro 2). Destaquei o quadro após o intervalo de 33 segundos apenas para facilitar a leitura dos ciclos. Esses não são quadros Ethernet tipo II ou pacotes IP, e os switches conectados aos adaptadores de rede e quaisquer switches ao longo do caminho entre os dois adaptadores devem ter uma configuração que não bloqueie esses quadros 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

10 0.000009   StratusC_62:5a:8b     StratusC_42: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
Traço 1
Observe que você não pode usar o packet_monitor para ver esses quadros de teste. Os quadros são enviados abaixo do ponto em que o packet_monitor acessa a pilha e o SDLMUX remove os quadros da pilha antes que o packet_monitor possa lê-los.
Quarto, se cada adaptador estiver conectado a um switch diferente e a conexão entre esses switches falhar ou, por algum outro motivo, os quadros de teste não forem transmitidos, você verá algo semelhante à figura 3 no syserr_log. A partir das versões 16.2.1ak e 17.0.0ah, se houver uma falha no quadro de teste, o SDLMUX aciona uma solicitação ARP para o último host que foi ARP com sucesso na interface suspeita. Se obtiver uma resposta, ele sabe que o adaptador ativo está funcionando, então ele reinicia o adaptador em espera para tentar fazê-lo funcionar. Se houver um problema de rede bloqueando os quadros de teste, redefinir o adaptador não ajudará e o adaptador acabará entrando em MTBF (tempo médio entre falhas), consulte o carimbo de data/hora 08:08:10 na figura 3. O comando dlmux_admin reportará o adaptador com defeito como DOWN (inativo), figura 4, e um rastreamento não mostrará quadros de teste, pois, nesse ponto, não há nada para testar. Se uma resposta ARP não for recebida ou se o problema estiver em uma versão que não envia a solicitação ARP, o SDLMUX fará o failover dos adaptadores e danificará o novo adaptador em standby. Se, durante o próximo ciclo, os quadros de teste falharem novamente e nenhuma resposta ARP for recebida, o failover e a danificação serão feitos novamente. Eventualmente, um adaptador entrará em 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
Figura 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
Figura 4
Para colocar o adaptador novamente em serviço, você precisa adicioná-lo novamente com o comando board_admin. É claro que, se você fizer isso sem corrigir o problema subjacente, o adaptador simplesmente apresentará novamente o 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.
Figura 5
Quinto, como o adaptador ativo sempre tem o mesmo endereço MAC, o efeito de uma falha é mover o endereço MAC de uma porta do switch para outra. Quaisquer configurações de segurança nas portas do switch devem permitir essa alteração. Além disso, as portas do switch podem ser configuradas para se comunicarem com outras portas do switch, negociando várias configurações. Elas podem ser acionadas quando o switch percebe uma alteração na topologia, como um novo endereço MAC ou um link sendo restaurado. Até que essas configurações sejam negociadas, um switch pode não passar quadros regulares. As portas do switch conectadas aos adaptadores SDLMUX devem ser configuradas para não realizar essas negociações. Além disso, as portas do switch conectadas aos adaptadores SDLMUX devem ser configuradas para não executar o protocolo spanning tree ou para pular as etapas de aprendizagem e escuta (isso é chamado de portfast pela Cisco). Durante as etapas de aprendizagem e escuta, o switch não passará quadros de dados regulares. Em casos extremos, o atraso causado por essas configurações pode ser tão longo que o SDLMUX aciona outro failover.
Por fim, o status da conexão dos adaptadores precisa ser monitorado para garantir que ambas as conexões estejam ativas. A falha de uma conexão não fará com que o sistema entre em contato com a central e, como ele é tolerante a falhas, não há perda de conectividade do sistema. Abordei esse assunto em uma postagem anterior do blog, consulte Monitoramento do status do adaptador de rede.

© 2024 Stratus Technologies.