CN117608493A - 虚拟机磁盘缓存的处理方法、装置、设备及介质 - Google Patents

虚拟机磁盘缓存的处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN117608493A
CN117608493A CN202311650493.9A CN202311650493A CN117608493A CN 117608493 A CN117608493 A CN 117608493A CN 202311650493 A CN202311650493 A CN 202311650493A CN 117608493 A CN117608493 A CN 117608493A
Authority
CN
China
Prior art keywords
virtual machine
disk
qcow2 file
cache
ssd
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.)
Pending
Application number
CN202311650493.9A
Other languages
English (en)
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.)
Zhongdian Cloud Computing Technology Co ltd
Original Assignee
Zhongdian Cloud Computing 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 Zhongdian Cloud Computing Technology Co ltd filed Critical Zhongdian Cloud Computing Technology Co ltd
Priority to CN202311650493.9A priority Critical patent/CN117608493A/zh
Publication of CN117608493A publication Critical patent/CN117608493A/zh
Pending legal-status Critical Current

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • 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/0608Saving storage space on storage 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种虚拟机磁盘缓存的处理方法、装置、设备及介质,该方法包括:确定预先为虚拟机的虚拟机磁盘配置的属性信息:虚拟机磁盘是否使能SSD缓存和缓存大小阈值;在虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建第一qcow2文件以及在HDD磁盘上创建第二qcow2文件;统计虚拟机在预设时间内对第一qcow2文件的读写统计值和第一qcow2文件占用的存储空间;在读写统计值小于预设的统计阈值,存储空间大于缓存大小阈值的情况下,将第一qcow2文件合入第二qcow2文件内;使用合入后的qcow2文件启动虚拟机。本公开既能隔离虚拟机缓存IO间的相互影响,又能有效限制虚拟磁盘在SSD缓存的使用量。

Description

虚拟机磁盘缓存的处理方法、装置、设备及介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种虚拟机磁盘缓存的处理方法、装置、设备及介质。
背景技术
虚拟化平台是一种软件或硬件系统,用于创建和管理虚拟化环境。虚拟机磁盘是在虚拟化环境中用于存储虚拟机操作系统、应用程序和数据的文件或设备。在虚拟化平台中,虚拟机通常使用SSD(Solid State Disk或Solid State Drive,固态硬盘)和HDD(HardDisk Drive,机械硬盘)配置虚拟机磁盘缓存。其中,一种方式是使用SSD物理盘和HDD物理盘一起创建使能缓存的磁盘,但该方式无法为VM虚拟机磁盘指定是否使能SSD缓存,也无法指定SSD缓存的大小。另一种方式是使用SSD逻辑盘和HDD逻辑盘一起创建使能缓存的磁盘,该方式则无法以虚拟机磁盘镜像文件QCOW2方式为虚拟机提供虚拟机磁盘功能。
发明内容
为了解决上述技术问题,本公开提供了一种虚拟机磁盘缓存的处理方法、装置、设备及介质。
根据本公开的一方面,提供了一种虚拟机磁盘缓存的处理方法,包括:
确定预先为虚拟机的虚拟机磁盘配置的属性信息,所述属性信息包括:所述虚拟机磁盘是否使能SSD缓存和缓存大小阈值;
在所述虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建与所述虚拟机磁盘对应的第一qcow2文件以及在HDD磁盘上创建与所述虚拟机磁盘对应的第二qcow2文件;
统计所述虚拟机在预设时间内对所述第一qcow2文件的读写统计值和所述第一qcow2文件在所述SSD磁盘上占用的存储空间;
在所述预设时间内的读写统计值小于预设的统计阈值,和/或,所述存储空间大于所述缓存大小阈值的情况下,将所述第一qcow2文件合入所述第二qcow2文件内;
使用合入后的qcow2文件启动所述虚拟机。
根据本公开的另一方面,提供了一种虚拟机磁盘缓存的处理装置,包括:
配置模块,用于确定预先为虚拟机的虚拟机磁盘配置的属性信息,所述属性信息包括:所述虚拟机磁盘是否使能SSD缓存和缓存大小阈值;
创建模块,用于在所述虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建与所述虚拟机磁盘对应的第一qcow2文件以及在HDD磁盘上创建与所述虚拟机磁盘对应的第二qcow2文件;
统计模块,用于统计所述虚拟机在预设时间内对所述第一qcow2文件的读写统计值和所述第一qcow2文件在所述SSD磁盘上占用的存储空间;
合入模块,用于在所述预设时间内的读写统计值小于预设的统计阈值,和/或,所述存储空间大于所述缓存大小阈值的情况下,将所述第一qcow2文件合入所述第二qcow2文件内;
启动模块,用于使用合入后的qcow2文件启动所述虚拟机。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的虚拟机磁盘缓存的处理方法、装置、设备及介质,该方法包括:确定预先为虚拟机的虚拟机磁盘配置的属性信息,属性信息包括:虚拟机磁盘是否使能SSD缓存和缓存大小阈值;在虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建与虚拟机磁盘对应的第一qcow2文件以及在HDD磁盘上创建与虚拟机磁盘对应的第二qcow2文件;统计虚拟机在预设时间内对第一qcow2文件的读写统计值和第一qcow2文件在SSD磁盘上占用的存储空间;在预设时间内的读写统计值小于预设的统计阈值,和/或,存储空间大于缓存大小阈值的情况下,将第一qcow2文件合入第二qcow2文件内;使用合入后的qcow2文件启动虚拟机。
本技术方案在使用qcow2虚拟磁盘镜像文件作为虚拟机磁盘时,能够为虚拟机磁盘单独指定是否使能SSD缓存和SSD缓存大小;同时,根据预设时间内对第一qcow2文件的读写统计值和第一qcow2文件占用的存储空间,将第一qcow2文件合入第二qcow2文件,由此调整缓存qcow2文件对SSD磁盘的使用量,较好地实现了既能隔离虚拟机缓存IO间的相互影响,又能有效限制虚拟磁盘在SSD缓存的使用量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例所述一种虚拟机磁盘缓存的处理方法的流程图;
图2为本公开实施例所述虚拟机及其磁盘与镜像缓存的架构图;
图3为本公开实施例所述另一种虚拟机磁盘缓存的处理方法的流程图;
图4为本公开实施例所述虚拟机磁盘缓存的处理装置的结构框图;
图5为本公开实施例所述电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
针对目前常用的两种使用SSD和HDD配置虚拟机磁盘缓存的方式,一种是使用SSD物理盘和HDD物理盘一起创建使能缓存的磁盘。也即使用SSD缓存管理软件模块将服务器上的物理SSD盘和物理HDD盘一起配置为使能缓存后的磁盘。常见的配置SSD缓存的开源软件模块有opencas,bcache,flashcache等。这种方式下,虚拟化Hypervisor(虚拟机监视器)使用缓存后磁盘的方式与使用普通磁盘一样。Hypervisor既可以将使能缓存后的盘配置为多个逻辑卷,然后以访问块设备的方式为虚拟机提供虚拟磁盘;也可以在整个使能缓存的磁盘上配置文件系统,然后在文件系统上使用虚拟机磁盘镜像文件的方式,比如qcow2,为虚拟机提供虚拟磁盘。但是,将物理SSD盘和物理HDD盘一起配置为缓存,无法为VM虚拟机磁盘指定是否使能SSD缓存,也无法指定SSD缓存的大小,同一个物理服务器上不同虚拟机的I/O会相互影响。
另一种方式是按不同VM磁盘来创建使能缓存的盘。具体来说,在VM配置了使能缓存的磁盘时,按照给定的SSD缓存盘大小和虚拟磁盘大小来分配对应的SSD逻辑卷和HDD逻辑卷,并将这些逻辑卷使用缓存管理软件模块配置为支持缓存的磁盘。Hypervisor以访问块设备的方式使用使能缓存后的磁盘,为虚拟机提供虚拟磁盘功能。这种情况下,不同的虚拟机磁盘可以配置独立的缓存大小,并且磁盘间的IO不会相互影响。但是这种方案下,Hypervisor无法以访问虚拟磁盘镜像文件(比如qcow2)的方式为虚拟机提供虚拟存储,也即无法以虚拟机磁盘镜像文件QCOW2方式为虚拟机提供虚拟机磁盘功能。
针对以上问题,本公开实施例提供一种虚拟机磁盘缓存的处理方法、装置、设备及介质,本公开可以使用qcow2虚拟磁盘镜像文件作为虚拟机磁盘,并且能为虚拟机磁盘单独指定是否使能SSD缓存和SSD缓存大小。以下对本公开实施例展开描述。
图1为本公开实施例提供的一种虚拟机磁盘缓存的处理方法的流程图,该方法可以由配置于终端的虚拟机磁盘缓存的处理装置执行,该装置可以采用软件和/或硬件实现。
为便于理解,在此首先对本公开实施例涉及到的一些技术进行说明。
虚拟化平台是一种软件或硬件系统,用于创建和管理虚拟化环境。它提供了一组工具和功能,用于在物理硬件上创建、配置和管理虚拟机(Virtual Machines,VMs)。虚拟化平台的主要目标是将物理资源抽象为虚拟资源,并允许多个虚拟机共享物理硬件,从而实现资源的利用率最大化和资源的灵活分配。与传统的物理服务器相比,虚拟化平台可以提供更高的资源利用率、更好的性能隔离和更灵活的资源调整。
虚拟机磁盘是在虚拟化环境中用于存储虚拟机操作系统、应用程序和数据的文件或设备。它模拟了物理计算机上的硬盘驱动器,但实际上是一个由虚拟化软件创建和管理的文件或设备。虚拟机磁盘可以是一个单独的文件,也可以是一个分区、逻辑卷或者网络存储设备。不同的虚拟化平台和工具可能使用不同的磁盘格式和技术,如VMDK(VMwareVirtual Disk)、VHD(Virtual Hard Disk)、qcow2(QEMU Copy On Write 2)等。虚拟机磁盘可以被动态调整大小,以满足虚拟机对存储空间的需求。此外,虚拟机磁盘还支持快照、克隆和迁移等功能,使得管理和维护虚拟机变得更加灵活和便捷。
qcow2镜像是一种虚拟机磁盘镜像格式,通常用于在基于KVM(Kernel-basedVirtual Machine,虚拟化技术)的虚拟化环境中使用。qcow2镜像与其他磁盘镜像格式相比有很多优点,其中最显著的是它支持增量备份。这意味着可以在不复制整个镜像的情况下创建新的镜像,从而节省存储空间和时间。此外,qcow2镜像还支持压缩和加密,可以提高数据的安全性和可靠性。qcow2镜像可以动态地增加或减少大小,这使得它非常适合在虚拟化环境中使用。当虚拟机需要更多的磁盘空间时,管理员可以简单地增加qcow2镜像的大小,而不需要停止虚拟机或重新分配存储空间。
SSD相对于HDD具有快速的读写速度和低延迟的优点。在实际应用中,SSD通常与传统的HDD组合使用,形成混合存储系统。在这种架构中,SSD被用作磁盘缓存,通常被称为SSD缓存盘。热数据(经常访问的数据)被缓存在SSD中,而冷数据(不经常访问的数据)则存储在较慢的机械硬盘HDD上。这种存储架构可以在保持大容量存储的同时,提供接近SSD性能的读写速度,从而提高整体系统的性能和效率。
根据以上实施例,本公开提供的虚拟机磁盘缓存的处理方法如图1所示,可以包括如下步骤:
S102、确定预先为虚拟机的虚拟机磁盘配置的属性信息,属性信息包括:虚拟机磁盘是否使能SSD缓存和缓存大小阈值。
本实施例可以包括:响应于针对虚拟机磁盘属性配置界面的操作,配置虚拟机的虚拟机磁盘是否使能SSD缓存,以及在使能SSD缓存的情况下,为虚拟机磁盘配置缓存大小阈值。其中,在虚拟机磁盘属性配置界面上,单独地为每个虚拟机磁盘提供有配置是否使能SSD缓存和SSD缓存大小等属性信息的相关界面;基于此,通过响应用户针对虚拟机磁盘属性配置界面的操作,分别单独地配置每个虚拟机磁盘是否使能SSD缓存,以及在使能SSD缓存的情况下,为虚拟机磁盘配置缓存大小阈值。
S104、在虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建与虚拟机磁盘对应的第一qcow2文件以及在HDD磁盘上创建与虚拟机磁盘对应的第二qcow2文件。
在本实施例中,如果虚拟机磁盘使能了SSD缓存,虚拟化平台会在SSD磁盘和HDD磁盘上分别创建一个与该虚拟机磁盘对应的qcow2镜像文件,即:SSD磁盘上的第一qcow2文件和HDD磁盘上的第二qcow2文件;其中,位于HDD磁盘上的第二qcow2文件是位于SSD磁盘上的第一qcow2文件的backing file。
在创建qcow2镜像文件时,可以在SSD磁盘上创建与虚拟机磁盘对应且大小为缓存大小阈值的第一qcow2文件,同样的,在HDD磁盘上创建与虚拟机磁盘对应且大小为缓存大小阈值的第二qcow2文件。
另外容易理解,如果虚拟机磁盘未使能SSD缓存,则虚拟化平台只会在HDD磁盘上创建一个与该虚拟磁盘对应的qcow2镜像文件。
参照如图2所示的虚拟机及其磁盘与镜像缓存的架构图,本实施例中的虚拟机可以为Guest VM1至Guest VM4中的任一个。在Guest VM1至Guest VM4四个虚拟机中,GuestVM1和Guest VM4各有两个虚拟机磁盘,Guest VM2和Guest VM3各有一个虚拟机磁盘。GuestVM1有两个虚拟机磁盘都使能了SSD缓存,Guest VM4只有一个虚拟机磁盘使能了SSD缓存,Guest VM2和Guest VM3虚拟机磁盘都没有使能SSD缓存。Guest VM1的两个虚拟机磁盘由于都使能了SSD缓存,因此每个虚拟机磁盘都在SSD和HDD上有对应的qcow2文件。Guest VM2和Guest VM3虚拟机磁盘都未使能SSD缓存,其对应的qcow2文件只在HDD磁盘上。Guest VM4上使能了SSD缓存的虚拟机磁盘disk1在SSD磁盘和HDD磁盘上都有对应qcow2文件,而未使能SSD缓存的虚拟机磁盘disk2只在HDD磁盘上有对应的qcow2文件。
S106、统计虚拟机在预设时间内对第一qcow2文件的读写统计值和第一qcow2文件在SSD磁盘上占用的存储空间。
S108、在预设时间内的读写统计值小于预设的统计阈值,和/或,存储空间大于缓存大小阈值的情况下,将第一qcow2文件合入第二qcow2文件内。
针对以上步骤S106和S108,本实施例可以参照如图2,当用于管理虚拟机的物理机系统启动时,启动预设的全局的缓存管理模块,以及,在Hypervisor层为虚拟机启动对应的缓存监控模块;其中,缓存监控模块用于统计虚拟机内对第一qcow2文件的读写统计值和第一qcow2文件在SSD磁盘上占用的存储空间;缓存管理模块用于将第一qcow2文件合入第二qcow2文件内。
在本实施例中,虚拟化平台在物理机系统启动时会启动缓存管理模块,如果虚拟机磁盘使能了SSD缓存(例如Guest VM1和Guest VM4),虚拟化平台会在Hypervisor层为该虚拟机启动对应的缓存监控模块。随着虚拟机的运行,位于SSD磁盘的第一qcow2文件在SSD磁盘上占用的存储空间大小会不断增长。
在此情况下,缓存监控模块统计虚拟机内对SSD磁盘上第一qcow2文件的读写统计值和第一qcow2文件在SSD磁盘上占用的存储空间。当第一qcow2文件在SSD磁盘上占用的存储空间大于该SSD磁盘指定的缓存大小阈值时,缓存管理模块将位于SSD磁盘上的第一qcow2文件内容合入到位于HDD磁盘上对应的第二qcow2文件中。
以及,如果缓存监控模块统计到虚拟机在预设时间内(如最近5分钟)对SSD磁盘上的第一qcow2磁盘镜像文件的读写统计值小于预设的统计预支,也会将SSD磁盘上的第一qcow2文件内容合入到HDD中第二qcow2文件内,这样可以最小化影响合入qcow2文件对虚拟机磁盘IO带来的性能影响。
根据以上实施例,本实施例提供一种如图3所示的方法,包括:
S202、统计虚拟机在预设时间内对第一qcow2文件的读写统计值;
S204、统计第一qcow2文件在SSD磁盘上占用的存储空间;
S206、判断在预设时间内的读写统计值是否小于预设的统计阈值;如果小于统计阈值,则执行如下步骤S208,如果不小于统计阈值,则执行如下步骤S210。
S208、将第一qcow2文件合入第二qcow2文件内;可以理解,在将第一qcow2文件合入第二qcow2文件内之后,虚拟机依然在运行,这样第一qcow2文件在SSD磁盘上占用的存储空间大小还会继续增长,于是在本步骤S208之后,也执行如下步骤S210。
S210、判断存储空间是否大于缓存大小阈值;如果大于缓存大小阈值,则执行步骤S212,如果不大于缓存大小阈值,则执行如下步骤S214。
S212、将SSD磁盘上新增长的第一qcow2文件合入第二qcow2文件内;可以理解,步骤S212中的第一qcow2文件是在步骤S208之后,SSD磁盘中新增长的qcow2文件。
S214、监听虚拟机是否退出。如果虚拟机已经退出,则结束上述流程;如果虚拟机没有退出,依然在运行,则回到上述步骤S202。
综上,本公开实施例提供的虚拟机磁盘缓存的处理方法,包括:确定预先为虚拟机的虚拟机磁盘配置的属性信息,属性信息包括:虚拟机磁盘是否使能SSD缓存和缓存大小阈值;在虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建与虚拟机磁盘对应的第一qcow2文件以及在HDD磁盘上创建与虚拟机磁盘对应的第二qcow2文件;统计虚拟机在预设时间内对第一qcow2文件的读写统计值和第一qcow2文件在SSD磁盘上占用的存储空间;在预设时间内的读写统计值小于预设的统计阈值,和/或,存储空间大于缓存大小阈值的情况下,将第一qcow2文件合入第二qcow2文件内;使用合入后的qcow2文件启动虚拟机。
本技术方案在使用qcow2虚拟磁盘镜像文件作为虚拟机磁盘时,能够为虚拟机磁盘单独指定是否使能SSD缓存和SSD缓存大小;同时,根据预设时间内对第一qcow2文件的读写统计值和第一qcow2文件占用的存储空间,将第一qcow2文件合入第二qcow2文件,由此调整缓存qcow2文件对SSD磁盘的使用量,较好地实现了既能隔离虚拟机缓存IO间的相互影响,又能有效限制虚拟磁盘在SSD缓存的使用量。
图4为本公开实施例提供的一种虚拟机磁盘缓存的处理装置的结构框图,该方法可以用于实现上述虚拟机磁盘缓存的处理方法,该装置可以采用软件和/或硬件实现。如图4所示,该装置包括如下模块:
配置模块310,用于确定预先为虚拟机的虚拟机磁盘配置的属性信息,所述属性信息包括:所述虚拟机磁盘是否使能SSD缓存和缓存大小阈值;
创建模块320,用于在所述虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建与所述虚拟机磁盘对应的第一qcow2文件以及在HDD磁盘上创建与所述虚拟机磁盘对应的第二qcow2文件;
统计模块330,用于统计所述虚拟机在预设时间内对所述第一qcow2文件的读写统计值和所述第一qcow2文件在所述SSD磁盘上占用的存储空间;
合入模块340,用于在所述预设时间内的读写统计值小于预设的统计阈值,和/或,所述存储空间大于所述缓存大小阈值的情况下,将所述第一qcow2文件合入所述第二qcow2文件内;
第一启动模块350,用于使用合入后的qcow2文件启动所述虚拟机。
在一种实施例中,所述合入模块340还用于:
判断在所述预设时间内的读写统计值是否小于预设的统计阈值;
如果小于所述统计阈值,则将所述第一qcow2文件合入所述第二qcow2文件内;
如果不小于所述统计阈值,则判断所述存储空间是否大于为所述虚拟机磁盘预先配置的所述缓存大小阈值;
如果大于所述缓存大小阈值,则将所述SSD磁盘上新增长第一qcow2文件合入所述第二qcow2文件内;
如果不大于所述缓存大小阈值,则监听所述虚拟机是否退出。
在一种实施例中,所述创建模块320还用于:
在所述在SSD磁盘上创建与所述虚拟机磁盘对应且大小为所述缓存大小阈值的第一qcow2文件。
在一种实施例中,位于所述HDD磁盘上的所述第二qcow2文件是位于所述SSD磁盘上的所述第一qcow2文件的backing file。
在一种实施例中,所述装置还包括第二启动模块,用于:
当用于管理所述虚拟机的物理机系统启动时,启动预设的全局的缓存管理模块,以及,在Hypervisor层为所述虚拟机启动对应的缓存监控模块;其中,
所述缓存监控模块用于统计所述虚拟机内对所述第一qcow2文件的读写统计值和所述第一qcow2文件在所述SSD磁盘上占用的存储空间;
所述缓存管理模块用于将所述第一qcow2文件合入所述第二qcow2文件内。
在一种实施例中,所述配置模块310还用于:
响应于针对虚拟机磁盘属性配置界面的操作,配置所述虚拟机的虚拟机磁盘是否使能SSD缓存,以及在使能SSD缓存的情况下,为所述虚拟机磁盘配置所述缓存大小阈值。
本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
图5为本公开实施例提供的一种电子设备的结构示意图。如图5所示,电子设备400包括一个或多个处理器401和存储器402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所述的本公开的实施例的虚拟机磁盘缓存的处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置403还可以包括例如键盘、鼠标等等。
该输出装置404可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备400中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
进一步,本实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述虚拟机磁盘缓存的处理方法。
本公开实施例所提供的一种虚拟机磁盘缓存的处理方法、装置、电子设备及介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种虚拟机磁盘缓存的处理方法,其特征在于,包括:
确定预先为虚拟机的虚拟机磁盘配置的属性信息,所述属性信息包括:所述虚拟机磁盘是否使能SSD缓存和缓存大小阈值;
在所述虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建与所述虚拟机磁盘对应的第一qcow2文件以及在HDD磁盘上创建与所述虚拟机磁盘对应的第二qcow2文件;
统计所述虚拟机在预设时间内对所述第一qcow2文件的读写统计值和所述第一qcow2文件在所述SSD磁盘上占用的存储空间;
在所述预设时间内的读写统计值小于预设的统计阈值,和/或,所述存储空间大于所述缓存大小阈值的情况下,将所述第一qcow2文件合入所述第二qcow2文件内;
使用合入后的qcow2文件启动所述虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述在所述预设时间内的读写统计值小于预设的统计阈值,和/或,所述存储空间大于所述缓存大小阈值的情况下,将所述第一qcow2文件合入所述第二qcow2文件内,包括:
判断在所述预设时间内的读写统计值是否小于预设的统计阈值;
如果小于所述统计阈值,则将所述第一qcow2文件合入所述第二qcow2文件内;
如果不小于所述统计阈值,则判断所述存储空间是否大于为所述虚拟机磁盘预先配置的所述缓存大小阈值;
如果大于所述缓存大小阈值,则将所述SSD磁盘上新增长第一qcow2文件合入所述第二qcow2文件内;
如果不大于所述缓存大小阈值,则监听所述虚拟机是否退出。
3.根据权利要求1所述的方法,其特征在于,所述在SSD磁盘上创建与所述虚拟机磁盘对应的第一qcow2文件,包括:
在所述在SSD磁盘上创建与所述虚拟机磁盘对应且大小为所述缓存大小阈值的第一qcow2文件。
4.根据权利要求1所述的方法,其特征在于,位于所述HDD磁盘上的所述第二qcow2文件是位于所述SSD磁盘上的所述第一qcow2文件的backing file。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当用于管理所述虚拟机的物理机系统启动时,启动预设的全局的缓存管理模块,以及,在Hypervisor层为所述虚拟机启动对应的缓存监控模块;其中,
所述缓存监控模块用于统计所述虚拟机内对所述第一qcow2文件的读写统计值和所述第一qcow2文件在所述SSD磁盘上占用的存储空间;
所述缓存管理模块用于将所述第一qcow2文件合入所述第二qcow2文件内。
6.根据权利要求1所述的方法,其特征在于,所述确定预先为虚拟机的虚拟机磁盘配置的属性信息,包括:
响应于针对虚拟机磁盘属性配置界面的操作,配置所述虚拟机的虚拟机磁盘是否使能SSD缓存,以及在使能SSD缓存的情况下,为所述虚拟机磁盘配置所述缓存大小阈值。
7.一种虚拟机磁盘缓存的处理装置,其特征在于,包括:
配置模块,用于确定预先为虚拟机的虚拟机磁盘配置的属性信息,所述属性信息包括:所述虚拟机磁盘是否使能SSD缓存和缓存大小阈值;
创建模块,用于在所述虚拟机磁盘使能SSD缓存的情况下,在SSD磁盘上创建与所述虚拟机磁盘对应的第一qcow2文件以及在HDD磁盘上创建与所述虚拟机磁盘对应的第二qcow2文件;
统计模块,用于统计所述虚拟机在预设时间内对所述第一qcow2文件的读写统计值和所述第一qcow2文件在所述SSD磁盘上占用的存储空间;
合入模块,用于在所述预设时间内的读写统计值小于预设的统计阈值,和/或,所述存储空间大于所述缓存大小阈值的情况下,将所述第一qcow2文件合入所述第二qcow2文件内;
启动模块,用于使用合入后的qcow2文件启动所述虚拟机。
8.根据权利要求7所述的装置,其特征在于,所述合入模块还用于:
判断在所述预设时间内的读写统计值是否小于预设的统计阈值;
如果小于所述统计阈值,则将所述第一qcow2文件合入所述第二qcow2文件内;
如果不小于所述统计阈值,则判断所述存储空间是否大于为所述虚拟机磁盘预先配置的所述缓存大小阈值;
如果大于所述缓存大小阈值,则将所述SSD磁盘上新增长第一qcow2文件合入所述第二qcow2文件内;
如果不大于所述缓存大小阈值,则监听所述虚拟机是否退出。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-6中任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-6中任一所述的方法。
CN202311650493.9A 2023-12-01 2023-12-01 虚拟机磁盘缓存的处理方法、装置、设备及介质 Pending CN117608493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311650493.9A CN117608493A (zh) 2023-12-01 2023-12-01 虚拟机磁盘缓存的处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311650493.9A CN117608493A (zh) 2023-12-01 2023-12-01 虚拟机磁盘缓存的处理方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117608493A true CN117608493A (zh) 2024-02-27

Family

ID=89951431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311650493.9A Pending CN117608493A (zh) 2023-12-01 2023-12-01 虚拟机磁盘缓存的处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117608493A (zh)

Similar Documents

Publication Publication Date Title
US11157306B2 (en) Faster access of virtual machine memory backed by a host computing device's virtual memory
JP6050262B2 (ja) 仮想ディスクストレージ技術
JP5657121B2 (ja) 仮想マシンのオンデマンド型イメージ・ストリーミング
JP5932973B2 (ja) 仮想記憶ディスク技術
US9146766B2 (en) Consistent unmapping of application data in presence of concurrent, unquiesced writers and readers
US8612633B2 (en) Virtual machine fast emulation assist
US8966188B1 (en) RAM utilization in a virtual environment
WO2014109007A1 (ja) ストレージ階層管理システム
US20160188232A1 (en) Systems and methods for implementing stretch clusters in a virtualization environment
US20140282514A1 (en) Virtualization support for storage devices
US20110078682A1 (en) Providing Object-Level Input/Output Requests Between Virtual Machines To Access A Storage Subsystem
US9189387B1 (en) Combined memory and storage tiering
KR102219122B1 (ko) 다중-운영-체제 환경들에서 운영 체제 전환들을 위한 기술들
US11422860B2 (en) Optimizing save operations for OS/hypervisor-based persistent memory
WO2012162420A2 (en) Managing data input/output operations
CN111919201B (zh) 混合式存储器系统
US11995459B2 (en) Memory copy during virtual machine migration in a virtualized computing system
US20170131928A1 (en) Method for performing hot-swap of a storage device in a virtualization environment
JP2012123556A (ja) 仮想サーバーシステム、及びその制御方法
JP5966466B2 (ja) バックアップ制御方法、および情報処理装置
KR20190116641A (ko) 가상화 시스템을 위한 저장 장치 및 그 동작 방법
Bahn et al. Separation of virtual machine I/O in cloud systems
US20190227957A1 (en) Method for using deallocated memory for caching in an i/o filtering framework
CN117608493A (zh) 虚拟机磁盘缓存的处理方法、装置、设备及介质
Zhou et al. An end-to-end analysis of file system features on sparse virtual disks

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