虚拟化网络之OpenvSwitch(一)

一、OpenvSwitch介绍

 OpenvSwitch简称OVS,正如其官网(http://openvswitch.org/)所述,OVS是一个高质量、多层的虚拟交换软件,即虚拟交换机。它的目的是通过编程扩展支持大规模网络自动化,同时还支持标准的管理接口和协议(例如:NetFlow,sFlow,IPFIX,RSPAN, CLI, LACP,802.1ag)。此外,它的目的还是支持类似于VMware的vNetwork分布式交换机vSwtich或思科的Nexus 1000v多台物理服务分布。

二、OpenvSwitch的常见的相关组件

 ovs-vswitchd:

  功能:实现switch的daemon功能,包括一个支持流交换的Linux内核模块,实现了交换功能

 ovsdb-vswtich:

  功能:openvswitch的数据库,给ovs-vswitchd提供运行配置信息,即保存了ovs-vswitchd的配置信   息,例如vlan、port等信息

 ovs-brcompatd:

  功能:让ovs-swtich替换Linux bridge,包括获取bridge ioctls的内核模块

 ovs-dpctl:

  功能:用来配置switch的内核模块

 ovs-vsctl:

  功能:查询和更新ovs-vswitchd的配置,即用于修改或查询ovsdb-vswitch的信息

 ovs-appctl:

  功能:发送命令消息,运行相关daemon

 ovs-pki:

  功能:OpenFlow公钥管理框架

 ovs-bugtool:

  功能:管理openvswitch的bug信息

 

三、ovs-vsctl使用指南

 vos-vsctl命令格式

  usage: ovs-vsctl [OPTIONS] COMMAND [ARG…]

  常见的OPTIONS有以下组成:

   –db=DATABASE :指定连接的数据库,默认是unix:/var/run/openvswitch/db.sock

   –no-wait: 在使用时不等待ovs-vswitchd的重新配置
   –retry:不断尝试连接远端服务器

   –t,-timeout=SECS: 等待ovs-vswitchd的超时时间

   –dry-run: 尝试运行修修改的配置但是不提交到ovsdb-vswitch数据库

   –oneline:将打印出的命令一行一行的显示

   -h,–help: 显示帮助信息

   -V,–version:显示版本信息

  常用的COMMAND有以下几类:

   OpenvSwitch的维护命令:

    init:初始化ovsdb-vswitch数据库

    show:查看数据信息

    emer-reset: 重新设置openvswitch的状态

   OpenvSwitch对桥设备操作相关的命令

    add-br BRIDGE :添加一个桥设备

    add-br BRIDGE PARENT VLAN:在PARENT中创建一个桥,并做vlan标记

    del-br BRIDGE: 删除一个桥设备

    list-br: 查看创建的桥设备

    br-exists BRIDGE: 判断新创建的桥是否已经存在

    br-to-vlan BRIDGE: 列出桥设备的所有的valn

    br-to-parent BRIDGE: 列出当前桥的上一个桥设备

    br-set-external-id BRIDGE KEY VALUE: 给桥添加额外的属性,方式为 key vllue格式

    br-set-external-id BRIDGE KEY:撤销桥设备额外的信息

    br-get-external-id BRIDGE KEY:列出桥设备额外的信息

    br-get-external-id BRIDGE :以key-value格式列出桥设备的额外信息

  

   OpenvSwitch对端口的操作命令:

    list-ports BRIDGE: 列出指定桥设备上的端口

    add-ports BRIDGE PORT :添加一个端口到桥设备,此端口可以事先不存在

    add-bond BRIDGE PORT IFACE…: 对桥设备做多端口绑定

    del-port [BRIDGE] PORT: 删除一个端口或者删除一个指定桥设备上的端口

    port-to-br PORT:列出端口所在的桥设备

  

   OpenvSwitch对接口操作的命令: 

    list-ifaces BRIDGE: 列出桥设备上的所有接口

    iface-to-br IFACE:  列出接口所在的桥设备

  

   OpenvSwitch的控制命令:

    get-contorller BRIDGE: 获取桥设备的控制器

    del-contorller BRIDGE: 删除桥设备的控制器

    set-contorller BRIDGE TARGET…:给桥设备设置一个控制器

    get-fail-mode BRIDGE: 显示桥设备错误的模式

    del-fail-mode BRIDGE: 删除桥设备错误的模式

    set-fail-mode BRIDGE MODE: 设置桥设备失败的模式为MODE

 

   OpenvSwitch管理相关的命令:

    get-manager: 列出openvswitch的管理者

    del-manager:删除openvswitch的管理者

    set-manager TARGET….:设置管理者列表为TARGET

   OpenvSwitch安全相关的命令:

    get-ssl:获取ssl的配置信息

    del-ssl: 删除ssl的配置信息

    set-ssl PRIV-KEY CERT CA-CERT: 配置ssl

    

   OpenvSwitch交换相关的命令:

    emer-rest: 重新设置未知交换机的状态

  

   OpenvSwitch数据库操作相关命令:

    list TBL [REC]: 列出TBL的资源记录信息(ovs-vsctl list port )

    find TBL CONDITION….:查找相关的资源记录信息

    get TBL REC COL[:KEY]:获取TBL的信息

    set TBL REC COL[:KEY]=VALUE:设定TBL的额外属性(ovs-vsctl set Port br1 tag=2)

    add TBL REC COL [KEY=]VALUE:添加一个[key=]value到TBL

    remove TBL REC COL [KEY=]VALUE:删除TBL中的一个key值(ovs-vsctl remove Port br1 tag 2)

    clear TBL REC COL: 清除指定TBL的资源记录信息

    create TBL COL [:KEY]=VALUE:在TBL中创建一个资源记录信息

    destroy TBL REC:销毁一个TBL的REC

    wait-until TBL REC [COL[:KEY]=VALUE]:等待TBL资源记录配置完成

 常用的ARG参数

   连接主数据库的方法:

    tcp:IP:PORT: 指定连接远端数据库使用tcp协议,以及远端主数据库的ip地址跟端口

    ssl:IP:PORT: 指定连接远端数据库使用ssl协议,以及远端主数据库的ip地址跟端口

    unix:FILE:使用socket套接字连接主数据库

  

   备用数据库的连接方法:

    ptcp:IP:PORT: 指定连接远端数据库使用tcp协议,以及远端备用数据库的ip地址跟端口

    pssl:IP:PORT: 指定连接远端数据库使用ssl协议,以及远端备用数据库的ip地址跟端口

    punix:FILE:使用socket套接字连接备用数据库

   PKI配置:

    -p,–private-key=FILE: 指定私有秘钥的位置

    -c,–certificate=FILE:指定证书的位置

    -C,ca-cert=FILE:指定对端证书的

到此OpenvSwitch的一些基础知识已经介绍完毕,下一篇将会根据实验来介绍openvswitch的具体使用。

原创文章,作者:马行空,如若转载,请注明出处:http://www.178linux.com/12990

(3)
马行空马行空
上一篇 2016-03-26 22:18
下一篇 2016-03-27 21:34

相关推荐

  • N28-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
    2、取出最后登录到当前系统的用户的相关信息。
    3、取出当前系统上被用户当作其默认shell的最多的那个shell。
    4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    7、显示/var目录下一级子目录或文件的总个数。
    8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
    9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)、创建组distro,其GID为2016;
    (2)、创建用户mandriva, 其ID号为1005;基本组为distro;
    (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
    (4)、给用户mageia添加密码,密码为mageedu;
    (5)、删除mandriva,但保留其家目录;
    (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    (7)、修改slackware的默认shell为/bin/tcsh;
    (8)、为用户slackware新增附加组admins;

    2017-12-17
  • linux的文件类型

    linux的文件类型 linux其中的一个哲学思想就是一切皆文件,今天我们就来学习一下linux系统中的文件类型。linux不同于windows,有多种多类的文件类型,文件类型的判断也不是以文件的后缀为标准的。linux中一共有七种文件类型,分别是:普通文件、目录、字符设备文件、块设备文件、套接字文件、命名管道文件和符号链接文件。那么接下来我们就分别看看每种…

    Linux干货 2016-10-27
  • Linux之查找命令find简介

    查找命令find简介    Linux使用过程中难免会遇到查找功能,类似于Windows中的搜索功能,如果想要找某个文件在什么地方,什么格式的文件等等。在Linux中我们可以使用find、locate、which、whereis等命令。接下来我们就简单说一下如何使用这几个命令查找文件。 一、which which命令的作用是,在PATH变…

    Linux干货 2015-05-18
  • Linux 基础命令

    一,GNU/LINUX操作系统组成        1.1硬件  计算机硬件资源,CPU,主板,内存,存储器等 1.2 内核层 包含了硬件控制,设备驱动程序,虚拟文件系统,网络管理,内存管理,进程管理,程序调度等 ,属于内核空间 1.3 系统调用 所有的操作系统在其内核里都有一些内建的函数,这些函数可以用来完成…

    2016-10-29
  • 有关shell脚本

    SHELL脚本 在Linux运维工作中有着大量的重复性质的工作,比如同时给很多台的服务器备份,查看多台的内存情况,等等。这样的情况下总不能一个一个服务器自己去看,那样耗时,费力,还容易出错。所以编写程序来做这些事情就成了必要的工作。而SHELL就是完成这项工作的。   脚本第一行的开头写上#!/bin/bash 这是属于格式性质的,作用在于加上执行…

    2017-08-12
  • grep与正则表达式

    1.什么是grep grep(Golobal Regular Expression print)是Linux系统中一个强大的文本搜索工具,也是俗称的搜索三兄弟之一,grep的最大意义就是搜索文本,把匹配的行打印到屏幕上,但不影响原文件的内容;在搜索文本的过程中,可以利用到“正则表达式”来定以自己的搜索匹配模式。 Unix的grep家族包括了grep、egre…

    Linux干货 2015-10-08