一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法技术

技术编号:26689511 阅读:14 留言:0更新日期:2020-12-12 02:38
本发明专利技术公开一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法包括:在虚拟机配置第一程序,所述第一程序获取虚拟磁盘的第一初始容量,所述第一程序监测虚拟机磁盘驱动程序的IO并获取IO信息;根据所述IO信息与所述第一初始容量获取并更新第一目标容量;所述第一程序根据第一校验条件对所述第一目标容量校验。在宿主机配置第二程序,所述第二程序监测虚拟机并获取虚拟机的虚拟磁盘的第二初始容量;所述第二程序监测所述虚拟机发向宿主机的IO流并获取IO流信息,根据所述IO流信息与所述第二初始容量获取并更新第二目标容量;所述第二程序根据第二校验条件对所述第二目标容量校验。本发明专利技术通过检测IO实现对虚拟磁盘大小的低延迟测量。

【技术实现步骤摘要】
一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法
本专利技术涉及服务器虚拟机磁盘监控领域,尤其涉及一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法。
技术介绍
伴随着Iaas层基础设施软件的普及,以虚拟机为主要应用对象的云数据中心的部署规模越来越大,而云数据中心中运行的虚拟机的虚拟磁盘占用的空间约为存储已用空间的90%,也就是说,绝大部分的存储空间用于存放虚拟磁盘数据。因此及时精准的掌握存储空间的使用情况,对云数据中心的虚拟机正常运行有重要意义。现有技术中,大部分云数据中心使用的存储监测系统,大都依赖存储设备或外部的文件系统自身,存在秒级甚至更长时间的延迟,这对于高输入输出,频繁读写的高负载数据中心而言,极有可能因存储容量监测不及时,无法及时根据存储容量控制虚拟机的业务运行,而虚拟机在缺乏干预的情况下继续正常工作产生的大量的数据存储会导致存储瞬间写满,继而导致虚拟机无法正常的运行,产生业务系统宕机的问题。
技术实现思路
本专利技术提供服务器虚拟化平台中实时监测虚拟磁盘大小的方法,旨在解决现有技术中云数据中心的存储监测系统对于存储容量监测时效性差,延迟高,对于高通量读写频繁的云数据中心,可能无法及时根据存储容量控制虚拟机的业务运行,而虚拟机在缺乏干预的情况下继续正常工作产生的大量的数据存储会导致存储瞬间写满,继而导致虚拟机无法正常的运行,产生业务系统宕机的问题。为实现上述目的,本专利技术提供一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法,包括:在代理模式下:在虚拟机配置第一程序,所述第一程序获取虚拟磁盘的第一初始容量,所述第一程序监测虚拟机磁盘驱动程序的IO并获取IO信息;根据所述IO信息与所述第一初始容量获取第一目标容量,根据后续的所述IO信息实更新所述第一目标容量;所述第一程序根据第一校验条件对所述第一目标容量校验;所述第一程序通过虚拟网桥将所述第一目标容量传输至宿主机,所述宿主机将所述第一目标容量传输至控制端;在非代理模式下:在宿主机配置第二程序,所述第二程序监测虚拟机并获取虚拟机的虚拟磁盘的第二初始容量;所述第二程序监测所述虚拟机发向宿主机的IO流并获取IO流信息,根据所述IO流信息与所述第二初始容量获取第二目标容量,根据所述IO流信息更新所述第二目标容量;所述第二程序根据第二校验条件对所述第二目标容量校验;所述宿主机将所述第二目标容量传输值控制端。优选地,获取所述虚拟磁盘的第一初始容量包括:所述第一程序首次或者重新启动,所述第一程序读取虚拟机虚拟磁盘对应的磁盘设备的当前已用容量,并将所述当前已用容量作为虚拟磁盘的第一初始容量。优选地,所述第一程序解析虚拟机IO构成并获取每个IO的操作类型和所处理数据的数据容量值;所述第二程序解析虚拟机发向宿主机的IO流中IO的构成并获取每个IO的操作类型和所处理数据的数据容量值。优选地,如果所述操作类型为向虚拟磁盘添加数据的操作,则第一程序将所述数据容量值加到所述第一初始容量获取所述第一目标容量、或者加到IO发生前的所述第一目标容量来获取所述第一目标容量的更新;如果所述操作类型为向虚拟磁盘添加数据的操作,则第二程序将所述数据容量值加到所述第二初始容量获取所述第二目标容量、或者加到IO流发生前的所述第二目标容量来获取所述第二目标容量的更新,如果所述操作类型为在虚拟磁盘删除数据的操作,则第一程序将所述第一初始容量减去所述数据容量值获取所述第一目标容量、或者所述第一目标容量减去所述数据容量值获取所述第一目标容量的更新;如果所述操作类型为在虚拟磁盘删除数据的操作,则第二程序将所述第二初始容量减去所述数据容量值获取所述第二目标容量、或者将所述第二目标容量减去所述数据容量值获取所述第二目标容量的更新。优选地,所述第一校验条件为:所述第一程序从所述虚拟机获取高IOPS信息,所述第一程序接收到高IOPS信息后统计设定期间内IO发生数量,并将IO发生数量与第一阈值比较,如果IO发生数量低于所述第一阈值则所述第一程序对所述第一目标容量校验;所述第一程序读取当前虚拟磁盘被占用容量,并以所述当前虚拟磁盘被占用容量替换当前的第一目标容量。优选地,所述第二程序配置为所述宿主机的系统守护进程,所述第二程序轮询的检测宿主机上的虚拟机进程,如果检测到新的虚拟机进程,则获取虚拟机进程并查询运行所述虚拟机进程的虚拟机的信息,所述信息包含虚拟机唯一标识和虚拟磁盘容量,同时将所述信息保存到所述宿主机信息记录。优选地,在保存所述信息前,所述第二程序通过所述虚拟机唯一标识匹配所述宿主机中是否已存在虚拟机的所述信息记录,如果没有则添加新的信息记录并将所述信息保存于所述信息记录中;如果存在所述第二程序核对已存在信息记录中的虚拟磁盘容量与获取的所述信息中的磁盘容量是否一致,如果一致则以所述信息记录中的磁盘容量为所述第二初始容量;如果不一致则以所述信息中的磁盘容量替代所述信息记录中磁盘容量,然后再将所述信息记录中的磁盘容量作为所述第二初始容量。优选地,所述第二程序获取所述虚拟机的进程并从所述进程中解析出虚拟机配置的操作系统以及版本,所述第二程序根据不同操作系统及版本选择相应的IO流中IO的构成的解析过程。优选地,所述第二校验条件为:所述第二程序按设定周期直接获取虚拟机虚拟磁盘容量,并计算获取的虚拟磁盘容量与所述信息记录中存储的磁盘容量的差值,所述第二程序判断所述差值是否超过设定的第二阈值;所述差值超过所述第二阈值则以获取的虚拟磁盘容量代替所述信息记录中存储的磁盘容量信息。优选地,在所述宿主机上开启长连接的socket通道,将所述宿主机配置为socket服务端,在所述宿主机上配置第三程序,所述第三程序获取所述控制端的IP以及端口信息以实现所述宿主机与控制端的连接,所述第三程序配置有推送策略,所述推送策略至少包括按周期推送或者按虚拟磁盘容量该变量推送中的一种,所述第三程序按照所述推送策略向所述控制端传输所述第一目标容量或所述第二目标容量。本申请提出的一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法具体有以下有益效果:在代理模式下:本申请提出的一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法利用所述第一程序获取磁盘设备的当前已用容量作为虚拟磁盘的第一初始容量;通过第一程序获取并解析IO信息,在所述第一初始容量的基础上根据所述IO信息中的操作类型和处理数据获得并更新代表虚拟磁盘当下存储量的所述第一目标容量,所述第一程序将所述第一目标容量通过虚拟网桥发送给宿主机,所述宿主机将所述第一目标容量发送给控制端;通过IO信息直接对第一目标容量进行计算来获取虚拟磁盘当下存储量,加快获取虚拟磁盘当下存储量的速度,有效降低延时,使得所述控制端能够及时的获取虚拟机虚拟磁盘容量,并根据虚拟磁盘容量对虚拟机的运行进行干预。所述第一程序配置了在高IOPS情况下,通过第一校验条来对所述第一目标容量校验,保证所述第一目标容量的准确性,避免IO信息遗漏对获取虚拟磁盘容量的影响。...

