CN116610266B - 虚拟机磁盘读写性能的调整方法、装置及相关设备 - Google Patents

虚拟机磁盘读写性能的调整方法、装置及相关设备 Download PDF

Info

Publication number
CN116610266B
CN116610266B CN202310876891.6A CN202310876891A CN116610266B CN 116610266 B CN116610266 B CN 116610266B CN 202310876891 A CN202310876891 A CN 202310876891A CN 116610266 B CN116610266 B CN 116610266B
Authority
CN
China
Prior art keywords
parameter
disk
disks
read
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310876891.6A
Other languages
English (en)
Other versions
CN116610266A (zh
Inventor
汪宇
刘小磊
胡文辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202310876891.6A priority Critical patent/CN116610266B/zh
Publication of CN116610266A publication Critical patent/CN116610266A/zh
Application granted granted Critical
Publication of CN116610266B publication Critical patent/CN116610266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供一种虚拟机磁盘读写性能的调整方法、装置及相关设备,涉及云计算存储的技术领域,方法包括:获取虚拟机的第一参数,以及虚拟机的多个磁盘中的第二参数、第三参数,其中,第一参数指示多个磁盘在监控时段内的总读写次数和虚拟机的额定读写次数之差,第二参数指示磁盘在监控时段内的读写频率,第三参数指示对应磁盘的调整权重;根据第一参数,以及多个磁盘中每一磁盘的第二参数、第三参数分别计算多个磁盘中每一磁盘的第四参数,其中,第四参数用于指示磁盘的参考读写频率;根据多个磁盘中每一磁盘的第四参数,动态调整各磁盘的读写频率。本公开从磁盘维度以更细粒度的读写频率调控手段满足QoS需求,能提升虚拟机的读写性能调控效果。

Description

虚拟机磁盘读写性能的调整方法、装置及相关设备
技术领域
本公开涉及云计算的技术领域,具体涉及一种虚拟机磁盘读写性能的调整方法、装置及相关设备。
背景技术
在云计算存储领域当中,存储服务质量(Quality of Service,QoS)与网络QoS类似,它确保特定应用程序或工作负载始终获得特定的存储性能级别。对于存储系统而言,此级别通常表示为每秒读写次数(Input/Output Per Second,IOPS)和带宽。
应用中发现,当虚拟机的实际IOPS超过虚拟机的基准IOPS时,相关技术会从整机维度降低虚拟机的实际IOPS,以避免云主机间的存储性能争抢,此种调控方式易导致虚拟机的部分磁盘的读写性能无法被充分利用,也就是说,相关技术对虚拟机磁盘的读写性能的调控效果较差。
发明内容
本公开的目的在于提供一种虚拟机磁盘读写性能的调整方法、装置及相关设备,用于解决相关技术存在的对虚拟机磁盘的读写性能的调控效果差的技术问题。
第一方面,本公开实施例提供一种虚拟机磁盘读写性能的调整方法,包括:
获取虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数,其中,所述第一参数用于指示所述多个磁盘在监控时段内的总读写次数和所述虚拟机的额定读写次数之差,所述第二参数用于指示所对应的磁盘在所述监控时段内的读写频率,所述第三参数用于指示所对应的磁盘的调整权重;
根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,其中,所述第四参数用于指示所述磁盘的参考读写频率;
根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整。
在一个实施例中,获取所述多个磁盘中每一磁盘的第三参数,包括:
获取所述多个磁盘中每一磁盘的性能等级,其中,所述性能等级与所述磁盘的最大读写频率呈负相关;
对所述多个磁盘中每一磁盘的性能等级进行求和,得到性能等级总量;
根据所述多个磁盘中每一磁盘的性能等级与所述性能等级总量,分别确定所述多个磁盘中每一磁盘的第三参数。
在一个实施例中,所述根据所述多个磁盘中每一磁盘的性能等级与所述性能等级总量,分别确定所述多个磁盘中每一磁盘的第三参数,包括:
根据所述多个磁盘中每一磁盘的性能等级与所述多个磁盘中每一磁盘的第二参数之积,分别确定所述多个磁盘中每一磁盘的第五参数;
对所述多个磁盘中每一磁盘的第五参数进行求和,得到所述多个磁盘对应的读写频率总量;
根据所述多个磁盘中每一磁盘的第五参数与所述读写频率总量之比,确定所述多个磁盘中每一磁盘的第三参数。
在一个实施例中,所述根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整,包括:
根据目标磁盘的第四参数以及预设的磁盘最小读写频率,确定所述磁盘的频率限速值,其中,所述频率限速值为所述第四参数和所述磁盘最小读写频率中的最大值,所述目标磁盘为所述多个磁盘中的任意一个磁盘;
根据所述目标磁盘的频率限速值对所述目标磁盘的读写频率进行调整。
在一个实施例中,所述磁盘最小读写频率的取值范围为500至1000。
在一个实施例中,所述根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,包括:
在所述第一参数大于或等于第一预设阈值的情况下,根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数。
在一个实施例中,所述获取所述虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数之后,所述方法还包括:
在所述第一参数小于或等于第二预设阈值的情况下,基于所述第一参数和所述虚拟机对应的预设磁盘调度信息调整所述多个磁盘中每一磁盘的读写频率。
第二方面,本公开实施例还提供一种虚拟机磁盘读写性能的调整装置,包括:
获取模块,用于获取虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数,其中,所述第一参数用于指示所述多个磁盘在监控时段内的总读写次数和所述虚拟机的额定读写次数之差,所述第二参数用于指示所对应的磁盘在所述监控时段内的读写频率,所述第三参数用于指示所对应的磁盘的调整权重;
计算模块,用于根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,其中,所述第四参数用于指示所述磁盘的参考读写频率;
调整模块,用于根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整。
第三方面,本公开实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的虚拟机磁盘读写性能的调整方法的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的虚拟机磁盘读写性能的调整方法的步骤。
在本公开实施例中,基于虚拟机在监控时段内的总读写次数和虚拟机的额定读写次数之差、以及各个磁盘在监控时段内的读写频率和对应的调整权重,从磁盘维度以更细粒度的读写频率调控手段满足QoS 需求,提升虚拟机磁盘在读写性能调控方面所获得的调控效果。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种虚拟机磁盘读写性能的调整方法的流程示意图;
图2是本公开实施例提供的另一种虚拟机磁盘读写性能的调整方法的流程示意图;
图3是本公开实施例提供的一种虚拟机磁盘读写性能的调整装置的结构示意图;
图4是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例提供一种虚拟机磁盘读写性能的调整方法,如图1所示,所述方法包括:
步骤101、获取虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数。
其中,所述第一参数用于指示所述多个磁盘在监控时段内的总读写次数和所述虚拟机的额定读写次数之差,所述第二参数用于指示所对应的磁盘在所述监控时段内的读写频率,所述第三参数用于指示所对应的磁盘的调整权重。
本公开所述方法对应云计算存储的相关场景,具体应用于云计算存储系统中,所述虚拟机的额定读写次数根据云计算存储系统在创建虚拟机时为虚拟机所配置的额定参数确定,所述多个磁盘在监控时段内的总读写次数为所述多个磁盘在所述监控时段内的读写次数之和。
在一示例中,当基于Libvirt构建前述云计算存储系统时,可以通过获取并计算虚拟机包括的多个磁盘的设定IO次数之和,以得到所述虚拟机额定读写频率,并基于该额定读写频率计算虚拟机对应监控时段的额定读写次数。
在另一示例中,也可以将虚拟机的额定读写频率以metadata信息的形式封装在对应的xml文件中,以通过查询xml文件内容的方式快速获得所述虚拟机的额定读写频率,进而计算虚拟机的额定读写次数,这能简化虚拟机的额定读写次数的获取流程,提升虚拟机的存储性能的调控速率。
举例来说,可以在xml文件的metadata属性中定义<storage>标签选项,并且相应地增强libvirt中对应vm列表接口的查询功能,以使云计算存储系统支持根据<storage>标签进行过滤,提升整机限速装置数据采集的效率。
其中,整机限速配置在xml文件中的存放位置可以如下所示:
<metadata>
<storage>
<vm_iops>20000</vm_iops>
<storage>
</metadata>
本公开中,所述第二参数可以为对应的磁盘在监控时段内的读写次数和监控时段的时长之比。
在一示例中,可以将监控时段均分为至少两个子时段,并计算在所述磁盘在每一子时段中的读写次数和子时段的时长之比,以得到所述磁盘在每一子时段对应的子时段读写频率,而后计算至少两个子时段对应的至少两个子时段读写频率的均值,并将该均值确定为所述磁盘的所述第二参数。
示例性的,所述第三参数可以根据对应磁盘的磁盘读写性能、磁盘剩余读写能力、磁盘内所存储数据的重要程度中的至少一项确定。
步骤102、根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数。
其中,所述第四参数用于指示所述磁盘的参考读写频率。
本公开中,所述第一参数可以理解为虚拟机目前待调整的读写性能,例如,当所述第一参数为正数时,则说明虚拟机在当前监控时段内实际的读写性能超出虚拟机的额定读写性能,此时可通过适应性降低虚拟机中各磁盘的读写频率,以降低虚拟机在下一监控时段的实际的读写性能,缩短虚拟机超负载读写的时间,降低不同虚拟机之间相互干扰的概率;
而当所述第一参数为负数时,则说明虚拟机在当前监控时段内实际的读写性能低于虚拟机的额定读写性能,此时可通过适应性升高虚拟机磁盘的读写频率,以升高虚拟机在下一监控时段的实际的读写性能,使虚拟机的读写性能得到最大限度的使用。
通过加权计算的方式对所述多个磁盘中每一磁盘的第二参数、第三参数进行应用,结合前述第一参数,可便捷获得每一磁盘的参考读写频率。
示例性的,对于目标磁盘来说,目标磁盘的第四参数可以为目标磁盘的第二参数和目标磁盘的权值参数之差,其中,所述权值参数为所述目标磁盘的第三参数和所述虚拟机的待调整IOPS之积,所述虚拟机的待调整IOPS为所述第一参数与所述监控时段的时长之比,所述目标磁盘为所述虚拟机包括的多个磁盘中的任一磁盘。
步骤103、根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整。
在本公开实施例中,基于虚拟机在监控时段内的总读写次数和虚拟机的额定读写次数之差、以及各个磁盘在监控时段内的读写频率和对应的调整权重,以确定每个磁盘对应的参考读写频率,并基于每个对应的参考读写频率对每个磁盘的读写性能进行调整,能从磁盘维度以更细粒度的读写频率调控手段满足QoS 需求,提升虚拟机在读写性能调控方面所获得的调控效果。
在一个实施例中,获取所述多个磁盘中每一磁盘的第三参数,包括:
获取所述多个磁盘中每一磁盘的性能等级,其中,所述性能等级与所述磁盘的最大读写频率呈负相关;
对所述多个磁盘中每一磁盘的性能等级进行求和,得到性能等级总量;
根据所述多个磁盘中每一磁盘的性能等级与所述性能等级总量,分别确定所述多个磁盘中每一磁盘的第三参数。
该实施例中,基于每一磁盘的性能等级来确定每一磁盘的调整权重,可适配不同磁盘之间的读写性能差异,能在保障虚拟机在读写性能调控方面所获得的调控效果的同时,令读写性能强的磁盘在调控时的调控幅度低于读写性能弱的磁盘的调控幅度,以提升虚拟机对外提供的存储服务质量,提升用户使用体验。
在一示例中,所述性能等级还可以与所述磁盘存储的数据的重要程度呈负相关,这能令存储有核心数据的磁盘在调控时的调控幅度低于存储有非核心数据的磁盘在调控时的调控幅度,以此来提升虚拟机的数据稳定性。
示例性的,不同磁盘之间的性能等级划分可以如表1所示:
磁盘类型 高性能型 性能优化型 普通容量型
系统盘 1 2
数据盘 3 4 5
表1
表1中,高性能型磁盘的最大读写频率大于性能优化型磁盘的最大读写频率,性能优化型磁盘的最大读写频率大于普通容量型磁盘的最大读写频率;系统盘所存储的数据的重要程度大于数据盘所存储的数据的重要程度。
在一个实施例中,所述根据所述多个磁盘中每一磁盘的性能等级与所述性能等级总量,分别确定所述多个磁盘中每一磁盘的第三参数,包括:
根据所述多个磁盘中每一磁盘的性能等级与所述多个磁盘中每一磁盘的第二参数之积,分别确定所述多个磁盘中每一磁盘的第五参数;
对所述多个磁盘中每一磁盘的第五参数进行求和,得到所述多个磁盘对应的读写频率总量;
根据所述多个磁盘中每一磁盘的第五参数与所述读写频率总量之比,确定所述多个磁盘中每一磁盘的第三参数。
该实施例中,基于指示磁盘的静态属性的性能等级和指示磁盘的动态数据的第二参数(即当前监控时段内的读写频率),计算每一磁盘的调整权重,可令计算得到的第三参数更加准确,这能进一步提升虚拟机在读写性能调控方面所获得的调控效果。
其中,前述静态属性可在磁盘使用前进行定义,并用于指示磁盘对应的读写性能、所存储数据的重要程度等,而动态属性需在磁盘使用过程中获取,用于指示磁盘当前的剩余读写能力。
在一个实施例中,所述根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整,包括:
根据目标磁盘的第二参数、所述目标磁盘的第四参数以及预设的磁盘最小读写频率,确定所述磁盘的频率限速值,其中,所述频率限速值为差额参数和所述磁盘最小读写频率中的最大值,所述差额参数为所述目标磁盘的第二参数和所述目标磁盘的第四参数之差,所述目标磁盘为所述多个磁盘中的任意一个磁盘;
根据所述目标磁盘的频率限速值对所述目标磁盘的读写频率进行调整。
该实施例中,通过频率限速值的设置,在降低磁盘的读写频率的过程中,避免磁盘的实际读写频率被过量降低,确保虚拟机中每一磁盘的读写能力均被有效使用。
进一步的,所述磁盘最小读写频率的取值范围为500至1000。
示例性的,所述磁盘最小读写频率的具体取值可以为500次读写每秒、700次读写每秒、1000次读写每秒等,其具体取值可根据实际需求在上述取值范围内进行适应性选择,本公开对磁盘最小读写频率的具体取值不作限定。
在一个实施例中,所述根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,包括:
在所述第一参数大于或等于第一预设阈值的情况下,根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数。
其中,所述第一参数大于或等于第一预设阈值用于指示:虚拟机处于超负载读写的状态,即第一参数的取值大于或等于0。
该实施例中,通过第一预设阈值的设定,以限定第四参数的计算需满足虚拟机超负载读写的条件,避免每一监控时段均对第四参数进行计算,降低系统整体的计算负担,减少系统在读写性能调控方面的计算开销。
示例性的,所述第一预设阈值可以根据虚拟机的额定读写次数确定,举例来说,所述第一预设阈值的取值可以为虚拟机的额定读写次数的5%。
在一个实施例中,所述获取所述虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数之后,所述方法还包括:
在所述第一参数小于或等于第二预设阈值的情况下,基于所述第一参数和所述虚拟机对应的预设磁盘调度信息调整所述多个磁盘中每一磁盘的读写频率。
该实施例中,通过第二预设阈值的设定,以避免虚拟机的磁盘的读写资源被频繁调整的情况,避免每一监控时段均对第四参数进行计算,降低系统整体的计算负担,减少系统在读写性能调控方面的计算开销。
示例性的,所述第二预设阈值为负值,且可以根据虚拟机的额定读写次数确定,举例来说,所述第二预设阈值的绝对值可以为虚拟机的额定读写次数的10%。
为方便理解,如图2所示,示例说明如下:
如前所述,通过在xml文件的metadata属性中定义<storage>标签选项,以便捷获取每个虚拟机IO出口的最大速率,也即前述获得虚拟机的额定读写频率。
随后定义虚拟机的成本函数如式(1):
(1)
式(1)中,N为虚拟机挂载的磁盘个数、T为监控时段的时长,本示例中T为30秒,[0,T]时段内的整机基准IOPS为可理解为前述虚拟机的额定读写次数,N个磁盘在[0,T]时段内的磁盘实际使用IOPS可理解为多个磁盘在监控时段内的总读写次数。
设定成本函数Cost由正值变为负值时,触发整机限速机制;
设定成本函数Cost达到预设阈值(如虚拟机的额定读写次数的10%)时,解除整机限速机制,恢复各个磁盘的初始限速。
其中,整机限速机制包括:
根据各磁盘在监控时段内实际的读写情况,计算需要调整的IOPS总和,具体计算公式为:
(2)
式(2)中,ΔT为[0,T]时段的时间长度。
对于不同类型的磁盘,根据磁盘类型以及种类,划分各个磁盘的IOPS性能等级,其划分等级可以如前述表1所示。
其中,性能等级越小,则说明对应磁盘的磁盘基准IOPS调节的权重也越小,也即对应磁盘的IOPS降幅也越小。
根据每个磁盘在[0,T]时段内的实际IOPS使用情况,结合前述磁盘的性能等级,可确定每个磁盘的综合调整权重为:
(3)
式(3)中,磁盘综合调整权重可理解为前述第三参数。
在确定每个磁盘的综合调整权重后,可根据式(4)计算每个磁盘调整后的基准IOPS’,式(4)如下所示:
(4)
在得到每个磁盘调整后的基准IOPS’以后,则通过调整磁盘的IOPS性能,以使磁盘的实际IOPS趋近于磁盘对应的基准IOPS’,从磁盘维度以更细粒度的读写频率调控手段满足QoS 需求。
应用中,为避免计算得到的磁盘调整后的基准IOPS’过小,可以为所有磁盘设定最低基准BASE_IOPS值(可理解为前述频率限速值),将每个磁盘调整后的基准IOPS’与BASE_IOPS值进行比较,并将两者之中的最大值确定为磁盘实际调整后的基准IOPS*,磁盘实际调整后的基准IOPS*可以如式(5)所示:
(5)
本公开克服了单个虚拟机无法进行IO限流的问题,避免了各虚拟机间的资源竞争,从而保障计算节点上虚拟机的存储性能不受其他虚拟机影响;同时本公开在分析处理磁盘IO数据过程中,能充分利用整机QoS动态调整策略,合理计算得出当前业务状态下最优的各磁盘限速值,从而在保障高优先磁盘业务的同时,又避免低使用率的磁盘限速过低而不可用。
如图3所示,本公开实施例还提供一种虚拟机磁盘读写性能的调整装置300,所述装置300包括:
获取模块301,用于获取虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数,其中,所述第一参数用于指示所述多个磁盘在监控时段内的总读写次数和所述虚拟机的额定读写次数之差,所述第二参数用于指示所对应的磁盘在所述监控时段内的读写频率,所述第三参数用于指示所对应的磁盘的调整权重;
计算模块302,用于根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,其中,所述第四参数用于指示所述磁盘的参考读写频率;
调整模块303,用于根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整。
在一个实施例中,所述获取模块301,包括:
等级获取单元,用于获取所述多个磁盘中每一磁盘的性能等级,其中,所述性能等级与所述磁盘的最大读写频率呈负相关;
等级求和单元,用于对所述多个磁盘中每一磁盘的性能等级进行求和,得到性能等级总量;
参数获取单元,用于根据所述多个磁盘中每一磁盘的性能等级与所述性能等级总量,分别确定所述多个磁盘中每一磁盘的第三参数。
在一个实施例中,所述参数获取单元,具体用于:
根据所述多个磁盘中每一磁盘的性能等级与所述多个磁盘中每一磁盘的第二参数之积,分别确定所述多个磁盘中每一磁盘的第五参数;
对所述多个磁盘中每一磁盘的第五参数进行求和,得到所述多个磁盘对应的读写频率总量;
根据所述多个磁盘中每一磁盘的第五参数与所述读写频率总量之比,确定所述多个磁盘中每一磁盘的第三参数。
在一个实施例中,所述调整模块303,包括:
限速值确定单元,用于根据目标磁盘的第四参数以及预设的磁盘最小读写频率,确定所述磁盘的频率限速值,其中,所述频率限速值为所述第四参数和所述磁盘最小读写频率中的最大值,所述目标磁盘为所述多个磁盘中的任意一个磁盘;
频率调整单元,用于根据所述目标磁盘的频率限速值对所述目标磁盘的读写频率进行调整。
在一个实施例中,所述磁盘最小读写频率的取值范围为500至1000。
在一个实施例中,所述获取模块301具体用于:
在所述第一参数大于或等于第一预设阈值的情况下,根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数。
在一个实施例中,所述装置300还包括:
限速解除模块,用于在所述第一参数小于或等于第二预设阈值的情况下,基于所述第一参数和所述虚拟机对应的预设磁盘调度信息调整所述多个磁盘中每一磁盘的读写频率。
应用中,虚拟机磁盘读写性能的调整装置300部署于虚拟机对应的计算节点中,周期性采集虚拟机各个磁盘实时的IOPS,并通过Libvirt接口监听并过滤出当前计算节点需要监控整机实时IOPS的VM列表,然后依次调用Libvirt查询磁盘实时IO接口,采集对应虚拟机的磁盘实时IOPS数据,采集周期一般为30s;
以及将采集到的虚拟机磁盘实时IOPS数据保存在本地轻量级数据库中;
并应用前述虚拟机磁盘读写性能的调整方法,对虚拟机历史磁盘实际使用IOPS进行统计分析,利用虚拟机整机限速算法,实现虚拟机的整机QoS动态调整策略的计算处理逻辑,触发或解除整机限速。
本公开实施例提供的虚拟机磁盘读写性能的调整装置300能够实现上述方法实施例中的各个过程,且达到相同的技术效果,为避免重复,这里不再赘述。
请参见图4,图4是本公开实施例提供的一种电子设备的结构示意图,如图4所示,电子设备包括:可以包括处理器401、存储器402及存储在存储器402上并可在处理器401上运行的程序4021。
程序4021被处理器401执行时可实现图1对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一可读取介质中。
本公开实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可实现上述图1对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
本公开实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述是本公开实施例的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。

Claims (10)

1.一种虚拟机磁盘读写性能的调整方法,其特征在于,所述方法包括:
获取虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数,其中,所述第一参数用于指示所述多个磁盘在监控时段内的总读写次数和所述虚拟机的额定读写次数之差,所述第二参数用于指示所对应的磁盘在所述监控时段内的读写频率,所述第三参数用于指示所对应的磁盘的调整权重;
根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,其中,所述第四参数用于指示所述磁盘的参考读写频率;
根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整;
其中,所述根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,包括:
将目标磁盘的第二参数和所述目标磁盘的权值参数的差值确定为所述目标磁盘的第四参数,其中,所述目标磁盘为多个磁盘中的任一磁盘,所述目标磁盘的权值参数为所述目标磁盘的第三参数和所述虚拟机的待调整IOPS的乘积,所述虚拟机的待调整IOPS为所述第一参数与所述监控时段的时长的比值。
2.根据权利要求1所述的方法,其特征在于,获取所述多个磁盘中每一磁盘的第三参数,包括:
获取所述多个磁盘中每一磁盘的性能等级,其中,所述性能等级与所述磁盘的最大读写频率呈负相关;
对所述多个磁盘中每一磁盘的性能等级进行求和,得到性能等级总量;
根据所述多个磁盘中每一磁盘的性能等级与所述性能等级总量,分别确定所述多个磁盘中每一磁盘的第三参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个磁盘中每一磁盘的性能等级与所述性能等级总量,分别确定所述多个磁盘中每一磁盘的第三参数,包括:
根据所述多个磁盘中每一磁盘的性能等级与所述多个磁盘中每一磁盘的第二参数之积,分别确定所述多个磁盘中每一磁盘的第五参数;
对所述多个磁盘中每一磁盘的第五参数进行求和,得到所述多个磁盘对应的读写频率总量;
根据所述多个磁盘中每一磁盘的第五参数与所述读写频率总量之比,确定所述多个磁盘中每一磁盘的第三参数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整,包括:
根据目标磁盘的第四参数以及预设的磁盘最小读写频率,确定所述磁盘的频率限速值,其中,所述频率限速值为所述第四参数和所述磁盘最小读写频率中的最大值,所述目标磁盘为所述多个磁盘中的任意一个磁盘;
根据所述目标磁盘的频率限速值对所述目标磁盘的读写频率进行调整。
5.根据权利要求4所述的方法,其特征在于,所述磁盘最小读写频率的取值范围为500至1000。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,包括:
在所述第一参数大于或等于第一预设阈值的情况下,根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数。
7.根据权利要求1所述的方法,其特征在于,所述获取所述虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数之后,所述方法还包括:
在所述第一参数小于或等于第二预设阈值的情况下,基于所述第一参数和所述虚拟机对应的预设磁盘调度信息调整所述多个磁盘中每一磁盘的读写频率。
8.一种虚拟机磁盘读写性能的调整装置,其特征在于,所述装置包括:
获取模块,用于获取虚拟机的第一参数,以及所述虚拟机包括的多个磁盘中每一磁盘的第二参数、第三参数,其中,所述第一参数用于指示所述多个磁盘在监控时段内的总读写次数和所述虚拟机的额定读写次数之差,所述第二参数用于指示所对应的磁盘在所述监控时段内的读写频率,所述第三参数用于指示所对应的磁盘的调整权重;
计算模块,用于根据所述第一参数,以及所述多个磁盘中每一磁盘的第二参数、第三参数分别计算所述多个磁盘中每一磁盘的第四参数,其中,所述第四参数用于指示所述磁盘的参考读写频率;
调整模块,用于根据所述多个磁盘中每一磁盘的第四参数,对所述多个磁盘中每一磁盘的读写频率分别进行调整;
其中,所述计算模块具体用于:
将目标磁盘的第二参数和所述目标磁盘的权值参数的差值确定为所述目标磁盘的第四参数,其中,所述目标磁盘为多个磁盘中的任一磁盘,所述目标磁盘的权值参数为所述目标磁盘的第三参数和所述虚拟机的待调整IOPS的乘积,所述虚拟机的待调整IOPS为所述第一参数与所述监控时段的时长的比值。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
CN202310876891.6A 2023-07-18 2023-07-18 虚拟机磁盘读写性能的调整方法、装置及相关设备 Active CN116610266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310876891.6A CN116610266B (zh) 2023-07-18 2023-07-18 虚拟机磁盘读写性能的调整方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310876891.6A CN116610266B (zh) 2023-07-18 2023-07-18 虚拟机磁盘读写性能的调整方法、装置及相关设备

Publications (2)

Publication Number Publication Date
CN116610266A CN116610266A (zh) 2023-08-18
CN116610266B true CN116610266B (zh) 2023-10-10

Family

ID=87685638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310876891.6A Active CN116610266B (zh) 2023-07-18 2023-07-18 虚拟机磁盘读写性能的调整方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN116610266B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143328A (ja) * 1996-11-14 1998-05-29 Toshiba Corp 記憶装置制御方式
CN108762665A (zh) * 2018-04-08 2018-11-06 中兴通讯股份有限公司 一种控制存储设备读写的方法及装置
CN110018781A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 磁盘流控方法、装置以及电子设备
CN111352592A (zh) * 2020-02-27 2020-06-30 腾讯科技(深圳)有限公司 磁盘读写控制方法、装置、设备及计算机可读存储介质
CN112783441A (zh) * 2021-01-08 2021-05-11 中国银联股份有限公司 一种调整虚拟机磁盘读写限速的方法、装置及计算设备
CN115576505A (zh) * 2022-12-13 2023-01-06 浪潮电子信息产业股份有限公司 一种数据存储方法、装置、设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143328A (ja) * 1996-11-14 1998-05-29 Toshiba Corp 記憶装置制御方式
CN110018781A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 磁盘流控方法、装置以及电子设备
CN108762665A (zh) * 2018-04-08 2018-11-06 中兴通讯股份有限公司 一种控制存储设备读写的方法及装置
CN111352592A (zh) * 2020-02-27 2020-06-30 腾讯科技(深圳)有限公司 磁盘读写控制方法、装置、设备及计算机可读存储介质
CN112783441A (zh) * 2021-01-08 2021-05-11 中国银联股份有限公司 一种调整虚拟机磁盘读写限速的方法、装置及计算设备
CN115576505A (zh) * 2022-12-13 2023-01-06 浪潮电子信息产业股份有限公司 一种数据存储方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN116610266A (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
JP5744707B2 (ja) メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ)
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
CN112286644B (zh) Gpu虚拟化算力的弹性调度方法、系统、设备和存储介质
CN111522636A (zh) 应用容器的调整方法、调整系统、计算机可读介质及终端设备
US8547840B1 (en) Bandwidth allocation of bursty signals
US7882160B2 (en) Low latency optimization for generational garbage collection
CN107770088B (zh) 一种流量控制方法及装置
CN110018781B (zh) 磁盘流控方法、装置以及电子设备
US20160246512A1 (en) Data Compression Method and Storage System
CN111104303A (zh) 一种服务器指标数据采集方法、装置和介质
CN106936867A (zh) 一种业务请求的响应方法及装置
CN113079062B (zh) 一种资源调整方法、装置、计算机设备和存储介质
CN116610266B (zh) 虚拟机磁盘读写性能的调整方法、装置及相关设备
WO2019183781A1 (zh) 一种数据处理方法及网络设备
CN111506425B (zh) 服务质量数据处理方法和装置
CN116248699B (zh) 多副本场景下的数据读取方法、装置、设备及存储介质
CN116225651A (zh) 一种处理器调度方法、装置、设备及机器可读存储介质
CN109582460B (zh) 一种Redis内存数据的淘汰方法和装置
KR20130076332A (ko) 소모 전력을 최소화하기 위한 이동 단말기 및 방법
CN114546714B (zh) 一种数据备份方法、系统、装置以及存储介质
CN113645585A (zh) 一种物联网数据采集方法
CN111124310A (zh) 存储系统调度优化方法及相关组件
CN111352584A (zh) 一种数据重建方法及装置
CN117931092B (zh) 数据重删调整方法、装置、设备、存储系统及存储介质
CN115033390B (zh) 一种负载均衡的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant