Loading...

Hướng dẫn cấu hình vPC (virtual Port Channel) trên Switch Cisco Nexus

Giới thiệu

vPC (virtual Port Channel) là công nghệ ảo hóa của Cisco NX-OS, cho phép các liên kết đi tới hai switch Nexus khác nhau xuất hiện như một port-channel duy nhất với thiết bị ở phía bên kia. Thiết bị đó có thể là switch, server, firewall, load balancer hay bất kỳ thiết bị nào hỗ trợ link aggregation (LACP). vPC thuộc họ công nghệ Multichassis EtherChannel (MCEC) và được triển khai trên các dòng Nexus 9000, 7000, 5000 và 3000.

Nhờ vPC, mạng Layer 2 không còn cổng bị STP chặn, tận dụng được toàn bộ băng thông uplink và vẫn chạy được khi mất một link hoặc một switch. Bài này dùng một mô hình hai switch Nexus ghép cặp vPC, xuống một switch access Catalyst, cấu hình theo đúng thứ tự mà Cisco khuyến nghị.

vPC Nexus LAB config

⚡ Điểm nhanh về vPC

  • Bản chất: hai Nexus ghép cặp thành một nút Layer 2 logic với thiết bị đầu cuối; mỗi switch vẫn chạy control plane riêng và cấu hình riêng.
  • Quy mô domain: một vPC domain chỉ gồm tối đa 2 switch peer.
  • Ba thành phần chính: vPC peer-link (trunk Layer 2, đồng bộ trạng thái), vPC peer-keepalive (liên kết Layer 3, kiểm tra peer còn sống) và vPC member port (port-channel xuống thiết bị đầu cuối).
  • Thứ tự cấu hình: feature vpc → vPC domain → peer-keepalive → peer-link → vPC member port.
  • Timer peer-keepalive mặc định: gói UDP cổng 3200; interval 1 giây, hold timeout 3 giây, timeout 5 giây.
  • Giấy phép: vPC, LACP, HSRP và VRRP nằm trong license NX-OS cơ bản; chỉ các tính năng Layer 3 như OSPF, IS-IS mới cần gói license riêng.
  • Giao thức nên dùng phía đầu cuối: LACP mode active.

vPC giải quyết vấn đề gì

Với STP thông thường, khi một access switch nối lên hai switch phía trên, một trong hai uplink bị chặn để tránh loop. vPC thay đổi điều đó: hai uplink gom thành một port-channel nên STP chỉ nhìn thấy một liên kết logic và không chặn cổng nào.

Lợi íchÝ nghĩa thực tế
Không có cổng STP bị chặn Dùng hết băng thông uplink, STP chỉ còn là cơ chế dự phòng chống loop
Server dual-home active-active Cả hai đường đều chuyển tiếp traffic
Hội tụ nhanh Mất một link, hàm hash chuyển flow sang link còn lại; mất một switch, switch kia nhận toàn bộ traffic
Default gateway active-active Cả hai peer cùng làm gateway cho server
Control plane độc lập Sự cố phần mềm trên một peer không lan sang peer kia

Các thành phần của vPC

Thành phầnVai trò
vPC peer device Một trong hai switch Nexus tạo nên cặp vPC
vPC domain Nhóm gồm hai peer, cung cấp ngữ cảnh để cấu hình các tham số vPC toàn cục
vPC peer-link Trunk 802.1Q giữa hai peer, mang BPDU, HSRP hello, cập nhật IGMP, gói điều khiển CFS và traffic flood từ peer kia; dùng để đồng bộ trạng thái
vPC peer-keepalive link Liên kết Layer 3 chỉ mang gói heartbeat UDP, dùng để biết peer còn sống và phát hiện tình huống dual-active; không mang dữ liệu người dùng
vPC member port Port-channel Layer 2 xuống thiết bị đầu cuối, gắn từ khóa vpc <id>
Orphan port Cổng nối với thiết bị chỉ kết nối vào một peer duy nhất
CFS (Cisco Fabric Services) Giao thức chạy trên peer-link, đồng bộ bảng MAC, trạng thái vPC và kiểm tra cấu hình; tự bật khi bật feature vpc

Một quy tắc quan trọng của vPC: traffic đi vào từ một vPC member port rồi băng qua peer-link thì không được thoát ra vPC member port nào khác. Quy tắc này chặn loop ở tầng dữ liệu, xử lý bằng phần cứng. Ngoại lệ duy nhất là khi một vPC member port phía peer kia bị down, lúc đó peer-link trở thành đường dự phòng.

Chuẩn bị trước khi cấu hình

Mô hình lab trong bài:

  • Hai switch Nexus: Switch Primary (peer chính, N9K-A) và Switch Secondary (peer phụ, N9K-B).
  • Peer-link: cổng Eth1/1 và Eth1/2 trên mỗi switch, gom thành Port-channel 12.
  • Peer-keepalive: cổng Eth1/3 trên mỗi switch, nối trực tiếp, địa chỉ 87.87.87.1/30 và 87.87.87.2/30 trong VRF riêng tên keepalive.
  • Xuống switch access: cổng Eth1/48 trên mỗi Nexus, gom thành Port-channel 11, vPC ID 11.
  • Các VLAN dùng chung: 10, 20, 30 (ví dụ).

Lưu ý trước khi bắt đầu:

  1. vPC không tự đồng bộ cấu hình. Bạn phải cấu hình riêng trên từng switch; hệ thống chỉ kiểm tra tính nhất quán.
  2. Phải cấu hình và đưa peer-keepalive lên trước, rồi mới tạo peer-link, nếu không vPC domain không hình thành.
  3. Mọi VLAN dùng qua vPC phải được tạo trên cả hai switch và phải được phép trên peer-link.
  4. Nếu đang chạy production, hãy hiểu rõ tác động của từng lệnh trước khi nhập.

Hướng dẫn cấu hình vPC từng bước

Bước 1: Bật tính năng và tạo VLAN trên cả hai switch

feature lacp
feature vpc
vlan 10,20,30

Bước 2: Cấu hình liên kết peer-keepalive

Cisco khuyến nghị dùng liên kết Layer 3 riêng cho peer-keepalive (một cổng 1G là đủ; port-channel 2 x 1G còn tốt hơn), đặt trong VRF riêng. Hai lựa chọn tiếp theo theo thứ tự ưu tiên là cổng mgmt0 và cuối cùng là đi qua hạ tầng Layer 3. Tuyệt đối không cho keepalive đi qua chính vPC peer-link.

Switch Primary:

vrf context keepalive

interface Ethernet1/3
  description vPC-Peer-Keepalive
  no switchport
  vrf member keepalive
  ip address 87.87.87.1/30
  no shutdown

Switch Secondary:

vrf context keepalive

interface Ethernet1/3
  description vPC-Peer-Keepalive
  no switchport
  vrf member keepalive
  ip address 87.87.87.2/30
  no shutdown

Lệnh vrf member phải đặt trước ip address, vì khi gán interface vào VRF, địa chỉ IP đã cấu hình sẽ bị xóa. Kiểm tra liên thông trước khi đi tiếp:

ping 87.87.87.2 vrf keepalive

Bước 3: Tạo vPC domain và khai báo peer-keepalive

vPC domain ID phải giống nhau trên hai peer. role priority giá trị nhỏ hơn sẽ thành peer chính (primary); nên để peer chính cũng là switch làm STP root và HSRP active.

Switch Primary:

vpc domain 87
  role priority 100
  peer-keepalive destination 87.87.87.2 source 87.87.87.1 vrf keepalive

Switch Secondary:

vpc domain 87
  role priority 200
  peer-keepalive destination 87.87.87.1 source 87.87.87.2 vrf keepalive

Trên mỗi switch, destination là địa chỉ của peer và source là địa chỉ của chính nó. Nếu bạn đặt trùng địa chỉ nguồn và đích, keepalive sẽ không bao giờ lên.

Kiểm tra:

show vpc peer-keepalive

Kết quả cần thấy vPC keep-alive status : peer is alive (hoặc trạng thái tương đương khi peer-link chưa lên), VRF keepalive, UDP port 3200.

Bước 4: Cấu hình vPC peer-link

Peer-link là thành phần quan trọng nhất của cặp vPC. Một số khuyến nghị của Cisco khi dựng peer-link:

  • Dùng tối thiểu hai cổng 10G trở lên bundle thành port-channel; trên switch dạng module nên chia thành viên sang các module khác nhau để chịu lỗi tốt hơn.
  • Không chèn thiết bị nào giữa hai peer, peer-link là liên kết điểm-điểm.
  • Giới hạn VLAN trên peer-link bằng danh sách VLAN của vPC (VLAN pruning), và nên dùng một port-channel Layer 2 khác để mang các VLAN không thuộc vPC.
  • Peer-link chạy spanning-tree port type network, nên Bridge Assurance được kích hoạt trên liên kết này; không tắt nó đi.

Cấu hình giống nhau trên cả hai switch:

interface port-channel12
  description vPC-Peer-Link
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  spanning-tree port type network
  vpc peer-link

