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.

network bonding

 

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.

network bonding

 

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.

Active Backup

 

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ại
  • ens37: Card mạng thứ nhất dùng để thực hành Bonding
  • ens38: Card mạng thứ hai dùng để thực hành Bonding

Ip Brlink

 

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)

Active Backup Create1

 

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.

Active Backup Config

 

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)

 

Create Vlan Aware

 

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.

Connect Bond0 Vmbr1

 

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

Apply Config

 

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

File Bonding

 

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

Ip Brlink1

 

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

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

Current Slave

 

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

Switch Card

 

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: