星期一, 7月 09, 2007

網路卡設定

lspci PCI 裝置列出
modconf 模組偵查

合併網卡,增大網路流量
bonding的用法如下(請先安裝ifenslave,以及kernel支援Bonding driver support)
ifenslave -v eth0 eth1 metric 1


前言:

為什麼需要將多片網卡虛擬成一片?

有時我們使用samba進行區域網路傳檔的時候,透過XP的"工作管理員",可以看到網路效能曲線圖會不穩定,時快時慢,甚至偶而還會停止。

這是因為samba主機的網路卡負載太重,若可以增加網路卡來分散負載,即可改善這個情況。

OS:Fdora core 2

bonding
將多片網卡虛擬成一片(竄改成同一個IP/MAC),以便達到分散負載。虛擬後所有eth(#)網卡的IP和MAC將會變成完全相同,然後多出一個bond0的虛擬網卡。

這個功能本來是高階網路卡,如Intel、3COM之類才有的硬體功能,有自己的商業名詞,現在在Linux下也能夠用軟體實現,Linux下則是稱作bonding

bonding 需要核心支援才能使用,因為Fedora的核心,已內建bonding 功能,所以不需要重新編譯核心。

硬體需求:同樣晶片的網路卡至少兩張以上。

例如:市面上常見的 RTL8139D 網路卡(螃蟹卡),一片才1百多元,只要使用bonding,就可以媲美高階網路卡的功能。


實作方法有兩種:

方法一:這個方法是redhat官方網站提供的,設定比較簡單
-----------------------------------------------------

假設192.168.0.1是虛擬網卡的IP,192.168.0.254 是閘道器:

/sbin/modprobe bonding miimon=100 mode=1
/sbin/ifdown eth0
/sbin/ifdown eth1
/sbin/ifconfig bond0 192.168.0.1
/sbin/ifenslave bond0 eth0 eth1
/sbin/route add default gw 192.168.0.254



方法二:
這個方法是參考
/usr/src/linux-2.4.??-?/Documentation/netwoking/bonding.txt
也就是bonding 功能的電子手冊,有網友實做成功分享出來的方法

假設虛擬網卡的IP為:192.168.0.1
有兩片網卡:eth0,eht1
(eth0,eth1 的IP怎麼設定都沒差,因為bonding完後會全部變成一樣)
------------------------------------------------------------
1.
編輯/etc/modprobe.conf
在最後面加入"alias bond0 bonding"

2.在/etc/sysconfig/network-scripts 目錄
加入新檔案,名叫 ifcfg-bond0
內容如下:
--------------------------------
BOOTPROTO=none
DEVICE=bond0
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
IPADDR=192.168.0.1
NETWORK=192.168.0.0
ONBOOT=yes

3. 在/etc/sysconfig/network-scripts 目錄
編輯 ifcfg-eth0
改成內容如下:
-----------------------
DEVICE=eth0
BOOTPROTO=none
ONBOOT=no
MASTER=bond0
SLAVE=yes

4.在/etc/sysconfig/network-scripts 目錄
編輯ifcfg-eth1
改成內容如下:
---------------------------
DEVICE=eth1
BOOTPROTO=none
ONBOOT=no
MASTER=bond0
SLAVE=yes

5.重新啟動網路服務
/etc/rc.d/init.d/network restart

6.最後執行兩句Command
/sbin/ifenslave bond0 eth0
/sbin/ifenslave bond0 eth1


###################################################################

用ifcofig | less 查一下,可以看到所有網卡IP/MAC都變一樣了

沒有留言: