一种虚拟机磁盘输入输出调度方法及系统技术方案

技术编号:12699697 阅读:65 留言:0更新日期:2016-01-13 19:02
本发明专利技术实施例公开了虚拟机磁盘输入输出调度方法,包括:当监测到虚拟机磁盘的输入输出服务状态为繁忙状态时,获取在当前时刻之前的第一预设时间段内各个LVM使用的带宽;根据在繁忙状态下获取的各个LVM使用的带宽,减少第一LVM使用的带宽,第一LVM为获取的各个LVM使用的带宽中带宽最大对应的LVM;当经过第二预设时间段后监测到虚拟机磁盘的输入输出服务状态为繁忙状态,则重复执行获取在当前时刻之前的第一预设时间段内各个LVM使用的带宽的步骤。采用本发明专利技术,实现了在不同的时间维度上对时间序列进行预测,解决了现有技术中通过设固定值来实现磁盘IO隔离造成磁盘IO的效率降低的技术问题,大大提高了虚拟机的运行速度。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种虚拟机磁盘输入输出调度方法及系统
技术介绍
Linux Container (lxc)容器是一种内核虚拟化技术,目前lxc作为一种轻量级的虚拟化方案,被广泛应用;lxc在CPU和内存方面有较好的隔离性,但磁盘输入输出(或读写)10方面隔离较差。对于部署于同一底层磁盘的多个子机,在一 /多个子机磁盘10密集时,其他子机会因10饥饿而无法正常工作;为了消除这种影响,必须对高10进行限制,以实现10隔离。现有技术可以通过逻辑卷管理(Logical Volume Manager, LVM)技术来实现lxc的?ο隔离,LVM作为lxc的存储设备,底层是一块scsi盘;例如通过1-throttle限速机制,根据具体的每秒读写次数(Input/Output Operat1ns Per Second, 1ps)和位/秒(bps)来限制10。具体地,结合控制组control groups (cgroup)和块输入输出限制(blk1),设置相应cgroup对各个块设备的访问1ps和bps限制后,各个cgroup中的进程读写块设备的带宽不会超过设定值,从而达到限速效果,实现10的隔离。现有技术的1-throttle限速机制是通过设定固定的值去限定每个cgroup产生的10个数和字节数,从根本上限制住高10产生的频率,留出足够的带宽给其他cgroup使用;即,1-throttle需要一个固定的bps或者1ps值,然而,在实际应用过程中,磁盘10是动态变化的,因此,现有技术中设固定值的方法来实现磁盘10隔离将大大降低磁盘10的效率,不利于虚拟机的运行。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种虚拟机磁盘输入输出调度方法及系统,通过监测虚拟机磁盘的输入输出服务状态来动态调整LVM使用的带宽,解决了现有技术中通过设固定值来实现磁盘10隔离造成磁盘10的效率降低的技术问题,大大提高了虚拟机的运行速度。为了解决上述技术问题,本专利技术实施例第一方面公开了一种虚拟机磁盘输入输出调度方法,包括当监测到虚拟机磁盘的输入输出服务状态为繁忙状态时,获取在当前时刻之前的第一预设时间段内各个逻辑卷管理LVM使用的带宽;根据在所述繁忙状态下获取的各个LVM使用的带宽,减少第一 LVM使用的带宽,所述第一 LVM为在所述繁忙状态下获取的各个LVM使用的带宽中带宽最大对应的LVM ;当经过第二预设时间段后监测到虚拟机磁盘的输入输出服务状态为繁忙状态,则重复执行所述获取在当前时刻之前的第一预设时间段内各个LVM使用的带宽的步骤。本专利技术实施例第二方面公开了一种虚拟机磁盘输入输出调度系统,包括:获取模块,用于当监测到虚拟机磁盘的输入输出服务状态为繁忙状态时,获取在当前时刻之前的第一预设时间段内各个逻辑卷管理LVM使用的带宽;带宽减少模块,用于根据在所述繁忙状态下获取的各个LVM使用的带宽,减少第一 LVM使用的带宽,所述第一 LVM为在所述繁忙状态下获取的各个LVM使用的带宽中带宽最大对应的LVM ;触发执行模块,用于当经过第二预设时间段后监测到虚拟机磁盘的输入输出服务状态为繁忙状态,则触发所述获取模块重复执行获取的步骤。实施本专利技术实施例,具有如下有益效果:通过监测虚拟机磁盘的输入输出服务状态来动态调整LVM使用的带宽,实现动态地限制各个cgroup中进程读写块设备的带宽,从而实现了虚拟机磁盘10的隔离,解决了现有技术中通过设固定值来实现磁盘10隔离造成磁盘10的效率降低的技术问题,大大提高了虚拟机的运行速度。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的虚拟机磁盘输入输出调度方法的流程示意图;图2是本专利技术提供的监测虚拟机磁盘的输入输出服务状态方法的流程示意图;图3是本专利技术提供的另一实施例的监测虚拟机磁盘的输入输出服务状态方法的流程示意图;图4是本专利技术提供的获取的LVM使用的带宽的流程示意图;图5是本专利技术提供的另一实施例的虚拟机磁盘输入输出调度方法的流程示意图;图6是本专利技术提供的虚拟机磁盘输入输出调度系统的结构示意图;图7是本专利技术提供的另一实施例的虚拟机磁盘输入输出调度系统的结构示意图;图8是本专利技术提供的监测模块的结构示意图;图9是本专利技术提供的带宽减少模块的结构示意图;图10是本专利技术提供的另一实施例的虚拟机磁盘输入输出调度系统的结构示意图;图11是本专利技术提供的虚拟机磁盘输入输出调度系统的另一实施例的结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,是本专利技术实施例提供的虚拟机磁盘输入输出调度方法的流程示意图,该方法包括:步骤S100:当监测到虚拟机磁盘的输入输出服务状态为繁忙状态时,获取在当前时刻之前的第一预设时间段内各个逻辑卷管理LVM使用的带宽;具体地,步骤S100之前,本专利技术实施例还包括监测虚拟机磁盘的10服务状态的步骤,那么在监测到虚拟机磁盘的10服务状态为繁忙状态时执行步骤S100 ;需要说明的是,本专利技术各个实施例中的第一预设时间段可以根据实际使用情况自定义设置,包括但不限于1秒、1.5秒、2秒、3秒等等;优选地,该第一预设时间段为1秒到2秒之间。步骤S102:根据在所述繁忙状态下获取的各个LVM使用的带宽,减少第一 LVM使用的带宽,所述第一 LVM为在所述繁忙状态下获取的各个LVM使用的带宽中带宽最大对应的 LVM ;具体地,可以通过在虚拟机磁盘的10服务状态为繁忙状态下获取的各个LVM使用的带宽中找出带宽最大对应的LVM,将该找出的最大带宽对应的LVM作为限速对象(即本专利技术实施例中的第一 LVM),减少该第一 LVM使用的带宽;减少的方式可以根据实际使用情况来设定,包括但不限于将该第一 LVM使用的带宽乘以一个系数,以达到减少该第一 LVM使用的带宽,该系数可以为0.7,0.8或0.9等,不作限制。步骤S104:当经过第二预设时间段后监测到虚拟机磁盘的输入输出服务状态为繁忙状态,则重复执行所述获取在当前时刻之前的第一预设时间段内各个LVM使用的带宽的步骤。具体地,随着磁盘10进行,磁盘10将不断地动态改变,在执行完步骤S102后,可能出现以下情况:1、10限速效果不够,磁盘继续繁忙;2、磁盘10不再繁忙;因此,执行完步骤S102后,本专利技术实施例还执行对虚拟机磁盘的输入输出服务状态的监测,详细地,在执行完步骤S102并经过第二预设时间段后仍然监测到虚拟机磁盘的输入输出服务状态为繁忙状态,那么将重复执行上述步骤S100中获取在当前时刻之前的第一预设时间段内各个LVM使用的带宽的步骤,可理解的是,后续将继续往下执行步骤S102。可理解的是,步骤S102每次执行完减少该第一 LVM使用的带宽后,可本文档来自技高网
...

【技术保护点】
一种虚拟机磁盘输入输出调度方法,其特征在于,包括:当监测到虚拟机磁盘的输入输出服务状态为繁忙状态时,获取在当前时刻之前的第一预设时间段内各个逻辑卷管理LVM使用的带宽;根据在所述繁忙状态下获取的各个LVM使用的带宽,减少第一LVM使用的带宽,所述第一LVM为在所述繁忙状态下获取的各个LVM使用的带宽中带宽最大对应的LVM;当经过第二预设时间段后监测到虚拟机磁盘的输入输出服务状态为繁忙状态,则重复执行所述获取在当前时刻之前的第一预设时间段内各个LVM使用的带宽的步骤。

【技术特征摘要】

【专利技术属性】
技术研发人员:祝犇王佳贺永红朱建平
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1