CentOS7和rhel7配置主备模式端口聚合实现冗余目的

一、实施步骤

1、备份网卡目录# cp -r /etc/sysconfig/network-scripts/    /etc/sysconfig/network-scripts.bak

2、查看需要聚合的端口是否为“UP”状态:ethtool eth0 |grep "Link detected: yes"

2、创建脚本文件

3、chmox +x test.sh

4、运行脚本文件 ./test.sh

5、由于NetWorkManager服务和network服务两者有冲突,需关闭NetWorkManager服务,并永久关闭,再重启network服务。

6、脚本执行完毕查看聚合信息是否成功cat /proc/net/bonding/bond0

二、回退方案

1、查看状态聚合状态

# cat /proc/net/bonding/bond0

2、删除聚合端口

# rmmod bond0

3、把之前备份网卡目录覆盖掉当前的网卡目录

# cp -r  /etc/sysconfig/network-scripts.bak /etc/sysconfig/network-scripts

三、聚合脚本

1、主备模式脚本

为容错设定 active-backup 策略。数据传输将会通过第一个可用的 slave 接口接收和发送。只有在当前使用的绑定 slave 接口失败时才会使用另一个绑定 slave 接口。

#!/bin/bash
ethtool enp7s0f0 |grep "Link detected: yes"> /dev/null
if [ $? -ne 0 ] ;then
    echo Can not detect the link of enp7s0f0
    exit 1
fi

ethtool enp7s0f1 |grep "Link detected: yes"> /dev/null
if [ $? -ne 0 ] ;then
    echo Can not detect the link of enp7s0f1
    exit 1
fi

set_rhel7_bond_config ()
{
unset OPTIND
while getopts ‘b:m:i:n:g:s:t:‘ opt; do
    case $opt in
        b) bond_name=$OPTARG;;
        m) bond_mode=$OPTARG;;
        i) ip=$OPTARG;;
        n) mask=$OPTARG;;
        g) gateway=$OPTARG;;
        s) bond_opts=$OPTARG;;
        t) network_type=$OPTARG;;
    esac
done
bond_config_file="/etc/sysconfig/network-scripts/ifcfg-$bond_name"
echo $bond_config_file
if [ -f $bond_config_file ]; then
    echo "Backup original $bond_config_file to bondhelper.$bond_name"
    mv $bond_config_file /etc/sysconfig/network-scripts/bondhelper.$bond_name -f
fi

if [ "static" == $network_type ]; then
    if [ ! -n "$gateway" ]; then
        ip_setting="IPADDR=$ip
NETMASK=$mask
USERCTL=no"
    else
        ip_setting="IPADDR=$ip
NETMASK=$mask
GATEWAY=$gateway
USERCTL=no"
    fi
else
    ip_setting="USERCTL=no"
fi
cat << EOF > $bond_config_file
DEVICE=$bond_name
ONBOOT=yes
BOOTPROTO=$network_type
$ip_setting
BONDING_OPTS="mode=$bond_mode $bond_opts"
NM_CONTROLLED=yes
EOF
}
set_rhel7_bond_config -b bond0 -m 1 -i 192.168.43.51 -n 255.255.255.128 -g 192.168.43.2 -t static -s "miimon=100 primary=enp7s0f0"
set_rhel7_ethx_config()  {
    bond_name=$1
    eth_name=$2

    eth_config_file="/etc/sysconfig/network-scripts/ifcfg-$eth_name"
    if [ -f $eth_config_file ]; then
        echo "Backup original $eth_config_file to bondhelper.$eth_name"
        mv $eth_config_file /etc/sysconfig/network-scripts/bondhelper.$eth_name -f
    fi

    cat << EOF  > $eth_config_file
DEVICE=$eth_name
BOOTPROTO=none
ONBOOT=yes
MASTER=$bond_name
SLAVE=yes
USERCTL=no
NM_CONTROLLED=yes
EOF
}

set_rhel7_ethx_config bond0 enp7s0f0
set_rhel7_ethx_config bond0 enp7s0f1

echo "Network service will be restarted."
service network restart
cat /proc/net/bonding/bond0

2、负载均衡脚本

