Hướng Dẫn Cấu Hình Bonding Trên Linux

by Mạnh Hoàng
Hướng Dẫn Cấu Hình Bonding Trên Linux

Bonding mạng (network bonding) là kỹ thuật kết hợp nhiều interface vật lý thành một interface logic (bondX), giúp tăng tốc độ truyền tải, cân bằng tải, hoặc đảm bảo dự phòng khi một cổng gặp sự cố.

Bài viết này sẽ hướng dẫn bạn cấu hình bonding cho các hệ điều hành phổ biến: Ubuntu, CentOS/RHEL 7/8/9, Debian.

Lợi Ích Khi Sử Dụng Network Bonding

  • Tăng băng thông tổng hợp từ nhiều cổng vật lý.

  • Cân bằng tải (Load Balancing) giữa nhiều interface.

  • High Availability: Dự phòng khi một interface bị lỗi.

  • Ổn định kết nối mạng, phù hợp cho server production.

Cấu Hình Bonding Trên Ubuntu 18.04/20.04/22.04+ (Netplan)

Ubuntu hiện đại sử dụng Netplan để quản lý mạng. Cấu hình bonding được khai báo rõ ràng trong YAML.

Ví dụ cấu hình /etc/netplan/01-netcfg.yaml:

network:
  version: 2
  ethernets:
    enp4s0f0:
      dhcp4: false
      optional: true
    enp4s0f1:
      dhcp4: false
      optional: true
  bonds:
    bond0:
      interfaces: [enp4s0f0, enp4s0f1]
      addresses: [172.10.30.9/24]
      gateway4: 172.10.30.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      mtu: 9000
      parameters:
        mode: 802.3ad
        lacp-rate: fast
        mii-monitor-interval: 100

Áp dụng cấu hình:

sudo netplan apply

Lưu ý: Bạn cần switch hỗ trợ LACP (802.3ad) và đã cấu hình trunk/aggregation ở phía switch.

Cấu Hình Bonding Trên CentOS/RHEL 7/8/9

Cách 1: Sử dụng file cấu hình ifcfg-* (CentOS 7)

File cấu hình bond0: /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=none
IPADDR=172.10.30.9
PREFIX=24
GATEWAY=172.10.30.1
DNS1=8.8.8.8
ONBOOT=yes
BONDING_OPTS="mode=802.3ad miimon=100 lacp_rate=fast"

File cấu hình cho slave: /etc/sysconfig/network-scripts/ifcfg-enp4s0f0

DEVICE=enp4s0f0
NAME=enp4s0f0
TYPE=Ethernet
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

→ Tương tự cho enp4s0f1.

Khởi động lại mạng:

sudo systemctl restart network

Cách 2: Sử dụng nmcli (RHEL 8/9)

nmcli con add type bond ifname bond0 mode 802.3ad
nmcli con add type ethernet ifname enp4s0f0 master bond0
nmcli con add type ethernet ifname enp4s0f1 master bond0
nmcli con mod bond0 ipv4.addresses 172.10.30.9/24
nmcli con mod bond0 ipv4.gateway 172.10.30.1
nmcli con mod bond0 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con mod bond0 ipv4.method manual
nmcli con up bond0

Cấu Hình Bonding Trên Debian

Sửa file /etc/network/interfaces:

auto bond0
iface bond0 inet static
  address 172.10.30.9
  netmask 255.255.255.0
  gateway 172.10.30.1
  dns-nameservers 8.8.8.8 8.8.4.4
  bond-slaves enp4s0f0 enp4s0f1
  bond-mode 802.3ad
  bond-miimon 100
  bond-lacp-rate fast

auto enp4s0f0
iface enp4s0f0 inet manual
  bond-master bond0

auto enp4s0f1
iface enp4s0f1 inet manual
  bond-master bond0

Khởi động lại mạng:

sudo systemctl restart networking

Kiểm Tra Trạng Thái Bonding

cat /proc/net/bonding/bond0

Bạn sẽ thấy trạng thái từng interface, tốc độ liên kết và trạng thái kết nối của từng port.

Một Số Chế Độ Bonding Phổ Biến

Mode Mô Tả Yêu cầu switch
0 (round-robin) Cân bằng tải Không
1 (active-backup) Dự phòng Không
2 (balance-xor) XOR
4 (802.3ad) LACP ✅ Cần cấu hình switch
5 (balance-tlb) Adaptive transmit load balancing Không

Kết Luận

Cấu hình bonding mạng là bước quan trọng giúp nâng cao hiệu suất và độ tin cậy cho hệ thống Linux server. Dù bạn dùng Ubuntu với Netplan, hay CentOS/RHEL với ifcfg/nmcli, hay Debian với interfaces, đều có cách cấu hình bonding hiệu quả.

Related Posts

Leave a Comment