Hướng Dẫn Chi Tiết Từng Lệnh Trong Cấu Hình Nvidia Spectrum Linux Switch

Trong thế giới của các trung tâm dữ liệu hiện đại, việc tối ưu hóa hiệu suất và khả năng mở rộng của hệ thống mạng là vô cùng quan trọng. Dòng switch Spectrum của Nvidia, với nền tảng Linux mạnh mẽ, đã trở thành một lựa chọn hàng đầu cho các kiến trúc mạng tiên tiến như EVPN-VXLAN.

Tuy nhiên, việc cấu hình những thiết bị này có thể phức tạp, đòi hỏi sự hiểu biết kỹ lưỡng về từng dòng lệnh. Bài viết này sẽ nêu chi tiết chi tiết, giúp bạn đi sâu vào từng lệnh cấu hình, từ những thiết lập cơ bản đến các giải pháp nâng cao, để bạn có thể làm chủ hoàn toàn switch Nvidia Spectrum của mình.

  1. Cấu Hình Cơ Bản

 

🔹Tạo udev rule để đồng bộ tên cổng phần mềm với cổng vật lý

SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”mlxsw_spectrum*”, NAME=”sw$attr[phys_port_name]”‘ > /etc/udev/rules.d/10-local.rules

Giải thích:

Mục đích: Trên Linux, các cổng mạng (netdev) thường có tên mặc định như eth0, eth1,… Lệnh này giúp đổi tên chúng thành swp1, swp2,… tương ứng với số cổng vật lý trên switch.

Chi tiết từng phần:

  • SUBSYSTEM==“net”: Áp dụng rule cho thiết bị mạng.
  • DRIVERS==“mlxsw_spectrum*”: Chỉ áp dụng cho driver Nvidia Spectrum.
  • NAME=“sw$attr[phys_port_name]”: Đặt tên cổng dựa trên thuộc tính vật lý (ví dụ: cổng 1 → sw1).

Tại sao cần phải đồng bộ :

  • Giúp quản lý cổng dễ dàng hơn (biết ngay swp9 là cổng số 9 trên switch).
  • Tránh nhầm lẫn khi cấu hình VLAN/Bridge.

Lệnh kèm theo:

udevadm control –reload-rules && udevadm trigger

Giải thích:

  • udevadm control –reload-rules: Tải lại rule mới.
  • udevadm trigger: Kích hoạt áp dụng rule ngay lập tức.

 

🔹 Cấu hình địa chỉ IP và MTU cho cổng

ip link set dev swp1 up mtu 9216

Giải thích:

Mục đích: Bật cổng swp1 và đặt MTU (Maximum Transmission Unit) thành 9216 byte.

Chi tiết:

  • ip link set dev swp1 up: Kích hoạt cổng swp1.
  • mtu 9216: Đặt kích thước gói tin tối đa là 9216 byte (phù hợp cho mạng data center, hỗ trợ jumbo frames).
  • Tại sao cần dùng?:
  • MTU lớn giúp tăng hiệu suất truyền dữ liệu (ít phân mảnh gói tin).
  • Bắt buộc nếu dùng VxLAN/RoCE (cần overhead cho encapsulation).

 

🔹 Tạo VLAN-aware bridge

ip link add name br0 type bridge vlan_filtering 1 vlan_default_pvid 0

Giải thích:

Mục đích: Tạo một bridge (switch ảo) hỗ trợ VLAN.

Chi tiết:

  • type bridge: Tạo thiết bị bridge.
  • vlan_filtering 1: Bật lọc VLAN (chỉ gói tin có VLAN được phép mới qua bridge).
  • vlan_default_pvid 0: Không gán VLAN mặc định (PVID = 0 nghĩa là không tag).
  • Tại sao cần dùng?:
  • Bridge thông thường không hỗ trợ VLAN. Tính năng này giúp chia tách traffic theo VLAN.

 

  1. Cấu Hình Nâng Cao

 

🔹Thêm cổng vào bridge và gán VLAN

ip link set dev swp9 master br0

bridge vlan add vid 10 dev swp9 untagged pvid

