摘 要:作为一种新型的网络计算模式,云计算近年来得到了业界广泛的关注.根据应用需求及场景不同,大量的应用构建在公有云或私有云之上.混合云联合了私有云和公有云,克服私有云和公有云模式的不足,充分发挥云计算的优势,能兼顾服务质量、安全和成本.在混合云中,如何对位于不同云中的资源进行基于应用负载的优化调度是其中的一个关键问题,值得深入研究.
本文结合当前最为热门的公有云服务商亚马逊以及私有云平台OpenStack,设计了一个混合云原型系统.针对混合云系统的调度模块,考虑用户服务质量指标里的服务响应时间以及虚拟机的工作负载均衡作为资源调度目标,给出了资源自动申请和资源分配算法.资源预测算法采用卡尔曼滤波器,基于资源使用的观测值以及应用程序性能模型,本文建立资源预测模型,能够实现对于虚拟机资源的跟踪及预测.通过预测,统计未来的虚拟机列表中的虚拟机负载状态,运用动态调整算法启用新的虚拟机来申请资源或者关闭虚拟机来释放资源,保证资源的高效利用.同时本文给出资源自动申请的双阈值算法,通过设定两个不同的阈值,根据所有的虚拟机查询得到的负载信息与这两个阈值进行比较,判断新的资源的启用与释放.
本文在私有云平台OpenStack上增加对公有云的管理以建立混合云系统,在该系统的调度模块实现阈值算法.通过设计一个web服务应用场景,验证基于OpenStack的私有云和Amazon公有云间实现了资源调度及给出的阈值算法的可行性. 当用户请求增多时,能够实现在公有云上启用新的虚拟机进行负载均衡.当用户请求减少,私有云中虚拟机负载减少,则释放公有云中的资源,实现资源的自动伸缩.针对预测算法设计了仿真实验,验证该预测算法能够较好的实现对于CPU资源使用情况的跟踪.
关键词:混合云;资源调度;资源预测;openstack
目录
摘要
ABSTRACT
第1章 绪论-1
1.1 云计算背景-1
1.2 混合云的概念-1
1.2.1 公有云-1
1.2.2 私有云-2
1.2.3 混合云-2
1.3 研究现状-3
1.3.1 云计算研究现状-3
1.3.2 混合云研究现状-3
1.4 研究内容-4
1.5 论文组织结构-4
第2章 混合云平台相关技术分析-7
2.1 虚拟化技术-7
2.2 云环境下的预测技术-7
2.3 混合云资源调度技术-8
2.4 混合云选取及开发技术-9
2.4.1 混合云选取-9
2.4.2 开发技术-9
第3章 基于OpenStack与亚马逊EC2的原型系统-11
3.1 系统总体设计-11
3.2 模块功能设计-12
3.2.1 用户请求-12
3.2.2 请求分析模块-12
3.2.3 调度模块-12
3.2.4 监控模块-13
3.2.5 虚拟机管理模块-14
3.2.6 请求重定向模块-14
第4章 调度模型及算法-15
4.1 调度目标-15
4.2 调度模型及算法-15
4.2.1 资源预测算法-16
4.2.2 动态调整算法-17
4.2.3 双阈值算法-17
4.2.4 资源分配算法-18
第5章 实验与分析-19
5.1 公有云管理系统实现-19
5.1.1 配置BOTO-19
5.1.2 启动和关闭虚拟机-19
5.1.3 获取公有云信息-19
5.1.4 监控虚拟机状态-20
5.2 调度策略实验-20
5.3 预测实验-23
5.3.1 实验参数-23
5.3.2 实验结果及分析-23
第6章 结论与展望-25
6.1结论-25
6.2不足之处及未来展望-25
参考文献-27
致 谢-29