본문 바로가기
Network

[Network] Cisco Nexus vPC

by 치즈잼 2024. 6. 5.
728x90
Cisco Nexus 스위치의 vPC 에 대해 정리해 보았습니다.

vPC(Virtual Port Channels)란?

  • 서로 다른 장비에서 연결된 Port를 묶어서 논리적인 하나의 포트로 인식하게 하는 기존 Port-Channel의 확장된 개념
  • 기존 Port-Channel은 L2, L3 모두 설정 가능하지만, vPC는 L2만 가능

vPC의 특징

  • vPC는 Multi-Chassis EtherChannel(MCEC) 기술군에 포함됨
  • 종단 장비가 IEEE 802.3ad 표준을 지원하면 upstream link를 모두 사용 가능
  • Cisco 전용 프로토콜이며 Nexus 계열에서만 사용 가능
  • 논리적인 하나의 장비처럼 동작하지만, vPC는 설정과 관리가 개별적으로 수행 됨.
  • Single vPC & FEX를 이용한 Straight-Through 및 Active / Active vPC 토폴로지 구성이 가능함.

vPC의 장점

항목 설명

Non Block Port - vPC에서는 Spanning-Tree가 동작하지 않기 때문에 BLK이 존재하지 않음
  • Spanning-Tree 처리 매커니즘이 vPC에 연결 된 Layer 2 경로에 영향을 주지 않음 | | Full Bandwidth | - BLK가 존재하지 않기 때문에 Uplink의 대역폭 전체를 사용할 수 있음 | | Fast Convergence | - 링크 또는 장비에 문제가 발생하였을 경우 빠른 전환 시간을 제공 | | Loop Aviodance | - Native Split Horizon과 loop 관리 기술을 제공
  • 패킷의 유입과 동시에 동일한 Port-Channel로 다시 나갈 수 있음 | | Simple Design | - 2개의 물리적인 장비를 논리적인 하나의 장비로 묶기 때문에 논리적인 단순함 제공 | | Load Balancing | - Access Layer에서 올라오는 트래픽이 분산되기 때문에 부하분산 효과가 발생 |

vPC 기술 용어

용어 설명

vPC vPC가 장비들과 다른 장비들 사이에 조합된 가상의 포트 채널
vPC Peer Device vPC가 동작하는 스위치(Peer Link로 연결됨). Peer는 최대 2개까지 가능
vPC Domain vPC Peer 장비가 속해있는 도메인. 도메인 ID가 반드시 같아야 함
vPC Member Port vPC에 소속되어 있는 포트(vPC가 동작하는 포트)
vPC Peer-Link - vPC 장비들간 동기화 및 데이터 전송(예외 상황)을 위한 포트
  • 동기화 데이터는 MAC 주소, vPC 멤버 상태 정보, IGMP
  • HSRP 데이터, VLAN 정보(Peer Link에 등록되고 Peer 장비에 존재)가 Peer Link를 통해 전달 됨
  • 10Gbps 이상의 이더넷으로 구성되어야 하며, P2P로 연결 되어야 함. | | vPC Peer-Keep Alive (Fault-tolerant-link) | - vPC 장비 간 모니터링 목적으로 사용하는 링크
  • Peer Link 단절 시 Dual Active 상태 발생 해결을 위해 사용 | | vPC VLAN | vPC Peer-Link에 설정되어 있는 VLAN 정보. (Peer-Link에 VLAN이 설정되어 있지 않을 경우 Non vPC VLAN으로 간주된다) | | Non vPC VLAN | vPC Peer-Link에 설정되어 있지도 않고, vPC에도 소속되어 있지 않는 일반적인 VLAN | | Orphan Port (= Non-vPC Port) | - Peer Device 하나에만 연결되어 있는 포트 or Non-vPC mode로 연결 된 포트
  • vPC에 포함되어 있지 않기 때문에 일반적인 Spanning-Tree가 동작 만약, Orphan Port가 Peer Link에 설정된 VLAN일 경우
  • Peer-Link로 데이터 전달 만약, Orphan Port가 Peer Link에 설정 되지 않은 VLAN일 경우
  • 일반 Trunk Port를 통해 VLAN 데이터 전달 | | CFS(Cisco Fabric Services) | - vPC Peer 장비들간의 신뢰성 있는 동기화와 검증 매커니즘을 제공
  • 해당 프로토콜은 vPC Peer-Link에서 동작함 |

vPC Role 정의 및 역할

| 정의 | - vPC 시스템을 구성하는 장비 중에서 Control Plane의 역할을 수행 하는 장비를 식별 함

  • Control Plane 역할을 수행하는 장비가 Primary | | --- | --- | | 역할 | Primary
  • Systemwide MAC 주소를 생성하여 MAC 주소가 필요한 프레임 생성 시 해당 MAC 주소 이용(BPDU & LACP LAGID)
  • Systemwide MAC 주소는 자동생성 방법과 수동생성 방법 2가지가 있음

Secondary

  • Primary 장애에 대비하여 MAC 주소 및 ARP Table 동기화 

 

  • vPC Role 특징항목 설명
    선출 방식 - CLI 설정에 따른 vPC Priority 값에 의해 Primary / Secondary 선출
    • 우선순위가 낮은 장비가 Primary로 선출 됨 | | Non-Preemptive | - Primary로 선출 된 장비가 장애로 인해 Secondary 장비가 Primary로 변경 됨
    • 기존 Primary 장비가 다시 살아나더라도 vPC Operational Role은 Secondary | | 운영 모드 | - vPC에는 Operational Role 개념이 별도로 존재
    • 현재 시점에 동작하는 장비의 vPC Role 상태를 나타냄 | | BPDU 전송 | - 기본적으로 vPC 멤버에게 가는 BPDU는 Primary 장비가 전송을 수행 함
    • Primary / Secondary 모두 BPDU 생성하며 동일한 Bridge-ID 사용
    • Non-vPC의 경우 일반적인 Spanning-tree가 동작하며 Primary / Secondary에서 Local Bridge-ID를 사용하여 BPDU 전송 |
    <aside> 💡 vPC Non-Preemptive
    • vPC Role 전환에 따른 혼잡을 회피하기 위함
    • 해당 행위는 Sticky-bit를 통해 이루어지며 start-up 설정에는 포함되지 않음.
    </aside>
    vPC Consistency 정의
    • 시스템을 체크하여 peer 장비간의 상이하거나 누락된 부분을 검증하여 호환성을 맞추는 과정을 vPC consistency라고 함.
    • vPC 도메인을 구성하는 2대의 peer 장비는 control plane을 서로 가지고 있기 때문에 상호간 정보 동기화가 필요로 합니다. 상태 정보 동기화는 cfs 프로토콜을 이용하여 peer 장비간의 상태 동기화 (MAC 주소 테이블, IGMP 상태, vPC 상태, 기타 등등)를 수행 합니다.
    vPC Consisency Type
    • vPC Consistency Type은 반드시 일치해야 하는 Type 1과 일치하지 않아도 동작은 되는 Type 2로 분류 됩니다. 설정 부분 체크는 global 설정과 인터페이스 설정으로 다시 세분화 됩니다.
    | Type 1 | - 무조건 일치해야 하는 항목. 해당 항목이 일치하지 않을 경우 peer 장비 또는 인터페이스가 유효하지 않는 패킷 전송 행위를 방지하기 위해 중지(suspended) 상태가 됨
    • 중지 상태는 Secondary 장비에서만 발생 함. | | --- | --- | | Type 2 | - peer 장비는 트래픽 전송이 가능하나 의도하지 않는 패킷 전송이 발생 할 수 있음 |
    Consistency Type 1 Global(반드시 일치해야 하는 항목)
    • 스위치의 전역(global) 설정 부분, 해당 영역의 설정이 다를 경우 모든 vPC member port는 down 상태로 전환

vPC Consistency Type 1 (Global)
vPC Consistency Type 1 global 확인 명령어

Consistency Type 1 Interface (반드시 일치해야 하는 항목)

  • 스위치의 인터페이스 (per-interface) 설정 부분, 해당 영역의 설정이 다를 경우 연계되어 있는 vPC만 사용 불가

 

💡 show vpc consistency-parameters interface port-channel 명령어로는 consistency type 2를 확인 할 수 없음.

vPC Consistency Type 1 interface 확인 명령어

Consistency Type 2 (일치를 권장)

  • 스위치의 전역(global) 설정 및 인터페이스 설정 부분에서 불일치가 있더라도 vPC 상태는 Up으로 유지 됨. 그러나 인터페이스 검증 부분 중 vPC Peer-Link에 allowed vlan 설정이 다를 경우 vPC interface vlan을 비활성화 시킴
  • Type 2가 일치하지 않을 경우 의도치 않은 트래픽 흐름이 생길 수 있음

vPC Loop Avoidance 정의

  • vPC Member Port에서 전송 한 Frame을 Peer Link를 통해 수신하게 될 경우 vPC member port로 frame을 보내지 않는 vPC의 forwarding 규칙
  • vPC Peer 장비가 트래픽을 수신하면 가능하다면 peer-link로 넘기지 않고 local 처리

vPC Blocking Duplicate Frames

  • Switch3 & 4 ↔ Switch 1 & 2와 vPC Po51과 Po 52로 연결되어 있음
  • Switch 4에 연결 된 서버가 unkown unicast 또는 broadcast를 전송 한다면 Switch 4는 port-channel 해쉬 결과에 의해 Po 52를 구성하고 있는 eth2/2 로 트래픽 전송
  • Switch 2는 목적지 주소가 broadcast인 프레임을 수신하고 peer-link와 member port로 트래픽 전송
  • Switch 1은 수신한 프레임이 peer-link를 통해 들어온것을 탐지하고 eth2/9와 eth2/10 port로 프레임을 전송하지 않음. 만약 전송을 하게 된다면 switch 3과 switch 4는 중복된 프레임을 수신하게 됨.

vPC Loop Avoidance 예외 사항

  • vPC member port가 down 되어 orphan port 가 될 경우
  • vPC Peer Device에만 연결 된 orphan device로 트래픽을 전송할 경우
  • L3 Port로 트래픽을 전송할 경우

HSRP/VRRP active/active with vPC 소개

  • HSRP(Hot Standby Router Protocol)/VRRP(Virtual Router Redundant Protocol)는 IP default gateway 서비스를 제공하는 네트워크 프로토콜 입니다.
  • vPC 도메인은 일반적으로 L2/L3 기능을 수행하는 계층에 위치하고 있으며 VLAN 인터페이스에 HSRP 또는 VRRP를 설정하여 사용하며 vPC 기술과 접목되어 L2 Dual-Active를 제공 하며 추가적인 설정 없이 active / active로 사용 가능 합니다.
  • Data Plane 관점에서는 active / active로 동작하지만 Control Plane 관점에서는 여전히 active / standby로 동작합니다. ARP 요청에 대한 응답은 active 장비가 응답 합니다.

  • show hsrp group 명령어를 통해 상태를 확인해 보면 active / standby 상태정보를 확인 할 수 있는데 해당 정보는 control palne 정보 이며 ARP request에 대한 응답은 active 장비가 수행 하며 ARP response에 vMAC 주소가 포함되며 해당 정보는 vPC를 구성하고 있는 장비 모두 동일하게 가지고 있습니다.

HSRP State 정보와 vMAC 정보 (Control Plane 측면)

  • Data Plane 측면에서는 두 장비 모두 forwarding이 가능한 상태 입니다. mac address table을 확인해 보면 active 장비에서는 vMAC 정보에 G bit (Gateway bit)flag가 있는 것을 확인 할 수 있습니다.

HSRP/VRRP active/active with vPC 설정 권고 사항

○ HSRP/VRRP active / active 모드로 사용 시 HSRP/VRRP timer는 기본값 사용

○ HSRP/VRRP이 설정된 SVI는 passive routing interface로 정의해야 함.

○ 운영 편의성을 위해 vPC Primary를 HSRP/VRRP active로 설정을 권고 함

