Tìm Hiểu Và Cấu Hình LACP (802.3ad) Trong Proxmox VE
1. Giới thiệu
Trong bài lab trước, chúng ta đã tìm hiểu Network Bonding và cấu hình chế độ Active-Backup. Ở chế độ này một card mạng sẽ hoạt động chính, card mạng còn lại là card dự phòng. Khi card mạng chính bị gặp sự cố thì sẽ được chuyển sang card dự phòng. Trong bài lab này vNode sẽ cùng các bạn tìm hiểu một chế độ bonding khác là LACP (802.3ad).
Bạn có thể tham khảo bài lab trước ở dưới đây:
LACP (Link Aggregation Control Protocol) là giao thức cho phép kết hợp nhiều đường truyền mạng vật lý thành một nhóm kết nối logic.
LACP được định nghĩa trong tiêu chuẩn IEEE 802.1AX, trước đây được biết đến với tên IEEE 802.3ad.
Thay vì sử dụng một card mạng chính và một card mạng dự phòng thì LACP cho phép nhiều card mạng cùng tham gia vào một nhóm liên kết để truyền dữ liệu
Ví dụ máy chủ có 2 card mạng vật lý:
- NIC 1: 1 Gbps
- NIC 2: 1 Gbps
Khi cấu hình LACP kết hợp 2 card mạng này thì theo lý thuyết có thể đạt được 2Gbps tổng băng thông.
Tuy nhiên, LACP không đảm bảo rằng một kết nối đơn lẻ có thể sử dụng toàn bộ băng thông 2 Gbps. Việc phân phối lưu lượng phụ thuộc vào thuật toán hashing và đặc điểm của luồng mạng. Một kết nối đơn lẻ thường vẫn chỉ sử dụng tối đa băng thông của một đường truyền vật lý.
2. LACP hoạt động như thế nào?
LACP hoạt động dựa trên việc các thiết bị mạng tự động trao đổi các gói tin điều khiển đặc biệt giữa hai đầu kết nối để thiết lập, duy trì và giải phóng nhóm liên kết.
Thông thường mô hình triển khai sẽ bao gồm:
- Máy chủ Proxmox có nhiều card vật lý.
- Switch có hỗ trợ Link Aggregation và LACP.
- Các cổng trên switch được cấu hình thuộc cùng nhóm LAG (Link Aggregation Group).

Trong mô hình trên 2 card mạng vật lý trên Proxmox sẽ được kết hợp thành một bonding interface. Cả 2 card mạng đều có thể tham gia truyền dữ liệu. Nếu một đường truyền bị lỗi, LACP có thể tiếp tục sử dụng đường truyền còn lại, miễn là nhóm liên kết vẫn còn một đường truyền hoạt động.
3. Cấu hình LACP trên Proxmox VE
Trong bài lab này, thay vì sử dụng Switch vật lý, chúng ta sử dụng một máy ảo Ubuntu Server trên VMware làm thiết bị đầu đối diện để thực hành LACP.
Ubuntu Server cũng sẽ được cấu hình Linux Bonding mode 802.3ad. Nhờ đó Proxmox và Ubuntu có thể trao đổi các gói tin LACP để kiểm tra quá trình thương lượng giữa 2 đầu.
Bước 1: Tạo Bonding interface
Đăng nhập giao diện quản trị Proxmox VE.
Truy cập như sau:
Node (1) > System > Network (2) > Create > Linux Bond (3)

Thiết lập các thông số như hình

Trong đó:
- Name: Tên của Bonding interface.
- Slaves: Các card mạng tham gia Bonding.
- Mode: Chọn 802.3ad để sử dụng LACP.
- Hash policy: Quy định cách phân phối lưu lượng giữa các đường truyền.
Bước 2: Tạo Linux Bridge
Sau khi tạo bond0, tiếp tục tạo Linux Bridge để kết nối máy ảo với nhóm Bonding.
Truy cập:
Node (1) > System > Network (2) > Create > Linux Bridge (3)

Điền bond0 vào phần Bridge ports.

Bước 3: Áp dụng cấu hình
Sau khi cấu hình, kiểm tra lại cấu hình mạng trước khi áp dụng.
Nếu đang truy cập Proxmox thông qua một trong những card mạng được thay đổi thì cần phải đặc biệt cẩn thận để tránh mất kết nối quản trị.
nhấn Apply Configuration để áp dụng cấu hình.
Khuyến nghị: Nên thực hiện trong khung giờ bảo trì và chuẩn bị phương án console nếu như cấu hình mạng gặp lỗi.

4. Kiểm tra trạng thái LACP
Sau khi cấu hình ở trên Proxmox và Ubuntu, chúng ta cần phải kiểm tra quá trình thương lượng LACP ở 2 đầu.
Chạy lệnh sau để kiểm tra:
vNode Tutorial
cat /proc/net/bonding/bond0
Trong đó một số thông tin cần lưu ý như sau:
- Bonding mode: Chế độ bonding đang sử dụng.
- Currently Active Aggregator Info: Thông tin Aggregator hiện tại
- Number of port: số cổng thuộc Aggregator.
- Slaves Interface: Danh sách card mạng tham gia.
- MII Status: Trạng thái kết nối của từng card mạng.
- Aggregator ID: ID của nhóm liên kết.



Tiếp đó ta kiểm tra thực hiện kiểm tra gói tin LACP bằng tcpdump
chạy lệnh sau ở trên cả Ubuntu và Proxmox server. Thay ens37 bằng interface thực tế mà bạn đang sử dụng:
vNode Tutorial
tcpdump -eni ens37 -vvv 'ether proto 0x8809'
Nếu bắt được các gói tin LACPDU. Bạn có thể quan sát quá trình trao đổi thông tin giữa 2 đầu.
5. Kiểm tra khả năng dự phòng
Sau khi xác nhận hai card mạng đã tham gia cùng một Aggregator, có thể kiểm tra khả năng duy trì kết nối khi một đường truyền gặp sự cố.
Tại đây mình sẽ sử dụng VM101 Ubuntu 24.04 chạy ping liên tục:
vNode Tutorial
ping 10.20.2.2
Trên Proxmox ngắt một card mạng thành viên của bond0:
vNode Tutorial
ip link set ens37 down
Quan sát kết quả ping, nếu như LACP hoạt động đúng thì:
- Có thể sẽ mất một vài gói trong thời gian chuyển đổi.
- Sau đó ping tiếp tục nhận phản hồi.
- Kết nối không bị gián đoạn hoàn toàn vì
ens38(card mạng còn lại) vẫn hoạt động

Kiểm tra trạng thái bonding ở trên Proxmox:
vNode Tutorial
cat /proc/net/bonding/bond0
- MII Status của card
ens37đã down - MII Status của card
ens38vẫn ở trạng thái up - Number of ports: 1



Tiếp đó khôi phục lại card mạng.
vNode Tutorial
ip link set ens37 up
Kiểm tra lại trạng thái bond0. Tương tự bạn cũng có thể làm với card mạng còn lại.
vNode Tutorial
cat /proc/net/bonding/bond0

6. Tổng kết
Trong lab này chúng ta đã thực hành cấu hình LACP (802.3ad) và cách sử dụng chế độ này trong Proxmox VE.
Đây là kiến thức nền tảng để triển khai hệ thống mạng có khả năng dự phòng và tối ưu băng thông trong môi trường Proxmox VE.
Tài liệu tham khảo:
