歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下雙網卡綁定技術實現負載均衡和失效保護

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

日期:2017/2/28 16:15:42   编辑:Linux教程

linux 網卡bond 使用 0模式,理論 上傳輸速度會增加一倍,實際則不一定,可以肯定比單網卡好。

保持服務器的高可用性是企業級 IT 環境的重要因素。其中最重要的一點是服務器網絡連接的高可用性。網卡(NIC)綁定技術有助於保證高可用性特性並提供其它優勢以提高網絡性能。

我們在這介紹的Linux雙網卡綁定實現就是使用兩塊網卡虛擬成為一塊網卡,這個聚合起來的設備看起來是一個單獨的以太網接口設備,通俗點講就是兩塊網卡具有相同的IP地址而並行鏈接聚合成一個邏輯鏈路工作。其實這項 技術在Sun和Cisco中早已存在,被稱為Trunking和Etherchannel技術,在Linux的2.4.x的內核中也采用這這種技術,被稱為bonding。bonding技術的最早應用是在集群——beowulf上,為了提高集群節點間的數據傳輸而設計的。下面我們討論一下bonding 的原理,什麼是bonding需要從網卡的混雜(promisc)模式說起。我們知道,在正常情況下,網卡只接收目的硬件地址(MAC Address)是自身Mac的以太網幀,對於別的數據幀都濾掉,以減輕驅動程序的負擔。但是網卡也支持另外一種被稱為混雜promisc的模式,可以接收網絡上所有的幀,比如說tcpdump,就是運行在這個模式下。bonding也運行在這個模式下,而且修改了驅動程序中的mac地址,將兩塊網卡的Mac地址改成相同,可以接收特定mac的數據幀。然後把相應的數據幀傳送給bond驅動程序處理。

說了半天理論,其實配置很簡單,一共四個步驟:

實驗的操作系統是CentOS 5.4 5.2 5.3均沒有問題
綁定的前提條件:芯片組型號相同,而且網卡應該具備自己獨立的BIOS芯片。

雙網卡邦定的拓樸圖(見下圖)

1. 編輯虛擬網絡接口配置文件,指定網卡IP
vi /etc/sysconfig/ network-scripts/ ifcfg-bond0
[[email protected] root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0
2 #vi ifcfg-bond0
將第一行改成 DEVICE=bond0
# cat ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR=172.31.0.13
NETMASK=255.255.252.0
BROADCAST=172.31.3.254
ONBOOT=yes
TYPE=Ethernet
這裡要主意,不要指定單個網卡的IP 地址、子網掩碼或網卡 ID。將上述信息指定到虛擬適配器(bonding)中即可。
[[email protected] network-scripts]# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none

MASTER=bond0

SLAVE=yes

[[email protected] network-scripts]# cat ifcfg-eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

Copyright © Linux教程網 All Rights Reserved