interface Ethernet1/1
  description vPC-Peer-Link
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  channel-group 12 mode active
  no shutdown

interface Ethernet1/2
  description vPC-Peer-Link
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  channel-group 12 mode active
  no shutdown

Kiểm tra:

show vpc brief

Cần thấy Peer status : peer adjacency formed ok, vPC keep-alive status : peer is alive, Configuration consistency status : success và vPC role là primary trên Switch Primary, secondary trên Switch Secondary.

Bước 5: Bật các tính năng khuyến nghị cho vPC domain

Các lệnh này nằm trong cùng vPC domain. Cisco đưa vào cấu hình mẫu và khuyến nghị cho Nexus 9000:

vpc domain 87
  peer-switch
  peer-gateway
  ip arp synchronize
  auto-recovery
LệnhTác dụngLưu ý
peer-switch Hai peer xuất hiện như một STP root duy nhất (cùng bridge ID) Phải cấu hình trên cả hai peer thì mới hoạt động; đặt STP priority giống nhau trên hai switch
peer-gateway Peer có thể làm gateway cho gói gửi đến MAC router của peer kia, giữ traffic ở local, tránh dùng peer-link Cần bật trước khi dùng layer3 peer-router
ip arp synchronize Đồng bộ bảng ARP giữa hai peer Dùng trong cấu hình mẫu của Cisco cho Nexus 9000
auto-recovery Cho phép peer chính hoạt động lại khi cả hai switch reload và peer kia không lên Cisco khuyến nghị bật, dù hiếm khi vẫn có thể dẫn đến dual-active; timeout mặc định hiển thị 240 giây

Nếu cần định tuyến động giữa hai peer qua vPC, Cisco bổ sung lệnh layer3 peer-router trong vPC domain, yêu cầu peer-gateway đã bật và phải cấu hình trên cả hai peer.

Để switch peer chính cũng là STP root, ví dụ đặt priority giống nhau trên cả hai switch khi đã dùng peer-switch:

spanning-tree vlan 10,20,30 priority 4096

Bước 6: Cấu hình vPC member port xuống thiết bị đầu cuối

Cấu hình port-channel và vpc 11 giống nhau trên hai Nexus. Cisco khuyến nghị đặt vPC ID trùng số port-channel để dễ quản lý, và dùng LACP mode active.

interface port-channel11
  description vPC-to-Access-Switch
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  spanning-tree port type normal
  vpc 11

interface Ethernet1/48
  description vPC-to-Access-Switch
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  channel-group 11 mode active
  no shutdown

vPC member port không hỗ trợ Bridge Assurance nên đặt spanning-tree port type normal. VLAN nào cho phép trên vPC member port thì bắt buộc phải có trên peer-link, nếu không VLAN đó không hoạt động.

Bước 7: Cấu hình phía switch access (không cần biết vPC)

Với switch access, đây chỉ là một port-channel LACP bình thường, một cổng nối lên Switch Primary và một cổng nối lên Switch Secondary. Ví dụ trên Catalyst:

interface port-channel11
 switchport mode trunk
!
interface GigabitEthernet1/0/1
 switchport mode trunk
 channel-group 11 mode active
!
interface GigabitEthernet1/0/2
 switchport mode trunk
 channel-group 11 mode active

Nếu switch access cũng cần allowed VLAN, hãy khai báo giống phía Nexus.

Kiểm tra vPC sau khi cấu hình

LệnhMục đích
show vpc brief Tổng quan: trạng thái peer, keepalive, consistency, vPC role, danh sách vPC và VLAN active
show vpc role Role hiện tại, system-mac, role priority
show vpc peer-keepalive Địa chỉ, VRF, UDP port và timer keepalive
show vpc consistency-parameters global So sánh tham số toàn cục hai peer
show vpc consistency-parameters interface port-channel 11 So sánh tham số của một vPC cụ thể
show vpc orphan-ports Liệt kê orphan port
show port-channel summary Trạng thái port-channel và các cổng thành viên
show lacp neighbor Thông tin LACP phía đối tác

Kết quả show vpc brief khi vPC chạy đúng có dạng:

vPC domain id                     : 87
Peer status                       : peer adjacency formed ok
vPC keep-alive status             : peer is alive
Configuration consistency status  : success
Per-vlan consistency status       : success
Type-2 consistency status         : success
vPC role                          : primary

vPC status
Id    Port   Status Consistency Reason   Active vlans
11    Po11   up     success     success  10,20,30

Kiểm tra nhất quán cấu hình: Type-1 và Type-2

