«

»

set 05 2012

Uma abordagem sobre Virtual Port Channels (vPC)

Esse é o meu primeiro post como Colaborador do blog, e gostaria de iniciar abordando um dos meus temas favoritos,  tecnologias de Data Center. Se você está estudando para o CCNA, provavelmente já ouviu falar bastante do Spanning-tree e como esse protocolo não atende as necessidades dos Data Centers modernos que não necessitam apenas largura de banda, mas também de alta disponibilidade em caso de falhas, principalmente quando falamos de mercados extremamente críticos como financeiro. Alta disponibilidade no Data Center tornou-se uma questão tão séria nos ultimos anos que hoje é um dos mercados mais cobiçados pelos vendors de equipamentos com a Cisco com as soluções Nexus.

Agora imagine você, aspirante a CCNA, a rede L2 perfeita, redundante  sem Spanning-Tree e completamente ausente de loops, bem, esse cenário “perfeito e livre de falhas” ainda não existe completamente, mas existem tecnologias no mercado que conseguem algo bem próximo disso, um exemplo de solução é a virtualização de Data Center da Cisco que é um mundo completamente novo se compararmos ao que estamos acostumados a ver por ai nas redes Campus. Nesse post vamos abordar de maneira introdutória, uma das características que considero ser uma das grandes vantagens em virtualizar seu Data Center, o vPC ou Virtual Port Channel.

Introdução

O vPC é uma tecnologia da Cisco exclusiva aos equipamentos da linha Nexus, que utilizam o sistema NX-OS, que permite a criação de topologias completamente livres de loops, permitindo seu uso tanto na camada de acesso  como agregação. Para o Switch de camada inferior, existirá apenas uma entidade lógica conectada e um uplink, permitindo que o equipamento de camada inferior seja qualquer outro dispositivo que suporte LACP e Etherchannel (um Catalyst 3750 por exemplo) ou outro Switch Nexus como o 5000 ou  2000 FEX. Mas e na prática, qual a real diferença entre um VPC e um Etherchannel comum? A figura abaixo ilustra bem a diferença.

vPC
Figura 01 – Etherchannel Catalyst x vPC Nexus.

Como podemos observar no exemplo, mais a esquerda está o clássico etherchannel que você aprende no CCNA, ele ainda depende do Spanning-tree em cenários redundantes (Topologias triangulares), o STP bloqueia o caminho de maior custo ao Root com base em suas métricas, caso o caminho principal para o Switch Root caia, o STP realizará todo o conhecido processo de cálculo do caminho alternativo, no melhor dos mundos, com RSTP+ utilizando STP Toolkit para maximizar a convergência, vamos atingir um tempo de 1-2 segundos para que todas as portas estejam em Forward novamente, com a mudança de topologia, provavelmente nas camadas superiores todas as sessões TCP serão finalizadas, ocasionando maior tempo de parada dos serviços, pois os clients terão que realizar todo o Threeway handshake novamente, aumentando ainda mais a indisponibilidade em nível de aplicação.
Na topologia do meio, observamos um cenário utilizando um vPC, que podemos representar como dois Switches Nexus 5000 interconectados, os uplinks do Etherchannel são ligados um em cada Switch, porém para o Switch de acesso existirá apenas um caminho para uma única entidade lógica, sem a necessidade do STP, pois o caminho é livre de Loops, na terceira figura, observamos do ponto de vista lógico o funcionamento do Etherchannel que elimina o STP e mantém a disponibilidade de Switches redundantes, caso um dos nós do Etherchannel fique indisponível, a comunicação segue transparente ao host, pois não é necessário que o Switch bloqueie portas para realizar recalculo de algoritmos de mudança de topologia.

Conceitos de vPC.

Antes de configurar um VPC, é necessário antes entender alguns conceitos relacionados ao vPC:

  • vPC domain: É composto por um grupo de dois Switches usando vPC. O domínio deve ter um identificador único. Um único domínio vPC não pode conter mais de 2 Switches e 1 Switch não pode fazer parte de mais de 1 domínio vPC.
  • vPC Peer Switch: É o switch que forma o domínio vPC com outro Switch que também suporte vPC.
  • vPC Member port: É a porta física num vPC Peer Switch que está associada ao vPC
  • vPC Peer Link: É um link entre os dois Switches vPC peers usado para troca de tráfego de controle. O peer link pode também ser usado para encaminhar dados se um dos links do vPC falhar. A disponibilidade desse link é vital para a operação do vPC, portanto é recomendado configura-lo como um port-channel com membros espalhados por diferentes line cards.
  • vPC Peer Keepalive Link: É um peer link que permite o vPC trocar heartbeat (keepalives) com o outro vPC Peer Switch sem usar o vPC Peer link, é utilizado para evitar cenários de Active/Active em casos de falha do vPC Peer Link, portanto o outro Peer Switch saberá que o seu par está ativo pois continuará recebendo keepalives mesmo que o Peer link esteja completamente indisponível. Esse mecanismo roda sobre IP e pode inclusive ser roteado por vários hops caso seja necessário, pode ser tanto uma interface SVI quanto utilizar a interface de gerenciamento (mgmt).

