RedHat Linux 5 雙網路卡繫結

jacksonkingdom發表於2010-12-09

參考: /usr/share/doc/kernel-doc-2.6.18/Documentation/networking/bonding.txt

1:首先要看linux是否支援bonding.(2.4版本大部分發行版都支援)

# modinfo bonding

沒有,說明核心不支援bonding,重新編譯核心

編譯核心的步驟這裡就不多寫了,make menuconfig裡面

找到Bonding driver support這樣的對話方塊,選中它.

如果是模組編譯,還需要掛載模組.掛載bonding 模組的方法;

[root@localhost#] modprobe bonding

如果/sbin/ifenslave沒有,我們還需要把它也單獨編譯出來

[root@lin:/home/beinan#] cd /usr/src/linux-2.6.20/Documentation/networking

[root@lin:/home/networking#] gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux-2.6.20/include ifenslave.c -o ifenslave

[root@lin:/home/networking#] cp ifenslave /sbin/ifenslave新建/etc/sysconfig/network-scripts/ifcfg-bond0檔案
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.128.225
NETMASK=255.255.255.224
GATEWAY=192.168.128.233
USERCTL=no

2.更改/etc/sysconfig/network-scripts/ifcfg-eth0屬性
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no

3.
更改/etc/sysconfig/network-scripts/ifcfg-eth1網路卡的屬性
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no

4.
編輯/etc/modprobe.conf檔案,加入以下內容
alias bond0 bonding
options bond0 miimon=100 mode=0

說明:miimon是用來進行鏈路監測的。 比如:miimon=100,那麼系統每100ms監測一次鏈路連線狀態,如果有一條線路不通就轉入另一條線路;mode的值表示工作模式,他共有01,2,3四種模式,常用的為0,1兩種。

mode=0表示load balancing (round-robin)為負載均衡方式,兩塊網路卡都工作。

mode=1表示fault-tolerance (active-backup)提供冗餘功能,工作方式是主備的工作方式,也就是說預設情況下只有一塊網路卡工作,另一塊做備份.

需要說明的是如果想做成負載均衡,僅僅設定這裡options bond0 miimon=100 mode=0是不夠的,還需要設定交換機的埠.

mode 0bond所繫結的網路卡的IP都被修改成一樣的mac地址,如果這些網路卡都被接在同一個交換機,那麼交換機的arp表裡這個mac地址對應的埠就有多個,那麼交換機接受到發往這個mac地址的包應該往哪個埠轉發呢?正常情況下mac地址是全球唯一的,一個mac地址對應多個埠肯定使交換機迷惑了。

5.加入/etc/rc.d/rc.local啟動項
ifenslave bond0 eth0 eth1

6.
啟動網路卡
ifconfig bond0 192.168.128.225 up
ifenslave bond0 eth0 eth1

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23590362/viewspace-1042841/,如需轉載,請註明出處,否則將追究法律責任。

相關文章