虚拟机镜像文件处理方法及装置与流程

文档序号:16530943发布日期:2019-01-05 10:45阅读:226来源:国知局
虚拟机镜像文件处理方法及装置与流程

本公开涉及虚拟化技术领域,具体而言,涉及一种虚拟机镜像文件处理方法及装置。



背景技术:

随着虚拟化和云计算技术的发展,越来越多的物理机采用虚拟化,虚拟化可以实现对物理机硬件资源的高效使用,在支持虚拟化的环境中,物理机及其操作系统统称为宿主机,虚拟机及其操作系统统称为客户机。由于客户机启动时需要对虚拟机镜像文件进行大量读写,故经常存在虚拟机镜像文件损坏导致客户机无法启动的情形,影响用户体验。



技术实现要素:

本公开的目的在于提供一种虚拟机镜像文件处理方法及装置,用以保证客户机的可靠启动。

为了实现上述目的,本公开采用的技术方案如下:

第一方面,本公开提供了一种虚拟机镜像文件处理方法,应用于第一客户机,所述第一客户机是运行于宿主机上的虚拟机,所述第一客户机的操作系统与所述宿主机的操作系统通信,所述方法包括:响应用户的文件备份操作,停止所述第一客户机中的数据写入事务;向所述宿主机发送文件备份请求,以使所述宿主机依据所述文件备份请求将所述第一客户机的虚拟机镜像文件进行备份;接收所述宿主机反馈的备份完成指令,依据所述备份完成指令重启所述第一客户机中的数据写入事务。

第二方面,本公开还提供了一种虚拟机镜像文件处理方法,应用于宿主机,所述宿主机运行第一客户机,且所述宿主机的操作系统与所述第一客户机的操作系统通信,所述方法包括:接收所述第一客户机发送的文件备份请求,其中,所述文件备份请求是所述第一客户机响应用户的文件备份操作产生的,且所述第一客户机响应所述文件备份操作停止所述第一客户机中的数据写入事务;依据所述文件备份请求将所述第一客户机的虚拟机镜像文件进行备份得到备份虚拟机镜像文件,并在备份完成后反馈备份完成指令至所述第一客户机以重启所述第一客户机中的数据写入事务。

第三方面,本公开还提供了一种虚拟机镜像文件处理装置,应用于第一客户机,所述第一客户机是运行于宿主机上的虚拟机,所述第一客户机的操作系统与所述宿主机的操作系统通信,所述装置包括第一执行模块、发送模块及第一接收模块。其中,第一执行模块用于响应用户的文件备份操作,停止所述第一客户机中的数据写入事务;发送模块用于向所述宿主机发送文件备份请求,以使所述宿主机依据所述文件备份请求将所述第一客户机的虚拟机镜像文件进行备份;第一接收模块用于接收所述宿主机反馈的备份完成指令,依据所述备份完成指令重启所述第一客户机中的数据写入事务。

第四方面,本公开还提供了一种虚拟机镜像文件处理装置,应用于宿主机,所述宿主机运行第一客户机,且所述宿主机的操作系统与所述第一客户机的操作系统通信,所述装置包括第二接收模块及文件备份模块。其中,第二接收模块用于接收所述第一客户机发送的文件备份请求,其中,所述文件备份请求是所述第一客户机响应用户的文件备份操作产生的,且所述第一客户机响应所述文件备份操作停止所述第一客户机中的数据写入事务;文件备份模块用于依据所述文件备份请求将所述第一客户机的虚拟机镜像文件进行备份得到备份虚拟机镜像文件,并在备份完成后反馈备份完成指令至所述第一客户机以重启所述第一客户机中的数据写入事务。

第五方面,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的虚拟机镜像文件处理方法。

