Open vSwitch的安装与运行

一、下载安装包
在http://www.openvswitch.org/download/中下载想要安装的版本
Open vSwitch的安装与运行_第1张图片
笔者下载的是最新的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

Open vSwitch的安装与运行_第2张图片

三、运行
openvswitch有几个脚本放在/usr/local/share/openvswitch/scripts下,为了方便使用,可以设置PATH路径。由于运行需要root权限,可以切换到root,再设置PATH。

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

Open vSwitch的安装与运行_第3张图片

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

Open vSwitch的安装与运行_第4张图片
删除datapath:

ovs-dpctl del-dp ovs-system

Open vSwitch的安装与运行_第5张图片
卸载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

你可能感兴趣的:(Linux)