Khắc phục sự cố Layer 3 EtherChannel
Trong các chương trước, chúng ta thường làm việc với Layer 2 EtherChannel, nơi nhiều switchport Layer 2 được gộp lại để tăng băng thông và dự phòng. Tuy nhiên, trong môi trường mạng doanh nghiệp hiện đại, đặc biệt tại lớp Distribution hoặc Core, EtherChannel không chỉ giới hạn ở Layer 2. Khi các cổng routed ports trên Layer 3 switch được gộp lại, chúng ta có Layer 3 EtherChannel.
Đây là một mô hình rất phổ biến trong thiết kế mạng campus và data center, nơi cần kết nối tốc độ cao giữa các switch Layer 3, đồng thời duy trì khả năng routing thay vì switching truyền thống.
Layer 3 EtherChannel là gì?
EtherChannel về bản chất là kỹ thuật gộp nhiều liên kết vật lý thành một liên kết logic duy nhất.
Ví dụ:
SW1 ================= SW2
Gi0/1
Gi0/2
Gi0/3
Gi0/4
Thay vì để bốn đường Gigabit Ethernet hoạt động riêng lẻ, EtherChannel gộp chúng lại thành:
Port-channel 1
Từ góc nhìn của hệ điều hành mạng:
Điều này mang lại nhiều lợi ích:
Nếu mỗi đường là:
1 Gbps
thì bốn đường có thể tạo thành:
4 Gbps logical link
(tùy cơ chế hashing và traffic pattern).
Điểm khác biệt quan trọng là trong Layer 3 EtherChannel, các cổng thành viên là routed ports, không phải switchports.
Routed Ports trong EtherChannel
Điều này cực kỳ quan trọng.
Layer 2 EtherChannel dùng:
switchport
Layer 3 EtherChannel dùng:
no switchport
Ví dụ:
interface GigabitEthernet1/0/5
no switchport
interface GigabitEthernet1/0/6
no switchport
Khi đó các cổng trở thành Layer 3 interfaces thực thụ.
Chúng:
Điều này khiến troubleshooting Layer 3 EtherChannel khác hoàn toàn Layer 2 EtherChannel.
Các lỗi thường gặp khi troubleshooting
Mismatched Port Configurations
Đây là lỗi phổ biến nhất.
Tất cả các cổng thành viên trong EtherChannel phải có cấu hình giống nhau.
Ví dụ:
Nếu Gi1/0/5:
speed 1000
duplex full
no switchport
thì Gi1/0/6 cũng phải giống vậy.
Nếu một cổng là:
switchport
và cổng kia là:
no switchport
EtherChannel sẽ không hình thành.
Điều tương tự áp dụng cho:
Điểm cần nhớ:
Trong Layer 3 EtherChannel, bạn không cần kiểm tra trunk mode, native VLAN, allowed VLAN, vì routed port không dùng các thông số này.
Thứ tự cấu hình rất quan trọng
Đây là điểm mà rất nhiều kỹ sư mới dễ mắc lỗi.
Trong Layer 2 EtherChannel, thứ tự cấu hình ít nhạy cảm hơn.
Nhưng Layer 3 EtherChannel thì khác.
Nếu bạn gõ:
channel-group 1 mode active
trước khi chuyển cổng sang routed mode:
no switchport
thì port-channel sẽ được tạo như một Layer 2 port-channel.
Điều này dẫn đến sai toàn bộ thiết kế.
Vì sao?
Cisco tự động tạo port-channel dựa trên trạng thái hiện tại của physical interfaces.
Nếu physical ports là switchports:
→ port-channel là Layer 2.
Nếu physical ports là routed ports:
→ port-channel là Layer 3.
Do đó trình tự đúng là:
Đầu tiên:
interface Gi1/0/5
no switchport
interface Gi1/0/6
no switchport
Sau đó:
channel-group 1 mode active
Hoặc tạo port-channel trước:
interface port-channel 1
no switchport
rồi mới thêm physical interfaces.
Đây là lỗi "order of operations" kinh điển.
EtherChannel Negotiation Mismatch
Hai switch phải dùng cùng cơ chế negotiation.
Cisco hỗ trợ ba lựa chọn:
PAgP
Cisco proprietary.
LACP
Chuẩn IEEE.
On
Static EtherChannel.
Không negotiation.
Compatibility logic
PAgP:
desirable + auto = OK
desirable + desirable = OK
auto + auto = FAIL
LACP:
active + passive = OK
active + active = OK
passive + passive = FAIL
Static:
on + on = OK
Mixed protocol:
PAgP + LACP = FAIL
LACP + on = FAIL
PAgP + on = FAIL
Ví dụ:
SW1:
channel-group 1 mode active
SW2:
channel-group 1 mode desirable
=> không thể hình thành.
Vì một bên nói LACP.
Một bên nói PAgP.
Load Balancing Algorithm
Ngay cả khi EtherChannel hình thành, hiệu năng vẫn có thể kém nếu thuật toán phân phối traffic không phù hợp.
EtherChannel không chia packet tuần tự từng link.
Nó dùng hashing algorithm.
Ví dụ hash dựa trên:
Nếu hash chỉ dựa trên destination MAC và toàn bộ traffic chỉ đi đến một server:
All traffic → same destination MAC
thì toàn bộ traffic có thể bị dồn vào một physical link.
Triệu chứng:
EtherChannel vẫn "up".
Nhưng performance rất tệ.
Kiểm tra EtherChannel
Lệnh quan trọng nhất:
show etherchannel summary
Ví dụ:
SW1# show etherchannel summary
Output:
Group Port-channel Protocol Ports
------+-------------+-----------+------------------------
1 Po1(RU) LACP Gi1/0/5(P) Gi1/0/6(P)
Giải thích output
Po1(RU)
R = Layer 3
U = In Use
Đây là trạng thái mong muốn.
Nghĩa là:
Protocol
LACP
Cho biết giao thức negotiation.
Port status
(P)
Nghĩa là:
Bundled in Port-channel
Đây là trạng thái tốt.
Các trạng thái lỗi cần nhớ
Nếu thấy:
D
Down.
Nếu thấy:
I
Standalone.
Port không join bundle.
Nếu thấy:
s
Suspended.
Nếu thấy:
u
Unsuitable for bundling.
Thường do mismatch config.
Nếu thấy:
w
Waiting to aggregate.
Negotiation chưa hoàn tất.
H
Nếu dùng LACP với hơn 8 ports:
H
Hot standby.
Các port này chờ dự phòng.
Quy trình troubleshooting thực chiến
Khi EtherChannel lỗi, bắt đầu bằng:
show etherchannel summary
Nếu không thấy:
RU
thì có vấn đề.
Sau đó kiểm tra từng interface:
show run interface gi1/0/5
show run interface gi1/0/6
Xác minh:
Kiểm tra port-channel:
show run interface port-channel 1
Kiểm tra load balancing:
show etherchannel load-balance
Kiểm tra trạng thái interface:
show ip interface brief
Kết luận
Layer 3 EtherChannel là công nghệ cực kỳ mạnh để tăng băng thông và khả năng dự phòng giữa các thiết bị Layer 3.
Tuy nhiên troubleshooting sẽ thất bại nếu không nhớ ba nguyên tắc quan trọng:
Thứ nhất, mọi cổng thành viên phải giống nhau.
Thứ hai, thứ tự cấu hình Layer 3 EtherChannel rất quan trọng.
Thứ ba, giao thức negotiation phải tương thích.
Nếu bạn thấy:
Po1(RU)
Gi1/0/5(P)
Gi1/0/6(P)
thì có thể yên tâm rằng EtherChannel của bạn đang hoạt động đúng.
Trong các chương trước, chúng ta thường làm việc với Layer 2 EtherChannel, nơi nhiều switchport Layer 2 được gộp lại để tăng băng thông và dự phòng. Tuy nhiên, trong môi trường mạng doanh nghiệp hiện đại, đặc biệt tại lớp Distribution hoặc Core, EtherChannel không chỉ giới hạn ở Layer 2. Khi các cổng routed ports trên Layer 3 switch được gộp lại, chúng ta có Layer 3 EtherChannel.
Đây là một mô hình rất phổ biến trong thiết kế mạng campus và data center, nơi cần kết nối tốc độ cao giữa các switch Layer 3, đồng thời duy trì khả năng routing thay vì switching truyền thống.
Layer 3 EtherChannel là gì?
EtherChannel về bản chất là kỹ thuật gộp nhiều liên kết vật lý thành một liên kết logic duy nhất.
Ví dụ:
SW1 ================= SW2
Gi0/1
Gi0/2
Gi0/3
Gi0/4
Thay vì để bốn đường Gigabit Ethernet hoạt động riêng lẻ, EtherChannel gộp chúng lại thành:
Port-channel 1
Từ góc nhìn của hệ điều hành mạng:
- không còn bốn interface độc lập
- chỉ còn một logical interface
Điều này mang lại nhiều lợi ích:
- tăng tổng băng thông
- dự phòng khi một link vật lý lỗi
- đơn giản hóa cấu hình routing
- cải thiện khả năng mở rộng
Nếu mỗi đường là:
1 Gbps
thì bốn đường có thể tạo thành:
4 Gbps logical link
(tùy cơ chế hashing và traffic pattern).
Điểm khác biệt quan trọng là trong Layer 3 EtherChannel, các cổng thành viên là routed ports, không phải switchports.
Routed Ports trong EtherChannel
Điều này cực kỳ quan trọng.
Layer 2 EtherChannel dùng:
switchport
Layer 3 EtherChannel dùng:
no switchport
Ví dụ:
interface GigabitEthernet1/0/5
no switchport
interface GigabitEthernet1/0/6
no switchport
Khi đó các cổng trở thành Layer 3 interfaces thực thụ.
Chúng:
- có thể routing
- không thuộc VLAN
- không quan tâm trunk/access
- không dùng STP như switchport
Điều này khiến troubleshooting Layer 3 EtherChannel khác hoàn toàn Layer 2 EtherChannel.
Các lỗi thường gặp khi troubleshooting
Mismatched Port Configurations
Đây là lỗi phổ biến nhất.
Tất cả các cổng thành viên trong EtherChannel phải có cấu hình giống nhau.
Ví dụ:
Nếu Gi1/0/5:
speed 1000
duplex full
no switchport
thì Gi1/0/6 cũng phải giống vậy.
Nếu một cổng là:
switchport
và cổng kia là:
no switchport
EtherChannel sẽ không hình thành.
Điều tương tự áp dụng cho:
- speed
- duplex
- MTU
- negotiation
- EtherChannel mode
Điểm cần nhớ:
Trong Layer 3 EtherChannel, bạn không cần kiểm tra trunk mode, native VLAN, allowed VLAN, vì routed port không dùng các thông số này.
Thứ tự cấu hình rất quan trọng
Đây là điểm mà rất nhiều kỹ sư mới dễ mắc lỗi.
Trong Layer 2 EtherChannel, thứ tự cấu hình ít nhạy cảm hơn.
Nhưng Layer 3 EtherChannel thì khác.
Nếu bạn gõ:
channel-group 1 mode active
trước khi chuyển cổng sang routed mode:
no switchport
thì port-channel sẽ được tạo như một Layer 2 port-channel.
Điều này dẫn đến sai toàn bộ thiết kế.
Vì sao?
Cisco tự động tạo port-channel dựa trên trạng thái hiện tại của physical interfaces.
Nếu physical ports là switchports:
→ port-channel là Layer 2.
Nếu physical ports là routed ports:
→ port-channel là Layer 3.
Do đó trình tự đúng là:
Đầu tiên:
interface Gi1/0/5
no switchport
interface Gi1/0/6
no switchport
Sau đó:
channel-group 1 mode active
Hoặc tạo port-channel trước:
interface port-channel 1
no switchport
rồi mới thêm physical interfaces.
Đây là lỗi "order of operations" kinh điển.
EtherChannel Negotiation Mismatch
Hai switch phải dùng cùng cơ chế negotiation.
Cisco hỗ trợ ba lựa chọn:
PAgP
Cisco proprietary.
LACP
Chuẩn IEEE.
On
Static EtherChannel.
Không negotiation.
Compatibility logic
PAgP:
desirable + auto = OK
desirable + desirable = OK
auto + auto = FAIL
LACP:
active + passive = OK
active + active = OK
passive + passive = FAIL
Static:
on + on = OK
Mixed protocol:
PAgP + LACP = FAIL
LACP + on = FAIL
PAgP + on = FAIL
Ví dụ:
SW1:
channel-group 1 mode active
SW2:
channel-group 1 mode desirable
=> không thể hình thành.
Vì một bên nói LACP.
Một bên nói PAgP.
Load Balancing Algorithm
Ngay cả khi EtherChannel hình thành, hiệu năng vẫn có thể kém nếu thuật toán phân phối traffic không phù hợp.
EtherChannel không chia packet tuần tự từng link.
Nó dùng hashing algorithm.
Ví dụ hash dựa trên:
- source MAC
- destination MAC
- source IP
- destination IP
- source/destination port
Nếu hash chỉ dựa trên destination MAC và toàn bộ traffic chỉ đi đến một server:
All traffic → same destination MAC
thì toàn bộ traffic có thể bị dồn vào một physical link.
Triệu chứng:
- một link 100% utilization
- link khác gần như idle
EtherChannel vẫn "up".
Nhưng performance rất tệ.
Kiểm tra EtherChannel
Lệnh quan trọng nhất:
show etherchannel summary
Ví dụ:
SW1# show etherchannel summary
Output:
Group Port-channel Protocol Ports
------+-------------+-----------+------------------------
1 Po1(RU) LACP Gi1/0/5(P) Gi1/0/6(P)
Giải thích output
Po1(RU)
R = Layer 3
U = In Use
Đây là trạng thái mong muốn.
Nghĩa là:
- EtherChannel là Layer 3
- đang hoạt động
Protocol
LACP
Cho biết giao thức negotiation.
Port status
(P)
Nghĩa là:
Bundled in Port-channel
Đây là trạng thái tốt.
Các trạng thái lỗi cần nhớ
Nếu thấy:
D
Down.
Nếu thấy:
I
Standalone.
Port không join bundle.
Nếu thấy:
s
Suspended.
Nếu thấy:
u
Unsuitable for bundling.
Thường do mismatch config.
Nếu thấy:
w
Waiting to aggregate.
Negotiation chưa hoàn tất.
H
Nếu dùng LACP với hơn 8 ports:
H
Hot standby.
Các port này chờ dự phòng.
Quy trình troubleshooting thực chiến
Khi EtherChannel lỗi, bắt đầu bằng:
show etherchannel summary
Nếu không thấy:
RU
thì có vấn đề.
Sau đó kiểm tra từng interface:
show run interface gi1/0/5
show run interface gi1/0/6
Xác minh:
- no switchport
- speed
- duplex
- MTU
- negotiation
Kiểm tra port-channel:
show run interface port-channel 1
Kiểm tra load balancing:
show etherchannel load-balance
Kiểm tra trạng thái interface:
show ip interface brief
Kết luận
Layer 3 EtherChannel là công nghệ cực kỳ mạnh để tăng băng thông và khả năng dự phòng giữa các thiết bị Layer 3.
Tuy nhiên troubleshooting sẽ thất bại nếu không nhớ ba nguyên tắc quan trọng:
Thứ nhất, mọi cổng thành viên phải giống nhau.
Thứ hai, thứ tự cấu hình Layer 3 EtherChannel rất quan trọng.
Thứ ba, giao thức negotiation phải tương thích.
Nếu bạn thấy:
Po1(RU)
Gi1/0/5(P)
Gi1/0/6(P)
thì có thể yên tâm rằng EtherChannel của bạn đang hoạt động đúng.