Open vSwitch的安裝與運行

一、下載安裝包
在http://www.openvswitch.org/download/中下載想要安裝的版本
在這裏插入圖片描述
筆者下載的是最新的openvswitch-2.12.0.tar.gz
二、安裝

  1. 解壓、生成Makefile、編譯、安裝
tar zxvf openvswitch-2.12.0.tar.gz
cd openvswitch-2.12.0
./configure 
make -j4
sudo make install

以上是正常的編譯安裝流程。
還有一種配置方式,即編譯成內核模塊:

./configure -with-linux=/lib/modules/$(uname -r)/build
  1. 如果在安裝的過程中生成了修改了內核模塊,那麼重新編譯內核。
sudo make modules_install

在這裏插入圖片描述

  1. 將openvswitch模塊載入到內核中
sudo modprobe openvswitch 

可以通過下面的命令來驗證是否成功

sudo lsmod | grep openvswitch

在這裏插入圖片描述

三、運行
openvswitch有幾個腳本放在/usr/local/share/openvswitch/scripts下,爲了方便使用,可以設置PATH路徑。由於運行需要root權限,可以切換到root,再設置PATH。

export PATH=$PATH:/usr/local/share/openvswitch/scripts
ovs-ctl start 

在這裏插入圖片描述

system ID not configured, please use --system-id ... failed!

這裏有一個失敗,可以不用管它。

這樣的方式在下次啓動後,還需要再手動開啓,可以加入服務中自動啓動。

驗證是否開啓:

ps -e | grep ovs

在這裏插入圖片描述

ovs-vsctl show

在這裏插入圖片描述

四、卸載OVS的內核模塊
如果想要卸載,先停止服務:

ovs-ctl stop

查看OVS datapath:

ovs-dpctl show

在這裏插入圖片描述
刪除datapath:

ovs-dpctl del-dp ovs-system

在這裏插入圖片描述
卸載openvswitch內核模塊

rmmod openvswitch

此時查看內核模塊,不再有openvswitch

lsmod | grep openvswitch

五、加入服務自動啓動

  1. CentOS6:
    在/etc/init.d/目錄創建一個ovs文件,內容如下:
#!/bin/bash
# chkconfig: 2345 30 80
# description:  Starts, stops ovs
#

# ovs Linux service controller script
cd "/usr/local/share/openvswitch/scripts/ovs-ctl"

case "$1" in
    start)
        ./ovs-ctl start
        ;;
    stop)
        ./ovs-ctl stop
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac

並將之添加運行權限:

chmod 755 ./ovs

然後使用

chkconfig on

設置爲開機啓動。

  1. CentOS7及以上版本:
    在/usr/lib/systemd/system/下創建一個ovs.service文件,內容如下:
[Unit]
Description=Open vSwitch server daemon
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/share/openvswitch/scripts/ovs-ctl start
ExecStop=/usr/local/share/openvswitch/scripts/ovs-ctl stop

[Install]
WantedBy=multi-user.target

並將之添加運行權限:

chmod 777 ./ovs.service

然後使用:

systemctl enable ovs

在這裏插入圖片描述
設置爲開機啓動。

重啓系統後可以看到進程:
在這裏插入圖片描述

參考:
https://www.cnblogs.com/goldsunshine/p/10331606.html
https://www.cnblogs.com/yearsj/p/9648749.html

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