分享

Open vSwitch 安装及配置与文档下载

rsgg03 发表于 2013-11-14 20:48:14 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 5 13622
Open vSwitch 安装及配置
一、 Open vSwitch 简介
1.1 概述
Open vSwitch是一个高质量的、多层虚拟交换机,使用开源Apache 2.0许可协议。它的目的是让大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接口和协议(例如NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)。此外,它被设计位支持跨越多个物理服务器的分布式环境,类似于VMwarevNetwork分布式vswitchCisco Nexus 1000 V
31213404_sqzy.jpg



Open vSwitch 支持多种 linux 虚拟化技术,包括 Xen/XenServerKVM,和 VirtualBox
1.2 模块介绍
当前最新代码包主要包括以下模块和特性:
ovs-vswitchd 主要模块,实现 switch daemon,包括一个支持流交换的 Linux 内核模块;
ovsdb-server 轻量级数据库服务器,提供 ovs-vswitchd 获取配置信息;
ovs-brcompatd ovs-vswitch 替换 Linux bridge,包括获取 bridge ioctls Linux 内核模块;
ovs-dpctl 用来配置 switch 内核模块;
一些 Scripts and specs 辅助 OVS 安装在 Citrix XenServer 上,作为默认 switch
ovs-vsctl 查询和更新 ovs-vswitchd 的配置;
ovs-appctl 发送命令消息,运行相关 daemon
ovsdbmonitor GUI 工具,可以远程获取 OVS 数据库和 OpenFlow 的流表。
此外,OVS 也提供了支持 OpenFlow 的特性实现,包括
ovs-openflowd:一个简单的 OpenFlow 交换机;
ovs-controller:一个简单的 OpenFlow 控制器;
ovs-ofctl 查询和控制 OpenFlow 交换机和控制器;
ovs-pki OpenFlow 交换机创建和管理公钥框架;
ovs-tcpundumptcpdump 的补丁,解析 OpenFlow 的消息;
1.3 运行原理
内核模块实现了多个“数据路径”(类似于网桥),每个都可以有多个“vports”(类似于桥内的
N.J.C.H
端口)。每个数据路径也通过关联一下流表(flow table)来设置操作,而这些流表中的流都
是用户空间在报文头和元数据的基础上映射的关键信息,一般的操作都是将数据包转发到另
一个 vport。当一个数据包到达一个 vport,内核模块所做的处理是提取其流的关键信息并在
流表中查找这些关键信息。当有一个匹配的流时它执行对应的操作。如果没有匹配,它会将
数据包送到用户空间的处理队列中(作为处理的一部分,用户空间可能会设置一个流用于以
后碰到相同类型的数据包可以在内核中执行操作)。
二、准备工作
2.1 说明
Open vSwitch 分布中编译 userspace 程序,需要下面软件
- A make program, e.g. GNU make. BSD make should also work.
- The GNU C compiler. We generally test with version 4.1, 4.2, or 4.3.
- pkg-config. We test with version 0.22.
- libssl, from OpenSSL, is optional but recommended if you plan to
connect the Open vSwitch to an OpenFlow controller. libssl is
required to establish confidentiality and authenticity in the
connections from an Open vSwitch to an OpenFlow controller. If
libssl is installed, then Open vSwitch will automatically build
with support for it.
linux 编译内核模块,还需要安装下面的软件。如果你不能建造或安装内核模块,你可以
使用 userspace-only 实现。
The Open vSwitch datapath requires bridging support
(CONFIG_BRIDGE) to be built as a kernel module. (This is common
in kernels provided by Linux distributions.) The bridge module
must not be loaded or in use. If the bridge module is running
(check with "lsmod | grep bridge"), you must remove it ("rmmod
bridge") before starting the datapath.
2.2 操作
安装 Open vSwitch 之前确保安装了下面的软件
- libc compatible with the libc used for build.
- libssl compatible with the libssl used for build, if OpenSSL was
used for the build.
- On Linux, the same kernel version configured as part of the build.
- For optional support of ingress policing on Linux, the "tc" program
from iproute2 (part of all major distributions and available at
http://www.linux-foundation.org/en/Net:Iproute2).
执行
apt-get install build-essential
apt-get install openssl
On Linux you should ensure that /dev/urandom exists. To support TAP
devices, you must also ensure that /dev/net/tun exists.
三、安装 Open vSwitch
3.1 下载
Openvswitch包下载地址:http://openvswitch.org/download/
root@ubuntu229:~# wget
http://openvswitch.org/releases/openvswitch-1.9.0.tar.gz
3.2 解压
root@ubuntu229:~# tar -xzf openvswitch-1.9.0.tar.gz
3.3 安装
生成内核模式的 Open vSwitch 时需指定的内核源码编译目录,基本步骤如下
cd openvswitch-1.9.0/
./configure --with-linux=/lib/modules/ùname -r`/build
make && make install
insmod datapath/linux/openvswitch.ko
补充一下 DataPath 的概念,OpenFlow 就是控制和数据转发分离,而控制端,就叫做
Controller Path,比如 floodlight 等;负责转发数据的数据转发端,就叫做 DataPath,也
就是支持 OpenFlow 的硬件或者软件交换机 Switch
四、配置 Open vSwitch
建立 OpenVSwitch 配置文件和数据库
root@ubuntu229:~# mkdir -p /usr/local/etc/openvswitch
root@ubuntu229:~# ovsdb-tool create /usr/local/etc/openvswitch/conf.db
/usr/local/share/openvswitch/vswitch.ovsschema
启动配置数据库
root@bogon:~# ovsdb-server
--remote=punix:/usr/local/var/run/openvswitch/db.sock
--remote=db:Open_vSwitch,manager_options --private-key=db:SSL,private_key
--certificate=db:SSL,certificate --bootstrap-ca-cert=db:SSL,ca_cert
--pidfile --detach
如 果 你 built Open vSwitch 没 有 加 SSL 支 持 , 省 略 --private-key, --certificate, and
--bootstrap-ca-cert
查启动情况
初始化数据库
root@ubuntu229:~# ovs-vsctl --no-wait init
//仅需在第一次创建数据库时运行,但是每次都运行也没问题
启动 Open vSwitch daemon,连接到同样的 Unix domain socket
root@ubuntu229:~# ovs-vswitchd --pidfile --detach
成功后,会有三个进程,一 ovs_workeq 进程,一个 ovs-vswitchd 进程,一个 ovsdb-server
进程

欢迎大家如about云官方群371358502,更新咨询,更新资源,随时关注

已有(5)人评论

跳转到指定楼层
LOVE_2014 发表于 2014-2-14 16:23:06
楼主好人阿,新手谢谢你,到处找资料学习这方面的
回复

使用道具 举报

perfri 发表于 2014-4-27 13:52:08
回复

使用道具 举报

sjzcs520 发表于 2015-6-15 23:12:43
好东西,学习了,谢谢分享
回复

使用道具 举报

jywan 发表于 2015-8-8 11:37:20
学习了,谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条