解析OVN架构及其在OpenStack中的集成

news2025/1/14 15:11:31

引言

随着云计算技术的发展,虚拟化网络成为云平台不可或缺的一部分。为了更好地管理和控制虚拟网络,Open Virtual Network (OVN) 应运而生。作为Open vSwitch (OVS) 的扩展,OVN 提供了对虚拟网络抽象的支持,使得大规模部署和管理变得更加容易。本文将详细介绍 OVN 架构、它与 OpenStack 的集成方式、基于 OVN 的虚拟网络实现以及 OVN 在其中发挥的作用。

OVN架构详解

1. 架构概述

OVN 是一个支持虚拟网络抽象的系统,旨在为云环境提供分布式虚拟交换机和路由器的功能。它的设计目标是能够大规模运行,并且可以与多种云管理系统(CMS)集成,如OpenStack。OVN 架构由以下几个关键部分组成:
在这里插入图片描述

  • 云管系统(Cloud Management System, CMS):这是用户和管理员与 OVN 交互的主要界面,通常指代的是像 OpenStack 这样的云平台。
  • OVN/CMS 插件:用于将 CMS 中定义的逻辑网络配置转换成 OVN 可以理解的形式,并写入北向数据库中。
  • OVN 北向数据库 (Northbound Database):存储从 CMS 插件传递过来的逻辑网络配置信息。
  • ovn-northd:这是一个集中式的控制器,负责将北向数据库中的逻辑网络配置转换为更底层的数据路径流规则,并将其写入南向数据库。
  • OVN 南向数据库 (Southbound Database):保存 ovn-northd 转换后的数据路径流规则,以及物理网络信息。
  • ovn-controller:每个 虚拟层(KVM、Xen、hyperv)或网关上的代理程序,负责连接到南向数据库获取最新配置,并应用到本地的 OVS 上。
  • ovs-vswitchd 和 ovsdb-server:这是 OVS 的核心组件,负责实际的数据包转发工作

2. 数据流动

在 OVN 中,配置数据是从上至下流动的,即从 CMS 开始,经过 OVN/CMS 插件、北向数据库、ovn-northd 到达南向数据库,最后由各个节点上的 ovn-controller 实施。相反地,状态信息则是自下而上传递,例如当某个 VM 启动后,其对应的逻辑端口会被标记为“up”,这一变化会通过南向数据库反馈给 ovn-northd 并最终反映到 CMS。

OVN与OpenStack集成

1. 集成背景

OpenStack Neutron 是 OpenStack 项目中负责网络服务的模块,最初依赖于多种插件来实现不同的网络功能。然而,随着需求的增长和技术的进步,Neutron 的架构逐渐暴露出一些性能瓶颈。为此,OVS 社区推出了 OVN 项目,旨在简化 Neutron 的架构并提高整体性能。通过使用 OVN 作为 Neutron 的后端,不仅可以减少消息队列机制带来的延迟,还能让 Neutron 更专注于 API 层面的工作。

2. 具体步骤

要将 OVN 集成到 OpenStack 环境中,首先需要确保所有计算节点都安装了 OVS 和 OVN 相关软件包。接着,在 OpenStack 控制节点上配置 neutron.conf 文件,指定使用 OVN ML2 插件,并设置相应的 VNI 范围等参数。此外,还需要调整 neutron-server 和其他相关服务的启动脚本,使其能够正确加载 OVN 插件。

对于已经存在的 OpenStack 环境来说,可以通过逐步迁移的方式引入 OVN 支持。例如,可以在不影响现有业务的前提下先在一个子网内测试 OVN 的表现,待验证无误后再推广至整个集群。

基于OVN的虚拟网络实现

1. 虚拟二层网络

OVN 提供了原生的 L2 网络支持,允许创建多个隔离的虚拟 LAN (VLAN),并通过 Geneve 等隧道协议实现跨主机通信。每个 VLAN 可以被视为一个独立的广播域,确保不同租户之间的流量不会相互干扰。同时,OVN 还支持 DHCP 和 DNS 服务,帮助简化 IP 地址分配过程。

