목차

소개

토폴로지

테스트

데이터 링크 손실

업그레이드 또는 다시 로드 중단

vPC 피어 링크 작동 중지

ISSU(In-Service Software Upgrade)

ISSU의 알려진 문제

피어 keepalive 링크 손실

vPC 기능 비활성화

결론

관련 Cisco 지원 커뮤니티 토론

소개

이 문서에서는 vPC(Virtual Port-Channel)에 중점을 두고 다양한 중단에 대응하여 네트워크의 동작을 간략하게 설명합니다.

일반적으로 다시 로드, 링크 손실 또는 연결 손실이 발생할 수 있습니다.

이 문서의 목적은 일반적인 시나리오에서 패킷 손실을 보여주는 것입니다.

토폴로지

테스트 중에 다음 토폴로지를 사용하는 경우를 제외하고 별도로 명시하지 않습니다.

녹색 및 파란색 선은 각 Fabric Interconnect에서 두 Nexus 스위치로 연결되는 vPC 포트 채널을 나타냅니다.

아웃오브밴드(out of band) 관리 네트워크에는 설명되어 있지 않습니다.

FlexPod 구축에서 일반적으로 권장되는 간소화된 토폴로지입니다. 예를 들면 다음과 같습니다.

http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/UCS_CVDs/flexpod_esxi51_ucsm2.html

사용된 구성 요소

Nexus 5548P 스위치 2개.

2.2(4b) 소프트웨어를 실행하는 UCS(Unified Computing System) 6120 Fabric Interconnect 2개

5108 UCS 섀시 1개

2.2(4) 소프트웨어를 실행하는 VIC 1240 어댑터가 포함된 B200M3 블레이드 2개.

연결 테스트를 수행하고 확인하기 위해 두 개의 블레이드가 설치되었고 RedHat Enterprise Linux 7.1 운영 체제가 설치되어 있습니다.

구성.

vPC와 포트 채널 구성 모두 기본값을 사용합니다.

feature vpc

vpc domain 75

role priority 3000

peer-keepalive destination 10.48.43.79 source 10.48.43.78

delay restore 150

peer-gateway

interface port-channel1

description vPC Peer-Link

switchport mode trunk

spanning-tree port type network

vpc peer-link

이 경우 bdsol-6120-05에서 UCS Fabric Interconnect(FI)로 연결되는 vPC 예 - A

interface port-channel101

description bdsol-6120-05-A

switchport mode trunk

spanning-tree port type edge trunk

vpc 101

테스트

다음 테스트가 수행됩니다.

- 데이터 링크 손실

- 업그레이드 중단

- ISSU(In-Service Software Upgrade)

- 피어 keepalive 링크 손실 - 이 토폴로지/컨피그레이션의 경우 mgmt0 인터페이스

- 피어 포트 채널 손실 - 이 컨피그레이션의 포트 채널 1.

- vPC 기능 비활성화

기본 트래픽 흐름

단일 iperf3 세션은 전환 중에 프레임 손실을 확인하기 위해 초당 6.5기가비트의 테스트 TCP 트래픽을 생성하는 데 사용됩니다.

RedHat2는 Fabric Interconnect B에 고정되고 RedHat1은 Fabric Interconnect A에 고정되어 있으므로 스위칭 부분을 교차해야 하는 트래픽이 발생합니다.

Iperf3 매개 변수:

- 서버:iperf3 -s -i 1

- 클라이언트 iperf3 -c 10.37.9.131 -t 0 -i 1 -w 1M -V

높은 트래픽 속도와 패킷 손실을 쉽게 확인할 수 있도록 위의 매개변수를 선택했습니다.

iperf가 알고 있는 데이터 버스트를 방지하기 위해 TCP 창이 클램프되었습니다.iperf가 unclaming을 실행하도록 허용하면 QoS 컨피그레이션에 따라 경로를 따라 인그레스 버퍼가 가끔 삭제될 수 있습니다.위의 매개 변수를 사용하면 프레임 손실 없이 6~7Gbps의 일정한 속도를 유지할 수 있습니다.

이를 확인하기 위해 인터페이스의 누적 트래픽 속도를 확인할 수 있습니다.

bdsol-n5548-07# show interface ethernet 1/1-2 | i rate

30 seconds input rate 5612504 bits/sec, 9473 packets/sec

30 seconds output rate 7037817832 bits/sec, 578016 packets/sec

