CN108279969A - 基于内存压缩传输的有状态服务容器热迁移方法 - Google Patents

基于内存压缩传输的有状态服务容器热迁移方法 Download PDF

Info

Publication number
CN108279969A
CN108279969A CN201810158863.XA CN201810158863A CN108279969A CN 108279969 A CN108279969 A CN 108279969A CN 201810158863 A CN201810158863 A CN 201810158863A CN 108279969 A CN108279969 A CN 108279969A
Authority
CN
China
Prior art keywords
memory pages
memory
lxc
copy
containers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810158863.XA
Other languages
English (en)
Inventor
李新明
刘斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Edge Intelligence Information Technology (suzhou) Co Ltd
Original Assignee
Zhongke Edge Intelligence Information Technology (suzhou) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongke Edge Intelligence Information Technology (suzhou) Co Ltd filed Critical Zhongke Edge Intelligence Information Technology (suzhou) Co Ltd
Priority to CN201810158863.XA priority Critical patent/CN108279969A/zh
Publication of CN108279969A publication Critical patent/CN108279969A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于内存压缩传输的有状态服务容器热迁移方法,包括如下步骤:(1)环境创建:隔离出LXC容器虚拟化环境所需要的资源及状态信息,将所述资源及状态信息通过图片的方式保存并对所述LXC容器进行冷冻处理;将所述LXC容器的虚拟化环境从Linux内核中隔离出来,通过namespace机制保存所述LXC容器的虚拟化环境并恢复其进程;(2)热迁移:拷贝内存页面迁移并迁移所述内存页面。本发明方法减少冗余数据传输、提升动态迁移效率,步骤简单,操作方便。

Description