2. 分布式三层路由

除了基本的二层功能外,OVN 还实现了分布式虚拟路由器,能够在多个计算节点之间分发路由表项,从而提高了路由决策的速度和效率。更重要的是,这种分布式设计避免了单点故障的风险,增强了系统的可靠性和容错能力。

3. 安全组和 ACL

为了保障网络安全,OVN 引入了安全组的概念,允许管理员根据 MAC 地址、IP 地址或端口号设置访问控制列表 (ACL)。这些规则可以直接作用于 OVS 内部接口,无需借助额外的防火墙设备,既减少了复杂度又提升了处理速度。

OVN的作用

1. 提升性能

相比于传统的 Neutron 架构,OVN 减少了中间环节的数量,直接利用 OVSDB 协议进行读写操作,显著降低了 RPC 消息传输的开销。这不仅加快了配置同步的速度,也减轻了控制平面的压力。

2. 增强灵活性

由于 OVN 本身是一个高度模块化的系统,因此它可以轻松适应各种不同的应用场景。无论是公有云还是私有云,无论是容器还是虚拟机,只要能运行 OVS,就可以部署 OVN 来构建灵活多变的虚拟网络。

3. 简化运维

得益于其清晰的角色划分和自动化程度较高的特性,OVN 大大简化了日常维护工作。比如,当 VM 发生迁移时,OVN 可以自动更新相关的流表规则,保证新位置下的正常通信;而对于大规模集群而言,管理员也可以方便地监控和管理整个网络的状态。

综上所述,OVN 不仅解决了传统网络架构中存在的诸多问题,还为企业级用户提供了更加便捷高效的解决方案。未来,随着 SDN 技术的不断发展和完善,相信 OVN 将会在更多领域展现出其独特的优势。

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

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

相关文章

【ArcGIS技巧】如何给CAD里的面注记导入GIS属性表中

前面分享了GIS怎么给田块加密高程点,但是没有分享每块田的高程对应的是哪块田,今天结合土地整理软件GLAND做一期田块的属性怎么放入GIS属性表当中。 1、GLAND数据 杭州阵列软件(GLand)是比较专业的土地整理软件,下载之…

Excel中SUM求和为0?难道是Excel有Bug!

大家好,我是小鱼。 在日常工作中有时会遇到这样的情况,对Excel表格数据进行求和时,结果竟然是0,很多小伙伴甚至都怀疑是不是Excel有Bug!其实,在WPS的Excel表格中数据求和,结果为0无法正确求和的…

Spring MVC简单数据绑定

