虛擬化網絡之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.www58058.com/12990

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

相關推薦

  • Linux shell之bash特性大全詳解(持續更新ing)

    一、shell是什么?     Shell本身是一個用C語言編寫的程序,它是用戶使用Unix/Linux的橋梁,用戶的大部分工作都是通過Shell完成的。Shell既是一種命令語言,又是一種程序設計語言。作為命令語言,它交互式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各種變量和參數,并提供了許多在高級語言中…

    Linux干貨 2016-03-09
  • Linux簡述

    計算機誕生                                                  …

    2017-03-18
  • NTP服務器搭建

        1、NTP(Network Time Protocol)         在計算機世界中,NTP(Network Time Protocol,網絡時間協議)被廣泛用于對時間的統一性和準確性要求非常高的場景,是用來使網絡中的各個計算機時間同步的一種協議?!?/p>

    Linux干貨 2015-11-18
  • 22期第十三周課堂練習

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)   1)共享名為shared,工作組為magedu;   2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;   3)添加s…

    Linux干貨 2017-01-09
  • 權限管理

    1、創建組sales,gid 3000,passwd:centos,sales admins:user2 將用戶user1,user2,user3加入到sales輔助組 希望user1 創建新文件 默認的所屬組為sales user2將用戶user3從sales組移除 # groupadd -g 3000 sales  # gpasswd sale…

    Linux干貨 2016-08-03
  • Linux運維實戰之6:掛載/卸載磁盤分區

    上次博文我們具體討論了Linux系統中磁盤的分區及格式化( http://www.www58058.com/60811),本次博文我們具體來說說分區的掛載哈! 【問題引入】 已經格式化好的分區如何與系統現有的文件系統建立關聯(如何使用新分區)? 新的磁盤分區創建完成并格式化之后需要掛載(或裝入)到目錄樹上才能被使用。 何謂掛載/卸載? 【答】將某個…

    Linux干貨 2016-12-04
欧美性久久久久