本发明专利技术提供了虚拟化平台下I/O通道的调整方法和调整装置,应用于虚拟化技术领域,I/O通道的调整方法包括:宿主机HOS统计运行在该HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量;该HOST根据当前时刻的平均I/O吞吐量在该多个VM的前端设备和后端设备之间增加或减少用于处理VM的工作线程;该HOST调整该多个VM的前端设备和后端设备中的队列与用于处理VM的工作线程的对应关系。应用本发明专利技术,根据运行在HOST上多个VM的I/O吞吐量动态调整该多个VM的前端设备和后端设备之间的I/O通道所占用的I/O通道资源,在I/O吞吐量下降时,释放空闲的I/O通道资源,避免I/O通道资源浪费;在I/O吞吐量增加时,增加I/O通道资源,提高I/O通道的数据传输能力。
【技术实现步骤摘要】
本专利技术涉及虚拟化
,尤其涉及虚拟化平台下i/o通道的调整方法和调整 装直。
技术介绍
虚拟化是将计算机物理资源如服务器、网络、内存及存储等予以抽象、转换后呈现出来,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制。物理存在的宿主机HOST运行多个虚拟机(Virtual Machine,简称为VM),HOST管理所有的物理硬件设备及资源,将一个独占设备虚拟成多个虚拟设备,供多个用户线程同时使用,每个用户能够看到的设备就是虚拟设备,物理硬件设备对用户透明。虚拟化环境下,VM并不能直接访问硬件设备,HOST为VM提供连通硬件设备的数据通路,即I/O通道。本专利技术中,通道包括VM的前端设备Front Device和VM的后端设备Back Device之间的数据通道、以及VM的后端设备和HOST的本地设备Native Device之间的数据通道;其中,VM的前端设备是虚拟机中看到的设备,实际是HOST为VM模拟的设备;VM的后端设备是HOST操作系统中与VM的前端设备相对接的软件模拟设备;H0ST的本地设备Native Device是HOST的物理设备。图1描述了现有技术中一种虚拟化平台下简单多1/0通道技术,图1中以两个虚拟机VMl和VM2为例,VM的前端设备和后端设备之间有多个1/0通道(图1中以两个1/0通道为例),数据处理模块是VM的前端设备和后端设备之间的桥梁,用于数据拷贝、数据过滤或是其他数据处理业务,包括多个工作线程(图1中以两个工作线程为例),工作线程的个数和VM的前端设备和后端设备之间1/0通道的个数相同,且其中每个1/0通道对应一个工作线程,VM的后端设备与网桥Bridge之间以及网桥Bridge与本地设备Native Device之间是单通道,VM的后端设备通过该单通道实现与本地设备Native Device之间的数据传输。专利技术人发现上述现有技术至少存在如下技术问题:VM的前端设备和后端设备之间的I/o通道个数是在创建VM的时候确定,VM整个生命周期中该1/0通道个数不能改变,因此VM的前端设备和后端设备之间的1/0通道所占用的通道资源也不能改变,当VM的前端设备和后端设备之间的1/0吞吐量发生变化时,无法调整1/0通道资源,在1/0吞吐量下降时,无法释放空闲的1/0通道资源,造成1/0通道资源浪费;在1/0吞吐量增加时,无法增加1/0通道资源,1/0通道数据传输能力无法提高,系统性能下降。
技术实现思路
本专利技术实施例提供虚拟化平台下1/0通道的调整方法和HOST调整装置,以实现动态地调整多个VM的前端设备和后端设备之间1/0通道资源的分配,从而提高系统性能。第一方面,本专利技术提供了一种虚拟化平台下1/0通道的调整方法,包括:宿主机HOST统计运行在所述HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量;在当前时刻的平均I/O吞吐量大于第一阈值时,所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值;或者,在当前时刻的平均I/O吞吐量小于第二阈值时,所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值;其中,所述第一阈值大于所述第二阈值;所述HOST根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,以便于在所述多个VM的前端设备和所述多个VM的后端设备之间形成多个数据传输通道。在第一种可能的实现方式中,结合第一方面,如果当前时刻的平均1/0吞吐量大于第一阈值,所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程的步骤之前,进一步包括:所述HOST将在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程所带来的CPU利用率的增长和所带来的1/0吞吐量的增长进行比较;如果所述1/0吞吐量的增长大于CPU利用率的增长,则执行所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程的步骤。在第二种可能的实现方式中,结合第一方面,如果当前时刻的平均1/0吞吐量小于第二阈值,所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程的步骤之前,进一步包括:所述HOST判断在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少是否导致无法响应所述多个VM的吞吐量;如果在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少不会导致无法响应所述多个VM的吞吐量,则执行所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程的步骤。在第三种可能的实现方式中,结合第一方面或第一方面的第一种或第二种可能的实现方式,所述HOST根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,包括:在增加或减少后的用于处理VM的工作线程的数量小于运行在所述HOST上VM的数量时,所述HOST将所述每个工作线程分别对应每个VM的前端设备中一个队列和每个VM的后端设备中一个队列;或者,在增加或减少后的用于处理VM的工作线程的数量大于或等于运行在所述HOST上VM的数量时,所述HOST将独占工作线程对应一个VM的前端设备和后端设备中一个队列、以及将共享工作线程对应至少两个VM的前端设备和后端设备中没有被所述独占工作线程对应的队列,所述用于处理VM的工作线程包括所述独占工作线程和所述共享工作线程。在第四种可能的实现方式中,结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,所述HOST根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系之后,所述方法还包括:所述HOST调整所述多个VM的后端设备中的队列和所述HOST中本地设备NativeDevice中的队列的对应关系,以便于在所述多个VM的后端设备和所述Native Device之间形成多个数据传输通道。第二方面,本专利技术提供了一种虚拟化平台下I/O通道的调整装置HOST,HOST包括:统计模块,用于统计运行在宿主机HOST上的多个虚拟机VM当前时刻的平均1/0吞吐量;处理模块,与所述统计模块连接,用于在所述统计模块统计的当前时刻的平均I/o吞吐量大于第一阈值时,在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均1/0吞吐量小于第一阈值;或者,用于在所述统计模块统计的当前时刻的平均1/0吞吐量小于第二阈值时,在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均1/本文档来自技高网...
【技术保护点】
一种虚拟化平台下I/O通道的调整方法,其特征在于,包括:宿主机HOST统计运行在所述HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量;在当前时刻的平均I/O吞吐量大于第一阈值时,所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值;或者,在当前时刻的平均I/O吞吐量小于第二阈值时,所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值;其中,所述第一阈值大于所述第二阈值;所述HOST根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,以便于在所述多个VM的前端设备和所述多个VM的后端设备之间形成多个数据传输通道。
【技术特征摘要】
【专利技术属性】
技术研发人员:张洁,金鑫,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。