input rate 5.60 Mbps, 9.38 Kpps; output rate 7.01 Gbps, 576.10 Kpps

30 seconds input rate 7037805336 bits/sec, 578001 packets/sec

30 seconds output rate 5626064 bits/sec, 9489 packets/sec

input rate 7.01 Gbps, 575.71 Kpps; output rate 6.56 Mbps, 9.79 Kpps

위의 출력에서는 인터페이스 Ethernet 1/2에 들어오고 인터페이스 Ethernet 1/1에서 나가는 7Gbps 트래픽을 보여줍니다.

데이터 링크 손실

이 테스트는 vPC의 일부인 링크가 종료될 경우 데이터가 어떻게 작동하는지 테스트하기 위해 지정됩니다.

이 예에서는 데이터 트래픽용 출력 인터페이스인 이더넷 1/1을 사용하며 명령줄을 사용하여 종료합니다.

bdsol-n5548-07# conf t

Enter configuration commands, one per line. End with CNTL/Z.

bdsol-n5548-07(config)# int et1/1

bdsol-n5548-07(config-if)# shut

이 경우 6.5Gbps 스트림의 플러드 때문에 하나의 패킷만 손실되었습니다.

UCS의 포트 채널에 있는 나머지 링크 간에 트래픽이 거의 즉시 밸런싱됩니다. 이 경우 UCS FI B의 이더넷 1/8(나머지 유일한 포트) 포트가 Nexus 5548 B로 연결되며, 여기에서 이더넷 1/1을 사용하여 UCS FI A로 전송됩니다.

bdsol-n5548-08# show interface ethernet 1/1-2 | i rate

30 seconds input rate 5575896 bits/sec, 9413 packets/sec

30 seconds output rate 6995947064 bits/sec, 574567 packets/sec

input rate 2.21 Mbps, 3.70 Kpps; output rate 2.78 Gbps, 227.99 Kpps

30 seconds input rate 6995940736 bits/sec, 574562 packets/sec

30 seconds output rate 5581920 bits/sec, 9418 packets/sec

input rate 2.78 Gbps, 227.99 Kpps; output rate 2.22 Mbps, 3.71 Kpps

업그레이드 또는 다시 로드 중단

bdsol-n5548-07(기본 vPC)의 중단 업그레이드를 수행하여 통합된 데이터 및 컨트롤 플레인 중단을 에뮬레이션할 수 있습니다.

트래픽 손실이 예상됩니다.

기능적으로 이 테스트는 vPC 피어를 다시 로드하는 것과 동일합니다.

bdsol-n5548-07# install all kickstart bootflash:n5000-uk9-kickstart.7.1.0.N1.1a.bin system bootflash:n5000-uk9.7.1.0.N1.1a.bin

(...)

Compatibility check is done:

Module bootable Impact Install-type Reason

------ -------- -------------- ------------ ------

1 yes disruptive reset Incompatible image

(...)

Switch will be reloaded for disruptive upgrade.

Do you want to continue with the installation (y/n)? [n] y

Install is in progress, please wait.

Performing runtime checks.

