新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Linux系統(tǒng)如何讓雙網(wǎng)卡合“一”而用

        Linux系統(tǒng)如何讓雙網(wǎng)卡合“一”而用

        作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

        服務器的網(wǎng)絡連通狀況直接影響著服務器的可用性,利用雙網(wǎng)卡(NIC)綁定技術,可以實現(xiàn)服務器網(wǎng)卡的失效保護和負載均衡,有助于提高網(wǎng)絡性能,從而保證服務器的高可用性。

        本文引用地址:http://www.104case.com/article/201609/304716.htm

        雙網(wǎng)卡綁定技術

        雙網(wǎng)卡綁定就是將兩塊物理網(wǎng)卡虛擬成一塊邏輯網(wǎng)卡,使其具有相同的IP地址,合成一個邏輯鏈路進行工作。這項技術在Sun和Cisco的設備中早已存在,分別被稱為Trunking和Etherchannel,在Linux中這種技術被稱為Bonding。Bonding技術最早應用在集群——Beowulf上,是為了提高集群節(jié)點間的數(shù)據(jù)傳輸效率而設計的。

        Bonding運行在網(wǎng)卡的混雜(Promisc)模式下,而且它將兩塊網(wǎng)卡的MAC地址修改為一樣的。混雜模式就是網(wǎng)卡不再只接收目的硬件地址是自身MAC地址的數(shù)據(jù)幀,而是可以接收網(wǎng)絡上所有的幀。利用Bonding技術配置雙網(wǎng)卡綁定的前提條件是兩塊網(wǎng)卡芯片組型號相同,并且都具備獨立的BIOS芯片。

        配置方法

        1. 指定網(wǎng)卡IP

        建立并修改ifcfg-bond0文件,把IP地址、子網(wǎng)掩碼、網(wǎng)卡ID等信息指定到虛擬網(wǎng)卡(bond0)即可。注意,不要指定單個網(wǎng)卡的這些信息。

        #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地址、廣播地址等請根據(jù)具體情況填寫。

        另外,還需要將兩塊網(wǎng)卡的配置文件ifcfg-eth0和ifcfg-eth1中的“BOOTPROTO”設為“dhcp”,并且刪除關于“IPADDR”、“NETMASK”和“BROADCAST”的設置。

        2.修改/etc/modules.conf 文件

        編輯/etc/modules.conf文件,加入如下內容,以使系統(tǒng)在啟動時加載Bonding模塊。

        alias bond0 bonding options bond0 miimon=100 mode=1

        “miimon=100”表示系統(tǒng)每100ms監(jiān)測一次鏈路連接狀態(tài),如果監(jiān)測到有一條線路不通就轉入另一條線路。

        “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

        以上配置完畢后重新啟動機器。重啟時看見以下信息就表示雙網(wǎng)卡綁定配置成功了。

        ................ Bringing up interface bond0 OK Bringing up interface eth0 OK Bringing up interface eth1 OK ................

        失效保護和負載均衡

        “mode”設為1時,Bonding提供冗余功能(Fault-Tolerance (active-backup)),即Bonding工作在主備模式下,同時只有一塊網(wǎng)卡工作,另一塊作為備份。當主網(wǎng)卡失效時,系統(tǒng)會按照文件/etc/rc.d/rc.local里指定的順序啟動備用網(wǎng)卡工作,保證服務器不會出現(xiàn)長時間的網(wǎng)絡中斷。

        用ifconfig命令查看網(wǎng)卡的配置信息,顯示如下:

        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))方式下,即兩塊網(wǎng)卡同時工作,這時理論上Bonding能提供兩倍的帶寬。在這種情況下如果一塊網(wǎng)卡失效,僅僅會使服務器出口帶寬下降,并不會影響網(wǎng)絡使用。

        通過ifconfig命令查看網(wǎng)卡的配置信息,“mode=0”和“mode=1”的區(qū)別在于eth1是工作在“SLAVE” 狀態(tài),而非“NOARP”。

        小結

        通過以下命令可以詳細掌握Bonding的工作狀態(tài):

        # 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服務器的高可用性,使服務器可以為用戶提供不間斷的關鍵服務。



        關鍵詞:

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 怀安县| 嵊泗县| 都兰县| 藁城市| 巴青县| 千阳县| 凉山| 达日县| 安康市| 甘洛县| 聊城市| 贺州市| 天镇县| 西畴县| 海林市| 临汾市| 涞源县| 保靖县| 霍林郭勒市| 平顶山市| 五寨县| 河池市| 沙湾县| 民县| 常德市| 中西区| 南昌县| 西林县| 和平县| 图片| 张北县| 安泽县| 永清县| 仙游县| 莱阳市| 莲花县| 静乐县| 江油市| 临武县| 汉沽区| 亚东县|