原文发表于cu:2016-06-02

本文属于重发,ovs当前的安装方式可能略有不同。

参考文档:

  1. 官方文档: http://openvswitch.org/support/dist-docs-2.5/INSTALL.RHEL.md.html

在docker环境下搭建网桥,有传统的brctl工具(yum install -y bridge-utils),也可以采用扩展性/功能性更强大的open vswitch。

ovs安装的流程是需要下载源代码之后自行制作rpm安装程序,官方已经把工具集成打包完成,只需要按照步骤操作,即参考上方链接的文档就行。

一.前置条件

1. 环境

Server:CentOS-7-x86_64-1511

2. 软件

ovs官网:http://openvswitch.org/

截止2016年6月1日最新LTS版本下载地址:http://openvswitch.org/releases/openvswitch-2.5.0.tar.gz

二.安装OVS

1. 依赖包

[root@localhost ~]# yum install -y gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool 

2. 环境检查

#部分RHEL 6的kernel-devel包含1个错误的"build"链接,需要检查系统环境是否OK;
#如果"ll"命令能列出目录及目录所含的文件,表示系统环境没问题,如果报" No such file or directory"则需要修复这个错误;
#请注意红色粗体字部分,由系统内核决定。
[root@localhost ~]# ll /lib/modules/3.10.0-327.el7.x86_64/build/ #建立软链接的时候请注意红色粗体字部分保持一致(源处有多个类似的目录,选择与目的处显示的内核版本一致的目录即可);(可选项)修复步骤如下:
[root@localhost ~]# rm -f /lib/modules/3.10.0-327.el7.x86_64/build/*
[root@localhost ~]# ln -s /usr/src/kernels/3.10.0-327.el7.x86_64/ /lib/modules/3.10.0-327.el7.x86_64/build/ 

3. Building ovs

[root@localhost ~]# mkdir -p $HOME/rpmbuild/SOURCES/
[root@localhost ~]# cd $HOME/rpmbuild/SOURCES
[root@localhost SOURCES]# tar -zxvf openvswitch-2.5.0.tar.gz
[root@localhost SOURCES]# cd openvswitch-2.5.0 #在/root/rpmbuild/RPMS/x86_64目录生成2个rpm软件,分别是"openvswitch-2.5.0-1.x86_64.rpm"与"openvswitch-debuginfo-2.5.0-1.x86_64.rpm"(版本随采用的版本不同而不同);
#"--without check"参数可以关闭rpmbuild过程中的测试;
#如果报"configure: error: source dir /lib/modules/3.10.0-327.el7.x86_64/build doesn't exist或者类似的错,可以参考步骤2。
[root@localhost openvswitch-2.5.0]# rpmbuild -bb --without check rhel/openvswitch.spec

4. Build rhel 6 kernel module(可选)

#针对RHEL 6,需要build ovs的内核驱动;
#在/root/rpmbuild/RPMS/x86_64目录生成1个rpm软件" kmod-openvswitch-2.5.0-1.el7.centos.x86_64.rpm" (版本随采用的版本不同而不同)。
[root@localhost openvswitch-2.5.0]# cp rhel/openvswitch-kmod.files $HOME/rpmbuild/SOURCES
[root@localhost openvswitch-2.5.0]# rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec

5. 安装ovs

[root@localhost ~]# cd $HOME/rpmbuild/RPMS/x86_64
[root@localhost x86_64]# rpm -ivh openvswitch-2.5.0-1.x86_64.rpm
[root@localhost x86_64]# rpm -ivh openvswitch-debuginfo-2.5.0-1.x86_64.rpm 

6. 验证

[root@localhost ~]# ovs-vsctl -V

#开机启动
[root@localhost ~]# systemctl enable openvswitch.service #启动openvswitch
[root@localhost ~]# systemctl start openvswitch.service [root@localhost ~]# service openvswitch status
#或systemctl status openvswitch.service

