手动编译安装 Open vSwitch

OVS 默认没有提供YUM源,需要手动获取源码编译安装

1. 获取源码

先在 这里 找到需要安装的版本,例如openvswitch-2.5.10.tar.gz

之后切换至root,安装依赖:

[root@my-centos ~] yum -y install wget openssl-devel gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool python-twisted-core python-zope-interface PyQt4 desktop-file-utils libcap-ng-devel groff checkpolicy selinux-policy-devel

新建ovs用户并切换至ovs登录:

[root@my-centos ~] adduser ovs
[root@my-centos ~] su - ovs
[ovs@my-centos ~]

下载源码并准备编译环境:

[ovs@my-centos ~] mkdir -p ~/rpmbuild/SOURCES
[ovs@my-centos ~] cd ~/rpmbuild/SOURCES
[ovs@my-centos SOURCES] wget http://openvswitch.org/releases/openvswitch-2.5.10.tar.gz
[ovs@my-centos SOURCES] tar -zxvf openvswitch-2.5.10.tar.gz

2. 编译源码

ovs用户身份编译RPM包,之后退出登录:

[ovs@my-centos SOURCES] rpmbuild -bb --nocheck openvswitch-2.5.10/rhel/openvswitch-fedora.spec
[ovs@my-centos SOURCES] exit

3. 安装 RPM 包

root身份安装编译好的RPM包:

[root@my-centos ~] yum localinstall /home/ovs/rpmbuild/RPMS/x86_64/openvswitch-2.5.10-1.el7.centos.x86_64.rpm -y

4. 验证是否安装,启动服务

检查ovs-vsctl命令是否可用:

> ovs-vsctl --version
ovs-vsctl (Open vSwitch) 2.5.10
Compiled Aug  9 2020 17:29:38
DB Schema 7.12.1

启动服务,根据需要设置是否开机自启

# 启动服务
> systemctl start openvswitch.service

# 检查服务状态
> systemctl status openvswitch.service
● openvswitch.service - Open vSwitch
   Loaded: loaded (/usr/lib/systemd/system/openvswitch.service; disabled; vendor pres
et: disabled)
   Active: active (exited) since Sun 2020-08-09 17:33:45 CST; 2s ago
  Process: 15621 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 15621 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/openvswitch.service

Aug 09 17:33:45 VM_0_17_centos systemd[1]: Starting Open vSwitch...
Aug 09 17:33:45 VM_0_17_centos systemd[1]: Started Open vSwitch.

# 如有需要,设置服务开机自启
> systemctl enable openvswitch.service

最后检查服务是否已经启动:

> ovs-vsctl show
93415cc9-53b0-44da-a2d7-17e42b4a5ed1
    ovs_version: "2.5.10"

参考文章

OVS

  1. CentOS 7 安装 Open vSwitch | 简书
  2. OVS - Open vSwitch | Github
  3. Open vSwitch Documentation
  4. Open vSwitch 架构解析与功能实践 - 范桂飓 | CSDN
  5. Open vSwitch 的原理和常用命令 | 开源中国
  6. Open vSwitch 详解 | 简书
  7. Open vSwitch 的 ovs-vsctl 命令详解 | 八戒
  8. 研究 Open vSwitch | jeremy 的技术点滴
  9. OVS 初级教程:使用 Open vSwitch 构建虚拟网络 | SDNLAB
  10. 云计算底层技术 - 使用 Open vSwitch | opengers

VXLAN

  1. Linux 上实现 vxlan 网络 | Cizixs【提到了多播模式下的 VXLAN】
  2. vxlan 协议原理简介 | Cizixs
  3. VXLAN Series – How VTEP Learns and Creates Forwarding Table – Part 5 | VMware vSphere Blog
  4. VXLAN 基础教程:VXLAN 协议原理介绍 | 云原生实验室
  5. VXLAN 基础教程:在 Linux 上配置 VXLAN 网络 | 云原生实验室
  6. 【华为悦读汇】技术发烧友:认识 VXLAN | 华为企业互动社区
  7. 什么是vxlan网络 | Luckylau’s Blog【对上面文章的总结】
  8. VXLAN 技术研究 | CSDN
  9. VXLAN Gateway Overview
  10. 搭建基于 Open vSwitch 的 VxLAN 隧道实验 | SDNLAB