為了消除單網卡故障導致的服務中斷,並提升網絡吞吐,生產環境常將多塊物理網卡綁定為一張虛擬 bond0 接口。本文以 RHEL 6(CentOS 6 同適用)為例,詳細記錄 4 張網卡 mode=1 (active-backup) 高可用模式的完整配置步驟、關鍵參數解釋、服務衝突處理與驗證測試方法。
eth1–eth4(本文示例),雙網卡同理NetworkManager(會干擾 bonding)ifconfig -a
# 或
ls /sys/class/net/
假設識別為 eth1、eth2、eth3、eth4。
ifcfg-ethXDEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
依次編輯 ifcfg-eth1 至 ifcfg-eth4,僅 DEVICE 不同,MASTER 指向同一 bond0。
ifcfg-bond0DEVICE=bond0
USERCTL=no
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.2.1.123
NETMASK=255.255.255.0
GATEWAY=10.2.1.1
BONDING_OPTS="miimon=80 mode=1"
關鍵參數解析:
miimon=80:每 80ms 檢測一次鏈路狀態(單位毫秒)mode=1:active-backup(主備),僅一張網卡工作,其餘熱備,提供高可用;mode=0 為 round-robin 負載均衡(需交換機支持)。Bond 共有 7 種模式(0-6),生產最常用 0/1。/etc/modprobe.d/bonding.confalias bond0 bonding
確保開機自動加載 bonding 模塊並關聯 bond0。
service NetworkManager stop
chkconfig NetworkManager off
service network restart
ifconfig -a
# 應看到 IP 配置在 bond0,物理網卡無 IP、旗標含 MASTER/SLAVE
cat /proc/net/bonding/bond0
# 關鍵輸出:
# Bonding Mode: fault-tolerance (active-backup)
# Currently Active Slave: eth1
# MII Status: up
ping bond0 IPifdown eth1 模擬主網卡故障cat /proc/net/bonding/bond0 確認 Currently Active Slave 已變更BONDING_OPTS 引號、miimon 數值、模塊是否加載(lsmod | grep bonding)bond0.100 等子接口,而非物理網卡Bonding 是 Linux 實現網絡高可用的標準方案。mode=1 主備模式配置最簡單、兼容性最好、無需交換機支持,是絕多數生產環境首選。按本文步驟操作,可在 10 分鐘內完成 4 網卡綁定並通過故障測試。