一种启动虚拟机的方法和装置的制造方法_2

文档序号:9910811阅读:来源:国知局
作系统镜像为模板创建虚拟机私有镜像,并通过将虚拟机私有镜像虚拟化为虚拟机虚拟硬盘,来实现虚拟机启动的这一方案不同,本申请提供一种直接将主机目录下的相应文件系统虚拟化为虚拟机虚拟硬盘,并在此基础上进行虚拟机启动的方案。
[0046]本步骤具体可通过在主机目录下的预定文件夹存放构成预设通用操作系统镜像所需的全部文件,来为主机—虚拟机间的虚拟化映射工作(通过虚拟化得到在虚拟机中可见的虚拟机虚拟硬盘)提供主机文件基础。
[0047]其中,所述预定文件夹还存放有所述通用操作系统镜像的引导文件,所述引导文件具体存放在所述预定文件夹的预定启动目录中,所述引导文件包括所述通用操作系统镜像的启动扇区及操作系统引导器,所述预定文件夹中存放的各个文件(如常规操作系统文件及引导文件等)以及各文件间的关联关系,共同构成一用于进行虚拟机虚拟化映射的文件系统,即所述预定文件系统,该文件系统与所述通用操作系统镜像保持相同的目录结构,以维持所述通用操作系统镜像中各文件间的关联关系。
[0048]在得到用于虚拟化的文件系统后,可基于相应的主机-虚拟机虚拟化处理策略,将所述预定文件系统虚拟化为虚拟机可见的虚拟机虚拟硬盘。
[0049]S102:创建所述虚拟机虚拟硬盘的第一引导文件;所述第一引导文件基于对所述操作系统镜像的第二引导文件进行预设的第二虚拟化处理得到;所述第二引导文件存放在所述预定文件系统的预定启动目录下。
[0050]相应地,本步骤同样基于所述主机-虚拟机虚拟化处理策略,实现将主机预定文件系统中所述通用操作系统镜像的引导文件,虚拟化为虚拟机虚拟硬盘/虚拟机操作系统的引导文件,虚拟化处理后得到的所述引导文件包括虚拟机虚拟硬盘的启动扇区和虚拟机操作系统引导器。
[0051]S103:基于所述第一引导文件,从所述虚拟机虚拟硬盘启动虚拟机操作系统;所述虚拟机操作系统为:对所述各个文件进行所述第一虚拟化处理后得到的虚拟文件集。
[0052]在进行以上的虚拟化处理得到虚拟机虚拟硬盘后,该虚拟硬盘中包括的各个文件对虚拟来说均是可见的,即该硬盘中包括的虚拟机操作系统及虚拟机操作系统引导文件均对虚拟机可见,从而,虚拟机可基于该虚拟硬盘中的引导文件来启动虚拟机操作系统。
[0053]其中,所述虚拟机操作系统为:对主机中构成所述通用操作系统的各个文件进行虚拟化后得到的虚拟文件集。
[0054]由以上方案可知,本申请公开的启动虚拟机的方法,通过对主机中的预定文件系统进行虚拟化来创建虚拟机虚拟硬盘,所述预定文件系统中存储有构成预设操作系统镜像所需的各个文件;通过对所述操作系统镜像的第二引导文件进行虚拟化得到虚拟机虚拟硬盘的第一引导文件,之后,基于所述第一引导文件,从虚拟机虚拟硬盘启动虚拟机操作系统。可见,本申请基于对主机目录下的预定文件系统进行虚拟化,实现了直接基于主机目录下的文件系统启动虚拟机,管理人员可基于主机目录文件的可见性便捷地修改所述预定文件系统,可基于主机目录下预定文件系统与虚拟机虚拟硬盘间的直接映射关系,实现双方的互更新,即可在主机的所述预定文件系统中热更新虚拟机文件,虚拟机文件的修改也可直接反映在主机的所述文件系统中,从而有效节省了存储空间。
[0055]实施例二
[0056]参考图2,图2为本申请提供的一种启动虚拟机的方法实施例二的流程图,本实施例中,所述步骤SlOl具体可以通过以下的步骤S201实现,所述步骤S102可以通过以下的步骤S202实现:
[0057]S201:基于预设的虚拟机主机数据交换机制,将所述预定文件系统虚拟化为所述虚拟机虚拟硬盘;
[0058]S202:基于所述虚拟机主机数据交换机制,将主机中所述操作系统镜像的第二引导文件虚拟化为所述虚拟机虚拟硬盘的第一引导文件。
[0059]本实施例具体基于一预设的虚拟机主机数据交换机制,实现主机至虚拟机的文件系统虚拟化方案。
[0060]其中,所述虚拟机主机数据交换机制包括:
[0061]将虚拟机操作系统对虚拟机虚拟硬盘启动扇区的访问,转化为对主机中所述通用操作系统镜像的引导文件的访问;
[0062]将虚拟机操作系统对虚拟机虚拟机硬盘的文件目录信息的访问,转化为对主机中所述预定文件系统的目录信息的访问;
[0063]将虚拟机操作系统对虚拟机虚拟硬盘中文件的访问,转化为对主机中所述预定文件系统的文件的访问。
[0064]基于以上的虚拟机主机数据交换机制,可实现主机中所述预定文件系统至虚拟机的有效虚拟化,具体地,可将主机中的所述预定文件系统虚拟化为虚拟机虚拟硬盘,可将所述预定文件系统中构成所述通用操作系统镜像的各个文件虚拟化为虚拟机操作系统,可将所述通用操作系统镜像的引导文件虚拟化为虚拟机操作系统的引导文件。
[0065]在虚拟机启动或运行过程中,可基于该数据交换机制,将虚拟机的虚拟文件存取转化为对主机目录中相应文件系统的访问,从而本实施例提供的虚拟机主机数据交换机制,还同时为虚拟机的正常启动及启动后虚拟机的正常运行、正常数据访问提供了保障。
[0066]具体地,本实施例预先在主机端实现一主机BFM(Back End OS File Module,后端操作系统文件管理模块),来负责读写主机中所述预定文件系统的文件,如读写所述预定文件系统中的通用操作系统文件或引导文件等;预先在虚拟机端实现一虚拟机VFSD( VirtualFile System Driver,前端虚拟文件系统驱动),来负责拦截虚拟机操作系统的虚拟文件存取请求。同时,预先在主机内存空间中申请一共享内存区域,负责实现虚拟机VFSD与主机BFM间的数据交换,参考图3,图3示出了本申请基于所述VFSD及BFM的虚拟机-主机数据交换示意图,虚拟机启动或运行过程中,可通过VFSD与主机BFM间的数据交换,实现对主机文件系统的数据访问。
[0067]其中,需要说明的是,在对主机中的预定文件系统进行虚拟机化并启动虚拟机之前,需要在主机的所述预定文件系统中预装虚拟机VFSD,以确保虚拟机启动及运行过程中,所述VFSD对虚拟机的可见性。
[0068]应用本实施例提供的虚拟机主机数据交换机制,可有效提升虚拟机虚拟存取文件的性能,为方便对比说明,请参考图4,图4示出了现有技术的虚拟机主机数据交换示意图,现有技术通过文件存取与硬盘端口存取间的转换策略实现虚拟机主机数据交换,其中,如图4所示,现有技术具体通过将虚拟机对文件系统的访问,转化成对虚拟机虚拟硬盘的扇区访问,将对虚拟机虚拟硬盘的扇区访问转化成对虚拟机虚拟硬盘的I/O(Input/Output,输入/输出)访问,对虚拟机虚拟硬盘的I/O访问被主机的Hypervisor (虚拟机监视器)截获,并将其转换为对主机文件系统中虚拟机私有镜像的访问。可见,现有技术需通过一系列的端口或地址计算/转换实现虚拟机的虚拟文件存取,与此相对应,本申请可采用以主机内存中预先申请的共享内存区域为桥梁,实现在虚拟机、主机间直接进行文件或数据交换,而不必进行繁琐的端口或地址的计算、转换,大大提升了虚拟机的虚拟文件存取性能。
[0069]实施例三
[0070]参考图5,图5为本申请提供的一种启动虚拟机的方法实施例三的流程图,本实施例中,所述启动虚拟机的方法还可以包括以下步骤:
[0071]S501:当对主机中的所述预定文件系统进行内容更新后,向所述虚拟操作系统通知相应的更新信息。
[0072]由以上的阐述可知,本申请通过直接对主机目录下的预定文件系统进行虚拟化,得到虚拟机虚拟硬盘,从而,管理人员对主机中所述预定文件系统的修改能够快速热
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1