Linux bonding服務(wù)器單網(wǎng)卡綁定多IP在Redhat系列
Linux bonding還是比較常用的,于是我研究了一下Linux bonding,在這里拿出來和大家分享一下,希望對大家有用。在Linux bonding下有時候需要給一個網(wǎng)卡綁定多個IP,本文介紹在Redhat系列(redhat,Fedora Core,Centos)中的實現(xiàn)方法和一種在Gentoo等其他Linux中普遍適用的方法。
1、單網(wǎng)卡綁定多IP在Redhat系列中的實現(xiàn)方法
假設(shè)需要綁定多IP的網(wǎng)卡是eth0,請在/etc/sysconfig/network-scripts目錄里面創(chuàng)建一個名為ifcfg-eth0:0的文件,內(nèi)容樣例為:
- DEVICE=”eth0:0″
- IPADDR=”192.168.0.2″
- BROADCAST=”172.168.0.255″
- NETMASK=”255.255.255.0″
- ONBOOT=”yes”
其中的DEVICE為設(shè)備的名稱,IPADDR為此設(shè)備的IP地址,BROADCAST是廣播地址,NETMASK為子網(wǎng)掩碼,ONBOOT 表示在系統(tǒng)啟動時自動啟動。如果需要再綁定多一個IP地址,只需要把文件名和文件內(nèi)的DEVICE中的eth0:x加一即可。LINUX最多可以支持255個IP別名
2、普遍適用的單網(wǎng)卡綁定多IP實現(xiàn)方法
ifconfig eth0:1 192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0 可以把上述命令加在啟動自運行文件里面,在Gentoo下是/etc/conf.d/local.start,而某些版本的Linux是/etc/rc.d/rc.local。
3、多網(wǎng)卡共用單IP的實現(xiàn)方法
使用多塊網(wǎng)卡虛擬成為一塊網(wǎng)卡,具有相同的IP地址。這項技術(shù)其實在sun和cisco中已經(jīng)存在,分別稱為Trunking和 etherchannel技術(shù),在Linux bonding中,這種技術(shù)稱為Linux bonding。因為Linux bonding在內(nèi)核2.4.x中已經(jīng)包含了,只需要在編譯的時候把網(wǎng)絡(luò)設(shè)備選項中的 Bonding driver support選中就可以了。
然后,重新編譯核心,重新起動計算機,執(zhí)行如下命令:
- ismod bonding
- ifconfig eth0 down
- ifconfig eth1 down
- ifconfig bond0 ipaddress
- ifenslave bond0 eth0
- ifenslave bond0 eth1
現(xiàn)在兩塊網(wǎng)卡已經(jīng)象一塊一樣工作了,這樣可以提高集群節(jié)點間的數(shù)據(jù)傳輸。你***把這幾句寫成一個腳本,再由/etc/rc.d/rc.local或者/etc/conf.d/local.start調(diào)用,以便一開機就生效。
Linux bonding對于服務(wù)器來是個比較好的選擇,在沒有千兆網(wǎng)卡時,用兩三塊100兆網(wǎng)卡作Linux bonding,可大大提高服務(wù)器到交換機之間的帶寬。但是需要在交換機上設(shè)置連接Linux bonding 網(wǎng)卡的兩個口子映射為同一個虛擬接口。
瞧瞧,這位仁兄說他在“最近的測試在網(wǎng)卡上bind 16384個IP”, 好不厲害!
【編輯推薦】