Open vSwitch的安装与运行
文章目录
在看《Docker 容器与容器云(第2版)》一书时,文章中有介绍到Docker的相关网络知识,其中使用到Open vSwitch,它是一个开源的虚拟交换机,支持VLAN,Qos等,功能相当强大。本文就简单记录一下学习过程:
一、下载安装包
在http://www.openvswitch.org/download/中下载想要安装的版本
笔者下载的是最新的 openvswitch-2.12.0.tar.gz
二、安装
1. 解压、生成Makefile、编译、安装
1tar zxvf openvswitch-2.12.0.tar.gz
2cd openvswitch-2.12.0
3./configure
4make -j4
5sudo make install
以上是正常的编译安装流程。 还有一种配置方式,即编译成内核模块:
1./configure -with-linux=/lib/modules/$(uname -r)/build
2. 如果在安装的过程中生成了修改了内核模块,那么重新编译内核。
1sudo make modules_install
3. 将openvswitch模块载入到内核中
1sudo modprobe openvswitch
可以通过下面的命令来验证是否成功
1sudo lsmod | grep openvswitch
三、运行
openvswitch有几个脚本放在/usr/local/share/openvswitch/scripts下,为了方便使用,可以设置PATH路径。由于运行需要root权限,可以切换到root,再设置PATH。
1export PATH=$PATH:/usr/local/share/openvswitch/scripts
2ovs-ctl start
1system ID not configured, please use --system-id ... failed!
这里有一个失败,可以不用管它。
这样的方式在下次启动后,还需要再手动开启,可以加入服务中自动启动。
验证是否开启:
1ps -e | grep ovs
1ovs-vsctl show
四、卸载OVS的内核模块
如果想要卸载,先停止服务:
1ovs-ctl stop
查看OVS datapath:
1ovs-dpctl show
删除datapath:
1ovs-dpctl del-dp ovs-system
卸载openvswitch内核模块
1rmmod openvswitch
此时查看内核模块,不再有openvswitch
1lsmod | grep openvswitch
五、加入服务自动启动
1. CentOS6:
在/etc/init.d/目录创建一个ovs文件,内容如下:
1#!/bin/bash
2# chkconfig: 2345 30 80
3# description: Starts, stops ovs
4#
5
6# ovs Linux service controller script
7cd "/usr/local/share/openvswitch/scripts/ovs-ctl"
8
9case "$1" in
10 start)
11 ./ovs-ctl start
12 ;;
13 stop)
14 ./ovs-ctl stop
15 ;;
16 *)
17 echo "Usage: $0 {start|stop}"
18 exit 1
19 ;;
20esac
并将之添加运行权限:
1chmod 755 ./ovs
然后使用
1chkconfig on
设置为开机启动。
2. CentOS7及以上版本:
在/usr/lib/systemd/system/下创建一个ovs.service文件,内容如下:
1[Unit]
2Description=Open vSwitch server daemon
3After=network.target
4
5[Service]
6Type=oneshot
7RemainAfterExit=yes
8ExecStart=/usr/local/share/openvswitch/scripts/ovs-ctl start
9ExecStop=/usr/local/share/openvswitch/scripts/ovs-ctl stop
10
11[Install]
12WantedBy=multi-user.target
并将之添加运行权限:
1chmod 777 ./ovs.service
然后使用:
1systemctl enable ovs
设置为开机启动。
重启系统后可以看到进程:
参考: https://www.cnblogs.com/goldsunshine/p/10331606.html https://www.cnblogs.com/yearsj/p/9648749.html
- 原文作者:Witton
- 原文链接:https://wittonbell.github.io/posts/2020/2020-06-17-Open-vSwitch的安装与运行/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。