相对现有技术,本公开提供的一种虚拟机镜像文件处理方法及装置,在第一客户机正常运行过程中,由第一客户机的用户触发虚拟机镜像文件的备份操作,第一客户机的操作系统停止向虚拟机镜像文件中写入数据;然后,向宿主机发送文件备份请求,以使宿主机将第一客户机的虚拟机镜像文件进行备份,并在备份完成后反馈备份完成指令至第一客户机,第一客户机在接收到反馈完成指令后开始向虚拟机镜像文件中写入数据,这样就可以确保宿主机备份的虚拟机镜像文件是完整的,本公开通过对虚拟机镜像文件进行完整备份,可以有效避免由于虚拟机镜像文件损坏导致客户机无法启动的情形发生,从而有效保证客户机启动的可靠性。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开提供的宿主机的第一方框示意图。

图2示出了本公开提供的应用于第一客户机的虚拟机镜像文件处理方法流程图。

图3示出了本公开提供的应用于宿主机的虚拟机镜像文件处理方法流程图。

图4示出了本公开提供的宿主机的第二方框示意图。

图5示出了本公开提供的第一虚拟机镜像文件处理装置的方框示意图。

图6示出了本公开提供的第二虚拟机镜像文件处理装置的方框示意图。

图标:10-宿主机;20-客户机;101-处理器;102-存储器;103-总线;104-通信接口;200-第一虚拟机镜像文件处理装置;201-第一执行模块;202-发送模块;203-第一接收模块;204-第二执行模块;300-第二虚拟机镜像文件处理装置;301-第二接收模块;302-文件备份模块;303-文件生成模块;304-创建模块;305-检测模块;306-第三接收模块;307-文件恢复模块;308-查询模块;309-文件获取模块;310-执行模块。

具体实施方式

下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1示出了本公开提供的宿主机10的方框示意图。宿主机10上运行至少一个客户机20,客户机20是运行于宿主机10上的虚拟机,宿主机10的操作系统和客户机20的操作系统之间有一个以串口协议开发的通信通道,可供宿主机10的操作系统和客户机20的操作系统之间传递信息。宿主机10可以是,但不限于个人电脑(personalcomputer,pc)、物理服务器等等,第一客户机是至少一个客户机20中的任意一个。

客户机20的信息被存储在一个硬件配置文件和一个虚拟机镜像文件中,硬件配置文件中存储客户机20的cpu个数、内存容量、网卡数量/类型、虚拟机镜像文件在宿主机10上的存储路径等信息,虚拟机镜像文件中存储客户机20的引导程序、操作系统数据文件等信息。

kvm(kernel-basedvirtualmachine,基于内核的虚拟机)是一个开源的系统虚拟化模块,在支持kvm虚拟化的环境中,客户机20的启动过程由两部分组成:1.宿主机10上的kvm根据虚拟机xml配置文件创建cpu、内存、io设备等虚拟机硬件环境;2.客户机20的操作系统加载虚拟机镜像文件的引导程序、操作系统数据文件完成客户机20操作系统的启动过程。在这一过程中,由于虚拟机镜像文件结构复杂,且客户机20会对其经常进行写入操作,一旦虚拟机镜像文件损坏,就会导致客户机20无法启动。

为了解决这一问题,通常会对虚拟机镜像文件进行备份,并在其损坏后利用备份文件进行恢复。但是,由于虚拟机镜像文件的备份和恢复只能由宿主机管理员操作,而宿主机管理员无法确保虚拟机镜像文件中保存的客户机文件是完整的,这样后续使用备份文件恢复时,很可能会出现客户机20异常、甚至无法启动的情形。

为确保客户机20的正常启动,可以在客户机20正常运行时对其进行备份操作,并在客户机20出现启动时按照备份进行恢复。对客户机20的备份操作就是备份存储客户机20的所有信息的硬件配置文件和虚拟机镜像文件,对客户机20的恢复操作就是将备份的硬件配置文件和虚拟机镜像文件拷贝覆盖原有文件。由于硬件配置文件中的信息稳定性很高,而虚拟机镜像文件中的信息在客户机20运行过程中是不断变化的,故只要确保备份虚拟机镜像文件的准确性,就能保证客户机20可靠启动,因此,本公开提供一种虚拟机镜像文件处理方法及装置,来保证kvm虚拟化环境中客户机20的可靠启动,下面进行详细描述。

第一实施例

请参照图2,图2示出了本公开提供的应用于第一客户机的虚拟机镜像文件处理方法流程图。应用于第一客户机的虚拟机镜像文件处理方法包括以下步骤:

步骤s101,响应用户的文件备份操作,停止第一客户机中的数据写入事务。

在本公开中,文件备份操作可以是第一客户机的用户对第一客户机的虚拟机镜像文件进行备份的触发操作,第一客户机正常运行时,第一客户机的用户触发文件备份操作,例如,第一客户机的用户输入表征文件备份操作的指令,或者点击表征文件备份操作的控件等。

第一客户机的用户触发文件备份操作之后,首先停止第一客户机中的数据写入事务,数据写入事务可以是第一客户机的文件系统向虚拟机镜像文件中写入数据的事务,这样就能确保宿主机10备份的虚拟机镜像文件,是完整的第一客户机文件。

步骤s102,向宿主机发送文件备份请求,以使宿主机依据文件备份请求将第一客户机的虚拟机镜像文件进行备份。

在本公开中,停止第一客户机中的数据写入事务之后,向宿主机10发起文件备份请求,文件备份请求可以是对第一客户机的虚拟机镜像文件进行备份的确认指令,宿主机10接收到文件备份请求之后,开始拷贝虚拟机镜像文件到预先建立的第一客户机的备份目录中,备份目录可以存储备份虚拟机镜像文件以及该备份虚拟机镜像文件的名称、存储时间、在宿主机10上的存储路径等等。作为一种实施方式,可以预先建立宿主机10上运行的每个客户机20的备份目录,备份目录用于存储对应客户机20的至少一个备份虚拟机镜像文件以及每个备份虚拟机镜像文件的名称、存储时间、在宿主机10上的存储路径等。

步骤s103,接收宿主机反馈的备份完成指令,依据备份完成指令重启第一客户机中的数据写入事务。

在本公开中,第一客户机的虚拟机镜像文件拷贝完成之后,宿主机10向第一客户机反馈备份完成指令,第一客户机接收到备份完成指令之后,重启数据写入事务,即允许第一客户机的文件系统向虚拟机镜像文件中写入数据。

当第一客户机能够启动,但是第一客户机的用户数据不完整(例如,数据库损坏等)、或者一些重要的业务进程(例如,数据收发进程等)无法启动时,需要利用宿主机10备份的第一客户机的备份虚拟机镜像文件对第一客户机的虚拟机镜像文件进行恢复,因此,本公开还包括步骤s104。

步骤s104,响应用户的文件恢复操作,向宿主机发送文件恢复请求,以使宿主机依据文件恢复请求对第一客户机的虚拟机镜像文件进行恢复。

在本公开中,文件恢复操作可以是第一客户机的用户获取宿主机10存储的第一客户机的备份目录,并从该备份目录中选择一个待恢复的备份虚拟机镜像文件后触发的操作,也可以是第一客户机的用户输入待恢复的备份虚拟机镜像文件的名称等。

第一客户机的用户触发文件恢复操作之后,第一客户机向宿主机10发送文件恢复请求,文件恢复请求可以包括待恢复文件名称。宿主机10接收到文件恢复请求之后,首先,依据文件恢复请求关闭第一客户机;然后,依据待恢复文件名称,从第一客户机对应的备份目录中,确定出与待恢复文件名称一致的备份虚拟机镜像文件名称,将该备份虚拟机镜像文件名称对应的备份虚拟机镜像文件作为目标备份虚拟机镜像文件,并利用目标备份虚拟机镜像文件替换第一客户机的当前虚拟机镜像文件,以恢复第一客户机的虚拟机镜像文件;最后,第一客户机的虚拟机镜像文件恢复完成之后,启动第一客户机。

现有技术中,客户机20用户只能操作客户机20,无法看到宿主机10的文件系统,所以对客户机20的虚拟机镜像文件进行备份/恢复的过程,只能由宿主机10用户来触发,尤其是宿主机10上运行多个客户机20且每个客户机20的用户不同时,就会大大增加宿主机10用户的维护工作量。而本公开提供的虚拟机镜像文件处理方法,客户机20的用户无需宿主机10用户的协助即可独立完成对客户机20的虚拟镜像文件的备份/恢复操作,减少了宿主机10用户的维护工作量,降低了宿主机10与客户机20之间的耦合度,提升了安全性。

另外,客户机20用户触发文件备份操作之后,首先禁止客户机20的文件系统向虚拟机镜像文件中写入数据,再发送文件备份请求给宿主机10;宿主机10接收到文件备份请求之后,对客户机20的虚拟机镜像文件进行备份,并在备份完成之后向客户机20反馈备份完成指令,客户机20接收到备份完成指令之后,允许第一客户机的文件系统向虚拟机镜像文件中写入数据,这样就能确保宿主机10备份的虚拟机镜像文件是完整的客户机文件,可以有效避免由于恢复了不完整的备份虚拟机镜像文件导致客户机20异常、甚至无法启动的情形。

第二实施例

请参照图3,图3示出了本公开提供的应用于宿主机10的虚拟机镜像文件处理方法流程图。应用于宿主机10的虚拟机镜像文件处理方法包括以下步骤:

步骤s201,接收第一客户机发送的文件备份请求,其中,文件备份请求是第一客户机响应用户的文件备份操作产生的,且第一客户机响应文件备份操作停止第一客户机中的数据写入事务。

在本公开中,第一客户机的用户在第一客户机正常运行时触发文件备份操作,第一客户机响应文件触发操作,首先停止第一客户机中的数据写入事务,即禁止第一客户机的文件系统向虚拟机镜像文件中写入数据;之后再发送文件备份请求给宿主机10,文件备份请求可以是对第一客户机的虚拟机镜像文件进行备份的确认指令。

步骤s202,依据文件备份请求将第一客户机的虚拟机镜像文件进行备份得到备份虚拟机镜像文件,并在备份完成后反馈备份完成指令至第一客户机以重启第一客户机中的数据写入事务。

在本公开中,可以预先建立宿主机10上运行的每个客户机20的备份目录,备份目录用于存储客户机20的至少一个备份虚拟机镜像文件以及每个备份虚拟机镜像文件的名称、存储时间、在宿主机10上的存储路径等。

在本公开中,宿主机10接收到第一客户机发送的文件备份请求之后,开始拷贝第一客户机的虚拟机镜像文件并将备份虚拟机镜像文件存储至的第一客户机对应的备份目录中,同时存储备份虚拟机镜像文件的名称、存储时间、在宿主机10上的存储路径等信息。拷贝完成后,宿主机10向第一客户机反馈备份完成指令,以使第一客户机重启数据写入事务,即允许第一客户机的文件系统向虚拟机镜像文件中写入数据。

现有技术中,当客户机20无法启动时,需要宿主机10用户对客户机20的虚拟机镜像文件进行恢复,但是宿主机10用户无法知道客户机20的备份虚拟机镜像文件是否可靠,这样就会导致客户机20在虚拟机镜像文件恢复后仍然无法启动成功,需要反复的去恢复虚拟镜像文件,进而导致客户机20长时间无法对外提供服务,同时,增加了宿主机10和客户机20的耦合度以及宿主机10用户的维护工作量。因此,在宿主机10将第一客户机的虚拟机镜像文件进行备份之后,可以对备份虚拟机镜像文件进行可靠性检测,将第一客户机因意外导致的服务中断时间缩减到最低。

在本公开中,宿主机10无法根据备份虚拟机镜像文件的内容来确定其是否可靠,故可以通过判断该备份虚拟机镜像文件是否可以成功启动第一客户机的方式来检测该备份虚拟机镜像文件的可靠性。但是,第一客户机正在运行,如果将其停止会导致服务中断,因此,可以重新创建一个与第一客户机类似的第二客户机来完成对备份虚拟机镜像文件的可靠性检测,故本公开还可以包括步骤s203~s205。

