Linux双网卡绑定和解除绑定的实现

合集下载

linux网卡绑定(多组)和解绑实现步骤

linux网卡绑定(多组)和解绑实现步骤

linux网卡绑定(多组)和解绑实现步骤2013年5月20日15:14绑定1.修改配置文件:a.在/etc/modprobe.conf中加入一行:alias bondN bonding,其中bondN是绑定后公用网口的名称,依实际情况而定,一般第一个绑定用bond0,第二个用bond1… ,如果已经有,不用添加,使用后也不用删除该行b.在所有待绑定网口的配置文件(/etc/sysconfig/network-scripts/)中加入以下两行:其中: ifcfg-ehtN中的N是待绑定的网口号,如eth0,eth1… bondN是绑定后的共用网口名称,可以是bond1,bond2…但是要与ifcfg-ethN和/etc/modprobe.conf这两个配置文件中的配置项对应起来。

c.添加绑定网口bondN的配置文件,在与ifcfg-ehtN平级的目录下添加ifcfg-bondN文件,键入以下内容:2.安装bonding内核模块:modprobe bondN3.重启网卡service network restart解绑1.卸载bonding内核模块:modprobe -r bondN2.删除ifcfg-bondN配置文件,删除ifcfg-ehtN配置文件中绑定时添加的两行。

3.重启网卡service network restart注意1.多组绑定需要将ifcfg-ethN文件中指定不同代理绑定网口,即bond0,1,2..。

2.ifcfg-bondN中将设备名、IP做响应修改。

3./etc/modprobe.conf文件中添加alias bondN bonding。

每隔bond端口用一行。

4.以上均为centos5.5中的配置,如果在6.0中,没有/etc/modprobe.conf,需要在/etc/modprobe.d目录中添加文件bonding.conf,将alias bondN bonding写入该文件中。

Linux下双网卡绑定(bonding技术)

Linux下双网卡绑定(bonding技术)

Linux下双⽹卡绑定(bonding技术)2013-08-20 15:39:31现在很多服务器都⾃带双千兆⽹⼝,利⽤⽹卡绑定既能增加⽹络带宽,同时⼜能做相应的冗余,⽬前应⽤于很多的场景。

linux操作系统下⾃带的⽹卡绑定模式,Linux bonding驱动提供了⼀个把多个⽹络接⼝设备捆绑为单个⽹络接⼝设置来使⽤,⽤于⽹络负载均衡及⽹络冗余。

当然现在⽹卡产商也会出⼀些针对windows操作系统⽹卡管理软件来做⽹卡绑定(windows操作系统没有⽹卡绑定功能需要第三⽅⽀持)。

我们公司是做分布式⽂件系统的,很多项⽬都⽤到⽹卡绑定来提⾼性能。

在⽹络找了很多资料,也做了⼤量的测试,下⾯就⽹卡绑定谈⼀下⾃⼰的看法。

⼀、 Bonding的应⽤1、⽹络负载均衡对于bonding的⽹络负载均衡是我们在⽂件服务器中常⽤到的,⽐如把三块⽹卡,当做⼀块来⽤,解决⼀个IP地址,流量过⼤,服务器⽹络压⼒过⼤的问题。

如果在内⽹中,⽂件服务器为了管理和应⽤上的⽅便,⼤多是⽤同⼀个IP地址。

对于⼀个百M的本地⽹络来说,⽂件服务器在多个⽤户同时使⽤的情况下,⽹络压⼒是极⼤的,为了解决同⼀个IP地址,突破流量的限制,毕竟⽹线和⽹卡对数据的吞吐量是有限制的。

如果在有限的资源的情况下,实现⽹络负载均衡,最好的办法就是bonding 。

2、⽹络冗余对于服务器来说,⽹络设备的稳定也是⽐较重要的,特别是⽹卡。

⼤多通过硬件设备的冗余来提供服务器的可靠性和安全性,⽐如电源。

bonding 也能为⽹卡提供冗余的⽀持。

