虚拟机系统及其控制方法以及电子设备与流程

专利2022-06-29  72


本发明涉及计算机技术领域,尤其涉及一种虚拟机系统及其控制方法以及电子设备。



背景技术:

在计算机技术领域,当两个存储介质的速度相差较大、且需要进行数据传输时,通常会在这两个存储介质之间设置缓存(cache),用于存储刚用过或循环使用的部分数据,以协调两者之间的数据传输速度的差异。如果cache的命中率较高,则能够较大地提高存储介质的读写性能。

在虚拟化场景中,一般通过模拟控制器(例如,用于模拟处理器的qemu)来实现资源的虚拟化。而在现有技术中,qemu采用物理机的内核cache作为磁盘缓存。

发明人在实现本发明的过程中,发现现有技术至少存在如下问题:由于内核模块的复杂性,使得磁盘缓存难以维护、难以更新。



技术实现要素:

本发明实施例提供一种虚拟机系统及其控制方法以及电子设备,以解决现有技术中,采用物理机的内核缓存作为磁盘缓存,使得磁盘缓存难以维护、难以更新的缺陷。

为达到上述目的,本发明实施例提供了一种虚拟机系统,包括:虚拟化模拟器以及由所述虚拟化模拟器创建的至少一台虚拟机,所述虚拟化模拟器包括:独立于内核缓存的缓存设备,所述缓存设备用于向所述虚拟机的磁盘提供缓存支持。

本发明实施例还提供了一种虚拟机系统的控制方法,所述虚拟机系统包括至少一台虚拟机和独立于内核缓存的缓存设备,所述缓存设备由固定缓存单元和可动态调度缓存单元组成,所述方法包括:

向所述虚拟机分配所述固定缓存单元;

获取所述虚拟机中的磁盘信息;

根据所述磁盘信息,对所述可动态调度缓存单元实施动态调度操作。

本发明实施例还提供了一种电子设备,包括:

存储器,用于存储程序;

处理器,用于运行所述存储器中存储的所述程序,以用于:

向虚拟机系统中的虚拟机分配固定缓存单元;

获取所述虚拟机中的磁盘信息;

根据所述磁盘信息,对可动态调度缓存单元实施动态调度操作,所述固定缓存单元和所述可动态调度缓存单元组成独立于内核缓存的缓存设备。

本发明实施例提供的虚拟机系统及其控制方法以及电子设备,通过采用独立于内核缓存的缓存设备作为虚拟机的磁盘缓存,将缓存由内核态转化为用户态,使得磁盘缓存易于维护和更新,且缩短了io路径,提高了硬盘的读写性能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明提供的虚拟机系统一个实施例的系统框图;

图2为本发明提供的虚拟机系统另一个实施例的系统框图;

图3为本发明提供的虚拟机系统的控制方法一个实施例的流程图;

图4为本发明提供的虚拟机系统的控制方法另一个实施例的流程图;

图5为本发明提供的电子设备实施例的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

在现有的虚拟化场景中,一般通过虚拟化模拟器(例如,用于模拟处理器的qemu)来实现资源的虚拟化。而在现有技术中,qemu采用物理机的内核缓存(cache)作为磁盘缓存。由于内核模块的复杂性,使得磁盘内存难以维护、难以更新。因此,针对现有技术的缺陷,本申请提出了一种虚拟机系统的方案,其主要原理是:采用独立于内核缓存的缓存设备作为虚拟机的磁盘缓存,将缓存由内核态转化为用户态,使得磁盘缓存易于维护和更新,且缩短了io路径,能够提高硬盘的读写性能。同时,在现有技术中,由于缓存数据通过物理机内核向后端存储介质传输,无法区分后端存储是虚拟化的磁盘还是本地进程的物理磁盘,因此无法针对虚拟磁盘进行优化。而本申请提出的虚拟机系统,由于采用独立于内核缓存的缓存设备作为虚拟机的磁盘缓存,因此,能够针对虚拟化的磁盘缓存进行优化,通过统计磁盘相关数据来预测用户行为,动态调整缓存区域大小,极大地提升了缓存设备利用率,使得用户获得更高的性能提升。

上述实施例是对本发明实施例的技术原理的说明,下面通过多个实施例来进一步对本发明实施例具体技术方案进行详细描述。

实施例一

图1为本发明提供的虚拟机系统一个实施例的系统框图,图1所示的结构仅仅是本发明的技术方案可以应用的业务系统的示例之一。如图1所示,该虚拟机系统包括:虚拟化模拟器11和至少一台虚拟机12。

