Open vSwitch系列之二 安装指定版本ovs

在ovs学习过程中,如果自己想要安装一个ovs交换机其实一条简单的命令 apt  install openvswitch 就可以了,但是这种方法只能安装低版本的ovs。在特殊情况下需要安装指定版本,例如需要下发meters表时需要ovs2.8以上的版本,那么就需要下载安装包手动安装。看似一个复杂的过程,其实也是比较简单的。下面就一起来看看如果手动安装一个指定版本ovs交换机。

准备工作

安装python

[[email protected] ~]# yum -y install python

安装python-pip

如果不安装pip,在下面的过程会报错找不到six模块。

[[email protected] ~]# yum -y install epel*[[email protected] ~]# yum -y install python-pip 

下载指定版本,可以看到这种安装的好处是你可以指定任何一种版本

http://www.openvswitch.org/download/      #下载地址
[[email protected] ~]# tar xf openvswitch-2.8.1.tar.gz 

生成makefile文件

[[email protected] ~]# cd openvswitch-2.8.1[[email protected] openvswitch-2.8.1]# yum -y install python-six[[email protected] openvswitch-2.8.1]# ./configure 

make 编译文件

[[email protected] openvswitch-2.8.1]# make && make install

.检查模块

如果在安装的过程中生成了修改了内核模块,那么重新编译内核。

[[email protected] openvswitch-2.8.1]# make modules_install
make: 对“modules_install”无需做任何事。

载入模块,载入openvswitch的模块到内核中

[[email protected] openvswitch-2.8.1]# /sbin/modprobe openvswitch
[[email protected] openvswitch-2.8.1]# /sbin/lsmod |grep openvswitch
openvswitch           106996  0
nf_nat_ipv6            14131  1 openvswitch
nf_defrag_ipv6         35104  2 openvswitch,nf_conntrack_ipv6
nf_nat_ipv4            14115  2 openvswitch,iptable_nat
nf_nat                 26787  4 openvswitch,nf_nat_ipv4,nf_nat_ipv6,nf_nat_masquerade_ipv4
nf_conntrack          133387  9 openvswitch,nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_netlink,nf_conntrack_ipv4,nf_conntrack_ipv6
libcrc32c              12644  4 xfs,openvswitch,nf_nat,nf_conntrack

启动

[[email protected] openvswitch-2.8.1]# export PATH=$PATH:/usr/local/share/openvswitch/scripts
[[email protected] openvswitch-2.8.1]# ovs-ctl start
/usr/local/etc/openvswitch/conf.db does not exist ... (warning).
Creating empty database /usr/local/etc/openvswitch/conf.db [  OK  ]
Starting ovsdb-server [  OK  ]
system ID not configured, please use --system-id ... failed!
Configuring Open vSwitch system IDs [  OK  ]
Starting ovs-vswitchd [  OK  ]
Enabling remote OVSDB managers [  OK  ]

启动ovsdb-server服务

[[email protected] openvswitch-2.8.1]# export PATH=$PATH:/usr/local/share/openvswitch/scripts
[[email protected] openvswitch-2.8.1]# ovs-ctl --no-ovs-vswitchd start
ovsdb-server is already running.
Enabling remote OVSDB managers [  OK  ]

启动ovs-vswitchd服务

[[email protected] openvswitch-2.8.1]# export PATH=$PATH:/usr/local/share/openvswitch/scripts
[[email protected] openvswitch-2.8.1]# ovs-ctl --no--ovsdb-server start
/usr/local/share/openvswitch/scripts/ovs-ctl: unknown option "--no--ovsdb-server" (use --help for help)
ovsdb-server is already running.
ovs-vswitchd is already running.
Enabling remote OVSDB managers [  OK  ]

配置ovsdb的数据库

[[email protected] openvswitch-2.8.1]# mkdir -p /usr/local/etc/openvswitch
[[email protected] openvswitch-2.8.1]# ovs-ctl --no--ovsdb-server start
/usr/local/share/openvswitch/scripts/ovs-ctl: unknown option "--no--ovsdb-server" (use --help for help)
ovsdb-server is already running.
ovs-vswitchd is already running.
Enabling remote OVSDB managers [  OK  ]

配置ovsdb-server以使用上面创建的数据库,监听Unix域套接字

[[email protected] openvswitch-2.8.1]# mkdir -p /usr/local/var/run/openvswitch
[[email protected] openvswitch-2.8.1]# ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock > --remote=db:Open_vSwitch,Open_vSwitch,manager_options >     --private-key=db:Open_vSwitch,SSL,private_key >     --certificate=db:Open_vSwitch,SSL,certificate >     --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert >     --pidfile --detach --log-file
2019-12-30T12:30:01Z|00001|vlog|INFO|opened log file /usr/local/var/log/openvswitch/ovsdb-server.log
ovsdb-server: /usr/local/var/run/openvswitch/ovsdb-server.pid: already running as pid 45678, aborting

使用ovs-vsctl初始化数据库