把⽹个⽹卡绑定到⼀个IP地址,当⼀块⽹卡发⽣物理性损坏的情况下,另⼀块⽹卡也能提供正常的服务。

⼆、 Bonding的原理什么是bonding需要从⽹卡的混杂(promisc)模式说起。

我们知道,在正常情况下,⽹卡只接收⽬的硬件地址(MAC Address)是⾃⾝Mac的以太⽹帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。

但是⽹卡也⽀持另外⼀种被称为混杂promisc的模式,可以接收⽹络上所有的帧,⽐如说tcpdump,就是运⾏在这个模式下。

Linux双网卡绑定和解除

Linux双网卡绑定和解除

Linux双⽹卡绑定和解除⼀、传统的bond模式⽹卡绑定⼀定要在服务管理中关闭NetworkManager服务并禁⽤⾃动启动,因为centos中NetworkManager服务与network服务冲突,默认是由NetworkManager接管⽹络服务,所以传统⽅式重启会出现启动失败,错误⽇志⼀般如下所⽰,管理员就得回到机房接显⽰器配置⽹络连接。

以绑定eth0和eth1为例1.通过vim设置eth0的IP地址和eth1的IP地址。

[root@x101 network-scripts]# vim ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0 //将⽹卡指向bond0SLAVE=yesUSERCTL=[yes|no](⾮root⽤户是否可以控制该设备)[root@x101 network-scripts]# vim ifcfg-eth1DEVICE=eth1ONBOOT=yesNETBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0 //将⽹卡指向bond0SLAVE=yesUSERCTL=[yes|no](⾮root⽤户是否可以控制该设备)2.新建 /etc/sysconfig/network-scripts/ifcfg-bond0绑定配置⽂件[root@x101 network-scripts]# cat ifcfg-bond0DEVICE=bond0ONBOOT=yesNETBOOT=yesBOOTPROTO=noneTYPE=EthernetIPADDR=192.168.0.106PREFIX=24DNS=192.168.0.1NM_CONTROLLED=no[root@x101 network-scripts]#5.创建⽹卡绑定的驱动⽂件/etc/modprobe.d/⾃定义.conf,使得绑定后的⽹卡bond0能够⽀持绑定技术(bonding),同时定义⽹卡以mode6模式进⾏绑定,且出故障时⾃动切换时间为100毫秒ms,添加alias bond0 bondingoptions bond0 mode=6 miimon=100 max_bonds=2miimon是指多久时间要检查⽹路⼀次,单位是ms(毫秒)。

linux下多网卡绑定

linux下多网卡绑定

linux下多网卡绑定假定将eth0,eth1,eth2,eth3绑定成bond0,步骤如下:(1) #vi /etc/modprobe.conf, 添加如下2行:alias bond0 bondingoptions bonding miimon=100 mode=4当mode=0时,交换机相应端口不需要做trunk,但是从节点上ping网关(192.*.*.*)有较大的延时。

解决此问题的办法是把mode改成4,同时配置交换机相应端口开启链路聚合并捆绑为trunk。

在modprobe.conf文件中,miimon参数用来监测网卡物理连接,建议至少设为100mode参数用来设置绑定模式0 负载均衡(round robin策略)1 active/backup模式,同一时间只有一块网卡使用。

2 负载均衡(xor算法)3 广播模式4 802.3ad模式,lagp协议,带宽翻倍。

模式不能写错这里很容易出现不稳定的情况,多半是这里模式选择错了,所以在实施的时候需要小心,把模式确定了,然后在动手。