[####################] 100% -- SUCCESS

Setting boot variables.

[####################] 100% -- SUCCESS

Performing configuration copy.

[####################] 100% -- SUCCESS

Finishing the upgrade, switch will reboot in 10 seconds.

10초 후에 언급된 패킷 손실이 발생합니다.

이 시간 동안에는 55개의 패킷만 손실됩니다(6.6Gbps 스트림에서).

iperf3이 즉시 재시작된 경우 운영자는 트래픽이 실제로 bdsol-n5548-08로 전환되었는지 확인할 수 있습니다.

bdsol-n5548-08# show interface ethernet 1/1-2 | i rate

30 seconds input rate 5601392 bits/sec, 9455 packets/sec

30 seconds output rate 7015307760 bits/sec, 576159 packets/sec

input rate 2.25 Mbps, 3.77 Kpps; output rate 2.81 Gbps, 231.14 Kpps

30 seconds input rate 7015303696 bits/sec, 576152 packets/sec

30 seconds output rate 5605280 bits/sec, 9462 packets/sec

input rate 2.81 Gbps, 231.14 Kpps; output rate 2.25 Mbps, 3.77 Kpps

속도 카운터가 30초 이상 평균되므로 트래픽 속도가 6Gbps 미만으로 표시됩니다.

vPC 피어 링크 작동 중지

이 예에서는 vPC 피어 링크가 중단되고 컨피그레이션 변경으로 트리거됩니다.

그 당시 트래픽은 bdsol-n5548-07에 의해 처리되어 vPC 보조 역할을 합니다.

이벤트의 시퀀스입니다.

포트 채널 1이 다운됩니다.

2015년 7월 10 15:00:25 bdsol-n5548-07 %ETPORT-5-IF_DOWN_CFG_CHANGE:인터페이스 port-channel1이 다운되었습니다(구성 변경).

bdsol-n5548-07은 보조 기능을 수행하므로 vPC는 루프가 없는 토폴로지를 보장할 수 없으므로 일시 중단됩니다.

2015 Jul 10 15:00:28 bdsol-n5548-07 %VPC-2-VPC_SUSP_ALL_VPC: Peer-link going down, suspending all vPCs on secondary

2015 Jul 10 15:00:28 bdsol-n5548-07 %ETHPORT-5-IF_DOWN_INITIALIZING: Interface port-channel928 is down (Initializing)

2015 Jul 10 15:00:28 bdsol-n5548-07 %ETHPORT-5-IF_DOWN_INITIALIZING: Interface port-channel102 is down (Initializing)

2015 Jul 10 15:00:28 bdsol-n5548-07 %ETHPORT-5-IF_DOWN_INITIALIZING: Interface port-channel101 is down (Initializing)

이 시간 동안 iperf3는 트래픽의 일부를 손실했습니다(패킷 90개).

하지만 매우 빠르게 복구할 수 있었습니다.

vPC는 bdsol-n5548-07에서 일시 중단되므로 모든 트래픽은 bdsol-n5548-08에 의해 처리됩니다

bdsol-n5548-08# show int ethernet 1/1-2 | i rate

30 seconds input rate 5623248 bits/sec, 9489 packets/sec

30 seconds output rate 7036030160 bits/sec, 577861 packets/sec

input rate 2.83 Mbps, 4.74 Kpps; output rate 3.54 Gbps, 290.64 Kpps

30 seconds input rate 7036025712 bits/sec, 577854 packets/sec

30 seconds output rate 5627216 bits/sec, 9498 packets/sec

input rate 3.54 Gbps, 290.64 Kpps; output rate 2.83 Mbps, 4.75 Kpps

다시, 로드 평균이 계산되기 때문에 속도가 초당 6.5기가비트로 바로 표시되지 않습니다.

vPC에서 복구 링크가 다운되었습니다.

vPC 피어 링크가 다시 활성 상태로 돌아왔을 때, 토폴로지 변경으로 인해 링크 간에 트래픽이 다시 밸런싱되고 수명이 짧은 패킷 손실이 발생할 수 있습니다.

이 랩 테스트 1 패킷이 손실된 경우

ISSU(In-Service Software Upgrade)

이 테스트에서는 트래픽 중단을 확인하기 위해 ISSU 업그레이드가 수행되었습니다.

이 테스트 중 vPC 역할은 다음과 같습니다.

bdsol-n5548-07 - 기본

bdsol-n5548-08 - 보조

ISSU 정의 기준을 충족해야 합니다.

이러한 기준을 확인하고 ISSU를 수행하는 데 사용되는 명령에 대한 정보를 찾기 위해 다음 설명서가 사용되었습니다.

http://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5500/sw/upgrade/705_N1_1/n5500_upgrade_downgrade_700.html#pgfId-727913

먼저 기본에서 ISSU를 수행한 후 보조 vPC 피어에서 ISSU를 수행한 후 패킷이 손실되지 않았습니다.

이는 ISSU가 모든 데이터 플레인 기능을 중단 없이 유지하고 컨트롤 플레인 트래픽만 영향을 받기 때문입니다.

ISSU의 알려진 문제

레이어 3 기능 및 라이센스

ISSU를 테스트하는 동안 해결해야 할 여러 문제가 있습니다."show install all impact ..." 명령은 다음 설명과 함께 ISSU를 수행할 수 없는 출력을 제공할 수 있습니다."L3이 활성화된 경우 무중단 설치가 지원되지 않습니다." 테스트 환경에서는 설치된 라이센스 파일에서 LAN_BASE_SERVICES_PKG을 사용하고 있기 때문입니다.

LAN_BASE_SERVICES_PKG에는 L3 기능이 포함되어 있으며 ISSU를 수행하려면 이 패키지가 사용되지 않아야 하며 "clear license LICENSEFILE" 명령을 사용하여 라이센스 파일을 디바이스에서 삭제해야 합니다.현재 디바이스에서 라이센스 파일을 사용 중일 수 있습니다.이러한 라이센스 파일을 지우려면 "show license usage"를 사용하고 이러한 패키지의 기능을 비활성화하여 사용 중인 패키지를 확인하는 것이 중요합니다.

비에지 STP 포트

테스트 중에 "show spanning-tree issu-impact" non-edge, Criteria 3, check 및 이로 인해 시스템 중단이 발생할 수 있으므로 노스바운드 포트 채널을 종료해야 했습니다.이 노스바운드 포트 채널은 "show spanning-tree vlan 1" 명령에서 vPC 에지로 나열되지 않았습니다.

피어 keepalive 링크 손실

피어 keepalive mgmt0 링크가 손실된 후 트래픽의 중단이 기록되지 않았습니다.이 토폴로지에서는 관리 인터페이스(mgmt0)가 keepalive 링크로 사용되므로 테스트 중에 생성된 데이터 트래픽에 영향을 주지 않습니다.

디바이스는 mgmt0 인터페이스가 다운되고 피어 keepalive가 실패하는 것을 인식하지만, 피어 링크가 데이터 센터 통신으로 가동되기 때문에 통신을 계속할 수 있습니다.

2015 Jul 14 12:11:28 bdsol-n5548-07 %IM-5-IM_INTF_STATE: mgmt0 is DOWN in vdc 1

2015 Jul 14 12:11:32 bdsol-n5548-07 %VPC-2-PEER_KEEP_ALIVE_RECV_FAIL: In domain 75, VPC peer keep-alive receive has failed

2015 Jul 14 12:12:07 bdsol-n5548-07 %IM-5-IM_INTF_STATE: mgmt0 is UP in vdc 1

vPC 기능 비활성화

이 테스트에서는 라이브 데이터 전송 중에 스위치 중 하나에서 vPC가 비활성화될 때 발생하는 상황을 설명합니다.

전역 컨피그레이션 모드에서 다음 명령을 사용하여 VPC 기능을 비활성화할 수 있습니다.

bdsol-n5548-07(config)# no feature vpc

기본 또는 보조 vPC 피어에서 vPC 기능을 비활성화하면 데이터 연결이 즉시 손실됩니다.이는 vPC의 피어 기반 특성 때문입니다.이 기능이 비활성화되면 스위치의 모든 vPC 기능이 작동하지 않고 피어 링크가 중단되고 vPC keepalive 상태가 Suspended(일시 중단됨)이고 테스트 환경의 포트 채널 101이 중단됩니다.이는 여전히 vPC 기능이 활성화된 피어 스위치의 show vPC 출력에서 분명히 나타납니다.

bdsol-n5548-07# show vpc

Legend:

(*) - local vPC is down, forwarding via vPC peer-link

vPC domain id                     : 75

Peer status                       : peer link is down

vPC keep-alive status             : Suspended (Destination IP not reachable)

...

vPC status

----------------------------------------------------------------------------

id Port Status Consistency Reason Active vlans

------ ----------- ------ ----------- -------------------------- -----------

101 Po101 down success success -

이전과 같이 교통 중단은 수명이 짧다.

위에서 언급한 테스트 조건에서 단일 세션에서 50-80개의 패킷이 손실되었습니다.

"feature vpc" 명령을 제거하면 vPC 컨피그레이션이 포트 채널에서 제거됩니다.

이 구성을 다시 추가해야 합니다.

결론

vPC 기능은 포트 채널의 데이터 트래픽을 여러 디바이스 간에 분할하여 복원력 성능을 제공하기 위한 것입니다.

이 간단한 아이디어에는 복잡한 컨트롤 플레인 구현이 필요합니다.

위의 테스트는 기능의 수명 주기 동안 발생할 수 있는 컨트롤 플레인과 데이터 플레인의 중단이 모두 나타나는 것을 의미했습니다.

예상되는 데이터 플레인 중단이 감지되고 거의 즉시 수정되었으며, 테스트에서 단일 패킷이 손실되었습니다.

테스트된 컨트롤 플레인 중단은 컨트롤 플레인이 영향을 받는 경우에도 vPC가 1초 미만의 컨버전스 시간을 유지하는 것을 보여줍니다.

가장 파괴적인 테스트(종료되는 vPC 피어 링크)는 잠재적으로 데이터 및 컨트롤 플레인 장애를 결합합니다.여전히 빠른 통합 시간이 입증되었습니다.