其中,至少一台虚拟机(图中只示出一台)12由虚拟化模拟器11创建而成,虚拟化模拟器11包括:独立于内核缓存的缓存设备111,该缓存设备111用于向虚拟机12的磁盘121提供缓存支持。

本发明实施例提供的虚拟机系统可以用来执行下述图3和图4所示的处理流程。该虚拟机系统可应用于虚拟化场景下的数据缓存。在该虚拟机系统中,将缓存设备111设置于虚拟化模拟器(例如,qemu)11上,避免采用内核缓存作为虚拟机12中硬盘121的缓存,从而能够避免了使用内核模块带来的缺陷。

本发明实施例提供的虚拟机系统,通过采用独立于内核缓存的缓存设备作为虚拟机的磁盘缓存,将缓存由内核态转化为用户态,使得磁盘缓存易于维护和更新,且缩短了io路径,提高了硬盘的读写性能。

实施例二

图2为本发明提供的虚拟机系统另一个实施例的系统框图。如图2所示,在本发明实施例提供的虚拟机系统中,缓存设备111由固定缓存单元111a和可动态调度缓存单元111b组成,其中,固定缓存单元111a被固定分配给虚拟机12。

另外,虚拟化模拟器11还可以包括:总调度器112。该总调度器112可以用于根据虚拟机12中的磁盘信息,对可动态调度缓存单元111b实施动态调度操作。

在本发明实施例中,总调度器112负责缓存设备111的控制。在初始化的过程中,可以将缓存设备111分为两种类型。一种是基本份额的固定缓存单元111a,一种是可动态调度份额的可动态调度缓存单元111b。用户可以根据自己选择的比例划分两种类型存储介质的大小。其中每种份额的缓存单元的大小可以相同。在虚拟机12创建磁盘121的时候,可以根据需求,给每个磁盘121分配数个基本份额的固定缓存单元111a,个数越大,其最后能够得到的性能加速越大。

另外,在本发明提供的虚拟机系统中,虚拟机12可以包括:信息采集模块122和调度模块123。

其中,信息采集模块122可以用于采集各磁盘121的磁盘信息,其中;调度模块123可以用于根据信息采集模块122采集到的磁盘信息,按照预设的缓存策略,计算每个磁盘121的负载权重。

在本发明实施例中,磁盘信息可以包括:读iops信息(riops)、写iops信息(wiops)、读带宽信息(rbw)和写带宽信息(wbw)。

例如,可以采用下述公式(1)来计算各磁盘121的负载权重(w):

w=riops*a1 wiops*a2 rbw*a3 wbw*a4…………………(1)

其中,a1、a2、a3、a4为各信息的占比,且需满足a1 a2 a3 a4=1。在本发明实施例中,可以根据不同的缓存策略设置不同的占比值,例如,若缓存策略为直写策略(writethrough;简称:wt),则riops占比a1可以设置的较大;而对于写回策略(writeback;简称:wb),则为了增加写性能,可以增大a2值。通常情况下,a1、a2的值大于a3、a4的值。用户也可以根据实际情况配置不同的a1、a2、a3、a4值。

在本发明实施例中,总调度器112可具体用于,当存在第一类磁盘(即,负载权重高于第一预设权重阈值的磁盘)时,向虚拟机12分配可动态调度缓存单元111b,针对第一类磁盘中的每个磁盘,分配量为该磁盘的负载权重相对于第一预设权重阈值的增加率与初始份额之积。即,可以根据下述公式(2)计算每个磁盘的分配量(a):

a=((w-w1)/w)*a………………………………………………..(2)

其中,w为该磁盘的负载权重,w1为第一预设权重阈值,a为向该磁盘初始分配的缓存份额。

此时,虚拟机12中的调度模块123还可以用于,按照第一类磁盘中的每个磁盘的负载权重,将总调度器112向虚拟机12分配的可动态调度缓存单元111b,分配至第一类磁盘中的每个磁盘。调度模块123则可以更新缓存元数据等等,扩大缓存磁盘的可用空间,再按照相应的缓存策略使用这块新增空间。

另外,总调度器112还可以用于,当存在第二类磁盘(即,负载权重低于第二预设权重阈值的磁盘)时,向虚拟机12发送移除已分配的可动态调度缓存单元111b的指示,针对第二类磁盘中的每个磁盘,移除量为该磁盘的负载权重相对于第二预设权重阈值的降低率与初始份额之积。即,可以根据下述公式(3)计算每个磁盘的移除量(b):

