1 软件安装

1.1测试环境和网络拓朴

大部分朋友估计也没有一个真实环境来完全整个的测试,所以我也是使用了在一台PC机上使用Vmware Workstation的方式来进行实验。总体结构是在PC机上安装vmware,vmware上安装fedora_17 64bit,然后在fedora上安装kvm以及openvswitch.在KVM里面安装了centos6.4,并且是最小化安装。我的拓朴图是在完全环境下,其实可以每个fedora17上只起一台或者两台KVM虚拟机,并不需要这么多。

网络交换机,是在单独一台VMWARE虚拟机上安装web-iou的cisco模拟器,因为web-iou支持带lacp的链路聚合,可以和openvswitch进行带lacp的bonding的实验。

这是实验环境,在实际操作中,我还会给每台vmware虚拟机多加一块eth虚拟网卡,并且每个网卡都桥接到真实网络环境,这样子就可以远程securtcrt和vnc进行实验操作了。我这个拓朴是完整的,包括bond也算在内,只是一般测试的话只需要安装一个eth的web-iou和一个eth的fedora 17就可以完全测试。

系统为fedora-17 64位,版本为3.3.4-5.fc17.x86_64

网络拓朴如下:

完整测试环境:

单台测试环境:

1.2需要安装的软件包

软件包版本要求:

Gcc: 4.1 or 4.2 or 4.3

Automake:高于1.10

Autoconf:高于2.64

Python:高于2.4

Pkg-config:高于0.22

Perl:高于5.10.1

要有openssl,openssl-devel,PyQt4,kernel-devel-3.3.4-5.fc17.x86_64(这个对应系统的kernel版本)

请使用rpm –qa | grep XX命令,去检查软件版本

我的环境里只单独安装了如下软件:

yum install gcc openssl openssl-devel

yum install kernel-devel-3.3.4-5.fc17.x86_64  //对应系统版本的kernel-devel

yum install rpm-build

yum install wget

1.2下载安装openvswitch

从官方网站http://openvswitch.org/中下载Open vSwitch源代码包,在本部署中,使用官方的LTS版本,1.9.0版本,下载链接:http://openvswitch.org/releases/openvswitch-1.9.0.tar.gz,使用如下命令:

mkdir -p $HOME/rpmbuild/SOURCES

cd $HOME/rpmbuild/SOURCES

wget http://openvswitch.org/releases/openvswitch-1.9.0.tar.gz

tar -xzvf openvswitch-1.9.0.tar.gz

cd openvswitch-1.9.0

rpmbuild -bb rhel/openvswitch.spec

rpmbuild -bb -D "kversion $(uname -r)" -D "kflavors default" rhel/openvswitch-kmod-fedora.spec

安装openvswitch的模块

rpm -Uhv ~/rpmbuild/RPMS/x86_64/openvswitch-kmod-1.9.0-1.fc17.x86_64.rpm

rpm -Uhv ~/rpmbuild/RPMS/x86_64/openvswitch-1.9.0-1.x86_64.rpm

我的环境里是x86_64目录下的,当然也有可能就是直接在RPMS目录下的rpm文件

启动openvswitch

systemctl start openvswitch.service

添加自启动

chkconfig openvswitch on

检测软件安装情况

rpm -qa | grep openvswitch

ps -ae | grep ovs

ovs-vsctl show

1.4安装ovsdbmonitor

yum install ovsdbmonitor  

在我自己的环境里并没有进行安装,因为安装ovsdbmonitor的时候,要求要我的系统进行python版本从2.7.3-6升级到2.7.3-7,python版本的升级是一个麻烦的事情,牵扯到的东西太多,所以直接不安装。

1.5安装KVM

     请直接参照我的另外一个帖子《(原创)FEDORA 17安装KVM虚拟机

两台fedora 17,其实只安装了一台,然后就直接通过vmware的clone克隆功能克隆了一个完全一样的虚拟机,当然这个是在openvswitch以及kvm还有kvm里面的centos系统安装完全后进行的克隆。kvm里面的centos也是只安装一台,其它也是通过克隆的方式生成。

1.5.1.嵌套虚拟化的实现条件

因为我们是在vmware虚拟机里面建立kvm的虚拟机,算是嵌套虚拟化的范畴了,所以要满足一些条件才能进行

a.CPU要支持嵌套虚拟化,并且要在BIOS里开启虚拟化支持。

b.在vmware虚拟机设置里面进行虚拟化支持的配置,要能开始intel VT-x/EPT或者AMD-V/RVI,如下

5.2.1.KVM中centos虚拟机的创建注意点

KVM中虚拟机的创建过程在这里就不做讲述,只有几个点讲一下

1.为了硬盘的效率,在创建的硬盘类型里要选择Virtio,并且为了实际硬盘空间着想,考虑选择qcow2格式。

2.同样也把网卡类型选择为Virtio类型。

3.把video类型选择为QXL模式。

4.其实KVM虚拟机只要安装一台就可以了,然后就可以使用KVM的clone功能再克隆两台同样的虚拟机。

