一种服务器系统及其相关控制方法与流程

文档序号:11829087阅读:199来源:国知局
一种服务器系统及其相关控制方法与流程

本发明涉及虚拟机技术领域,更具体的说是涉及一种服务器系统及其相关控制方法。



背景技术:

在云计算基础架构平台系统中,为了便于创建虚拟机,管理员会提供基础操作系统镜像文件,而在基于该操作系统镜像文件创建虚拟机时,需要拷贝一份操作系统镜像文件作为虚拟机私有的镜像文件,因此,同一镜像文件往往需要被几十个甚至几百个虚拟机所采用。

那么,针对服务器操作系统而言,其硬盘存储区会存储有每一虚拟机的操作系统镜像文件,因此,当创建大量虚拟机时,就需要在硬盘存储区存储大量操作系统镜像文件,从而会导致占用硬盘存储区的大量存储空间,进一步的,也会占用大量存储端口访问能力。



技术实现要素:

有鉴于此,本发明提供一种服务器系统及其相关控制方法,以解决现有技术中当创建大量虚拟机时会导致占用硬盘存储区的大量存储空间,并占用大量存储端口访问能力的技术问题。

为实现上述目的,本发明提供如下技术方案:

一种服务器系统,所述服务器系统用于运行多个虚拟机,该系统包括:

存储所述多个虚拟机的共有操作系统镜像文件的内存区;

用于存储所述多个虚拟机的每一虚拟机的私有文件的硬盘存储区。

优选的,所述虚拟机设置有第一驱动接口,所述服务器系统还包括用于与所述第一驱动接口建立连接的第二驱动接口;

其中,所述第一驱动接口和所述第二驱动接口的连接状态用于使得所述虚拟机能够直接访问所述内存区的共有操作系统镜像文件。

优选的,所述硬盘存储区包括存储分区,每一存储分区对应一虚拟机标识,所述存储分区用于存储与所述虚拟机标识对应的虚拟机的私有文件。

一种基于虚拟机的控制方法,应用于所述服务器系统中,所述服务器系统包括存储所述多个虚拟机的共享操作系统镜像文件的内存区;存储所述多个虚拟机的每一虚拟机的私有文件的硬盘存储区;

该方法包括:

接收所述虚拟机的访问请求,基于所述访问请求确定访问类型;

当所述访问类型为写访问时,为所述访问请求分配第一位置标识;

确定所述硬盘存储区中与所述第一位置标识对应的第一区域,并控制所述虚拟机访问所述第一区域;

当所述访问类型为读访问时,基于所述访问请求确定第二位置标识;

判断所述硬盘存储区中与所述第二位置标识对应的第二区域是否存储有私有文件;

若是,控制所述虚拟机访问所述硬盘存储区的第二区域的所述私有文件;

若否,确定所述内存区中与所述第二位置标识对应的第二区域;

控制所述虚拟机访问所述内存区的第二区域的共有操作系统镜像文件。

优选的,所述虚拟机设置有第一驱动接口,所述服务器系统还包括用于与所述第一驱动接口建立连接的第二驱动接口;

所述控制所述虚拟机访问所述内存区的第二区域的共有操作系统镜像文件,具体为:

控制所述虚拟机直接拷贝所述第二区域的共有操作系统镜像文件。

优选的,所述控制所述虚拟机访问所述第一区域,具体为:

基于预设规则转换所述访问请求;

基于所述转换后的访问请求,控制所述虚拟机访问所述第一区域。

优选的,所述控制所述虚拟机访问所述硬盘存储区的第二区域的所述私有文件,具体为:

基于预设规则转换所述访问请求;

基于所述转换后的访问请求,控制所述虚拟机访问所述硬盘存储区的第二区域的所述私有文件。

一种控制虚拟机开机的方法,应用于服务器系统中,所述服务器系统包括内存区和硬盘存储区;

该方法包括:

当接收到虚拟机的开机指令时,判断所述内存区是否存储有共享操作系统镜像文件;

若是,利用所述共享操作系统镜像文件以及位于所述硬盘存储区的所述虚拟机的私有文件控制所述虚拟机开机;

若否,将存储在所述硬盘存储区的共享操作系统镜像文件拷贝到所述内存区;

利用所述共享操作系统镜像文件以及位于所述硬盘存储区的所述虚拟机的私有文件控制所述虚拟机开机。