【图书介绍】《SpringSpring MVCMyBatis从零开始学(视频教学版)(第3版)》_springspringmvcmybatis从零开始 代码、课件、教学视频与相关软件包下载-CSDN博客 《SpringSpring MVCMyBatis从零开始学(视频教学版)(第3版&…

蓝桥杯备考:数据结构之栈 和 stack

目录 栈的概念以及栈的实现 STL 的stack 栈和stack的算法题 栈的模板题 栈的算法题之有效的括号 验证栈序列 后缀表达式 括号匹配 栈的概念以及栈的实现 栈是一种只允许在一端进行插入和删除的线性表 空栈:没有任何元素 入栈:插入元素消息 出…

使用Dify创建个问卷调查的工作流

为啥要使用Dify创建工作流呢?一个基于流程的智能体的实现,特别是基于业务的实现,使用Dify去实现时,通常都是一个对话工作流,当设计到相对复杂一些的流程时,如果将所有逻辑都放在对话工作流中去实现&#xf…

QT Quick QML 实例之椭圆投影,旋转

文章目录 一、前言二、演示三、部分代码与分析 QML 其它文章请点击这里: QT QUICK QML 学习笔记 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 一、前言 此 Demo 主要用于无人机吊舱视角的模拟&#xf…

高通,联发科(MTK)等手机平台调优汇总

一、常见手机型号介绍: ISP除了用在安防行业,还有手机市场,以及目前新型的A/VR眼睛,机器3D视觉机器人,医疗内窥镜这些行业。 下面是一些最近几年发布的,,,旗舰SOC型号: 1.联发科:天玑92…

AI的崛起:它将如何改变IT行业的职业景象?

随着人工智能(AI)的快速发展,许多人开始担忧其对IT行业的影响,担心AI的出现可能会导致大量IT从业者失业。然而,事实并非如此简单,AI的崛起将为IT行业带来深刻的变革,既有挑战,也有机…

【25考研】西南交通大学软件工程复试攻略!

一、复试内容 复试对考生的既往学业情况、外语听说交流能力、专业素质和科研创新能力,以及综合素质和一贯表现等进行全面考查,主要考核内容包括思想政治素质和道德品质、外语听说能力、专业素质和能力,综合素质及能力。考核由上机考试和面试两部分组成&a…

玩转大语言模型——langchain调用ollama视觉多模态语言模型

系列文章目录 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 langchain调用ollama视觉多模态语言模型 系列文章目录前言使用Ollama下载模型查找模型下载模型 测试模型ollama测试langchain测试加载图片加载模型…

Android Dex VMP 动态加载加密指令流

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 上一篇【详解如何自定义 Android Dex VMP 保护壳】实现了 VMP 保护壳。 为了进一步加强对 dex 指令的保护,实现指令流加密和动态加载,…

浅谈云计算08 | 基本云架构

浅谈基本云架构 一、负载分布架构二、资源池架构三、动态可扩展架构四、弹性资源容量架构五、服务负载均衡架构六、云爆发架构七、弹性磁盘供给架构八、冗余存储架构 在当今数字化时代,云计算已成为企业发展的核心驱动力,而其背后的一系列关键架构则是支…

从零开始开发纯血鸿蒙应用之多签名证书管理

从零开始开发纯血鸿蒙应用 一、前言二、鸿蒙应用配置签名证书的方式1、自动获取签名证书2、手动配置签名证书 三、多签名证书配置和使用四、多证书使用 一、前言 由于手机操作系统,比电脑操作系统脆弱很多,同时,由于手机的便携性&#xff0c…

Windows Docker 安装

使用别人写好的软件/工具最大的障碍是什么——必然是配环境。配环境带来的折磨会极大地消解你对软件、编程本身的兴趣。虚拟机可以解决配环境的一部分问题,但它庞大笨重,且为了某个应用的环境配置好像也不值得模拟一个全新的操作系统。 Docker 的出现让…

LabVIEW运动控制(一):EtherCAT运动控制器的SCARA机械手应用

ZMC408CE 高性能总线型运动控制器 ZMC408CE是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。 ZMC408CE支持PLC、Basic、HMI组态三种…

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【327-337】

327. 断点调试(Debug) 一个实际需求 在开发中,程序员在查找错误时,可用断点模式在断点调试过程中,是运行状态,是以对象的运行类型来执行的。 A extends B; B b new A(); b.xx();//按照运行类型来执行的 …

金融项目实战 01|功能测试分析与设计

前置内容:金融项目准备的内容笔记可直接看如下笔记 只看:一、投资专业术语 和 二、项目简介 两部分文章浏览阅读2.3k次,点赞70次,收藏67次。安享智慧理财金融系统测试项目,测试用例,接口测试,金…

学习threejs,使用TrackballControls相机控制器

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.TrackballControls 相…

ASP.NET Core - .NET 6 以上版本的入口文件

ASP.NET Core - .NET 6 以上版本的入口文件 自从.NET 6 开始,微软对应用的入口文件进行了调整,移除了 Main 方法和 Startup 文件,使用顶级语句的写法,将应用初始化的相关配置和操作全部集中在 Program.cs 文件中,如下&…

html5各行各业官网模板源码下载 (4)

文章目录 1.来源2.源码模板2.1 html实现酷炫美观的可视化大屏(十种风格示例,附源码)2.2 HTML5实现古典音乐网站源码模板22.3 HTML5实现古典音乐网站源码模板32.4 HTML5实现小鸟过管道小游戏源码2.5 HTML5实现俄罗斯方块小游戏2.5 HTML5实现剪刀石头布小游戏(附源码)…