日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux網(wǎng)絡(luò)配置:如何綁定網(wǎng)卡? (linux 網(wǎng)卡bound)

網(wǎng)絡(luò)是現(xiàn)代信息化社會中不可或缺的基礎(chǔ)設(shè)施,Linux作為一個強大的操作系統(tǒng),也同樣具備優(yōu)秀的網(wǎng)絡(luò)功能。在實際應(yīng)用中,為了滿足高性能、可靠性以及負載平衡等需求,我們需要將多張網(wǎng)卡進行綁定。本文將介紹在Linux中如何綁定網(wǎng)卡。

一、什么是網(wǎng)卡綁定?

網(wǎng)卡綁定是指將多個物理網(wǎng)卡虛擬成一個邏輯網(wǎng)卡的操作。通過網(wǎng)卡綁定,可以提高系統(tǒng)的網(wǎng)絡(luò)性能,增加帶寬,提升網(wǎng)絡(luò)傳輸速度和可靠性,實現(xiàn)負載均衡等功能。

二、綁定模式分類

在Linux系統(tǒng)中,網(wǎng)卡綁定分為四種模式:

1. 之一種是負載均衡模式(mode0),即Round Robin(輪詢)模式。多個物理網(wǎng)卡將會被視為一個大的帶寬,數(shù)據(jù)包將被依次分配到各個物理網(wǎng)卡上。

2. 第二種是Active-Backup模式(mode1),又稱為Flover模式。該模式下,所有的網(wǎng)卡都是活動的,但只有其中一張網(wǎng)卡會被用作數(shù)據(jù)傳輸,當此網(wǎng)卡故障時,備份網(wǎng)卡將被自動激活,繼續(xù)接收和發(fā)送數(shù)據(jù)。

3. 第三種是Balance XOR模式(mode2),又稱為基于源MAC地址的負載均衡模式。該模式下,數(shù)據(jù)包中的源MAC地址和目標MAC地址將被用作哈希關(guān)鍵字,根據(jù)哈希結(jié)果,數(shù)據(jù)包將被分配到相應(yīng)的物理網(wǎng)卡上。不同的數(shù)據(jù)流會被分配到不同的物理網(wǎng)卡上,從而實現(xiàn)負載均衡。

4. 第四種是Broadcast模式(mode3),即廣播模式,數(shù)據(jù)包將被發(fā)送到所有的網(wǎng)卡,適用于數(shù)據(jù)包廣播的場景。

三、綁定過程

以負載均衡模式為例,介紹在Linux中如何綁定網(wǎng)卡。

1. 在Linux中需要安onding驅(qū)動,以CentOS為例,可以使用以下命令進行安裝:

yum install -y bonding

2. 安裝完成后,在/etc/modprobe.d/bonding.conf中添加以下內(nèi)容:

alias bond0 bonding

options bond0 mode=0 miimon=100 指定網(wǎng)卡綁定邏輯接口名稱為bond0,綁定模式為0即Round Robin(輪詢)模式,心跳檢測為100

3. 在/etc/sysconfig/network-scripts/目錄下創(chuàng)建ifcfg-bond0文件,內(nèi)容如下:

TYPE=Bond

BONDING_MASTER=yes

DEVICE=bond0

BOOTPROTO=static 設(shè)置IP地址為靜態(tài)

IPADDR=192.168.1.252 設(shè)置IP地址

NETMASK=255.255.255.0 設(shè)置網(wǎng)絡(luò)掩碼

USERCTL=no

BONDING_OPTS=”mode=0 miimon=100″ 指定綁定模式以及心跳檢測時間

4. 配置物理網(wǎng)卡,以eth0和eth1為例,在/etc/sysconfig/network-scripts/目錄下分別創(chuàng)建ifcfg-eth0和ifcfg-eth1文件,并設(shè)置以下內(nèi)容:

DEVICE=eth0/eth1

ONBOOT=yes 設(shè)置開機自啟動

BOOTPROTO=none

MASTER=bond0 網(wǎng)卡綁定邏輯接口名稱為bond0

SLAVE=yes

5. 重啟系統(tǒng),使綁定生效。使用以下命令檢測綁定狀態(tài):

cat /proc/net/bonding/bond0