【技术保护点】
1.一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法,其特征在于,包括:/n在代理模式下:在虚拟机配置第一程序,所述第一程序获取虚拟磁盘的第一初始容量,所述第一程序监测虚拟机磁盘驱动程序的IO并获取IO信息;根据所述IO信息与所述第一初始容量获取第一目标容量,根据后续的所述IO信息实更新所述第一目标容量;/n所述第一程序根据第一校验条件对所述第一目标容量校验;/n所述第一程序通过虚拟网桥将所述第一目标容量传输至宿主机,所述宿主机将所述第一目标容量传输至控制端;/n在非代理模式下:在宿主机配置第二程序,所述第二程序监测虚拟机并获取虚拟机的虚拟磁盘的第二初始容量;所述第二程序监测所述虚拟机发向宿主机的IO流并获取IO流信息,根据所述IO流信息与所述第二初始容量获取第二目标容量,根据所述IO流信息更新所述第二目标容量;/n所述第二程序根据第二校验条件对所述第二目标容量校验;/n所述宿主机将所述第二目标容量传输值控制端。/n

【技术特征摘要】
1.一种服务器虚拟化平台中实时监测虚拟磁盘大小的方法,其特征在于,包括:
在代理模式下:在虚拟机配置第一程序,所述第一程序获取虚拟磁盘的第一初始容量,所述第一程序监测虚拟机磁盘驱动程序的IO并获取IO信息;根据所述IO信息与所述第一初始容量获取第一目标容量,根据后续的所述IO信息实更新所述第一目标容量;
所述第一程序根据第一校验条件对所述第一目标容量校验;
所述第一程序通过虚拟网桥将所述第一目标容量传输至宿主机,所述宿主机将所述第一目标容量传输至控制端;
在非代理模式下:在宿主机配置第二程序,所述第二程序监测虚拟机并获取虚拟机的虚拟磁盘的第二初始容量;所述第二程序监测所述虚拟机发向宿主机的IO流并获取IO流信息,根据所述IO流信息与所述第二初始容量获取第二目标容量,根据所述IO流信息更新所述第二目标容量;
所述第二程序根据第二校验条件对所述第二目标容量校验;
所述宿主机将所述第二目标容量传输值控制端。


