EtherChannel với LACP: gộp link và kiểm tra lỗi

Dựng port-channel Layer 2 bằng LACP, kiểm tra member và partner hai đầu. Giải thích hash, băng thông một luồng, tải lệch và tác động khi mất thành viên.
Hai switch nối bằng một đường 1 Gb/s bắt đầu nghẽn vào giờ sao lưu. Nhóm vận hành bổ sung dây thứ hai, nhưng lưu lượng vẫn đi chủ yếu trên một đường. Một trường hợp khác còn khiến mạng chập chờn sau khi ép cả hai cổng lên. Muốn dùng nhiều dây như một đường logic, cần thiết kế EtherChannel và xác nhận từng thành viên thực sự tham gia bundle.
LACP thương lượng việc gộp các cổng tương thích, còn thuật toán phân phối lưu lượng quyết định frame dùng thành viên nào. Hai việc này khác nhau. Bài viết lần theo một port-channel Layer 2, từ điều kiện gộp link đến cách đọc lỗi và giới hạn băng thông.
1. Xác định hai đầu logic và các cổng sẽ gộp
Mô hình biên tập có SW1 và SW2, mỗi switch dùng Gi1/0/22 và Gi1/0/23 cho Port-channel1. Hai dây lần lượt nối cổng 22 với 22, cổng 23 với 23. Mỗi link 1 Gb/s, full duplex. Bundle chạy trunk, native VLAN 999, allowed VLAN 10,20,999; các VLAN này đã tồn tại ở cả hai switch. VLAN 999 không dùng cho máy người dùng trong ví dụ.
Đây là lab độc lập, không giữ thêm đường Gi1/0/24 từ bài VLAN. Nếu chuyển đổi topology đang có, phải vẽ cả uplink cũ và STP trước khi cắm dây mới. Không giả định hai port trên hai switch độc lập có thể là cùng một đầu bundle. Stack hoặc giải pháp đa chassis cần hỗ trợ và cấu hình riêng để thể hiện đúng hệ thống logic với peer.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.
Lệnh minh họa theo IOS/IOS XE trên Catalyst hỗ trợ LACP. Chưa chạy trên thiết bị thật. Số thành viên tối đa, min-links, fast timer, cơ chế suspend và lựa chọn hash phải tra model, license và release. Bài tập trung bundle Layer 2, không trộn cấu hình routed port-channel dùng no switchport.
2. Một cổng logic có quan hệ gì với STP và LACP?
Port-channel gom các liên kết vật lý thành interface logic. Khi bundle được thiết lập đúng, STP xem port-channel là một cổng trong cây, thay vì chọn một trong hai dây như hai đường độc lập. STP vẫn cần cho topology bên ngoài bundle. EtherChannel không thay thế cơ chế chống vòng lặp giữa nhiều switch.
LACP gửi thông tin hệ thống, cổng và khả năng gộp để hai đầu chọn các thành viên tương thích. Cổng có thể up về vật lý nhưng chưa được chọn để chuyển dữ liệu trong aggregate. Vì vậy đèn link sáng chỉ trả lời câu hỏi đầu tiên. Cần trạng thái port-channel, từng member và neighbor LACP để xác nhận cơ chế đang hoạt động.
Hai chế độ hay gặp là active, chủ động khởi tạo thương lượng, và passive, đáp lại. Active–active hoặc active–passive có thể hình thành bundle khi các điều kiện khác đúng. Passive–passive không tự khởi tạo. Mode on là gộp tĩnh, không phải LACP; không dùng nó như cách chữa nhanh một phiên thương lượng hỏng.
Hướng dẫn EtherChannel trên Catalyst 9200 là căn cứ cho các mode và điều kiện thành viên. Bảng thương lượng và tình huống xử lý dưới đây được biên tập từ mô hình, không phải output chụp từ một hệ thống vận hành.
3. Vì sao hai dây 1 Gb/s không làm một luồng thành 2 Gb/s?
Switch thường chọn member bằng hash từ các trường được hỗ trợ, chẳng hạn MAC, IP hoặc cổng transport. Các frame thuộc cùng khóa phân phối thường đi cùng member để hạn chế đảo thứ tự. Cách chọn trường và ánh xạ cụ thể phụ thuộc nền tảng; đừng suy từ một sơ đồ hash đơn giản rằng mọi switch dùng cùng công thức.
Hai link 1 Gb/s cho tổng dung lượng danh nghĩa 2 Gb/s mỗi chiều khi cả hai chuyển tiếp. Một luồng được ghim vào một member vẫn bị giới hạn bởi link 1 Gb/s, cùng overhead và các nút thắt khác. Bốn phiên sao lưu có thể cùng rơi vào một member nếu khóa hash giống hoặc va chạm, trong khi member còn lại nhàn. Một phép đo đơn luồng chưa đánh giá hết bundle.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.
Cả hai đầu chọn member cho chiều gửi của mình. Đường đi chiều về không bắt buộc dùng cùng sợi. Khi một member mất, ánh xạ có thể thay đổi, các luồng chuyển sang đường còn sống và tổng dung lượng giảm. Không cam kết mất thành viên là không mất gói: phát hiện lỗi, tái phân phối và tình trạng hàng đợi đều có tác động.
Ví dụ bốn luồng cùng cần 600 Mb/s tạo tổng nhu cầu 2,4 Gb/s. Kể cả phân phối lý tưởng trên hai link, nhu cầu đã vượt 2 Gb/s danh nghĩa. Nếu ba luồng cùng vào một member, nhánh đó nhận nhu cầu 1,8 Gb/s. Không nên kết luận “LACP hỏng” khi nguyên nhân là dung lượng hoặc hash; hãy đo delta counters từng member trong cùng khoảng thời gian.
4. Dựng bundle trong lab với cấu hình nhất quán
Trước khi cấu hình, lưu running-config, kiểm tra cổng trống, speed/duplex, các VLAN và đường quản trị. Thêm thành viên vào bundle đang phục vụ có thể làm thay đổi chuyển tiếp hoặc khiến cổng suspend nếu không tương thích. Thực hiện trong cửa sổ thay đổi; bản mẫu dưới dùng hai cổng đang shutdown và chưa nối vào lưu lượng production.
Áp dụng cấu hình tương ứng trên cả hai switch khi hai cổng vẫn shutdown. Native/allowed VLAN của các member và Port-channel1 phải thống nhất. Channel-group ID có ý nghĩa cục bộ; dùng số 1 ở cả hai bên giúp hồ sơ dễ đọc, không phải điều kiện giao thức bắt buộc.
! Minh họa cho lab mới, cấu hình tương ứng trên SW1 và SW2
configure terminal
interface range GigabitEthernet1/0/22 - 23
shutdown
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,999
channel-group 1 mode active
exit
interface Port-channel1
description LACP-SW1-SW2
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,999
no shutdown
end
Hai cổng vật lý đang shutdown nên chưa có dữ liệu hoặc thương lượng. Sau khi kiểm tra cấu hình và dây đúng hai đầu, mở member trong lab:
configure terminal
interface range GigabitEthernet1/0/22 - 23
no shutdown
end
Không bổ sung lệnh chọn encapsulation nếu model chỉ hỗ trợ 802.1Q và không có lệnh ấy. Nếu cổng có cấu hình cũ, cần rà soát ảnh hưởng rồi làm sạch theo quy trình riêng; tránh dùng default interface range hàng loạt khi chưa biết cấu hình nào sẽ bị xóa. Đổi allowed list trên hệ thống thật có thể loại VLAN đang chạy, cắt phiên quản trị ngay tại bước đó.
5. Đọc summary, neighbor và trunk cùng nhau
Bắt đầu bằng chuỗi lệnh đọc trạng thái, thay số group khi cần:
show etherchannel summary
show etherchannel 1 detail
show lacp neighbor
show interfaces Port-channel1
show interfaces trunk
show spanning-tree vlan 10
show interfaces counters errors
show etherchannel load-balance
Một dòng summary minh họa có thể là:
! Output biên tập, không phải kết quả đo trên switch thật
1 Po1(SU) LACP Gi1/0/22(P) Gi1/0/23(P)
Ở định dạng thường gặp này, S chỉ Layer 2, U chỉ port-channel đang được dùng, P chỉ member được gộp. Phải đọc legend trên thiết bị vì ký hiệu và output có thể khác. Hai chữ P là bằng chứng tốt hơn hai đèn link sáng, nhưng vẫn cần kiểm tra trunk mang VLAN 10/20 và STP cho phép chuyển tiếp.
Neighbor LACP phải thể hiện peer đúng với hồ sơ. Kiểm tra system ID và port ID để phát hiện dây đi sai thiết bị. Bảng MAC có thể học trên port-channel thay vì một member cụ thể; không coi đó là mất thông tin. Giữ phân biệt interface vật lý dùng để tìm lỗi cáp với interface logic dùng cho topology chuyển tiếp.
Nếu chỉ một VLAN lỗi, xem allowed list, VLAN active và trạng thái STP của VLAN ấy trên Po1. Nếu mọi VLAN đều lỗi và Po1 down, ưu tiên member, partner và cấu hình gộp. LACP up không chứng minh gateway, ACL hoặc đường routing phía sau đúng. Quay lại inter-VLAN routing khi các phép kiểm tra Layer 2 đã đạt.
6. Khoanh vùng member không vào nhóm và tải không đều
Với passive–passive, xác minh mode trước khi sửa các thông số khác. Với active nhưng không thấy neighbor, kiểm tra cáp, trạng thái cổng, peer có thật sự chạy LACP và port có nối đúng không. Trạng thái individual hoặc suspended cần đọc detail/log và hành vi của release, không tự suy rằng cổng ấy đang chuyển như một cổng độc lập.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.
Nếu một member có lỗi CRC tăng còn member kia sạch, giữ counters trước/sau một khoảng đo, đổi từng thành phần vật lý có kiểm soát như bài cáp và interface. Không xóa counters trước khi lưu mẫu. Link lỗi có thể làm ứng dụng chập chờn trong khi Po1 vẫn up nhờ member còn lại.
Nếu cả hai member đều P nhưng tải lệch, ghi thuật toán đang dùng, số nguồn/đích thực tế, thời gian đo và counters từng chiều. Không đổi hash toàn cục chỉ để làm đẹp một biểu đồ: thay đổi ấy có thể tái phân phối nhiều port-channel đang phục vụ. Mọi thử nghiệm thay hash cần xét phạm vi tác động của model và kế hoạch quay lại.
Cũng cần kiểm tra nguồn phát có đủ năng lực, máy đích có bị giới hạn đĩa/CPU và đường sau bundle có nghẽn không. Tải thấp ở member không tự chứng minh switch bỏ phí link. Chỉ so hai ảnh chụp counters tích lũy từ lúc khởi động sẽ dễ đánh giá sai lưu lượng đang diễn ra.
7. Nghiệm thu bằng điều kiện và phép thử có thể lặp lại
Trong lab, ghi trạng thái hai member, Po1, trunk và STP trước thử. Tạo nhiều luồng có nguồn/đích phù hợp để quan sát phân phối, đồng thời giữ một phép thử ứng dụng. Ngắt một member đã đánh dấu, ghi ảnh hưởng và dung lượng còn lại, sau đó khôi phục. Không thực hiện rút dây tùy tiện trên mạng thật. Nếu có chính sách min-links, bundle có thể xuống khi số member sống dưới ngưỡng dù còn dây hoạt động.
- Hai đầu logic và dây được xác minh; không gộp vào hai switch độc lập ngoài khả năng hỗ trợ.
- Member tương thích speed, duplex, mode trunk, native và allowed VLAN.
- Summary, neighbor, trunk và STP cùng xác nhận trạng thái mong đợi.
- Phép đo phân biệt một luồng với tổng nhiều luồng và lấy delta trong cùng khoảng.
- Hồ sơ giữ cấu hình trước/sau, tác động khi mất member và phần chưa thử.
Phần EtherChannel/LACP, hash và quy trình hiện hành là bổ sung ngoài phần STP của PDF; không gán các lệnh này cho trang sách không đề cập. Các số băng thông là ví dụ tính toán, không phải benchmark. Ba sơ đồ được vẽ mới và bìa là minh họa ý tưởng. Tiếp tục với CDP và LLDP để xác minh thiết bị và cổng bên kia trước khi sửa cấu hình.