变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

當前位置:首頁文章首頁 IT學院 IT技術

Linux下雙網卡綁定技術實現負載均衡和失效保護(bond)

作者:  來源:  發布時間:2012-2-3 16:03:19  點擊:

對于bonding的網絡負載均衡是我們在文件服務器中常用到的,比如把三塊網卡,當做一塊來用,解決一個IP地址,流量過大,服務器網絡壓力過大的問題。對于文件服務器來說,比如NFS或SAMBA文件服務器,沒有所有一個管理員會把內部網的文件服務器的IP地址弄非常多個來解決網絡負載的問題。如果在內網中,文件服務器為了管理和應用上的方便,大多是用同一個IP地址。對于一個百M的本地網絡來說,文件服務器在多個用戶同時使用的情況下,網絡壓力是極大的,特別是SAMABA和NFS服務器。為了解決同一個IP地址,突破流量的限制,畢竟網線和網卡對數據的吞吐量是有限制的。如果在有限的資源的情況下,實現網絡負載均衡,最佳的辦法就是 bonding ;

另一種情況就是服務器的一個網卡失效或網絡連接意外斷開,如果做了bonding就能轉換到另一個網卡的網絡連接上.確保服務的不中斷.

首先要看linux是否支持bonding,RHEL4已默認支持了.(大部分發行版都支持)

# modinfo bonding

filename: /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko

author: Thomas Davis,

tadavis@lbl.gov

and many others

description: Ethernet Channel Bonding Driver, v3.0.3

version: 3.0.3

license: GPL

srcversion: 2547D22885C2FDF28EF7D98

如果有類似上面的信息輸出,說明已支持了.

如果沒有,說明內核不支持bonding,需要重新編譯內核

編譯內核的步驟這里就不多寫了,在make menuconfig里面

找到Bonding driver support這樣的對話框,選中他.

如果是模塊編譯,還需要掛載模塊.掛載bonding 模塊的方法;

[root@localhost#] modprobe bonding

如果/sbin/ifenslave沒有,我們還需要把他也獨立編譯出來

[root@lin:/home/beinan#] cd /usr/src/linux-2.6.20/Documentation/networking

[root@lin:/home/networking#] gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux-2.6.20/include ifenslave.c -o ifenslave

[root@lin:/home/networking#] cp ifenslave /sbin/ifenslave

1.#cp ifcfg-etho ifcfg-bond

2.#vim ifcfg-bond

DEVICE=bond0

IPADDR=192.168.100.2

NETMASK=255.255.255.0

NOBOOT=yes

BOOTPROTO=none

USERCTL=no

#vim ifcfg-eth0

DEVICE=eth0

HWADDR=xxxxxxxxxx

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

TYPE=Ethernet

#vim ifcfg-eth1

DEVICE=eth1

HWADDR=xxxxxxxxxx

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

TYPE=Ethernet

3. #vim /etc/modprobe.conf

加入下列行

alias bond0 bonding

options bond0 miimon=100 mode=1

alias net-pf-10 off //這行是關閉ipv6支持,也能不要)

說明:miimon是用來進行鏈路監測的。 比如:miimon=100,那么系統每100ms監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路;mode的值表示工作模式,他共有0,1,2,3四種模式,常用的為0,1兩種。

mode=0表示load balancing (round-robin)為負載均衡方式,兩塊網卡都工作。

mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主備的工作方式,也就是說默認情況下只有一塊網卡工作,另一塊做備份.

bonding只能提供鏈路監測,即從主機到交換機的鏈路是否接通。如果只是交換機對外的鏈路down掉了,而交換機本身并沒有故障,那么bonding會認為鏈路沒有問題而繼續使用

4 # service network restart

重啟后我們用ifconfig查看網卡信息,能看到多出一個bond0網卡.

bond0 Link encap:Ethernet HWaddr xxxxxxxxx

inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0

UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1

RX packets:48 errors:0 dropped:0 overruns:0 frame:0

TX packets:38 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:8817 (8.6 KiB) TX bytes:4807 (4.6 KiB)

eth0 Link encap:Ethernet HWaddr xxxxxxxxx

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

RX packets:44 errors:0 dropped:0 overruns:0 frame:0

TX packets:46 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:8196 (8.0 KiB) TX bytes:6007 (5.8 KiB)

Interrupt:169 Base address:0x2000

eth1 Link encap:Ethernet HWaddr xxxxxxxxx

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

RX packets:8 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:861 (861.0 b) TX bytes:0 (0.0 b)

Interrupt:193 Base address:0x2080

那也就是說在主備模式下,當一個網絡接口失效時(例如主交換機掉電等),不回出現網絡中斷,系統會按照cat /etc/rc.d/rc.local里指定網卡的順序工作,機器仍能對外服務,起到了失效保護的功能.

能查看到bond0的工作狀態

[root@localhost ~]# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)

Bonding Mode: fault-tolerance (active-backup)

Primary Slave: None

Currently Active Slave: eth0

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth0

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:0c:29:c2:b3:44

Slave Interface: eth1

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:0c:29:c2:b3:4e

從另一臺機器ping我們剛才設置的IP地址,然后在虛擬機vmware下面,點其中的一個網卡

選中disconnect(斷開)

能看到ping只是出現了兩個time out后就又恢復了正常.說明我們的設置起作用了.

需要說明的是如果想做成負載均衡,僅僅設置這里options bond0 miimon=100 mode=0是不夠的,還需要設置交換機的端口.

從原理分析一下(bond運行在mode 0下):

mode 0下bond所綁定的網卡的IP都被修改成相同的mac地址,如果這些網卡都被接在同一個交換機,那么交換機的arp表里這個mac地址對應的端口就有多個,那么交換機接受到發往這個mac地址的包應該往哪個端口轉發呢?正常情況下mac地址是全球唯一的,一個mac地址對應多個端口肯定使交換機迷惑了。

所以mode0下的bond如果連接到交換機,交換機這幾個端口應該采取聚合方式(cisco稱為ethernetchannel,foundry稱為portgroup),因為交換機做了聚合后,聚合下的幾個端口也被捆綁成一個mac地址.我們的解決辦法是,兩個網卡接入不同的交換機即可。

取消linux bond的方法

另外大家關心的一個問題應該是:設置了bond 后如何去掉?

上一篇:多人登錄追究誤操作登記 下一篇:

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 国产成人女人在线视频观看 | www在线观看视频 | 色哟哟久久| 欧美成人免费一区在线播放 | 91视频网页 | 日本黄漫画网站入口免费 | 欧美一级va在线视频免费播放 | 深爱激情五月婷婷 | 精品欧美成人高清视频在线观看 | 操操日 | 亚洲一区 欧美 | 成年免费大片黄在线观看视频 | 操操影视 | 丁香六月综合 | 国产一级特黄高清免费大片dvd | 岛国aⅴ| 亚洲一区二区中文字幕 | baoyu166.永久免费视频 | 成人黄色在线播放 | 一个人看的www视频在线播放 | 在线观看一级片 | 午夜激情在线观看 | 92精品国产自产在线 | 欧美一级免费观看 | 色先锋资源网 | 免费观看视频成人国产 | 中文字幕精品在线视频 | 欧美在线视频一区二区三区 | 色在线免费 | 在线成人影视 | 天天舔天天插 | 亚洲福利在线观看 | 日韩一区二区三区在线观看 | 国产人人干 | 国产1区二区 | 免费动漫无遮挡曰批视频软件 | 日韩精品在线观看视频 | 嗯啊视频在线观看 | 91精品欧美综合在线观看 | 国产白丝丝高跟在线观看 | 成人网久久 |