虛擬化雲計算-centos7上安裝測試Open vSwitch

    在KVM中,可以使用網橋+VLAN實現虛擬交換機,也可以使用Open vSwitch實現。

    Open vSwitch即開放的軟件虛擬交換機,能夠達到產品級的質量,也就是說可以部署一些生產環境使用。它不光支持基本的二層交換,還支持標準的管理機接口和協議(如NetFlow,sFlow,SPAN,RSAPN,CLI,LACP,802.1ag),同時也支持OpenFlow,可以很好第與SDN體系融合。

官方網站http://www.openvswitch.org/features/

image.png

一、安裝Open vSwitch

1、安裝KVM包

yum install kvm libvirt-bin virtinst

 2.加載802.1Q

yum install vconfig
modprobe 802.1q

3.使用yum安裝

yum install openvswitch openvswitch-devel openvswitch-test openvswitch-debuginfor

啓動服務

systemctl enable  openvswitch
systemctl start  openvswitch

安裝完成後,檢查版本

ovs-vsctl show

image.png



二、使用ovs-vsctl管理OVS

OVS提供了不同的管理工具,其中最常用的是ovs-vsctl

  1. 網橋相關的操作

ovs-vsctl add-br br0                #增加網橋
ovs-vsctl add-port br0 eth0         #將網卡加網橋

image.png

查看OVS中所有網橋及端口信息

ovs-vsctl show

image.png

此時,將eth0加入到br0網橋後,eth0的Ip地址就失效了,也不需要配置eth0地址,按照如下方式配置eth0網卡地址爲0,配置網橋br0的地址爲管理地址

ifconfig eth0 0
ifconfig br0 172.31.208.60 netmask 255.255.255.0
route add default gw 172.31.208.1 dev br0        #增加網橋的默認路由

image.png


image.png

修改網卡eth0配置文件,不配置ip地址

vim /etc/sysconfig/network-scripts/ifcfg-eth0

image.png


新建網卡br0的配置文件,按照以下填寫ip地址

vim /etc/sysconfig/network-scripts/ifcfg-br0


image.png



三、OVS的數據庫配置與網絡配置文件的關係

    OVS的配置寫在一個ovsdb數據庫中。ovsdb是一個非常輕量級的數據庫,是一個提供增查刪改等功能的臨時配置緩存。

    OVS數據庫操作的一般格式爲:

ovs-vsctl list/set/get/add/remove/clear/destroy table record colunm [value]

默認情況下,ovsdb中有以下數據表:bridge,controller,interface,mirror,netflow,open_vswitch,port,qos,ssl,sflow。即table可爲其中的任意一個,rdcord爲數據表中name字段的值,

colum爲數據表中任意一個字段的字段名,即value字段值。

例如,使用ovs-vsctl list bridge命令查詢ovsdb的bridge表中關於橋與網卡的信息

ovs-vsctl list bridge

image.png

ovs-vsctl list port

image.png

    由上面的信息可以看到,bridge數據表中br0的橋包括了br0和eh3端口的uuid,這樣就完整的記錄了橋與端口的關係。同時在顯示port的時候,也看到每個橋

會‘隱含’建立同名的短褲。但是,數據庫中不記錄每個橋的ip地址,即ip地址信息仍由/etc/sysconfig/network-script/ifcfg-br0保存。這就是ovsdb與/etc/sysconfig/network-script/ifcfg-br0文件間的關係。


四、VLAN的設置及VLAN接口IP地址

    OVS設置trukn和access

將eth0作爲trunk接口加入到br0中

ovs-vsctl add-br br0                #增加網橋
ovs-vsctl add-port br0 eth0         #將網卡加網橋

在br0中增加vlan10與vlan20端口,分別屬於vlan10與vlan20

ovs-vsctl add-port br0 vlan10 tag=10        #設置trunk
ovs-vsctl add-port br0 vlan20 tag=20

配置vlan10端口ip地址

ovs-vsctl set Interface vlan10 type=internal
ifconfig vlan10 192.168.10.1 netmask 255.255.255.0

ovs-vsctl set Interface vlan20 type=internal
ifconfig vlan20 192.168.20.1 netmask 255.255.255.0

配置完成後,查看相關信息

image.png


image.png


五、OVS支持OpenFlow的SDN模式

    在SDN模式下,交換機通過OpenFlow協議與控制(controller)連接,控制確定轉發表後下發到交換機,交換機根據轉發表在各個端口間轉發數據

    OVS安裝完成後,OVS控制器會自動安裝。控制器工作在操作系統的6633端口,若要將OVS與控制器連接,那麼需要OVS中創建一個網橋,此網橋包含

物理網卡,並透過物理網卡與操作系統中的OVS OpenFlow控制連接

舉例如下:

ovs-vsctl add-br br1
ovs-vsctl add-port br1 eth1
ifconfig eth1 0
ifconfig br1 172.31.208.61 netmask 255.255.255.0

設置OVS與控制器連接

ovs-vsctl set-controller br1 tcp: 172.31.208.61

使用ovs-vsctl show檢查狀態

在OVS控制器上操作OVS時,可以使用ovs-ofctl命令來處理


六、OVS的常用操作命令

1、查看當前流表

ovs-ofctl dump-flows br0
ovs-ofctl -O OpenFlow13 dump-flows br0
ovs-appctl bridge/dump-flows br0

2、查看接口id

ovs-appctl dpif/show

image.png

3、查看接口統計

ovs-ofctl dump-ports br0

image.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章