发明内容
本发明的技术任务是针对以上不足之处,提供一种物理存储调度方法及云主机创建方法。
一种物理存储调度方法,用于云主机的创建过程中,其实现步骤包括:
一、首先获取可用物理主机列表,即可用于创建云主机的物理主机列表,且所述物理主机中配置有若干物理存储;
二、然后根据物理主机列表依次进行物理存储调度,该物理存储调度包括根磁盘存储和数据盘存储调度,所述根磁盘存储是指用于存放云主机操作***的磁盘,数据盘存储是指用于存放云主机其他非操作***数据的磁盘;
三、当云主机对应根磁盘和数据盘都找到匹配存储后,结束物理存储调度过程。
所述步骤一中的物理主机列表进行倒序排列,具体过程为:
首先根据云主机的创建要求,将所有符合要求的物理主机选择出来,所述云主机的创建要求包括CPU核数要求、内存容量要求;
然后根据云主机的创建要求,确定每个物理主机可创建云主机的数量;
根据可创建云主机的数量,由大到小对物理主机排序,并将排序结果以列表形式展示。
在进行物理存储调度前,需要对每个物理主机中的物理存储进行分类,该分类通过以下过程实现:
首先获取每个物理主机中包括容量信息、存储用途的所有物理存储信息,其中容量信息是指可用的存储容量;存储用途是指用于存放云主机操作***数据、非云主机操作***数据;
然后根据存储用途,将可用于存放云主机操作***数据的物理存储标识为根磁盘存储,将可用于存放非云主机操作***数据的物理存储标识为数据盘存储。
所述步骤二的物理存储调度过程中,首先进行根磁盘存储调度,获取可使用的根磁盘存储并标识,所述可使用的根磁盘存储是指满足存放待创建云主机操作***数据容量需求的存储;然后进行数据盘存储调度,获取可使用的数据盘存储并标识,所述可使用的数据盘存储是指满足存放待创建云主机非操作***数据容量需求的存储。
所述根磁盘存储调度过程为:
首先选择物理主机列表中的第一个物理主机,将该物理主机中的所有根磁盘存储,按可用容量由大到小进行排序,并将第一个根磁盘存储的可用容量与云主机根磁盘的容量进行比较,若容量不足,则标记当前的根磁盘存储所属物理主机为不可用,并处理下一个物理主机;否则,将根磁盘存储可用容量减去云主机根磁盘容量,记录该存储标识。
所述数据盘存储调度的过程为:
首先选择物理主机列表中的第一个物理主机,将该物理主机中的所有数据盘存储,按可用容量由大到小进行排序,并依次将数据盘存储的容量与云主机的数据盘容量进行比较,若容量不足,则标记当前的数据盘存储所属物理主机为不可用,并处理下一个物理主机;否则,将数据盘存储可用容量减去云主机数据盘容量,记录该存储标识。
一种云主机创建方法,其实现步骤包括:
1)首先获取待创建云主机数量,以及每个云主机的需求信息,该需求信息包括所需要的根磁盘容量、要挂载的数据盘数量和容量;
2)通过上述物理存储调度方法,顺序完成获取可用物理主机列表、根磁盘存储调度、数据盘存储调度的过程,完成第一个云主机的创建;
3)重复采用上述物理存储调度方法,直至所有云主机都能找到与之匹配的物理主机和物理存储,从而完成所有云主机的创建过程。
采用上述物理存储调度方法,获取可用物理主机列表的过程为:
在步骤1)中获取的云主机需求信息还包括创建云主机需要的CPU和内存信息,首先根据该信息选择出所有可创建该云主机的物理主机,并根据可创建云主机数量进行由大到小排序,并将排序后的结果以列表形式展现,所述CPU和内存信息是指CPU核数要求、内存容量要求。
采用上述物理存储调度方法,进行根磁盘存储调度的过程为:
a)首先根据获取的物理主机列表,选取第一物理主机;
b)获取所选择的物理主机使用的所有物理存储的相关信息,这里的相关信息包括可用容量、存储用途,并根据存储用途分成根磁盘存储和数据盘存储两类;
c)选择根磁盘存储,按可用容量由大到小排序,并将第一个根磁盘存储的可用容量与云主机根磁盘的容量进行比较,若容量不足,则标记当前根磁盘存储所属物理主机为不可用;
d)选择下一物理主机,返回步骤b)重复操作,直至获取可用容量可存储与云主机根磁盘的根磁盘存储,并将存储可用容量减去根磁盘容量,记录该存储标识,至此完成根磁盘存储调度过程。
采用上述物理存储调度方法,进行数据盘存储调度的过程为:
e)首先根据获取的物理主机列表,选取第一物理主机;
f)获取所选择的物理主机使用的所有物理存储的相关信息,这里的相关信息包括可用容量、存储用途,并根据存储用途分成根磁盘存储和数据盘存储两类;
g)选择数据盘存储,按容量由大到小排序,并将第一个数据盘存储的可用容量与云主机数据盘的容量进行比较,若容量不足,则标记当前数据盘存储所属物理主机为不可用;
h)选择下一物理主机,返回步骤f)重复操作,直至获取可用容量可存储与云主机数据盘的数据盘存储,并将存储可用容量减去数据盘容量,记录该存储标识,至此完成数据盘存储调度过程;
i)当待创建云主机需要挂载多块数据盘时,则返回步骤g)继续执行,直至所有云主机数据盘都能分配到一个数据盘存储。
本发明的一种物理存储调度方法及云主机创建方法和现有技术相比,具有以下有益效果:
本发明的一种物理存储调度方法及云主机创建方法,可以将云硬盘按特性(要求IO性能高或仅用于存档)创建在不同类型的物理存储上,更加合理的利用物理资源,防止资源的浪费;使用该物理存储调度方法及云主机创建方法,可以使存储使用量尽可能的均匀分布,在保证性能最优的同时有效提高了存储资源的使用率,实用性强,适用范围广泛,易于推广。
具体实施方式
为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如附图1所示,本发明提供一种物理存储调度方法,用于云主机的创建过程中,其实现步骤包括:
一、首先获取可用物理主机列表,即可用于创建云主机的物理主机列表,且所述物理主机中配置有若干物理存储,物理主机是用于提供计算服务的硬件设备,也被称为服务器;物理存储是用于提供存储服务的硬件设备,可以是一块硬盘,也可以是网络存储;
二、然后根据物理主机列表依次进行物理存储调度,该物理存储调度包括根磁盘存储和数据盘存储调度,所述根磁盘存储是指用于存放云主机操作***的磁盘,每个云主机必须挂载一块根磁盘才可以运行;数据盘存储是指用于存放云主机其他非操作***数据的磁盘,不是必须的;
三、当云主机对应根磁盘和数据盘都找到匹配存储后,结束物理存储调度过程。
所述步骤一中的物理主机列表进行倒序排列,具体过程为:
首先根据云主机的创建要求,将所有符合要求的物理主机选择出来,所述云主机的创建要求包括CPU核数要求、内存容量要求,这里选择的CPU既CPU的核数,例如虚拟机需要4核CPU或8核CPU;内存则是指容量,如需要8G内存还是16G内存;
然后根据云主机的创建要求,确定每个物理主机可创建云主机的数量;
根据可创建云主机的数量,由大到小对物理主机排序,并将排序结果以列表形式展示。
在进行物理存储调度前,需要对每个物理主机中的物理存储进行分类,该分类通过以下过程实现:
首先获取每个物理主机中包括容量信息、存储用途的所有物理存储信息,其中容量信息是指可用的存储容量;存储用途是指用于存放云主机操作***数据、非云主机操作***数据;
然后根据存储用途,将可用于存放云主机操作***数据的物理存储标识为根磁盘存储,将可用于存放非云主机操作***数据的物理存储标识为数据盘存储。
所述步骤二的物理存储调度过程中,首先进行根磁盘存储调度,获取可使用的根磁盘存储并标识,所述可使用的根磁盘存储是指满足存放待创建云主机操作***数据容量需求的存储;然后进行数据盘存储调度,获取可使用的数据盘存储并标识,所述可使用的数据盘存储是指满足存放待创建云主机非操作***数据容量需求的存储。
所述根磁盘存储调度过程为:
首先选择物理主机列表中的第一个物理主机,将该物理主机中的所有根磁盘存储,按可用容量由大到小进行排序,并将第一个根磁盘存储的可用容量与云主机根磁盘的容量进行比较,若容量不足,则标记当前的根磁盘存储所属物理主机为不可用,并处理下一个物理主机;否则,将根磁盘存储可用容量减去云主机根磁盘容量,记录该存储标识。
所述数据盘存储调度的过程为:
首先选择物理主机列表中的第一个物理主机,将该物理主机中的所有数据盘存储,按可用容量由大到小进行排序,并依次将数据盘存储的容量与云主机的数据盘容量进行比较,若容量不足,则标记当前的数据盘存储所属物理主机为不可用,并处理下一个物理主机;否则,将数据盘存储可用容量减去云主机数据盘容量,记录该存储标识。
一种云主机创建方法,其实现步骤包括:
1)首先获取待创建云主机数量,以及每个云主机的需求信息,该需求信息包括所需要的根磁盘容量、要挂载的数据盘数量和容量;
2)通过上述物理存储调度方法,顺序完成获取可用物理主机列表、根磁盘存储调度、数据盘存储调度的过程,完成第一个云主机的创建;
3)重复采用上述物理存储调度方法,直至所有云主机都能找到与之匹配的物理主机和物理存储,从而完成所有云主机的创建过程。
采用上述物理存储调度方法,获取可用物理主机列表的过程为:
在步骤1)中获取的云主机需求信息还包括创建云主机需要的CPU和内存信息,首先根据该信息选择出所有可创建该云主机的物理主机,并根据可创建云主机数量进行由大到小排序,并将排序后的结果以列表形式展现,所述CPU和内存信息是指CPU核数要求、内存容量要求。
采用上述物理存储调度方法,进行根磁盘存储调度的过程为:
a)首先根据获取的物理主机列表,选取第一物理主机;
b)获取所选择的物理主机使用的所有物理存储的相关信息,这里的相关信息包括可用容量、存储用途,并根据存储用途分成根磁盘存储和数据盘存储两类;
c)选择根磁盘存储,按可用容量由大到小排序,并将第一个根磁盘存储的可用容量与云主机根磁盘的容量进行比较,若容量不足,则标记当前根磁盘存储所属物理主机为不可用;
d)选择下一物理主机,返回步骤b)重复操作,直至获取可用容量可存储与云主机根磁盘的根磁盘存储,并将存储可用容量减去根磁盘容量,记录该存储标识,至此完成根磁盘存储调度过程。
采用上述物理存储调度方法,进行数据盘存储调度的过程为:
e)首先根据获取的物理主机列表,选取第一物理主机;
f)获取所选择的物理主机使用的所有物理存储的相关信息,这里的相关信息包括可用容量、存储用途,并根据存储用途分成根磁盘存储和数据盘存储两类;
g)选择数据盘存储,按容量由大到小排序,并将第一个数据盘存储的可用容量与云主机数据盘的容量进行比较,若容量不足,则标记当前数据盘存储所属物理主机为不可用;
h)选择下一物理主机,返回步骤f)重复操作,直至获取可用容量可存储与云主机数据盘的数据盘存储,并将存储可用容量减去数据盘容量,记录该存储标识,至此完成数据盘存储调度过程;
i)当待创建云主机需要挂载多块数据盘时,则返回步骤g)继续执行,直至所有云主机数据盘都能分配到一个数据盘存储。
下面结合附图1对云主机的创建过程进行详细说明:
步骤1、进行资源调度的前置条件。
调度前,需要明确知道要创建的云主机需要的根磁盘容量、云主机要挂载的数据盘数量、容量及数据盘的特性(要求IO性能高或仅用于存档)
步骤2、资源调度流程。
以创建单个云主机的调度流程为例:
11)调度物理主机资源:
首先根据创建云主机需要的CPU和内存,选择所有可以创建该云主机的物理主机,并根据可创建云主机数量进行倒序排序。按排序后的主机列表依次处理,进行物理存储资源的调度(步骤2)。
22)调度物理存储资源:
2.1、获取主机能够使用的所有物理存储的相关信息,包括可用容量,存储特性,存储用途(可创建根磁盘、数据盘)。
2.2、选择用途为“可创建根磁盘”的存储,按容量倒序排序,并将第一个存储的可用容量与云主机根磁盘的容量进行比较,若容量不足,则标记当前存储所属物理主机为不可用,并返回步骤2.1处理下一个物理主机。否则,将存储可用容量减去根磁盘容量,记录该存储标识。
2.3若云主机需要挂载额外数据盘,选择用途为“可创建数据盘”的存储,检查存储与数据盘的特性是否匹配,并记录匹配度(存储和数据盘可同时具有多个特性,相同的特性越多,匹配度越高,存储实际上是由多块硬盘组成的磁盘阵列,根据使用场景的不同,选用的磁盘也会有所不同。例如,在监控或者数据存档的场景下,通常会使用由性能较低但是容量较大的硬盘组成的存储,而在需要经常性反复读写或者数据访问量很大的场景下,通常会选用性能较高的如SSD或SCIS硬盘组成的存储。针对不同类型的存储,我们为其维护了一组标签元数据来标明其特性,例如:由性能较低但是容量较大的硬盘组成的存储我们会为其维护“存档”、“大容量”之类的标签元数据;如果是SSD组成的存储,会为其维护如“高性能”的标签元数据。一个存储可以根据其容量特性、使用场景、性能特性等为其设置多个标签元数据。在申请数据盘的时候,根据数据盘的使用场景会选择数据盘应该创建在具有何种标签的存储上,可以选择多个标签,然后按标签进行匹配,如果有一个标签匹配就得一分,最终选择得分最高的存储来创建数据盘)。
按照匹配度正序、可用容量倒序对存储进行排序,并依次将存储容量与数据盘容量进行比较,选择第一个可以创建数据盘的存储,将可用容量减去数据盘容量,记录该存储标识。若没有存储能够创建该数据盘,则标记当前存储所属物理主机为不可用,并返回步骤2.1处理下一个物理主机。
2.4、若云主机需要挂载多块数据盘,则反复执行步骤2.3,直至所有数据盘都能分配到一个存储。
33)若当前物理主机能够使用的存储满足创建云主机的根磁盘和数据盘,则返回该物理主机标识和步骤22)中记录的存储标识。
44)若要批量创建多个云主机,则可反复执行步骤11)-33),直至所有云主机都能找到与之匹配的物理主机和存储。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。