Giải thích:

Mục đích: Gán cổng swp9 vào bridge br0 và cấu hình VLAN 10 làm VLAN truy cập (access port).

Chi tiết:

  • ip link set dev swp9 master br0: Thêm swp9 vào bridge br0.
  • bridge vlan add vid 10: Thêm VLAN 10 vào cổng.
  • untagged: Gói tin ra khỏi cổng sẽ bỏ tag VLAN.
  • pvid: Gói tin vào cổng không tag sẽ được gán VLAN 10.
  • Ví dụ thực tế:
  • Máy chủ kết nối vào swp9 gửi gói tin không tag → switch tự động gán VLAN 10.
  • Gói tin từ VLAN 10 ra swp9 sẽ bỏ tag.

 

🔹Cấu hình VxLAN Interface

ip link add name vx10010 type vxlan id 10 local 1.1.1.1 dstport 4789 nolearning

Giải thích:

Mục đích: Tạo tunnel VxLAN để mở rộng Layer 2 qua IP network.

Chi tiết:

  • type vxlan: Tạo interface VxLAN.
  • id 10: VNI (VxLAN Network Identifier) = 10.
  • local 1.1.1.1: Địa chỉ nguồn của tunnel (loopback IP của switch).
  • dstport 4789: Port mặc định của VxLAN.
  • nolearning: Tắt tự động học MAC qua VxLAN (dùng EVPN thay thế).
  • Tại sao cần dùng?:
  • Để kết nối các VLAN 10 ở nhiều switch khác nhau qua mạng IP.

 

🔹 Cấu hình BGP EVPN trong FRR

vtysh

configure terminal

router bgp 65011

neighbor fabric peer-group

address-family l2vpn evpn

neighbor fabric activate

advertise-all-vni

Giải thích:

Mục đích: Dùng BGP EVPN để tự động quảng bá thông tin VxLAN (thay thế cho flood-and-learn).

Chi tiết:

  • router bgp 65011: Bật BGP với AS số 65011.
  • neighbor fabric peer-group: Nhóm các BGP neighbor (spine switches).
  • address-family l2vpn evpn: Chọn chế độ EVPN.
  • advertise-all-vni: Tự động quảng bá tất cả VNI.
  • Tại sao cần dùng?:
  • Giảm traffic multicast trong VxLAN.
  • Hỗ trợ tính năng advanced như distributed gateway.

 

  1. Troubleshooting

 

🔹 Lệnh Kiểm tra BGP Neighbors

vtysh -c ‘show ip bgp summary’

Giải thích:

Mục đích: Xem trạng thái kết nối BGP với các neighbor.

Output mẫu:

  • Neighbor V AS MsgRcvd MsgSent TblVer Up/Down State/PfxRcd
  • 0.0.1 4 65020 100 105 0 00:05:30 Estab

Ý nghĩa:

  • State/PfxRcd: Estab = BGP đã thiết lập thành công.
  • MsgRcvd/MsgSent: Số gói tin BGP đã gửi/nhận.

 

🔹 Lệnh Kiểm tra MAC Address Table

bridge fdb show

Giải thích:

Mục đích: Xem bảng địa chỉ MAC học được trên bridge.

Output mẫu:

  • 00:11:22:33:44:55 dev swp1 vlan 10 master br0

Phân tích:

  • MAC 00:11:22:33:44:55 kết nối vào cổng swp1, VLAN 10.

Kết Luận

Mỗi lệnh trong cấu hình Nvidia Spectrum Linux Switch đều có mục đích rõ ràng:

  • Lệnh hệ thống (udev, ip link): Chuẩn bị môi trường.
  • Lệnh bridge/VLAN: Tạo switch ảo và phân chia VLAN.
  • Lệnh VxLAN/BGP: Mở rộng Layer 2/Layer 3.
  • Lệnh troubleshooting: Kiểm tra trạng thái hoạt động.

Hy vọng bài viết giúp bạn hiểu rõ từng dòng lệnh về việc cấu hình trên Switch Spectrum của Nvidia !

____
Bài viết liên quan
Góp ý / Liên hệ tác giả