四、

本文介紹了在Linux中通過綁定物理網(wǎng)卡實現(xiàn)負載均衡的過程。網(wǎng)卡綁定是一個十分實用的方法,可以大大提高網(wǎng)絡(luò)性能和可靠性,但要注意對網(wǎng)卡適用的綁定模式以及心跳檢測時間進行正確配置。希望本文能夠?qū)Υ蠹矣兴鶐椭黾訉inux網(wǎng)絡(luò)配置的理解。

相關(guān)問題拓展閱讀:

  • 請教Linux系統(tǒng)中網(wǎng)卡band以后的mac地址是什么?
  • linux bonding 怎麼做到fast failover (技術(shù))
  • 怎樣查看 linux 的網(wǎng)卡信息

請教Linux系統(tǒng)中網(wǎng)卡band以后的mac地址是什么?

輸入/in/ifconfig后

ethLink encap:Ethernet HWaddr 00:1D:D8:B7:22:AF

后面顯示的HWaddr后面派辯的就襲培是MAC地址拍羨唯

可以用ifconfig,這個命令跟windows下的ipconfig差不多

linux bonding 怎麼做到fast failover (技術(shù))

Linux網(wǎng)卡bonding

隨著科學技術(shù)的日益革新,數(shù)據(jù)的安全性已經(jīng)逐漸體現(xiàn)出了它的重要意義??梢栽O(shè)想,當一個人所有的個人資料都不負存在,那手滾是多么可怕的事情。網(wǎng)絡(luò)技術(shù)的深入使用,數(shù)據(jù)的網(wǎng)絡(luò)化傳輸已經(jīng)成為了重要,甚至主要的傳輸方式。所以數(shù)據(jù)服務(wù)器能夠正常提供網(wǎng)絡(luò)服務(wù)是所有供應(yīng)商都需要考慮的問題。

在這個背景下,單網(wǎng)卡的應(yīng)用已經(jīng)捉襟見肘,設(shè)備冗余技術(shù)的普及已是枝繁葉吵薯悄茂。本文之后就引用Linux操作系統(tǒng)下的多升渣網(wǎng)卡bonding技術(shù)來闡述這一容錯概念。

負載均衡功能也是網(wǎng)卡bonding的另一個功能,它可以實現(xiàn)多網(wǎng)卡同時工作,提高系統(tǒng)網(wǎng)絡(luò)處理的吞吐能力。

一、網(wǎng)卡的負載均衡模式(mode = BOND_MODE_ROUNDROBIN)

1)建立bond虛設(shè)備

建立一個ifcfg-bond0的設(shè)備,然后配置如下信息即可。

DEVICE=bond0

BOOTPROTO=static

IPADDR=172.16.64.208

NETMASK=255.255.224.0

ONBOOT=yes

TYPE=Ethernet

2)配置接口文件

由于使用一個虛擬的ip地址,所以,其他接口設(shè)備都不配置ip信息。

3)配置bonding工作方式

打開/etc/modprobe.conf文件,將bonding的工作模式配置為如下模式。

alias bond0 bonding

options bond0 mode=0 arp_interval=500 arp_ip_target=172.16.64.86

4)啟動bonding

需要添加路由來制定發(fā)送規(guī)則,這個可以自定義添加。配置完后重啟設(shè)備即可。

ifenslave bond0 eth0 eth1

route add -net 0/0 gw 172.16.64.254

bond0 Link encap:Ethernet HWaddr 00:14:10:70:00:25

inet addr:172.16.64.208 Bcast:172.16.95.255 Mask:255.255.224.0

inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link

UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1

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

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

collisions:0 txqueuelen:0

RX bytes:(2.8 MiB) TX bytes:(263.4 KiB)

ethLink encap:Ethernet HWaddr 00:14:10:70:00:25

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

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

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

collisions:0 txqueuelen:1000

RX bytes:(1.3 MiB) TX bytes:378 (378.0 b)

ethLink encap:Ethernet HWaddr 00:14:10:70:00:25

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

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

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

collisions:0 txqueuelen:100

RX bytes:(1.5 MiB) TX bytes:(263.1 KiB)