○ HSRP/VRRP이 설정된 SVI에는 ip redirect 기능 비활성화

○ HSRP/VRRP Tracking 사용 금지 (강력 권고 사항)

  • Tracking 설정이 두 장비 모두 설정 되어 있고 7K2 L3 Uplink에 장애가 발생 할 경우 7K2 장비의 HSRP/VRRP 상태는 down으로 변경되고 7K2로 유입되는 모든 트래픽은 peer-link를 통해 7K1 장비로 전달 (7K2의 SVI는 UP상태)
  • Loop Avoidance 정책에 의해 7K1 장비는 peer-link를 통해 전달 된 트래픽을 폐기 함으로써 장애 발생

vPC Peer-Gateway 정의

  • L2 Frame 전송 시 목적지 주소를 HSRP vMAC 대신 vPC Peer SVI의 MAC 주소를 사용하는 경우 Peer 장비를 active로 동작하게 하는 기술
  • feature ospf
    feature interface-vlan
    feature lacp
    feature vpcno password strength-check
    
    username admin password 5 $5$Hm.gwo7y$2Q.7rzQOW/Dh3uINK/krWQaiAwbn9L49vxKJopsxhV
    8 role network-admin
    ip domain-lookup
    copp profile strict
    snmp-server user admin network-admin auth md5 0x9d821dfb3286b0b346d6acc28690e260
    priv 0x9d821dfb3286b0b346d6acc28690e260 localizedkey
    rmon event 1 description FATAL(1) owner PMON@FATAL
    rmon event 2 description CRITICAL(2) owner PMON@CRITICAL
    rmon event 3 description ERROR(3) owner PMON@ERROR
    rmon event 4 description WARNING(4) owner PMON@WARNING
    rmon event 5 description INFORMATION(5) owner PMON@INFOvlan 1vrf context management
    
    vrf context vPC_Keepalive
    
    vpc domain 10
    role priority 20
    peer-keepalive destination 1.1.1.2 source 1.1.1.1 vrf vPC_Keepalive
    ip arp synchronizeinterface Vlan1
    
    interface port-channel1
    description vPC Keepalive
    no switchport
    speed 10000
    vrf member vPC_Keepalive
    ip address 1.1.1.1/30
    
    interface port-channel2
    description peer_link
    switchport mode trunk
    switchport trunk allowed vlan 1-12
    spanning-tree port type network
    speed 10000
    vpc peer-link
    
    interface port-channel3
    speed 10000
    
    interface port-channel4
    speed 10000
    
    interface port-channel5
    description VPC_member
    switchport mode trunk
    spanning-tree port type network
    speed 10000
    vpc 5
    
    interface port-channel6
    description VPC_member
    switchport mode trunk
    spanning-tree port type network
    speed 10000
    vpc 6
    
    interface Ethernet1/1
    description peer_link
    switchport mode trunk
    switchport trunk allowed vlan 1-12
    speed 10000
    channel-group 2 mode active
    
    interface Ethernet1/2
    description peer_link
    switchport mode trunk
    switchport trunk allowed vlan 1-12
    speed 10000
    channel-group 2 mode active
    
    interface Ethernet1/3
    description vpc member
    switchport mode trunk
    speed 10000
    channel-group 6 mode active
    
    interface Ethernet1/4
    description vpc member
    switchport mode trunk
    speed 10000
    channel-group 5 mode active
    
    interface Ethernet1/5
    
    interface Ethernet1/6
    description vPC Keepalive
    no switchport
    speed 10000
    channel-group 1 mode active
    no shutdown
    
    interface Ethernet1/7
    description vPC Keepalive
    no switchport
    speed 10000
    channel-group 1 mode active
    no shutdown
    
    interface mgmt0
    vrf member management
    line console
    line vty
    

💡 Port-Channel 2에 peer_Link에 switchport mode trunk, switchport trunk allowed vlan 1-12 넣어줘야 Peer_Link가 살아난다. 개인적인 생각으로는 Type 2에 의해 Native VLAN도 동일하게 허용해줘야 하는 것 같음.

 💡 Speed를 10000(10G)가 되어야 가능하다.

 

728x90