[[email protected] openvswitch-2.8.1]# ovs-vsctl --no-wait init
[[email protected] openvswitch-2.8.1]# ovs-vswitchd --pidfile --detach --log-file
2019-12-30T12:31:39Z|00001|vlog|INFO|opened log file /usr/local/var/log/openvswitch/ovs-vswitchd.log
ovs-vswitchd: /usr/local/var/run/openvswitch/ovs-vswitchd.pid: already running as pid 45688, aborting

接下来就可以使用了,使用ovs-vsctl show命令,查看ovs的版本号。

[[email protected] openvswitch-2.8.1]# ovs-vsctl show
b9da3f20-b407-40fa-8944-df970f4ca3ad
    ovs_version: "2.8.1"

原文地址:https://www.cnblogs.com/liujunjun/p/12121579.html

时间: 2024-07-30 14:17:16

Open vSwitch系列之二 安装指定版本ovs的相关文章

Nginx知多少系列之(二)安装

原文:Nginx知多少系列之(二)安装 目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.Linux下.NET Core项目Nginx+Keepalived高可用(主从模式) 8.Linux下.NET Core项目Nginx+Keepalived高可用(双主模式) 9.Linux下.NET Core项目LVS+Keepalived+Nginx高可用集群 10.构建静态服务器 11.日志分析 1

centos7下安装指定版本mysql5.7.23

现在mysql版本已经到MySQL 8.0(GA)稳定版本了,所以需求是想简单又快速在centos7下安装指定版本例如MySQL 5.7(GA)版本有下面这种方法 首先需要到mysql官网这里下载对应RPM包来update一下 1.全新安装MySQL的步骤 我这边是想安装5.7.23版本,然后这个rpm包是最新8.0版本的,这边我就需要做点操作了: 首先,将MySQL Yum存储库添加到系统的存储库列表中.按着这些次序: 在http://dev.mysql.com/downloads/repo/

使用Nuget 安装指定版本package或者更新package到指定版本

最近在琢磨MVC和EntityFramework,使用的VS是2013版的,在Nuget的GUI界面下安装了EntityFramework(默认安装最新版的,怎么安装指定版本还没找到),按照MVC的示例项目MusicStore逐步做的过程中发现MVC4不支持EntityFramwok 6. 尝试去更新MVC版本各种失败,只能试着去降低EntityFramework版本.但是通过Nuget的GUI界面无法安装或更新到指定版本的EntityFramwok.在网上搜了搜相关资料(事实上也很容易搜到),

nodejs安装指定版本

由于express有各种不同的版本,不同的版本开发方式有所不同,如果想安装指定版本可以选择全局安装指定版本: 安装步骤如下: (1) 安装2.5.8版本的express的方法: C:\Users\Linda\AppData\Roaming\npm\node_modules 这是全局express的安装目录 这个文件夹是隐藏文件夹,为了将隐藏文件改为可以看到的文件我们用到的是: 文件夹选项/查看/隐藏文件和文件夹/显示隐藏的文件 为了安装指定版本的express文件我们必须把安装的express文

Mac系统下brew安装指定版本的nodejs小笔记

http://www.jincon.com/archives/429/ Mac系统下brew安装指定版本的nodejs小笔记

CentOS 下yum安装指定版本mysql的过程

在linux安装指定版本mysql是一个困难的事情,yum安装一般是安装的mysql5.1,现在经过自己不懈努力终于能用yum安装mysql5.5了. 1.安装mysql-5.5的yum源 rpm -ivh http://repo.mysql.com/yum/mysql-5.5-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm 2.修改安装好的yum源 编辑 /etc/yum.repos.d/mysql-communit

pip install 安装指定版本的包

pip install 安装指定版本的包 要用 pip 安装指定版本的 Python 包,只需通过 == 操作符 指定 pip install robotframework==2.8.7 将安装robotframework 2.8.7 版本. 原文地址:https://www.cnblogs.com/AlvinLau/p/8662890.html

pip 查看已安装模块、卸载指定模块、安装指定版本模块

操作背景 最近使用 pandas+plotly 画heatmap(热力图),来处理股票数据,语法.步骤都没问题,但到画图那一步老是报错,且 plotly 版本为3.0.0: 最后找到原因,plotly版本的问题,3.0.0 版本会报错,只好降到 2.7.0版本: 平时 pip 都是安装模块,很少卸载,记不清具体用法了,就查了下,顺便总结记录. 查看已安装模块 代码: pip list 输入 pip list  就会看到目前已安装的模块(模块名以及版本): 卸载指定模块 代码: pip unins

yum命令showduplicates安装指定版本包

默认情况下,我们用yum list 或者 yum install 的时候,yum会默认选择最新的版本. 如果我们需要安装指定版本的某个软件包,以使之能够和我们现有环境的软件包版本匹配,那么就需要用到showduplicates 使用--showduplicates参数列出所有版本 查看docker-ce: yum list docker-ce 可安装的软件包 docker-ce.x86_64 查看docker-ce各个版本: yum list docker-ce --showduplicate