【技术实现步骤摘要】
虚拟机容错的实现方法和系统
本专利技术涉及虚拟机
,具体地,涉及一种虚拟机容错的实现方法和系统。
技术介绍
虚拟机技术被广泛应用在当今多种多样的云服务中。它通过将固定的、有限的物理计算机资源虚拟化为可配置的、可控的、易管理的虚拟计算机资源,使用户购置策略更加弹性灵活,使物理计算存储资源的利用率和使用效率得到提高,使服务器管理和运维成本大幅下降。由于虚拟机云产品管理方便、经济高效等优点,随着其发展不断成熟,越来越多的应用程序、互联网服务、数据库系统等被部署在虚拟机中。其中不乏对于服务的高可用性有较高要求的任务关键型应用。对这些应用来说,服务停机、长时间无响应等故障会给用户带来难以接受的时间、经济等多方面损失。因此,它们对故障的容错能力、故障后恢复能力较为看重。目前,为应用提供容错容灾的高可用解决方案主要分为两种。一是应用程序自身在编写时实现一套容错、故障恢复机制,二是在虚拟机管理层次(虚拟机监视器)为虚拟机提供一体化的备份、容错、故障恢复机制。前者的优点是可以结合应用程序执行逻辑的特点,有针对性的设计容错和故障恢复机制,对应用程序运行时性能的影响较小、消耗计算资源和存储资源较少。缺点是依赖应用程序和程序开发者自身,为应用程序添加容错机制会大大增加应用程序逻辑的复杂度,想要实现一个正确的、高效的容错机制的要求和成本较高;倘若多个应用程序都需要容错系统,则需要为每一个应用程序都各设计一套容错机制;同时,由于运行在虚拟机中的应用程序没有宏观全局的信息,无法根据自己和备份所在真实宿主物理机器的位置 ...
【技术保护点】
1.一种虚拟机容错的实现方法,其特征在于,将应用程序所在的虚拟机冗余地运行在多台服务器中,选取一台服务器作为主虚拟机,其余作为从虚拟机,主虚拟机、从虚拟机虚拟化配置相同,主虚拟机、从虚拟机互为冗余备份,以备故障切换;/n令主虚拟机和从虚拟机对用户请求冗余处理,通过主从同步协议,保持主虚拟机和从虚拟机对外可见状态的一致性;/n通过与虚拟机监视器相互协作的操作系统,降低主虚拟机、从虚拟机频繁状态同步的开销。/n
【技术特征摘要】
1.一种虚拟机容错的实现方法,其特征在于,将应用程序所在的虚拟机冗余地运行在多台服务器中,选取一台服务器作为主虚拟机,其余作为从虚拟机,主虚拟机、从虚拟机虚拟化配置相同,主虚拟机、从虚拟机互为冗余备份,以备故障切换;
令主虚拟机和从虚拟机对用户请求冗余处理,通过主从同步协议,保持主虚拟机和从虚拟机对外可见状态的一致性;
通过与虚拟机监视器相互协作的操作系统,降低主虚拟机、从虚拟机频繁状态同步的开销。
2.根据权利要求1所述的虚拟机容错的实现方法,其特征在于,所述对用户请求冗余处理包括如下步骤:
预处理步骤:当接收到用户端向虚拟机中的应用程序发送第一请求时,令所述第一请求附加一个同步次数编号生成第二请求,同时将第二请求冗余地发送给主虚拟机和从虚拟机;
执行判定步骤:主虚拟机和从虚拟机根据收到的第二请求中携带的同步次数编号与当前同步次数,执行未被执行过的请求。
3.根据权利要求1所述的虚拟机容错的实现方法,其特征在于,所述保持主虚拟机和从虚拟机中应用程序状态一致性包括如下步骤:
输出比较模块:令主虚拟机的第一输出在预先分配的内存空间中进行缓存,令从虚拟机的第二输出发送至主虚拟机的虚拟机监视器,将第一输出与第二输出进行输出比较;
差异控制模块:对第一输出与第二输出的输出比较进行判断,若第一输出与第二输出相同,则令第一输出释放至用户端,否则,进行主虚拟机和从虚拟机的虚拟机状态同步操作,同步后释放第一输出,回收第二输出。
4.根据权利要求1所述的虚拟机容错的实现方法,其特征在于,所述虚拟机监视器与操作系统相互协作包括以下步骤:
执行记录步骤:主虚拟机内的操作系统在请求执行时记录执行信息,所述执行信息包括各CPU核调度器中应用程序线程的调度顺序和同步原语被线程获取的次序;
日志共享步骤:将执行信息以只追加的形式写入主虚拟机的虚拟机监视器的日志空间,形成调度日志,将调度日志顺序地、异步地发送至从虚拟机的虚拟机监视器;
按日志调度步骤:从虚拟机的虚拟机监视器收到调度日志后,将调度日志写入从虚拟机的虚拟机监视器的日志空间,从虚拟机内的操作系统在进行调度时,会读取调度日志,并按照调度日志以最大努力的方式执行调度;所述最大努力的方式是指从虚拟机内的操作系统不必强制完全按照调度日志执行调度,由于其他不确定性导致其无法按照调度日志进行调度时,仍保证主虚拟机和从虚拟机对外可见的一致性。
5.根据权利要求1所述的虚拟机容错的实现方法,其特征在于,所述故障切换包括以下步骤:
故障监测步骤:主虚拟机的虚拟机监视器定期与从虚拟机的虚拟机监视器进行心跳监测,当经过设定的超时时间没有响应时,监测为故障;
故障恢复步骤:当从虚拟机故障后,主虚拟机不受影响的继续服务;当主虚拟机故障后,从虚拟机升级为主虚拟机提供服务;当从虚拟机数量多于一台时,多台从虚拟机基于分布式共识协议进行投票成为主虚拟机继续服务,以保证冗余虚拟机间实时故障切换,无需等待虚拟机启动、应用程序加载...
【专利技术属性】
技术研发人员:杨帆,李文泰,陈海波,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。