當下小編的一家公司有一台雙網卡的服務器(性能還算不錯),並且呢這台服務器不接入外網,平時就是當做FTP服務器來使用,時間長了我發現有個問題,就是同事們同時下載東西的時候速度很慢啊,所以我就想著去解決一下這個問題,我發現這台服務器平時就一個網卡工作,另一個網卡總是閒著,並且交換機上還有很多空閒的連續端口,於是乎我就想著將這服務器的兩個網卡Bond一下,當然能不能實現還要看一下它的某塊是不是支持啊,我抽了公司不上班的時間就去好好折騰了一下。
Step 1:我查看了一下服務器的內核模塊是不是支持bonding,結果然我大喜啊
Step 2:小編快速的創建了一個bond0配置文件,linux存儲網卡配置文件的位置在/etc/sysconfig/network-scripts/
Vim /etc/sysconfig/network-scripts/ifcfg-bond0
添加一下行
DEVICE=bond0
IPADDR=192.168.1.20
NETWORK=192.168.1.0
NETMASK=255.255.255.0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
這裡的IP以後會作為和外界通信的IP地址啦(綁定之後原有網卡的IP地址將不會使用了)
Step 2:修改eth0和eth1的配置文件了,分別打開配置文件ifcfg-eth0和ifcfg-eth1
修改並成如下的格式
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
Step 3:要確保bond0啟動的時候內核能夠認到,所以要加載bonding模塊到內核中,你可以直接修改內核配置文件
# vim /etc/modprobe.conf
添加一下兩行(意義很好了解,至於下面的mode有很多中,可以根據需要修改的,我這裡要實現負載均衡)
alias bond0 bonding
options bond0 mode=balance-ald bmiimon=100
mode的可供選擇
一共有7種方式:
=0: (balance-rr) Round-robin policy: (平衡掄循環策略):傳輸數據包順序是依次傳輸,直到最後一個傳輸完畢,
此模式提供負載平衡和容錯能力,這需要設置交換機的配合才能完成。
=1: (active-backup) Active-backup policy:(主-備份策略):只有一個設備處於活動狀態。
一個down掉另一個馬上由備份轉換為主設備。mac地址是外部可見得。 此模式提供了容錯能力。
=2:(balance-xor) XOR policy:(廣播策略):將所有數據包傳輸給所有接口。 此模式提供了容錯能力。
=3:(balance-xor) XOR policy: (平衡 策略): 傳輸根據原地址布爾值選擇傳輸設備。
此模式提供負載平衡和容錯能力。
=4:(802.3ad) IEEE 802.3ad Dynamic link aggregation.
IEEE 802.3ad 動態鏈接聚合:創建共享相同的速度和雙工設置的聚合組。
=5:(balance-tlb) Adaptive transmit load balancing(適配器傳輸負載均衡)
:沒有特殊策略,第一個設備傳不通就用另一個設備接管第一個設備正在處理的mac地址,幫助上一個傳。
=6:(balance-alb) Adaptive load balancing: (適配器傳輸負載均衡):大致意思是包括mode5,bonding驅動程序截獲 ARP 在本地系統發送出的請求,用其中之一的硬件地址覆蓋從屬設備的原地址。就像是在服務器上不同的人使用不同的硬件地址一樣。
Step 4:測試階段
首先加載模塊bonding
# modprobe bonding
重新啟動網絡服務
# service network restart
查看工作狀態
# less /proc/net/bonding/bond0
結果
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:c6:be:59
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:c6:be:63
查看網卡工作狀態 #ifconfig
bond0 Link encap:EthernetHWaddr 00:0C:29:C6:BE:59
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:2804 errors:0 dropped:0 overruns:0 frame:0
TX packets:1879 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:250825 (244.9 KiB) TX bytes:244683 (238.9 KiB)
eth0 Link encap:EthernetHWaddr 00:0C:29:C6:BE:59
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6addr: fe80::20c:29ff:fec6:be59/64 Scope:Link
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:2809 errors:0 dropped:0 overruns:0 frame:0
TX packets:1390 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:251161 (245.2 KiB) TX bytes:180289 (176.0 KiB)
Interrupt:11 Base address:0x1400
eth1 Link encap:EthernetHWaddr 00:0C:29:C6:BE:59
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6addr: fe80::20c:29ff:fec6:be59/64 Scope:Link
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:258 (258.0 b) TX bytes:66516 (64.9 KiB)
Interrupt:10 Base address:0x1480
到此就大功告成了,如果讀者你有條件的話也可以折騰一下偶,(*^__^*) 嘻嘻……
本文出自 “90後噭凊陽洸” 博客,請務必保留此出處http://wnqcmq.blog.51cto.com/5200614/1167620