论文部分内容阅读
随着云计算的飞速发展,以及容器化部署的广泛应用,容器的动态迁移研究越来越受到关注。由于容器生命周期短,灵活性高,容器的迁移与传统的虚拟机迁移有许多不同之处。因此提出了热点容器选择以及迁移过程两个方面相应的算法,并通过实验验证了算法的有效性,本文主要包括以下三个方面内容:(1)针对实际容器迁移操作中,没有关注容器的自身变化,从而导致容器迁移出去之后间接的增加迁移次数的情况,提出了优化的最小迁移量算法(Optimized Migration Number Minimum algorithm,OMNM)。从容器的数据量增长速度入手,在一段时间内,根据每个容器在每个时间点上的大小形成历史数据,利用拟合来判断增长的速度。若增长速度较快,则在迁移容器的选择时优先处理,而数据增长较慢或数据减少的,则降低优先度处理,形成一个迁移选择的机制。最终在保证集群负载均衡的前提下,减少了资源的浪费。(2)针对传统的预拷贝方式忽视了内存页的特征,导致一些经常被修改的内存页在前期的预拷贝阶段被拷贝多次的情况,提出了一种优化的预拷贝算法(Optimized pre-copy algorithm,OPCA)。引入预测模型,根据容器中有一部分的内存页经常被改变的特征,尽量把这些内存页放在最后的宕机拷贝里面进行,而在拷贝前期,去拷贝那些改变较少的内存页。最终OPCA在保证总迁移时间不高于传统算法的前提下,较好的减少了迭代次数和宕机时间,提高了资源的利用率。(3)设计并实现了一种容器的动态迁移系统,以期容器在动态迁移方面能有更好的关注和发展。系统最核心的功能包括待迁移容器选择模块和容器迁移模块,可以满足用户实际的负载均衡和用户体验等需求。实验表明,该系统可以有效的在较短的时间内完成容器的迁移,实现集群的负载均衡。综上所述,本文分别针对热点容器选择以及迁移过程两个方面提出了优化的最小迁移量算法和优化的预拷贝算法。提出的算法能够有效的提高容器迁移的效率和系统资源的利用率。