본문 바로가기

네트워크 공부

vPC 개념 및 케이스 정리

오늘은 혼자 사무실에 있다

구축헤놓은 프로젝트에 vPC 추가 설정한다고 팀장님이 사무실 있을 때 vPC 공부도 하라셨다

근데 vPC는 이해하고 넘어갔어도 볼 때마다 새롭고 설정 까먹음... 넥서스 많이 다루니까 능숙해져야 하는데 어렵다

 

 

다른 티스토리 블로그 보고 정리 좀 끄적여보았다

vPC 기본 구조

 

보통 vPC 설정하는 구성 보면 위 사진과 비슷한 구조를 가졌다

NX-OS(Config)# feature vpc
NX-OS(Config)# vrf context vPC_Keepalive
NX-OS(Config)# interface Ethernet1/2, 2/2
NX-OS(Config-if)# channel-group 1
NX-OS(Config)# interface port-channel 1
NX-OS(Config-if)# vrf member vPC_Keepalive
NX-OS(Config-if)# ip address 1.1.1.1/30
NX-OS(Config)# vpc domain 1
NX-OS(Config-vpc-domain)# peer-keepalive destination 1.1.1.2 source 1.1.1.1 vrf vPC_Keepalive
NX-OS(Config-vpc-domain)# ip arp synchronize
NX-OS(Config)# interface Ethernet1/1, 2/1
NX-OS(Config-if)# switchport
NX-OS(Config-if)# switchport mode trunk
NX-OS(Config-if)# channel-group 2
NX-OS(Config)# interface port-channel 2
NX-OS(Config-if)# vpc peer-link
NX-OS(Config)# interface Ethernet 7/1
NX-OS(Config-if)# channel-group 5 mode passive
NX-OS(Config)# interface port-channel 5
NX-OS(Config-if)# vpc 5
NX-OS(Config)# interface Ethernet 7/2
NX-OS(Config-if)# channel-group 6 mode passive
NX-OS(Config)# interface port-channel 6
NX-OS(Config-if)# vpc 6

1번기 설정은 위와 같고 

2번기 설정은 아래와 같다.

NX-OS(Config)# vrf context vPC_keepalive
NX-OS(Config)# int e1/2, 2/2
NX-OS(Config-if)# channel-group 1 mode active
NX-OS(Config)# int po 1
NX-OS(Config-if)# vrf member vPC_keepalive
NX-OS(Config-if)# ip add 1.1.1.2/30

NX-OS(Config)# vpc domain 1
NX-OS(1Config-vpc-domain)# peer-keepalive destination 1.1.1.1 source 1.1.1.2 vrf vPC_keepalive
NX-OS(1Config-vpc-domain)# ip arp synchronize

NX-OS(Config)# int e1/1, e2/1
NX-OS(Config-if)# switchport
NX-OS(Config-if)# switchport mode trunk 
NX-OS(Config-if)# channel-group 2 mode active
NX-OS(Config)# Int po 2
NX-OS(Config-if)# vpc peer-link

NX-OS(Config)# int e7/1
NX-OS(Config-if)# channel-group 5 mode active
NX-OS(Config)# int po 5
NX-OS(Config-if)# vpc 5
NX-OS(Config)# int e7/2
NX-OS(Config-if)# channel-group 6 mode active
NX-OS(Config)# int po 6
NX-OS(Config-if)# vpc 6

VPC Basic

 

1. VPC : 서로 다른 장비에서 연결된 포트를 묶어서 논리적인 하나의 장비로 보이게끔 함. 기존 port channel 의 확장 개념

- 기존 포트 채널은 L2, L3로 묶을 수 있지만 VPC는 L2 구조에서만 가능하다.

 

2. STP 보다 빠른 convergence time

- 기존 link recovery time이 6초라면 vPC는 1초도 걸리지 않음

 

3. Loop free한 구조, STP의 block port가 없음

 

4. nx-os는 feature로 vPC를 활성화 시켜주어야 한다. : (conf) feature vpc

 

5. 동일 VDC에서 vpc domain 선언 필요

- VPC Keepalive link: peer간 heartbeating 정보 제공 -> 장비간 online 상태 확인 및 vPC 구조에서 loop을 피하게 하는 역할

- VPC peer link: VPC peer 간 정보 교환 역할, L2 (switchport trunk)로 구성하는 것이 바람직,

peer link는 반드시 10G Port로 구성해야함 !! 실제로 실무에서 vPC 구성 시에 vPC peer가 계속 맺어지지 않았던 적이 있는데 이유는 1G 포트를 사용하고 있기 때문이었다. 

 

6. CFS (Cisco Fabric Services)가 자동으로 enable 되어 peer link를 통해 IGMP, STP, MAC 동기화

 

7. vPC는 기본적으로 dual active 구조.  MAC은 active/active 구조로 peer간 동기화지만, L3 관점으로는 active/standby 구조 -> peer link  단절 시에는 L3 관점으로도 active/active 관점이 되어 Loop이 발생할 수 있다. 따라서 vPC Second switch의 vpc member port 를 suspend 시킨다. (출처: 제 사수님,, 과장님 감샤..)

 

 


VPC Feature & Case

Feature 

1. vpc peer-gateway 옵션

third party 단말이 HSRP Virtual mac 무시하고 HSRP Source Router의 Mac Address (RIP) 사용하면, Data drop 발생

NXOS (config)# vpc domain 1

NXOS (config-vpc-domain)# peer-gateway

 

 

출처: https://zigispace.net/510

 

위에 블로그에 나온 글 보고 제일 이해가 잘됐다

어쨌든 vPC second switch로 트래픽이 흐르는 것을 방지하는 설정인 것이다.. data가 drop 될 수 있기 때문.(loop pervention 기능) 내 이해는 이게 최선,,

무조건 설정 권고 !!

 

 

 

2. vpc peer-switch 옵션

Layer2 구성에서 vpc peer devices 간 하나의 STP root 처럼 동작 하며, vpc peer switch 모두 설정

STP 논리적 구조

 

VPC  Failure Case

 

1. vpc peer link 단절

1) vpc peer 모두 dual active 상태가 됨

2) vpc peer link 다운 시 secondary 스위치의 모든 vpc 멤버 포트 suspend 상태로 유지 (primary 스위치로 정상 통신)

 

2. vpc primary switch 장애 시

1) secondary switch가 primary 스위치가 됨

2) primary가 recovery 되어도 secondary 로 동작하게 됨

 

3. vpc peer keepalive link 단절: 두 vpc switch간에 mac, igmp 등이 sync 될 수 없고, unicast/multicast table이 정상적으로 관리 될 수 없으므로 중복 패킷 포워딩이 발생할 수 있다. 

 

4. vpc orphan-port suspend 설정하지 않은 경우

1) vpc peer-link 모두 다운 -> 양 쪽 스위치 active active 상태 -> vpc member port가 suspend 됨
2) vpc keep alive 링크 정상이므로 SW는 peer device 상태를 알고 있음
3) secondary switch는 orphan port를 suspend 시키지 않는다. 
4) 이 SW2로 트래픽 송신시 전송 구간이 없으므로 Blackhole 상태되어 Data Drop 발생

따라서 primary switch에서 vpc orphan port suspend 를 설정

=> vpc peer-link 모두 다운시 secondary vpc 스위치의 orphan 포트 suspend, 트래픽은 Primary vpc 스위치로 정상 통신

이 정도 정리해봤고...

난 퇴근해볼란다.. ^^ 오늘 공부한 게 다음에 실무에서 vpc 설정할 때 도움 되길 ㅜㅜ..