Network Bonding Tìm Hiểu Và Cấu Hình
1. Giới thiệu
Network Bonding là kỹ thuật kết hợp hai hoặc nhiều mạng card mạng vật lý (Network Interface Card – NIC) thành một giao diện mạng logic duy nhất.
Thay vì sử dụng từng card mạng riêng biệt, hệ điều hành sẽ quản lý các card mạng này thông qua một giao diện Bonding.
Ví dụ một Proxmox Host có 2 card mạng vật lý:
NIC 1: nic0.
NIC 2: nic1.
Chúng ta có thể kết hợp hai card mạng này thành một giao diện Bonding có tên là bond0. Khi đó bond0 sẽ đóng vai trò là giao diện mạng logic để kết nối với Linux Bridge hoặc sử dụng cho các mục đích khác.
Một số lợi ích của Network Bonding:
- Dự phòng kết nối (Redundancy): Khi một card mạng gặp sự cố, card mạng còn lại có thể tiếp tục duy trì kết nối, tùy thuộc vào chế độ bonding.
- Tăng băng thông: Một số chế độ Bonding cho phép phân phối lưu lượng qua nhiều card mạng.
- Quản lý tập trung: Nhiều card mạng vật lý được quản lý thông qua một giao diện logic.
2. Các chế độ Network Bonding phổ biến
2.1. Balance-RR (Mode 0)
Phân phối gói tin lần lượt đi qua từng card mạng trong Bonding.
Ví dụ:
- Gói tin 1 đi qua NIC 1.
- Gói tin 2 đi qua NIC 2.
- Gói tin 3 tiếp tục đi qua NIC 1.
Ưu điểm:
- Có thể tận dụng nhiều card mạng để phân phối lưu lượng.
- Có khả năng tăng băng thông.
Nhược điểm:
- Có nguy cơ gói tin đến sai thứ tự.
- Có thể gây vấn đề với một số Switch nếu cấu hình không phù hợp.

2.2. Active-Backup (Mode 1)
Đây là chế độ thườn được sử dụng khi cần dự phòng kết nối mạng.
Trong chế độ này tại thời điểm chỉ có một card mạng hoạt động chính (Active), các card mạng còn lại ở trạng thái dự phòng (Backup).
Khi card mạng gặp sự cố, hệ thống sẽ chuyển sang card mạng dự phòng.
Ưu điểm:
- Không yêu cầu Switch hỗ trợ Link Aggregation.
- Có khả năng duy trì kết nối khi một card mạng gặp sự cố.
Nhược điểm:
- Không gộp băng thông của card mạng.
- Tại một thời điểm, lưu lượng chủ yếu đi qua một card mạng.

2.3. Balance-XOR (Mode 2)
Chế độ này giúp cân bằng tải, vừa cung cấp khả năng chịu lỗi bằng cách phân phối lưu lượng dựa trên thuật toán băm XOR.
Các gói tin cùng một luồng thường được chuyển qua cùng một card mạng.
Ưu điểm:
- Phân phối lưu lượng qua nhiều card mạng.
- Tăng tổng băng thông khi có nhiều luồng kết nối.
Nhược điểm:
- Cần cấu hình phù hợp với Switch.
- Không đảm bảo một kết nối đơn lẻ sử dụng toàn bộ băng thông của các card mạng.
2.4 802.3ad – LACP (Mode 4)
Đây là chế độ sử dụng giao thức LACP (Link Aggregation Control Protocol) theo chuẩn IEEE 802.3ad, hiện được tích hợp trong chuẩn IEEE 802.1AX.
LACP cho phép nhiều kết nối vật lý được kết hợp thành một nhóm liên kết logic giữa máy chủ và Switch.
Ưu điểm:
- Phân phối lưu lượng qua nhiều đường truyền.
- Có khả năng phát hiện và xử lý trạng thái liên kết.
Nhược điểm:
- Switch phải hỗ trợ LACP.
- Cần cấu hình Link Aggregation tương ứng trên Switch.
3. Mô hình triển khai Lab
Trong bài lab này chúng ta sẽ thực hành cấu hình Network Bonding theo chế độ Active-Backup trên Proxmox VE.
3.1. Sơ đồ mô hình
Mô hình gồm:
- Proxmox Host.
- NIC 1: ens37.
- NIC 2: ens38.
- Bonding Interface: bond0.
- Linux Bridge: vmbr1.
- Máy ảo VM 101 kết nối thông qua vmbr1.

