公开/公告号CN112506534A
专利类型发明专利
公开/公告日2021-03-16
原文格式PDF
申请/专利权人 武汉噢易云计算股份有限公司;
申请/专利号CN202011497064.9
发明设计人 谈振华;
申请日2020-12-17
分类号G06F8/61(20180101);G06F9/455(20060101);G06F9/445(20180101);
代理机构42225 武汉智权专利代理事务所(特殊普通合伙);
代理人张凯
地址 430070 湖北省武汉市东湖新技术开发区关山大道465号光谷创意大厦C座17层
入库时间 2023-06-19 10:16:30
技术领域
本发明涉及VOI(Virtual OS Infrastructure,虚拟操作系统基础架构)技术领域,具体涉及一种物理机启动qcow2格式系统镜像的方法及系统。
背景技术
在物理机中,操作系统通常被安装在物理磁盘上,物理机可以从物理磁盘启动操作系统,但在VOI环境中,要求对操作系统进行集中管理和按需分发,所以需要要求操作系统保存在磁盘镜像文件中,从而VOI服务端对磁盘镜像文件进行集中管理,按需分发给VOI客户端使用。
qcow2是当前比较流行的一种镜像文件格式,符合VOI对磁盘镜像集中管理和按需分发的需求,但是,在物理机中,操作系统无法直接从qcow2格式的系统镜像启动。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种物理机启动qcow2格式系统镜像的方法及系统,通过调用虚拟磁盘中的操作系统引导程序,使得操作系统在虚拟磁盘设备中启动,从而完成操作系统的启动。
为达到以上目的,本发明提供的一种物理机启动qcow2格式系统镜像的方法,括以下步骤:
分发qcow2格式的系统镜像文件至VOI客户端,并将所述系统镜像文件存储至VOI客户端所属VOI客户机的镜像文件系统中;
VOI客户端底层驱动创建对应系统镜像文件所属镜像磁盘的第一虚拟磁盘,并对所创建的第一虚拟磁盘实现读写功能;
基于第一虚拟磁盘中的操作系统引导程序引导操作系统,当操作系统进入到内核初始化阶段时由操作系统内核加载VOI客户端上层驱动;
VOI客户端上层驱动创建对应系统镜像文件所属镜像磁盘的第二虚拟磁盘,并对所创建的第二虚拟磁盘实现读写功能;
操作系统内核识别第二虚拟磁盘,并将识别到的第二虚拟磁盘作为系统磁盘以继续进行操作系统的初始化,完成操作系统的启动。
在上述技术方案的基础上,所述分发qcow2格式的系统镜像文件至VOI客户端,并将所述系统镜像文件存储至VOI客户端所属VOI客户机的镜像文件系统中,具体步骤为:
VOI服务端将qcow2格式的系统镜像文件发送至VOI客户端;
VOI客户端接收系统镜像文件,并将接收的系统镜像文件存储至VOI客户端所属VOI客户机的镜像文件系统中。
在上述技术方案的基础上,所述VOI客户端底层驱动创建对应系统镜像文件所属镜像磁盘的第一虚拟磁盘,具体步骤包括:
VOI客户端所属VOI客户机启动并进入UEFI BIOS环境,加载VOI客户端底层驱动;
VOI客户端底层驱动使用qcow2算法模块的打开功能打开镜像文件系统中的系统镜像文件,获取镜像磁盘句柄;
VOI客户端底层驱动基于获取的镜像磁盘句柄并使用qcow2算法模块的获取镜像磁盘大小功能,获取镜像磁盘的大小;
VOI客户端底层驱动调用UEFI的创建磁盘设备接口,创建大小等于镜像磁盘大小的第一虚拟磁盘。
在上述技术方案的基础上,所述VOI客户端底层驱动为UEFI的第一启动项。
在上述技术方案的基础上,所述VOI客户端上层驱动创建对应系统镜像文件所属镜像磁盘的第二虚拟磁盘,具体步骤包括:
VOI客户端上层驱动使用qcow2算法模块的打开功能打开镜像文件系统中的系统镜像文件,获取镜像磁盘句柄;
VOI客户端上层驱动基于获取的镜像磁盘句柄并使用qcow2算法模块的获取镜像磁盘大小功能,获取镜像磁盘的大小;
VOI客户端上层驱动调用Windows或Linux内核的创建磁盘设备接口,创建大小等于镜像磁盘大小的第二虚拟磁盘。
在上述技术方案的基础上,
所述qcow2算法模块用于对系统镜像文件提供操作功能;
所述操作功能包括创建、打开、读写、关闭和获取镜像磁盘大小。
在上述技术方案的基础上,对第一虚拟磁盘实现读写功能和对第二虚拟磁盘实现读写功能,为通过镜像磁盘句柄调用qcow2算法模块的读写功能实现。
在上述技术方案的基础上,所述基于第一虚拟磁盘中的操作系统引导程序引导操作系统,当操作系统进入到内核初始化阶段时由操作系统内核加载VOI客户端上层驱动,具体步骤包括:
VOI客户端底层驱动加载第一虚拟磁盘中的操作系统引导程序;
通过加载的操作系统引导程序实现对操作系统的引导;
操作系统由UEFI环境中的引导阶段进入到Windows或Linux系统中的启动内核阶段,实现操作系统内核中VOI客户端上层驱动的加载。
在上述技术方案的基础上,所述操作系统引导程序位于第一虚拟磁盘的ESP分区中。
本发明提供的一种物理机启动qcow2格式系统镜像的系统,包括:
发送模块,其用于分发qcow2格式的系统镜像文件至VOI客户端,并将所述系统镜像文件存储至VOI客户端所属VOI客户机的镜像文件系统中;
第一创建模块,其用于驱使VOI客户端底层驱动创建对应系统镜像文件所属镜像磁盘的第一虚拟磁盘,并对所创建的第一虚拟磁盘实现读写功能;
加载模块,其用于加载第一虚拟磁盘中的操作系统引导程序引导操作系统,实现操作系统的引导,以及当操作系统进入到内核初始化阶段时由内核加载VOI客户端上层驱动;
第二创建模块,其用于驱使VOI客户端上层驱动创建对应系统镜像文件所属镜像磁盘的第二虚拟磁盘,并对所创建的第二虚拟磁盘实现读写功能。
与现有技术相比,本发明的优点在于:将VOI服务端分发的qcow2格式磁盘镜像文件存储在VOI客户机的镜像文件系统中,VOI客户机启动过程中通过VOI客户端在操作系统的引导和启动内核阶段分别为客户机创建一个虚拟磁盘设备,实现虚拟磁盘的读写功能,将对虚拟磁盘的读写操作通过qcow2算法模块解析为对镜像文件系统中相应qcow2格式镜像文件的读写,调用虚拟磁盘中的操作系统引导程序,使得操作系统在虚拟磁盘设备中启动,从而完成操作系统的启动。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种物理机启动qcow2格式系统镜像的方法的流程图;
图2为本发明实施例中一种物理机启动qcow2格式系统镜像的系统的结构示意图。
具体实施方式
本发明实施例提供一种物理机启动qcow2格式系统镜像的方法,通过在操作系统的引导和启动内核阶段分别为客户机创建一个虚拟磁盘,并实现虚拟磁盘的读写功能,将对虚拟磁盘的读写操作通过qcow2算法模块解析为对镜像文件系统中相应qcow2格式镜像文件的读写,调用虚拟磁盘中的操作系统引导程序,使得操作系统在虚拟磁盘设备中启动,从而完成操作系统的启动。本发明实施例相应地还提供的一种物理机启动qcow2格式系统镜像的系统。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本发明实施例的提供一种物理机启动qcow2格式系统镜像的方法,具体包括以下步骤:
S1:分发qcow2格式的系统镜像文件至VOI客户端,并将所述系统镜像文件存储至VOI客户端所属VOI客户机的镜像文件系统中;
S2:VOI客户端底层驱动创建对应系统镜像文件所属镜像磁盘的第一虚拟磁盘,并对所创建的第一虚拟磁盘实现读写功能;
S3:基于第一虚拟磁盘中的操作系统引导程序引导操作系统,当操作系统进入到内核初始化阶段时由操作系统内核加载VOI客户端上层驱动;
S4:VOI客户端上层驱动创建对应系统镜像文件所属镜像磁盘的第二虚拟磁盘,并对所创建的第二虚拟磁盘实现读写功能;
S5:操作系统内核识别第二虚拟磁盘,并将识别到的第二虚拟磁盘作为系统磁盘以继续进行操作系统的初始化,完成操作系统的启动。
本发明实施例中,分发qcow2格式的系统镜像文件至VOI客户端,并将所述系统镜像文件存储至VOI客户端所属VOI客户机的镜像文件系统中,具体步骤为:
S101:VOI服务端将qcow2格式的系统镜像文件发送至VOI客户端;
S102:VOI客户端接收系统镜像文件,并将接收的系统镜像文件存储至VOI客户端所属VOI客户机的镜像文件系统中。
本发明实施例中,VOI客户端底层驱动创建对应系统镜像文件所属镜像磁盘的第一虚拟磁盘,具体步骤包括:
S201:VOI客户端所属VOI客户机启动并进入UEFI(Unified Extensible FirmwareInterface,统一可扩展固件接口)BIOS(Basic Input Output System,基本输入输出系统)环境,加载VOI客户端底层驱动。本发明实施例中的VOI客户端底层驱动为UEFI的第一启动项。
S202:VOI客户端底层驱动使用qcow2算法模块的打开功能打开镜像文件系统中的系统镜像文件,获取镜像磁盘句柄;
S203:VOI客户端底层驱动基于获取的镜像磁盘句柄并使用qcow2算法模块的获取镜像磁盘大小功能,获取镜像磁盘的大小;
S204:VOI客户端底层驱动调用UEFI的创建磁盘设备接口,创建大小等于镜像磁盘大小的第一虚拟磁盘。
本发明实施例中,VOI客户端上层驱动创建对应系统镜像文件所属镜像磁盘的第二虚拟磁盘,具体步骤包括:
S401:VOI客户端上层驱动使用qcow2算法模块的打开功能打开镜像文件系统中的系统镜像文件,获取镜像磁盘句柄;
S402:VOI客户端上层驱动基于获取的镜像磁盘句柄并使用qcow2算法模块的获取镜像磁盘大小功能,获取镜像磁盘的大小;
S403:VOI客户端上层驱动调用Windows或Linux内核的创建磁盘设备接口,创建大小等于镜像磁盘大小的第二虚拟磁盘。
需要说明的是,qcow2算法模块用于对系统镜像文件提供操作功能;操作功能包括创建、打开、读写、关闭和获取镜像磁盘大小。对第一虚拟磁盘实现读写功能和对第二虚拟磁盘实现读写功能,为通过镜像磁盘句柄调用qcow2算法模块的读写功能实现。
本发明实施例中,基于第一虚拟磁盘中的操作系统引导程序引导操作系统,当操作系统进入到内核初始化阶段时由操作系统内核加载VOI客户端上层驱动,具体步骤包括:
S301:VOI客户端底层驱动加载第一虚拟磁盘中的操作系统引导程序;操作系统引导程序位于第一虚拟磁盘的ESP(EFI system partition,EFI系统分区)分区中。
S302:通过加载的操作系统引导程序实现对操作系统的引导;
S303:操作系统由UEFI环境中的引导阶段进入到Windows或Linux系统中的启动内核阶段,实现操作系统内核中VOI客户端上层驱动的加载。
本发明实施例中,VOI服务端用于提供集中管理,按需分发qcow2格式镜像文件的功能;VOI客户端安装在VOI客户机上,提供接收VOI服务端分发的qcow2格式系统镜像文件和创建虚拟磁盘的功能。
VOI客户端底层驱动运行在pre-OS(操作系统预加载)阶段,负责创建底层的虚拟磁盘设备,让操作系统在创建的虚拟磁盘中引导,在UEFI环境中,VOI客户端安装时通常会将其设置为UEFI第一启动项,开机后自动运行。
VOI客户端上层驱动运行在操作系统启动内核,初始化内核和运行阶段,负责创建上层的虚拟磁盘设备,让操作系统将这个虚拟磁盘作为系统磁盘使用,在Windows和Linux环境中,VOI客户端安装时通常会将其安装在操作系统内核中,启动内核时自动加载。
虚拟磁盘使用操作系统内核提供的创建磁盘设备的接口创建的虚拟磁盘,将对该磁盘设备的I/O(Input/Output,输入/输出)操作重定向为对qcow2格式系统镜像文件中数据的操作。
镜像文件系统为VOI客户机中用来管理和访问系统镜像文件的文件系统。
本发明实施例的物理机启动qcow2格式系统镜像的方法,将VOI服务端分发的qcow2格式磁盘镜像文件存储在VOI客户机的镜像文件系统中,VOI客户机启动过程中通过VOI客户端在操作系统的引导和启动内核阶段分别为客户机创建一个虚拟磁盘设备,实现虚拟磁盘的读写功能,将对虚拟磁盘的读写操作通过qcow2算法模块解析为对镜像文件系统中相应qcow2格式镜像文件的读写,调用虚拟磁盘中的操作系统引导程序,使得操作系统在虚拟磁盘设备中启动,从而完成操作系统的启动。
参见图2所示,本发明实施例提供的一种物理机启动qcow2格式系统镜像的系统,包括发送模块、第一创建模块、加载模块和第二创建模块。
发送模块用于分发qcow2格式的系统镜像文件至VOI客户端,并将所述系统镜像文件存储至VOI客户端所属VOI客户机的镜像文件系统中;第一创建模块用于驱使VOI客户端底层驱动创建对应系统镜像文件所属镜像磁盘的第一虚拟磁盘,并对所创建的第一虚拟磁盘实现读写功能;加载模块用于加载第一虚拟磁盘中的操作系统引导程序引导操作系统,实现操作系统的引导,以及当操作系统进入到内核初始化阶段时由内核加载VOI客户端上层驱动;第二创建模块用于驱使VOI客户端上层驱动创建对应系统镜像文件所属镜像磁盘的第二虚拟磁盘,并对所创建的第二虚拟磁盘实现读写功能。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
机译: 控制物理多关节系统的站点的操作,使用计算机系统控制物理铰接系统的站点,人和人类物理铰接系统的方法的方法与用于遵循物理多关节系统的方法是分开的在操作上,计算机系统是由人为的,由物理关节系统分开以跟随人类行为,并且将物理关节系统的站点的运动与源系统分开来控制的一种使用计算机的方法
机译: 在数据处理器存储系统出现故障之后,通过多个节点的多启动器访问物理卷,可以重新镜像逻辑数据卷
机译: 用于镜像存储器的系统和方法,其中对主物理镜像存储器的访问受到限制