https://blog.51cto.com/sf1314/2073519

服务器eth0与eth1作bonding,捆绑成bond0接口,服务器对端交换机端口,同属于100、101号vlan接口

vlan 100: 10.104.100.253/24                     vlan 101: 10.104.101.253/24

1.交换机端没有打VLAN,则需要在服务器端网卡打tag

Center OS 7.2 网卡配置VLAN TAG

2、确认内核是否已经载入802.1q模组: lsmod|grep 8021q,

如果没有使用一下命令将模组载入内核:modprobe -a 8021q

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

1)检查是否存在NetworkManager服务,如果存在就卸载(这一步必须执行)

rpm –aq|grep NetworkManager
rpm –e NetworkManager --nodeps
 

2)查找插线的网卡(或者用ip a s查看网卡state后面的状态是否UP or DWON)

ethtool eth0|grep Speed    Speed: 1000Mb/s(插线)
ethtool eth1|grep Speed Speed: Unknown!(未插线)
 

3)编辑网卡配置

eth0配置:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes NAME=eth0
DEVICE=eth0
HWADDR=d0:94:66:14:79:01
 

eht1配置:

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes NAME=eth1
DEVICE=eth1
HWADDR=d0:94:66:14:79:03
 

bond0配置:(/etc/sysconfig/network-scripts/ifcfg-bondX删除对应bond的IP和dns配置信息)

DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.202.48.41
NETMASK=255.255.255.0
GATEWAY=10.202.48.1
 

bond0.101配置:

DEVICE=bond0.101

BOOTPROTO=static

BROADCAST=10.202.16.255

IPADDR=10.202.16.11

NETMASK=255.255.255.0

GATEWAY=10.202.16.1

NETWORK=10.202.16.0

ONBOOT=yes

VLAN=yes

4)注意事项

需要与网络管理员进行沟通,在交换机是否标记vlan标签

如果交换机那边没有打标签,则需要在服务器端打TAG vlan标签,需要配置bond0.101配置(需要bond0和bond0.301两个配置文件)

如果交换机那边打标签,则不需要在服务器端打TAG vlan标签,只配置到bond0即可

5)配置网卡模块服务

编辑/etc/modprobe.d/bonding.conf文件,添加

alias bond0 bonding

options bond0 mode=1 miimon=100

注意:#此处建议使用mode=4,需要在交换机上开启802.3ad协议

编辑/etc/rc.sysinit文件(没有这个文件就添加到/etc/rc.local),添加

modprobe 8021q

6)启动网络服务

modprobe bonding

modprobe 8021q

之后使用service network restart重启网络服务

提醒,需要读取bonding.conf文件,要重启服务器

3、创建vlan网卡配置文件,

(例如创建服务器网段vlan176):cp一个原bond网卡配置命名为bond0.176,vi修改内容如下,

增加一行 VLAN=yes

修改DEVICE=bond0.176

配置IP、掩码、网关

完成后重启网络 service network restart

查看vlan配置 cat /proc/net/vlan/config 有对应的dev name和vlanid即可

ping网络是否通,ping自身网关是否通,ping docker段vlan网关是否通,ping NTP服务器是否通。

=================================================================================================================

实际案例:

情况:网络交换机未打标签,需要在Linux服务器上打TAG,并对双网卡做双活

# rpm –aq|grep NetworkManager
# rpm –e NetworkManager --nodeps
# lsmod|grep 8021q #如果没有使用一下命令将模组载入内核:modprobe -a 8021q
# modprobe bonding
# modprobe 8021q
# vi /etc/rc.local
....
modprobe bonding
modprobe 8021q # ip a s #查看网卡ens6f0和ens6f1是否为up的状态 # cd /etc/sysconfig/network-scripts/ # vi ifcfg-ens6f0
TYPE=Ethernet
DEVICE=ens6f0
NAME=ens6f0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
HWADDR=d0:94:66:14:79:01 #vi ifcfg-ens6f1
TYPE=Ethernet
DEVICE=ens6f1
NAME=ens6f1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
HWADDR=d0:94:66:14:79:02 # vi ifcfg-bond0
DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
ONBOOT=yes
BOOTPROTO=none
USERCTL=no # vi ifcfg-bond0.101
DEVICE=bond0.101
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
IPADDR=10.104.101.3
NETMASK=255.255.255.0
NETWORK=10.104.101.0
BROADCAST=10.104.101.255
GATEWAY=10.104.101.253
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=802.3ad miimon=100 lacp_rate=fast"
VLAN=yes # cd /etc/modprobe.d/ # vi bonding.conf
alias bond0 bonding
options bond0 miimon=100 mode=1 # service network restart #或systemctl restart network 最后重启系统
 