b=((w2-w)/w)*a………………………………………………..(3)

其中,w为该磁盘的负载权重,w2为第二预设权重阈值,a为向该磁盘初始分配的缓存份额。

此时,虚拟机12中的调度模块123还可以用于,根据总调度器112的移除指示,移除已向第二类磁盘中的每个磁盘分配的可动态调度缓存单元111b。

进一步地,在本发明实施例中,调度模块123可以按照第一预设时间间隔t1,计算每个磁盘121的负载权重,并发送至总调度器112;而总调度器112可以按照第二预设时间间隔t2,对可动态调度缓存单元111b实施动态调度操作;较佳地,第二预设时间间隔t2应大于第一预设时间间隔t1,以实现对可动态调度缓存单元111b的动态调度。

另外,在本发明实施例提供的虚拟机系统中,总调度器112还可以用于,在当前可用的可动态调度缓存单元111b的数量(份额)低于虚拟机12的缓存需求量的情况下,向虚拟机12发送移除已分配的可动态调度缓存单元111b的指示,以使当前可用的可动态调度缓存单元111b的数量不低于虚拟机12的缓存需求量;而调度模块123则可以用于,根据总调度器112的移除指示,按照每个磁盘121的负载权重由低到高的顺序,依次移除已向该磁盘121分配的可动态调度缓存单元111b。

在本发明实施例中,调度模块123接收到移除指令后,根据缓存策略完成相应的磁盘空间的信息保存,然后更新元信息,不再使用这块空间。当移除可动态调度缓存单元111b的操作完成后,再按照可动态调度缓存单元111b充足的情况下进行分配。

在当前可用的可动态调度缓存单元111b的数量低于虚拟机12的缓存需求量的情况下,向虚拟机12分配的可动态调度缓存单元111b的总分配量为当前可用的可动态调度缓存单元111b的数量。也就是说,若移除后,当前可用的可动态调度缓存单元111b的数量(份额)低于虚拟机12的缓存需求量,则按照比例分配可调度份额。针对第一类磁盘(即,负载权重高于第一预设权重阈值的磁盘)中的n个磁盘,每个磁盘的所需的分配量分别为:wa1、wa2、…、wan;则第j个磁盘可获得的分配量为(waj/(wa1 wa2 … wan))*tatol,其中,total为当前可用的可动态调度存储单元111b的数量。

本发明实施例提供的虚拟机系统,通过采用独立于内核缓存的缓存设备作为虚拟机的磁盘缓存,将缓存由内核态转化为用户态,使得磁盘缓存易于维护和更新,且缩短了io路径,提高了硬盘的读写性能;同时,能够针对虚拟化的磁盘缓存进行优化,通过统计磁盘相关数据来预测用户行为,动态调整缓存区域大小,极大地提升了缓存设备利用率,使得用户获得更高的性能提升。

实施例三

图3为本发明提供的虚拟机系统的控制方法一个实施例的流程图,该方法的执行主体可以为上述虚拟机系统。该虚拟机系统包括至少一台虚拟机和独立于内核缓存的缓存设备,该缓存设备由固定缓存单元和可动态调度缓存单元组成。如图3所示,该虚拟机系统的控制方法包括如下步骤:

s301,向虚拟机分配固定缓存单元。

在本发明实施例中,在初始化的过程中,可以将缓存设备分为两种类型。一种是基本份额的固定缓存单元,一种是可动态调度份额的可动态调度缓存单元。用户可以根据自己选择的比例划分两种类型存储介质的大小。其中每种份额的缓存单元的大小可以相同。在虚拟机创建磁盘的时候,可以根据需求,给每个磁盘分配数个基本份额的固定缓存单元,个数越大,其最后能够得到的性能加速越大。

s302,获取虚拟机中的磁盘信息。

s303,根据该磁盘信息,对可动态调度缓存单元实施动态调度操作。

在本发明实施例中,可以根据虚拟机中各磁盘的实时性能数据,来动态调度缓存资源,能够提升部分负载大的虚拟机磁盘性能,增加整机的吞吐,从而提高设备利用率。

本发明实施例提供的虚拟机系统的控制方法,通过采用独立于内核缓存的缓存设备作为虚拟机的磁盘缓存,将缓存由内核态转化为用户态,使得磁盘缓存易于维护和更新,且缩短了io路径,提高了硬盘的读写性能;同时,能够针对虚拟化的磁盘缓存进行优化,通过统计磁盘相关数据来预测用户行为,动态调整缓存区域大小,极大地提升了缓存设备利用率,使得用户获得更高的性能提升。

实施例四

图4为本发明提供的虚拟机系统的控制方法另一个实施例的流程图。如图4所示,在上述图3所示实施例的基础上,本实施例提供的虚拟机系统的控制方法还可以包括以下步骤:

s401,向虚拟机分配固定缓存单元。

s402,获取虚拟机中的磁盘信息。

在本发明实施例中,步骤s401及s402与上述图3所示实施例中的步骤s301及s302相同,在此不再赘述。

另外,在本发明实施例中,可以按照第一预设时间间隔t1,获取虚拟机中的磁盘信息,并根据磁盘信息,按照第二预设时间间隔t2,对可动态调度缓存单元实施动态调度操作,较佳地,第二预设时间间隔t2应大于第一预设时间间隔t1,以实现对可动态调度缓存单元的动态调度。具体的调度过程如下述步骤所示:

s403,根据磁盘信息,计算每个磁盘的负载权重。

在本发明实施例中,磁盘信息可以包括:读iops信息(riops)、写iops信息(wiops)、读带宽信息(rbw)和写带宽信息(wbw)。

例如,可以采用下述公式(1)来计算各磁盘121的负载权重(w):

w=riops*a1 wiops*a2 rbw*a3 wbw*a4…………………(1)

其中,a1、a2、a3、a4为各信息的占比,且需满足a1 a2 a3 a4=1。在本发明实施例中,可以根据不同的缓存策略设置不同的占比值,例如,若缓存策略为直写策略(writethrough;简称:wt),则riops占比a1可以设置的较大;而对于写回策略(writeback;简称:wb),则为了增加写性能,可以增大a2值。通常情况下,a1、a2的值大于a3、a4的值。用户也可以根据实际情况配置不同的a1、a2、a3、a4值。

s404,当存在第一类磁盘时,按照第一类磁盘中的每个磁盘的负载权重,向每个磁盘分配可动态调度缓存单元。

在本发明实施例中,针对第一类磁盘(即,负载权重高于第一预设权重阈值的磁盘)中的每个磁盘,分配量为该磁盘的负载权重相对于第一预设权重阈值的增加率与初始份额之积。即,可以根据下述公式(2)计算每个磁盘的分配量(a):

a=((w-w1)/w)*a………………………………………………..(2)

其中,w为该磁盘的负载权重,w1为第一预设权重阈值,a为向该磁盘初始分配的缓存份额。

s405,当存在第二类磁盘时,移除已向第二类磁盘中的每个磁盘分配的可动态调度缓存单元。

在本发明实施例中,针对第二类磁盘(即,负载权重低于第二预设权重阈值的磁盘)中的每个磁盘,移除量为该磁盘的负载权重相对于第二预设权重阈值的降低率与初始份额之积。即,可以根据下述公式(3)计算每个磁盘的移除量(b):

b=((w2-w)/w)*a………………………………………………..(3)

其中,w为该磁盘的负载权重,w2为第二预设权重阈值,a为向该磁盘初始分配的缓存份额。

s406,当当前可用的可动态调度缓存单元的数量低于虚拟机的缓存需求量时,按照每个磁盘的负载权重由低到高的顺序,依次移除已向该磁盘分配的可动态调度缓存单元,以使当前可用的可动态调度缓存单元的数量不低于虚拟机的缓存需求量。

在本发明实施例中,当接收到移除指令后,可以根据缓存策略完成相应的磁盘空间的信息保存,然后更新元信息,不再使用这块空间。当移除可动态调度缓存单元的操作完成后,再按照可动态调度缓存单元充足的情况下进行分配。

当当前可用的可动态调度缓存单元的数量低于虚拟机的缓存需求量时,向虚拟机分配的可动态调度缓存单元的总分配量为当前可用的可动态调度缓存单元的数量。也就是说,若移除后,当前可用的可动态调度缓存单元111b的数量(份额)低于虚拟机12的缓存需求量,则按照比例分配可调度份额。针对第一类磁盘(即,负载权重高于第一预设权重阈值的磁盘)中的n个磁盘,每个磁盘的所需的分配量分别为:wa1、wa2、…、wan;则第j个磁盘可获得的分配量为(waj/(wa1 wa2 … wan))*tatol,其中,total为当前可用的可动态调度存储单元111b的数量。

本发明实施例提供的虚拟机系统的控制方法,通过采用独立于内核缓存的缓存设备作为虚拟机的磁盘缓存,将缓存由内核态转化为用户态,使得磁盘缓存易于维护和更新,且缩短了io路径,提高了硬盘的读写性能;同时,能够针对虚拟化的磁盘缓存进行优化,通过统计磁盘相关数据来预测用户行为,动态调整缓存区域大小,极大地提升了缓存设备利用率,使得用户获得更高的性能提升。

实施例五

以上描述了虚拟机系统的内部功能和结构,该系统可实现为一种电子设备。图5为本发明提供的电子设备实施例的结构示意图。如图5所示,该电子设备包括存储器51和处理器52。

存储器51,用于存储程序。除上述程序之外,存储器51还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器52,与存储器51耦合,执行存储器51所存储的程序,以用于:

向虚拟机系统中的虚拟机分配固定缓存单元;

获取虚拟机中的磁盘信息;

根据该磁盘信息,对可动态调度缓存单元实施动态调度操作,其中,固定缓存单元和可动态调度缓存单元组成独立于内核缓存的缓存设备。

进一步,如图5所示,电子设备还可以包括:通信组件53、电源组件54、音频组件55、显示器56等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。

通信组件53被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件53经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件53还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件54,为电子设备的各种组件提供电力。电源组件54可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件55被配置为输出和/或输入音频信号。例如,音频组件55包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器51或经由通信组件53发送。在一些实施例中,音频组件55还包括一个扬声器,用于输出音频信号。

显示器56包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。


技术特征:

1.一种虚拟机系统,包括:虚拟化模拟器以及由所述虚拟化模拟器创建的至少一台虚拟机,其特征在于,所述虚拟化模拟器包括:独立于内核缓存的缓存设备,所述缓存设备用于向所述虚拟机的磁盘提供缓存支持。

2.根据权利要求1所述的虚拟机系统,其特征在于,所述缓存设备由固定缓存单元和可动态调度缓存单元组成,所述固定缓存单元被固定分配给所述虚拟机,

所述虚拟化模拟器还包括:

总调度器,用于根据所述虚拟机中的磁盘信息,对所述可动态调度缓存单元实施动态调度操作。

3.根据权利要求2所述的虚拟机系统,其特征在于,

所述虚拟机包括:

信息采集模块,用于采集各磁盘的磁盘信息,所述磁盘信息包括:读iops信息、写iops信息、读带宽信息和写带宽信息;

调度模块,用于根据所述信息采集模块采集到的所述磁盘信息,按照预设的缓存策略,计算每个所述磁盘的负载权重;

所述总调度器具体用于,当存在第一类磁盘时,向所述虚拟机分配所述可动态调度缓存单元,针对所述第一类磁盘中的每个磁盘,分配量为所述磁盘的负载权重相对于第一预设权重阈值的增加率与初始份额之积,所述第一类磁盘为负载权重高于第一预设权重阈值的磁盘,所述初始份额为向所述磁盘初始分配的缓存份额;

所述调度模块还用于,按照所述第一类磁盘中的每个磁盘的负载权重,将所述总调度器向所述虚拟机分配的所述可动态调度缓存单元,分配至所述第一类磁盘中的每个磁盘。

4.根据权利要求3所述的虚拟机系统,其特征在于,

所述总调度器还用于,当存在第二类磁盘时,向所述虚拟机发送移除已分配的所述可动态调度缓存单元的指示,针对所述第二类磁盘中的每个磁盘,移除量为所述磁盘的负载权重相对于第二预设权重阈值的降低率与所述初始份额之积,所述第二类磁盘为负载权重低于第二预设权重阈值的磁盘;

所述调度模块还用于,根据所述总调度器的移除指示,移除已向所述第二类磁盘中的每个磁盘分配的所述可动态调度缓存单元。

5.根据权利要求3或4所述的虚拟机系统,其特征在于,

所述调度模块按照第一预设时间间隔,计算每个所述磁盘的负载权重,并发送至所述总调度器;

所述总调度器按照第二预设时间间隔,对所述可动态调度缓存单元实施动态调度操作;

所述第二预设时间间隔大于所述第一预设时间间隔。

6.根据权利要求3所述的虚拟机系统,其特征在于,

所述总调度器还用于,在当前可用的所述可动态调度缓存单元的数量低于所述虚拟机的缓存需求量的情况下,向所述虚拟机发送移除已分配的所述可动态调度缓存单元的指示,以使当前可用的所述可动态调度缓存单元的数量不低于所述虚拟机的缓存需求量;

所述调度模块还用于,根据所述总调度器的移除指示,按照每个所述磁盘的负载权重由低到高的顺序,依次移除已向所述磁盘分配的所述可动态调度缓存单元。

7.根据权利要求6所述的虚拟机系统,其特征在于,在当前可用的所述可动态调度缓存单元的数量低于所述虚拟机的缓存需求量的情况下,向所述虚拟机分配的所述可动态调度缓存单元的总分配量为当前可用的所述可动态调度缓存单元的数量。

8.一种虚拟机系统的控制方法,其特征在于,所述虚拟机系统包括至少一台虚拟机和独立于内核缓存的缓存设备,所述缓存设备由固定缓存单元和可动态调度缓存单元组成,所述方法包括:

向所述虚拟机分配所述固定缓存单元;

获取所述虚拟机中的磁盘信息;

根据所述磁盘信息,对所述可动态调度缓存单元实施动态调度操作。

9.根据权利要求8所述的虚拟机系统的控制方法,其特征在于,所述根据所述磁盘信息,对所述可动态调度缓存单元实施动态调度操作,包括:

根据所述磁盘信息,计算每个所述磁盘的负载权重,所述磁盘信息包括:读iops信息、写iops信息、读带宽信息和写带宽信息;

当存在第一类磁盘时,按照所述第一类磁盘中的每个磁盘的负载权重,向每个所述磁盘分配所述可动态调度缓存单元,针对所述第一类磁盘中的每个磁盘,分配量为所述磁盘的负载权重相对于第一预设权重阈值的增加率与初始份额之积,所述第一类磁盘为负载权重高于第一预设权重阈值的磁盘;

当存在第二类磁盘时,移除已向所述第二类磁盘中的每个磁盘分配的所述可动态调度缓存单元,针对所述第二类磁盘中的每个磁盘,移除量为所述磁盘的负载权重相对于第二预设权重阈值的降低率与所述初始份额之积,所述第二类磁盘为负载权重低于第二预设权重阈值的磁盘。

10.根据权利要求8或9所述的虚拟机系统的控制方法,其特征在于,

所述获取所述虚拟机中的磁盘信息,包括:

按照第一预设时间间隔,获取所述虚拟机中的磁盘信息;

所述根据所述磁盘信息,对所述可动态调度缓存单元实施动态调度操作,包括:

根据所述磁盘信息,按照第二预设时间间隔,对所述可动态调度缓存单元实施动态调度操作,所述第二预设时间间隔大于所述第一预设时间间隔。

11.根据权利要求8或9所述的虚拟机系统的控制方法,其特征在于,还包括:

当当前可用的所述可动态调度缓存单元的数量低于所述虚拟机的缓存需求量时,按照每个所述磁盘的负载权重由低到高的顺序,依次移除已向所述磁盘分配的所述可动态调度缓存单元,以使当前可用的所述可动态调度缓存单元的数量不低于所述虚拟机的缓存需求量。

12.根据权利要求11所述的虚拟机系统的控制方法,其特征在于,当当前可用的所述可动态调度缓存单元的数量低于所述虚拟机的缓存需求量时,向所述虚拟机分配的所述可动态调度缓存单元的总分配量为当前可用的所述可动态调度缓存单元的数量。

13.一种电子设备,其特征在于,包括:

存储器,用于存储程序;

处理器,用于运行所述存储器中存储的所述程序,以用于:

向虚拟机系统中的虚拟机分配固定缓存单元;

获取所述虚拟机中的磁盘信息;

根据所述磁盘信息,对可动态调度缓存单元实施动态调度操作,所述固定缓存单元和所述可动态调度缓存单元组成独立于内核缓存的缓存设备。

技术总结
本发明实施例提供了一种虚拟机系统及其控制方法以及电子设备。该系统包括:虚拟化模拟器以及由所述虚拟化模拟器创建的至少一台虚拟机,所述虚拟化模拟器包括:独立于内核缓存的缓存设备,所述缓存设备用于向所述虚拟机的磁盘提供缓存支持。本发明实施例通过采用独立于内核缓存的缓存设备作为虚拟机的磁盘缓存,将缓存由内核态转化为用户态,使得磁盘缓存易于维护和更新,且缩短了IO路径,提高了硬盘的读写性能。

技术研发人员:李宇
受保护的技术使用者:阿里巴巴集团控股有限公司
技术研发日:2018.11.30
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-28378.html

最新回复(0)