(2)修改/etc/sysconfig/network-scripts/目录下的ifcfg-bond0, ifcfg-eth0, i fcfg-eth1,ifcfg-eth2,ifcfg-eth3. 具体内容如下:[root@io102 network-scripts]# pwd/etc/sysconfig/network-scripts[root@io102 network-scripts]# cat ifcfg-bond0DEVICE=bond0BOOTPROTE=staticONBOOT=yesIPADDR=192.*.*.*NETMASK=255.255.255.0USERTCL=noGATEWAY=192.*.*.*[root@io102 network-scripts]# cat ifcfg-eth0DEVICE=eth0BOOTPROTO=noneONBOOT=yesTYPE=EthernetUSERTCL=noMASTER=bond0SLAVE=yes[root@io102 network-scripts]# cat ifcfg-eth1 DEVICE=eth1BOOTPROTO=noneONBOOT=yesTYPE=EthernetUSERTCL=noMASTER=bond0SLAVE=yes[root@io102 network-scripts]# cat ifcfg-eth2 DEVICE=eth2BOOTPROTO=noneONBOOT=yesTYPE=EthernetUSERTCL=noMASTER=bond0SLAVE=yes[root@io102 network-scripts]# cat ifcfg-eth3 DEVICE=eth3BOOTPROTO=noneONBOOT=yesTYPE=EthernetUSERTCL=noMASTER=bond0SLAVE=yes(3)查看bond0的状态[root@io102 ~]# more /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)Bonding Mode: IEEE 802.3ad Dynamic link aggregationMII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0802.3ad infoLACP rate: slowActive Aggregator Info:Aggregator ID: 1Number of ports: 4Actor Key: 17Partner Key: 480Partner Mac Address: 00:12:f2:cd:68:00Slave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 00:1e:0b:73:56:26Aggregator ID: 1Slave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 00:1e:0b:73:56:a2Aggregator ID: 1Slave Interface: eth2MII Status: upLink Failure Count: 0Permanent HW addr: 00:1e:0b:d5:34:d2Aggregator ID: 1Slave Interface: eth3MII Status: upLink Failure Count: 0Permanent HW addr: 00:1e:0b:d5:34:d0Aggregator ID: 1然后在交换机(这里的交换机是Foundry)端做TRUNK将同一台服务器的多个网卡捆绑成一条逻辑的线路来使用,提高服务器与交换机之间的带宽,并且能够负载均衡多个网卡上的流量,以及多个网卡之间的冗余当其中一个网卡坏了其它的网卡会平分坏网卡上的流量,并不影响服务器与交换机之间的数据转发。

Linux系统配置双网卡绑定bond0

Linux系统配置双网卡绑定bond0

Linux系统配置双⽹卡绑定bond01、bonding简述双⽹卡配置设置虚拟为⼀个⽹卡实现⽹卡的冗余,其中⼀个⽹卡坏掉后⽹络通信仍可正常使⽤,实现⽹卡层⾯的负载均衡和⾼可⽤性。

现在⼀般的企业都会使⽤双⽹卡接⼊,这样既能添加⽹络带宽,同时⼜能做相应的冗余,可以说是好处多多。

⽽⼀般企业都会使⽤linux操作系统下⾃带的⽹卡绑定模式,当然现在⽹卡产商也会出⼀些针对windows操作系统⽹卡管理软件来做⽹卡绑定(windows操作系统没有⽹卡绑定功能需要第三⽅⽀持)。

1.1 bonding原理⽹卡⼯作在混杂(promisc)模式,接收到达⽹卡的所有数据包,tcpdump⼯作⽤的也是混杂模式(promisc),将两块⽹卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进⾏处理。