基于内存压缩传输的有状态服务容器热迁移方法
技术领域
本发明涉及一种基于内存压缩传输的有状态服务容器热迁移方法。
背景技术
操作系统级虚拟化技术由于其轻量性和隔离性等特性,已经受到越来越多的重视,操作系统层次的虚拟化技术相比传统的准虚拟化技术和完全虚拟化技术的优势越来越切合工业界的需要(如对资源的按需分配,而不像传统的虚拟化技术,对资源的使用通常造成极大的浪费)。另外,由于Linux内核主线的支持,LXC将会成为系统级虚拟化技术的首选,其性能将会得到更进一步的提升,相对传统虚拟化技术的劣势也将会有所改善,以LXC为代表的系统级虚拟化技术(工业界也称为容器技术)将会击败传统的虚拟化技术而占有越来越多的席位。这点也可以从最近各大互联网公司陆续曝光自己的容器技术得到印证,如:dotCloud推出的Docker,google的lmctfy,腾讯即将发布的“弹性web引擎”也使用了容器技术,不仅如此,Heroku、OpenShift、CloudFoundry等PaaS平台都有Container技术的实现。既然系统级虚拟化技术(容器技术)如此重要,那么使容器技术具有传统的虚拟化技术的动态迁移功能就显得很有必要了。传统的虚拟化技术的动态迁移机制已经相当的成熟,然而,由于传统的虚拟化技术和容器技术的实现原理与机制都不同,所以很难将传统的虚拟化技术中成熟的动态迁移机制轻松应用到容器技术中。虽然已有容器技术(OpenVZ)实现了动态迁移机制,但是由于和作为未来主流容器技术的LXC实现原理与机制不同,不能简单应用到LXC中,并且其本身的动态迁移效率相比传统虚拟化技术并没有太大优势,还需要继续改进。传统的虚拟化技术都需要在虚拟机中运行一个额外的完整的操作系统,这不仅浪费了资源而且也降低了虚拟机的运行效率。容器化虚拟机技术则很好地解决了以上问题,不需要在虚拟机中运行一个额外的完整的操作系统,每一个虚拟机与所在的物理主机共享同一个内核。
OpenVZ是目前操作系统级虚拟化技术中较成熟的技术之一,OpenVZ也是通过修改Linux内核并创建容器来达到虚拟化的目的。和其他操作系统级的虚拟化技术相比,OpenVZ较好地支持了虚拟机的动态迁移。OpenVZ的虚拟机动态迁移机制主要使用了检查点和重启机制,在虚拟机动态迁移开始时,首先在源主机和目的主机间同步容器(即虚拟机)的文件系统,然后冻结容器(其实用到了Linux内核的一种挂起进程的特性),冻结容器后会将容器中所有进程所需的资源和状态都保存到磁盘,保存状态之后还要同步在开始同步文件系统阶段改变的文件,文件系统完全同步后将保存的容器状态文件复制到目的主机,这样,目的主机拥有了迁移的容器的所有的信息,在目的主机端根据保存的迁移的容器的数据创建并恢复容器就达到了虚拟机动态迁移的目的。
和OpenVZ相比,LXC是另一个比较有竞争优势的操作系统级虚拟化技术,LXC得到了Linux内核主线的支持,也就是说只要使用的是较新版本(2.6.32以后)的内核并且安装了LXC客户端管理工具,都能使用LXC的虚拟化功能,而OpenVZ只能使用特定的修改过的Linux内核,这对需要使用OpenVZ没有修改过的版本的内核的用户来说照成了不必要的麻烦。现在很多应用系统跑在linux2.6内核上,这个版本的内核只支持CGROUP和部分namespace,对容器的支撑仅仅达到了LXC的程度,无法支持libcontainer为核心的docker。而由于很多应用无法迁移到Linux3.10内核上,只能跑在2.6内核上,又需要完成热迁移动作,而且在资源很少的情况下,无法使用虚拟机那么重负载的方式。
发明内容
本发明的目的在于提供一种减少冗余数据传输、提升动态迁移效率的基于内存压缩传输的有状态服务容器热迁移方法。
为达到上述目的,本发明提供如下技术方案:一种基于内存压缩传输的有状态服务容器热迁移方法,所述方法包括如下步骤:
环境创建:隔离出LXC容器虚拟化环境所需要的资源及状态信息,将所述资源及状态信息通过图片的方式保存并对所述LXC容器进行冷冻处理;将所述LXC容器的虚拟化环境从Linux内核中隔离出来,通过namespace机制保存所述LXC容器的虚拟化环境并恢复其进程;
热迁移:拷贝内存信息并迁移所述内存信息。
进一步地,所述“环境创建”的具体过程为:
提供源主机、目的主机及网络,所述目的主机有充足资源使得LXC容器从所述源主机迁移至其中并使所述LXC容器恢复运行;
在所述LXC容器保持运行的情况下,将所述LXC容器的内存页面预拷贝迭代并将预拷贝迭代后的内存页面通过所述网络传输至所述目的主机,并将预拷贝迭代最后一轮操作留下的内存页面以及所述LXC容器的CPU状况信息同步至所述目的主机并进行停机处理以实现冷冻处理;
将所述LXC容器恢复运行的内存页面从所述源主机传输至所述目的主机并保存在镜像文件中,所述目的主机创建一个新容器,并将保存在所述镜像文件中的内存页面填充至所述新容器中并运行。
进一步地,所述“预拷贝迭代”具体操作为:
预先设置一个阈值,并对所述LXC容器的内存页面进行预拷贝迭代操作,直至所述内存页面的数量值小于或等于所设定的阈值。
进一步地,所述“预拷贝迭代”还包括:
在对所述LXC容器的内存页面进行预拷贝迭代操作的同时,对预拷贝迭代操作进行内存页面的传输优化。
进一步地,所述“优化”具体操作为:
将当前的LXC容器的内存页面全部传输至所述目的主机;
在传输所述内存页面之前,计算自上一轮内存页面传输之后,页面的脏化速率Vd,如果Vd大于Vth-max,则继续执行“计算自上一轮内存页面传输之后,页面的脏化速率Vd”;如果Vd小于Vth-max而大于Vth-min,则将本轮的内存页面传输至所述目的主机,并执行下一轮传输所述内存页面的操作;如果Vd小于Vth-min,则结束本轮操作;
冻结所述LXC容器进程,将自上一轮同步之后的内存页面全部传输至所述目的主机,并将所述LXC容器的当前CPU状态及其他资源传输至所述目的主机;
其中,Vd表示为内存页面的脏化速率,Vth-max表示为当前网络可用带宽,Vth-min表示为是否结束预拷贝迭代的界限。
进一步地,所述“预拷贝迭代”还包括:
为了使每一轮的预拷贝操作只传输上一轮预拷贝操作中被修改后的内存页面,在预拷贝操作中记录被修改的内存页面并将其标记为跟踪模式。
进一步地,所述“预拷贝迭代”还包括:
将所述LXC容器恢复运行的内存页面从所述源主机传输至所述目的主机时对所述内存页面进行压缩处理。
进一步地,所述“压缩处理”具体为:
根据对所述LCX容器内存数据的分析,将所述内存页面进行分类;
借助字典,计算出将要被压缩的内存页面中的相似字或零字节的数量,并根据相似字或零字节的数量以确定所述内存页面的种类;
根据确定后的种类为所述内存页面选择压缩算法并对所述内存页面进行压缩以得到压缩结果。
进一步地,所述“压缩结果”包括被压缩后的内存页面及代表内存页面种类的标记。
进一步地,所述“热迁移”的具体操作为:
将所述LXC容器正确地从所述源主机热迁移至所述目的主机,并清理LXC容器之前在所述源主机中占用的资源。
本发明的有益效果在于:本发明方法直接隔离出LXC容器所需要的虚拟环境,不需要再虚拟机中运行一个额外且完整的操作系统,大大提高了资源的使用率;
对预拷贝迭代方式的优化,明显减少了冗余数据的传输,当相关内存页面的脏化率过快时,就会停止当前预拷贝处理,避免本轮继续传输冗余脏数据,提升了动态迁移效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1为本发明基于内存压缩传输的有状态服务容器热迁移方法的流程图。
图2为本发明基于内存压缩传输的有状态服务容器热迁移方法的系统装置图。
图3为本发明基于内存压缩传输的有状态服务容器热迁移方法中预拷贝迭代图
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
请参见图1,本发明的一较佳实施例中的基于内存压缩传输的有状态服务容器热迁移方法包括如下步骤:
环境创建:隔离出LXC容器虚拟化环境所需要的资源及状态信息,将所述资源及状态信息通过图片的方式保存并对所述LXC容器进行冷冻处理;将所述LXC容器的虚拟化环境从Linux内核中隔离出来,通过namespace机制保存所述LXC容器的虚拟化环境并恢复其进程;
热迁移:拷贝内存信息并迁移所述内存信息。
其中,所述“环境创建”的具体过程为:
提供源主机、目的主机及网络,所述目的主机有充足资源使得LXC容器从所述源主机迁移至其中并使所述LXC容器恢复运行;
在所述LXC容器保持运行的情况下,将所述LXC容器的内存页面预拷贝迭代并将预拷贝迭代后的内存页面通过所述网络传输至所述目的主机,并将预拷贝迭代最后一轮操作留下的内存页面以及所述LXC容器的CPU状况信息同步至所述目的主机并进行停机处理以实现冷冻处理。除了内存页面信息,其他所有的信息都是在本阶段收集的,此外还维护了一个源主机和目的主机间的套接字,这个套接字是主要是为了传输上表中的数据信息。这样就避免了首先将以上信息保存在镜像文件中,而后又将这些文件传输到目的主机。
将所述LXC容器恢复运行的内存页面从所述源主机传输至所述目的主机并保存在镜像文件中,所述目的主机创建一个新容器,并将保存在所述镜像文件中的内存页面填充至所述新容器中并运行。
如图2所示,本发明方法需在所述目的主机上部署两个服务:用于接收所述LXC容器页面数据的页服务、及用于接收除了所述内存页面之外的必要消息的其他信息服务。所述LXC容器热迁移前的准备主要是收集有关源主机、目的主机以及网络相关信息,并且判断目的主机是否有足够的资源使LXC容器从源主机迁移到其中并恢复运行。如果目的主机中的资源不足,就会停止LXC容器热迁移的进行,否则,先在目的主机中预留足够的能使LXC容器恢复运行的资源。
所述“预拷贝迭代”具体操作为:
预先设置一个阈值,并对所述LXC容器的内存页面进行预拷贝迭代操作,直至所述内存页面的数量值小于或等于所设定的阈值。预拷贝迭代的过程应该是收敛的,即每一轮预拷贝运行后,内存页面的数量都会减少,当内存页面的数量小于或等于某个阈值后,预拷贝迭代过程就会结束。为了使每一轮的预拷贝迭代过程只传输上一轮预拷贝过程中修改过的页面,需要在预拷贝过程中记录被修改的内存页面,此处采用Linux内核的内存跟踪机制。当某个进程的内存空间被标记为跟踪时,一旦其某个内存页面被修改时,与该内存页面有关的标记信息就会改变,下一次再检查该内存页面的标记信息时,就可以知道该内存页面是否被修改过。
如图3所示,在所述LXC容器热迁移过程中改善了传统预拷贝算法中每一次迭代都会无条件传输内存页面的做法,这种做法毫无疑问会传输大量的冗余数据,延长了热迁移总时间,从第二轮迭代后,每一轮预拷贝迭代开始时首先判断当前内存页面相对于上一轮预拷贝之后内存页面的脏化速率,如果这一速率过大,将会立即结束本轮迭代;如果这一速率低于某个值,将会继续执行本轮迭代,将内存页面传输到目的主机;如果这一速率低于另一更小的值,那么就会结束预拷贝的迭代执行。所以在对所述LXC容器的内存页面进行预拷贝迭代操作的同时,对预拷贝迭代操作进行内存页面的传输优化。所述“优化”具体操作为:
将当前的LXC容器的内存页面全部传输至所述目的主机;
在传输所述内存页面之前,计算自上一轮内存页面传输之后,页面的脏化速率Vd,如果Vd大于Vth-max,则继续执行“计算自上一轮内存页面传输之后,页面的脏化速率Vd”;如果Vd小于Vth-max而大于Vth-min,则将本轮的内存页面传输至所述目的主机,并执行下一轮传输所述内存页面的操作;如果Vd小于Vth-min,则结束本轮操作;
冻结所述LXC容器进程,将自上一轮同步之后的内存页面全部传输至所述目的主机,并将所述LXC容器的当前CPU状态及其他资源传输至所述目的主机。
其中,Vth-max指网络带宽,如果内存页面的脏化速率超过了网络带宽(页面传输速率),那么显然预拷贝的这个迭代过程将会无休止地进行下去,因此,当出现脏化速率Vd大于网络带宽Vth-max时,将会立即停止本轮预拷贝的脏页面传输,这有效避免了向网络发送大量冗余数据,避免了检查点过程做大量的无用功,在每一轮预拷贝迭代开始时,都会估算当前网络的可用带宽,并将Vth-max设定为当前网络可用带宽。Vth-min是指是否结束预拷贝迭代的界限,如果内存页面脏化速率Vd小于Vth-min,则预示着自上一轮预拷贝迭代以来,页面只有很少一部分被脏化,在stop和copy阶段只需同步很少量的内存页面。
所述“预拷贝迭代”还包括:
将所述LXC容器恢复运行的内存页面从所述源主机传输至所述目的主机时对所述内存页面进行压缩处理。压缩算法首先要求是无损的,因为被压缩的数据需要被精确地重建;其次,内存页面的压缩开销必须要尽可能的小,如果内存页面压缩的开销超过了它的优点,那么虚拟机的迁移就不会从中得到任何好处。压缩开销通常指代CPU开销,因为内存压缩算法通常只占用很少的可以忽略不计的内存空间,CPU开销一般体现于压缩算法的执行时间。在设计虚拟机热迁移的压缩算法时,如何平衡压缩开销和压缩效果间的关系至关重要。下面通过用形象化的表述来讨论压缩开销和压缩效果之间的关系。
在采用压缩算法的虚拟机预拷贝迭代传输内存页面数据时,传输的页面大小和消耗的时间分别用两个向量表示:V=<v0,v1,…,vn-1>和T=<t0,t1,…,tn-1>。与此同时,未采用压缩算法的虚拟机预拷贝迭代传输的两个相应向量则定义为:V′=<v′0,v′1,…,v′m-1>和T′=<t′0,t′1,…,t′m-1>。
令λ=1-ρcpr,则:
另有:
v0=λVtms,v′0=Vtms
v1=Ppageλt0,v′1=Rpaget′0
vn=Ppageλtn-1,v′m=Rpagetm-1
由以上公式可知,总的内存页面同步时间为:
如若使采用压缩方法的热迁移机制比未采用压缩方法的热迁移机制更有优势,那么就必须要使t0<t′0,由此,可以得到:
Rcprρcpr>Rtran
可知,要使采用压缩算法的内存迁移机制更有意义,压缩算法在单位时间处理的数据与压缩率之积要大于网络的带宽。
其中,Rpage表示为在被迁移的虚拟机中,脏页面的平均产生速率;Rtran表示为平均页面传输速率,这代表了从源主机向目的主机传输页面时可用的网络带宽大小;Rcpr表示为平均内存页面压缩速率;ρcpr表示为平均压缩率,即压缩数据的百分比;Vthd表示为在预拷贝迭代停止时的脏页面阈值;Vtms表示为虚拟机总的内存大小;Tpage表示为内存页面同步需要的总时间。
所述“压缩处理”具体为:
根据对所述LCX容器内存数据的分析,将所述内存页面进行分类;
借助字典,计算出将要被压缩的内存页面中的相似字或零字节的数量,并根据相似字或零字节的数量以确定所述内存页面的种类;
根据确定后的种类为所述内存页面选择压缩算法并对所述内存页面进行压缩以得到压缩结果。
所述“压缩结果”包括被压缩后的内存页面及代表内存页面种类的标记。
其中,所述内存页面的种类包括:(1)有若干个零字节和非零字节组成的内存页面;(2)具有高字相似率的内存页面;(3)具有低字相似率的内存页面。
对于第(1)种内存页面,采取的方法是首先遍历整个内存页面,然后仅仅记录非零字节的偏移量和非零字节个数的信息。对于第(2)种内存页面,采用能够表现很强相似性的压缩算法,如WKdm算法。WKdm算法是字典和统计技术的独特结合,是专门设计用来快速和有效压缩内存数据。第(3)种内存页面具有很低的字相似性,可采用一种具有高压缩比的通用压缩算法,比如LZO。其主要包括两个步骤:
S1:决定将要被压缩的内存页面的种类。这一步的目的是为了找出具有较强规则性(即较高的字相似性或大量的零字节)的内存页面。借助于字典,计算出相似字(与字典中的字完全或部分匹配)或零字节的数量,字典中保存的总是最近用到的字。为了降低字匹配开销,算法利用一个直接映射缓存来管理字典,并且使用LRU来作为字典的更新算法。
S2:根据页面的种类选择一个合适的具体的压缩算法,内存页面被压缩之后,为了方便将来的解压缩,一个代表页面种类的标记也随即加入压缩结果中。
所述“热迁移”的具体操作为:
将所述LXC容器正确地从所述源主机热迁移至所述目的主机,并清理LXC容器之前在所述源主机中占用的资源。
在实际使用中,本发明方法适用于Linux3.1及以下内核中(如Linux2.6内核)。
综上所述:本发明方法不需要指令级模拟或转换;容器可以在CPU核心直接运行指令,不需要专门的解释机制;更少的虚拟化开销,LXC容器使用的很多特性都是Linux内核提供的,而内核实现这些特性只需要很少的开销。
对预拷贝迭代方式的优化,明显减少了冗余数据的传输,当相关内存页面的脏化率过快时,就会停止当前预拷贝处理,避免本轮继续传输冗余脏数据,提升了动态迁移效率。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述方法包括如下步骤:
环境创建:隔离出LXC容器虚拟化环境所需要的资源及状态信息,将所述资源及状态信息通过图片的方式保存并对所述LXC容器进行冷冻处理;将所述LXC容器的虚拟化环境从Linux内核中隔离出来,通过namespace机制保存所述LXC容器的虚拟化环境并恢复其进程;
热迁移:拷贝内存信息并迁移所述内存信息。
2.如权利要求1所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“环境创建”的具体过程为:
提供源主机、目的主机及网络,所述目的主机有充足资源使得LXC容器从所述源主机迁移至其中并使所述LXC容器恢复运行;
在所述LXC容器保持运行的情况下,将所述LXC容器的内存页面预拷贝迭代并将预拷贝迭代后的内存页面通过所述网络传输至所述目的主机,并将预拷贝迭代最后一轮操作留下的内存页面以及所述LXC容器的CPU状况信息同步至所述目的主机并进行停机处理以实现冷冻处理;
将所述LXC容器恢复运行的内存页面从所述源主机传输至所述目的主机并保存在镜像文件中,所述目的主机创建一个新容器,并将保存在所述镜像文件中的内存页面填充至所述新容器中并运行。
3.如权利要求2所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“预拷贝迭代”具体操作为:
预先设置一个阈值,并对所述LXC容器的内存页面进行预拷贝迭代操作,直至所述内存页面的数量值小于或等于所设定的阈值。
4.如权利要求3所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“预拷贝迭代”还包括:
在对所述LXC容器的内存页面进行预拷贝迭代操作的同时,对预拷贝迭代操作进行内存页面的传输优化。
5.如权利要求4所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“优化”具体操作为:
将当前的LXC容器的内存页面全部传输至所述目的主机;
在传输所述内存页面之前,计算自上一轮内存页面传输之后,页面的脏化速率Vd,如果Vd大于Vth-max,则继续执行“计算自上一轮内存页面传输之后,页面的脏化速率Vd”;如果Vd小于Vth-max而大于Vth-min,则将本轮的内存页面传输至所述目的主机,并执行下一轮传输所述内存页面的操作;如果Vd小于Vth-min,则结束本轮操作;
冻结所述LXC容器进程,将自上一轮同步之后的内存页面全部传输至所述目的主机,并将所述LXC容器的当前CPU状态及其他资源传输至所述目的主机;
其中,Vd表示为内存页面的脏化速率,Vth-max表示为当前网络可用带宽,Vth-min表示为是否结束预拷贝迭代的界限。
6.如权利要求3所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“预拷贝迭代”还包括:
为了使每一轮的预拷贝操作只传输上一轮预拷贝操作中被修改后的内存页面,在预拷贝操作中记录被修改的内存页面并将其标记为跟踪模式。
7.如权利要求6所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“预拷贝迭代”还包括:
将所述LXC容器恢复运行的内存页面从所述源主机传输至所述目的主机时对所述内存页面进行压缩处理。
8.如权利要求7所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“压缩处理”具体为:
根据对所述LCX容器内存数据的分析,将所述内存页面进行分类;
借助字典,计算出将要被压缩的内存页面中的相似字或零字节的数量,并根据相似字或零字节的数量以确定所述内存页面的种类;
根据确定后的种类为所述内存页面选择压缩算法并对所述内存页面进行压缩以得到压缩结果。
9.如权利要求8所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“压缩结果”包括被压缩后的内存页面及代表内存页面种类的标记。
10.如权利要求1所述的基于内存压缩传输的有状态服务容器热迁移方法,其特征在于,所述“热迁移”的具体操作为:
将所述LXC容器正确地从所述源主机热迁移至所述目的主机,并清理LXC容器之前在所述源主机中占用的资源。
CN201810158863.XA 2018-02-26 2018-02-26 基于内存压缩传输的有状态服务容器热迁移方法 Pending CN108279969A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810158863.XA CN108279969A (zh) 2018-02-26 2018-02-26 基于内存压缩传输的有状态服务容器热迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810158863.XA CN108279969A (zh) 2018-02-26 2018-02-26 基于内存压缩传输的有状态服务容器热迁移方法

