Saturday, January 18, 2025

Network Bonding trên Rocky Linux 9

-

1. Bonding là gì?

Bonding là một kỹ thuật kết hợp nhiều interface vật lý (NIC) thành một interface logic duy nhất. Điều này giúp tăng băng thông (tốc độ truyền dữ liệu), cải thiện độ ổn định và cung cấp tính dự phòng cho kết nối mạng.

Giả sử bạn có hai card mạng trên máy chủ. Khi kết hợp chúng thành một interface logic, hệ thống sẽ xem chúng như một card mạng duy nhất nhưng có khả năng truyền dữ liệu gấp đôi hoặc tự động chuyển đổi sang card còn lại khi một card bị lỗi.

2. Tại sao cần Bonding?

  • Tăng băng thông: Tận dụng tối đa băng thông của nhiều interface để truyền dữ liệu với tốc độ cao hơn.
  • Tăng độ ổn định: Nếu một interface gặp sự cố, các interface còn lại trong bonding sẽ tiếp tục hoạt động, đảm bảo dịch vụ không bị gián đoạn.
  • Cân bằng tải: Phân phối lưu lượng truy cập đều lên các interface, giảm tải cho từng interface.

3. Các bước cấu hình bonding trên Rocky Linux 9.

Cài đặt các gói cần thiết.

Đầu tiên hãy cập nhật danh sách gói hệ thống.

# Update your package repository
sudo dnf update

Cài đặt kernel-modules-extra để cung cấp các module kernel bổ sung cho các tính năng nâng cao, bao gồm Network Bonding.

# Install the bonding driver and utilities
sudo dnf install kernel-modules-extra

Cài đặt ifenslave, đây là công cụ quản lý các interface slave trong bonding.

# Install the bonding driver and utilities
sudo dnf install ifenslave

Sử dụng lệnh modprobe để load module bonding vào kernel để kích hoạt tính năng Network Bonding.

# Load the bonding module
sudo modprobe bonding

Thư mục chứa file cấu hình interface.

Bạn hãy điều hướng đến thư mục /etc/sysconfig/network-scripts/, đây là nơi chứa các file cấu hình network cho từng interface, bạn có thể sẽ cần tạo hoặc sửa đổi các file cấu hình này.

# Navigate to the network-scripts directory
cd /etc/sysconfig/network-scripts/

Cấu hình interface member.

Sửa đổi các file cấu hình ifcfg-eth0, ifcfg-eth1, … (tên file có thể khác với từng hệ thống).

  • Các thông số quan trọng:
    • DEVICE: Tên interface.
    • ONBOOT: Kích hoạt tự động khi khởi động hệ thống.
    • MASTER: Là tên của Interface mà interface này sẽ tham gia là thành viên của bonding.
    • SLAVE: Khi cấu hình SLAVE=yes, ám chỉ interface này là một thành phần của bonding.

Ví dụ đây là 1 config trên eth0.

# ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes

Với tham số trên chúng ta có thể hiểu eth0 đang có ONBOOT=yes tức là nó sẽ tự khởi động theo hệ thống, MASTER=bond0 tức là interface này sẽ tham gia bonding (là thành viên của card mạng logic có tên là bond0), SLAVE=yes tức là interface này là 1 member của 1 bonding rồi nên không sử dụng cho mục đích khác nữa.

Cấu hình interface bonding.

Tạo file ifcfg-bond0 (tên này có thể tùy chọn nhưng trong interface member cần phải trỏ đúng tên của interface bonding mà nó tham gia).

  • Các thông số quan trọng:
    • DEVICE: Tên interface.
    • TYPE: Loại interface, ở đây chúng ta sẽ chọn interface là Bond (lý do chúng ta đang muốn bonding interface).
    • BONDING_MASTER: Chỉ định đây là interface master của bonding.
    • IPADDR, PREFIX: Địa chỉ IP và subnet mask.
    • BONDING_OPTS: Các tùy chọn cấu hình bonding, ví dụ:
      • mode: Chế độ hoạt động của bonding (balance-rr, active-backup, …).
      • miimon: Khoảng thời gian (mili giây) để kiểm tra trạng thái của các slave.

Khởi động lại dịch vụ network.

systemctl restart NetworkManager.service

Kiểm tra trạng thái bonding.

cat /proc/net/bonding/bond0

Dưới đây là toàn bộ cấu hình của 1 bonding.

# ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes

# ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes

# ifcfg-bond0
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.1.10
PREFIX=24
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=balance-rr miimon=100"

Hy vọng với qua bài viết này, bạn đã hiểu rõ hơn về cách cấu hình Network Bonding trên Rocky Linux 9.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories