用最精炼语言介绍OpenStack网络代码演进的前世今生

OpenStack+Ceph简介 第1章 概 述 1.1 OpenStack简介 OpenStack是当前热门的开源云操作系统。问世以来一直受到大家的青睐,可用于云虚拟机的创建和销毁。同时它提供了基础设施即服务(IaaS)的解决方案,也是IaaS的标准和成功的开源社区项目之一。发展至今已经管理着数百万个处理器核心,是云服务市场上使用为广泛的开源云平台,但是仍然存在云的安全问题。OpenStack和以往的云平台的相比主要的优势是简化云的部署过程,并且OpenStack平台的扩展性非常好,它能通过定制不同大小、不同访问要求的云平台,来. 阅读详情

在OpenStack世界中,网络组件最初叫nova-network,它混迹于计算节点nova的代码库中。nova-network可以单独部署在一台机器上,为了高性能HA也可以和nova-compute一样部署在计算节点上(这也就是所谓的multi-host功能)。nova-network实现简单,bug少,但性能可不弱哦,直接采用基于Linux内核的Linux网桥少了很多层抽象应该算强大的。不足之处是支持的插件少(只支持Linux网桥),支持的网络拓扑少(只支持flat, vlan)。

为了支持更多的插件,支持更多的网络拓扑,更灵活的与nova交互,于是有了quantum工程。quantum插件不仅支持Linux网桥,也支持OpenvSwitch,一些SDN的插件以及其他商业公司的插件。在网络拓扑上,除了支持flat,vlan外,还支持gre, vxlan。但quantum不支持关键的multi-host特性。
quantum因为和一家公司的名称冲突,于是,改名为neutron。
neutron继续演进,quantum之前的实现存在这么一个问题。我们说道说道。在quantum中,实现一种类型的插件一般包括两个部分,一部分与数据库db打交道称之为plugin,一部分是调用具体的网络设备真正干活的称之为agent。像plugin就有linux bridge plugin, opevswitch plugin, hyper-v plugin等,这些plugin因为都是与db打交道,变化的字段并不多,所以代码绝大部分是重复的。这样也就出来了一个公共的plugin叫ml2 plugin(具体的代码实现就是TypeDriver)。
但这只是一个表象,ml2还有更大的作用,那就是它里面的MechanismDriver。我举个例子讲,之前没有ml2的时候,plugin只能支持一种,用了linux bridge,就不能用openvswitch了,想要都用那怎么办,那就需要MechanismDriver上场,MechanismDriver的作用是将agent的类型agent_type和vif_type关联,这样vif_type就可以直接通过扩展api灵活设置了,所以这时候你想用linux bridge你在vif_type里直接将port绑定成linux bridge就行了,同理,想用openvswitch就将vif_type将port绑定成openvswitch就行。
除了让openvswitch, linux bridge这些不同的插件共存之外,ml2还能让不同的拓扑如flat, vlan, gre, vxlan其乐融融和谐共存,直接在ml2_conf.ini这个配置文件里都配上即可。这样也就解决了一个问题,以前前端horizon中无法配置是用flat还是vlan,因为你配了也没有用,那时候后端还不支持flat和vlan同时存在了,现在皆大欢喜了。
上面的ml2解决的只是网络中L2层的问题,对于L3层的路由功能neturon又单独整出个l3-agent,对于dhcp功能又单独整出个dhcp-agent,不过它们归根结底仍属于实际真正干功能活的,对于和数据库db打交道的那部分则是通过提供扩展api来实现的。那么现在我们想加更多的网络服务该怎么办呢,如L4-L7层的FwaaS, VPNaaS, DNATaaS, DNSaaS,所以现在neutron又出来一个新的服务框架用于将所有这些除L2层以外的网络服务类似于上述ml2的思想在数据库这块一网打尽。并且这些网络服务可能是有序的,例如可能需要先过FwaaS防火墙服务再过DNATaaS服务来提供浮动IP,所以也就有了service chain的概念。目前这块代码只进去了firewall, loadbalance, metering, vpn几块,但万变不离其宗,未来neutron就是朝这个思想继续往下做。想用哪些服务可以通过neutron.conf这个配置文件中的service_provider项指定。
最后,需要一提的是,从性能角度讲,我认为目前neutron仍然不能用于大规模的生产环境,理由如下:
1)虽然增加了更多的插件,更多的网络服务,更多的网络拓扑,但它仍然不支持multi-host功能,对性能是极大影响
2)neutron-server不支持workers通过fork实现的利用cpu多核的多进程机制,仍然是单线程实现的,阻塞的话(python解释器是单进程的,使用greenlet保证每个线程在单进程下也是线性的),会延缓接受其他请求对性能产生影响。
3)neutron-server是无状态的服务,理论上讲是可以在多台机器上运行前端再加haproxy实现HA的,但实际代码中存在众多竞争条件的bug。当然这个问题不仅在neturon有,其他组件我看一样存在。
4)在遂道性能方面存在优化的可能,遂道如GRE,VXLAN等将虚拟L2层打通反而扩大了广播风暴的可能,实际上虚拟网桥或者hypervisor都是知道虚机的IP和MAC地址的映射的关系的,根本不需要仍使用传统的ARP广播方式来获得这种映射关系。
5)其他…
成熟的路上漫漫其修远兮,这也正好给各位爱好openstack的童鞋们提供了大显身手的好机会:)