Configuração e Cenário.

Infelizmente (ainda) não existe um emulador do NX-OS para criar um cenário como no GNS3/IOU etc. E como os Switches da linha Nexus podem facilmente chegar na casa de centenas de milhares de dólares é bem raro você ver algum LAB que disponibilize tais equipamentos para testes, para isso o cenário utilizado foi baseado nas fontes contidas no rodapé, enfatizo que o objetivo é apenas ter uma noção do funcionamento do vPC para que você mesmo busque mais informações a respeito e se aprofunde no assunto.

O cenário que iremos estudar é o cenário apresentado na topologia abaixo, onde dois Switches Nexus 7000 fazem vPC para dois 3750 em Stack, cada Switch desse Stack tem dois uplink para cada Nexus, proporcionando total redundância tanto na camada de acesso quanto na camada de agregação, note que do ponto de vista lógico, é como se houvesse na topologia apenas dois switches realizando Etherchannel numa topologia livre de Loops. Optei por utilizar o exemplo abaixo por ser simples e para evitar envolver outros conceitos do NX-OS na tologia, assim ficando claro o conceito do vPC.

vPC2

Figura 02 – Cenário de configuração do vPC.

O primeiro passo para configuração é habilitar a feature vPC nas caixas Nexus 7000
feature vpc

Após habilitado o vPC, configuramos as portas para formar o vPC Keepalive entre as duas caias N7K1 e N7K2 via protocolo um Etherchannel L3 utilizando LACP:

interface Ethernet9/1
description vPC KeepAlive
channel-group 101 mode active
no shutdown
interface Ethernet10/1
description vPC KeepAlive
channel-group 101 mode active
no shutdown

É recomendávei criar o Peer Keepalive em uma VRF separada, removendo assim os IP’s do peer keepalive da Tabela de Roteamento default, depois associamos o Port-channel a VRF do Peer Keepalive Link:

vrf context VPC_KA
!
interface port-channel101
description vPC Keep-Alive link
vrf member VPC_KA
ip address 10.10.10.1/30

Após criado o Peer Keepalive link entre os dois peer switches, é necessário criar o Peer link, primeiro associando as portas ao port-channel que será configurado como peer-link:

interface Ethernet7/1
description VPC-Peer-Link
switchport
switchport mode trunk
rate-mode dedicated force
mtu 9216
udld enable
channel-group 100 mode active
no shutdown
!
interface Ethernet8/1
description VPC-Peer-Link
switchport
switchport mode trunk
rate-mode dedicated force
mtu 9216
udld enable
channel-group 100 mode active
no shutdown

Agora configurando o Port-Channel, não esquecendo de associar o port-channel ao peer link:

interface port-channel100
description vPC Peer-Link entre os Nexus7k
switchport
switchport mode trunk
vpc peer-link
spanning-tree port type network
mtu 9216

É possível setar um dos switches para ser o vPC Master com o comando “role priority”, caso não seja configurada,  a eleição é automática, o valor default é 32667, o menor ganha, para ver a prioridade use o comando “show vpc role”. Também é necessário configurar o destination do peer-keepalive. Comandos como “show vpc” “show interface port-channel x” são úteis para coletar informações em caso de problemas:

vpc domain 100
role priority 2000
peer-keepalive destination 10.10.10.2 source 10.10.10.1 vrf VPC_KA

Agora vamos configurar o vPC para o 3750, em cada N7K é necessário configurar o etherchannel e associar a um vPC, é recomendado mas não obrigado usar o vpc identifier (vpc 6) com o mesmo número do port-channel para fácil identificação:

interface Ethernet9/10
description PARA 3750 – STACK SW1
switchport
switchport mode trunk
channel-group 6 mode active
no shutdown
!
interface Ethernet10/10
description PARA 3750 – STACK SW2
switchport
switchport mode trunk
channel-group 6 mode active
no shutdown
!
interface port-channel6
description Etherchannel LACP para 3750STACK
switchport
switchport mode trunk
vpc 6

Configuração do 3750 STACK nada diferente do que já conhecemos desde o CCNA:

