openvswitch installation in Ubuntu

            在Ubuntu中安装openvswitch的时候,找了好多教程和资料,有英文有中文,有些文章不太清晰,导致安装了好久都没搞好,这次终于搞定,分享出来给大家。Ubuntu 及其衍生系统一样,博文只是做参考,还要视具体环境而定。

          Open vSwitch是一个高质量的、多层虚拟交换机,使用开源Apache2.0许可协议,由Nicira Networks开发,主要实现代码为可移植的C代码。它的目的是让大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接口和协议(例如NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)。此外,它被设计位支持跨越多个物理服务器的分布式环境,类似于VMware的vNetwork分布式vswitch或Cisco Nexus 1000 V。Open vSwitch支持多种linux 虚拟化技术,包括Xen/XenServer, KVM和VirtualBox。

           内核模块实现了多个“数据路径”(类似网桥),每个inerface都可以有多个“vport”(类似于桥内的端口)。每个数据路径也通过关联一下流表(flow table)来设置操作,而这些流表中的流都是用户空间在报文头和元数据的基础上映射的关键信息,一般的操作都是将数据包转发到另一个vport。当一个数据包到达一个vport,内核模块所做的处理是提取其流的关键信息并在流表中查找这些关键信息。当有一个匹配的流时它执行对应的操作。如果没有匹配,它会将数据包送到用户空间的处理队列中(作为处理的一部分,用户空间可能会设置一个流用于以后碰到相同类型的数据包可以在内核中执行操作)。

安装openvswitch

              首次按到官网下载最新源码包:http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz

              接下来将其解压到/home目录下。

              在终端中以root权限执行以下内容:

1. cd 到 /openvswitch-2.1.2.tar.gz 目录下,执行

# ./boot.sh

2.通过配置程序配置脚本,可以没有任何参数                     

                       # ./configure

默认情况下所有文件都在/usr/local目录下,也可以修改安装目录,如:

                      # ./configure --preficx=/usr --localstatedir=/var

3.在openvswitch-2.1.2.tar.gz/目录下运行GNU make :

                      #  make

4.若构建内核模块,可以安装和加载:

                       #  make modules_install

                       #  /sbin/modprobe openvswitch

5.使用ovsdb-tool初始化数据库:

                   #  mkdir -p /usr/local/etc/penvswitch

                  #  ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema

6.启动

开始0vs-vswitchd之前,需要启动它的配置数据库,ovsdb服务器。

# ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \

--remote=db:Open_vSwitch,Open_vSwitch,manager_options \

--private-key=db;Open_vSwitch,SSL,private_key \

--certificate=db:Open_vSwitch,SSL,certificate \

--bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \

--pidfile --detach

7.第一次安装后,需要初始化ovs-vsctl数据库

                       #  ovs-vsctl --no-wait init

8.然后启动ovs守护进程告诉它连接在同一个UNIX域套接字

                       # ovs-vswitchd --pidfile --detach

open vswitch常用操作

以下操作都需要root权限运行,在所有命令中br0表示网桥名称,eth0为网卡名称。

添加网桥:

         # ovs-vsctl add-br br0

列出open vswitch中的所有网桥:

         # ovs-vsctl list-br

判断网桥是否存在:

         # ovs-vsctl br-exists br0

将物理网卡挂接到网桥:

        # ovs-vsctl add-port br0 eth0

列出网桥中的所有端口:

          # ovs-vsctl list-ports br0

列出所有挂接到网卡的网桥:

         # ovs-vsctl port-to-br eth0

查看open vswitch的网络状态:

         # ovs-vsctl show

删除网桥上已经挂接的网口:

         #  ovs-vsctl del-port br0 eth0

删除网桥:

         # ovs-vsctl del-br br0


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值