openvswitch常用操作


原理講解:

  當我們創建一個交換機(網橋)之后即(ovs-vsctl add-br brname),此時網絡功能不受影響,但是會產生一個虛擬網卡,名字為brname(與網橋名字同名,可以使用  ifconfig brname查看),之所以會產生一個虛擬網卡,是為了實現接下來的網橋(交換機)功能,有了這個交換機以后,還需要為這個交換機增加端口(port),一個  端口就相當於一個物理網卡,當網卡加入到這個交換機之后,其工作方式就和普通交換機的一個端口的工作方式類似了;

  再執行(ovs-vsctl add-port brname port)之后,即網卡加入網橋之后,按照網橋的工作標准工作,則加入的端口(網卡)必須以混雜模式工作,工作在鏈路層,處理2  層的幀,所以這個port就不需要配置IP的(應該沒有見過哪個交換機的端口有IP的吧)

  那么接下來你可能會問,通常的交換機不都是有一個管理接口,通過telnet到交換機上進行配置的,那么在OVS中創建的虛擬機有沒有該接口呢,有的!上面提到創建交換機brname的時候產生了一個虛擬網口brname,那么,給這個虛擬網卡配置了ip之后,就相當於給交換機的管理接口配置了IP,對此一個正常的虛擬交換機就搞定了!!

  除此之外,與網橋同名的網卡(端口)起到了橋的功能;

二、工作場景

  ovs主要是用來虛擬化環境中,虛擬機之間的一個虛擬機和外網之間的通信場景,如下一個典型的結構圖:

  

  • 1 VM實例instance產生一個數據包並發送至實例內的虛擬網絡接口VNIC,圖中就是instance中的eth0.
  • 2 這個數據包會傳送到物理節點上的VNIC接口,如圖就是vnet接口。
  • 3 數據包從vnet NIC出來,到達橋(虛擬交換機)br100上.
  • 4 數據包經過交換機的處理,從物理節點上的物理接口發出,如圖中物理節點上的eth0.
  • 5 數據包從eth0出去的時候,是按照物理節點上的路由以及默認網關操作的,這個時候該數據包其實已經不受你的控制了。

1、添加網橋br0:

  #ovs-vsctl add-br  br0

2、列出open vswitch中所有的網橋:

  #ovs-vsctl list-br

3、判斷網橋是否存在:

  #ovs-vsctl br-exists br0

4、將物理網卡掛接到網橋:

  #ovs-vsctl add-port br0  eth0

5、新建虛擬端掛接到網橋中:

  #ovs-vsctl add-port br0 my_port_name

  eg:ovs-vsctl add-port br0 gre0 -- set Interface gre0 type=gre options:remote_ip = XX.XX.XX.XX

6、列出網橋中所有端口:

  #ovs-vsctl list-ports br0

7、列出所有掛接到網卡的網橋:

  #ovs-vsctl port-to-br eth0

8、查看open vswitch的網絡狀態:

  #ovs-vsctl show

9、刪除網橋上已掛接的網口:

  #ovs-vsctl del-port  br0 eth0

10、刪除網橋:

  #ovs-vsctl  del-br br0

參見:http://blog.chinaunix.net/uid-20737871-id-4333314.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM