50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

基于 OpenStack 的虚拟机资源管理系统设计策略

  • 2014-08-14
  • 本文字数:2109 字

    阅读完需:约 7 分钟

传统的虚拟化解决方案存在大量的问题和弊端,已经无法满足企业内部用户按需取用虚拟机资源的需求,运维人员和开发测试人员在虚拟机的使用管理上存在着很大的耦合性和关联性。58 同城在企业内部实现了一套基于 OpenStack 的虚拟机资源管理平台 (VMMS),能够动态、实时地响应全公司开发测试人员申请、续借和其他日常使用虚拟机的请求。云计算高级工程师赵龙撰文分享了实践经验。

对于整体的设计策略,赵龙指出,用户通过客户端请求虚拟机时,VMMS 虚拟机资源管理系统会立即响应用户的请求,按照用户的具体需求分配一台配置合理的虚拟机。通过维护一个动态变化的虚拟机资源池空间,对于虚拟机资源的各种请求做到了秒级响应。而且,为了保证虚拟机资源的动态伸缩,系统中还加入了时间管理模块;另外,虚拟机的正常运行工作通过状态管理模块来负责。全部的虚拟机资源都是通过底层的 OpenStack 云平台提供,VMMS Server 以一定频率和 OpenStack 云平台进行通信,保证资源的可用性和请求的及时响应。

VMMS 的设计哲学是什么呢?赵龙认为,是在平台硬件资源有限的前提下,优先满足用户对虚拟机的各种操作需求,保证虚拟机资源平台的可用性和稳定性,对用户的申请操作和虚拟机资源配额、资源池大小都做了强限制。

赵龙把 VMMS 的开发管理策略归结为以下几方面:

虚拟机配置策略

58 同城是为用户提供本地生活信息的平台,主要提供覆盖广泛、定位精准的各类 Web 服务。使用虚拟资源的用户因为业务和具体场景的不同,对虚拟机的需求也不尽相同。应对普通的 Web 服务开发测试,例如快速接口调整、嵌入新的管理推广模块、页面样式变更等灵动项目的调整与测试,使用接近 PC 机配置的虚拟机就可以达到较好的响应效果,必要时可以通过横向增加机器数量的方法应对业务大规模推广测试和版本迭代;应对核心业务线的优化和部分基础服务就需要使用高配置的机器,这类业务大都具有 CPU 密集型和内存密集型的特点。典型的场景有信息管理中心索引重建、Redis 集群测试等,都需要分配多核 CPU 高内存配置的虚拟机。我们将虚拟机用户的潜在需求大致分为几类,并为之相应准备了配置适宜的虚拟机镜像和云主机类型。用户在申请时,只需要在用途和欲申请虚拟机配置标注,提单后系统就会匹配相应的虚拟机给用户使用。另外,还在部分镜像加入了集中配置和测试部署环境打通的相关配置,有利于减少用户重复配置安装的工作量。

请求响应策略

为了从根本上改善过去虚拟化服务资源分配效率低下的问题,VMMS 系统会在用户操作请求提交后瞬间响应用户的申请。这是基于一个自适应变化的虚拟机资源池实现的。系统初始化时会创建 n 台虚拟机作为原始虚拟机资源池,用户申请后资源分配模块会从已有资源中匹配然后响应用户,系统在后台会根据虚拟机申请周期和频率从全局上调整补全虚拟机资源的速度。VMMS 系统在平台总虚拟机数量 m 和当前维持可用的虚拟机数量 n 都做了一定的限制,为的是保证对虚拟机资源分配平台负载的有效控制。在局部时间内如果用户申请虚拟机操作的并发量超过了设定的阈值,系统会根据并发量调整 m 至 1.5 倍或 2 倍不等。相应地,资源池虚拟机数量 n 也得到了提升,优先保证用户正常进行各种虚拟机请求操作。在用户申请虚拟机操作请求频率回落后,VMMS 会再次将 m 和 n 的值收敛到正常范围。

资源控制策略

