一、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