为容错和负载均衡设定 round-robin 策略。数据传输将会从第一个可用的 slave 接口开始,顺序地向每个绑定的接口发送和接收。

#!/ bin/bash

ethtool ens1f0 |grep "Link detected: yes"> /dev/null

if [ $? -ne 0 ] ;then

echo Can not detect the link of ens1f0

exit 1

fi

ethtool ens2f0 |grep "Link detected: yes"> /dev/null

if [ $? -ne 0 ] ;then

echo Can not detect the link of ens2f0

exit 1

fi

set_rhel7_bond_config ()

{

unset OPTIND

while getopts ‘b:m:i:n:g:s:t:‘ opt; do

case $opt in

b) bond_name =$OPTARG;;

m) bond_mode =$OPTARG;;

i) ip =$OPTARG;;

n) mask =$OPTARG;;

g) gateway =$OPTARG;;

s) bond_opts =$OPTARG;;

t) network_type =$OPTARG;;

esac

done

bond_config_file="/etc/sysconfig/network-scripts/ifcfg-$bond_name"

echo $bond_config_file

if [ -f $bond_config_file ]; then

echo "Backup original $bond_config_file to bondhelper.$bond_name"

mv $bond_config_file /etc/sysconfig/network-scripts/bondhelper.$bond_name -f

fi

if [ "static" == $network_type ]; then

if [! -n "$gateway"]; then

ip_setting="IPADDR=$ip

NETMASK=$mask

USERCTL=no"

else

ip_setting="IPADDR=$ip

NETMASK=$mask

GATEWAY=$gateway

USERCTL=no"

fi

else

ip_setting="USERCTL=no"

fi

cat << EOF > $bond_config_file

DEVICE=$bond_name

ONBOOT=yes

BOOTPROTO=$network_type

$ip_setting

BONDING_OPTS="mode=$bond_mode $bond_opts"

NM_CONTROLLED=yes

EOF

}

set_rhel7_bond_config -b bond0 -m 0 -i 192.168.43.51 -n 255.255.255.0 -g 192.168.43.254 -t static -s "miimon=100"

set_rhel7_ethx_ config( ) {

bond_name=$1

eth_name=$2

eth_config_file="/etc/sysconfig/network-scripts/ifcfg-$eth_name"

if [ -f $eth_config_file ]; then

echo "Backup original $eth_config_file to bondhelper.$eth_name"

mv $eth_config_file /etc/sysconfig/network-scripts/bondhelper.$eth_name -f

fi

cat << EOF > $eth_config_file

DEVICE=$eth_name

BOOTPROTO=none

ONBOOT=yes

MASTER=$bond_name

SLAVE=yes

USERCTL=no

NM_CONTROLLED=yes

EOF

}

set_rhel7_ethx_config bond0 ens1f0

set_rhel7_ethx_config bond0 ens2f0

echo "Network service will be restarted."

service network restart

cat /proc/net/bonding/ bond0

原文地址:https://www.cnblogs.com/xiaoliangxianshen/p/11691261.html

时间: 2024-10-29 19:12:15

CentOS7和rhel7配置主备模式端口聚合实现冗余目的的相关文章

CentOS6.5和CentOS7.0双网卡主备模式配置

双网卡主备模式配置(bond0) 1     简述 通过双网卡设置主备模式,实现当一块网卡宕掉时,另外一块网卡可以自动顶替宕掉的网卡工作,保障网络正常访问. 2     实现 2.1.  查看网卡信息 执行ifconfig -a命令 2.2.  修改网卡配置文件 切换工作目录 cd /etc/sysconfig/network-scripts/ 修改网卡配置文件ifcfg-eth0 ,保证以下几项内容正确: TYPE=Ethernet BOOTPROTO=dhcp ONBOOT=yes MAST

centos7 搭建双网卡bond1(主备模式)实例

前景须知: 在redhat6 中网卡叫bond,在redhat7及centos7中改名team,此处只记录centos7中双网卡主备搭建过程. 应用情景:实现网络的高可用,防止一条网线或交换机故障影响该物理机进行数据交互 此次环境是由于在上线业务之前是没有做Team的 ,现在由于要撤掉交换机过程期间需要将网线连接到另外一台交换机,为了防止数据中断,因此采用Team主备模式,这样断掉一个网卡就不影响业务,测试发现重启网卡时候会有3到4个丢包 环境:centos7  网卡1 ens192  网卡2 

redis演练(6) redis复制(主备模式)

redis是一款面向分布式的Nosql产品,天生对主备模式有很好的支持,而且配置一套完整的主备模式,非常简单.针对redis,主备模式配置非常简单,但线上意义重大. 主要内容 1.CAP理论 2.简单redis的复制原理 3.redis replaction相关配置参数解析 4.配置星型模型主备模式 5.配置有向无欢模型主备模式 1.研磨redis的复制与集群概念 redis的复制与集群,刚开始我把两者闹了个误会,在不断深入学习过程中及时改正了. 简单区分一下. redis复制:可以理解为把re

Nginx + Keepalived(主备模式)实现负载均衡高可用浅析

概述 目前关于负载均衡和高可用的架构方案能找到相当多且详尽的资料,此篇是自己学习相关内容的一个总结,防止将来遗忘再次重新查找资料,也避免踩相同的坑. 此次配置的负载均衡与高可用架构:Nginx + Keepalived(主备模式),Nginx 使用反向代理实现七层负载均衡. 众所周知,Nginx 是一款自由的.开源的.高性能HTTP服务器和反向代理服务器,也是一个IMAP.POP3.SMTP代理服务器. 也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进行HTTP服务处理,也可以

3.redis单节点及主备模式

1.单节点模式 单节点模式的配置,使用redis通用配置即可. (1)启动命令: 1 /path/to/redis-server /path/to/redis-6379.conf 注:配置文件名称只是示例,一般一台机器不止启动一个redis实例,使用端口区分配置文件是比较好的方式 (2)关闭命令: 1 /path/to/redis-cli -h <host> -p <port> -a '<password>' shutdown save 注:建议不要直接kill进程,会

centos6上实现双网卡绑定-主备模式

网卡绑定,将多块物理网卡绑定,对外呈现为一块逻辑网卡.这样做的好处一是增加带宽,二是提供冗余增加安全性.一般多用棱块网卡做绑定. 常见的网卡绑定模式有如下三种: mode0:轮询链路 mode1:主备链路 node3:广播链路 绑定后多块网卡对外提供一个ip地址个一个mac地址 本实验中以model1为例进行操作: 第1步: 在/etc/sysconfig/network-scripts/目录下创建绑定网卡文件,如 ifcfg-bond0 第2步; 编辑ifcfg-bond0 DEVICE=bo

L10 keepalived 基本使用(主备模式)

配置keepalive基本主备模式 配置说明: 要求默认情况下由节点node1提供服务,当节点node1不可用时,由节点node2提供服务(即虚拟IP漂移至节点node2). 节点node1 192.168.0.20 (主节点) 节点node2 192.168.0.21(备用节点) 虚拟IP(对外提供服务的IP 192.168.0.60 ping node 192.168.0.22(用于节点自身状态监测) 内容: 1,节点node1上的配置文件 2,节点node2配置 3,使用脚本防止脑裂. 4

【 Keepalived 】Nginx or Http 主-备模式

一.主-备模式: 操作系统:centos 6.4 x64 ka1: 192.168.2.10 ka2: 192.168.2.11 vip: 192.168.2.200 ka1-master服务器配置 [ka1 [email protected]192.168.2.10 ~]#yum install httpd keepalived -y # 这里使用apache代替nginx,效果是一样的,然后直接yum安装keepalived [ka1 [email protected]192.168.2.1

Linux RHEL6.4绑定双网卡主备模式

1.查看服务器版本 lsb_release -a 2.然后进入网卡信息目录:cd /etc/sysconfig/network-scripts 3.接着我们要新建一个文件,文件名为ifcfg-bond0,可以通过三种方式来创建. (vi ifcfg-bond0; touch ifcfg-bond0; cp ifcfg-eth0 ifcfg-bond0)这里我选择最后一种 执行 cp ifcfg-eth0 ifcfg-bond0 后在 /etc/sysconfig/network-scripts目