ping 10.104.101.3  查看packet loss包的掉包率

------------------------------------------------------------

在以上做bond的基础上,绑定MYSQL VIP地址:

MYSQL+keepalived高可用的配置: https://blog.51cto.com/sf1314/2073383

linux-Centos 7下bond与vlan技术的结合[推荐]的更多相关文章

  1. linux-Centos 7下bond与vlan技术的结合

    服务器eno1与eno2作bonding,捆绑成bond0接口,服务器对端交换机端口,同属于301.302号vlan接口 vlan 301: 10.1.2.65/27                  ...

  2. Linux/centos/redhat下各种压缩解压缩方式详解

    1.zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d ...

  3. Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

    原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...

  4. 在云服务器 ECS Linux CentOS 7 下重启服务不再通过 service 操作,而是通过 systemctl 操作

    在云服务器 ECS Linux CentOS 7 下重启服务不再通过 service  操作,而是通过 systemctl 操作. 操作说明如下: 1. 查看 sshd 服务是否启动: 看到上述信息就 ...

  5. Linux/CentOS环境下如何安装和配置PhantomJS工作环境

    PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...

  6. linux CentOS 系统下如何将php和mysql命令加入到环境变量中

    在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时, ...

  7. Linux CentOS 7 下 JDK 1.7 安装与配置

    前言 简单记录一下在CentOS 7中安装配置JDK 1.7的全过程~ 下载 首先是jdk 1.7 64bit & 32bit的下载地址: jdk-7u79-linux-x64.tar.gz  ...

  8. Linux CentOS 7 下 Apache Tomcat 7 安装与配置

    前言 记录一下Linux CentOS 7安装Tomcat7的完整步骤. 下载 首先需要下载tomcat7的安装文件,地址如下: http://mirror.bit.edu.cn/apache/tom ...

  9. Linux CentOS 7下Memcached 安装与配置

    前言 本篇文章记录一下Linux CentOS 7中关于Memcached的安装与配置. 安装 安装memcached之前首先需要安装libevent,我这里用的版本是: •libevent-2.0. ...

随机推荐

  1. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_05 List集合_3_LinkedList集合

    链表实现,查询慢,增删快 addFirst 集合的开头添加 push等效于addFirst addLast getFirst和getLast clear 清空后 又输出 isEmpty 不为空才去获取 ...

  2. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第6节 Lambda表达式_1_函数式编程思想概述

    函数式编程和面向对象的区别

  3. MVC 源码系列之路由(一)

    路由系统 注释:这部分的源码是通过Refector查看UrlRoutingModule的源码编写,这部分的代码没有写到MVC中,却是MVC的入口. 简单的说一下激活路由之前的一些操作.一开始是由MVC ...

  4. 解决gson解析long自动转为科学计数的问题

    不废话,直接上代码: public class GsonUtils { public static Gson getMapGson(){ Gson gson=new GsonBuilder().reg ...

  5. C# 捕获全局异常

    一.在Winform程序中捕获全局异常 在winfrom中我们需要了解Application对象中的两个事件 ①Application.ThreadException 事件--当UI线程中某个异常未被 ...

  6. 【ABAP系列】SAP 生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 生产订单完工确认(CO1 ...

  7. Bootstrap 学习笔记 项目实战 响应式导航栏

    导航代码HTML: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&q ...

  8. Python基础-1 python由来 Python安装入门 注释 pyc文件 python变量 获取用户输入 流程控制if while

    1.Python由来 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚 ...

  9. 两台电脑使用ROS通讯

    一.ROS分布式多机通讯简介 ROS是一种分布式软件框架,节点之间通过松耦合的方式组合,在很多应用场景下,节点可以运行在不同的计算平台上,通过Topic,Service通信. 但是各个节点只能共同拥有 ...

  10. 多线程03-Abort

        );             t.Abort();             Console.WriteLine(; i < ; i++)             {            ...