一個(gè)網(wǎng)卡綁定多個(gè)IP
linux的網(wǎng)絡(luò)設(shè)備配置文件存放在/etc/sysconfig/network-scripts里面,
對(duì)于以太網(wǎng)的第一個(gè)網(wǎng)絡(luò)設(shè)備,配置文件名一般為ifcfg-eth0。
如果需要為第一個(gè)網(wǎng)絡(luò)設(shè)備多綁定一個(gè)IP地址,只需要在
/etc/sysconfig/network-scripts目錄里面創(chuàng)建一個(gè)名為ifcfg-eth0:0的文件,
內(nèi)容樣例為:
DEVICE="eth0:0"
IPADDR="211.100.10.119"
NETMASK="255.255.255.0"
ONBOOT="yes"
其中的DEVICE為設(shè)備的名稱,
IPADDR為此設(shè)備的IP地址,
NETMASK為子網(wǎng)掩碼
ONBOOT 表示在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)。
如果需要再綁定多一個(gè)IP地址,
只需要把文件名和文件內(nèi)的DEVICE中的eth0:x加一即可。
LINUX最多可以支持255個(gè)IP別名
多個(gè)網(wǎng)卡綁定一個(gè)IP
使用多塊網(wǎng)卡虛擬成為一塊網(wǎng)卡,具有相同的IP地址。
這項(xiàng)技術(shù)其實(shí)在sun和cisco中已經(jīng)存在,分別稱為Trunking和etherchannel技術(shù),
在linux中,這種技術(shù)稱為bonding。
因?yàn)閎onding在內(nèi)核2.4.x中已經(jīng)包含了,
只需要在編譯的時(shí)候把網(wǎng)絡(luò)設(shè)備選項(xiàng)中的 Bonding driver support選中就可以了。
然后,重新編譯核心,重新起動(dòng)計(jì)算機(jī),執(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é)點(diǎn)間的數(shù)據(jù)傳輸。
你最好把這幾句寫成一個(gè)腳本,再由/etc/rc.d/rc.local調(diào)用,
以便一開(kāi)機(jī)就生效。
bonding對(duì)于服務(wù)器來(lái)是個(gè)比較好的選擇,在沒(méi)有千兆網(wǎng)卡時(shí),
用兩三塊100兆網(wǎng)卡作 bonding,可大大提高服務(wù)器到交換機(jī)之間的帶寬。
但是需要在交換機(jī)上設(shè)置連接bonding 網(wǎng)卡的兩個(gè)口子映射為同一個(gè)虛擬接口。