2.根据权利要求1所述的服务器虚拟化平台中实时监测虚拟磁盘大小的方法,其特征在于,获取所述虚拟磁盘的第一初始容量包括:所述第一程序首次或者重新启动,所述第一程序读取虚拟机虚拟磁盘对应的磁盘设备的当前已用容量,并将所述当前已用容量作为虚拟磁盘的第一初始容量。


3.根据权利要求1所述的服务器虚拟化平台中实时监测虚拟磁盘大小的方法,其特征在于,所述第一程序解析虚拟机IO构成并获取每个IO的操作类型和所处理数据的数据容量值;所述第二程序解析虚拟机发向宿主机的IO流中IO的构成并获取每个IO的操作类型和所处理数据的数据容量值。


4.根据权利要求3所述的服务器虚拟化平台中实时监测虚拟磁盘大小的方法,其特征在于,如果所述操作类型为向虚拟磁盘添加数据的操作,则第一程序将所述数据容量值加到所述第一初始容量获取所述第一目标容量、或者加到IO发生前的所述第一目标容量来获取所述第一目标容量的更新;
如果所述操作类型为向虚拟磁盘添加数据的操作,则第二程序将所述数据容量值加到所述第二初始容量获取所述第二目标容量、或者加到IO流发生前的所述第二目标容量来获取所述第二目标容量的更新,
如果所述操作类型为在虚拟磁盘删除数据的操作,则第一程序将所述第一初始容量减去所述数据容量值获取所述第一目标容量、或者所述第一目标容量减去所述数据容量值获取所述第一目标容量的更新;
如果所述操作类型为在虚拟磁盘删除数据的操作,则第二程序将所述第二初始容量减去所述数据容量值获取所述第二目标容量、或者将所述第二目标容量减去所述数据容量值获取所述第二目标容量的更新。


5.根据权利要求1所述的服务器虚拟化平台中实时监测虚拟磁盘大小的方...

【专利技术属性】
技术研发人员:左兰海闫冬冬刘一
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1