
LACP và MLAG
LACP và MLAG
1. Giới thiệu về công nghệ LACP
LACP (Link Aggregation Control Protocol) là một phần của tiêu chuẩn IEEE 802.3ad (nay là IEEE 802.1AX) dùng để gộp nhiều đường truyền vật lý (links) thành một kết nối logic duy nhất gọi là EtherChannel hoặc Link Aggregation Group (LAG). Điều này giúp:
- Tăng băng thông tổng thể.
- Tăng tính dự phòng (redundancy).
- Phân tải lưu lượng giữa các link vật lý.
Hoạt động gồm 3 phần chính:
Thành phần | Vai trò |
---|---|
Actor | Thiết bị chủ động khởi tạo LACP (gửi LACPDU). |
Partner | Thiết bị phía đối diện tham gia LAG. |
LACPDU (LACP Data Units) | Gói tin được gửi định kỳ (mặc định 30s hoặc 1s ở chế độ fast) để duy trì và đồng bộ trạng thái kết nối. |
Ưu điểm:
- Tăng băng thông tổng hợp.
- Cung cấp tính sẵn sàng cao (redundancy).
- Đảm bảo phân tải lưu lượng (load balancing).
- Không gây loop trong mạng.
Các chế độ hoạt động trong LACP
Thiết bị A | Thiết bị B | Kết quả |
---|---|---|
active | active | ✅ OK (LACP đàm phán hai chiều) |
active | passive | ✅ OK (một bên chủ động là đủ) |
passive | passive | ❌ Fail (không ai khởi tạo) |
Active: Gửi LACPDU và sẵn sàng đàm phán.
Passive: Chờ đợi nhận LACPDU từ phía đối tác.
Load Balancing trong LACP
Lưu lượng giữa các link vật lý trong LAG không chia đều theo băng thông, mà chia theo thuật toán băm (hashing) dựa trên một số trường trong gói tin:
Ví dụ:
Tiêu chí băm | Ứng dụng phổ biến |
---|---|
Src MAC, Dst MAC | Giữ tính cân bằng trong L2 |
Src IP, Dst IP | Tốt trong môi trường L3 |
TCP/UDP Port | Cân bằng ở lớp ứng dụng |
LACP vs Static EtherChannel
Ngoài việc sử dụng cơ chế đàm phán động LACP, có thể gom “cứng” các link thành Boding/Port-channel theo cơ chế tĩnh (Static EtherChannel), có chế tĩnh thường sử dụng với thiết bị đầu cuối không hỗ trợ LACP, ví dụ: vMWare standard switch.
Tiêu chí | LACP | Static EtherChannel |
---|---|---|
Dynamic negotiation | ✅ Có (LACPDU) | ❌ Không |
Tự động phát hiện lỗi | ✅ | ❌ |
Đề xuất trong sản xuất | ✅ Rất nên dùng | Chỉ dùng nếu đặc thù |
2. MLAG và vai trò trong kết nối với máy chủ
MLAG (Multi-Chassis Link Aggregation Group) là một kỹ thuật mở rộng LACP, cho phép hai switch vật lý hoạt động như một switch logic đối với các thiết bị downstream (ví dụ như server).
Lợi ích:
- Không cần thiết bị trung tâm như stack hoặc chassis switch.
- Tăng khả năng sẵn sàng (high availability) vì mỗi switch có thể hoạt động độc lập.
- Máy chủ vẫn có thể sử dụng LACP để gộp các kết nối về cả hai switch.
3. Triển khai kết nối giữa MLAG và máy chủ
a. Mô hình triển khai:
+-------------------+
| Server |
| Bond0 (LACP mode)|
+--------+----------+
|
+---------+----------+
| |
+--------+--------+ +--------+--------+
| Switch A | | Switch B |
| (MLAG Member) | | (MLAG Member) |
+-----------------+ +-----------------+
b. Các bước cấu hình tổng quan:
Trên server:
- Cấu hình bonding hoặc teaming với mode LACP (802.3ad)/ Mode 4
- Trên Linux:
/etc/network/interfaces
hoặcnetplan
, hoặcnmcli
. - Trên Windows: dùng NIC Teaming trong Server Manager.
- Trên Linux:
- Các chế độ liên kết
Chế độ liên kết | Cấu hình trên switch |
---|---|
0 -balance-rr |
Yêu cầu bật EtherChannel tĩnh, không phải Giao thức điều khiển tổng hợp liên kết (LACP) đã được đàm phán. |
1 -active-backup |
Không cần cấu hình trên thiết bị chuyển mạch. |
2 -balance-xor |
Yêu cầu bật EtherChannel tĩnh, không phải đàm phán LACP. |
3 -broadcast |
Yêu cầu bật EtherChannel tĩnh, không phải đàm phán LACP. |
4 -802.3ad |
Yêu cầu phải bật EtherChannel được đàm phán bằng LACP. |
5 -balance-tlb |
Không cần cấu hình trên thiết bị chuyển mạch. |
6 -balance-alb |
Không cần cấu hình trên thiết bị chuyển mạch. |
Trên Switch A và B (MLAG):
- Tạo MLAG peer link giữa hai switch (với VLAN riêng, thường là cáp direct-connect hoặc qua L2).
- Định nghĩa domain MLAG (tùy nhà sản xuất như Arista, Dell, Cumulus, etc.).
- Cấu hình cổng kết nối đến máy chủ như là một LACP port-channel (LAG) và đánh dấu là một MLAG interface.
- Đồng bộ hóa MAC, ARP, STP giữa các switch thông qua peer link.
Lưu ý:
- Không nên bật STP trên port MLAG để máy chủ, hoặc bật ở chế độ edge/portfast.
- Kiểm tra kỹ MTU nếu có peer-link sử dụng VXLAN hoặc vPC keepalive.
4. Mẫu cấu hình
Dưới đây là ví dụ cấu hình MLAG trên switch Arista (EOS) để kết nối với một máy chủ sử dụng LACP:
Mô hình mạng đơn giản:
+-------------------+
| Server |
| Bond0 (LACP) |
+--------+----------+
|
+--------+--------+
| Switch A (MLAG) |
+--------+--------+
|
+--------+--------+
| Switch B (MLAG) |
+-----------------+
- Ethernet1 trên mỗi switch kết nối đến máy chủ.
- Ethernet49 trên mỗi switch là peer-link (kết nối giữa 2 switch MLAG).
- Sử dụng VLAN 4094 cho peer-link và MLAG domain.
Cấu hình trên Switch A (MLAG)
hostname SwitchA
!
interface Ethernet49
description MLAG Peer Link to SwitchB
switchport mode trunk
channel-group 100 mode active
!
interface Port-Channel100
description MLAG Peer Link
switchport mode trunk
mtu 9214
!
vlan 4094
name MLAG-peer
!
interface Vlan4094
description MLAG Peer Keepalive
ip address 10.0.0.1/30
!
mlag configuration
domain-id MLAG-DOMAIN
local-interface Vlan4094
peer-address 10.0.0.2
peer-link Port-Channel100
reload-delay mlag 300
!
interface Ethernet1
channel-group 1 mode active
!
vlan 24
name LAN
!
interface Vlan 24
description LAN
ip address 172.16.24.11/24
ip virtual-router address 172.16.24.1
!
interface Port-Channel1
description Connection to Server
switchport mode trunk
mlag 1
Cấu hình trên Switch B (MLAG)
hostname SwitchB
!
interface Ethernet49
description MLAG Peer Link to SwitchA
switchport mode trunk
channel-group 100 mode active
!
interface Port-Channel100
description MLAG Peer Link
switchport mode trunk
mtu 9214
!
vlan 4094
name MLAG-peer
!
interface Vlan4094
description MLAG Peer Keepalive
ip address 10.0.0.2/30
!
mlag configuration
domain-id MLAG-DOMAIN
local-interface Vlan4094
peer-address 10.0.0.1
peer-link Port-Channel100
reload-delay mlag 300
!
interface Ethernet1
channel-group 1 mode active
!
vlan 24
name LAN
!
interface Vlan 24
description LAN
ip address 172.16.24.12/24
ip virtual-router address 172.16.24.1
!
interface Port-Channel1
description Connection to Server
switchport mode trunk
mlag 1
Cấu hình trên máy chủ Linux (bonding - 802.3ad):
network:
bonds:
bond0:
interfaces:
- ens3
- ens4
parameters:
lacp-rate: fast
mode: 802.3ad
transmit-hash-policy: layer3+4
ethernets:
ens3: {}
ens4: {}
version: 2
vlans:
bond0.24:
addresses:
- 172.16.24.205/24
id: 24
link: bond0
nameservers:
addresses:
- 8.8.8.8
# search: []
routes:
- to: default
via: 172.16.24.1
Kiểm tra trạng thái MLAG trên switch
show mlag
show mlag interfaces
Kiểm tra trạng thái Bonding trên máy chủ
# cat /proc/net/bonding/bond0