Loading... <p><span style="font-size: 24px;font-family: 宋体, SimSun"><strong>一、OpenvSwitch介绍</strong></span></p> <p> <span style="font-family: 宋体, SimSun">OpenvSwitch简称OVS,正如其官网(http://openvswitch.org/)所述,OVS是一个高质量、多层的虚拟交换软件,即虚拟交换机。它的目的是通过编程扩展支持大规模网络自动化,同时还支持标准的管理接口和协议(例如:NetFlow,sFlow,IPFIX,RSPAN, CLI, LACP,802.1ag)。此外,它的目的还是支持类似于VMware的vNetwork分布式交换机vSwtich或思科的Nexus 1000v多台物理服务分布。</span></p> <p></p> <p><span style="font-size: 24px;font-family: 宋体, SimSun"><strong>二、OpenvSwitch的常见的相关组件</strong></span></p> <p> ovs-vswitchd:</p> <p> 功能:实现switch的daemon功能,包括一个支持流交换的Linux内核模块,实现了交换功能</p> <p> ovsdb-vswtich:</p> <p> 功能:openvswitch的数据库,给ovs-vswitchd提供运行配置信息,即保存了ovs-vswitchd的配置信 息,例如vlan、port等信息</p> <p> ovs-brcompatd:</p> <p> 功能:让ovs-swtich替换Linux bridge,包括获取bridge ioctls的内核模块</p> <p> ovs-dpctl:</p> <p> 功能:用来配置switch的内核模块</p> <p> ovs-vsctl:</p> <p> 功能:查询和更新ovs-vswitchd的配置,即用于修改或查询ovsdb-vswitch的信息</p> <p> ovs-appctl:</p> <p> 功能:发送命令消息,运行相关daemon</p> <p> ovs-pki:</p> <p> 功能:OpenFlow公钥管理框架</p> <p> ovs-bugtool:</p> <p> 功能:管理openvswitch的bug信息</p> <p> </p> <p><span style="font-size: 24px;font-family: 宋体, SimSun"><strong>三、ovs-vsctl使用指南</strong></span></p> <p> <strong>vos-vsctl命令格式</strong>:</p> <p> usage: ovs-vsctl [OPTIONS] COMMAND [ARG…]</p> <p></p> <p> <strong> 常见的OPTIONS有以下组成:</strong></p> <p> –db=DATABASE :指定连接的数据库,默认是unix:/var/run/openvswitch/db.sock</p> <p> –no-wait: 在使用时不等待ovs-vswitchd的重新配置<br /> –retry:不断尝试连接远端服务器</p> <p> –t,-timeout=SECS: 等待ovs-vswitchd的超时时间</p> <p> –dry-run: 尝试运行修修改的配置但是不提交到ovsdb-vswitch数据库</p> <p> –oneline:将打印出的命令一行一行的显示</p> <p> -h,–help: 显示帮助信息</p> <p> -V,–version:显示版本信息</p> <p></p> <p> <strong>常用的COMMAND有以下几类:</strong></p> <p> <strong>OpenvSwitch的维护命令:</strong></p> <p> init:初始化ovsdb-vswitch数据库</p> <p> show:查看数据信息</p> <p> emer-reset: 重新设置openvswitch的状态</p> <p></p> <p><strong> OpenvSwitch对桥设备操作相关的命令</strong>:</p> <p> add-br BRIDGE :添加一个桥设备</p> <p> add-br BRIDGE PARENT VLAN:在PARENT中创建一个桥,并做vlan标记</p> <p> del-br BRIDGE: 删除一个桥设备</p> <p> list-br: 查看创建的桥设备</p> <p> br-exists BRIDGE: 判断新创建的桥是否已经存在</p> <p> br-to-vlan BRIDGE: 列出桥设备的所有的valn</p> <p> br-to-parent BRIDGE: 列出当前桥的上一个桥设备</p> <p> br-set-external-id BRIDGE KEY VALUE: 给桥添加额外的属性,方式为 key vllue格式</p> <p> br-set-external-id BRIDGE KEY:撤销桥设备额外的信息</p> <p> br-get-external-id BRIDGE KEY:列出桥设备额外的信息</p> <p> br-get-external-id BRIDGE :以key-value格式列出桥设备的额外信息</p> <p> </p> <p><strong> OpenvSwitch对端口的操作命令:</strong></p> <p> list-ports BRIDGE: 列出指定桥设备上的端口</p> <p> add-ports BRIDGE PORT :添加一个端口到桥设备,此端口可以事先不存在</p> <p> add-bond BRIDGE PORT IFACE…: 对桥设备做多端口绑定</p> <p> del-port [BRIDGE] PORT: 删除一个端口或者删除一个指定桥设备上的端口</p> <p> port-to-br PORT:列出端口所在的桥设备</p> <p> </p> <p> <strong> OpenvSwitch对接口操作的命令</strong>: </p> <p> list-ifaces BRIDGE: 列出桥设备上的所有接口</p> <p> iface-to-br IFACE: 列出接口所在的桥设备</p> <p> </p> <p><strong> OpenvSwitch的控制命令:</strong></p> <p> get-contorller BRIDGE: 获取桥设备的控制器</p> <p> del-contorller BRIDGE: 删除桥设备的控制器</p> <p> set-contorller BRIDGE TARGET…:给桥设备设置一个控制器</p> <p> get-fail-mode BRIDGE: 显示桥设备错误的模式</p> <p> del-fail-mode BRIDGE: 删除桥设备错误的模式</p> <p> set-fail-mode BRIDGE MODE: 设置桥设备失败的模式为MODE</p> <p> </p> <p> <strong> OpenvSwitch管理相关的命令:</strong></p> <p> get-manager: 列出openvswitch的管理者</p> <p> del-manager:删除openvswitch的管理者</p> <p> set-manager TARGET….:设置管理者列表为TARGET</p> <p></p> <p> <strong> OpenvSwitch安全相关的命令:</strong></p> <p> get-ssl:获取ssl的配置信息</p> <p> del-ssl: 删除ssl的配置信息</p> <p> set-ssl PRIV-KEY CERT CA-CERT: 配置ssl</p> <p><strong> <br /></strong></p> <p><strong> OpenvSwitch交换相关的命令:</strong></p> <p> emer-rest: 重新设置未知交换机的状态</p> <p> </p> <p><strong> OpenvSwitch数据库操作相关命令:</strong></p> <p> list TBL [REC]: 列出TBL的资源记录信息(ovs-vsctl list port )</p> <p> find TBL CONDITION….:查找相关的资源记录信息</p> <p> get TBL REC COL[:KEY]:获取TBL的信息</p> <p> set TBL REC COL[:KEY]=VALUE:设定TBL的额外属性(ovs-vsctl set Port br1 tag=2)</p> <p> add TBL REC COL [KEY=]VALUE:添加一个[key=]value到TBL</p> <p> remove TBL REC COL [KEY=]VALUE:删除TBL中的一个key值(ovs-vsctl remove Port br1 tag 2)</p> <p> clear TBL REC COL: 清除指定TBL的资源记录信息</p> <p> create TBL COL [:KEY]=VALUE:在TBL中创建一个资源记录信息</p> <p> destroy TBL REC:销毁一个TBL的REC</p> <p> wait-until TBL REC [COL[:KEY]=VALUE]:等待TBL资源记录配置完成</p> <p></p> <p><strong> 常用的ARG参数</strong>:</p> <p> <strong>连接主数据库的方法:</strong></p> <p> tcp:IP:PORT: 指定连接远端数据库使用tcp协议,以及远端主数据库的ip地址跟端口</p> <p> ssl:IP:PORT: 指定连接远端数据库使用ssl协议,以及远端主数据库的ip地址跟端口</p> <p> unix:FILE:使用socket套接字连接主数据库</p> <p> </p> <p><strong> 备用数据库的连接方法:</strong></p> <p> ptcp:IP:PORT: 指定连接远端数据库使用tcp协议,以及远端备用数据库的ip地址跟端口</p> <p> pssl:IP:PORT: 指定连接远端数据库使用ssl协议,以及远端备用数据库的ip地址跟端口</p> <p> punix:FILE:使用socket套接字连接备用数据库</p> <p></p> <p> <strong>PKI配置:</strong></p> <p> -p,–private-key=FILE: 指定私有秘钥的位置</p> <p> -c,–certificate=FILE:指定证书的位置</p> <p> -C,ca-cert=FILE:指定对端证书的</p> <p></p> <p></p> <p>到此OpenvSwitch的一些基础知识已经介绍完毕,下一篇将会根据实验来介绍openvswitch的具体使用。</p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信