云计算: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/811596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java包目录命名

包目录命名 config controller exception model common entity enums reponse request repository security service util

Python 全栈系列239 使用消息队列完成分布式任务

说明 在Python - 深度学习系列32 - glm2接口部署实践提到,通过部署本地化大模型来完成特定的任务。 由于大模型的部署依赖显卡,且常规量级的任务需要大量的worker支持,从成本考虑,租用算力机是比较经济的。由于任务是属于超高计…

Java上机实验报告(6)

实验 (6) 项目名称:常用实用类-字符串类 一、 实验报告内容一般包括以下几个内容: 实验项目名称 实验6 常用实用类-字符串类实验目的和要求 本实验的目的: 掌握字符串概念,区分字符串类型和字符类型。掌握…

QA测试开发工程师面试题满分问答11: web前端页面视频组件无法播放如何定位bug

当 web 前端页面的视频组件无法播放时,可以从以下维度进行分析和定位可能的 bug,分析维度包括但不限于:前端功能点、缓存、异常、后端功能点、资源占用、并发、网络等: 前端功能点: HTML5 视频支持:检查视频…

等保测评2.0——网络安全等级保护测评的初步了解

一、什么是网络安全等级保护测评? 二、网络安全等级保护,保护的是什么? 等级保护对象:网络安全等级保护工作直接作用的对象。(注:主要包括信息系统、通信网络设施和数据资源等) 计算机信息系统…

Qotom Q720G5英特尔赛扬处理器N4000高性价比无风扇迷你电脑5网口软路由防火墙

在数字时代,迷你电脑已经成为高效、灵活的解决方案,无论是个人用户还是企业用户,都能从中受益。Qotom Q720G5 无风扇迷你电脑就是这样一款强大的选择,它不仅可以作为软路由、防火墙和路由器,还有着更多的潜力等待发掘。…

中国手机频段介绍

中国目前有三大运营商,分别是中国移动、中国联通、中国电信,还有一个潜在的运营商中国广电,各家使用的2/3/4G的制式略有不同 中国移动的GSM包括900M和1800M两个频段。 中国移动的4G的TD-LTE包括B34、B38、B39、B40、B41几个频段,…

【C++】C++11介绍

目录 C11的由来 命名趣事 统一的列表初始化 统一的列表初始化的一些关键点和特性: 简单测试代码示例: 示例 1:初始化内置类型和数组 示例 2:初始化类和结构体 示例 3:初始化标准库容器 声明 auto关键字 auto…

基于双向长短期神经网络LSTM的飞行轨迹预测,基于GRU神经网络的飞行轨迹预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 基于双向长短期神经网络LSTM的飞行轨迹预测,基于GRU神经网络的飞行轨迹预测 完整代码: 基于双向长短期神经网络LSTM的飞行轨迹预测,基于GRU神经网络的飞行轨迹预测资源-CSDN文库 https://download.csdn.net/do…

苹果全力升级:用专注AI的M4芯片彻底改造Mac系列

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

设计符合autosar架构的simulink模型框架

设计符合AUTOSAR架构的Simulink模型框架需要对AUTOSAR标准有深入的理解,同时也需要熟悉Simulink建模工具。以下是设计这样一个模型框架的步骤: 1. 理解AUTOSAR架构要求 研究AUTOSAR标准:首先,需要详细阅读并理解AUTOSAR标准文档,特别是与软件架构和模块定义相关的内容。确…

Nginx实现反向代理、负载均衡、动静分离

1. 什么是Nginx的反向代理? Nginx的反向代理是指Nginx作为服务器的前端,接收客户端的请求,然后将请求转发给后端的真实服务器,并将真实服务器的响应返回给客户端。这种代理方式使得客户端并不知道真实服务器的存在,它…

通过Transform与Animation,来探索CSS中的动态视觉效果

在 transform 和 animation 出现之前,前端开发者通常需要编写大量的 JavaScript 代码来实现动态效果。然而,这两个 CSS 属性的引入极大地简化了丰富动效和过渡效果的实现,从而让用户界面更加引人入胜,交互体验更为流畅。本文将深入…

最优算法100例之44-不用加减乘除做加法

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 不用加减乘除做加法 题解报告 最优解法:使用异或 1)异或是查看两个数哪些二进制位只有一个为1,这些是非进位位,可以直接…

小程序地理位置权限申请+uniapp调用uni.getLocation

文章目录 一、小程序地理位置权限申请二、uniapp调用uni.getLocation 一、小程序地理位置权限申请 需要确保小程序类目已经填写 点击左侧导航栏找到最后的“设置”——“基本设置”——“前往填写” 在开发管理——接口设置——地理位置中可以看到: 即可点击想要申…

数据库操作sql循环和sql递归

1.sql循环 在SQL中,通常情况下并不直接支持循环,因为SQL是一种集合操作语言,更适合于对数据集进行操作和处理。但是,可以通过递归查询和循环结构实现类似循环的功能,具体取决于数据库系统的支持和实现。 一种常见的方…

智能物联网远传冷水表管理系统

智能物联网远传冷水表管理系统是一种基于物联网技术的先进系统,旨在实现对冷水表的远程监测、数据传输和智能化管理。本文将从系统特点、构成以及带来的效益三个方面展开介绍。 系统特点 1.远程监测:系统可以实现对冷水表数据的远程监测,无…

uni-app实现下拉刷新

业务逻辑如下: 1.在滚动容器中加入refresher-enabled属性,表示为开启下拉刷新 2.监听事件,添加refresherrefresh事件 3.在事件监听函数中加载数据 4.关闭动画,添加refresher-triggered属性,在数据请求前开启刷新动画…

单片机之蓝牙通信

目录 蓝牙介绍 HC05蓝牙模块 HC05参数 HC05引脚 各个引脚功能 HC05模块的作用 工作模式 配置模式 引脚接线 用AT指令进行配置 常用的AT指令 正常模式 测试步骤 烧录的程序 前言: keil文件 蓝牙介绍 蓝牙:Bluetooth,其是低成…

企业航拍VR全景视频展示仿如上门参观

360度VR全景视频因其广阔的视野和身临其境的体验,无论再房产楼盘的精致呈现,旅游景点的全景漫游,还是校园风光的生动展示,都成为企业商户的首选。 360度vr全景视频编辑软件是深圳VR公司华锐视点提供多种常见的三维仿真场景供选择&…