當系統中有多個網卡需要進行設置時,建議將網卡的MAC地址與ethX文件中的HWADDR一一對應,否則系統重啟后網卡的eth號很可能會發生改變,在設置了網卡綁定的生產系統中,這是非常危險的。
1、配置驅動模塊
centos7 bond0配置,修改文件/etc/modprobe.conf,找到:
alias eth0 8139cp
alias eth1 8139cp
centos掛載新硬盤。注意:
8139cp為網卡型號。
在此內容后加入:
ubuntu配置bond、######## Bonding ##########
alias bond0 bonding
options bonding max_bonds=1
linux做bond,或
######## Bonding ##########
alias bond0 bonding
options bond0 miimon=100 mode=1
2、建立bonding網卡配置
新建文件/etc/sysconfig/network-scripts/ifcfg-bond0,輸入以下內容:
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.21
NETMASK=255.255.255.0
USERCTL=no
BONDING_OPTS="mode=1 miimon=100 primary=eth0"
BONDING_OPTS參數解釋
此參數用于指定網卡綁定時的屬性,以下是對常用參數進行的解釋:
miimon參數:指定網卡故障時的切換時間間隔以ms為單位。
primary參數:指定默認的主網卡設備。
mode參數:
0-輪詢模式,所綁定的網卡會針對訪問以輪詢算法進行平分。
1-高可用模式,運行時只使用一個網卡,其余網卡作為備份,在負載不超過單塊網卡帶寬或壓力時建議使用。
2-基于HASH算法的負載均衡模式,網卡的分流按照xmit_hash_policy的TCP協議層設置來進行HASH計算分流,使各種不同處理來源的訪問都盡量在同一個網卡上進行處理。
3-廣播模式,所有被綁定的網卡都將得到相同的數據,一般用于十分特殊的網絡需求,如需要對兩個互相沒有連接的交換機發送相同的數據。
4-802.3ab負載均衡模式,要求交換機也支持802.3ab模式,理論上服務器及交換機都支持此模式時,網卡帶寬最高可以翻倍(如從1Gbps翻到2Gbps)
5-適配器輸出負載均衡模式,輸出的數據會通過所有被綁定的網卡輸出,接收數據時則只選定其中一塊網卡。如果正在用于接收數據的網卡發生故障,則由其他網卡接管,要求所用的網卡及網卡驅動可通過ethtool命令得到speed信息。
6-適配器輸入/輸出負載均衡模式,在"模式5"的基礎上,在接收數據的同時實現負載均衡,除要求ethtool命令可得到speed信息外,還要求支持對網卡MAC地址的動態修改功能。
xmit_hash_policy參數(此參數對mode參數中的2、4模式有影響):
layer1-通過MAC地址進行HASH計算。
計算公式:(MACsrc⊕MACdest)% Nslave
layer3+4-通過TCP及UDP端口及其IP地址進行HASH計算。
計算公式:((portsrc⊕portdest)⊕(IPsrc⊕IPdest)) % Nslave
注意:
mode參數中的0、2、3、4模式要求交換機支持"ports group"功能并能進行相應的設置,例如在Cisco中要將所連接的端口設為"trunk group"。
選擇綁定模式的建議
如果系統流量不超過單個網卡的帶寬,請不要選擇使用mode 1之外的模式,因為負載均衡需要對流量進行計算,這對系統性能會有所損耗。
建議mode 5、mode 6只在交換機不支持"ports group"的情況下選用。
如果交換機及網卡都確認支持802.3ab,則實現負載均衡時盡量使用mode 4以提高系統性能。
3、修改被綁定網卡的配置
修改/etc/sysconfig/network-scripts/ifcfg-eth0為:
# Realtek Semiconductor Co., Ltd. RTL-8139/<?xml:namespace prefix = st1 />/+
DEVICE=eth0
MASTER=bond0
SLAVE=yes
HWADDR=54:52:00:35:f9:a0
ONBOOT=yes
4、修改/etc/sysconfig/network-scripts/ifcfg-eth1為:
# Realtek Semiconductor Co., Ltd. RTL-8139//+
DEVICE=eth1
MASTER=bond0
SLAVE=yes
HWADDR=54:52:00::37:ce
ONBOOT=yes
啟動網卡綁定設備
5、導入bonding驅動:
[root@localhost ~]# modprobe -i bonding max_bonds=1
bonding: Warning: either miimon or arp_interval
and arp_ip_target module parameters must be
specified, otherwise bonding will not detect
link failures! see bonding.txt for details.
此時系統會發出一個警告,意思是bonding驅動要求提供miimon參數或arp_inerval參數與arp_ip_target參數的組合,否則系統將無法檢測出網卡設備連接是否失效。由于miimon已經在/etc/sysconfig/network-scripts/ifcfg-bond0中設定,所以可以不用理會此警告。
6、重啟網絡
[root@localhost ~]# /etc/init.d/network restart
bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect
link failures! see bonding.txt for details.
[root@localhost ~]# cat network
Shutting down interface eth0
[?? OK?? ]
Shutting down interface eth1
[?? OK?? ]
Shutting down loopback interface:
[?? OK?? ]
Bringing up loopback interface:
[?? OK?? ]
Bringing up interface bond0:
[?? OK?? ]
網絡重啟完畢,此時由于/etc/sysconfig/network-scripts/ifcfg-bond0中的設置,miimon參數已經生效。
以上"導入bonding驅動"及"重啟網絡"的操作也可以通過重新啟動操作系統來實現,但對于一些正在生產環境中運行的系統,一般要求進行系統維護時不影響系統的正常運作。通過以上兩個操作可以將系統的"總失效時間"降到最低。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态