1.2 Bonding模式(bonding mode)轮询策略(round robin),mode=0,按照设备顺序依次传输数据包,提供负载均衡和容错能⼒主备策略(active-backup),mode=1,只有主⽹卡处于⼯作状态,备⽹卡处于备⽤状态,主⽹卡坏掉后备⽹卡开始⼯作,提供容错能⼒异或策略(load balancing (xor)),mode=2,根据源MAC地址和⽬的MAC地址进⾏异或计算的结果来选择传输设备,提供负载均衡和容错能⼒⼴播策略(fault-tolerance (broadcast)),mode=3,将所有数据包传输给所有接⼝通过全部设备来传输所有数据,⼀个报⽂会复制两份通过bond下的两个⽹卡分别发送出去,提供⾼容错能⼒动态链接聚合(lacp),mode=4,按照802.3ad协议的聚合⾃动配置来共享相同的传输速度,⽹卡带宽最⾼可以翻倍,链路聚合控制协议(LACP)⾃动通知交换机聚合哪些端⼝,需要交换机⽀持 802.3ad协议,提供容错能⼒输出负载均衡模式(transmit load balancing),mode=5,输出负载均衡模式,只有输出实现负载均衡,输⼊数据时则只选定其中⼀块⽹卡接收,需要⽹卡和驱动⽀持ethtool命令输⼊/输出负载均衡模式(adaptive load balancing),mode=6,输⼊和输出都实现负载均衡,需要⽹卡和驱动⽀持ethtool命令2、⽹卡配置⽂件的配置2.1 配置环境 环境:系统CentOS 6.7 + 虚拟机 VMware 12 ⾄少两块物理⽹卡(VMware上添加eth0,eth1) 2.2 需要添加或修改的配置⽂件有5个(mode=1) 这5个配置⽂件是: /etc/sysconfig/network-scripts/ifcfg-eth{0,1} /etc/sysconfig/network-scripts/ifcfg-bond0 /etc/modprobe.d/dist.conf /etc/rc.local2.2.1 /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1,bonding0}修改或添加提⽰:先备份好eth0和eth1,再修改这⼏个⽂件以下是修改好的三个⽹卡配置⽂件的参数[root@ant network-scripts]# vimdiff ifcfg-eth0 ifcfg-eth1 ifcfg-bond02.2.2 修改/etc/modprobe.d/dist.conf⽂件在此⽂件中添加以下内容:alias bond0 bonding,表⽰系统在启动时加载bonding模块,对外虚拟⽹络接⼝设备为 bond0miimon=100,表⽰系统每100ms监测⼀次链路连接状态,如果有⼀条线路不通就转⼊另⼀条线mode=1,表⽰绑定模式为1primary=eth0,系统⾸先eth0作为bond0接⼝与外界信息的传输接⼝2.2.3 修改配置⽂件/etc/rc.local在此⽂件中添加以下内容:modprobe bonding miimon=100 mode=12.2.4 重启⽹络(service network restart),并查看三个接⼝的mac地址使⽤ifconfig命令显⽰,bond0,eth1,eth2物理地址相同,提⽰三个⽹卡均通过⼀个ip主机端⼝与外界通信但是,我们可以看到,在mode=1的情况下,当前bond0采⽤eth0通信,实际的物理⽹卡地址见下图:3、验证⽹络的连通性没有丢包,⽹络连通性可。

Linux双网卡绑定实现

Linux双网卡绑定实现

Linux双网卡绑定实现.txt*一篇一篇的翻着以前的的签名,那时候的签名有多幼稚就有多么的幼稚。

你连让我报复的资格都没有-〞好想某天来电显示是你的号码。

好想某天你的状态是为我而写。

有些人,我们明知道是爱的,也要去放弃,因为没结局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驱动程序处理。

说了半天理论,其实配置很简单,一共四个步骤:实验的操作系统是Redhat Linux Enterprise 3.0绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。

