更新-----Scripts:执行双网卡绑定
#!/bin/bash
#-------------------------------------------------------------------------------
# Name: netbond
# Filename : netbond.sh
# Local: # What: 用于双网卡绑定
# HowTo : sh ./netbond.sh ethN ethN bondN ipaddr netmask gateway # Version : 1.1 2013.9.6 对输入进行判断,因为已经发生过一次输入错误导致配置失败
# 1.0 2013.9.3
# Release : 2013-9-3
# Author : Gtlions
# Copyright : Copyright (c) Gtlions 2013 <gtlions.l@gmail.com>
# Licence : <Gtlions's licence>
#-------------------------------------------------------------------------------
echo "You are logged in as `whoami`";
if [ `whoami` != root ]; then
echo "Must be logged as root run script."
exit 1
fi if [ x$5 = x ]; then
echo "Input Error!"
echo "Usage: sh ./netbond.sh ethN ethN bondN ipaddr netmask gateway"
exit 1
fi
SCRIPTFILE=$0
ETHN1=$1
ETHN2=$2
BONDN=$3
IPADDR=$4
NETMASK=$5
GATEWAY=$6
ETHN1FILE=/etc/sysconfig/network-scripts/ifcfg-$ETHN1
ETHN2FILE=/etc/sysconfig/network-scripts/ifcfg-$ETHN2
BONDFILE=/etc/sysconfig/network-scripts/ifcfg-$BONDN
ETHN1BAK=ifcfg-$ETHN1.bak
ETHN2BAK=ifcfg-$ETHN2.bak if [ `echo $ETHN1 |grep 'eth'|wc -l` -eq 0 ]; then
echo "Input Error: ethN1"
fi if [ `echo $ETHN2 |grep 'eth'|wc -l` -eq 0 ]; then
echo "Input Error: ethN2"
fi if [ `echo $BONDN |grep 'bond'|wc -l` -eq 0 ]; then
echo "Input Error: bondN"
fi #if [ `echo $IPADDR |awk -F'.' '{print NF-1}'` -eq 3 ]; then
# :
#else
# echo "Input Error: ipaddr"
#fi if [ `echo $IPADDR|grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$'|wc -l` -eq 0 ] ; then
echo "Input Error: ipaddr"
fi
if [ `echo $NETMASK|grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$'|wc -l` -eq 0 ] ; then
echo "Input Error: netmask"
fi
if [ `echo $GATEWAY|grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$'|wc -l` -eq 0 ] ; then
echo "Input Error: gateway"
fi if [ ! -f $ETHN1FILE ]; then
echo "Error!Not exist $ETHN1FILE"
exit 1
fi
if [ ! -f $ETHN2FILE ]; then
echo "Error!Not exist $ETHN2FILE"
exit 1
fi
if [ -f $BONDFILE ]; then
echo "Error!Exist $BONDFILE"
exit 1
fi echo "Set Info: $ETHN1 AND $ETHN2 will bond to $BONDN : $IPADDR,$NETMASK,$GATEWAY"
echo "Go On?[Y/N]"
read GOON
GOON1=`echo $GOON |tr 'a-z' 'A-Z'|cut -c1`
if [ $GOON1 = "Y" ]; then cp $ETHN1FILE ETHN1BAK
cp $ETHN2FILE ETHN2BAK
if [ -f ETHN1BAK ] && [ -f ETHN2BAK ] ; then
echo -e "DEVICE=$BONDN\nONBOOT=yes\nTYPE=Ethernet\nUSERCTL=yes\nBOOTPROTO=static\nIPADDR=$IPADDR\nNETMASK=$NETMASK\nGATEWAY=$GATEWAY">$BONDFILE
chmod 644 $BONDFILE
echo -e "DEVICE=$ETHN1\nONBOOT=yes\nBOOTPROTO=none\nTYPE=Ethernet\nUSERCTL=yes\nMASTER=$BONDN\nSLAVE=yes">$ETHN1FILE
echo -e "DEVICE=$ETHN2\nONBOOT=yes\nBOOTPROTO=none\nTYPE=Ethernet\nUSERCTL=yes\nMASTER=$BONDN\nSLAVE=yes">$ETHN2FILE cat /etc/modprobe.conf |grep "$BONDN">null
RESULT=$? if [ $RESULT -eq 1 ] ; then
echo -e "alias $BONDN bonding\noptions $BONDN miimon=100 mode=1">>/etc/modprobe.conf
fi cat /etc/rc.d/rc.local|grep "$BONDN">null
RESULT=$? if [ $RESULT -eq 1 ] ; then
echo -e "ifenslave $BONDN $ETHN1 $ETHN2">>/etc/rc.d/rc.local
fi echo "Done!Pls reboot system!"
fi
else
echo "Cancel!"
fi
更新-----Scripts:执行双网卡绑定的更多相关文章
- Linux下双网卡绑定(bonding技术)
Linux网卡绑定探析 2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的 ...
- 做双网卡绑定_______物理机在双网卡的情况下做多IP绑定
公司的环境是这样的: 一台物理机需要做双网卡绑定,同时呢,在双网卡绑定的同时还要做多IP. 其实整个过程可以分为两个步骤: 第一个,物理机先做双网卡. 第二个,在bond上做多IP实例. 双网卡绑定的 ...
- Centos 7.6 双网卡绑定实现高可用
Centos 7.6 双网卡绑定实现高可用 作者:尹正杰 版权声明:原创作品, 谢绝转载!否则将追究法律责任. 一.Bond模式概述 当linux系统上有多个单独网卡,又想充分利用这些网卡,同时对外提 ...
- Linux双网卡绑定bond详解--单网卡绑定多个IP
Linux双网卡绑定bond详解 1 什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及 ...
- (转)深度分析Linux下双网卡绑定七种模式
现在一般的企业都会 使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在 网卡产商也会出一些针对window ...
- Linux双网卡绑定和解除绑定的实现
双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.根据交换机可支持的功能不 ...
- 深度分析Linux下双网卡绑定七种模式
现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操 ...
- Oracle 11gR2 RAC 单网卡 转 双网卡绑定 配置步骤
之前写过一篇双网卡绑定的文章,如下: Oracle RAC 与 网卡绑定 http://blog.csdn.net/tianlesoftware/article/details/6189639 Ora ...
- Linux双网卡绑定和解除
转载双网卡绑定和解除 一定要在服务管理中关闭NetworkManager服务并禁用自动启动,因为NetworkManager服务是实时生效的,一旦设置错,管理员就得回到机房接显示器配置网络连接. 以 ...
随机推荐
- 迭代 Iterate
迭代:指按照某种顺序逐个访问列表中的每一项.比如:for语句 逐个访问: lst = ['q', 'i', 'w', 's', 'i', 'r'] for i in lst: print (i), # ...
- PHP你可能也会掉入的坑
今天被人问: $var = 'test'; if (isset($var['somekey'])) { echo 'reach here!!!'; } 会不会输出'reach here!!!'? -- ...
- 利用Unicorn和Idaemu辅助解决Geekpwn SecretCode
在前面的些文章里,我提到了怎么交叉编译Unicorn-engine,以及在windows上使用Unicorn python bindings进行分析程序.这一次我介绍下如何使用Unicorn-engi ...
- .NET批量大数据插入性能分析及比较
数据插入使用了以下几种方式 1. 逐条数据插入2. 拼接sql语句批量插入3. 拼接sql语句并使用Transaction4. 拼接sql语句并使用SqlTransaction5. 使用DataAda ...
- 细讲encodeURI和encodeURIComponent以及escape的区别与应用
首先,我们都知道这三个东西都是用来编码的 先来说encodeURI()和encodeURIComponent() 这两个是在转换url时候用来编码解码用的. 有编码就会有解码, 解码就是decodeU ...
- web并发模型
并发:cpu划分时间片,轮流执行每个请求任务,时间片到期后,换到下一个. 并行:在多核服务器上,每个cpu内核执行一个任务,是真正的并行 IO密集型的应用,由于请求过程中很多时间都是外部IO操作,CP ...
- jquery动态删除、复制、包裹DOM节点
1.remove()方法 移除满足条件的元素 <html> <head> <meta http-equiv="Content-Type" conten ...
- java集合之Map_keySet_entrySet
keySet()的使用:该方法返回的是一个key对象的Set<E>集合,通过该set集合的对象调用iterator方法返回一个迭代器,通过该迭代器可访问到set集合里面的key 再调用Ha ...
- linux中运行python
1.在终端中输入: python **.py 2.最爽的方法: emacs中配置python运行环境.
- asp.net js 获取服务器控件值
最近在弄js 但是设计到获取服务器控件的值,有点模糊.百度查了资料都达不到效果.现在看看这个,希望朋友们能用上!! <asp:Label ID="lbDepartName" ...