步骤s203,获取第一客户机的硬件配置文件,并依据硬件配置文件生成检测配置文件。

在本公开中,将第一客户机的硬件配置文件中会与第一客户机造成冲突的内容进行修改,例如,uuid(universallyuniqueidentifier,通用唯一识别码)、虚拟机名称、宿主机10与第一客户机之间的串口通道名称等,就能得到检测配置文件。

步骤s204,依据检测配置文件和备份虚拟机镜像文件创建第二客户机。

步骤s205,控制第二客户机启动,当检测到第二客户机启动成功时,则判定备份虚拟机镜像文件通过可靠性检测并添加可靠性标记。

在本公开中,可以通过宿主机10和第二客户机之间是否握手成功的方式来检测第二客户机是否启动成功,具体来说,可以设置一个握手时间(例如,5分钟),如果启动第二客户机后,在握手时间内宿主机10和第二客户机握手成功,则判定备份虚拟机镜像文件通过可靠性检测。另外,在备份虚拟机镜像文件通过可靠性检测时添加可靠性标记,以标识备份虚拟机镜像文件为可靠,并删除第二客户机。

需要指出的是,为了保证第一客户机的硬件配置文件和备份虚拟机镜像文件的稳定性,可以对硬件配置文件和备份虚拟机镜像文件进行拷贝,并依据拷贝后的硬件配置文件生成检测配置文件,以及依据拷贝后的硬件配置文件和备份虚拟机镜像文件创建第二客户机。

当第一客户机的用户发现第一客户机能够启动,但是第一客户机的用户数据不完整(例如,数据库损坏等)、或者一些重要的业务进程(例如,数据收发进程等)无法启动时时,会向宿主机10发送文件恢复请求,以使宿主机10利用备份的第一客户机的备份虚拟机镜像文件对第一客户机的虚拟机镜像文件进行恢复,因此,本公开还包括步骤s206~步骤s207。

步骤s206,接收第一客户机发送的文件恢复请求,其中,文件恢复请求是第一客户机响应用户的文件恢复操作产生的。

在本公开中,第一客户机的用户在第一客户机能够启动,但是第一客户机的用户数据不完整(例如,数据库损坏等)、或者一些重要的业务进程(例如,数据收发进程等)无法启动时触发文件恢复操作,文件恢复操作可以是第一客户机的用户获取宿主机10存储的第一客户机的备份目录,并从该备份目录中选择一个待恢复的备份虚拟机镜像文件后触发的操作。第一客户机接收到文件恢复操作后,向宿主机10发送文件恢复请求。

步骤s207,依据文件恢复请求关闭第一客户机,并对第一客户机的虚拟机镜像文件进行恢复后重启所述第一客户机。

在本公开中,文件恢复请求可以包括待恢复文件名称,宿主机10中预先存储有第一客户机对应的至少一个备份虚拟机镜像文件及每个备份虚拟机镜像文件的名称。宿主机10接收到第一客户机发送的文件恢复请求之后,首先关闭第一客户机;然后,依据待恢复文件名称及每个备份虚拟机镜像文件的名称,从至少一个备份虚拟机镜像文件中确定出待恢复的备份虚拟机镜像文件,并利用待恢复的备份虚拟机镜像文件替换第一客户机的当前虚拟机镜像文件;替换完成后,启动第一客户机。

如果宿主机10检测到第一客户机无法启动,则可以利用具有可靠性标记的备份虚拟机镜像文件对第一客户机进行恢复,因此,本公开还包括步骤s208~步骤s210。

步骤s208,当检测到第一客户机无法启动时,查询第一客户机对应的至少一个备份虚拟机镜像文件中是否存在具有可靠性标记的备份虚拟机镜像文件。