文章来源 : http://www.openstack.cn/p353.html

OpenCV视频防抖实战:用Python实现手机拍摄稳定效果(附完整代码 本文详细介绍了如何使用Python和OpenCV实现视频防抖,从光流法进行运动估计、轨迹平滑到运动补偿,提供了完整的代码解析和实战指南。通过参数调优和边界处理,帮助用户有效消除手机拍摄视频的抖动,提升画面稳定性,适用于内容创作者和视频爱好者。 阅读详情

相关推荐

Crowbar:物理基础设施即代码的开源实践

物理基础设施即代码(Physical Infrastructure as Code)是实现裸金属自动化交付的核心范式,其本质是将服务器硬件、网络拓扑与固件配置等物理要素抽象为可版本化、可声明式定义、可自动收敛的代码资产。该理念源于对传统IDC部署中人工干预多、一致性差、审计困难等痛点的系统性回应,技术价值在于打通采购、上电、装机、组网到监控的全链路闭环。典型应用场景包括混合云底座构建、金融级灾备集群批量交付、以及AI训练集群的硬件标准化供给。Crowbar作为早期代表性框架,以Barclamp模块化架构和声

hideto 421

OpenStack:开源云计算的崛起与发展

OpenStack组件的详尽介绍对于理解其整个平台的运作机制至关重要。Keystone- 身份和访问管理服务: Keystone作为OpenStack的身份认证中心,负责整个OpenStack环境中的用户认证、服务认证以及权限管理。它提供令牌服务,使得各组件之间以及终用户与组件之间的交互得以安全进行。Nova- 计算服务: Nova是OpenStack的核心组件之一,它专注于提供计算资源管理服务。

CloudJourney的博客 3487

OpenStack项目管理实战

相对而言,成功完成迁移所消耗的时间缩短了。在进行转移虚拟机实例操作时,一定要确认虚拟机实例所在的主机节点不可操作,各项服务均失败,否则转移操作会失败。卷设备属主创建传送请求,同时将传送卷设备ID和授权key发送给接收卷设备的用户,接收卷设备的用户根据传送卷 ID 和授权 key 接收卷设备。(4)导出Controller节点上的NOVA-INST-DIR/instances(/var/lib/nova/instance)目录,确保主机节点Compute01和Compute02上的Nova用户对其可读可写。

悦分享 2473

OpenStack入门与架构介绍

2010年7月,Rackspace和NASA合作发布了OpenStackOpenStack每几个月就会发布一个新的版本,并以首字母从A到Z的顺序命名。OpenStack峰会和中国OpenStack黑客松活动也随之诞生。组件名称简要介绍Nova计算服务,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求提供虚拟服务,负责虚拟机的创建、挂起、调整、销毁等操作,配置CPU和内存等信息。Swift。

Yummy_YMY的博客 4712

从威胁到整合,容器将改变openstack的未来?

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34025151的博客 188

云计算|OpenStack发展简史

般以open开始的软件都非常的牛逼,例如,OpenCV(人工智能学习库),OpenStack(云计算基础操作系统),openwrt(软路由),openEuler(纯操作系统,类似centos,但,是华为的自研操作系统,也叫欧拉操作系统) 为什么这些软件牛逼呢?因为open表示开源,也可以认为是开源社区,而开源的强大应该没有任何人去质疑(会有非常多得公司,组织对这些软件进行升级,维护,解决安全缺陷,提高软件性能,开源==免费谁不愿意自己用的东西更好,更强大?) OK,OpenCV这些的我们就不在本文讨论

zsk_john的技术分享专用博客 3149

openstack neutron学习(一) ---- neutron-server入口

声明: 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/llg8212 内容系本人学习、研究和总结,如有雷同,不胜荣幸! 参考资料 一篇比较早的blog,讲解nova-network的,但是原理一样:《OpenStack云平台的网络模式及其工作机制》http://blog.csdn.net/hilyoo/article

IT小小鸟 3003

30个Openstack经典面试问题和解答:助力技术面试通关

30个Openstack经典面试问题和解答:助力技术面试通关 【下载地址】30个Openstack经典面试问题和解答 这份文档精心整理了30个Openstack经典面试问题及其详细解答,内容涵盖广泛,深入浅出。无论是想要深入理解Openstack技术,还是正在为相关面试做准备,这份文档都是极佳的学习资源。通过系统性地学习...

gitblog_06792的博客 467

Neutron印象1:neutron简介

OpenStack世界中,网络组件初叫nova-network,它混迹于计算节点nova的代码库中。nova-network可以单独部 署在一台机器上,为了高性能HA也可以和nova-compute一样部署在计算节点上(这也就是所谓的multi-host功能)。 nova- network实现简单,bug少,但性能可不弱哦,直接采用基于Linux内核的Linux网桥少了很多层抽象应该算强大的

jincm的专栏 2798

云中的网络:Open vSwitch带来的巨变

计算,存储,网络,安全,是构建任何大型数据中心都绕不过去的四个问题。云也不例外。在这个风起云涌的云时代,各厂商赛马般发布层出不穷的新技术,着实让我们目不暇接。很多人昨天刚玩过Xen,今天看到Redhat宣称KVM是其新的战略方向,又忍不住把KVM拿来折腾一番。大家习惯性地把注意力都放在了“计算”上,积累了不少“服务器虚拟化”的经验,却不知不觉冷落了其余三个方面。国外同行们...

weixin_34268843的博客 189

目标规划:多目标决策建模与Python求解实战

在运筹学与决策科学中,多目标优化是处理现实世界复杂问题的核心技术。其原理在于,当多个目标(如利润、成本、效率)相互冲突时,传统单目标优化难以找到全局优解。目标规划通过引入偏差变量和优先级,将多目标问题转化为小化偏差的数学模型,从而在资源有限条件下寻求满意解而非绝对优。这一技术价值在于为资源分配、生产计划、投资组合等场景提供了量化权衡的框架。应用时,需明确决策变量、硬约束与软目标,并利用序贯法或加权法求解。本文以生产计划为例,结合Python的PuLP库,演示了从建模到代码实现的完整流程,并探讨了敏感性

weixin_34074740的博客 400

运筹学实战:带资源约束的路径优化问题建模与两阶段法求解

路径优化是运筹学和计算机科学中的核心问题,旨在寻找满足特定条件的佳行走路线。其基本原理通常涉及图论与优化理论,通过将现实场景抽象为节点与边的网络,并定义目标函数与约束条件进行数学建模。该技术的核心价值在于能高效处理资源有限下的复杂决策,广泛应用于物流配送、车辆路径规划、无人机巡检等场景。本文聚焦于一类经典问题:在燃油与时间双重严格约束下,如何规划路线以大化收益。针对此类带资源约束的路径优化问题,详细阐述了两阶段求解策略:首先构建以加油站为关键节点的简化网络并搜索局部Pareto优路径;随后建立整数规

weixin_33768481的博客 323

Claude Mythos:AI安全能力阶跃与自动化漏洞挖掘新范式

大模型在网络安全领域的应用正从基础代码生成迈向深度系统理解与攻击链构建。以Claude Mythos为代表的新型AI模型,依托推理时计算调度、符号化系统建模和超长上下文状态感知等核心技术,首次实现对真实软件生态的语义级逆向分析与端到端漏洞利用链自动生成。其能力已超越传统SAST/DAST工具的静态检测边界,在SWE-bench Pro等高保真基准上展现出接近人类高级渗透工程师的‘攻击直觉’。该技术突破不仅重塑漏洞挖掘效率,更推动安全工作流从人工审计转向人机协同决策,并加速组织级漏洞知识图谱与免疫体系构建。

weixin_30889885的博客 467
上一篇: Hadoop分布式文件系统和OpenStack对象存储有何不同
下一篇: 分布式系统与网络分区
向辉tc
博客等级 码龄19年 27粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值