如上圖所示,這種模式下bonding模塊會將虛接口和所有的slave接口的MAC地址設(shè)置為一致。通過定時器,每個slave接口不斷發(fā)送ARP包來不斷更換交換機端口與MAC的對應(yīng)關(guān)系。

這樣使得每個網(wǎng)卡都在進行工作。這個ARP的發(fā)送規(guī)則是:

每arp_interval(MS)間隔向arp_ip_target發(fā)送arp請求。也可以向多個arp_ip_target發(fā)送arp請求。

觀察交換機端口上所學習到的MAC地址,發(fā)現(xiàn)MAC會在兩個端口上反復(fù)切換。

在BOND_MODE_ROUNDROBIN模式下,bonding對于發(fā)送和接收數(shù)據(jù)的處理邏輯是不一致的,對于數(shù)據(jù)的接收,bonding基本不做任何處理,純粹依靠交換機端口與MAC的變化來實現(xiàn)交替接收數(shù)據(jù)。發(fā)送的話,交換機會根據(jù)數(shù)據(jù)的源MAC來學習端口和MAC之間的關(guān)系,所以bonding做到的就是選擇不一樣的網(wǎng)卡發(fā)送。

對于數(shù)據(jù)的發(fā)送,

static inline void bond_set_mode_ops(struct net_device *bond_dev, int mode)

