当前位置: 首页 > news >正文

云计算:Linux 部署 OVS 集群(控制端)实现OpenFlow

目录

 一、实验

1.环境

2.Linux 部署 OVS 集群(控制端)

3.控制端对接服务端OVS网元

4.服务端OVS添加流表

5.服务端删除OVS

二、问题

1. ODL如何查找已安装插件

2.查看流表显示不全

3.如何删除OVS流表


一、实验

1.环境

(1) 主机

表1 宿主机

主机架构软件IP网卡备注
ovs_controller控制端

karaf

0.7.3

192.168.204.63

1个NAT网卡

(204网段)

ovs_server01服务端

OpenvSwitch

     v2.5.1

192.168.204.61

1个NAT网卡

(204网段),

1个仅主机网卡

(88网段)

已部署
ovs_server02服务端

OpenvSwitch

     v2.5.1

192.168.204.62

1个NAT网卡

(204网段),

1个仅主机网卡

(88网段)

已部署

表2 目标云主机

云主机IP备注

cloudserver01

172.16.1.1

宿主机ovs_server01

cloudserver02172.16.1.2

宿主机ovs_server02

(2) 查看IP

ovs_controller

ovs_server01

ovs_server02

(3)查看OVS

ovs-vsctl show

ovs_server01

ovs_server02

(4)打印OVS的汇总信息

ovs_server01

ovs-appctl fdb/show ovs01

ovs_server02

ovs-appctl fdb/show ovs02

2.Linux 部署 OVS 集群(控制端)

(1)查阅OpenDaylight

1)下载
https://docs.opendaylight.org/en/latest/downloads.html2)按照说明
https://docs.opendaylight.org/en/latest/getting-started-guide/installing_opendaylight.html

(2)创建目录

mkdir /opt/java

(3)jre解压

 cp server-jre-8u301-linux-x64.tar.gz  /opt/javacd /opt/javatar -zxvf server-jre-8u301-linux-x64.tar.gz

(4)修改环境变量

vim /etc/profile
……export JAVA_HOME=/opt/java/jdk1.8.0_301export JRE_HOME=/opt/java/jdk1.8.0_301export CLASSPATH=$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/extexport PATH=$PATH:$JRE_HOME/bin

(5)更新环境变量

source  /etc/profile

(6)odl解压

unzip karaf-0.7.3.zip

(7)关闭防⽕墙

systemctl  stop firewalld.service 
systemctl  disable  firewalld.service

(8)开启ODL服务

/root/karaf-0.7.3/bin/karaf

(9)按照特性功能插件

feature:install  odl-restconf
feature:install  odl-l2switch-switch-ui
feature:install  odl-mdsal-apidocs
feature:install  odl-dluxapps-applications
feature:install  odl-dluxapps-yangui
feature:install  odl-restconf-all

(10)访问

http://192.168.204.63:8181/index.html#/login

(11)登录

账户: admin
密码: admin

进入系统

3.控制端对接服务端OVS网元

(1)服务端添加云交换机

ovs_server01

ovs-vsctl add-br  ovs11
ovs-vsctl show

ovs_server02

ovs-vsctl add-br  ovs12
ovs-vsctl show

(2)服务端云交换机添加控制器

ovs_server01

ovs-vsctl  set-controller  ovs11 tcp:192.168.204.63:6633
ovs-vsctl show

ovs_server02

ovs-vsctl  set-controller  ovs12 tcp:192.168.204.63:6633
ovs-vsctl show

(3)ODL查看

Nodes节点信息

Topology拓扑信息

(4)服务端查看网络信息

ovs_server01的仅主机网卡为ens36

ovs_server02的仅主机网卡为ens36

(5)服务端云交换机添加物理端⼝(仅主机网卡)

ovs_server01

ovs-vsctl  add-port ovs11 ens36
ovs-vsctl show

ovs_server02

ovs-vsctl  add-port ovs12 ens36
ovs-vsctl show

(6)ODL查看

Nodes节点连接变为2

Topology拓扑信息变为连接状态

(7) 查看OVS流表节点

