OpenStack上的应用自动扩展与虚拟机分配算法

需积分: 47 23 下载量 87 浏览量 更新于2024-08-09 收藏 1.72MB PDF 举报
"分配可用虚拟机算法-搭建小型access数据库实录" 在云环境中,自动部署和管理应用程序是现代IT架构的关键组成部分。OpenStack作为开源的云计算平台,为虚拟化资源管理提供了强大的工具,但传统的应用程序部署方式往往仍依赖于手动配置,这在应对动态变化的云环境时显得效率低下。为了实现应用的弹性扩展与收缩,一种基于OpenStack的应用自动部署管理系统被提出,旨在不改变应用架构和运行环境的情况下,让传统应用也能适应云环境。 在应用扩展的过程中,首先需要从未绑定应用的VMServer池中选择负载最低的服务器进行应用部署。当虚拟服务器池中没有可用服务器时,系统会通过OpenStack的接口创建新的虚拟机。具体实现中,NovaServerManager类的allocateAServerToAPP方法扮演了核心角色。这个算法的工作流程如下: 1. 初始化最小负载(minload)为1,并检查serverPool的大小。如果serverPool中的服务器数量小于1,说明需要创建新的虚拟机。 2. 对serverPool中的每个虚拟机进行循环,获取其当前的负载(serverload)。 3. 如果当前虚拟机的负载小于minload,更新minload为当前serverload,并记录下负载最小的虚拟机的IP(novaServerofMinload)。 4. 将负载最小的虚拟机从serverPool中移除,并将其应用名称和应用程序端口设置好,然后添加到webAppServers列表中,以表示这台虚拟机已被分配给特定应用。 5. 在分配完虚拟机后,系统会在这台虚拟机上执行部署动作,完成应用的安装和配置,最终将新增应用的IP信息更新到系统中。 这种分配可用虚拟机的算法确保了应用扩展的高效性和均衡性,避免了过度负荷单个服务器的情况,同时也简化了系统管理员的工作,因为他们不再需要手动处理每个虚拟机的部署和配置。 论文《基于OpenStack的应用自动部署管理系统研究》深入探讨了这一主题,由肖飞撰写,陈康副教授和张亮高工联合指导。论文中详述了如何利用OpenStack的灵活性,设计和实现了一个自动化部署管理系统,以解决大规模应用部署和迁移中的挑战。作者提出了新的方法来自动化应用的部署和管理,以适应云计算环境的动态需求,从而提高了运维效率和系统的可扩展性。