论文部分内容阅读
目前在云计算蓬勃发展的同时,也暴露了一系列问题,最突出的问题是集群的整体负载不均衡以及服务器的资源利用率低。首先数据中心规模逐步扩大,针对不同业务的基础设施标准也各不相同,数据中心设备的异构性逐渐增强,同时用户的应用需求数量激增,导致数据中心负载不均衡的现象普遍存在;其次传统的资源调度并未考虑虚拟机是什么样的应用类型,而集群中不同应用类型的虚拟机对应不同的资源需求,这就导致同一宿主机的各种资源(网络、计算或存储)的利用不均衡,造成资源浪费。本文针对上述两个问题,提出一种基于KVM集群的负载均衡机制,研究工作主要包含四方面。首先设计了基于KVM集群的负载均衡机制的系统,系统分为两大部分——应用端和管理端,应用端为用户提供各种应用;管理端是整个系统的核心部分,包括服务器监控模块、虚拟机监控模块、负载评估模块、弹性伸缩模块、核心模块以及弹性调整模块。其中负载评估模块根据本文设计的负载均衡算法求得可以衡量服务器负载压力的权值,弹性伸缩模块基于服务器的负载权值可以自动调整KVM集群的规模,核心模块由蚁群与模拟退火优化算法决策出需要进行调度的虚拟机的最佳匹配服务器,最后由弹性调整模块实现虚拟机的迁移与系统的负载再评估。其次为了合理地衡量集群中物理机的负载压力,本文提出一种负载均衡算法来负责监控各个虚拟机的运行状态以及定期获取各个应用端的内存利用率、CPU使用率、IO占用率和带宽占用率,并结合服务器的硬件性能指标以及当前时刻服务器的运行情况,求得数据中心中各个服务器的权值。同时根据权值实现系统的弹性伸缩、决定触发迁移时机、确定需要进行调度的虚拟机以及选择合适的可迁移服务器,确保系统负载均衡,提高其可用性以及可靠性。之后本文提出了一种蚁群与模拟退火优化算法,算法思想是通过用户虚拟机和后台宿主机之间的匹配度决策出需要进行调度的虚拟机以及可迁移服务器的最佳匹配关系。然后利用弹性调整模块实现虚拟机的迁移,并且在每次迁移完成后需对集群的负载压力重新评估。最后通过CloudSim云平台工具仿真测试基于本文提出的蚁群与模拟退火优化算法的负载均衡机制,并与基于蚁群算法的负载均衡机制进行对比,验证了本算法的可行性;同时,在数据中心的KVM集群中运行测试。通过实验表明,本文提出的基于KVM集群的负载均衡机制可以有效地提高集群每台服务器的资源利用率,并且有效地改善了数据中心负载不均衡的现象。