ovs_server01

 ovs-ofctl show ovs11 -O OpenFlow13

ovs_server02

ovs-ofctl show ovs12 -O OpenFlow13

(8) 查看OVS流表信息

ovs_server01

ovs-ofctl dump-flows  ovs11  -O  OpenFlow13

ovs_server02

ovs-ofctl dump-flows  ovs12  -O  OpenFlow13

(9)LLDP流量抓包 

ovs_server01 的MAC地址为00:0c:29:50:7a:08,openflow流表为52232747528

ovs_server02的MAC地址为 00:0c:29:d5:c1:24 ,openflow流表为52241482020

(9)服务端云交换机添加接口

ovs_server01

ovs-vsctl add-port  ovs11 if11 -- set interface if11  type=internal
ovs-vsctl show

ovs_server02

ovs-vsctl add-port  ovs12 if12 -- set interface if12 type=internal
ovs-vsctl show

(9)ODL查看

Nodes节点连接变为3

 (10) 查看OVS流表节点

ovs_server01

 ovs-ofctl show ovs11 -O OpenFlow13

ovs_server02

 ovs-ofctl show ovs12 -O OpenFlow13

(11)cloudserver01云主机修改网卡

进入

已关闭

修改网卡为if11

开机(选择命令行模式)

进入系统

(12)cloudserver02云主机修改网卡

进入

已关闭

修改网卡为if12

开机(选择命令行模式)

进入系统

(13)云主机修改网卡

cloudserver01


sudo ifconfig eth0 172.16.1.1 netmask 255.255.255.0

cloudserver02

sudo ifconfig eth0 172.16.1.2 netmask 255.255.255.0

(14)测试网络

云主机1 ping 云主机2 ,目前不通

4.服务端OVS添加流表

(1) 查看OVS流表节点

ovs_server01

 ovs-ofctl show ovs11 -O OpenFlow13

ovs_server02的云主机需要从2口进,1口出

 ovs-ofctl show ovs12 -O OpenFlow13

(2)流量分析

表3 流量分析

    云主机cloudserver01流向云主机cloudserver01
in_port=2,action=output:1in_port=1,action=output:2
in_port=1,action=output:2in_port=2,action=output:1

(3)服务端添加流表

ovs_server01

ovs-ofctl add-flow ovs11 -O Openflow13 in_port=1,action=output:2
ovs-ofctl add-flow ovs11 -O Openflow13 in_port=2,action=output:1

ovs_server02

ovs-ofctl add-flow ovs12 -O Openflow13 in_port=1,action=output:2
ovs-ofctl add-flow ovs12 -O Openflow13 in_port=2,action=output:1

(3) 查看OVS流表信息

ovs_server01

ovs-ofctl dump-flows  ovs11  -O  OpenFlow13

ovs_server02

ovs-ofctl dump-flows  ovs12  -O  OpenFlow13

(4) 测试网络

云主机1 ping 云主机2 ,目前已通

5.服务端删除OVS

(1) 云主机关机

cloudserver01

cloudserver02

(2)云主机切换原网卡

cloudserver01

cloudserver02

(3)服务端删除云交换机

ovs_server01

ovs-vsctl del-br ovs11
ovs-vsctl show

ovs_server02

ovs-vsctl del-br ovs12
ovs-vsctl show

(4)查看ODL

目前为空

二、问题

1. ODL如何查找已安装插件

(1)开启

/root/karaf-0.7.3/bin/karaf

(2)查询

feature:list -i

2.查看流表显示不全

(1)报错

添加2条流表后显示不全

(2)原因分析

ODL未开启。

(3)解决方法

开启ODL:

/root/karaf-0.7.3/bin/karaf

显示成功:

3.如何删除OVS流表

(1)删除

ovs_server01

ovs-ofctl  del-flows ovs11 -O Openflow13 in_port=1,out_port=2
ovs-ofctl  del-flows ovs11 -O Openflow13 in_port=2,out_port=1

ovs_server02

ovs-ofctl  del-flows ovs12 -O Openflow13 in_port=1,out_port=2
ovs-ofctl  del-flows ovs12 -O Openflow13 in_port=2,out_port=1

相关文章:

云计算:Linux 部署 OVS 集群(控制端)实现OpenFlow

目录 一、实验 1.环境 2.Linux 部署 OVS 集群(控制端) 3.控制端对接服务端OVS网元 4.服务端OVS添加流表 5.服务端删除OVS 二、问题 1. ODL如何查找已安装插件 2.查看流表显示不全 3.如何删除OVS流表 一、实验 1.环境 (1) 主机 表1 宿主机 主…...

使用/api/put保存数据到OpenTSDB,报204错误

错误信息 HttpResponseProxy{HTTP/1.1 204 No Content [Content-Type: application/json; charsetUTF-8, Content-Length: 0]} 错误原因 在OpenTSDB中,使用/api/put保执行写入操作,得到204响应,表示已经成功写入数据库。...

Open3D kmeans聚类(马氏距离,Python版本)

文章目录 一、简介二、算法步骤三、代码实现四、实现效果参考资料一、简介 在诸多的聚类方法中,K-Means聚类方法是属于“基于原型的聚类”(也称为原型聚类)的方法,此类方法均是假设聚类结构能通过一组原型刻画,在现实聚类中极为常用。通常情况下,该类算法会先对原型进行初始…...

python抠图程序

import cv2 import numpy as np def color_threshold(image, lower, upper): hsv_image cv2.cvtColor(image, cv2.COLOR_BGR2HSV) mask cv2.inRange(hsv_image, lower, upper) result cv2.bitwise_and(image, image, maskmask) return result # 读取图片…...

Android13 CameraServer启动流程