Sau khi hai peer thông nhau qua peer-link, CFS so sánh cấu hình của hai bên. Có hai mức:

MứcHậu quả khi lệchVí dụ tham số
Type-1 vPC bị suspend. Với graceful consistency check (mặc định bật), chỉ peer phụ bị suspend, peer chính vẫn forwarding STP mode, cấu hình MST region, Bridge Assurance, loop guard; trên từng vPC: LACP mode, tốc độ, duplex, switchport mode, native VLAN, MTU, allowed VLAN, STP port type
Type-2 Vẫn forwarding nhưng có thể sai hành vi MAC aging, VLAN database, SVI, ACL, QoS, cost và priority STP, HSRP, IGMP snooping, DHCP snooping

Ví dụ: MTU của hai port-channel lệch nhau là lỗi Type-1 và sẽ làm vPC member port bị suspend. Khi thấy vPC ở trạng thái down, hãy chạy show vpc consistency-parameters trước tiên.

Khuyến nghị thiết kế từ Cisco

Peer-keepalive

  • Dùng liên kết Layer 3 riêng, VRF riêng; không chạy keepalive trên peer-link.
  • Với switch dùng nhiều supervisor và mgmt0, không nối mgmt0 trực tiếp hai switch với nhau mà nên chèn một switch Layer 2 ở giữa.

Peer-link và role

  • Đặt role priority thủ công. Peer chính nên đồng thời là STP root và HSRP active. Role của vPC không preempt: sau khi một switch reload và quay lại, role vận hành (operational role) có thể khác role cấu hình.
  • Khi peer-link down trong lúc keepalive còn sống, peer phụ sẽ suspend vPC member port và tắt các SVI của vPC VLAN.

STP

  • Giữ STP root ở lớp aggregation; không tắt STP kể cả khi mọi thiết bị đã đi qua vPC, vì nó vẫn là cơ chế chống loop dự phòng.
  • Đặt cổng hướng host ở chế độ edge (PortFast) và bật BPDU Guard.
  • Hai peer phải có cấu hình STP giống hệt nhau (mode, MST region, Bridge Assurance, loop guard).

Kết nối thiết bị đầu cuối

  • Ưu tiên dual-attach bằng port-channel LACP. Nếu thiết bị chỉ nối được vào một switch (orphan port), nên nối vào peer chính; hoặc dùng VLAN không thuộc vPC cùng một port-channel riêng giữa hai peer làm đường dự phòng.
  • Với định tuyến dự phòng, dùng một liên kết Layer 3 riêng giữa hai peer thay vì chạy qua peer-link và SVI.

Nâng cấp phần mềm và thay switch

  • Dùng ISSU để nâng cấp NX-OS cho vPC domain, thực hiện lần lượt từng switch. Trong lúc ISSU, cấu hình trên peer còn lại bị khóa.
  • Khi thay switch hỏng, đưa các liên kết lên theo thứ tự: peer-keepalive, peer-link, xác nhận vPC role đúng, sau đó mới tới vPC member port, orphan port và các cổng Layer 3. Nếu đã bật auto-recovery thì tắt nó trong lúc thay.

Một số mô hình triển khai vPC

Mô hìnhMô tảĐiểm cần lưu ý
Single-sided vPC Thiết bị đầu cuối nối trực tiếp vào cặp Nexus Mô hình cơ bản trong bài này
Double-sided vPC Hai cặp vPC nối với nhau, toàn bộ link liên kết thuộc cùng một vPC Hai vPC domain phải dùng domain ID khác nhau vì ID được dùng trong LACP
vPC Fabric Peering (Nexus 9000) Peer-link ảo chạy qua mạng fabric, không cần dành cổng vật lý cho peer-link Khai báo virtual peer-link destination ... source ... trong vPC domain
vPC với VXLAN EVPN Cặp leaf dùng chung một VTEP (địa chỉ secondary trên loopback) Nên tăng delay restore interface-vlan khi có nhiều SVI, và timer hold-down của NVE phải lớn hơn delay restore

Khi cặp Nexus cần kết nối lên router hoặc firewall, cấu hình khác với vPC member port Layer 2 ở trên. Chi tiết hai cách đấu nối và ví dụ cấu hình xem bài Kết nối uplink lên router cho cặp Switch Cisco Nexus vPC.

Giới hạn cần biết

  • Một vPC domain chỉ có hai switch peer.
  • vPC member port chỉ hỗ trợ port-channel Layer 2 (trunk hoặc access); không dùng port-channel Layer 3.
  • Hai peer phải cấu hình độc lập, không có đồng bộ cấu hình tự động.
  • Thành viên của peer-link và của vPC member port hai bên phải cùng loại cổng/module.
  • vPC dùng để nối hai data center chỉ nên dùng cho tối đa hai site; nhiều hơn thì Cisco khuyến nghị OTV.

Các lỗi thường gặp

Hiện tượngNguyên nhân thường gặpCách xử lý
Peer adjacency không hình thành Keepalive không thông, hai peer khác domain ID, peer-link chưa lên ping <peer> vrf keepalive, show vpc peer-keepalive, kiểm tra vpc domain hai bên
vPC báo down, consistency fail Lệch tham số Type-1 (MTU, speed, switchport mode, native VLAN, LACP mode, STP) show vpc consistency-parameters interface port-channel <id> và sửa cho khớp
VLAN không đi qua vPC VLAN chưa tạo trên cả hai switch hoặc chưa allowed trên peer-link Tạo VLAN trên cả hai, thêm vào allowed vlan của peer-link
Thiết bị nối vào peer phụ mất mạng khi peer-link down Đó là orphan port nối vào peer phụ Nối vào peer chính hoặc dùng VLAN không thuộc vPC với đường dự phòng riêng
Keepalive không lên dù cổng up Gán sai địa chỉ nguồn và đích, hoặc interface chưa thuộc đúng VRF Kiểm tra source và destination, VRF của interface, show vpc peer-keepalive

Câu hỏi thường gặp (FAQ)

vPC khác gì với stack hay chassis ghép? Hai Nexus trong vPC vẫn là hai thiết bị độc lập, mỗi thiết bị có control plane và file cấu hình riêng. Chỉ phần port-channel hướng ra thiết bị đầu cuối được ảo hóa thành một liên kết logic.

Peer-keepalive có bắt buộc phải là liên kết vật lý riêng không? Không bắt buộc, nhưng Cisco ưu tiên liên kết Layer 3 riêng, sau đó mới tới mgmt0, và cuối cùng mới là định tuyến qua hạ tầng Layer 3. Điều cấm kỵ là chạy keepalive trên peer-link vì hai thành phần sẽ cùng hỏng một lúc.

Peer-keepalive mang dữ liệu người dùng không? Không. Đó chỉ là gói UDP cổng 3200 để kiểm tra peer còn sống. Khi peer-link hỏng, nó giúp phát hiện tình huống cả hai switch cùng active.

Điều gì xảy ra khi peer-link bị đứt? Nếu keepalive vẫn thông, peer phụ suspend toàn bộ vPC member port và tắt SVI của các vPC VLAN, mọi traffic dồn về peer chính. Nếu keepalive cũng đứt, hai peer không còn biết trạng thái nhau, vì vậy cần thiết kế để hai đường này không dùng chung điểm hỏng.

Có thể dùng chung vPC domain ID cho hai cặp Nexus nối vào nhau không? Không nên. Domain ID được dùng làm một phần của LACP, dùng trùng sẽ làm vPC nối giữa hai cặp flap liên tục. Nếu bắt buộc dùng chung, phải cấu hình system-mac khác nhau.

vPC có dùng chung được với định tuyến Layer 3 không? Có, nhưng vPC member port chỉ là port-channel Layer 2, và không nên định tuyến qua peer-link và SVI làm đường dự phòng. Hai cách nối uplink lên router (cổng routed riêng hoặc router nối Layer 2 qua vPC) được trình bày trong bài Kết nối uplink lên router cho cặp Switch Cisco Nexus vPC.

Server nối vào chỉ một Nexus thì sao? Đó là orphan port. Nếu có thể, hãy dual-attach bằng LACP; nếu không, nối vào peer chính hoặc dùng VLAN không thuộc vPC cùng đường liên kết riêng giữa hai peer.

Thông tin liên quan

Cần tư vấn thiết kế vPC hoặc chọn dòng Nexus phù hợp, hãy liên hệ VNExperts để được hỗ trợ.

Ghi chú minh bạch

Nội dung bài được tổng hợp và đối chiếu từ hai tài liệu chính hãng của Cisco:

Tài liệu thiết kế nêu trên viết chủ yếu theo Nexus 7000, nên một số chi tiết (như loại line card cho peer-link) phụ thuộc nền tảng. Khi triển khai, hãy đối chiếu với tài liệu cấu hình NX-OS đúng dòng Nexus và phiên bản phần mềm đang dùng. Địa chỉ IP, VLAN, số cổng và giá trị role priority trong bài là ví dụ lab, cần thay theo thực tế.