在本公开中,宿主机10可通过与第一客户机握手来判断第一客户机是否启动成功,如果在预设握手时间(例如,5分钟)内宿主机10和第一客户机未握手成功,则判定第一客户机无法启动成功,此时宿主机10可以查询第一客户机对应的备份目录中是否存在具有可靠性标记的备份虚拟机镜像文件,即是否存在可靠的备份虚拟机镜像文件。如果第一客户机对应的至少一个备份虚拟机镜像文件中存在具有可靠性标记的备份虚拟机镜像文件,则执行步骤s209。

步骤s209,从所有具有可靠性标记的备份虚拟机镜像文件中获取存储时间最晚的备份虚拟机镜像文件作为目标虚拟机镜像文件。

在本公开中,当宿主机10检测到第一客户机对应的备份目录中存在具有可靠性标记的备份虚拟机镜像文件,则获取每个具有可靠性标记的备份虚拟机镜像文件的存储时间,并将存储时间最晚的备份虚拟机镜像文件作为目标虚拟机镜像文件,进而利用目标虚拟机镜像文件对第一客户机进行恢复,就可以将第一客户机恢复至出现异常前的状态。

步骤s210,依据目标虚拟机镜像文件对第一客户机的虚拟机镜像文件进行恢复。

在本公开中,确定出目标虚拟机镜像文件之后,首先关闭第一客户机,然后利用目标虚拟机镜像文件替换第一客户机的当前虚拟机镜像文件,并在在目标虚拟机镜像文件替换完成后,启动第一客户机。

本公开提供的虚拟机镜像文件处理方法,首先,在宿主机10完成虚拟机镜像文件的备份操作之后,自动对备份虚拟机镜像文件进行可靠性检测,并对通过可靠性检测的备份虚拟机镜像文件添加可靠性标记;其次,可以在检测到第一客户机无法启动时,利用具有可靠性标记且存储时间最晚的备份虚拟机镜像文件恢复第一客户机,从而有效缩短第一客户机无法提供服务的时间,整个过程无需宿主机10用户参与,减少了宿主机10用户的维护工作量。

第三实施例

请参照图4,图4示出了本公开提供的宿主机10的方框示意图。宿主机10包括处理器101、存储器102、总线103和通信接口104,所述处理器101、存储器102和通信接口104通过总线103连接;处理器101用于执行存储器102中存储的可执行模块,例如计算机程序。

