[发明专利]一种虚拟机管理方法及装置有效
申请号: | 201310724710.4 | 申请日: | 2013-12-24 |
公开(公告)号: | CN103744725B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 张超 | 申请(专利权)人: | 杭州华为数字技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/455 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 徐翀 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 管理 方法 装置 | ||
技术领域
本发明涉及计算机和通信技术领域,具体涉及一种虚拟机管理方法及装置。
背景技术
在虚拟化应用中,虚拟机热迁移和虚拟机内存快照是两项重要的高级特性。虚拟机热迁移是指在不中断虚拟机运行的情况下,将一个计算节点上的虚拟机迁移到另一个计算节点上;通过热迁移,可以方便的实现资源的有效利用和故障保护。虚拟机内存快照是指将虚拟机某一个时刻的内存状态保存起来,它通过用来和存储快照一起实现虚拟机的故障恢复或者回退。
由于业务是不能中断的,虚拟机在不断的修改它的内存数据。因此在执行内存快照或者热迁移期间,需要有一种方法来保证最终迁移或保存的页面上的数据是具有一致性的。现有的内存快照和热迁移都会使用一种脏页记录(logdirty)的机制,来保证备份的所有内存页面中的数据是在备份的某个时间点之前的。
logdirty机制是指在某个时间点将虚拟机的所有内存页面设置为只读内存,当虚拟机运行需要改写内存数据时,就会触发一个写错误异常,虚拟机管理器(hypervisor)捕获到该异常后,会将该内存页面先做一个备份,然后将该内存页面恢复为可写,让虚拟机继续运行。这样,检查时间点以前的内存页面已经保存,即便虚拟机修改了这部分内存,也可以通过备份,找到整个虚拟机原有的内存数据。在整个操作期间,只有在将虚拟机的内存设为只读时,是需要将虚拟机暂停的;而这部分操作很快,因此,可以认为整个过程中,虚拟机的业务是没有被中断的。
内存快照只需要保存检查点之前的内存数据,执行一次logdirty流程即可,在虚拟机触发写错误后,将虚拟机要修改的内存也做好备份,就可以将该内存页面交还给虚拟机改写了。
虚拟机热迁移的方案和内存快照的方案很相近,只不过热迁移的时候,会执行多次的logdirty流程。虚拟机热迁移首先会将所有的内存页面都置为只读内存,然后启动热迁移将内存页迁移到目的节点上。在迁移过程中,虚拟机也会触发写错误。Hypervisor捕获这个写错误后,会记录这个将被改写的页面。在一次热迁移结束后,hypervisor会再次将所有的页面设为只读页面,并重传在上一轮中被改写过的页面。这个过程会重复多次,直到被改写的页面个数缩减到设定的阈值之下时,会暂停虚拟机,将剩余的被改写页面一次性迁移到目的节点,然后在目的节点上恢复虚拟机的运行,完成热迁移。
以上虚拟机内存快照和虚拟机热迁移流程中,由于内存页面被设置为只读,导致页面无法改写的异常称为缺页异常,该页面在被改写后由于内容发生变化而被称为脏页;对上述流程进行分析,不难发现脏页的数量对系统的性能会造成很大的影响。对内存快照而言,脏页会导致虚拟机的虚拟处理器(vcpu)退出,系统需要增加对脏页的处理,提前备份脏页,这个会影响虚拟机和整个系统的效率。而对虚拟机热迁移来说,在每一次迭代中,产生的脏页都需要被重传,而且,如果产生的脏页过多的话,会导致最终一次性传输的内存页面阈值需要更多的迭代才能达到。
在现有的虚拟化技术中,为了提高虚拟机的执行效率,当vcpu出现缺页异常时,不会立即触发vcpu的退出,而是在虚拟机内存进行正常的任务切换,即虚拟机内部调度其他进程正常执行。这种异步处理方式在正常的虚拟机执行中,可以减少vcpu的退出次数,从而很大的提升虚拟机的性能。
但是在热迁移时候或内存快照时,缺页异常触发任务切换的操作是不会带来性能提升的。因为,在热迁移和内存快照时,所有的内存页面都是只读的。此时,如果A进程产生页面故障,即使调度切换至B进程,B进程的内存页面也是只读,如果此时B进程也改写内存,那同样会产生页面故障,再次触发任务切换。这样,多次切换下来系统中产生了不少的页面故障异常,产生了很多脏页。但是实际程序的有效执行还得等A进程的页面故障恢复后才能使A正常运行。因此在这个场景下,对页面故障做异步处理是没有意义的,不仅不能提高系统的性能,反而会加重系统的负担。
如前所述,在热迁移和内存快照等业务场景下,频繁的触发虚拟机内部的进程切换会加重系统的负担。
发明内容
本发明实施例提供一种虚拟机管理方法及装置,以解决现有技术在热迁移和内存快照等场景下,频繁触发虚拟机内部的进程切换导致的系统负担加重的技术问题。
本发明第一方面提供一种虚拟机管理方法,包括:虚拟机管理器获取用户对虚拟机的管理操作;在所述管理操作为预定义类型的管理操作时,通知虚拟机将内存分页机制设置为同步模式,以便虚拟机对页面故障进行同步处理;在所述预定义类型的管理操作结束时,通知虚拟机将内存分页机制设置为异步模式,以便虚拟机对页面故障进行异步处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华为数字技术有限公司,未经杭州华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310724710.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种监控系统的工作方法
- 下一篇:DSP工程的高效运行方法及系统