1.编辑虚拟网络接口配置文件,指定网卡IPvi /etc/sysconfig/ network-scripts/ ifcfg-bond0[root@redflag root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 2 #vi ifcfg-bond0将第一行改成 DEVICE=bond0# cat ifcfg-bond0DEVICE=bond0BOOTPROTO=staticIPADDR=172.31.0.13NETMASK=255.255.252.0BROADCAST=172.31.3.254ONBOOT=yesTYPE=Ethernet这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。

linux下双网卡绑定配置

linux下双网卡绑定配置

在linux下如何做双网卡绑定实现冗余?一、Linux Channel Bonding目前在各个发行版本的 Linux 中,使用最普遍的内核版本应该就是 2.4.x的版本了,而Linux Channel Bonding,在 Linux 2.4 的内核中,就提供了 bonding 的驱动,可以支持把多个网络适配器集合在一起,当作一个网络适配器来使用。

在 Linux 下,网卡的高可用性是通过 MII 或者 ETHTOOL 的状态监测来实现的,所以,需要检查系统中的网络适配器是否支持 MII 或者 ETHTOOL 的连状态监测。

可以用命令 "ethtool eth0" 来检查,如果显示的 "Link detected:" 信息与实现的连接状态一致,就没有问题。

如果系统中的网络适配器不支持 MII 或者 ETHTOOL 状态监测,当连接失效时,系统就不能检测到,同时,在 bonding 驱动加载时,会记录一条不支持 MII 和 ETHTOOL 的警告信息。

下面简单介绍一下实现的基本方法:首先,我们需要打开内核对 bonding 支持。

设置内核 "make menuconfig/xconfig/config",在"Network device support"区段中选择"Bonding driver support",建议设置该驱动程序为模块,这样才能支持给驱动传递参数和设置多个bonding设备。

生成并安装新的内核和模块。

Bonding 的设置我们需要在 /etc/modules.conf 中加入两行,这样才可以在设置了 bond 设置后,系统启动的时候自动加载 bonding 的驱动程序alias bond0 bondingoptions bond0 miimon=100 mode=1当mode=1时为主备模式,mode=0时为负载均衡模式。

Linux RedHat Entprise 5.3下双网卡绑定技术的实现

Linux RedHat Entprise 5.3下双网卡绑定技术的实现
alias eth0 igb
alias eth1 igb
alias bond0 bonding
options bonding max_bonds=1
alias scsi_hostadapter ata_piix
alias scsi_hostadapter1 lpfc
alias scsi_hostadapter2 qla2xxx
10:55:25 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:55:25 PM eth1 1.32 0.01 86.87 0.57 0.00 0.00 0.00
10:55:25 PM bond0 1.32 0.01 86.87 0.57 0.00 0.00 0.00
6、启动网卡绑定设备,导入bonding驱动
[root@localhost /]# modprobe -i bonding max_bonds=1
7、重启网络
[root@localhost /]# /etc/init.d/network restart
Shutting down interface bond0: [ OK ]
SLAVE=yes
HWADDR=00:0A:E4:17:38:9A
ONBOOT=yes
2、/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
MASTபைடு நூலகம்R=bond0
SLAVE=yes
HWADDR=00:0A:E4:17:38:9B
ONBOOT=yes
10:53:13 PM bond0 2.47 0.00 176.61 0.00 0.00 0.00 0.00
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux双网卡绑定和解除绑定的实现双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。

根据交换机可支持的功能不通,最常见的是设定为主备方式的双网卡绑定。

一、操作步骤这里以绑定两个网卡为示例描述。

配置文件都在/etc/sysconfig/network-scripts/目录下。

1、编辑新的ifcfg-bond0文件增加如下内容:引用# cat /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0IPADDR=192.168.1.155NETMASK=255.255.255.0ONBOOT=yesBOOTPROTO=noneUSERCTL=no这是最后bond0设备的实际IP设置。

2、分别编辑ifcfg-eth0和ifcfg-eth1文件引用# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none# cat /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none3、修改/etc/modules.conf文件# vi /etc/modules.conf添加如下内容:引用alias bond0 bondingoptions bond0 miimon=100 mode=1说明:引用miimon是用来进行链路监测的。

比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。

需根据交换机可提供的工作模式选择。

mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。

mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。

※注意:引用a、bonding只能提供链路监测,即从主机到交换机的链路是否接通。

如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。

b、设置的模式要与交换机设置的模式一致。

4、重启系统系统启动时,会自动加载bond模块和激活冗余网卡设置。

可使用以下命令进行判断:# ifconfig若确认bond0网卡已经激活,可通过插拔网线操作进行切换测试。

二、修改配置1、修改bond0网卡IP信息执行以下操作即可:# vi /etc/sysconfig/network-scripts/ifcfg-bond0修改其中IP信息,保存退出并使用以下命令重启网络:# /etc/init.d/network restart※注意:切勿在图形界面下来修改bond0的IP !若已经打开网络属性查看网卡信息,请按退出。

不要点确定,否则会修改eth0和eth1的配置信息,使bond0失效。

2、卸载bond0设备如需删除双网卡绑定系统,可执行以下操作:#rm -f /etc/sysconfig/network-scripts/ifcfg-bond0#vi /etc/etc/modules.conf然后删除以下两行后,保存退出引用alias bond0 bondingoptions bond0 miimon=100 mode=1最后重新配置eth0和eth1的IP,并重启网络即可。

三、自动化脚本从上面的步骤可见,都是固定化的工作,有朋友整理了一个脚本出来,我用记事本修改其中部分的内容,然后运行# ./newbond081006.sh即可,脚本如下:#!/bin/bashif [ $# -lt 6 ];thenecho "Usage: $0 <bond*> <eth*> <eth*> <ipaddress> <netmask> <gateway>"echo "eg: $0 bond0 eth0 eth1 10.0.0.1 255.255.255.0 10.0.0.254"exit 1fi#modify ifcfg-bond* fileecho "DEVICE=$1IPADDR=$4NETMASK=$5GATEWAY=$6ONBOOT=yesBOOTPROTO=noneUSERCTL=no" >/tmp/ifcfg-$1mv -f /tmp/ifcfg-$1 /etc/sysconfig/network-scripts/#modify ifcfg-eth0 fileecho "DEVICE=$2USERCTL=noONBOOT=yesMASTER=$1SLAVE=yesBOOTPROTO=none" >/tmp/ifcfg-$2mv -f /tmp/ifcfg-$2 /etc/sysconfig/network-scripts/#modify ifcfg-eth1 fileecho "DEVICE=$3USERCTL=noONBOOT=yesMASTER=$1SLAVE=yesBOOTPROTO=none" >/tmp/ifcfg-$3mv -f /tmp/ifcfg-$3 /etc/sysconfig/network-scripts/##modify network file#sed /GATEWAY/d /etc/sysconfig/network >/tmp/network#echo "GATEWAY=\"$6\"">>/tmp/network#mv -f /tmp/network /etc/sysconfig/#modify modules.cof/modprobe.cofMODCONF=/NULLTEMPFILE1=/tmp/mod1.$$TEMPFILE2=/tmp/mod2.$$BAKFILE=/etc/.modconfecho "Please Select Your Bond Mode:(balance-rr/active-backup)or(0/1)?"read MODEif [ -f /etc/modprobe.conf ]; thenMODCONF=/etc/modprobe.confelseMODCONF=/etc/modules.confficp $MODCONF $BAKFILEsed '/alias[ \t]*'$1'[ \t]*bonding/d;/options[ \t]*'$1'[ \t]*/d;/install.*'$1'/d' $MODCONF > $TEMPFILE1cp $TEMPFILE1 $TEMPFILE2if [ "$(grep "alias.*bonding" $TEMPFILE1)" != "" ]; thenbondcount=$(grep "alias.*bonding" $TEMPFILE1 | wc -l)elif [ "$(grep "install.*bond.*" $TEMPFILE1)" != "" ]; thenbondcount=$(grep "install.*bond.*" $TEMPFILE1 | wc -l)elsebondcount=0fiif [ "$bondcount" -ge 1 ]; thensed '/alias.*bonding/d;s/\(options[ \t]*\)\(bond[0-9]*\)/install\ \2\ \/sbin\/modprobe\ --ignore-install\ bonding\ -o\ \2/' $TEMPFILE1 > $TEMPFILE2echo "install $1 /sbin/modprobe --ignore-install bonding -o $1 miimon=100 mode=$MODE" >> $TEMPFILE2elseecho "alias $1 bonding" >> $TEMPFILE2echo "options $1 miimon=100 mode=$MODE" >> $TEMPFILE2fimv -f $TEMPFILE2 $MODCONF#restart networkecho "System will restart network continue(y/n)?"read bbif [ "$bb" = "y" ] || [ "$bb" = "yes" ] || [ "$bb" = "Y" ];thenfor tempmod in $(lsmod | grep -i bond | awk '{print $1}') domodprobe -r bonding -o "$tempmod"done/etc/init.d/network restartfiecho "OK!"exit 0。

相关文档
最新文档