本发明涉及通信领域,尤其涉及一种资源管理方法及装置。
背景技术:
在计算机科学中,虚拟机是软件的一部分,每个虚拟机作为一个独立的平台运行自己的操作系统和软件应用程序;虚拟机监视器管理计算机资源的分配和虚拟化,虚拟化主机的底层硬件或模拟硬件设备,使虚拟机的使用对客户机操作系统或使用虚拟机的远程客户端是透明的;主机能同时运行多个虚拟机,其中每个虚拟机由本地或远程客户端使用,主机分配一定数量的主机资源给每个虚拟机,每个虚拟机使用分配的资源来执行应用程序。
当虚拟机实时从一台主机迁移到另一台主机(虚拟机实时迁移过程,指的是在虚拟机保持开机运行状态下的实时迁移),且虚拟机的状态变化速率大于状态迁移速率时,会导致实时迁移工作无法实现。
例如:对于虚拟机的内存传输而言,在虚拟机的状态变化速率大于状态迁移速率的情况下,已经传输的内存的特定页面在源主机上的虚拟机上进行了再次修改,需要再次进行传输,因此导致内存的实时迁移工作无法完成。
因此,迫切需要提供一种资源管理方案来解决上述技术问题。
技术实现要素:
本发明提供一种资源管理方法及装置,以解决上述问题。
本发明提供一种资源管理方法,包括以下步骤:获取实时迁移的虚拟机的状态变化速率、状态传输速率;
若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整。
本发明提供一种资源管理装置,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
获取实时迁移的虚拟机的状态变化速率、状态传输速率;
若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整。
本发明实施例提供的技术方案:获取实时迁移的虚拟机的状态变化速率、状态传输速率;若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整。
上述技术方案,通过对所述虚拟机的资源运行参数进行调整,来使得状态变化速率小于所述状态传输速率,从而实现了虚拟机实时快速迁移。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为本发明实施例1的虚拟机迁移架构图;
图2所示为本发明实施例2的资源管理方法流程图;
图3所示为本发明实施例3的资源管理方法流程图;
图4所示为本发明实施例4的资源管理方法流程图;
图5所示为本发明实施例5的资源管理方法流程图;
图6所示为本发明实施例6的资源管理装置结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例的技术特点在于:监视正在进行实时迁移的虚拟机的状态变化速率,确定虚拟机的状态变化速率大于或等于在实时迁移过程期间的虚拟机的状态传输速率后,调整虚拟机的一个或多个资源以将虚拟机的状态变化速率降低到小于虚拟机的状态传输速率。本发明实施例以确保虚拟机的状态变化速率小于虚拟机的状态传输速率的方式来限制虚拟机上的计算资源。例如,如果在实时迁移期间,虚拟机正在生成比传送的页面更多的脏页面,则减少专用于虚拟机的资源量(例如,cpu,存储器,网络等),使得数量转移的页面将比被污染的页面高。
图1所示为本发明实施例1的虚拟机迁移架构图,包括源主机110、目标主机120。在所述源主机110上运行虚拟机1、虚拟机2…虚拟机n;在所述目标主机120上运行虚拟机a、虚拟机b…虚拟机n;其中,每个虚拟机运行的来宾操作系统os包括windows,linux,solaris、macos;每个虚拟机被一个或多个网络的一个或多个客户端访问,其中,所述网络包括私有网络(例如,局域网,广域网,内联网等)、公共网络。
在所述源主机110上,虚拟机1、虚拟机2…虚拟机n通过虚拟机监视器1与主机迁移代理1相连;在所述目标主机120上,虚拟机a、虚拟机b…虚拟机n通过虚拟机监视器2与主机迁移代理2相连;其中,所述虚拟机监视器,用于模拟底层硬件平台;还用于根据主机迁移代理指示来减少虚拟机资源运行参数。
所述源主机110、所述目标主机120分别与主机控制器130相连;当然,在一些虚拟化系统中,主机控制器130可以驻留在指定的主机中或者是所述源主机110、所述目标主机120的一部分。
虚拟机由主机控制器130进行管理。主机控制器130包括迁移控制代理131,其负责通过网络信道132进行虚拟机的迁移。此外,所述源主机110、所述目标主机120包括的主机迁移代理1,主机迁移代理2来协助迁移控制代理131,或直接处理迁移过程。
被迁移虚拟机140从所述源主机110迁移到所述目标主机120,虚拟机140的状态将在两个主机之间进行传送,在传送期间,所述虚拟机140仍在源主机110上运行。
图2所示为本发明实施例2的资源管理方法流程图,包括以下步骤:
步骤201:获取实时迁移的虚拟机的状态变化速率、状态传输速率;
步骤202:若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整。
进一步地,所述资源运行参数包括:cpu处理速率、存储器存储速率、网络传输速率。
进一步地,若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整的过程为:
若所述资源运行参数为所述cpu处理速率,则将所述cpu处理速率除以第一预设常数,计算结果作为调整后的cpu处理速率。
优选地,根据所述调整后的cpu处理速率进行虚拟机迁移时,若所述虚拟机的状态变化速率大于或等于所述状态传输速率,则将所述调整后的cpu处理速率除以所述第一预设常数,计算结果作为再次调整后的cpu处理速率。
进一步地,若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整的过程为:
若所述资源运行参数为所述cpu处理速率,则将所述cpu处理速率乘以状态变化比值,获取第一cpu处理速度;其中,所述状态变化比值=所述虚拟机的状态传输速率与所述虚拟机的状态变化速率的比值。
优选地,根据所述第一cpu处理速度进行虚拟机迁移时,若所述虚拟机的状态变化速率大于或等于所述状态传输速率,则将所述第一cpu处理速度除以第一预设常数,计算结果作为第二cpu处理速率。
图3所示为本发明实施例3的资源管理方法流程图,包括以下步骤:
步骤301:获取实时迁移的虚拟机的状态变化速率、状态传输速率;
步骤302:判断状态变化速率是否大于或等于状态传输速率,若是,则执行步骤303,否则,继续执行步骤301;
步骤303:将所述cpu处理速率除以第一预设常数,计算结果作为调整后的cpu处理速率;
其中,所述第一预设常数可以根据需要进行灵活设定(例如:1、2),在此不用于限定本实施例的保护范围。
步骤304:继续判断状态变化速率是否大于或等于状态传输速率,若是,则执行步骤303;否则,执行步骤305;
步骤305:判断迁移是否完成,若完成,则执行步骤306;否则,执行步骤301;
步骤306:结束。
图4所示为本发明实施例4的资源管理方法流程图,包括以下步骤:
步骤401:获取实时迁移的虚拟机的状态变化速率、状态传输速率;
步骤402:判断状态变化速率是否大于或等于状态传输速率,若是,则执行步骤403,否则,继续执行步骤401;
步骤403:将所述cpu处理速率乘以状态变化比值,获取第一cpu处理速度;
其中,所述状态变化比值=所述虚拟机的状态传输速率与所述虚拟机的状态变化速率的比值。
例如,cpu处理速率通过将当前cpu处理速率乘以传送的内存页面数与被污染的内存页面数的比例来调整。
步骤404:判断状态变化速率是否大于或等于状态传输速率,若是,则执行步骤405;否则,执行步骤407;
步骤405:将所述第一cpu处理速度除以第一预设常数,计算结果作为第二cpu处理速率;
步骤406:判断状态变化速率是否大于或等于状态传输速率,若是,执行步骤403,否则,执行步骤407;
步骤407:判断迁移是否完成,若完成,则执行步骤408;否则,执行步骤401;
步骤408:结束。
图5所示为本发明实施例5的资源管理方法流程图,包括以下步骤:
步骤501:获取实时迁移的虚拟机的状态变化速率、状态传输速率;
步骤502:判断状态变化速率是否大于或等于状态传输速率,若是,则执行步骤503,否则,继续执行步骤501;
步骤503:将所述cpu处理速率乘以状态变化比值,获取第一cpu处理速度;
其中,所述状态变化比值=所述虚拟机的状态传输速率与所述虚拟机的状态变化速率的比值。
例如,cpu处理速率通过将当前cpu处理速率乘以传送的内存页面数与被污染的内存页面数的比例来调整。
步骤504:将所述第一cpu处理速度除以第一预设常数,计算结果作为第二cpu处理速率;
步骤505:判断状态变化速率是否大于或等于状态传输速率,若是,执行步骤503,否则,执行步骤506;
步骤506:判断迁移是否完成,若完成,则执行步骤507;否则,执行步骤501;
步骤507:结束。
图6所示为本发明实施例6的资源管理装置结构图,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
获取实时迁移的虚拟机的状态变化速率、状态传输速率;
若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整。
进一步地,所述资源运行参数包括:cpu处理速率、存储器存储速率、网络传输速率。
进一步地,若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整的过程为:
若所述资源运行参数为所述cpu处理速率,则将所述cpu处理速率除以第一预设常数,计算结果作为调整后的cpu处理速率。
优选地,根据所述调整后的cpu处理速率进行虚拟机迁移时,若所述虚拟机的状态变化速率大于或等于所述状态传输速率,则将所述调整后的cpu处理速率除以所述第一预设常数,计算结果作为再次调整后的cpu处理速率。
本发明实施例提供的技术方案:获取实时迁移的虚拟机的状态变化速率、状态传输速率;若所述状态变化速率大于或等于所述状态传输速率,则对所述虚拟机的资源运行参数进行调整。
上述技术方案,通过对所述虚拟机的资源运行参数进行调整,来使得状态变化速率小于所述状态传输速率,从而实现了虚拟机实时快速迁移。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。