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ặc netplan, hoặc nmcli.
    • Trên Windows: dùng NIC Teaming trong Server Manager.
  • 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):

  1. 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).
  2. Định nghĩa domain MLAG (tùy nhà sản xuất như Arista, Dell, Cumulus, etc.).
  3. 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.
  4. Đồ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