优选的,所述利用所述共享操作系统镜像文件以及位于所述硬盘存储区的所述虚拟机的私有文件控制所述虚拟机开机之前,还包括:

获取所述开机指令所指示的所述虚拟机的虚拟机标识;

基于所述虚拟机标识确定所述硬盘存储区存储所述虚拟机的私有文件的位置;

获取所述硬盘存储区所述位置处所存储的所述虚拟机的私有文件。

经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种服务器系统,该服务器系统用于运行多个虚拟机,具体的,多个虚拟机的共有操作系统镜像文件均存储在内存区中,硬盘存储区仅用于存储每一虚拟机的私有文件,因此,无需分别为每一虚拟机存储一份与其他虚拟机相同的共有操作系统镜像文件,从而节约了存储空间;进一步的,由于共有操作系统镜像文件存储在内存区中,因此,多个虚拟机针对共有操作系统镜像文件只需访问内存区即可,无需针对同一共有操心系统镜像文件多次访问硬盘存储区的存储端口,节省了对存储端口的占用,提高了虚拟机的存取性能。

附图说明

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

图1为本发明一个实施例公开的一种服务器系统的结构示意图;

图2为本发明另一个实施例公开的一种服务器系统的结构示意图;

图3为本发明一个实施例公开的一种基于虚拟机的控制方法的流程示意图;

图4为本发明一个实施例公开的一种控制虚拟机开机的方法的流程示意图;

图5为本你发么另一个实施例公开的一种控制虚拟机开机的方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明一个实施例公开了一种服务器系统,该服务器系统用于运行多个虚拟机,在本发明中,所运行的多个虚拟机是指使用服务器系统所提供的同一基础操作系统镜像文件的虚拟机。

如图1所示,该服务器系统可以包括内存区100A和硬盘存储区100B。

其中,内存区100A用于存储多个虚拟机的共有操作系统镜像文件。

具体的,虚拟机的创建是基于服务器系统提供的基础操作系统镜像文件完成的,而对于不同虚拟机而言,其所基于的基础操作系统镜像文件是一样的,因此,服务器系统所运行的多个虚拟机具有相同的共有操作系统镜像文件,在本发明中,将多个虚拟机的共有操作系统镜像文件存储在服务器系统的内存区中。那么,当虚拟机想要访问与其他虚拟机相同的共有操作系统镜像文件时,服务器系统只需控制虚拟机访问存储有共有操作系统镜像文件的内存区即可。

硬盘存储区100B用于存储多个虚拟机的每一虚拟机的私有文件。

其中,该硬盘存储区的具体实现形式本发明并没有限定,如该硬盘存储区可以为服务器系统内置硬盘的存储区,也可以为外置硬盘的存储区,当然,还可以为网络上的硬盘的存储区。

具体的,虚拟机在运行过程中,会向服务器系统中写入区别于其他虚拟机的私有文件,该私有文件具体存储在服务器系统的硬盘存储区中,当虚拟机访问区别于其他虚拟机的私有文件中,服务器系统只需将硬盘存储区中所存储的与该虚拟机对应的私有文件读取到内存区,以供该虚拟机访问即可。

需说明的是,在现有技术中,服务器操作系统的硬盘存储区中存储有每一虚拟机的操作系统镜像文件。而在本发明中,硬盘存储区用于存储每一虚拟机的私有文件,而多个虚拟机的共有操作系统镜像文件存储在服务器操作系统的内存区中,不用分别为每一虚拟机存储一份与其他虚拟机相同的共有操作系统镜像文件,因此,节约了硬盘存储器的存储空间。

从另一方面来看,在现有技术中,由于硬盘存储区中存储有每一虚拟机的操作系统镜像文件,因此,针对相同的操作系统镜像文件,多个虚拟机会进行多次端口访问,进而占用大量存储端口的访问能力。而在本发明中,由于共有操作系统镜像文件存储在内存区中,因此,多个虚拟机针对共有操作系统镜像文件只需访问内存区即可,无需针对相同的共有操作系统镜像文件多次访问硬盘存储区的存储端口,节省了对存储端口的占用,提高了虚拟机的存取性能。

在本发明实施例中,服务器系统用于运行多个虚拟机,具体的,多个虚拟机的共有操作系统镜像文件均存储在内存区中,硬盘存储区仅用于存储每一虚拟机的私有文件,本发明相对于现有技术相比,节约了硬盘存储区的存储空间,并且还节省了对存储端口的占用,提高了虚拟机的存取性能。

进一步的,在现有技术中,由于每一虚拟机的镜像文件均存储在服务器系统的硬盘存储区中,因此,当虚拟机需要访问存储在服务器系统的硬盘存储区的镜像文件时,首先,虚拟机需要先将针对虚拟机的文件的访问指令转换为针对虚拟机硬盘的访问指令,而服务器系统在接收到该针对虚拟机硬盘的访问指令后,需要将该针对虚拟机硬盘的访问指令转换为针对服务器系统本身的文件的访问指令,然后再将该针对服务器系统本身的文件的访问指令转换为针对硬盘存储区的访问指令。那么,相应的,由于虚拟机的操作系统镜像文件存储在硬盘存储区内,因此使得虚拟机访问操作系统镜像文件时,仍需要进行多次转换,使得存取效率低。

针对该技术问题,本发明另一实施例还公开了一种服务器系统,该服务器系统用于运行多个虚拟机,每一虚拟机设置有第一驱动接口。

如图2所示,该服务器系统可以包括:内存区100A、硬盘存储区100B以及第二驱动接口100C;

其中,内存区用于存储多个虚拟机的共有操作系统镜像文件;

硬盘存储区100B用于存储多个虚拟机的每一虚拟机的私有文件;

第二驱动接口用于与虚拟机的第一驱动接口建立连接。

需说明的是,虚拟机的第一驱动接口和服务器系统的第二驱动接口的连接状态用于使得虚拟机能够直接访问内存区的共有操作系统镜像文件。

具体的,虚拟机的第一驱动接口和服务器系统的第二驱动接口可以均由软件来实现,第一驱动接口可以为虚拟机的前端硬盘驱动,第二驱动即可为服务器系统的后端驱动,那么,当第一驱动接口和第二驱动接口建立连接后,虚拟机可以直接该连接链路从服务器系统的内存区拷贝共有操作系统镜像文件。

相对与现有技术,在本发明中,针对共有操作系统镜像文件的访问来说,对于虚拟机而言,其无需将针对文件的访问转换为针对虚拟硬盘的访问,针对服务器系统而言,其也无需将针对虚拟硬盘的访问转换针对服务器系统本身的文件的访问,因此,简化了多次转换,提高了存取效率。

由于硬盘存储区存储有每一虚拟机的私有文件,而在实际上,服务器系统一般会运行十几个甚至几百个虚拟机,那么,为了区分每一虚拟机的私有文件,在本发明中,服务器系统的硬盘存储区具体包括存储分区,每一存储分区对应一个虚拟机标识,而存储分区用于存储与虚拟机标识对应的虚拟机的私有文件。

其中,存储分区和虚拟机标识的对应关系可以存储在服务器系统中,当虚拟机访问服务器系统的硬盘存储区时,服务器系统可以确定出该虚拟机的虚拟机标识,并查找与该虚拟机标识对应的硬盘存储区,以控制虚拟机访问与其对应的存储分区。

需说明的是,虚拟机针对服务器系统的访问一般分为读访问和写访问,而对于针对硬盘存储区的读访问而言,服务器系统需控制虚拟机读取与其对 应的存储分区所存储的私有文件,而对于针对硬盘存储区的写访问而言,服务器系统也需控制虚拟机将文件写入与其对应的存储分区。

本发明一个实施例还公开了一种基于虚拟机的控制方法,该方法可以应用于服务器系统中,服务器系统用于运行多个虚拟机,该服务器系统包括:内存区以及硬盘存储区,内存区用于存储多个虚拟机的共享操作系统镜像文件,硬盘存储区用于存储多个虚拟机的每一虚拟机的私有文件。

如图3所示,该方法可以包括以下步骤:

步骤301:接收虚拟机的访问请求,基于该访问请求确定访问类型;

其中,虚拟机针对服务器系统的访问一般包括读访问和写访问,因此,可以通过访问请求确定该访问类型为读访问还是写访问。

步骤302:当该访问类型为写访问时,为访问请求分配第一位置标识;

其中,虚拟机针对服务器系统的写访问具体是指,虚拟机欲将其私有文件写入到服务器系统中,因此,服务器系统可以确定出用于存储该虚拟机欲写入的私有文件的位置标识,从而分配给该虚拟机。

步骤303:确定硬盘存储区中与第一位置标识对应的第一区域,并控制虚拟机访问第一区域;

其中,虚拟机写入服务器系统中的文件一定为私有文件,因此,服务器系统在硬盘存储区中确定与第一位置标识对应的第一区域,并控制虚拟机访问第一区域,使得虚拟机能够将其私有文件写入第一区域。

需说明的是,服务器系统可以建立虚拟机所存储的私有文件的文件标识以及位置标识的第一对应关系,以便虚拟机进行读访问时查找相关文件;进一步的,服务器系统所建立的第一对应关系与虚拟机标识也具有第二对应关系,以区分不同的虚拟机的私有文件与位置标识的第一对应关系。

步骤304:当访问类型为读访问时,基于访问请求确定第二位置标识;

具体的,虚拟机的访问请求中会携带所要访问的文件标识,服务器系统中预先建立有文件标识与位置标识的对应关系,因此,基于访问请求中所携带的文件标识可以确定出位置标识。

步骤305:判断硬盘存储区中与第二位置标识对应的第二区域是否存储有私有文件;若是,进入步骤306,若否,进入步骤307;

步骤306:控制虚拟机访问硬盘存储区的第二区域的私有文件;

控制虚拟机访问硬盘存储区的第二区域的私有文件,以使得虚拟机能够读取到位于硬盘存储区的第二区域的私有文件。

步骤307:确定内存区中与第二位置标识对应的第二区域;

需说明的是,对于虚拟机的某一文件,其若未存储在硬盘存储区内,说明该文件为与其他虚拟机共有的操作系统镜像文件,那么,该文件一定存储在内存区中,因此,可以基于之前所确定的第二位置标识确定内存区中的第二区域。

步骤308:控制虚拟机访问内存区的第二区域的共有操作系统镜像文件。

控制虚拟机访问内存区的第二区域的共有操作系统镜像文件,以使得虚拟机能够读取位于内存区的第二区域的共有操作系统镜像文件。

在本发明实施例中,多个虚拟机的共有操作系统镜像文件均存储在内存区中,硬盘存储区仅用于存储每一虚拟机的私有文件,因此,不用分别为每一虚拟机存储一份与其他虚拟机相同的共有操作系统镜像文件,从而节约了存储空间;进一步的,由于共有操作系统镜像文件存储在内存区中,因此,多个虚拟机针对共有操作系统镜像文件只需访问内存区即可,无需针对同一共有操心系统镜像文件多次访问硬盘存储区的存储端口,节省了对存储端口的占用,提高了虚拟机的存取性能。

在现有技术中,虚拟机针对服务器系统的访问需要进行多次转换,使得存取效率低。基于该问题,本发明另一实施例还公开了一种基于虚拟机的控制方法,本实施例与上述实施例的区别在于,虚拟机上设置有第一驱动接口,服务器系统还可以包括第二驱动接口,该第二驱动接口用于与第一驱动接口建立连接。

相应的,与上述方法不同的是,方法步骤中“控制虚拟机访问内存区的第二区域的共有操作系统镜像文件”,具体可以为:控制虚拟机直接拷贝第二区域的共有操作系统镜像文件。

在本发明中,通过第一驱动接口和第二驱动接口直接建立了虚拟机和服务器系统的桥梁,因此,虚拟机可以直接通过该桥梁从服务器系统的内存区拷贝共有操作系统镜像文件,相对现有技术,在本发明中,对于虚拟机而言, 其无需将针对文件的访问转换为针对虚拟硬盘的访问,针对服务器系统而言,其也不需再次将针对虚拟硬盘的访问转换针对自己的文件的访问,因此,简化了多次转换,提高了存取效率。

在本发明中,当确定虚拟机需要访问服务器系统的硬盘存储区时,具体需要将虚拟机的访问请求转换成符合访问硬盘存储区的要求的访问请求。相应的,与上述实施例不同的是,步骤“控制虚拟机访问第一区域”具体可以包括:

A1:基于预设规则转换访问请求;

其中,该预设规则为预先设置在服务器系统中,以将虚拟机的访问请求转换成符合访问硬盘存储区的要求的访问请求的规则。

A2:基于转换后的访问请求,控制虚拟机访问第一区域。

相应的,与上述实施例不同的是,步骤“控制虚拟机访问硬盘存储区的第二区域的私有文件”,具体可以包括:

B1:基于预设规则转换访问请求;

其中,该预设规则为预先设置在服务器系统中,以将虚拟机的访问请求转换成符合访问硬盘存储区的要求的访问请求的规则。

B2:基于转换后的访问请求,控制虚拟机访问硬盘存储区的第二区域的私有文件。

本发明一个实施例还公开了一种控制虚拟机开机的方法,该方法可以应用于服务器系统中,该服务器系统可以包括内存区和硬盘存储区;

如图4所示,该方法可以包括以下步骤:

步骤401:接收虚拟机的开机指令;

步骤402:判断内存区是否存储有共享操作系统镜像文件;若是,进入步骤403;若否,进入步骤404;

开机指令用于指示服务器系统中所构建的某一虚拟机开机,当接收到虚拟机的开机指令时,需要判断内存区中是否存储有共享操作系统镜像文件,若内存区中存储有共享操作系统镜像文件,则说明该服务器系统中已运行有 虚拟机;若内存区中未存储有共享操作系统镜像文件,则说明该服务器系统中未运行有虚拟机,该开机指令所指示的虚拟机为服务器系统中第一个欲运行的虚拟机。

步骤403:利用共享操作系统镜像文件以及位于硬盘存储区的虚拟机的私有文件控制虚拟机开机;

当内存区中存储有共享操作系统镜像文件时,则直接利用该共享操作系统镜像文件以及位于硬盘存储区的虚拟机的私有文件控制虚拟机开机即可。

需说明的是,控制虚拟机开机所使用的虚拟机的私有文件为开机指令所指示的虚拟机。

步骤404:将存储在硬盘存储区的共享操作系统镜像文件拷贝到内存区;

当内存区中未存储有共享操作系统镜像文件时,需要将存储在硬盘存储区中的共享操作系统镜像文件拷贝到内存区中。

需说明的是,存储在硬盘存储区中的共享操作系统镜像文件为操作系统为每一虚拟机所提供的基础镜像文件。

步骤405:利用共享操作系统镜像文件以及位于硬盘存储区的虚拟机的私有文件控制虚拟机开机。

当将共享操作系统镜像文件拷贝到内存区后,则可以利用该共享操作系统镜像文件以及位于硬盘存储区的虚拟机的私有文件控制虚拟机开机;而针对之后需要开机的虚拟机,服务器系统则可以直接利用内存区所存储的共享操作系统,而无需再次拷贝。

本发明另一实施例还公开了一种控制虚拟机开机的方法,如图5所示,该方法可以包括以下步骤:

步骤501:接收到虚拟机的开机指令;

步骤502:获取开机指令所指示的所述虚拟机的虚拟机标识;

开机指令中携带有指示开机的虚拟机标识,因此,为了控制与开机指令对应的虚拟机开机,需先获取开机指令所指示的所述虚拟机的虚拟机标识。

步骤503:基于该虚拟机标识确定硬盘存储区存储虚拟机的私有文件的位置;

服务器系统中预建立有虚拟机标识以及存储私有文件的位置标识的对应关系,因此,基于该虚拟机标识可以确定出硬盘存储区所存储的虚拟机的私有文件的位置。

步骤504:获取硬盘存储区所述位置处所存储的虚拟机的私有文件;

所获取的硬盘存储区所述位置处的虚拟机的私有文件为用于控制虚拟机开机的文件。

步骤505:判断内存区是否存储有共享操作系统镜像文件;若是,进入步骤505;若否,进入步骤506;

其中,步骤502~504与步骤505的先后执行顺序在本发明并没有具体限定,作为另一种执行顺序,可以在步骤501后先执行步骤505,然后再执行步骤502~504。

步骤506:利用共享操作系统镜像文件以及位于硬盘存储区的虚拟机的私有文件控制虚拟机开机;

其中,位于硬盘存储区的虚拟机的私有文件为之前所获取的硬盘存储区所述位置处所存储的虚拟机的私有文件。

步骤507:将存储在硬盘存储区的共享操作系统镜像文件拷贝到内存区;

步骤508:利用共享操作系统镜像文件以及位于硬盘存储区的虚拟机的私有文件控制虚拟机开机。

其中,位于硬盘存储区的虚拟机的私有文件为之前所获取的硬盘存储区所述位置处所存储的虚拟机的私有文件。

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

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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