Linux也讓雙網卡做天人合“一”而用
發表于:2007-05-26來源:作者:點擊數:
標簽:
服務器 的 網絡 連通狀況直接影響著服務器的可用性,利用雙網卡(NIC)綁定技術,可以實現服務器網卡的失效保護和負載均衡,有助于提高網絡 性能 ,從而保證服務器的高可用性(見圖1)。 圖1 雙網卡綁定后的網絡拓撲圖 雙網卡綁定技術 雙網卡綁定就是將兩塊
服務器的
網絡連通狀況直接影響著服務器的可用性,利用雙網卡(NIC)綁定技術,可以實現服務器網卡的失效保護和負載均衡,有助于提高網絡
性能,從而保證服務器的高可用性(見圖1)。
圖1 雙網卡綁定后的網絡拓撲圖
雙網卡綁定技術
雙網卡綁定就是將兩塊物理網卡虛擬成一塊邏輯網卡,使其具有相同的IP地址,合成一個邏輯鏈路進行工作。這項技術在Sun和Cisco的設備中早已存在,分別被稱為Trunking和Etherchannel,在
Linux中這種技術被稱為Bonding。Bonding技術最早應用在集群——Beowulf上,是為了提高集群節點間的數據傳輸效率而設計的。
Bonding運行在網卡的混雜(Promisc)模式下,而且它將兩塊網卡的MAC地址修改為一樣的?;祀s模式就是網卡不再只接收目的硬件地址是自身MAC地址的數據幀,而是可以接收網絡上所有的幀。利用Bonding技術配置雙網卡綁定的前提條件是兩塊網卡芯片組型號相同,并且都具備獨立的BIOS芯片。
配置方法
1. 指定網卡IP
建立并修改ifcfg-bond0文件,把IP地址、子網掩碼、網卡ID等信息指定到虛擬網卡(bond0)即可。注意,不要指定單個網卡的這些信息。
#cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0
#vi /etc/sysconfig/network-scripts/ifcfg-bond0
|
把ifcfg-bond0文件修改為如下內容:
DEVICE=bond0
BOOTPROTO=static
IPADDR=172.31.0.13
NETMASK=255.255.252.0
BROADCAST=172.31.3.255
ONBOOT=yes
TYPE=Ethernet
|
IP地址、廣播地址等請根據具體情況填寫。
另外,還需要將兩塊網卡的配置文件ifcfg-eth0和ifcfg-eth1中的“BOOTPROTO”設為“dhcp”,并且刪除關于“IPADDR”、“NETMASK”和“BROADCAST”的設置。
2.修改/etc/modules.conf 文件
編輯/etc/modules.conf文件,加入如下內容,以使系統在啟動時加載Bonding模塊。
alias bond0 bonding
options bond0 miimon=100 mode=1
|
“miimon=100”表示系統每100ms監測一次鏈路連接狀態,如果監測到有一條線路不通就轉入另一條線路。
“mode”的值表示工作模式,共有0、1、2和3四種模式,常用的為0、1兩種。
3.修改/etc/rc.d/rc.local文件
加入以下兩行(路由視具體情況而定):
ifenslave bond0 eth0 eth1
route add -net 172.31.3.254 netmask 255.255.255.0 bond0
|
以上配置完畢后重新啟動機器。重啟時看見以下信息就表示雙網卡綁定配置成功了。
................
Bringing up interface bond0 OK
Bringing up interface eth0 OK
Bringing up interface eth1 OK
................
|
失效保護和負載均衡
“mode”設為1時,Bonding提供冗余功能(Fault-Tolerance (active-backup)),即Bonding工作在主備模式下,同時只有一塊網卡工作,另一塊作為備份。當主網卡失效時,系統會按照文件/etc/rc.d/rc.local里指定的順序啟動備用網卡工作,保證服務器不會出現長時間的網絡中斷。
用ifconfig命令查看網卡的配置信息,顯示如下:
bond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B
inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:18495 errors:0 dropped:0 overruns:0 frame:0
TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1587253 (1.5 Mb) TX bytes:89642 (87.5 Kb)
eth0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B
inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:9572 errors:0 dropped:0 overruns:0 frame:0
TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:833514 (813.9 Kb) TX bytes:89642 (87.5 Kb)
Interrupt:11
eth1 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B
inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING NOARP SLAVE MULTICAST MTU:1500 Metric:1
RX packets:8923 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:753739 (736.0 Kb) TX bytes:0 (0.0 b)
Interrupt:15
|
“mode”設為0時,Bonding工作在負載均衡(Load Balancing (round-robin))方式下,即兩塊網卡同時工作,這時理論上Bonding能提供兩倍的帶寬。在這種情況下如果一塊網卡失效,僅僅會使服務器出口帶寬下降,并不會影響網絡使用。
通過ifconfig命令查看網卡的配置信息,“mode=0”和“mode=1”的區別在于eth1是工作在“SLAVE” 狀態,而非“NOARP”。
小結
通過以下命令可以詳細掌握Bonding的工作狀態:
# cat /proc/net/bonding/bond0
bonding.c:v2.4.1 (September 15, 2003)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Multicast Mode: all slaves
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0e:7f:25:d9:8a
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0e:7f:25:d9:8b
|
無論是“mode=0”還是“mode=1”,都大大增加了Linux服務器的高可用性,使服務器可以為用戶提供不間斷的關鍵服務。
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|