【技术实现步骤摘要】
一种基于虚拟机负载的虚拟机自适应热迁移方法及系统
[0001]本专利技术涉及虚拟机领域,具体涉及一种基于虚拟机负载的虚拟机自适应热迁移方法及系统。
技术介绍
[0002]虚拟机的热迁移是指将运行在宿主机A上的虚拟机平滑的迁移到宿主机B上运行以保证虚拟机热迁移过程中用户服务正常运行,实际上会有短暂的毫秒(ms)级别停机服务,但是对用户感知影响较小。虚拟机热迁移时需要迁移两部分数据:磁盘和内存数据。一般情况下磁盘数据的迁移不会导致迁移失败,迁移失败多数场景发生在内存的迁移,这里只研究虚拟机内存数据的迁移的情况。内存迁移的过程有两种实现方式,分别是预拷贝(pre
‑
copy)和提交拷贝(post
‑
copy),post
‑
copy方式热迁移有一定的生产风险,因此一般采用基于pre
‑
copy热迁移方式。为简化迁移过程,可采用虚拟机磁盘采用共享存储的方式,虚拟机在进行热迁移的过程中,不需要迁移磁盘数据,直接进行内存数据的迁移。
[0003]内存数据的迁移受限于网络带宽,一般情况下采用管理网进行迁移,管理网一般是千兆或者万兆网卡,在此网络带宽下进行虚拟机热迁移。虚拟机热迁移目的主要目的是在不影响用户虚拟机正常运行的前提下,实现对内核和虚拟机化组件软件修复以及硬件故障修复。在管理网络带宽不高,虚拟机实际负载却很高的情况下,进行热迁移操作,热迁移就有可能出现大概率迁移失败的场景,因此需要对热迁移技术进行技术优化。
[0004]目前虚拟机热迁移, ...
【技术保护点】
【技术特征摘要】
1.一种基于虚拟机负载的虚拟机自适应热迁移方法,其特征在于,包括:S101,在收到目标虚拟机的热迁移命令时,跳转步骤S102;S102,获取目标虚拟机的CPU利用率和内存利用率;S103,根据目标虚拟机的CPU利用率和内存利用率为目标虚拟机选择所需的热迁移优化方式:若CPU利用率超过第一设定阈值,则启动auto
‑
converge功能定期削减vcpu的执行时间以减少脏页内存的产生量直至热迁移完成;否则,若内存利用率超过第二设定阈值,则启动XBZRLE功能进行内存脏页传输直至热迁移完成。2.根据权利要求1所述的基于虚拟机负载的虚拟机自适应热迁移方法,其特征在于,步骤S102中获取目标虚拟机的CPU利用率包括:获取虚拟机进程的进程标识符pid以及目标虚拟机对应线程的线程标识符tid,根据进程标识符pid和线程标识符tid确定目标虚拟机的状态文件的路径,并按照指定的间隔读取目标虚拟机在该路径下的状态文件并获取目标虚拟机的用户态时间utime和内核态时间stime,并根据用户态时间utime和内核态时间stime计算目标虚拟机的CPU利用率。3.根据权利要求2所述的基于虚拟机负载的虚拟机自适应热迁移方法,其特征在于,所述计算目标虚拟机的CPU利用率的函数表达式为:cpuUsage =((utime + stime)
‑
(lastutime + laststime))/100,上式中,cpuUsage表示目标虚拟机的CPU利用率,utime表示目标虚拟机本次的用户态时间,stime表示目标虚拟机本次的内核态时间,lastutime表示目标虚拟机上一次的用户态时间,laststime表示目标虚拟机上一次的内核态时间。4. 根据权利要求1所述的基于虚拟机负载的虚拟机自适应热迁移方法,其特征在于,步骤S102中,获取目标虚拟机的内存利用率包括:利用部署在目标虚拟机中的代理服务获取目标虚拟机的总内存大小memTotal、可用内存大小memFree 、缓冲区大小Buffer、缓存大小Cached以及Slab内存的可回收部分大小SReclaimable;然后根据目标虚拟机的总内存大小memTotal、可用内存大小memFree 、缓冲区大小Buffer、缓存大小Cached以及Slab内存的可回收部分大小SReclaimable计算目标虚拟机的内存利用率。5. 根据权利要求4所述的基于虚拟机负载的虚拟机自适应热迁移方法,其特征在于,所述计算目标虚拟机的内存利用率的函数表达式为:memUtil=...
【专利技术属性】
技术研发人员:夏纪冬,张铎,陈章,黄伟,
申请(专利权)人:麒麟软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。