代码入口 frameworks/av/camera/cameraserver 里面包含了四个文件 我们先来看看Android.bp的内容 package {// See: http://go/android-license-faq// A large-scale-change added default_applicable_licenses to import// all of the license_kinds from "frameworks_a…...

如何升级node.js版本

升级Node.js可以通过多种方式来完成,以下是四种常见的方法: 方法一:使用Node.js官方安装程序 访问Node.js的官方网站,下载对应你操作系统的最新版本安装程序。通常,你可以 https://nodejs.org/en/download 找到你需…...

Excel---一个工作簿中的多个sheet合并成一个PDF

0 Preface/Foreword 1 操作方法 1.1 方法一 文件》 导出 》创建PDF/XPS 》 选项 》发布内容 》“整个工作簿” 1.2 方法二 文件》 打印》 打印机选项中,选择一种PDF阅读器 》设置选项中,选择打印整个工作簿。...

结合文本的目标检测:Open-GroundingDino训练自己的数据集

1、简单介绍 Open-GroundingDino是GroundingDino的第三方实现训练流程的代码,因为官方GroundingDino没有提供训练代码,只提供了demo推理代码。 关于GroundingDino的介绍可以看论文:https://arxiv.org/pdf/2303.05499.pdf GroundingDino的G…...

分布式锁-redission锁的MutiLock原理

5.5 分布式锁-redission锁的MutiLock原理 为了提高redis的可用性,我们会搭建集群或者主从,现在以主从为例 此时我们去写命令,写在主机上, 主机会将数据同步给从机,但是假设在主机还没有来得及把数据写入到从机去的时…...

MySQL索引、B+树相关知识汇总

MySQL索引、B树相关知识汇总 一、有一个查询需求,MySQL中有两个表,一个表1000W数据,另一个表只有几千数据,要做一个关联查询,如何优化?1、为关联字段建立索引二、小表驱动大表 二、b树和b树的区别1、更高的…...

相机模型浅析

相机模型 文章目录 相机模型四个坐标系针孔相机模型世界坐标系到相机坐标系相机坐标系到图像坐标系图像坐标到像素坐标 四个坐标系 ①世界坐标系:是客观三维世界的绝对坐标系,也称客观坐标系。因为数码相机安放在三维空间中,我们需要世界坐标…...

国芯科技(C*Core)双芯片汽车安全气囊解决方案

汽车安全气囊是20世纪汽车上的十大发明之一,是目前汽车的法定标准配置,成为汽车驾乘人员生命安全的保护神。随着人们对汽车安全性要求的进一步提高,已形成前排驾驶员气囊、前排副驾驶员气囊、前排侧气囊、后排侧气囊、膝部气囊、安全气帘等等…...

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解(视频) B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目…...

解锁区块链技术的潜力:实现智能合约与DApps

在数字时代,区块链技术正迅速成为重塑多个行业的革命性力量。从金融服务到供应链管理,再到数字身份验证,区块链提供了一种去中心化、安全和透明的数据处理方式。在本文中,我们将深入探讨区块链技术,特别是智能合约和去…...

MAC OS关闭SIP(navicat 无法保存密码)

最近安装navicat(16.3.7)时,安装后无法保存密码,保存密码会报错如下: 因为用的破解版,一开始是打不开的,用自带的修复软件修复后就可以打开了,但是保存密码就会报错,按照网上的一些操作 1、卸载…...

阿里云服务器带宽价格全解析,附报价单

阿里云服务器公网带宽怎么收费?北京地域服务器按固定带宽计费一个月23元/M,按使用流量计费0.8元/GB,云服务器地域不同实际带宽价格也不同,阿里云服务器网aliyunfuwuqi.com分享不同带宽计费模式下带宽收费价格表: 公网…...

Day36|贪心算法part05:435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 有了上题射气球的因子,这题也就有思路了,反正无脑排序就行了: 首先将所有区间按照end的大小从小到大排序;选取最早end为起始x_end遍历所有区间,如果该区间的start比end大(可重叠&#xf…...

棋牌室计时吧台计费收费灯控管理系统软件操作流程

棋牌室计时吧台计费收费灯控管理系统软件操作流程 一、前言 以下软件操作教程以,佳易王棋牌桌球计时计费管理系统软件灯控版V17.87为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 该计时计费软件可以是棋牌和桌球混合同时计时计费 …...

【实践篇】RabbitMQ实现队列延迟功能汇总

前言 记录下RabbitMQ实现延迟队列功能的所有实践内容。 前期准备,需要安装好docker、docker-compose的运行环境。 一、安装RabbitMQ 开启RabbitMQ的WEB管理功能。-CSDN博客 二、实现延迟队列的两种方式 RabbitMQ实现延迟队列的两种方式。-CSDN博客 三、实践文…...

EditPlus来啦(免费使用!)

hello,我是小索奇 今天推荐一款编辑器,是索奇学习JavaSE时入手滴,非常好用哈,小索奇还是通过老杜-杜老师入手滴,相信很多人也是通过老杜认识嘞,来寻找破解版或者准备入手这个间接使用的编辑器~ EditPlus是…...

蓝桥杯22年第十三届省赛-数组切分|线性DP

题目链接: 蓝桥杯2022年第十三届省赛真题-数组切分 - C语言网 (dotcpp.com) 1.数组切分 - 蓝桥云课 (lanqiao.cn) 这道题C语言网数据会强一些。 说明: 对于一个切分的子数组,由于数组是1-N的一个排列,所以每个数唯一 可以用子…...

小米汽车:搅动市场的鲶鱼or价格战砧板上的鱼肉?

3月28日晚,备受关注的小米汽车上市发布会召开,小米集团董事长雷军宣布小米SU7正式发布。小米汽车在带飞股价的同时,二轮订购迅速售尽。 图一:小米集团股价 雷军口中“小米汽车迈出的第一步,也是人生最后一战的开篇”&a…...

Docker 学习笔记(五):梳理 Docker 镜像知识,附带 Commit 方式提交镜像副本,安装可视化面板 portainer

一、前言 记录时间 [2024-4-10] 前置文章: Docker学习笔记(一):入门篇,Docker概述、基本组成等,对Docker有一个初步的认识 Docker学习笔记(二):在Linux中部署Docker&…...

K8S node节点执行kubectl get pods报错

第一个问题是由第二个问题产生的,第二个问题也是最常见的 网上找的都是从master节点把文件复制过来,这样确实可以解决,但是麻烦,有一个node节点还好,如果有多个呢?每个都复制吗?下面是我从外网…...

C++简单日志系统

需求描述 日志等级:定义一个枚举类型 LogLevel,包含至少四个等级:DEBUG、INFO、WARNING、ERROR。日志记录:实现一个 Logger 类,包含以下功能: 一个静态方法 log,接受 LogLevel 和一个字符串作为…...

MySQL基础练习题:习题21-25

这部分主要是为了帮助大家回忆回忆MySQL的基本语法,数据库来自于MySQL的官方简化版,题目也是网上非常流行的35题。这些基础习题基本可以涵盖面试中需要现场写SQL的问题。 列出在部门sales工作的员工的姓名,假定不知道销售部的部门编号 sele…...

全面的网络流量监控

流量监控指的是对数据流进行的监控,通常包括出数据、入数据的速度、总流量。通过网络流量监控,组织可以确保只有业务关键型流量通过网络传输,并限制不需要的网络流量,从而提高网络效率,又可以防止停机、减少 MTTR、帮助…...

探索网络爬虫:技术演进与学习之路

网络爬虫及IP代理池 前言爬虫技术的演进最新的爬虫技术爬虫技术学习路线 前言 在信息时代,网络爬虫技术作为获取和处理网络数据的重要手段,已经成为数据科学、机器学习和许多商业应用的基石。从简单的HTML页面抓取到复杂的动态内容采集,爬虫…...

目标检测——色素性皮肤病数据集

一、重要性及意义 首先,色素性皮肤病变是一类常见的皮肤疾病,其发病率有逐年增高的趋势。这些病变可能由遗传或环境因素导致黑素细胞生成异常,如黑色素瘤等。黑色素瘤具有极高的恶性率和致死率,而且恶化可能性大,容易…...

Unity3D 打空包与远程资源更新详解

前言 在游戏开发过程中,打包和远程资源更新是非常重要的步骤,本文将详细介绍Unity3D中如何进行打空包和远程资源更新。 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀! 一、打空包 …...

婚纱摄影网站图片/网站自然排名怎么优化

A. 阿里巴巴 数据中台 — 概述 概述 云上数据中台业务模式 — 6大独特价值 业务体感OneTeam协同作战特色大数据人云上数据中台大数据技术云上数据中台建设方法论云上数据中台产品化服务 底层基础设施 业务前台 — 业务数据化 VS 数据业务化云上数据中台 — 智能数据能力 既&q…...

网络科技有限公司官网/2021百度seo

主板BIOS导致安装系统失败安全教程来源:华强电子网作者:华仔浏览:465时间:2017-08-05 10:14标签:摘要:内容: 一天,朋友打电话来说他的爱机装不上Windows 2000了,不是死机…...

wordpress中文版源码/seo咨询解决方案

目录 EFK架构(elasticsearch\filebeat\kibana) 1、下载elasticsearch、kibana、filebeat 2、创建用户并授权 3、安装并启动 3.1 使用elasticsearch账号安装启动 >3.1.1 解压 elasticsearch >3.1.2 配置 elasticsearch >3.1.3 启动elast…...

投资理财产品的网站建设/2021年网络营销考试题及答案

引言 在日常开发工作中,多线程开发可以说是必备技能,好的程序员是一定要对线程这块有深入了解的,我是Java程序员,并且Java语言本身对于线程开发的支持是非常成熟的,所以今天我们就来入个门,学一下Java怎么创…...

招聘公司怎么做网站/国家职业技能培训学校

申明:本文来自b站springboot视频讲解笔记部分。b站链接:自动配置原理 本文主要讲三点:配置文件到底能写什么?怎么写?自动配置原理; 配置文件能配置的属性参照 1、自动配置原理: 1)、SpringB…...

十大黄金软件app/泰州网站排名seo

Open3D 自定义可视化背景颜色与点的大小 Open3D是一个现代化的3D计算机视觉库,用于处理三维数据。它支持从各种格式的文件中读取、显示和处理点云、网格、体积数据和三角测量数据等多种类型的3D数据。在进行3D数据的可视化时,可视化背景颜色的设置非常重要,并且设置点的大小…...