3.2. Thông tin cấu hình
| Thành phần | Cấu hình |
| Proxmox Host | PVE |
| Card mạng 1 | ens37 |
| Card mạng 2 | ens38 |
| Bonding Interface | bond0 |
| Bonding Mode | Active-Backup |
| Primary NIC | nic1 |
| Linux bridge | vmbr1 |
| VM kiểm tra | VM 101 |
Điều kiện để thực hiện:
- Proxmox cần có ít nhất 2 card mạng.
- Hai card mạng phải được hệ điều hành nhận diện.
- Vì đang chạy Proxmox bên trong VMware, nên có thể thêm 2 Network Adapter vào máy để thực hành.
4. Các bước thực hiện cấu hình Network Bonding
Bước 1: Kiểm tra các card mạng hiện có
Trên Proxmox chạy lệnh dưới đây:
vNode Tutorial
ip -br link
Lệnh này sẽ hiển thị danh sách card mạng và trạng thái hoạt động. Trong đó
nic0: Card mạng đang sử dụng cho kết nối hiện tạiens37: Card mạng thứ nhất dùng để thực hành Bondingens38: Card mạng thứ hai dùng để thực hành Bonding

Bước 2: Tạo Network Bonding Trên Proxmox
Đầu tiên truy cập giao diện quản trị Proxmox
Truy cập lần lượt như sau: Node (1) > System > Network (2) > Create > Linux Bond (3)

Thiết lập các thông số như sau:
- Name:
bond0 - Autostart: enable
- Slaves: Điền tên 2 card mạng của bạn
- Mode: active-backup
- bond-primary: Chọn card mạng làm card mạng active
Trong cấu hình này thì card mạng ens37 là card mạng chính và ens38 là card mạng dự phòng. Sau khi cấu hình xong thì bấm Create để tạo.

Bước 3: Tạo Linux Bridge sử dụng bond0
Sau khi tạo bond0, chúng ta cần kết nối giao diện Bonding với Linux Bridge để máy ảo có thể sử dụng kết nối mạng này
Truy cập lần lượt như sau: Node (1) > System > Network (2) > Create > Linux Bridge (3)

Trong trang tạo Linux Bridge phần Bridge ports điền bond0 để kết nối với bonding mà vừa tạo. Sau khi cấu hình xong thì bấm Create để tạo.

Giải thích: bond0 kết hợp hai card mạng vật lý thành một giao diện logic. vmbr1 sử dụng giao diện này làm cổng kết nối, cho phép máy ảo truy cập thông qua Bonding.
5. Áp dụng cấu hình mạng
Sau khi hoàn tất các bước trên, kiểm tra cấu hình trước khi áp dụng.
Có thể kiểm tra file cấu hình bằng lệnh dưới đây.
vNode Tutorial
cat /etc/network/interfaces

Sau khi kiểm tra cấu hình, nhấn Apply Configuration trên giao diện Proxmox để áp dụng
Lưu ý: Không thay đổi trực tiếp Bridge đang phục vụ kết nối quản trị nếu chưa có phương án truy cập console dự phòng. Việc áp dụng cấu hình mạng sai có thể làm mất kết nối đến Proxmox Host.
Bước 1: Kiểm tra trạng thái Bonding
vNode Tutorial
cat /proc/net/bonding/bond0

Các thông tin cần chú ý:
- Bonding Mode: Chế độ Bonding đang sử dụng.
- Primary Slave: Card mạng được ưu tiên.
- Current Active Slave: Card mạng đang truyền dữ liệu.
- MII Status: Trạng thái liên kết của Bonding và các card mạng thành viên.
Bước 2: Kiểm tra trạng thái các giao diện mạng
Thực hiện kiểm tra:
vNode Tutorial
ip -br link

Kiểm tra cấu trúc bridge. Xác nhận bond0 đang hoạt động và vmbr1 đã kết nối với bond0.
vNode Tutorial
bridge link

Bước 3: Kiểm tra khả năng chuyển đổi khi NIC gặp sự cố
Ban đầu kiểm tra trạng thái card mạng đang hoạt động như ở trong ảnh đó là Currently Active Slave: ens37
vNode Tutorial
cat /proc/net/bonding/bond0

Tiếp đó ta mô phỏng sự cố bằng cách tắt card mạng chính:
vNode Tutorial
ip link set ens37 down
Sau khi tắt card mạng chính thì kiểm tra lại bằng lệnh. Kết quả Currently Active Slave: ens38
vNode Tutorial
cat /proc/net/bonding/bond0

Khi card mạng chính active (ens37) bị mất kết nối thì chuyển sang sử dụng card mạng backup (ens38). Sau đó bật lại card và kiểm tra lại nếu như ens37 được bật lại thì hệ thống sẽ tự động chuyển lại card mạng này
vNode Tutorial
ip link set ens38 up
6. Kết luận
Qua lab này chúng ta đã tìm hiểu về Network Bonding và kết hợp nhiều card mạng vật lý thành giao diện mạng logic trong Proxmox VE.
Tài liệu tham khảo:
Tham khảo thêm các tài liệu Proxmox dưới đây:
