大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

基于 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:314296
用户头像

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

关注

评论

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

知识经济时代,企业应该如何进行知识管理?

Baklib

知识管理

HTML5学习

Studying_swz

html 前端 11月月更

数据库的体系结构

阿泽🧸

数据库 11月月更

2022-11-07:给你一个 n 个节点的 有向图 ,节点编号为 0 到 n - 1 ,其中每个节点 至多 有一条出边。 图用一个大小为 n 下标从 0 开始的数组 edges 表示, 节点 i 到

福大大架构师每日一题

算法 rust 福大大

SPL比SQL更难了还是更容易了?

石臻臻的杂货铺

sql SPL 11月月更

python如何处理程序异常

芥末拌个饭吧

Python 11月月更

袋鼠云陈吉平:深耕国产自研数字化技术与服务,持续为客户创造价值

袋鼠云数栈

Vue自定义指令(一)初识

Augus

vuejs 11月月更

一步步带你设计MySQL索引数据结构

程序知音

Java MySQL 数据库 后端技术

重磅|九科信息企业级超级自动化平台通过“信息系统安全等级保护三级认证”

九科Ninetech

设计千万级学生管理系统的考试试卷存储方案

Geek_1264yp

一步步带你设计MySQL索引数据结构

程序知音

Java MySQL 数据库 编程 后端技术

六大招式,修炼极狐GitLab CI/CD “快” 字诀

极狐GitLab

DevOps CI/CD 持续交付 runner 极狐GitLab

涛思数据杨攀:如何寻求产品、商业与技术的平衡

GGV

产品 技术 开发者 商业 SaaS

【愚公系列】2022年11月 微信小程序-app.json配置属性之entryPagePath

愚公搬代码

11月月更

第四次工业革命的“知识力”,流淌在百度这条创新流水线上

脑极体

DevOps|乱谈开源社区、开源项目与企业内部开源

laofo

DevOps 研发效能 工程效率

Spring Boot「25」外部配置元数据

Samson

Java spring 学习笔记 spring-boot 11月月更

前端食堂技术周刊第 58 期:TypeScript 4.9 RC、10 月登陆浏览器的新功能、Turbopack 真的比 Vite 快 10 倍吗?100 天 Modern CSS 挑战

童欧巴

typescript chrome

数据驱动科研,清华大学中国新型城镇化研究院使用 ModelWhale 云端协同创新平台

ModelWhale

人工智能 新基建 云平台 数据科学 学科交叉

vue_Promise学习

Studying_swz

前端 11月月更

应对大规模的资产扫描一些小Tips

穿过生命散发芬芳

11月月更 资产扫描

IDC MarketScape :百度安全位居NESaaS市场领导者位置

百度安全

安全 云安全

Java For Data Science

Mahipal_Nehra

java; data-science java client Java core Java static

阿里云丁宇:云原生激活应用构建新范式,Serverless奇点已来

阿里巴巴云原生

阿里云 Serverless 容器 RocketMQ 云原生

一年经验年初被裁面试1月有余无果,还遭前阿里面试官狂问八股,人麻了

程序员小毕

Java spring 程序员 面试 程序人生

CSS学习

Studying_swz

CSS 前端 11月月更

Verilog语法之测试文件

芯动大师

Verilog 11月月更 测试文件

CSS学习笔记(一)

lxmoe

CSS 前端 学习笔记 11月月更

联通DataOps和MLOps:将机器学习推理作为新的数据源

Baihai IDP

人工智能 大数据 AI DataOps MLOps

技术新风口:超级App

FinFish

数字化转型 数字化 技术趋势 Gartner预测

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