打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
open-vswitch安装手册--google翻译版
      如何在Linux,FreeBSD和NetBSD的安装与Open vSwitch      ================================================== ======本文档介绍了如何在构建和安装与Open vSwitch通用Linux,FreeBSD的,或NetBSD的主机。周边的安装细节在特定平台上,请参阅这些文件中的一个:    -  INSTALL.Debian    -  INSTALL.Fedora    -  INSTALL.RHEL    -  INSTALL.XenServer建设要求------------------为了编译用户空间程序在打开的vSwitch分布,您将需要以下软件:    - 使用GNU make。    -  C编译器,如:        * GCC 4.x的        *锵。铛3.4及更高版本提供有用的静态语义          分析和线程安全检查。对于Ubuntu,有          可在铿锵的网站每夜构建的软件包。    - 的libssl,从OpenSSL的,如果你打算,是可选的,但建议      连接与Open vSwitch到OpenFlow的控制器。的libssl是      建立保密性和真实性的要求      从与Open vSwitch连接到一个OpenFlow的控制器。如果      已安装的libssl,然后与Open vSwitch会自动建立      与它的支持。编译Linux上的内核模块,您还必须安装以下。如果你不能建立或安装内核模块,你可以使用用户空间的唯一实现,在性能上的代价。用户空间实现也可能缺少某些功能。请参阅INSTALL.userspace获取更多信息。    - 受支持的Linux内核版本。请参阅自述文件一      受支持的版本的列表。      在与Open vSwitch数据通路需要桥接支持      (CONFIG_BRIDGE)要建成一个内核模块。(这是常见的      在由Linux发行版提供的内核。)桥模块      不能被加载或在使用中。如果桥模块运行      (请用“lsmod的| grep的桥”),您必须删除它(“rmmod的      在开始之前,数据通路的桥“)。      对于可选支持入口监管的,您必须启用内核      配置选项NET_CLS_BASIC,NET_SCH_INGRESS和      NET_ACT_POLICE,是内置的或作为模块。(NET_CLS_POLICE是      过时的和没有必要的。)      要在Linux 2.6.37或更新版本,内核支持使用GRE隧道      对于GRE必须被编译或可作为一个模块      (CONFIG_NET_IPGRE_DEMUX)。      要配置HTB或与Open vSwitch服务HFSC质量,      您必须启用相应的配置选项。      要使用TAP设备与Open vSwitch的支持,您必须启用      CONFIG_TUN。    - 要构建一个内核模块,你需要的GCC相同的版本,      被用于构建内核。    - 对应的Linux内核映像内核构建目录      该模块上运行。在Debian和Ubuntu,例如,      包含一个内核二进制文件每个linux-image包有      与所需的构建相应的linux-头文件包      基础设施。如果您是从一个Gi??t树或快照(而不是从工作发布包),或者如果您修改与Open vSwitch构建系统或数据库模式,还需要下列软件:    -  Autoconf的版本2.64或更高版本。    -  Automake的版本1.10或更高版本。    -  Python 2.x的,当x> = 4。如果修改了ovsdbmonitor工具,那么你也将需要以下内容:    - 从PyQt4的pyuic4(http://www.riverbankcomputing.co.uk)。要运行单元测试,你还需要:    -  Perl的。版本5.10.1是众所周知的工作。早期版本应该      同时工作。该OVS-vswitchd.conf.db(5)联机帮助将包括ER图,在格式纯文字以外,只有当你有以下几点:    - 从graphviz的“点”(http://www.graphviz.org/)。    -  Perl的。版本5.10.1是众所周知的工作。早期版本应该      同时工作。    -  Python 2.x的,当x> = 4。如果你要大幅修改与Open vSwitch,请考虑安装下面以获得更好的警告:    - “疏”版本0.4.4或更高版本      (http://www.kernel.org/pub/software/devel/sparse/dist/)。    - 使用GNU make。    - 铛,3.4或更高版本此外,您可能会发现在公共事业/ OVS-dev.py发现有用的OVS-dev的脚本。安装要求-------------------------在机器上的虚拟交换机打开要安装必须具有以下软件:    -  libc中与用于编译的libc的兼容。    - 的libssl与用于构建,如果OpenSSL的是兼容的libssl      用于构建。    - 在Linux上,相同的内核版本配置作为构建的一部分。    - 对于Linux,有“TC”计划的可选支持入口警务      从iproute2的所有主要的分布(部分,可在      http://www.linux-foundation.org/en/Net:Iproute2)。在Linux上,你应该确保为/ dev / urandom的存在。为了支持TAP设备,您还必须确保为/ dev /网络/ TUN存在。要运行ovsdbmonitor刀具,机床还必须具备以下软件:    -  Python 2.x的,当x> = 4。    -  Python的扭曲海螺。    -  Python的JSON。    -  PySide或PyQt4的。    -  Python的Zope的接口模块。(在Debian的“lenny”上面可以以“apt-get安装进行安装Python的json的蟒蛇 -  QT4蟒蛇 -  zopeinterface蟒蛇 - 双绞线海螺“)。建设和安装与Open vSwitch用于Linux,FreeBSD的NetBSD的或================================================== ===============一旦你已经安装了所有在基地上面列出的先决条件先决条件部分,按照下面的步骤来构建。1。如果您是直接从与Open vSwitch的Git树拉到来源,   在顶级源目录中运行boot.sh:      %。/ boot.sh2。在顶部的源目录,通过运行配置包   配置脚本。通常你可以调用配置没有任何   参数:      %在。/ configure   默认情况下所有的文件都在/ usr /本地安装。如果你想   安装到,例如,在/ usr和/ var,而不是在/ usr /本地和   在/ usr /本地的/ var,如下所示添加选项:      %/配置 - 前缀= / USR  - 的localstatedir = /无功   要使用特定的C编译器来编译与Open vSwitch用户   节目,还configure命令行上指定它,像这样:      %在。/ configure CC = gcc的-4.2   使用'铛'的编译器:      %在。/ configure CC =铛   要构建Linux内核模块,这样就可以运行   基于内核的开关,通过内核构建的位置   目录上使用 -  with-linux的。例如,要构建一个运行   实例的Linux:      %。/配置 - 与 -  = linux的/ lib目录/模块/`uname-r后`/ build中   如果你想建立一个架构等核心模块   比用于构建的计算机,您可以架构   指定使用了karch变量的内核体系结构的字符串   调用configure脚本的时候。例如,要构建MIPS   使用Linux:      %/配置了 -  with-linux的= /路径/到/ linux下了karch = MIPS   configure脚本接受了其他一些选项和荣誉   额外的环境变量。对于一个完整的列表,调用   配置使用 -  help选项。3。运行GNU make工具在顶源目录,例如:      %使   或者如果使用GNU make安装为“gmake命令”:      %的gmake   为了提高警告,如果你安装了“疏”(见   “先决条件”),C = 1添加到命令行。4。考虑运行的测试套件。请参阅“运行测试套件”   下面的说明。5。通过运行“苏”或其他程序成为root。6。运行“make install”会在可执行文件和联机帮助页安装到   正在运行的系统,通过在/ usr /本地默认。7。如果您构建内核模块,您可以安装并加载它们,例如:      %使modules_install安装      %/ sbin目录/ modprobe的openvswitch    为了验证该模块已经加载,运行“/ sbin目录/ lsmod的”和   检查openvswitch列出。   如果“modprobe的”操作失败,看看过去几年内核日志   讯息(例如用“的dmesg |尾”):      - 消息“openvswitch:出口复制符号        br_should_route_hook(由桥所拥有)“指的是桥        模块被加载。运行“/ sbin目录/ rmmod的桥梁”,将其删除。        如果“/ sbin目录/ rmmod的桥”与失败“错误:模块桥接器        不存在在/ proc / modules中“,那么桥被编译成        在内核中,而不是作为一个模块。与Open vSwitch不        支持此配置(请参阅“建设要求”,上面)。      - 消息“openvswitch:出口复制符号        dp_ioctl_hook(由ofdatapath拥有)“是指该ofdatapath        从OpenFlow的参考实现模块加载。        运行“/ sbin目录/ rmmod的ofdatapath”将其删除。(您可能需要        事先删除任何现有的数据通路,使用“dpctl”        程序包含在OpenFlow的参考实现。        “OVS-dpctl”将无法正常工作。)      - 否则,最有可能的问题是,与Open vSwitch是        建立从一进,你是不同的内核        试图加载它。运行“modinfo命令”的openvswitch.ko和        专为正在运行的内核,例如一个模块:           %/ sbin目录/ modinfo命令openvswitch.ko           %/ sbin目录/ modinfo命令/ lib中/模块/`uname-r后`/内核/网络/网桥/ bridge.ko        通过这两个命令比较“vermagic”线路输出。如果        它们之间的区别,然后与Open vSwitch是专为错误的内核。      - 如果你决定要报告错误或要求相关的问题        模块加载,请注明来自“dmesg的”输出和        上面提到的“modinfo命令”命令。   有一个可选的模块参数来openvswitch.ko叫   vlan_tso,使TCP分段卸载过的VLAN上网卡   支持它。许多驱动程序不公开的TSO支持的VLAN上   在与Open vSwitch可以使用,但一个办法是没有办法来检测   是否是这种情况。如果你知道你的特定的驱动程序可以   处理它(例如通过测试过的VLAN发送大量的TCP数据包)   然后通过在一个1值可以提高性能。内置的模块   Linux内核2.6.37及更高版本,以及特别版本的补丁   早期的内核,不需要这一点,并没有这个参数。如果   你不明白这是什么意思或不知道,如果你的驱动程序   将工作,不设置此。8。使用ovsdb刀具初始化配置数据库,例如:      %MKDIR-P的/ usr /本地/ etc / openvswitch      %ovsdb-工具创建/ usr /本地/ etc / openvswitch / conf.db vswitchd / vswitch.ovsschema启动=======开始OVS-vswitchd本身之前,你需要开始其配置数据库,ovsdb服务器。每台机器上打开vSwitch上安装应该运行它自己的ovsdb服务器的副本。其配置为使用您创建的数据库中的第7步安装,上面,听在Unix域套接字,连接到在数据库本身中指定的任何管理人员,以及使用SSL配置数据库:      %ovsdb  - 服务器 - 远程= punix :/ USR /本地的/ var /运行/ openvswitch / db.sock \                     - 远程= DB:Open_vSwitch,Open_vSwitch,manager_options \                     - 私钥= DB:Open_vSwitch,SSL的private_key \                     - 证书= DB:Open_vSwitch,SSL证书\                     - 引导 -  CA证书= DB:Open_vSwitch,SSL CA_CERT \                     -  pid文件 - 分离(如果你建立了与Open vSwitch不支持SSL,那么省略- 私钥, - 证书, - 引导 -  CA证书)。然后使用OVS-vsctl初始化数据库。这是唯一的需要您创建数据库后的第一时间ovsdb  - 工具(但在任何时候运行它是无害的):      %OVS-vsctl  - 无等待初始化然后启动主与Open vSwitch守护进程,告诉它连接到同样的Unix域套接字:      %OVS-vswitchd  -  pid文件 - 分离现在你可以使用OVS-vsctl设立桥梁和其他与Open vSwitch功能。例如,要创建一个名为网桥BR0和添加端口eth0和vif1.0是给它:      %OVS-vsctl附加BR BR0      %OVS-vsctl外接端口BR0为eth0      %OVS-vsctl外接端口BR0 vif1.0是请参阅OVS-vsctl(8)了解更多详情。升级=========当您升级与Open vSwitch从一个版本到另一个,你应该同时升级数据库模式:1。停止与Open vSwitch守护程序,例如:      %杀灭`CD的/ usr /本地/无功/运行/ openvswitch &&猫ovsdb-server.pid OVS-vswitchd.pid`2。安装新的Open vSwitch上发布。3。升级数据库,在以下两种方式之一进行:      - 如果在你的数据库中没有重要的数据,那么你可能        删除数据库文件和ovsdb  - 工具重新创建它,        下列房屋下“中的说明和安装开        vSwitch上的Linux,FreeBSD的或NetBSD的“。      - 如果你想保持你的数据库的内容,备份它        先上去,然后使用“ovsdb刀具转换”来升级吧,比如:        %ovsdb刀具转换的/ usr /本地/ etc / openvswitch / conf.db vswitchd / vswitch.ovsschema4。启动Open vSwitch上的守护进程大厦下“的描述和   对于Linux,FreeBSD的或NetBSD的“上面安装Open vSwitch上。热升级=============升级与Open vSwitch从一个版本到下一个版本以最小交通经历一个使用了Open vSwitch上的系统中断需要一些注意事项:1。如果升级只涉及升级的用户空间工具和守护进程与Open vSwitch的,请确保新用户空间的版本是兼容以前加载的内核模块。2。用户空间的守护进程的升级意味着他们必须重新启动。重新启动守护进程意味着,OpenFlow的在OVS-vswitchd守护程序流将丢失。还原的流量的一种方法是让控制器重新填充它。另一种方法是使用一个应用程序来保存先前的流程像OVS-ofctl,然后在重新启动后重新添加它们。恢复旧的流准确只有在新打开的vSwitch接口保留旧'ofport“值。3。当新的用户空间守护进程得到重新启动后,它们会自动刷新老流向设置在内核中。这可能是昂贵的,如果有几百个新的流量正在进入内核,但用户空间的守护进程都很忙建立新的用户空间无论是从控制器或类似工具流OVS-ofctl。与Open vSwitch数据库提供了一个选项来解决这个问题通过other_config:流恢复,等待Open_vSwitch表的列。请参阅OVS-vswitchd.conf.db(5)联机帮助页。4。如果升级还涉及升级的内核模块,旧内核模块需要卸载和新的内核模块应该被加载。也就是说,属于与Open vSwitch的核心网络设备被重建和内核流量丢失。交通的停机时间可以减少如果用户空间的守护进程会立即重新启动,用户空间流是尽快恢复。该OVS-CTL实用的“重新启动”功能只能重新启动用户空间的守护进程,可确保“ofport'值保持跨越重启一致,恢复用户空间的流量使用OVS-ofctl公共事业以及使用other_config:流量恢复等待柱保持车辆的停机时间到最小。该OVS-CTL实用程序的“强制重载-KMOD”功能做了所有的同上,但也替换为新的旧的内核模块。与Open vSwitch为Debian,XenServer和RHEL的启动脚本使用OVS-CTL的功能和它建议用于其他软件平台太这些功能。运行该测试套件=====================与Open vSwitch包括一个测试套件。在你提交补丁逆流而上,我们建议您运行测试,并确保它们通过。如果要添加新的功能,打开的vSwitch,然后加入测试的功能确保您的功能不会破坏作为开发商修改其他地区与Open vSwitch的。您必须配置和建立与Open vSwitch(步骤1至3“建筑及安装与Open vSwitch用于Linux,FreeBSD的或NetBSD的”以上)在运行测试套件之前。您不需要安装与Open vSwitch或建或加载内核模块来运行测试套件。你这样做不需要主管权限来运行测试套件。运行在与Open vSwitch,一是所有的单元测试的时间:      做检查这需要在5分钟在现代桌面系统。运行所有的单元测试与Open vSwitch,最多可并联8:      做检查TESTSUITEFLAGS =-J8这需要在一个现代化的四核台式机系统一分钟。要查看所有可用的测试的列表,请运行:      做检查TESTSUITEFLAGS =  - 列表要运行测试的一个子集,例如测试123和477的测试通过484:      做检查TESTSUITEFLAGS = '123 477-484'(测试不具有相互依存性,所以你可能会遇到任何一个子集。)要运行测试,匹配关键字,如“ovsdb”:      做检查TESTSUITEFLAGS ='-K ovsdb“要查看测试选项的完整列表:      做检查TESTSUITEFLAGS =  - 帮助测试运行的结果报告在测试/ testsuite.log。请报告测试失败的bug和包括testsuite.log中您的报告。如果您安装了“Valgrind的”,那么你也可以运行测试套件根据Valgrind的使用代替“做”让入住的valgrind“勾选“全部相同的选项通过TESTSUITEFLAGS可供选择。当你这样做,“Valgrind的”业绩<N>测试中报告的文件名为测试/ testsuite.dir / <N> / Valgrind的。*。你可能会发现,Valgrind的结果更容易解释,如果你把“-Q”在?/。valgrindrc,因为这降低了输出量。有时,一些测试可能在某些运行,但不是别人失败。这是在测试包中,而不是在与Open vSwitch本身的错误通常是一个错误。如果你会发现一个测试间歇性故障,请报告它,因为开发人员可能没有注意到。错误报告-------------请至bugs@openvswitch.org报告问题。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Open vSwitch使用笔记
Pox + Mininet2.0的安装和初级使用 | SDNAP原创 | SDN联合播报
OpenvSwitch概念和原理
网络协议知识串讲:搭建一个网络试验环境:授人以鱼不如授人以渔
Linux中级“驱动”控制硬件必须学会的底层知识
股票术语大全.pdf
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服