Open vSwitch for CentOS的更多相关文章

  1. Install Open vSwitch on CentOS

    转载:http://cloud-mate.org/2015/06/installing-open-vswitch-centos-cloudstack/  June 5, 2015  Stuart Ne ...

  2. OVS-----CentOS7上搭建基于Open vSwitch的VxLAN隧道实验

    一.关于VXLAN VXLAN 是 Virtual eXtensible LANs 的缩写,它是对 VLAN 的一个扩展,是非常新的一个 tunnel 技术,在Open vSwitch中应用也非常多. ...

  3. Docker容器学习梳理 - 容器间网络通信设置(Pipework和Open vSwitch)

    自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求.容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信.下面将分别针对这两方面,对容 ...

  4. [qemu][cloud][centos][ovs][sdn] centos7安装高版本的qemu 以及 virtio/vhost/vhost-user咋回事

    因为要搭建ovs-dpdk,所以需要vhost-user的qemu centos默认的qemu与qemu-kvm都不支持vhost-user,qemu最高版本是2.0.0, qemu-kvm最高版本是 ...

  5. [cloud][OVS][sdn] Open vSwitch 初步了解

    What is Open vSwitch? Open vSwitch is a production quality, multilayer virtual switch licensed under ...

  6. Linux CentOS 配置Tomcat环境

    一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...

  7. Hyper-v 安装CentOS 7 (其他虚拟机一样参考)

    平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html hyper-v安装很多人没弄过,我这里介绍一下.(其他虚拟机参 ...

  8. ifconfig: command not found(CentOS专版,其他的可以参考)

    ifconfig: command not found 查看path配置(echo相当于c中的printf,C#中的Console.WriteLine) echo $PATH 解决方案1:先看看是不是 ...

  9. Centos 下 mysql root 密码重置

    重置mysql密码的方法有很多,官网也提供了很方便的快捷操作办法,可参考资料 resetting permissions .本文重置密码的具体步骤如下: 一.停止MySQL(如果处于运行状态) #se ...

随机推荐

  1. goldengate简单配置

    goldendate配置单项同步 源数据库    extract抽取进程 trail文件 复制进程 目标进程 由于最开始配置goldengate的时候,没有弄清除原理,导致出错了都不知道怎么解决. 最 ...

  2. pycharm多行注释

    选中需要注释的代码 ctrl+/ #首字母大写# test = 'alex'# v = test.capitalize()# print (v)## 字符串的加法# n1 = 'my '# n2 = ...

  3. js中的冒泡排序

    <!-- 冒泡排序:把一组数列按照一定的顺序进行排列,从大到小,或者从小到大 -->          // 控制循环的轮数          arr = [3,14,55,2,1,4,5 ...

  4. 每天一个linux命令(1):find命令之exec

    ind是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释:-exec 参数后面跟的是command命令, ...

  5. rpm与yum,at与crontab,sed命令使用

    1.简述rpm与yum命令的常见选项,并举例. rpm——软件包管理系统,它使得在Linux下安装.升级.删除软件包的工作变得容易,并且具有查询.验证软件包的功能. 1)安装选项 命令格式: rpm ...

  6. jqGrid 分页

    这两天一直在搞jqGrid分页,焦头烂额,不过还是有点收获的(主要是后台分页):   jqGrid分页可以分为两种,远程数据(服务器数据)分页和本地数据分页,     先看远程数据分页:   $(&q ...

  7. flex datagrid checkbox选中项目

    <?xml version="1.0" encoding="utf-8"?>  <mx:Application xmlns:fx=" ...

  8. 《信息安全技术》实验2——Windows口令破解

    实验2 Windows口令破解 在网络界,攻击事件发生的频率越来越高,其中相当多的都是由于网站密码泄露的缘故,或是人为因素导致,或是口令遭到破解,所以从某种角度而言,密码的安全问题不仅仅是技术上的问题 ...

  9. 20155226 2016-2017-2 《Java程序设计》课程总结

    20155226 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:师生关系 预备作业2:优秀技能经验 预备作业3:虚拟机linux初接触 第一周学习总结: ...

  10. 20155231 2016-2017-2 《Java程序设计》第3周学习总结

    20155231 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 学习目标 区分基本类型与类类型 理解对象的生成与引用的关系 掌握String类和数组 理解封 ...