其中,存储器102可能包括高速随机存取存储器(ram:randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口104(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接。

总线103可以是isa总线、pci总线或eisa总线等。图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器102用于存储程序,例如图5所示的第一虚拟机镜像文件处理装置200及图6所示的第二虚拟机镜像文件处理装置300。第一虚拟机镜像文件处理装置200及第二虚拟机镜像文件处理装置300均包括至少一个可以软件或固件(firmware)的形式存储于所述存储器102中或固化在所述宿主机10的操作系统(operatingsystem,os)中的软件功能模块。所述处理器101在接收到执行指令后,执行所述程序以实现本公开上述第一实施例及第二实施例揭示的虚拟机镜像文件处理方法。

处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器101执行时实现上述第一实施例及第二实施例揭示的虚拟机镜像文件处理方法。

第四实施例

请按照图5,图5示出了本公开提供的第一虚拟机镜像文件处理装置200的方框示意图。第一虚拟机镜像文件处理装置200应用于第一客户机,其包括第一执行模块201、发送模块202、第一接收模块203及第二执行模块204。

第一执行模块201,用于响应用户的文件备份操作,停止第一客户机中的数据写入事务。

发送模块202,用于向宿主机发送文件备份请求,以使宿主机依据文件备份请求将第一客户机的虚拟机镜像文件进行备份。

第一接收模块203,用于接收宿主机反馈的备份完成指令,依据备份完成指令重启第一客户机中的数据写入事务。

第二执行模块204,用于响应用户的文件恢复操作,向宿主机发送文件恢复请求,以使宿主机依据文件恢复请求对第一客户机的虚拟机镜像文件进行恢复。

第五实施例

请按照图6,图6示出了本公开提供的第二虚拟机镜像文件处理装置300的方框示意图。第二虚拟机镜像文件处理装置300应用于宿主机10,其包括第二接收模块301、文件备份模块302、文件生成模块303、创建模块304、检测模块305、第三接收模块306、文件恢复模块307、查询模块308、文件获取模块309及执行模块310。

第二接收模块301,用于接收第一客户机发送的文件备份请求,其中,文件备份请求是第一客户机响应用户的文件备份操作产生的,且第一客户机响应文件备份操作停止第一客户机中的数据写入事务。

文件备份模块302,用于依据文件备份请求将第一客户机的虚拟机镜像文件进行备份得到备份虚拟机镜像文件,并在备份完成后反馈备份完成指令至第一客户机以重启第一客户机中的数据写入事务。

文件生成模块303,用于获取第一客户机的硬件配置文件,并依据硬件配置文件生成检测配置文件。

创建模块304,用于依据检测配置文件和备份虚拟机镜像文件创建第二客户机。

检测模块305,用于控制第二客户机启动,当检测到第二客户机启动成功时,则判定备份虚拟机镜像文件通过可靠性检测并添加可靠性标记。

第三接收模块306,用于接收第一客户机发送的文件恢复请求,其中,文件恢复请求是第一客户机响应用户的文件恢复操作产生的。

文件恢复模块307,用于依据文件恢复请求关闭第一客户机,并对第一客户机的虚拟机镜像文件进行恢复后重启所述第一客户机。

查询模块308,用于当检测到第一客户机无法启动时,查询第一客户机对应的至少一个备份虚拟机镜像文件中是否存在具有可靠性标记的备份虚拟机镜像文件。

在本公开中,如果查询模块308查询到第一客户机对应的至少一个备份虚拟机镜像文件中存在具有可靠性标记的备份虚拟机镜像文件,则由文件获取模块309执行。

文件获取模块309,用于当第一客户机对应的至少一个备份虚拟机镜像文件中存在具有可靠性标记的备份虚拟机镜像文件时,从所有具有可靠性标记的备份虚拟机镜像文件中获取存储时间最晚的备份虚拟机镜像文件作为目标虚拟机镜像文件。

执行模块310,用于依据目标虚拟机镜像文件对第一客户机的虚拟机镜像文件进行恢复。

综上所述,本公开提供的一种虚拟机镜像文件处理方法及装置,所述虚拟机镜像文件处理方法包括虚拟机镜像文件备份过程和虚拟机镜像文件恢复过程,虚拟机镜像文件备份过程包括:第一客户机响应用户的文件备份操作,停止第一客户机中的数据写入事务,其中,第一客户机运行于宿主机上且与宿主机通信;第一客户机向宿主机发送文件备份请求;宿主机依据文件备份请求关闭第一客户机,并将第一客户机的虚拟机镜像文件进行备份得到备份虚拟机镜像文件,并在备份完成后反馈备份完成指令至第一客户机;第一客户机依据备份完成指令重启第一客户机中的数据写入事务。虚拟机镜像文件恢复过程包括:第一客户机响应用户的文件恢复操作,向宿主机发送文件恢复请求;宿主机依据文件恢复请求关闭第一客户机,并对第一客户机的虚拟机镜像文件进行恢复后重启第一客户机。本公开提供的虚拟机镜像文件处理方法,客户机的用户无需宿主机用户的协助即可独立完成对客户机的虚拟镜像文件的备份/恢复操作,减少了宿主机用户的维护工作量,降低了宿主机与客户机之间的耦合度,提升了安全性。另外,客户机用户触发文件备份操作之后,先禁止客户机的文件系统向虚拟机镜像文件中写入数据再发送文件备份请求给宿主机,并在接收到宿主机发送的备份完成指令之后,允许第一客户机的文件系统向虚拟机镜像文件中写入数据,从而有效避免由于恢复了不完整的备份虚拟机镜像文件导致客户机异常、甚至无法启动的情形。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1