Linux 多网卡Bond自动化脚本

现状:

目前一台物理机4个网卡,em1-em2-em3-em4,需要实现1、2网卡绑定,3、4网卡绑定,模式为主备。即:一个网卡处于活动状态 ,一个处于备份状态,所有流量都在主链路上处理。当活动网卡down掉时,启用备份的网卡

附:linux有七种网卡绑定模式:0. round robin,1.active-backup,2.load balancing (xor),  3.fault-tolerance (broadcast), 4.lacp,  5.transmit load balancing, 6.adaptive load balancing。

自动化脚本如下:

function init_em() {
cat>/etc/sysconfig/network-scripts/ifcfg-em1<<EOF
DEVICE=em1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
EOF

cat>/etc/sysconfig/network-scripts/ifcfg-em2<<EOF
DEVICE=em2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
EOF

cat>/etc/sysconfig/network-scripts/ifcfg-em3<<EOF
DEVICE=em3
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no
EOF

cat>/etc/sysconfig/network-scripts/ifcfg-em4<<EOF
DEVICE=em4
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no
EOF
}

function init_bond() {
cat>/etc/sysconfig/network-scripts/ifcfg-bond0<<EOF 
DEVICE=bond0
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
IPADDR=$1
NETMASK=255.255.255.224
GATEWAY=27.111.176.33
USERCTL=no
EOF
cat>/etc/sysconfig/network-scripts/ifcfg-bond1<<EOF
DEVICE=bond1
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
IPADDR=$2
NETMASK=255.255.252.0
USERCTL=no
EOF
}

function init_other() {
cat>>/etc/modprobe.d/dist.conf<<EOF
# active bonding configuration
alias bond0 bonding
alias bond1 bonding
options bond0 mode=1 miimon=100 fail_over_mac=1
options bond1 mode=1 miimon=100 fail_over_mac=1
EOF
}

function init_dns() {
cat>/etc/resolv.conf<<EOF
; generated by /sbin/dhclient-script
nameserver 8.8.8.8
nameserver 4.4.4.4
options attempts:1 timeout:1
search localhost
EOF
}
if [ $# -ne 3 ]
then
        echo "args: sh a.sh Publick_IP  Native_IP HOSTNAME"
        exit 1
fi
init_bond $1 $2
init_em
init_other
init_dns
时间: 2024-10-10 15:44:58

Linux 多网卡Bond自动化脚本的相关文章

查看Linux服务器网卡流量小脚本shell和Python各一例

有时我们需要较为实时的查看服务器上的网卡流量,这里我写了两个小脚本,一个用shell(先写的,一次只能查看一个网卡),另一个用Python(后写的,一次可查看多个网卡).脚本中都用了while true"死循环",每隔10s从"/proc/net/dev"中取一次值并根据10s内的差值计算10s内的平均带宽:按ctrl+c停止执行.脚本兼容centos6和7 两个脚本都不太复杂,而且脚本中注释也比较细致,所以我就不过多解释脚本内容了.直接上图上脚本: shell版-

查看Linux服务器网卡流量小脚本shell

有时我们需要较为实时的查看服务器上的网卡流量,这里我写了个shell小脚本.脚本中用了while true"死循环",每隔10s从"/proc/net/dev"中取一次值并根据10s内的差值计算10s内的平均带宽:按ctrl+c停止执行.脚本兼容centos6和7,脚本不太复杂,而且脚本中注释也比较细致,所以我就不过多解释脚本内容了. 注:1kb=8字节,1Mb=1024kb #!/bin/sh   if [ "$1" = ""

Linux多网卡绑定(bond)及网络组(team)

Linux多网卡绑定(bond)及网络组(team) ??很多时候,由于生产环境业务的特殊需求,我们需要对服务器的物理网卡实施特殊的配置,从而来满足不同业务场景下对服务器网络的特殊性要求.如高并发的网络IO型业务,需要高速的网络IO,即对网卡的收收发包处理能力及网卡最大带宽速度等性能指标提出了更高的要求:事务处理型的系统,如金融交易系统.电商平台等,对物理网络线路.网卡等物理设备的稳定可靠性提出了更高的要求. ??Linux系统中,可以通过多网卡绑定(bonding)和网络组(team)等技术,

Linux双网卡绑定脚本

linux运维及配置工作中,常常会用到双网卡绑定,少数几台服务器的配置还好,如果是需要配置几十甚至上百台,难免会枯燥乏味,易于出错,我编写了这个双网卡绑定的辅助脚本,可傻瓜式地完成linux双网卡绑定工作,当然,该脚本主要还是用于小批量的系统配置,如需配置大量的服务器,可提取脚本中的bonding函数,稍作修改即可,你值得一试! 1.适用范围 该shell脚本可在以下linux系统创建多个绑定网卡,用于生产环境没问题的: Redhat 5.x CentOS 5.x Kylin 3.x KUX 2

Linux网卡bond的七种模式详解

像Samba.Nfs这种共享文件系统,网络的吞吐量非常大,就造成网卡的压力很大,网卡bond是通过把多个物理网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,具体的功能取决于采用的哪种模式. 一.bond的七种模式介绍:1.mode=0(balance-rr)(平衡抡循环策略)链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路.交换机需要配置聚合口,思科叫port channel.特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1-.一直循环

linux多网卡绑定聚合——bond技术

将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈.其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题.因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O). Linux的多网卡绑定功能使用的是内核中的"bonding"模块,关于此模块可以参考Linux Ethernet Bonding Driv

Linux多网卡绑定聚合链路—bond技术

Linux多网卡绑定聚合链路-bond技术 一.理论部分 将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈.其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题.因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O).Linux的多网卡绑定功能使用的是内核中的"bonding"模块,关于此模块可以参

Linux多网卡负载均衡 : bond

在这介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding.bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的.下面我们讨论一下bonding 的原理,什

Linux双网卡绑定bond详解--单网卡绑定多个IP

Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失. 相关的配置文件 /ect/hosts 配置主机名和IP地址的对应 /etc/sysconfig/network 配置主机名和网关 /etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推 一.网卡配置 假设我们要