通常想要做到頻寬合併,不外乎是備援容錯、負載平衡、雙埠合併,通常一台伺服器都會有兩張網路介面卡,不過都只會使用用到一張網路介面卡,那這時將伺服器做頻寬合併是有必要的,以免浪費一張網路介面卡,也可以減輕一張網路介面卡運作的負擔。

檢查網路設定可以看到有兩張網路介面卡eth0跟eth1,現在要將兩張網路介面卡頻寬合併,必需將兩張網路介面卡做設定。

[root@localhost ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:91:5F:2E

          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe91:5f2e/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:4745 (4.6 KiB)  TX bytes:5831 (5.6 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:91:5F:38

          inet addr:192.168.0.201  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe91:5f38/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:422 (422.0 b)  TX bytes:746 (746.0 b)

先切換到network-scripts目錄下,編輯第一張網路卡eth0,內容輸入如下,編輯完後存檔。

[root@localhost network-scripts]# cd /etc/sysconfig/network-scripts

[root@localhost network-scripts]# vi ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0     //頻寬合併後的網路介面卡設定,bond0為合併頻寬的網路介面卡名稱

SLAVE=yes

再來編輯第二張網路介面卡eth1,輸入方式與eth0一樣,編輯完後存檔。

[root@localhost network-scripts]# vi ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0    //頻寬合併後的網路介面卡設定,bond0為合併頻寬的網路介面卡名稱

SLAVE=yes

接下來建立一個新檔案ifcfg-bond0,內容輸入如下,第5、6、7、8行請依該環境使用IP設定,編輯完後存檔。

[root@localhost network-scripts]# vi ifcfg-bond0

DEVICE=bond0

ONBOOT=yes

IPADDR=192.168.0.200          //頻寬合併後的IP位址

BOOTPROTO=none

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

DNS1=192.168.0.1

編輯modprobe.conf,加上兩行設定, miimon=100為每100毫秒(0.1秒)檢查網路一次,可依個人需求設定,這樣代表網路如果斷線,0.1秒就會恢復連線,mode為網路模式,有7種可以設定,通常設定0、1、6這幾種。

[root@localhost /]# vi /etc/modprobe.conf

alias bond0 bonding

options bond0 miimon=100 mode=1

Mode模式功能可以依下表說明選擇。

mode

功能

功能說明

0

balance-rr

負載平衡模式需有 switch 設定 (trunk) 支援才能發揮實質效果,具容錯功能, 其中一張網路卡失效仍可持續運作

1

active-backup

同一時間只有單一網路卡運作,Active Slave 其中一張網路卡斷線時自動啟用另一張網路卡不需 switch 支援

2

balance-xor

具容錯作用

3

broadcast

所有網路卡一起收送網路封包,具容錯功能, 其中一張網路卡斷線仍可持續運作

4

802.3ad

無實際功能,不建議使用

5

balance-tlb

傳出自動負載平衡,傳入由 Current Active Slave 負責,具容錯功能,其中一張網路卡失效仍可持續運作,不需 switch 支援及設定

6

balance-alb

傳出及傳入皆自動負載平衡,具容錯功能, 其中一張網路卡斷線時仍可持續運作,網路卡區動程式需支援 setting hardware address 功能,不需 switch 支援及設定

全部設定完成後,重新啟動網路介面卡,讓bond0重新啟動。

[root@localhost /]# service network restart

Shutting down interface bond0:                             [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface bond0:                               [  OK  ]

查看網路卡設定,可以看到只有bond0有設定IP位址,不過其他兩張網路介面卡還是正常運作。

[root@localhost /]# ifconfig

bond0     Link encap:Ethernet  HWaddr 00:0C:29:91:5F:2E

          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe91:5f2e/64 Scope:Link

          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:0

          RX bytes:330865 (323.1 KiB)  TX bytes:268485 (262.1 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:91:5F:2E

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:245559 (239.8 KiB)  TX bytes:265153 (258.9 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:91:5F:2E

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:85306 (83.3 KiB)  TX bytes:3566 (3.4 KiB)

查看bonding狀態,可以查看出bond0,這樣就算頻寬合併成功。

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

Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

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:91:5f:2e

Slave Interface: eth1

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:0c:29:91:5f:38

 

來源:http://download.ithome.com.tw/article/index/id/2354

最後修改日期: 2014-08-29

作者

留言

撰寫回覆或留言