新浪博客

基于云预存储技术的Docker在线迁移方法

2023-12-12 17:07阅读:
引用本文

赵旭, 李艳梅, 罗建, 罗金梅. 基于云预存储技术的Docker在线迁移方法. 自动化学报, 2023, 49(11): 24262436 doi: 10.16383/j.aas.c180777
Zhao Xu, Li Yan-Mei, Luo Jian, Luo Jin-Mei. Docker online migration method based on cloud pre-storage technology. Acta Automatica Sinica, 2023, 49(11): 24262436 doi: 10.16383/j.aas.c180777
http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c180777


关键词

Docker容器,预存储,动态迁移算法,云计算,容错率

摘要

针对基于Docker容器的分布式云计算下出现负载不均衡问题, 有必要将较高负载服务器中的Docker容器进程迁移到其他相对空闲的服务器上. 而传统的容器迁移算法忽视了容器本身的特征, 从而导致在迁移过程中传输效率低下. 基于此, 利用第三方管理平台和数据预存储阈值机制, 提出一种Docker容器动态迁移预存储算法PF-Docker. 首先将Docker容器内部进程运行相关文件和流动数据预存至云端存储器, 然后通过预存储阈值机制减少流动数据的无效传输, 最后在停机传输阶段将流动数据和冗余数据传输给目的服务器. 实验表明, 该方法在Docker容器迁移中能有效地降低迁移时间, 减少数据传输量, 提高容器的容错率.

文章导读

云服务[1]是一种当下热门的互联网模型, 它将软硬件资源进行整合, 以虚拟环境和裸机环境两种方式为用户提供对象存储、容量型、性能型等存储和计算功能. 一方面, 云平台可以隐藏复杂硬件特征, 用户无需具备专业计算机软、硬资源知识即可使用, 这种特性大大降低了个体运维成本; 另一方面, 虚拟技术为用户应用提供了独占资源环境, 可避免由资源共享带来的干扰[2-3]. 然而, 随着部署于云中的应用数量以及规模的急剧扩张, 云服务面临着一个难以忽视的高能耗问题. 在这种场景下, 在线迁移技术应时而生, 它可将应用在云中适时聚合与分离, 实现能耗可控性, 进而成为当下的研究热点之一. 深入研究有效的云端管理平台将对控制理论的发展和各种实际应用起到积极推动的作用[4-5].

与裸机在线迁移技术不同, 云进程在线迁移成本主要受两方面的影响: 虚拟执行环境和任务执行环境. 虚拟执行环境由应用执行所必须的虚拟机构成; 任务执行环境则包括任务自身执行状态, 所需输入、输出数据等. 当前云服务平台最主流的几种执行环境为KVM[6], VMware[7]Xen[8]. 然而在迁移场景下, 由于程序运行局部性和磁盘I/O (Input/output)读写局限性原理, 导致记录磁盘的写操作会有较多的冗余, 它们高昂的管理开销、繁冗的管理层次更成为阻碍其发展的主要缺陷[9-10]. 鉴于虚拟机环境上述特征并不适于为大数据应用提供服务, 虚拟执行环境自身开销过高严重影响了在线迁移效率, 而轻量级容器利用自身低开销可以降低迁移系统自身的数据成本, 满足当前企业需求——高效、节能. 因此, 基于轻量级容器的迁移策略成为云服务相关技术中所急需的研究内容之一.

Docker[11]是目前热门的容器技术之一, 如图1所示, 根据最新RightScale[12]云计算调查报告显示Docker的采用率从2017年的35%增长到了2018年的49% (增长率为40%). 作为一款轻量级开源容器引擎, 有能力简化和快速部署应用隔离环境, 完成云平台不同企业应用之间的隔离需求.
基于云预存储技术的Docker在线迁移方法
1 2018RightScale云计算调查报告

在图2, 分别对比了KVMDocker的执行开销, 具体的实验是以内存带宽基准测试程序StreamCopy, Scale, AddTraid四个组件为例. 横坐标分别代表内存占用为20 ~ 800 MB, 纵坐标分别代表Stream四个组件随着脏页速率变化各自的数据处理能力. 实验结果表明, 对于内存密集型程序而言, KVM自身执行环境比Docker自身执行环境多出了20%以上的开销. 内存计算型任务的迁移成本是影响在线迁移效率的另一个重要因素, 将庞大的应用数据迁入内存, 降低与外设交互所引发的开销是实现大数据应用高效执行的重要手段. 然而, 在动态迁移的场景下, 庞大的内存数据迁移会带来高昂的迁移开销.
基于云预存储技术的Docker在线迁移方法
2 Stream测试KVMDocker开销

总的来说, 云端虚拟机迁移的成本主要源于两方面, 即虚拟机自身开销和用户应用所占据的资源开销. 单纯对某一方面进行管控, 都无法明显降低迁移成本. 根据对比DockerKVM测试Stream发现, Docker技术已显著减少了虚拟机自身开销, 但仍然无法满足内存密集型或者大数据应用动态迁移的成本需求. 实际上, 诸如华为、阿里等主流云服务提供商对于动态迁移所产生的时刻和所迁往的目标都有明确的管理方法, 只要科学采用这些信息, 充分利用云平台的闲置资源, 提前将一部分必须且稳定的数据放在云端存储上, 那么将显著降低宿主机的数据规模, 减少宿主机在后续迁移过程中的开销. 此外, 待迁移开始之后, 利用网络并行性, 宿主机和云端存储同时将各自数据迁移至指定目的主机, 在线迁移将同时获益于宿主机数据规模缩小以及网络并行性.

本文提出一种新的基于云预存储技术的Docker在线迁移方法: PF-Docker, 该方法将预存技术与成熟的Pre-copy技术相结合, 充分利用云平台的网络和存储资源, 实现高效在线迁移. PF-Docker在应用程序平稳运行时, 将动态搜集用户数据行为, 并将稳定数据预存至闲置的网络存储资源上. 待在线迁

我的更多文章

下载客户端阅读体验更佳

APP专享