{

switch (mode) {

case BOND_MODE_ROUNDROBIN:

bond_dev->hard_start_xmit = bond_xmit_roundrobin;

break;

bond的發(fā)送函數(shù)被注冊為bond_xmit_roundrobin。通過bond_xmit_roundrobin的實現(xiàn)可以發(fā)現(xiàn)

static int bond_xmit_roundrobin(struct sk_buff *skb, struct net_device *bond_dev)

{

read_lock(&bond->curr_slave_lock);

slave = start_at = bond->curr_active_slave;

read_unlock(&bond->curr_slave_lock);

bond_for_each_slave_from(bond, slave, i, start_at) {

if (IS_UP(slave->dev) &&

(slave->link == BOND_LINK_UP) &&

(slave->state == BOND_STATE_ACTIVE)) {

res = bond_dev_queue_xmit(bond, skb, slave->dev);

write_lock(&bond->curr_slave_lock);

bond->curr_active_slave = slave->next;

write_unlock(&bond->curr_slave_lock);

break;

}

bond_xmit_roundrobin會通過curr_active_slave指針所指向的設(shè)備來進行發(fā)送,當然curr_active_slave會在調(diào)用bond_dev_queue_xmit完成實際的發(fā)送之后指向下一個slave設(shè)備。bond_dev_queue_xmit實際是調(diào)用通用的發(fā)送函數(shù)dev_queue_xmit來進行的,它傳遞給dev_queue_xmit的是一個skb,在傳遞之前skb->dev就被指定為了當前的slave設(shè)備,這樣內(nèi)核就會找到對應(yīng)的真實網(wǎng)卡設(shè)備來進行發(fā)送,最后curr_active_slave指針的輪詢切換,實現(xiàn)了bonding的負載均衡工作模式。

從這種模式可以看到,bonding實現(xiàn)了一個類似網(wǎng)卡驅(qū)動的模塊,對應(yīng)的bond0設(shè)備是一個純粹的虛設(shè)備,數(shù)據(jù)發(fā)送雖然說經(jīng)過了它,但通過一系列調(diào)用,轉(zhuǎn)了一圈之后才回到真正的網(wǎng)卡設(shè)備那里進行發(fā)送,無疑會消耗一定的系統(tǒng)性能。

簡單用100Mbps速率的UDP數(shù)據(jù)包測試了一下BOND_MODE_ROUNDROBIN模式。

測試過程中發(fā)現(xiàn)接收端會有較多的亂序包,觀察交換機端口情況,端口之間的切換頻率不規(guī)則,這個和交換機的配置或者性能應(yīng)該有很大聯(lián)系,有必要的話需要進一步研究。數(shù)據(jù)的正確性和時序性能否保證需要進一步仔細測試。

2、網(wǎng)卡的容錯模式(mode = BOND_MODE_ACTIVEBACKUP)

容錯模式的配置方法和負載均衡模式基本差不多,只不過修改一下/etc/modprobe.conf即可。

alias bond0 bonding

options bond0 mode=1 miimon=100

這里使用的是mii鏈路檢測方式,與之前arp檢測方式不同。當然這兩種鏈路檢測方式在各種mode下都是可以使用的,但要注意不能同時使用。

介紹一下bonding的mii檢測實現(xiàn)。首先和arp-monitor一樣,mii也是定時器觸發(fā)

if (bond->params.miimon) { /* link check interval, in milliseconds. */

init_timer(mii_timer);

mii_timer->expires = jiffies + 1;

mii_timer->data = (unsigned long)bond_dev;

mii_timer->function = (void *)&bond_mii_monitor;

add_timer(mii_timer);

}

bond_mii_monitor函數(shù)其本質(zhì)的原理就是檢測網(wǎng)卡的鏈路狀態(tài),bonding定義網(wǎng)卡有4個鏈路狀態(tài):

BOND_LINK_UP: 正常狀態(tài)(處于該狀態(tài)的網(wǎng)卡是是潛在的發(fā)送數(shù)據(jù)包的候選者)

BOND_LINK_FAIL: 網(wǎng)卡出現(xiàn)故障,向狀態(tài)BOND_LINK_DOWN 切換中

BOND_LINK_DOWN: 失效狀態(tài)

BOND_LINK_BACK:網(wǎng)卡恢復(fù),向狀態(tài)BOND_LINK_UP切換中

從上到下,表示了網(wǎng)卡鏈路從正常到失效再到恢復(fù)狀態(tài)。bond_mii_monitor函數(shù)就是依次檢查網(wǎng)卡的鏈路狀態(tài)是否處于這些狀態(tài),然后通過標記do_failover變量來說明當前是否需要切換slave網(wǎng)卡。代碼篇幅較大,但邏輯還是很清晰的,故此處不羅列了。

在BOND_MODE_ACTIVEBACKUP模式下,兩塊網(wǎng)卡其實有一塊是不工作的,被設(shè)置為IFF_NOARP的狀態(tài)。同時,bond虛設(shè)備,還有slave設(shè)備的MAC地址均一致,所以這張網(wǎng)卡不會被外界察覺存在。交換機也不存在想該端口發(fā)包的情況。當bond的mii檢測發(fā)現(xiàn)當前的active設(shè)備失效了之后,會切換到這個備份設(shè)備上。

在bond_change_active_slave函數(shù)中

if (bond->params.mode == BOND_MODE_ACTIVEBACKUP) {

if (old_active) {

bond_set_slave_inactive_flags(old_active);

}

if (new_active) {

bond_set_slave_active_flags(new_active);

}

}

這個就是在BOND_MODE_ACTIVEBACKUP模式下的切換邏輯,很簡單,需要注意的是,在bond_set_slave_inactive_flags(old_active)中,需要將接口的狀態(tài)設(shè)置為IFF_NOARP,不然交換機就可能會把數(shù)據(jù)包發(fā)送到一個錯誤的端口上。

BOND_MODE_ACTIVEBACKUP模式下的數(shù)據(jù)發(fā)送非常簡單,可想而知curr_active_slave指針始終都指向當前可用的設(shè)備,所以直接發(fā)送就可以,沒有之前BOND_MODE_ROUNDROBIN模式下slave設(shè)備切換的過程。

3、網(wǎng)卡虛擬化方式(mode = BOND_MODE_ALB)

經(jīng)過考察,許多磁盤陣列設(shè)備采用了網(wǎng)卡虛擬化方式進行多網(wǎng)卡應(yīng)用。實際就是Linux的bonding技術(shù)。它采用了mode = BOND_MODE_ALB的方式。

BOND_MODE_ALB的實現(xiàn)方式比較復(fù)雜,還有一些不理解的地方,就不做深入分析了。其核心思想可以用下圖解釋:

從這個圖中可以看到,客戶端A與服務(wù)器的傳輸使用的是MAC A;而客戶端B與服務(wù)器傳輸使用的是MAC B,但對于IP層來說,客戶端A與B都與服務(wù)器X.X.X.X 的IP地址進行通訊,并不感知底層傳輸接口的變化。這樣,服務(wù)器對于客戶端整體上的工作模式就處于負載均衡的狀態(tài)。當然,這個過程的控制就是bonding模塊所完成的。

通過測試發(fā)現(xiàn)兩臺客戶端展現(xiàn)的arp表是一致的,如下(服務(wù)器端地址為172.16.64.208,服務(wù)器端首選接口的MAC為-25)

CLIENT A

172.16.64.5 dynamic

CLIENT B

172.16.64.5 dynamic

通過抓包可以看到,兩次回復(fù)的ARP應(yīng)答的源MAC地址是不一樣的,分別為

-25和

-26。

所以說,能夠?qū)崿F(xiàn)這種處理方法的原因就是bonding修改了ARP應(yīng)答的源地址導(dǎo)致,使得外界并不感知服務(wù)器存在多網(wǎng)卡的狀態(tài),在網(wǎng)絡(luò)上確定了IP和MAC的唯一對應(yīng)關(guān)系,保證了上層業(yè)務(wù)傳輸?shù)倪壿嬕恢滦?。同時內(nèi)部的處理又交給不同的網(wǎng)卡,實現(xiàn)了負載均衡。

另外,也給了我們一定的容錯性,當一個接口失效后,bonding會迅速將另外一塊網(wǎng)卡設(shè)置為首選slave設(shè)備,并修改其MAC地址。由于外界學習到的服務(wù)器MAC地址始終是不變的,所以鏈路的狀態(tài)不會受很大影響。

Bonding的模式一共有7種:

#define BOND_MODE_ROUNDROBIN

#define BOND_MODE_ACTIVEBACKUP 1

#define BOND_MODE_XOR2

#define BOND_MODE_BROADCAST

#define BOND_MODE_8023AD

#define BOND_MODE_TLB5

#define BOND_MODE_ALB6

每種方式都有它的特點,有些需要交換機支持,比如 BOND_MODE_8023AD和BOND_MODE_XOR。本文就介紹了3種方式,可以在無需交換機支持或者簡單配置交換機的情況下運行。

怎樣查看 linux 的網(wǎng)卡信息

如何詳細查看硬盤信息fdisk-l:查看分1如何查看內(nèi)存信息,大概有以下幾種方式2如棚搜何查看CPU信息cat/斗判proc/cpuinfo:通3如何查空和改看網(wǎng)卡,顯卡等板卡信息

查看 linux 的網(wǎng)卡信息步驟如下:

工具原料:linux操作薯賀舉系統(tǒng)

①啟動 linux 操作系統(tǒng),進入到桌面;

②啟動終端;

③終端輸入命令 ifconfig eth0,回車;

④linux 的網(wǎng)卡信息解讀:

1.查看網(wǎng)卡生產(chǎn)廠商和信號:

查看基本信息:lspci

查看詳細信數(shù)碧息:lspci -vvv  # 3個小寫的v

查看網(wǎng)卡信息:lspci | grep Ethernet;

2.查看網(wǎng)卡驅(qū)動:

查看網(wǎng)卡驅(qū)動信息:lspci -vvv # 找到網(wǎng)卡設(shè)備的詳細信息,包括網(wǎng)卡驅(qū)動

# lod    列出加載的所有驅(qū)動,包括網(wǎng)卡驅(qū)動;

3.查看網(wǎng)卡驅(qū)動版本

查看模塊信息:modifo  # 其中包含version信拍御息或 # ethtool-i ;

4.查看網(wǎng)絡(luò)接口隊列數(shù)

查看網(wǎng)卡接口的中斷信息:#cat /proc/interrupts | grep eth0或 # ethtool-S eth0;

5.查看網(wǎng)卡驅(qū)動源碼的版本號

解壓Intel網(wǎng)卡驅(qū)動源碼,打開解壓縮目錄下的*.spec文件查看驅(qū)動的版本;

關(guān)于linux 網(wǎng)卡bound的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁設(shè)計制作,網(wǎng)站維護,網(wǎng)絡(luò)營銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽、雅安、重慶、貴州、昆明、鄭州、湖北十堰機房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。


網(wǎng)站標題:Linux網(wǎng)絡(luò)配置:如何綁定網(wǎng)卡? (linux 網(wǎng)卡bound)
本文鏈接:http://www.5511xx.com/article/cojijdc.html