Publications (1)

Publication Number Publication Date
CN108279969A true CN108279969A (zh) 2018-07-13

Family

ID=62808651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810158863.XA Pending CN108279969A (zh) 2018-02-26 2018-02-26 基于内存压缩传输的有状态服务容器热迁移方法

Country Status (1)

Country Link
CN (1) CN108279969A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271249A (zh) * 2018-07-27 2019-01-25 暨南大学 一种基于P.haul框架的云容器预拷贝在线迁移方法
CN109669771A (zh) * 2018-12-20 2019-04-23 中国联合网络通信集团有限公司 依赖环境更迭方法及装置
CN110351336A (zh) * 2019-06-10 2019-10-18 西安交通大学 一种基于docker容器的边缘服务迁移方法
CN110990133A (zh) * 2019-11-15 2020-04-10 浙江省北大信息技术高等研究院 边缘计算服务迁移方法、装置、电子设备及介质
CN111414240A (zh) * 2019-01-07 2020-07-14 阿里巴巴集团控股有限公司 内核态进程复制方法以及装置、容器扩容方法以及装置
CN111523111A (zh) * 2020-04-20 2020-08-11 北京中软华泰信息技术有限责任公司 一种用于k8s环境的docker白名单执行控制方法
CN112988332A (zh) * 2021-04-26 2021-06-18 杭州优云科技有限公司 一种虚拟机热迁移预测方法、系统和计算机可读存储介质
CN113711541A (zh) * 2019-05-09 2021-11-26 国际商业机器公司 响应于触发因素的检测动态改变容器化工作负载隔离
CN115292051A (zh) * 2022-09-26 2022-11-04 城云科技(中国)有限公司 一种gpu资源pod的热迁移方法、装置及应用

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607954A (zh) * 2015-12-21 2016-05-25 华南师范大学 一种有状态容器在线迁移的方法和装置
CN106155778A (zh) * 2016-07-07 2016-11-23 中国科学院声学研究所 一种应用容器的启动方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607954A (zh) * 2015-12-21 2016-05-25 华南师范大学 一种有状态容器在线迁移的方法和装置
CN106155778A (zh) * 2016-07-07 2016-11-23 中国科学院声学研究所 一种应用容器的启动方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
禹超: "Linux Containers热迁移机制研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271249A (zh) * 2018-07-27 2019-01-25 暨南大学 一种基于P.haul框架的云容器预拷贝在线迁移方法
CN109669771A (zh) * 2018-12-20 2019-04-23 中国联合网络通信集团有限公司 依赖环境更迭方法及装置
CN111414240B (zh) * 2019-01-07 2023-05-09 阿里巴巴集团控股有限公司 内核态进程复制方法以及装置、容器扩容方法以及装置
CN111414240A (zh) * 2019-01-07 2020-07-14 阿里巴巴集团控股有限公司 内核态进程复制方法以及装置、容器扩容方法以及装置
CN113711541A (zh) * 2019-05-09 2021-11-26 国际商业机器公司 响应于触发因素的检测动态改变容器化工作负载隔离
CN113711541B (zh) * 2019-05-09 2023-04-04 国际商业机器公司 改变容器化工作负载隔离的方法和系统
CN110351336A (zh) * 2019-06-10 2019-10-18 西安交通大学 一种基于docker容器的边缘服务迁移方法
CN110351336B (zh) * 2019-06-10 2020-05-19 西安交通大学 一种基于docker容器的边缘服务迁移方法
CN110990133B (zh) * 2019-11-15 2022-11-04 杭州未名信科科技有限公司 边缘计算服务迁移方法、装置、电子设备及介质
CN110990133A (zh) * 2019-11-15 2020-04-10 浙江省北大信息技术高等研究院 边缘计算服务迁移方法、装置、电子设备及介质
CN111523111A (zh) * 2020-04-20 2020-08-11 北京中软华泰信息技术有限责任公司 一种用于k8s环境的docker白名单执行控制方法
CN111523111B (zh) * 2020-04-20 2023-07-07 北京中软华泰信息技术有限责任公司 一种用于k8s环境的docker白名单执行控制方法
CN112988332A (zh) * 2021-04-26 2021-06-18 杭州优云科技有限公司 一种虚拟机热迁移预测方法、系统和计算机可读存储介质
CN115292051A (zh) * 2022-09-26 2022-11-04 城云科技(中国)有限公司 一种gpu资源pod的热迁移方法、装置及应用
CN115292051B (zh) * 2022-09-26 2023-01-03 城云科技(中国)有限公司 一种gpu资源pod的热迁移方法、装置及应用

