CN107315624A - 信息处理方法及虚拟化管理器 - Google Patents
信息处理方法及虚拟化管理器 Download PDFInfo
- Publication number
- CN107315624A CN107315624A CN201710523444.7A CN201710523444A CN107315624A CN 107315624 A CN107315624 A CN 107315624A CN 201710523444 A CN201710523444 A CN 201710523444A CN 107315624 A CN107315624 A CN 107315624A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- virtual
- data content
- predetermined
- virtual disk
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Abstract
本发明实施例提供一种信息处理方法及虚拟化管理器,所述信息处理方法包括:在当前时刻,将待写入第一虚拟机的第一虚拟磁盘的数据内容写到预定内存空间内;判断所述第一虚拟机是否符合预定条件;若所述第一虚拟机符合所述预定条件,则中止所述第一虚拟机并创建第二虚拟机;读取前一时刻写入所述第一虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的第二虚拟磁盘上;若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种信息处理方法及虚拟化管理器。
背景技术
在云平台等虚拟系统中,通常将物理资源虚拟化,构建虚拟机。将虚拟机出租给不同的用户使用,利用不同的虚拟机用于不同的业务。
为了防止虚拟机故障,可以通过虚拟机的切换或重启,进行业务的转移等处理。
为了实现虚拟机故障时的业务顺利转移,一般会采用以下两种方式进行虚拟机的业务转移。
方式一:
当一个虚拟机故障后,重启待用的虚拟机,实现虚拟机业务的快速转移。但是这样的话,需要一直建立有待用或备用的虚拟机,而虚拟机的建立都需要消耗内存、输入/出接口及计算资源等系统资源,这样就导致的资源的浪费,且在虚拟重启的过程中需要虚拟机系统的管理器做很多辅助的工作,虚拟机的重启复杂。
方式二:
虚拟机管理器通过检测虚拟机的心跳信息,确定对应的虚拟机是否发生故障,若一旦发生故障就重建一个虚拟机继续执行之前的业务,但是这样的虚拟机重启会导致一方面业务出现上下文丢失并出现业务故障。
发明内容
有鉴于此,本发明实施例期望提供一种信息处理方法及虚拟化管理器,至少部分解决虚拟机故障恢复的资源消耗大或者上下文丢失的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例第一方面提供一种信息处理方法,应用于虚拟化管理器中,包括:
在当前时刻,将待写入第一虚拟机的第一虚拟磁盘的数据内容写到预定内存空间内;
判断所述第一虚拟机是否符合预定条件;
若所述第一虚拟机符合所述预定条件,则中止所述第一虚拟机并创建第二虚拟机;
读取前一时刻写入所述第一虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的第二虚拟磁盘上;
若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘。
可选地,所述方法还包括:
若所述第一虚拟机不符合所述预定条件且在将所述预定内存空间内的数据内容写入所述第一虚拟机之后,丢弃所述预定内存空间内的数据内容。
可选地,所述方法还包括:
记录所述第一虚拟磁盘中各个内存页的存储状态;
所述若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘,包括:
根据所述存储状态,确定所述第一虚拟磁盘中当前需要更新的内存页;
将所述预定空间内的数据内容写入到当前需要更新的所述内存页上。
可选地,所述第一虚拟磁盘的存储容量等于所述第二虚拟机的存储容量;
所述读取前一时刻写入所述虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的虚拟磁盘上,包括:
读取前一时刻写入所述第一虚拟磁盘的数据内容;
将读取的数据内容写入所述第二虚拟机。
可选地,所述判断所述第一虚拟机是否符合预定条件,包括:
监听所述第一虚拟机的虚拟操作系统;
根据监听的结果,判断所述第一虚拟机是否符合预定条件。
可选地,所述方法还包括以下至少之一:
当所述预定条件为表明所述第一虚拟机故障的故障条件时,丢弃所述预定内存空间内数据内容;
当所述预定条件为非故障条件时,在将所述第一虚拟磁盘上的数据内容写入到所述第二虚拟磁盘上之后,读取所述预定内存空间的数据内容写入到所述第二虚拟磁盘上。
本发明实施例第二方面提供一种虚拟化管理器,包括:
存储单元,用于在当前时刻,将待写入第一虚拟机的第一虚拟磁盘的数据内容写到预定内存空间内;
判断单元,用于判断所述第一虚拟机是否符合预定条件;
创建单元,用于若所述第一虚拟机符合所述预定条件,则中止所述第一虚拟机并创建第二虚拟机;
读写单元,用于读取前一时刻写入所述第一虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的第二虚拟磁盘上;若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘。
可选地,所述存储单元,还用于若所述第一虚拟机不符合所述预定条件且在将所述预定内存空间内的数据内容写入所述第一虚拟机之后,丢弃所述预定内存空间内的数据内容。
可选地,所述虚拟化管理器还包括:
记录单元,用于记录所述第一虚拟磁盘中各个内存页的存储状态;
所述读写单元,还用于根据所述存储状态,确定所述第一虚拟磁盘中当前需要更新的内存页;将所述预定空间内的数据内容写入到当前需要更新的所述内存页上。
本发明实施例第三方面提供一种虚拟化管理器,包括:
存储器,用于存储数据;
处理器,与所述存储器连接,用于通过执行计算机程序,实现前述一个或多个技术方案提供的信息处理方法。
本发明实施例提供的信息处理方法及虚拟化管理器,在向虚拟机的虚拟磁盘写入数据之前,先将待写入的数据临时存储到预定内存空间内,判断对应的虚拟机是否出现故障等符合预设条件,若符合预设条件则中止当前虚拟机并创建一个新的虚拟机,替代被中止的虚拟机,并该中止的虚拟机上的数据加载到新创建的虚拟机的虚拟磁盘上,这样就使得新创建的虚拟机继承了中止的虚拟机的数据,保存了上下文;且在虚拟机中止和创建的过程中,仅使用了预定内存空间的存储资源,并没有直接进行虚拟机的所有资源备份,从而减少了虚拟机创建过程中继承上下文所消耗的资源,提升了虚拟资源的有效利用率。
附图说明
图1为本发明实施例提供的第一种信息处理方法的流程示意图;
图2为本发明实施例提供的第一种虚拟化管理器的结构示意图;
图3为本发明实施例提供的第二种虚拟化管理器的结构示意图;
图4为本发明实施例提供一种虚拟系统的结构示意图;
图5为本发明实施例提供的第二种信息处理方法的流程示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
如图1所示,本实施例提供一种信息处理方法,应用于虚拟化管理器中,包括:
步骤S110:在当前时刻,将待写入第一虚拟机的第一虚拟磁盘的数据内容写到预定内存空间内;
步骤S120:判断所述第一虚拟机是否符合预定条件;
步骤S130:若所述第一虚拟机符合所述预定条件,则中止所述第一虚拟机并创建第二虚拟机;
步骤S140:读取前一时刻写入所述第一虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的第二虚拟磁盘上;
步骤S150:若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘。
所述虚拟化管理器可为虚拟化资源系统(例如,云平台)中的各种类型的虚拟化管理器,例如,hypervisor等虚拟化管理器。所述虚拟化管理器用于进行物理资源的抽象,完成虚拟化资源的配置及调度,并对虚拟化资源进行管理,例如,将某一些虚拟化资源分配给对应的虚拟机,用于虚拟机的运行等。这里的虚拟化资源可包括:存储资源、接口资源及计算资源中的至少一种。所述存储资源又可以非为瞬间存储资源和非瞬间存储资源;所述瞬间存储资源可为内存资源;所述非瞬间存储资源可为硬盘资源。所述接口资源可包括:人机交互接口的接口资源和网络交互接口的网卡资源等。所述计算资源可包括:各种处理器或处理器线程数量等。
在步骤S110中,若当前时刻接收到一个需要向第一虚拟机的第一虚拟磁盘的数据内容时,不直接写入所述第一虚拟磁盘,而是写入到所述虚拟化管理器预先分配的预定内存空间内。
在步骤S120中,判断所述第一虚拟机是否符合预定条件,例如,判断所述第一虚拟机是否出现故障,例如,出现线程崩溃或卡死等各种故障。比如,当所述第一虚拟机的虚拟中央处理器出现故障,则可认为所述第一虚拟机负荷所述预定条件。例如,通过检测所述第一虚拟机的虚拟中央处理器所在物理机的心跳信息,确定所述第一虚拟机是否出现故障。
在一些实施例中,判断所述第一虚拟机是否符合预定条件,还可包括:判断是否出现了需要中止该第一虚拟机的其他状况。例如,由于虚拟化资源的重新配置,可能需要收回第一虚拟机的虚拟化资源等。
总之,这里的预定条件为需要中止所述第一虚拟机的条件。
在步骤S130中当确定出所述第一虚拟机符合所述预定条件时,则中止所述第一虚拟机并创建第二虚拟机。这里创建的第二虚拟机用于替代所述第一虚拟机。在本实施例中,中止所述第一虚拟机可至少分为两个步骤:中止所述第一虚拟机的运行,读取第一虚拟机的当前运行的一些设置参数和/或正常的运行参数;该设置参数和/或运行参数,可以用于创建所述第二虚拟机。在一些实施例中,中止所述第一虚拟机的运行之后,读取所述第一虚拟机的第一虚拟磁盘的数据;将这些数据加载到所述第二虚拟机的第二虚拟磁盘上,这样第二虚拟机就继承了所述第一虚拟机的数据,在完成第二虚拟机的创建及第二虚拟机对第一虚拟机的数据继承之后,释放所述第一虚拟机的虚拟化资源,完成所述第一虚拟机的资源中止。
这里的数据继承,即为所述步骤S140中的读取前一时刻写入第一虚拟机上的数据内容该,加载到第二虚拟机的第二虚拟磁盘上。这样即便第一虚拟机故障,重建的第二虚拟机也保存了第一虚拟机数据写入的上下文,从而减少了上下文丢失的状况。
若当前时刻第一虚拟机故障,则可能当前需要写入到第一虚拟磁盘的数据时有问题的,故在第一虚拟机故障时,直接基于之前第一虚拟磁盘上的数据内容写入第二虚拟磁盘即可。
当然若当前时刻第一虚拟机未故障,即正常,则需要将预定内存空间的数据内容,正常写入到所述第一虚拟机的第一虚拟磁盘上。
在本实施例中所述预定内存空间的存储容量,通常小于所述第一虚拟磁盘的存储空间,利用本实施例提供的信息处理方法,对第一虚拟机进行数据写入,不用设置专门的备用虚拟机也能够确保在第一虚拟机因故需要中止时,保存第一虚拟机的上下文,避免上下文丢失;与此同时,没有设置专门的备用虚拟机,从而减少了资源浪费,提升了虚拟化系统的资源有效利用率。
可选地,所述方法还包括:
若所述第一虚拟机不符合所述预定条件且在将所述预定内存空间内的数据内容写入所述第一虚拟机之后,则丢弃所述预定内存空间内的数据内容。
在本实施例中由于第一虚拟机不符合预定条件,则不用中止该第一虚拟机,也不用创建第二虚拟机,则知己而将预定内存空间内的数据,正常写入所述第一虚拟机即可,在完成写入之后,故可以丢弃预定内存空间内的数据内容,以方便用于预定内存空间内的下一个时刻写入第一虚拟磁盘内数据的暂存。
在本实施例中所述预定内存空间为虚拟化管理器的内存中的一部分,内存中的数据读写是直接基于二进制的,具有数据读写速度快的特点。故在本实施例中,将第一虚拟磁盘的待写入数据,直接写入到预定内存空间做暂时的临时存储,尽可能减少了第一虚拟磁盘数据写入的延时。
在本实施例中丢弃所述预定内存空间内的数据内容,可以包括:利用擦除操作擦除所述预定内存空间内的数据内容,也可以是采用数据覆盖的形式,直接进行下一个时刻数据写入的覆盖,完成当前时刻写入的数据的丢弃。或者,直接修改预定内存空间的存储状态标识,例如,存储状态标识为有效,则该预定内存空间暂时拒绝其他操作,若存储状态标识为无效,则可以对预定内存空间内进行写入和擦除操作。在本实施例中,所述丢弃所述预定内存空间内的数据,可以包括:将所述存储状态标识从有效更改为无效即可。
在一些实施例中,所述方法还包括:
记录所述第一虚拟磁盘中各个内存页的存储状态;
所述步骤S150可包括:
根据所述存储状态,确定所述第一虚拟磁盘中当前需要更新的内存页;
将所述预定空间内的数据内容写入到当前需要更新的所述内存页上。
在本实施例中还会记录所述第一虚拟磁盘中各个内存页的存储状态,在本实施例中,可以利用比特位图的形式,指示第一虚拟磁盘中各个内存页的存储状态。例如,一个读写周期,若内存页A不被写入,则所述比特位图中指示内存页A的比特为第一值;若内存页B有写入,则内存页A对应的比特为第二值;所述第一值不同于第二值,例如,所述第一值为“0”,则所述第二值可为“1”;或者,所述第一值为“1”,则所述第二值为“0”。通常一个比特指示一个内存页的存储状态。若所述第一虚拟磁盘包括M个内存页,通常所述比特位图包括M个比特。在一个读写周期内,完成对应内存页的更新之后,对应内存页的比特值恢复到默认值,在本实施例中,若所述第一值为指示不用更新的存储状态,则恢复到所述第一值。若基于读写请求,确定出对应的内存页需要更新,则会将对应比特的取值更改为所述第二值,等待写入。
这样在步骤S150中可以根据所述存储状态的记录,确定出当前预定内存空间内的数据内容需要写入到第一虚拟磁盘上的内存页,再利用所述预定内存空间内的数据内容更新第一虚拟磁盘的对应的页,完成所述第一虚拟磁盘上数据的写入。
可选地,所述第一虚拟磁盘的存储容量等于所述第二虚拟机的存储容量;
所述步骤S140可包括:
读取前一时刻写入所述第一虚拟磁盘的数据内容;
将读取的数据内容写入所述第二虚拟机。
在本实施例中,所述第二虚拟磁盘可视为所述第一虚拟磁盘的复刻,故所述第一虚拟磁盘的存储容量可等于所述第二虚拟机的存储容量,方便数据的直接迁移。例如,可以采用基于直接存储器的数据直接迁移来实现,尽可能的提升数据迁移的速率。
可选地,所述步骤S130可包括:
监听所述第一虚拟机的虚拟操作系统;
根据监听的结果,判断所述第一虚拟机是否符合预定条件。
在本实施例中所述虚拟化管理器设置专门的监听线程或进程,对第一虚拟机的虚拟操作系统进行监听,根据监听的结果,可以判断出所述第一虚拟机是否符合所述预定条件,至少可以判断所述第一虚拟机是否符合指示第一虚拟机故障的故障条件。
可选地,所述方法还包括以下至少之一:
当所述预定条件为表明所述第一虚拟机故障的故障条件时,丢弃所述预定内存空间内数据内容;
当所述预定条件为非故障条件时,在将所述第一虚拟磁盘上的数据内容写入到所述第二虚拟磁盘上之后,读取所述预定内存空间的数据内容写入到所述第二虚拟磁盘上。
在本实施例中所述预定条件可分为:故障条件和非故障条件。满足故障条件的虚拟机,通常是发生了故障不能在正常运行的虚拟机。而非故障条件是因虚拟机自身故障以外的其他原因导致对应的虚拟机需要中止的条件,例如,虚拟资源的回收等需求。故在本实施例中,会根据预定条件的划分,区分对待所述预定内存空间内的数据内容。
若第一虚拟机符合故障条件,则可能是由于当前操作导致的第一虚拟机故障,故预定内存空间内的数据可能是异常数据,故可以直接丢弃。
若第一虚拟机符合的非故障条件,表明所述第一虚拟机正常,则次数预定内存空间内的数据内容正常,可以直接将预定内存空间内的数据内容写入到第二虚拟磁盘中,从而不用进行第二虚拟机创建之后的操作的回滚,对于用户而言,以实现第一虚拟机复刻的透明操作。
如图2所示,本实施例提供一种虚拟化管理器,包括:
存储单元110,用于在当前时刻,将待写入第一虚拟机的第一虚拟磁盘的数据内容写到预定内存空间内;
判断单元120,用于判断所述第一虚拟机是否符合预定条件;
创建单元130,用于若所述第一虚拟机符合所述预定条件,则中止所述第一虚拟机并创建第二虚拟机;
读写单元140,用于读取前一时刻写入所述第一虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的第二虚拟磁盘上;若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘。
在本实施例中,所述存储单元110可包括存储介质,至少可包括内存,该内存的部分或全部区域可作为所述预定内存空间,用于供待写入第一虚拟机的数据内容的暂存。
所述判断单元120、创建单元130及读写单元140都可以对应于一个或多个处理器,所述处理器可包括:中央处理器(CPU)、微处理器(MCU)、数字信号处理器(DSP)或可编程阵列(PLC)等。
所述处理器通过计算机程序的执行,可以实现第一虚拟机是否符合预定条件的判断,以及第一虚拟机的中止及第二虚拟机的创建,以及将预定内存空间内的数据写入到第一虚拟磁盘的操作。
本实施例提供的虚拟化管理器,通过预定内存空间的设置,通过将待写入到第一虚拟磁盘的数据内容的暂存及第一虚拟磁盘的数据内容写入前的第一虚拟机是否符合预定条件的判断,可以在第一虚拟机需要中止时不仅可以保持上下文,还可以尽可能的减少虚拟机故障等需要中止过程中因需要保持上下文所消耗的虚拟资源。
可选地,所述存储单元110,还用于若所述第一虚拟机不符合所述预定条件且在将所述预定内存空间内的数据内容写入所述第一虚拟机之后,丢弃所述预定内存空间内的数据内容。
在本实施例中,所述存储单元110会将已经写入第一虚拟磁盘的数据内容刚给丢弃掉,从而使得预定存储空间可以存储下一个时刻的数据内容。
可选地,所述虚拟化管理器还包括:
记录单元,用于记录所述第一虚拟磁盘中各个内存页的存储状态;
所述读写单元140,具体用于根据所述存储状态,确定所述第一虚拟磁盘中当前需要更新的内存页;将所述预定空间内的数据内容写入到当前需要更新的所述内存页上。
在本实施例中所述记录单元,也可包括存储介质,用于存储第一虚拟磁盘中各个内存页的存储状态,例如,所述存储介质可包括:一个比特位图的存储区域。
所述读写单元140具体根据记录单元记录的存储状态,更新第一虚拟磁盘的各个内存页。
可选地,所述第一虚拟磁盘的存储容量等于所述第二虚拟机的存储容量;
所述读取单元140,具体用于读取前一时刻写入所述第一虚拟磁盘的数据内容;将读取的数据内容写入所述第二虚拟机。
在一些实施例中,所述判断单元120,具体用于监听所述第一虚拟机的虚拟操作系统;根据监听的结果,判断所述第一虚拟机是否符合预定条件。
可选地,所述存储单元110,还可用于当所述预定条件为表明所述第一虚拟机故障的故障条件时,丢弃所述预定内存空间内数据内容;和/或,所述读写单元140,具体用于当所述预定条件为非故障条件时,在将所述第一虚拟磁盘上的数据内容写入到所述第二虚拟磁盘上之后,读取所述预定内存空间的数据内容写入到所述第二虚拟磁盘上。
如图3所示,本实施例还提供一种虚拟化管理器,包括:
存储器210,用于存储数据;
处理器220,与所述存储器210连接,用于通过执行计算机程序,实现前述任意一个或多个技术方案提供的信息处理方法。
这里的处理器220可为CPU、MCU、DSP或PLC中任意一个。所述处理器220可为单核处理器,也可以是多核处理器。
所述处理器220通过集成电路总线等总线接口230与所述存储器210连接。所述存储器210至少包括内存,可以用于存储各种数据。在一诶实施例中所述存储器210还可包括非瞬间存储介质,可以用于永久性存储数据。
本实施例中提供的虚拟化管理器,能够中止一个虚拟机后能够以最小的资源集成中止的虚拟机的上下文,具有资源有效利用高及上下文得以维持的特点。
以下结合上述任意一个实施例提供几个具体示例:
示例1:
如图4所示,本示例提供一种虚拟机系统,包括主机及存储介质;
所述主机上配置有虚拟化管理器;所述虚拟化管理器,用于将主机及存储机的硬件资源进行资源虚拟化,形成虚拟化资源,并对虚拟化资源进行管理。
在本示例中,在所述虚拟化管理器上配置有自动恢复组件;
所述自动恢复组件,用于在所述虚拟化管理器监听到虚拟机VM1的虚拟中央处理器(VCPU)虚拟操作系统(OS)发生故障时,重新新建一个虚拟机VM2,并将VM1发生故障之前的内存内的数据加载到VM2的虚拟磁盘内,从而不仅可以实现虚拟机重建,且能够使得重建后的虚拟机VM2可以获得上下文。
示例2:
本示例提供一种虚拟机恢复方法,主要分为以下三个方面:
第一:对虚拟机内存的内存状态的动态记录;
第二:对虚拟机操作系统发生故障的及时捕捉;
第三:将每次需要保存的迅疾内存变动与虚拟机操作系统故障是否发生相结合。
本示例提供的虚拟机恢复方法,具体可包括:
a)当虚拟机启动前做初始化,由虚拟化管理器(Hypervisor)对整个物理内存(GPA)进行脏页追踪;
b)用迭代方式将虚拟机的物理内存不停的写入到虚拟机对应的虚拟磁盘上。
c)在写入之前,首先需要将本次新产生的变动内存页做一份拷贝,将此拷贝存放于虚拟化管理器的内存中。然后检查虚拟机操作系统是否发生了故障,如果没有故障,则将本次新产生的变动内存页直接写入到虚拟磁盘上。
d)当虚拟化管理器监听到虚拟机操作系统发生了故障时,立即停止虚拟机的虚拟处理器,同时停止迭代记录变动内存的过程,并根据c)中保留的拷贝,回滚到上一次故障还未发生时的内存状态。
e)此时将保存在虚拟磁盘上发生故障前的内存导入到虚拟化管理器中,根据导入内存恢复虚拟机。这时被恢复的虚拟机不含故障发生的内存页,同时因为回滚的是极小的时间片,其上的业务程序上下文都在并不受影响。
示例3:
如图5所示,本示例提供一种虚拟机恢复方法,包括:
步骤S1:初始化虚拟机VM;
步骤S2:初始脏页追踪,具体可包括:初始化内存比特位图,比特位图包括:多个状态指示比特,一个状态比特指示VM一次内存变更是否正常的两种状态;
步骤S3:预备迭代,具体可包括:初始化迭代阶段,拷贝每一次的脏页;这里的脏页为需要更新的内存页
步骤S4:判断一个虚拟机是否发送故障,若否则进入步骤S5,若是则进入步骤S6;
步骤S5:保持迭代,丢弃脏页;
步骤S6:停止迭代,具体可包括:停止对应VM的虚拟处理器(VCPU),保存虚拟机的当前状态;
步骤S7:内存滚回,具体可包括:将虚拟机内存滚回脏页的前一时刻的内存;
步骤S8:新建一个虚拟机,并将故障虚拟机的内存加载到新建立的虚拟机的虚拟磁盘中;
步骤S9:启动新建的虚拟机。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种信息处理方法,其特征在于,应用于虚拟化管理器中,包括:
在当前时刻,将待写入第一虚拟机的第一虚拟磁盘的数据内容写到预定内存空间内;
判断所述第一虚拟机是否符合预定条件;
若所述第一虚拟机符合所述预定条件,则中止所述第一虚拟机并创建第二虚拟机;
读取前一时刻写入所述第一虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的第二虚拟磁盘上;
若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
若所述第一虚拟机不符合所述预定条件且在将所述预定内存空间内的数据内容写入所述第一虚拟机之后,丢弃所述预定内存空间内的数据内容。
3.根据权利要求1或2所述的方法,其特征在于,
所述方法还包括:
记录所述第一虚拟磁盘中各个内存页的存储状态;
所述若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘,包括:
根据所述存储状态,确定所述第一虚拟磁盘中当前需要更新的内存页;
将所述预定空间内的数据内容写入到当前需要更新的所述内存页上。
4.根据权利要求1或2所述的方法,其特征在于,
所述第一虚拟磁盘的存储容量等于所述第二虚拟机的存储容量;
所述读取前一时刻写入所述虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的虚拟磁盘上,包括:
读取前一时刻写入所述第一虚拟磁盘的数据内容;
将读取的数据内容写入所述第二虚拟机。
5.根据权利要求1或2所述的方法,其特征在于,
所述判断所述第一虚拟机是否符合预定条件,包括:
监听所述第一虚拟机的虚拟操作系统;
根据监听的结果,判断所述第一虚拟机是否符合预定条件。
6.根据权利要求1或2所述的方法,其特征在于,
所述方法还包括以下至少之一:
当所述预定条件为表明所述第一虚拟机故障的故障条件时,丢弃所述预定内存空间内数据内容;
当所述预定条件为非故障条件时,在将所述第一虚拟磁盘上的数据内容写入到所述第二虚拟磁盘上之后,读取所述预定内存空间的数据内容写入到所述第二虚拟磁盘上。
7.一种虚拟化管理器,包括:
存储单元,用于在当前时刻,将待写入第一虚拟机的第一虚拟磁盘的数据内容写到预定内存空间内;
判断单元,用于判断所述第一虚拟机是否符合预定条件;
创建单元,用于若所述第一虚拟机符合所述预定条件,则中止所述第一虚拟机并创建第二虚拟机;
读写单元,用于读取前一时刻写入所述第一虚拟磁盘的数据内容,并将读取的数据内容加载到所述第二虚拟机上的第二虚拟磁盘上;若所述第一虚拟机不符合所述预定条件,则将所述预定内存空间内的数据内容写入到所述第一虚拟磁盘。
8.根据权利要求7所述的虚拟化管理器,其特征在于,
所述存储单元,还用于若所述第一虚拟机不符合所述预定条件且在将所述预定内存空间内的数据内容写入所述第一虚拟机之后,丢弃所述预定内存空间内的数据内容。
9.根据权利要求7或8所述的虚拟化管理器,其特征在于,
所述虚拟化管理器还包括:
记录单元,用于记录所述第一虚拟磁盘中各个内存页的存储状态;
所述读写单元,还用于根据所述存储状态,确定所述第一虚拟磁盘中当前需要更新的内存页;将所述预定空间内的数据内容写入到当前需要更新的所述内存页上。
10.一种虚拟化管理器,包括:
存储器,用于存储数据;
处理器,与所述存储器连接,用于通过执行计算机程序,实现权利要求1至6任一项提供的信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710523444.7A CN107315624B (zh) | 2017-06-30 | 2017-06-30 | 信息处理方法及虚拟化管理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710523444.7A CN107315624B (zh) | 2017-06-30 | 2017-06-30 | 信息处理方法及虚拟化管理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107315624A true CN107315624A (zh) | 2017-11-03 |
CN107315624B CN107315624B (zh) | 2020-11-20 |
Family
ID=60179932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710523444.7A Active CN107315624B (zh) | 2017-06-30 | 2017-06-30 | 信息处理方法及虚拟化管理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107315624B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455951A (zh) * | 2011-07-21 | 2012-05-16 | 中标软件有限公司 | 一种虚拟机容错方法和系统 |
CN102662751A (zh) * | 2012-03-30 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种提高基于热迁移虚拟机系统可用性的方法 |
CN102693177A (zh) * | 2011-03-23 | 2012-09-26 | 中国移动通信集团公司 | 虚拟机故障诊断方法、处理方法及其装置和系统 |
CN102801806A (zh) * | 2012-08-10 | 2012-11-28 | 薛海强 | 一种云计算系统及云计算资源管理方法 |
CN103049219A (zh) * | 2012-12-12 | 2013-04-17 | 华中科技大学 | 适用于虚拟化平台的虚拟磁盘写缓存系统及其操作方法 |
CN104391764A (zh) * | 2014-10-22 | 2015-03-04 | 上海海得控制系统股份有限公司 | 一种计算机容错方法及系统 |
-
2017
- 2017-06-30 CN CN201710523444.7A patent/CN107315624B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693177A (zh) * | 2011-03-23 | 2012-09-26 | 中国移动通信集团公司 | 虚拟机故障诊断方法、处理方法及其装置和系统 |
CN102455951A (zh) * | 2011-07-21 | 2012-05-16 | 中标软件有限公司 | 一种虚拟机容错方法和系统 |
CN102662751A (zh) * | 2012-03-30 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种提高基于热迁移虚拟机系统可用性的方法 |
CN102801806A (zh) * | 2012-08-10 | 2012-11-28 | 薛海强 | 一种云计算系统及云计算资源管理方法 |
CN103049219A (zh) * | 2012-12-12 | 2013-04-17 | 华中科技大学 | 适用于虚拟化平台的虚拟磁盘写缓存系统及其操作方法 |
CN104391764A (zh) * | 2014-10-22 | 2015-03-04 | 上海海得控制系统股份有限公司 | 一种计算机容错方法及系统 |
Non-Patent Citations (1)
Title |
---|
李红卫: "RTEMS存储管理的研究与改进", 《微计算机应用》 * |
Also Published As
Publication number | Publication date |
---|---|
CN107315624B (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6807630B2 (en) | Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory | |
CN103995578B (zh) | 一种具有数据持续模式的器件驱动器 | |
CN106133704A (zh) | 内存故障隔离方法和装置 | |
CN102150124A (zh) | 信息备份/恢复处理装置、以及信息备份/恢复处理系统 | |
US20110202728A1 (en) | Methods and apparatus for managing cache persistence in a storage system using multiple virtual machines | |
CN112579251B (zh) | 虚拟机内存管理的方法及设备 | |
CN101937376A (zh) | 一种数据管理方法及数据存储装置 | |
CN103198122B (zh) | 重启内存数据库的方法和装置 | |
CN104427002A (zh) | 集群系统及用于在集群系统中提供服务可用性的方法 | |
CN103336736B (zh) | 系统日志获取方法和装置 | |
CN106663051A (zh) | 虚拟化计算中的存储器管理 | |
CN106911802B (zh) | 分布式块存储系统的管理平台的部署方法和装置 | |
CN101231604A (zh) | 用于集群服务器数据的卷级恢复的设备、系统及方法 | |
CN104216771A (zh) | 软件程序的重启方法及装置 | |
CN111181780A (zh) | 基于ha集群的主机池切换方法、系统、终端及存储介质 | |
CN104572198B (zh) | 一种业务恢复方法及装置 | |
US20050172305A1 (en) | Protecting an operating system kernel from third party drivers | |
CN101923500A (zh) | 一种嵌入式设备中引导程序备份及更新的方法及装置 | |
CN114035905A (zh) | 基于虚拟机的故障迁移方法及装置、电子设备和存储介质 | |
US20090192780A1 (en) | Hardware emulation using on-the-fly virtualization | |
CN107544834B (zh) | 一种镜像文件收缩方法、装置和机器可读存储介质 | |
US20070234114A1 (en) | Method, apparatus, and computer program product for implementing enhanced performance of a computer system with partially degraded hardware | |
CN107315624A (zh) | 信息处理方法及虚拟化管理器 | |
CN114756355B (zh) | 一种计算机操作系统的进程自动快速恢复的方法和装置 | |
CN107315598A (zh) | 一种系统恢复方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |