一种启动虚拟机的方法、装置、设备以及存储介质与流程

文档序号:16400709发布日期:2018-12-25 20:06阅读:277来源:国知局
一种启动虚拟机的方法、装置、设备以及存储介质与流程

本发明涉及云计算以及虚拟化技术领域,特别是涉及一种启动虚拟机的方法、装置、设备以及计算机可读存储介质。

背景技术

随着云计算与虚拟化技术的发展,云计算的概念被广大企事业单位及普通消费者所接受。作为iaas的基础,虚拟化技术的发展也日新月异、蓬勃发展。在云计算快速发展的过程中,云计算的安全问题也日渐突出。而在某些应用场景下,为了安全起见,虚拟机需要从物理设备进行引导进入操作系统以保证操作系统的安全性,如从插在宿主机上的scsi设备、pci设备、pcie设备或者usb设备。为了解决这一问题,本申请提出了通过透传设备启动虚拟机的方案。



技术实现要素:

本发明的目的是提供一种启动虚拟机的方法、装置、设备以及计算机可读存储介质,以解决如何从主机透传设备启动虚拟机的问题。

为解决上述技术问题,本发明提供一种启动虚拟机的方法,包括:

获取物理设备的设备信息;

根据所述设备信息,判断所述物理设备是否为预设可启动设备,所述预设可启动设备为预先指定透传给虚拟机的存储类物理设备;

当判定所述物理设备为预设可启动设备时,接收虚拟机启动指令,按照预先设置的vbios设备的启动顺序,从所述物理设备上启动虚拟机。

可选地,所述物理设备为:pci的物理磁盘、scsi的物理磁盘、ide的物理磁盘、usb类型的物理磁盘中的一个或多个。

可选地,在所述按照预先设置的vbios设备的启动顺序,从所述物理设备上启动虚拟机之前还包括:

配置所述物理设备的驱动类型以及设备地址。

可选地,所述预先设置vbios设备的启动顺序包括:

所述预设可启动设备为一个时,将所述预设可启动设备的启动顺序设置为1的位置;

所述预设可启动设备为多个时,将多个所述预设可启动设备中的其中之一的启动顺序设置为1的位置。

本发明还提供了一种启动虚拟机的装置,包括:

获取模块,用于获取物理设备的设备信息;

判断模块,用于根据所述设备信息,判断所述物理设备是否为预设可启动设备,所述预设可启动设备为预先指定透传给虚拟机的存储类物理设备;

启动模块,用于当判定所述物理设备为预设可启动设备时,接收虚拟机启动指令,按照预先设置的vbios设备的启动顺序,从所述物理设备上启动虚拟机。

可选地,所述物理设备为:pci的物理磁盘、scsi的物理磁盘、ide的物理磁盘、usb类型的物理磁盘中的一个或多个。

可选地,还包括:

配置模块,用于在按照预先设置的vbios设备的启动顺序,从所述物理设备上启动虚拟机之前,配置所述物理设备的驱动类型以及设备地址。

可选地,所述启动设备具体用于:

所述预设可启动设备为一个时,将所述预设可启动设备的启动顺序设置为1的位置;

所述预设可启动设备为多个时,将多个所述预设可启动设备中的其中之一的启动顺序设置为1的位置。

本发明还提供了一种启动虚拟机的设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种所述的启动虚拟机的方法。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述的启动虚拟机的方法。

本发明所提供的启动虚拟机的方法,通过获取物理设备的设备信息;根据该设备信息,判断对应物理设备是否为预设可启动设备;其中,预设可启动设备为预先指定透传给虚拟机的存储类物理设备;当判定该物理设备为预设可启动设备时,接收虚拟机启动指令,按照预先设置的vbios设备的启动顺序,从物理设备上启动虚拟机。本申请可以将虚拟机中某一特定物理设备透传给虚拟机,并设置虚拟机从此设备上启动,而不影响虚拟机的其他虚拟机设备正常使用,实现了虚拟机从物理设备进行引导进入操作系统,保证了操作系统的安全性。此外,本申请还提供了一种具有上述技术优点的启动虚拟机的装置、设备以及计算机可读存储介质。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的启动虚拟机的方法的一种具体实施方式的流程图;

图2为本申请所提供的启动虚拟机的架构示意图;

图3为本发明实施例提供的启动虚拟机的装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明所提供的启动虚拟机的方法的一种具体实施方式的流程图如图1所示,该方法包括:

步骤s101:获取物理设备的设备信息;

具体地,可以从管理端获取需要透传的设备信息,设备信息可以包括但不限于设备的类型、设备的名称,设备类型可以为支持scsi,pci和usb设备类型。

需要指出的是,本申请中物理设备可以为:pci的物理磁盘、scsi的物理磁盘、ide的物理磁盘、usb类型的物理磁盘中的一个或多个,在此不做限定。

步骤s102:根据所述设备信息,判断所述物理设备是否为预设可启动设备,所述预设可启动设备为预先指定透传给虚拟机的存储类物理设备;

本申请可以预先将可启动、可引导的物理设备直接透传给虚拟机。该物理设备可以为存储类设备。例如,插在宿主机上的scsi设备、pci设备、pcie设备或者usb设备。本申请中透传为现有技术,其具体实施方式可参照现有技术,在此不再赘述。

通过设备信息,可以判断当前物理设备是否为与预设可启动设备。如果是,则执行后续步骤;如果否,则跳出。

步骤s103:当判定所述物理设备为预设可启动设备时,接收虚拟机启动指令,按照预先设置的vbios设备的启动顺序,从所述物理设备上启动虚拟机。

在虚拟机进入bios之前,预先将指定的设备透传给虚拟机,虚拟机的bios能够检测到有此透传设备,执行bios的启动顺序,实现虚拟机从透传设备中进行启动。

其中,预先设置的vbios设备的启动顺序可以自行设定得到,当然为保证虚拟机从物理设备上启动,需要将物理设备中的一个设置为启动顺序为1的位置。具体地,预先设置vbios设备的启动顺序包括:

所述预设可启动设备为一个时,将所述预设可启动设备的启动顺序设置为1的位置;

所述预设可启动设备为多个时,将多个所述预设可启动设备中的其中之一的启动顺序设置为1的位置。

进一步地,本申请在按照预先设置的vbios设备的启动顺序,从所述物理设备上启动虚拟机之前还包括:配置所述物理设备的驱动类型以及设备地址。

本发明所提供的启动虚拟机的方法,通过获取物理设备的设备信息;根据该设备信息,判断对应物理设备是否为预设可启动设备;其中,预设可启动设备为预先指定透传给虚拟机的存储类物理设备;当判定该物理设备为预设可启动设备时,接收虚拟机启动指令,按照预先设置的vbios设备的启动顺序,从物理设备上启动虚拟机,实现了虚拟机从物理设备进行引导进入操作系统,保证了操作系统的安全性。本申请可以将虚拟机中某一特定物理设备透传给虚拟机,并设置虚拟机从此设备上启动,而不影响虚拟机的其他虚拟机设备正常使用。

本申请将scsi类型的物理磁盘、pci或pcie类型的物理磁盘、usb类型的u盘通过主机透传的方式,将设备透传给虚拟机,并设置此虚拟机从透传的设备引导进入系统。参照图2本申请所提供的启动虚拟机的架构示意图,下面对本申请所提供的启动虚拟机的实施过程进行进一步详细阐述。将物理pci、scsi、ide、usb中的一个或多个透传给上层虚拟机,通过虚拟的vbios,获取透传给虚拟机的设备信息,并设置vbios设备启动顺序,将一个透传的设备设备设置为启动顺序为1的位置,这样在虚拟机启动的时候,就会从透传设备中启动,间接的就实现了虚拟机从物理设备中进行引导。

下面对本发明实施例提供的启动虚拟机的装置进行介绍,下文描述的启动虚拟机的装置与上文描述的启动虚拟机的方法可相互对应参照。

图3为本发明实施例提供的启动虚拟机的装置的结构框图,参照图3启动虚拟机的装置可以包括:

获取模块100,用于获取物理设备的设备信息;

判断模块200,用于根据所述设备信息,判断所述物理设备是否为预设可启动设备,所述预设可启动设备为预先指定透传给虚拟机的存储类物理设备;

启动模块300,用于当判定所述物理设备为预设可启动设备时,接收虚拟机启动指令,按照预先设置的vbios设备的启动顺序,从所述物理设备上启动虚拟机。

本申请所提供的启动虚拟机的装置中,所述物理设备为:pci的物理磁盘、scsi的物理磁盘、ide的物理磁盘、usb类型的物理磁盘中的一个或多个。

进一步地,本申请所提供的启动虚拟机的装置还可以包括:配置模块,用于在按照预先设置的vbios设备的启动顺序,从所述物理设备上启动虚拟机之前,配置所述物理设备的驱动类型以及设备地址。

此外,所述启动设备具体用于:所述预设可启动设备为一个时,将所述预设可启动设备的启动顺序设置为1的位置;所述预设可启动设备为多个时,将多个所述预设可启动设备中的其中之一的启动顺序设置为1的位置。

本实施例的启动虚拟机的装置用于实现前述的启动虚拟机的方法,因此启动虚拟机的装置中的具体实施方式可见前文中的启动虚拟机的方法的实施例部分,例如,获取模块100,判断模块200,启动模块300,分别用于实现上述**方法中步骤s101,s102,s103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

本申请可以将虚拟机中某一特定物理设备透传给虚拟机,并设置虚拟机从此设备上启动,而不影响虚拟机的其他虚拟机设备正常使用,实现了虚拟机从物理设备进行引导进入操作系统,保证了操作系统的安全性。

此外,本申请还提供了一种启动虚拟机的设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种启动虚拟机的方法。

此外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述的启动虚拟机的方法。

本申请可以将虚拟机中某一特定物理设备透传给虚拟机,并设置虚拟机从此设备上启动,而不影响虚拟机的其他虚拟机设备正常使用,实现了虚拟机从物理设备进行引导进入操作系统,保证了操作系统的安全性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的启动虚拟机的方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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