首页 技术 正文
技术 2022年11月18日
0 收藏 906 点赞 4,592 浏览 1926 个字

网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。

生产环境服务器为:DELL

网卡为:光纤

bond需要修改涉及的网卡配置文件

/etc/network-scripts/ifcfg-em1
/etc/network-scripts/ifcfg-em2

  

需要新增配置文件

/etc/network-scripts/ifcfg-bond0

  

为了方便快速配置,我将配置文件放到了U盘(U盘中需要四个文件,配置好的ifcfg-em1,ifcfg-em2,ifcfg-bond0,脚本cfg.sh)中,通过脚本形式快速配置。

ifcfg-em1内容如下

DEVICE=em1
NAME=em1
HWADDR=80:18:44:ea:8b:b0
TYPE=Ethernet
ONBOOT=yes
MASTER=bond0
SLAVE=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no

  

ifcfg-em2内容如下

DEVICE=em2
NAME=em2
HWADDR=80:18:44:EA:8B:B1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes

  

ifcfg-bond0内容如下

DEVICE=bond0
TYPE=Bond
NAME=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.16.28.216
PREFIX=24
USERCTL=no
BONDING_MASTER=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
BONDING_OPTS="mode=4 miimon=100 downdelay=200 updelay=200 lacp_rate=1 xmit_hash_policy=2"
BONDING_SLAVE_0=em1
BONDING_SLAVE_1=em2
NM_CONTROLLED=no
GATEWAY=10.16.28.4

  

cfg.sh脚本内容如下

#脚本需要两个参数,本机需要配置的IP地址,本机的网关地址
ip=$1
gw=$2
#判断是否给定参数,执行脚本时没有给定参数,脚本退出
if [ $ip = '' -o $gw = '' ]
then
echo 'ip or gateway wrong'
exit
fi
#备份设备上原来的网卡信息,我的网卡名称为em1和em2
cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-em1.bak
cp /etc/sysconfig/network-scripts/ifcfg-em2 /etc/sysconfig/network-scripts/ifcfg-em2.bak
#将准备好的网卡配置文件拷贝到指定目录
cp /media/OMSA71-CENT/boot/ifcfg-* /etc/sysconfig/network-scripts/
#将原网卡hwaddr信息恢复到配置文件
cd /etc/sysconfig/network-scripts/
sed -i s/`grep HWADDR ifcfg-em1`/`grep HWADDR ifcfg-em1.bak`/ ifcfg-em1
sed -i s/`grep HWADDR ifcfg-em2`/`grep HWADDR ifcfg-em2.bak`/ ifcfg-em2
#替换配置文件中ip地址信息为本机ip地址
sed -i s/10.16.28.216/$ip/ ifcfg-bond0
#替换配置文件中网关地址信息为本机网关地址
sed -i s/10.16.28.4/$gw/ ifcfg-bond0
#查看更改后的配置信息
grep 10.16.28 ifcfg-bond0
#修改服务器启动方式为命令行方式,而不是图形界面形式
sed -i s/id:5:/id:3:/ /etc/inittab
sleep 5
#关闭iptables和selinux
servcie iptables stop
chkconfig iptables --level 12345 off
setenforce 0
sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
#人工重启设备,使配置生效[init 6]

  

脚本执行示例

#配置ip地址为10.16.28.200,配置网关地址为10.16.28.5
sh -x cfg.sh 10.16.28.200 10.16.28.5

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,556
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898