5.这一台fedora完全部署好了后,可以直接使用vmware的clone功能,克隆一个fedora的克隆链接就可以了,这样子可以省去很多时间。

(原创)openvswitch实验连载1-fedora 17下安装openvswitch的更多相关文章

  1. Fedora 17 下安装codeblocks

    Fedora 17 下安装codeblocks:        1.直接从yum源安装:        sudo yum install codeblocks        2.源码安装        ...

  2. Fedora 17下安装Oracle 10g详细图文教程

    一.硬件要求——内存 & swap & 硬盘 最小内存与swap: 1 GB of RAM & swap 建议内存与swap: 2 GB of RAM & swap [ ...

  3. Fedora 16下安装ruby on rails

    Fedora 16下安装ruby on rails 最近在windows下写了些rails小程序,问题一个接一个,到最后终于坚信了那句话“windows不适合用于ruby on rails开发”.于是 ...

  4. Fedora 17下交叉编译vlc-2.0.6-win32小记

    关于编译windows下的vlc网上的教程除了翻译N年前wiki官网的那些蚂蚁文之外,可以说基本没啥参考意义和价值.因为那些都是非常老的版本,0.8.x或者1.x.x,而我这个人有喜欢新鲜事儿,所以就 ...

  5. 在Fedora 22下安装配置RealVNC Server 5.2.3的经验总结

    RealVNC是目前功能最全.性能最好的VNC商业软件套件,很多时候为了确保性能和功能的统一,还是大量地在使用RealVNC.最近在Fedora 22工作站上安装RealVNC Server 5.2. ...

  6. (原创)openvswitch实验连载2-cisco模拟器IOU-Web安装及网络环境配置

    IOU的使用可以选择自己到官网https://docs.google.com/file/d/0B2AgRhS2cfxCQ01tN2NrQ0pvNUk/edit下载iou-web 软件,然后部署在lin ...

  7. Fedora 20下安装官方JDK替换OpenJDK并配置环境变量

    Fedora 20自带OpenJDK,所以如果安装官方的JDK的话要先删除OpenJDK,步骤如下: 1:rpm -qa|grep jdk 查看当前的jdk情况. 2:yum -y remove ja ...

  8. Fedora Linux 下安装配置C开发环境Code::Blocks

    一.提前的话要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便 ...

  9. fedora 20下安装vim的C++补全插件clang_complete

    1.安装clang yum install clang 2.安装clang_complete插件 git clone https://github.com/Rip-Rip/clang_complete ...

随机推荐

  1. getsockopt/setsockopt 函数说明

    [ getsockopt/setsockopt系统调用]       功能描述: 获取或者设置与某个套接字关联的选 项.选项可能存在于多层协议中,它们总会出现在最上面的套接字层.当操作套接字选项时,选 ...

  2. C/C++编译预处理命令详解【转】

    1.       预处理程序  按照ANSI标准的定义,预处理程序应该处理以下指令: #if #ifdef #ifndef #else #elif #endif #define #undef #lin ...

  3. PHP编码规范整理,很全很实用(图文版)

    有一个组织叫做“php互操作性框架制定小组”,这个小组的主要目的是制定各种PHP编码规范的,下面就是我根据小组提供的建议整理的一些常用的编码规范. PSR-1: 1.PHP代码文件必须以<?ph ...

  4. 宿主进程 vshost.exe

    Hosting Process (vshost.exe) 宿主进程是VS的一个特性.可以提高调试的性能,可以进行部分信任调试(partial trust debugging),可以进行设计时表达式计算 ...

  5. xerox Network system

    XNS协议 IPX/SPX 是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序 ...

  6. HDU3966-Aragorn's Story(树链剖分)

    第一道树链剖分. 早就想学..一直懒.. 感觉还是比较简单的. 主要是要套其他数据结构,线段树大概还好,平衡树之类的肯定就跪了. http://blog.csdn.net/acdreamers/art ...

  7. Android实例-消息框(XE8+小米2)

    方法一支持. 方法二与方法三都是三方单元,功能相同. 方法4与方法5报错,提示平台不支持. 第三方单元一: unit Android.JNI.Toast; // Java bridge class i ...

  8. ACCESS-关于DELPHI中操作ACCESS数据库中单精度数据的问题

    在近日几个帖子里面,和QQ群的讨论里面,我发现很多网友都遇到的问题都是因为不恰当地使用了单精度/双精度数值.因此想专门就这个话题谈一下. 单精度和双精度数值类型最早出现在C语言中(比较通用的语言里面) ...

  9. 虚方法(virtual)和抽象方法(abstract)的区别

    注:本文转载自 http://www.cnblogs.com/michaelxu/archive/2008/04/01/1132633.html 虚方法和抽象方法都可以供派生类重写,它们之间有什么区别 ...

  10. SQL 存储过程(学生,课程表,选修表)

    SQL 存储过程(学生,课程表,选修表) 一.存储过程的分类 在SQL Server中存储过程分过两类: 1)系统存储过程("sp_"作为前缀) 2)用户自定义存储过程 二.创建和 ...