interface GigabitEthernet 1/0/1
description Uplink to N7K1 - E9/10
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 6 mode active
interface GigabitEthernet1/0/24
description Uplink to N7K2 - E9/10
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 6 mode active
interface GigabitEthernet 2/0/1
description Uplink to N7K1 - E10/10
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 6 mode active
interface GigabitEthernet2/0/24
description Uplink to N7K2 - E10/10
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 6 mode active
interface Port-channel6
switchport trunk encapsulation dot1q
switchport mode trunk

Agora a partir do NK7 podemos observar o status do vPC:

N7K1# sh int port-channel 6
port-channel6 is up
vPC Status: Up, vPC number: 6
Hardware: Port-Channel, address: 5475.d04f.1165 (bia 5475.d04f.1165)
Description: [----[ LACP EtherChannel for RackSwitch6 ]----]
Members in this channel: Eth9/10, Eth10/10
N7K1#

No 3750, observamos todas as portas em modo Forward, sem caminhos redundantes na visão do STP:

3750Stack#sh spanning-tree interface port-channel 6
Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Root FWD 3         128.656  P2p
VLAN0002         Root FWD 3         128.656  P2p
VLAN0003         Root FWD 3         128.656  P2p
VLAN0004         Root FWD 3         128.656  P2p
VLAN0005         Root FWD 3         128.656  P2p

Após uma configuração de complexidade média temos um ambiente totalmente virtualizado e livre de Loops.

Em se tratando de vPC esse é o básico porém suficiente para começar a virtualizar seu ambiente, existem features mais específicas da linha Nexus, porém o objetivo foi demonstrar o conceito e as principais características.

[]’s
Fernando Avelino:
Contatos:
http://br.linkedin.com/in/fernandoavelino

Fontes:
http://www.cisco.com/en/US/docs/switches/datacenter/sw/5_x/nx-os/interfaces/command/reference/if_commands.html#wp1482707
http://www.cisco.com/en/US/docs/switches/datacenter/sw/4_2/nx-os/interfaces/configuration/guide/if_vPC.html
http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9670/configuration_guide_c07-543563.html
Lab: http://www.fryguy.net/tag/etherchannel/



Comente usando o Facebook!
0
0

11 comentários

Pular para o formulário de comentário

  1. Kalau

    Parabéns, muito bom!

    0

    0
  2. freddy_bat

    Muito Bom Fernando! Excelente Post!

    0

    0
  3. KimRondon

    Achei muito foda o conceito, é uma tendência né. Como trabalho com data centers, isso será ótimo quando começar a valer de verdade…
    Valeu

    0

    0
  4. Diogo Mendes

    Fernando, parabéns pelo post. vPC sem dúvida é um assunto muito interessante e que cresce cada vez mais em importancia em ambientes críticos de data center. Para quem trabalho em partners Cisco, é possível testar essa e outras tecnologiasatravés de laboratórios remotos no PEC

    Espero ver mais posts dessa qualidade em breve.

    Abraços.

    0

    0
  5. ArcanjoV8

    Fernando, Excelente artigo! vPC eh extremamente utilizado em datacenters e a tendencia e que cada vez mais estaremos trabalhando com Nexus e criando vPCs.

    0

    0
  6. Fernando Avelino

    Obrigado pessoal, realmente vPC é uma realidade dia a dia de muita gente, como o Digo falou quem tem acesso ao PEC pode acessar pra dar uma brinca, eu como nao trabalho mais em parceiro to sem acesso, mas pra quem tem e deseja conhecer não só essa tecnologia, mas VDC, OTV, FabricPath…. em breve vou postar mais coisas sobre essas outras tecnologias 🙂 abs!!!

    0

    0
  7. Cledir Justo

    Fernando Avelino, esse post foi show de bola, muito objetivo e bem explicado, trabalhei 5 anos em Service Provider, faz um Mês que estou trabalhando com DataCenter e já comecei a ouvir outras siglas como VPC, OTV, entre outras, e realmente essa área é muito legal. Estou esperando sair o CCNP Datacenter para começar a estudar. Poste mesmo sobre essas outras tecnologias que vai ser muito interessante. abs.

    Cledir Justo

    0

    0
  8. Jose Mauro

    Avelino

    Parabéns pelo post, estão excelentes a organização e tema abortado.

    Já estou ansioso pelos próximos.

    Abs, JM

    0

    0
  9. alan.f.lima

    Esta mandando bem em Avelino, parabéns cara…

    0

    0
  10. Richard

    ;).

    0

    0
  11. Sérgio F.S

    Este post é muito interessante. Há uns dois meses atrás eu implementei o VPC em uma rede com dois Nexus, e obviamente, tique que pesquisar para fazer isso. Segui os artigos da própria Cisco. Este post já ajuda a direcionar, e muito. Obrigado!

    0

    0

Deixe uma resposta