Similar Documents

Publication Publication Date Title
CN108279969A (zh) 基于内存压缩传输的有状态服务容器热迁移方法
CN105144121B (zh) 高速缓存内容可寻址数据块以供存储虚拟化
US10140461B2 (en) Reducing resource consumption associated with storage and operation of containers
CN102831120B (zh) 一种数据处理方法及系统
US11113155B1 (en) Archiving and restoration of distributed database log records
KR20210075845A (ko) 네이티브 키-밸류 분산 스토리지 시스템
US10909102B2 (en) Systems and methods for performing scalable Log-Structured Merge (LSM) tree compaction using sharding
US20140052698A1 (en) Virtual Machine Image Access De-Duplication
US9471366B2 (en) Virtual machine disk image backup using block allocation area
US11567680B2 (en) Method and system for dynamic storage scaling
US20180088975A1 (en) Virtual Machine Live Migration Using Intelligent Order Of Pages To Transfer
CN103885811B (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
CN110018878A (zh) 一种分布式系统数据加载方法以及装置
US20230376357A1 (en) Scaling virtualization resource units of applications
Zhu et al. An IoT-oriented real-time storage mechanism for massive small files based on Swift
US20230289207A1 (en) Techniques for Concurrently Supporting Virtual NUMA and CPU/Memory Hot-Add in a Virtual Machine
Modi et al. Live migration of virtual machines with their local persistent storage in a data intensive cloud
US9436489B2 (en) Virtual machine data replication with shared resources
US11194758B1 (en) Data archiving using a compute efficient format in a service provider environment
CN114756509A (zh) 文件系统的操作方法、系统、设备以及存储介质
CN111435299B (zh) 一种应用程序的处理方法及装置
CN108932149A (zh) 数据传输方法及装置
CN105573852A (zh) 一种虚拟地址隔离环境下超高速数据对象通信的方法
Zhao et al. A holistic cross-layer optimization approach for mitigating stragglers in in-memory data processing
US20230418646A1 (en) Efficiently moving virtual machines between network hosts

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180713