É provável que já conheças o Portchannel ou Etherchannel, comummente usado nos switches Catalyst para agregar duas ou mais portas físicas mas que logicamente pareçam uma única porta. Esta tecnologia é usada entre 2 switches para garantir maior largura de banda, resiliência, balanceamento de carga e uma topologia de rede mais simplificada.
Para usar o portchannel, as portas precisam suportar o protocolo LACP (Link Aggregation Control Protocol) e garantir que atendam aos requisitos (speed, duplex, por mode, vlans, mtu…) para que a negociação do LACP aconteça.
Como o foco deste post é voltado ao switch Nexus, convém referir que ele não suporta o protocolo PAGP (Port Aggregation Protocol).
Nos switches Nexus o portchannel pode ser habilitado de 3 formas:
On – as portas são habilitadas para formar o portchannel sem o protocolo LACP.
Active – as portas tentam negociar ativamente o portchannel usando o protocolo LACP enviando pacotes LACP.
Passive – neste modo o LACP é habilitado, mas os pacotes LACP não são enviados. A porta está pronta para negociar o portchannel caso receba pacotes LACP.
Convém realçar que se por algum motivo tentares alterar o modo do portchannel após ter sido configurado, o switch irá retornar uma mensagem de erro. Após habilitar o LACP, é possível configurar cada interface para o modo portchannel pretendido. Confira abaixo os modos portchannel suportados entre dois switches:
Active – Active: o portchannel será habilitado com sucesso porque os dois switches irão tentar negociar o LACP.
Active – Passive: o portchannel será habilitado com sucesso porque um dos switches irá tentar negociar o LACP.
Passive – Passive: o portchannel não será habilitado porque nenhum dos switches irá tentar negociar o LACP.
Active – On: o portchannel não será habilitado porque não haverá negociação do LACP. A combinação de Active ou Passive com o modo On não permite habilitar o portchannel.
Um dos grandes benefícios do portchannel é a possibilidade de usar todas as portas no portchannel, devido ao seu algoritmo de balanceamento de carga. O algoritmo pode balancear o tráfego com base no seguinte:
- mac address de destino
- mac address de origem
- mac address de origem e destino
- ip de destino
- ip de origem
- ip de origem e destino
- porta TCP/UDP de origem
- porta TCP/UDP de destino
- porta TCP/UDP de origem e destino
Agora que já entendes os fundamentos da tecnologia, a configuração de portchannel será mais fácil de endender. Usarei a topologia abaixo:
Configuração no NXOS1
NXOS1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
NXOS1(config)# feature lacp
NXOS1(config)# int e1/1-2
NXOS1(config-if-range)# switchport
NXOS1(config-if-range)# channel-group 1 mode active
NXOS1(config-if-range)# int port1
NXOS1(config-if)# switch mode trunk
NXOS1(config-if)# end
Configuração no NXOS2
NXOS2# conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW2(config)# feature lacp
SW2(config)# interface e1/1-2
SW2(config-if-range)# switchport
SW2(config-if-range)# channel-group 1 mode active
SW2(config-if-range)# int port1
SW2(config-if)# switch mode trunk
SW2(config-if)# end
Em seguida podemos usar os seguintes comandos para verificar o estado do portchannel.
NXOS1# show port-channel summary
...
--------------------------------------------------------------------------------
1 Po1(SU) Eth LACP Eth1/1(P) Eth1/2(P)
NXOS1# show port-channel traffic interface port-channel 1
NOTE: Clear the port-channel member counters to get accurate statistics
ChanId Port Rx-Ucst Tx-Ucst Rx-Mcst Tx-Mcst Rx-Bcst Tx-Bcst
------ --------- ------- ------- ------- ------- ------- -------
1 Eth1/1 0.0% 0.0% 51.26% 8.85% 0.0% 0.0%
1 Eth1/2 0.0% 0.0% 48.73% 91.14% 0.0% 0.0%
NXOS1# show port-channel load-balance
System config:
Non-IP: src-dst mac
IP: src-dst ip-l4port rotate 0
Port Channel Load-Balancing Configuration for all modules:
Module 1:
Non-IP: src-dst mac
IP: src-dst ip-l4port rotate 0
O port-channel é super simples de entender e de configurar, especialmente quando pretendemos garantir aumento de largura de banda e alta disponibilidade na rede datacenter.