私有云平台受限于规模,所能够使用的硬件资源比较有限。为了及时有效地回收不在使用状态的虚拟机,VMMS 系统的时间管理模块会根据每台虚拟机的初始申请周期对在用虚拟机列表中机器进行定时扫描。查找到虚拟机使用周期已到而用户并没有后续的续借行为,系统会自动回收该虚拟机,释放物理资源。用户在申请虚拟机时有虚拟机重要性的可选字段,可根据业务和场景的具体情况给出重要性数值。针对工作数据和日志信息比较关键的虚拟机实例,如果到达指定时间还未收到续借请求,VMMS 会首先对虚拟机做停机处理,告知用户需要续借,没有后续操作的话虚拟机会在三天内回收。

虚拟机稳定性策略

状态管理模块会定时扫描每台在用虚拟机的状态,对不处于可工作状态的虚拟机首先尝试恢复,不成功则启用虚拟机重建和迁移策略来保证虚拟机的可用性。

虚拟机生成策略

为了减少人为干预,虚拟机的生成采用了完全自动化的策略。虚拟机从启动到划分所属网络、绑定浮动 IP、修改初始密码到进行业务上的初始化部署做到了完全借助系统本身流程进行。 借助 VMMS 虚拟机资源管理平台,开发测试人员能够自由便捷地按需取用虚拟机,在业务开发与测试环境的准备工作上提高了效率。VMMS 响应用户的各类虚拟机请求操作达到了每天上百次,简化了传统虚拟化解决方案下用户提单、运维审批,创建虚拟机再交付用户使用的流程,在无需人干预的情况下取得了较过去投入大量运维人力更好的体验;虚拟机的使用迭代周期相比过去大大缩短,每隔 10-15 天虚拟机资源池中的机器就会完整更新一遍,用户随用随取、不用归还,避免了资源的长期占有和浪费;在相同的硬件资源条件下能够管理和提供的虚拟机数量也较过去有了大幅提升。

除此之外,文章还分析对于 OpenStack 企业级的云平台部署方案,如何在存储和网络上探索和性能优化,使得 OpenStack 较好地满足了企业对外提供 Web 服务的需要,更多详情,读者可查看其原文

2014-08-14 00:314250
用户头像

发布了 501 篇内容, 共 280.9 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

总投入超5000万元的开源大赛火热报名中

开放原子开源基金会

开源

汇聚开源力量,赋能软件发展,开放原子开源基金会携开源展区亮相软博会,开源展区现场引关注!

开放原子开源基金会

开源

喜讯!极限科技再次中标中国移动云 Elasticsearch 自研版技术开发服务项目!

极限实验室

elasticsear 极限科技 中国移动云

查询性能提升10倍!喜马拉雅广告倒排索引设计实践

喜马拉雅技术团队

lucene 性能优化 倒排索引 喜马拉雅

什么样的家庭条件,现在还招人?

赵新龙

TGO鲲鹏会 招聘

OpenAI公司说它是“实现通用人工智能最有前途方法之一”

博文视点Broadview

软件测试/测试开发丨Selenium Web自动化测试 高级控件交互方法

测试人

Python 程序员 软件测试 自动化测试 selenium

打造次世代分析型数据库(一):CDW PG全面升级

腾讯云大数据

数据库

墨迹天气黄耀海:深耕气象技术并与服务场景深度融合,AI全面激活气象服务的跃迁

极客天地

校源行丨2023开放原子校源行开源大使名单

开放原子开源基金会

接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南

Zilliz

nvidia 非结构化数据 Milvus Zilliz 向量数据库

优雅编码!Java与MongoDB的创新数据库架构

树上有只程序猿

Java mongodb 优雅编码

如何选择可靠的海外住宅代理ip?稳定性测试必不可少

摘星星的猫

关于低代码这件事儿

互联网工科生

低代码 应用开发 可视化开发

愿意折腾、相信未来的年青人,都在2050

赵新龙

TGO鲲鹏会 2050

孙文龙理事长参加第二十五届中国国际软件博览会开幕式并发表主题演讲

开放原子开源基金会

Databend 开源周报第 109 期

Databend

龙蜥携手平头哥完成算能 SG2042 平台支持,推动 RISC-V 持续向高性能应用演进

OpenAnolis小助手

芯片 risc-v 龙蜥社区 平头哥 2023 RISC-V 中国峰会

Apache Doris 2.0.1 & 1.2.7 版本正式发布!

SelectDB

数据库 大数据 优化 apache 社区

基于OpenStack的虚拟机资源管理系统设计策略_DevOps & 平台工程_崔康_InfoQ精选文章