[go: up one dir, main page]

CN103870312B - Establish the method and device that virtual machine shares memory buffers - Google Patents

Establish the method and device that virtual machine shares memory buffers Download PDF

Info

Publication number
CN103870312B
CN103870312B CN201210535072.7A CN201210535072A CN103870312B CN 103870312 B CN103870312 B CN 103870312B CN 201210535072 A CN201210535072 A CN 201210535072A CN 103870312 B CN103870312 B CN 103870312B
Authority
CN
China
Prior art keywords
virtual machine
data
read
virtual
module
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
CN201210535072.7A
Other languages
Chinese (zh)
Other versions
CN103870312A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210535072.7A priority Critical patent/CN103870312B/en
Priority to PCT/CN2013/079647 priority patent/WO2014089967A1/en
Publication of CN103870312A publication Critical patent/CN103870312A/en
Application granted granted Critical
Publication of CN103870312B publication Critical patent/CN103870312B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a kind of method and device established virtual machine and share memory buffers, this method includes:Obtain in virtual machine start-up course from the virtual data for starting disk read-write;The data are stored to virtual machine shared buffer memory device, the data are read from the virtual machine shared buffer memory device when starting for other virtual machines.By the above-mentioned means, the present invention can only be buffered in effective data during virtual machine starts with seldom memory headroom, solve the problems, such as input and output when virtual machine concurrently starts read-write data.

Description

建立虚拟机共享存储缓存的方法及装置Method and device for establishing virtual machine shared storage cache

技术领域technical field

本发明涉及虚拟机技术领域,特别是涉及一种建立虚拟机共享存储缓存的方法及装置。The invention relates to the technical field of virtual machines, in particular to a method and device for establishing a virtual machine shared storage cache.

背景技术Background technique

不管是对于全克隆模式部署的虚拟机还是对于链接克隆模式部署的虚拟机,大量的虚拟机在同时启动的情况下,出现频繁的输入输出(IO,Input Output)操作,这对共享存储形成了很高的每秒输入输出(IOPS,Input Output per second)压力峰值,导致虚拟机启动速度慢。在配置桌面云存储时按照最高峰值的要求进行配置,导致高IOPS存储配置在平常时段形成浪费。Regardless of whether it is a virtual machine deployed in full-clone mode or a virtual machine deployed in linked-clone mode, when a large number of virtual machines are started at the same time, frequent input and output (IO, Input Output) operations occur, which creates a negative impact on shared storage. The high input and output per second (IOPS, Input Output per second) pressure peak causes the virtual machine to start slowly. When configuring desktop cloud storage, configure it according to the highest peak requirement, resulting in waste of high IOPS storage configuration during normal hours.

现有技术采用流控方法,将虚拟机的启动时间设置在上班前几个小时,提前对所有虚拟机以流控的方式逐步启动,从而避免集中并发启动对存储服务能力的冲击。The existing technology adopts the flow control method, sets the start time of the virtual machine several hours before going to work, and gradually starts all the virtual machines in advance in a flow control manner, so as to avoid the impact of centralized concurrent start on the storage service capability.

现有技术未真正解决虚拟机并发启动读写数据时的输入输出问题。The prior art does not really solve the input/output problem when the virtual machine starts to read and write data concurrently.

发明内容Contents of the invention

本发明主要解决的技术问题是提供一种建立虚拟机共享存储缓存的方法及装置,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动数据读写时的输入输出问题。The technical problem mainly solved by the present invention is to provide a method and device for establishing a virtual machine shared storage cache, which can only cache valid data during the startup of the virtual machine with a small memory space, and solve the problem of reading and writing data when the virtual machine starts concurrently. Input and output problems.

本发明的第一方面提供一种建立虚拟机共享存储缓存的方法,包括:获取虚拟机启动过程中从虚拟启动磁盘读写的数据;存储所述数据至虚拟机共享缓存装置,以供其他虚拟机启动时从所述虚拟机共享缓存装置读取所述数据。The first aspect of the present invention provides a method for establishing a virtual machine shared storage cache, including: obtaining data read and written from the virtual boot disk during the virtual machine startup process; storing the data to the virtual machine shared cache device for other virtual machines The data is read from the virtual machine shared cache device when the machine starts.

在第一方面的第一种可能的实现方式中,所述获取虚拟机启动过程中从虚拟启动磁盘读写的数据的步骤之前,包括:所述虚拟机向所述虚拟机共享缓存装置发送读写请求;所述虚拟机接收所述虚拟机共享缓存装置发送的读写请求响应,所述读写请求响应携带读写请求失败信息。In a first possible implementation manner of the first aspect, before the step of acquiring the data read and written from the virtual boot disk during the startup process of the virtual machine, the step includes: the virtual machine sends the read data to the virtual machine shared cache device A write request: the virtual machine receives a read and write request response sent by the virtual machine shared cache device, and the read and write request response carries read and write request failure information.

结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:对所述虚拟机共享缓存装置存储的数据进行重复数据删除操作。With reference to the first aspect or the first possible implementation of the first aspect, in the second possible implementation of the first aspect, the method further includes: repeating the data stored in the virtual machine shared cache device Data deletion operations.

结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述虚拟机启动过程包括所述虚拟机开机到所述虚拟机操作系统启动完成或所述虚拟机开机到所述虚拟机的预设的应用程序的启动完成。With reference to the first aspect or the first possible implementation of the first aspect, in a third possible implementation of the first aspect, the virtual machine startup process includes booting the virtual machine into the virtual machine operating system The startup is completed or the virtual machine is powered on and the startup of the preset application program of the virtual machine is completed.

本发明的第二方面提供一种虚拟机共享缓存的装置,所述装置包括:获取模块和存储模块;所述获取模块用于获取虚拟机启动过程中从虚拟启动磁盘读写的数据;所述存储模块用于存储所述数据至虚拟机共享缓存装置,以供其他虚拟机启动时从所述虚拟机共享缓存装置读取所述数据。The second aspect of the present invention provides a virtual machine shared cache device, the device includes: an acquisition module and a storage module; the acquisition module is used to acquire data read and written from the virtual boot disk during the startup process of the virtual machine; the The storage module is used for storing the data in the virtual machine shared cache device, so that other virtual machines can read the data from the virtual machine shared cache device when starting.

在第二方面的第一种可能的实现方式中,所述装置还包括:读写模块;所述读写模块用于在所述虚拟机向所述虚拟机共享缓存装置发送读写请求时,接收所述请求,并向所述虚拟机发送所述虚拟机共享缓存装置发送的读写请求响应,所述读写请求响应携带读写请求失败信息。In a first possible implementation manner of the second aspect, the device further includes: a read-write module; the read-write module is configured to, when the virtual machine sends a read-write request to the virtual machine shared cache device, receiving the request, and sending a read and write request response sent by the virtual machine shared cache device to the virtual machine, where the read and write request response carries read and write request failure information.

结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述装置还包括去重复模块,所述去重复模块用于对所述虚拟机共享缓存装置存储的数据进行重复数据删除操作。With reference to the second aspect or the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the device further includes a deduplication module, and the deduplication module is configured to perform the The virtual machine shares data stored in the cache device to perform a data deduplication operation.

结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述虚拟机启动过程包括所述虚拟机开机到所述虚拟机操作系统启动完成或所述虚拟机开机到所述虚拟机的预设的应用程序的启动完成。With reference to the second aspect or the first possible implementation of the second aspect, in a third possible implementation of the second aspect, the virtual machine startup process includes booting the virtual machine into the virtual machine operating system The startup is completed or the virtual machine is powered on and the startup of the preset application program of the virtual machine is completed.

本发明的有益效果是:区别于现有技术的情况,本发明获取虚拟机启动过程中从虚拟启动磁盘读写的数据;只将对虚拟机启动有效的数据缓存至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取数据,通过这种方式,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动的输入输出问题。The beneficial effects of the present invention are: different from the situation of the prior art, the present invention obtains the data read and written from the virtual boot disk during the virtual machine startup process; only caches the data valid for the virtual machine startup to the virtual machine shared cache device, so as to It is used to read data from the virtual machine shared cache device when other virtual machines are started. In this way, only valid data during virtual machine startup can be cached with a small memory space, and the input and output problem of concurrent startup of virtual machines can be solved.

附图说明Description of drawings

图1是本发明建立虚拟机共享存储缓存的方法一实施方式的流程图;FIG. 1 is a flowchart of an embodiment of a method for establishing a virtual machine shared storage cache in the present invention;

图2是本发明建立虚拟机共享存储缓存的方法另一实施方式的流程图;FIG. 2 is a flow chart of another embodiment of the method for establishing a virtual machine shared storage cache in the present invention;

图3是本发明建立虚拟机共享存储缓存的方法在实际应用中的一实现方式;FIG. 3 is an implementation of the method for establishing a virtual machine shared storage cache in a practical application in the present invention;

图4是本发明建立虚拟机共享存储缓存的方法在实际应用中的另一实现方式;FIG. 4 is another implementation in practical application of the method for establishing a virtual machine shared storage cache in the present invention;

图5是虚拟机创建、启动以及关机过程;Fig. 5 is the process of creating, starting and shutting down a virtual machine;

图6是本发明建立虚拟机共享存储缓存的方法在实际应用中去重复操作的一实现方式;FIG. 6 is an implementation of the method for establishing a virtual machine shared storage cache in a practical application to de-duplicate operations in the present invention;

图7是本发明虚拟机共享缓存的装置一实施方式的结构示意图;FIG. 7 is a schematic structural diagram of an embodiment of a device for sharing a cache among virtual machines according to the present invention;

图8是本发明虚拟机共享缓存的装置另一实施方式的结构示意图。FIG. 8 is a schematic structural diagram of another embodiment of an apparatus for sharing a cache among virtual machines according to the present invention.

具体实施方式detailed description

下面结合附图和实施方式对本发明进行详细说明。The present invention will be described in detail below in conjunction with the accompanying drawings and embodiments.

参阅图1,图1是本发明建立虚拟机共享存储缓存的方法一实施方式的流程图,包括:Referring to FIG. 1, FIG. 1 is a flowchart of an embodiment of a method for establishing a virtual machine shared storage cache according to the present invention, including:

步骤S101:获取虚拟机启动过程中从虚拟启动磁盘读写的数据。Step S101: Obtain the data read and written from the virtual boot disk during the boot process of the virtual machine.

虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。A virtual machine refers to a complete computer system that is simulated by software and has complete hardware system functions and runs in a completely isolated environment.

在启动虚拟机时,虚拟机从虚拟启动磁盘读写数据,这些数据是虚拟机启动所需要的真正有效的数据,获取这些有效的数据,以便于存储这些虚拟机启动时从虚拟启动磁盘读写的数据。When the virtual machine is started, the virtual machine reads and writes data from the virtual boot disk. These data are the real and valid data needed for the virtual machine to start, and these valid data are obtained to facilitate storage of these virtual machines. Read and write from the virtual boot disk when the virtual machine starts The data.

步骤S102:存储该数据至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取该数据。Step S102: Store the data in the virtual machine shared cache device, so that other virtual machines can read the data from the virtual machine shared cache device when starting up.

在获取了虚拟机启动过程中从虚拟启动磁盘读写的数据后,将这些数据存储在虚拟机共享缓存装置中,以供其他虚拟机启动时从虚拟机共享缓存装置读取该数据,这样分担了大部分的虚拟启动磁盘的输入输出压力。After obtaining the data read and written from the virtual boot disk during the virtual machine startup process, these data are stored in the virtual machine shared cache device, so that other virtual machines can read the data from the virtual machine shared cache device when starting, thus sharing Most of the virtual boot disk's I/O stress.

需要说明的是,本实施方式中虚拟机启动过程包括虚拟机开机到虚拟机操作系统启动完成或虚拟机开机到虚拟机的预设的应用程序的启动完成。例如,可以是Windows操作系统的启动过程,或者Office、Photoshop等应用程序的启动过程。本发明实施例中虚拟机启动为虚拟机机群大规模启动之前的一台临时虚拟机启动过程,根据临时虚拟机的启动获取虚拟机大规模启动过程所必须的读写的数据,并将这些读写数据存储到虚拟机共享缓存装置,以供其他虚拟机启动时从该虚拟机共享缓存装置读取数据。It should be noted that, in this embodiment, the process of starting the virtual machine includes starting the virtual machine to the completion of starting the operating system of the virtual machine or starting the virtual machine to the completion of starting the preset application program of the virtual machine. For example, it may be the startup process of the Windows operating system, or the startup process of application programs such as Office and Photoshop. In the embodiment of the present invention, virtual machine startup is the startup process of a temporary virtual machine before the large-scale startup of the virtual machine cluster. According to the startup of the temporary virtual machine, the necessary read and write data for the large-scale startup process of the virtual machine are obtained, and these read and write data are read and written. The write data is stored in the virtual machine shared cache device for reading data from the virtual machine shared cache device when other virtual machines are started.

本发明获取虚拟机启动过程中从虚拟启动磁盘读写的数据;只将对虚拟机启动有效的数据缓存至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取数据,通过这种方式,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动读写数据时输入输出问题。The present invention obtains the data read and written from the virtual boot disk during the startup process of the virtual machine; only the data valid for the startup of the virtual machine is cached to the virtual machine shared cache device for reading data from the virtual machine shared cache device when other virtual machines start In this way, only valid data during virtual machine startup can be cached with a small amount of memory space, and the problem of input and output when virtual machines are started concurrently to read and write data can be solved.

参阅图2,图2是本发明建立虚拟机共享存储缓存的方法另一实施方式的流程图,包括:Referring to FIG. 2, FIG. 2 is a flow chart of another embodiment of the method for establishing a virtual machine shared storage cache according to the present invention, including:

步骤S201:虚拟机向虚拟机共享缓存装置发送读写请求。Step S201: the virtual machine sends a read and write request to the virtual machine shared cache device.

在启动虚拟机时,虚拟机向虚拟机共享缓存装置发送读写请求。When the virtual machine is started, the virtual machine sends a read and write request to the virtual machine shared cache device.

步骤S202:虚拟机接收虚拟机共享缓存装置发送的读写请求响应,读写请求响应携带读写请求失败信息。Step S202: The virtual machine receives the read and write request response sent by the virtual machine shared cache device, and the read and write request response carries failure information of the read and write request.

在虚拟机共享缓存装置中没有虚拟机读写请求的数据时,向虚拟机发送读写请求响应,虚拟机然后接收虚拟机共享缓存装置发送的读写请求响应,该读写请求响应携带读写请求失败信息。When there is no data in the virtual machine shared cache device for the read and write request of the virtual machine, a read and write request response is sent to the virtual machine, and the virtual machine then receives the read and write request response sent by the virtual machine shared cache device. The read and write request response carries the read and write Request failure information.

步骤S203:获取虚拟机启动过程中从虚拟启动磁盘读写的数据。Step S203: Obtain the data read and written from the virtual boot disk during the boot process of the virtual machine.

步骤S204:存储所述数据至虚拟机共享缓存装置,以供其他虚拟机启动时从所述虚拟机共享缓存装置读取所述数据。Step S204: Store the data in the virtual machine shared cache device, so that other virtual machines can read the data from the virtual machine shared cache device when starting up.

在实际应用中,步骤S201、步骤S202、步骤S203以及步骤S204的实现过程请参见图3和图4,图3是本发明建立虚拟机共享存储缓存的方法在实际应用中的一实现方式。本实现方式是虚拟机开机以及操作系统启动过程中对数据读请求的过程,包括:In practical application, please refer to FIG. 3 and FIG. 4 for the implementation process of step S201, step S202, step S203, and step S204. FIG. This implementation is the process of requesting data reads during the startup of the virtual machine and the startup of the operating system, including:

(b1)读请求:虚拟机VM0对操作系统启动虚拟磁盘的读请求到达虚拟机共享缓存装置的读写模块(即模块B)。(b1) Read request: The read request of the virtual machine VM0 to the virtual disk started by the operating system arrives at the read-write module (ie, module B) of the virtual machine shared cache device.

(b2)Cache(即虚拟机共享缓存装置的存储模块,C模块)查询:B模块向C模块获取当前请求的数据。(b2) Cache (that is, the storage module of the virtual machine shared cache device, module C) query: the module B obtains the currently requested data from the module C.

(b3.2)Cache未命中:即C模块中没有B模块当前请求的数据,C模块向B模块返回空数据和缓存未命中状态。(b3.2) Cache miss: that is, there is no data currently requested by module B in module C, and module C returns empty data and cache miss status to module B.

(b4)读存储设备:B模块从存储设备(即操作系统虚拟启动磁盘)读取当前请求的数据。(b4) Read storage device: Module B reads the currently requested data from the storage device (that is, the virtual boot disk of the operating system).

(b5)读存储设备返回:存储设备返回当前请求的数据给B模块。(b5) Return from reading the storage device: the storage device returns the currently requested data to the B module.

(b6.2)虚拟机读请求返回:B模块将从存储设备读取到的数据返回给虚拟机。(b6.2) Virtual machine read request return: Module B returns the data read from the storage device to the virtual machine.

(b7)模块B将从存储设备中读取到的数据缓存到C模块。此缓存操作只发生在虚拟机启动过程中。(b7) Module B caches the data read from the storage device to module C. This caching operation only occurs during virtual machine startup.

(b3.1)Cache命中:即C模块中保存有B模块当前请求的数据,C模块向B模块返回读取到的数据和缓存命中状态。(b3.1) Cache hit: that is, the data currently requested by the B module is stored in the C module, and the C module returns the read data and the cache hit status to the B module.

(b6.1)虚拟机读请求返回:B模块将C模块返回的数据返回给虚拟机。(b6.1) Virtual machine read request return: B module returns the data returned by C module to the virtual machine.

图4是本发明建立虚拟机共享存储缓存的方法在实际应用中的另一实现方式。本实现方式是虚拟机开机以及操作系统启动过程中的数据写请求的过程,包括:FIG. 4 is another implementation of the method for establishing a virtual machine shared storage cache according to the present invention in practical applications. This implementation is the process of data write request during the startup of the virtual machine and the startup of the operating system, including:

(c1)写请求:虚拟机VM0对操作系统虚拟启动磁盘的写请求到达虚拟机共享缓存装置的读写模块(即模块B)。(c1) Write request: The write request of the virtual machine VM0 to the virtual boot disk of the operating system arrives at the read-write module (ie, module B) of the virtual machine shared cache device.

(c2)写存储设备:模块B向存储设备(即操作系统虚拟启动磁盘)发送写请求。(c2) Write storage device: Module B sends a write request to the storage device (ie, the virtual boot disk of the operating system).

(c3)写存储设备返回:存储设备返回写请求完成情况给模块B。(c3) Write storage device return: the storage device returns the completion status of the write request to module B.

(c4)更新缓存:如果c3返回写入存储设备成功,将本次写请求的数据缓存到C模块(即虚拟机共享缓存装置的存储模块),此缓存操作只发生在虚拟机启动过程中。(c4) Update cache: If c3 returns that the write to the storage device is successful, cache the data of this write request to the C module (that is, the storage module of the virtual machine shared cache device). This cache operation only occurs during the virtual machine startup process.

(c5)虚拟机写请求返回:模块B将写存储设备返回的结果返回给虚拟机。(c5) Return of the virtual machine write request: module B returns the result returned by writing the storage device to the virtual machine.

请参阅图5,图5是虚拟机VM0创建、启动以及关机过程。该过程包括:Please refer to FIG. 5 . FIG. 5 is the process of creating, starting and shutting down the virtual machine VMO. The process includes:

(a1)在Hypervisor中从操作系统启动磁盘以非链接克隆方式创建虚拟机VM0。(a1) Create a virtual machine VM0 in a non-linked clone mode from the operating system boot disk in the Hypervisor.

(a2)开始启动虚拟机VM0,记录开始启动的时间为T1。(a2) Start the virtual machine VM0, and record the start time as T1.

(a3)VM0进入开机和操作系统启动过程。(a3) VM0 enters the boot and operating system startup process.

(a4)VM0完成开机和操作系统启动过程,记录完成OS启动的时刻为T2。(a4) VM0 completes the booting and operating system startup process, and records the time when the OS startup is completed as T2.

(a5)登陆VM0,VM0开始登陆,记录登陆OS完成的时刻为T3。(a5) Log in to VM0, VM0 starts to log in, and record the time when logging in to the OS is completed as T3.

在图5中,T1时刻的识别可以是管理软件下达虚拟机开机的时刻。In FIG. 5 , the identification of time T1 may be the time when the management software orders the virtual machine to start.

以基于Xen系统实现的虚拟机为例,T2时刻可以由以下方法识别:在虚拟机操作系统中预先实现和部署一个Agent程序,该Agent程序监测系统进程的开启和关闭过程。当该Agent检测到某个进程开始启动时,向Xenstore写入一个标记。在Hypervisor中或者Hypervisor所在操作系统中的Cache优化模块(即虚拟机共享缓存装置的存储模块)通过在Xenstore中检测相应的标记来确定T2和T3时刻。以Windows操作系统为例,检测到“winlogon.exe”就可以定出T2;检测到“explorer.exe”就可以定出T3。Taking the virtual machine based on the Xen system as an example, the T2 time can be identified by the following method: implement and deploy an Agent program in the virtual machine operating system in advance, and the Agent program monitors the opening and closing process of the system process. When the Agent detects that a process starts to start, it writes a mark to Xenstore. The Cache optimization module (that is, the storage module of the virtual machine shared cache device) in the Hypervisor or in the operating system where the Hypervisor is located determines the time T2 and T3 by detecting corresponding marks in the Xenstore. Taking the Windows operating system as an example, if "winlogon.exe" is detected, T2 can be determined; if "explorer.exe" is detected, T3 can be determined.

通过缓存T1到T2(或者T3)之间的数据,来有效减少需要缓存的数据量。By caching data between T1 and T2 (or T3), the amount of data that needs to be cached can be effectively reduced.

步骤S205:对虚拟机共享缓存装置存储的数据进行重复数据删除操作。Step S205: Deduplicate data stored in the virtual machine shared cache device.

重复数据删除技术是一种目前主流且非常热门的存储技术,可对存储容量进行有效优化。它通过删除数据集中重复的数据,只保留其中一份,从而消除冗余数据。这种技术可以很大程度上减少对物理存储空间的需求,从而满足日益增长的数据存储需求。该技术可以带来许多实际的利益,比如:可以有效控制数据的急剧增长;增加有效存储空间,提高存储效率;节省存储总成本和管理成本;节省数据传输的网络带宽;节省空间、电力供应、冷却等运维成本等等。Data deduplication technology is a mainstream and very popular storage technology, which can effectively optimize storage capacity. It eliminates redundant data by deleting duplicate data in the dataset and keeping only one copy. This technology can greatly reduce the demand for physical storage space, thereby meeting the growing demand for data storage. This technology can bring many practical benefits, such as: can effectively control the rapid growth of data; increase effective storage space, improve storage efficiency; save total storage cost and management cost; save network bandwidth for data transmission; save space, power supply, Cooling and other operation and maintenance costs and so on.

在实际应用中,步骤S205的实现过程请参见图6,图6是本发明建立虚拟机共享存储缓存的方法在实际应用中去重复操作的一实现方式。本实现方式是不同虚拟机之间的缓存数据去重复操作的过程,具体以虚拟机VM1的数据保存到VM1_cacheMap的过程为例说明,该过程包括:In practical application, please refer to FIG. 6 for the implementation process of step S205. FIG. 6 is an implementation manner of deduplication operation in practical application of the method for establishing a virtual machine shared storage cache in the present invention. This implementation is the process of deduplicating the cached data between different virtual machines. Specifically, the process of saving the data of the virtual machine VM1 to VM1_cacheMap is used as an example. The process includes:

(d1)在VM1_CacheMap中查询有没有{start sector,length}的影射表项,如果没有则新建表项并填充{start sector,length,-1},并设为要操作的VM1_cacheMap表项;如果查询到影射表项,将该影射表项设为要操作的VM1_cacheMap表项。(d1) Query whether there is a mapping entry of {start sector, length} in VM1_CacheMap, if not, create a new entry and fill in {start sector, length,-1}, and set it as the VM1_cacheMap entry to be operated; if query To the mapping entry, set the mapping entry as the VM1_cacheMap entry to be operated.

(d2)计算待缓存数据的hash值。(d2) Calculate the hash value of the data to be cached.

(d3)在共享缓存数据表中进行hash值查找,如果找到hash值的数据项则将待缓存数据与数据项中的数据进行逐位对比,如果完全一样,则更新当前要操作的VM1_cacheMap表项的Data Pointer为指向该数据项,并将数据项中的ref count加1。(d3) Search the hash value in the shared cache data table. If a data item with a hash value is found, compare the data to be cached with the data in the data item bit by bit. If they are exactly the same, update the VM1_cacheMap entry currently to be operated. The Data Pointer points to the data item, and adds 1 to the ref count in the data item.

(d4)如果在共享缓存数据表中没有找到重复内容的项,则新建数据表项,填充相应内容并更新当前要操作的VM1_cacheMap表项的DataPointer为指向该新建数据项。(d4) If no item with duplicate content is found in the shared cache data table, create a new data table item, fill in the corresponding content and update the DataPointer of the VM1_cacheMap table item currently to be operated to point to the newly created data item.

需要说明的是,本实施方式中虚拟机的启动过程包括虚拟机开机到虚拟机操作系统启动完成或虚拟机开机到虚拟机的预设的应用程序的启动完成。例如,可以是Windows操作系统的启动,或者Office、Photoshop等应用程序的启动。本发明实施例中虚拟机启动为虚拟机机群大规模启动之前的一台临时虚拟机启动过程,根据临时虚拟机的启动获取虚拟机大规模启动过程所必须的读写的数据,并将这些读写数据存储到虚拟机共享缓存装置,以供其他虚拟机启动时从该虚拟机共享缓存装置读取数据。It should be noted that, in this embodiment, the starting process of the virtual machine includes starting the virtual machine to the completion of starting the virtual machine operating system or starting the virtual machine to the completion of starting the preset application program of the virtual machine. For example, it may be the startup of the Windows operating system, or the startup of application programs such as Office and Photoshop. In the embodiment of the present invention, virtual machine startup is the startup process of a temporary virtual machine before the large-scale startup of the virtual machine cluster. According to the startup of the temporary virtual machine, the necessary read and write data for the large-scale startup process of the virtual machine are obtained, and these read and write data are read and written. The write data is stored in the virtual machine shared cache device for reading data from the virtual machine shared cache device when other virtual machines are started.

本发明获取虚拟机启动过程中从虚拟启动磁盘读写的数据;只将对虚拟机启动有效的数据缓存至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取数据,通过这种方式,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动的输入输出问题。另外,利用重复数据删除技术进行去重复操作可以节省内存。The present invention obtains the data read and written from the virtual boot disk during the startup process of the virtual machine; only the data valid for the startup of the virtual machine is cached to the virtual machine shared cache device for reading data from the virtual machine shared cache device when other virtual machines start In this way, only valid data during virtual machine startup can be cached with a small memory space, and the input and output problem of concurrent startup of virtual machines can be solved. In addition, deduplication using deduplication technology saves memory.

参阅图7,图7是本发明虚拟机共享缓存装置一实施方式的结构示意图,该装置包括:获取模块101和存储模块102。Referring to FIG. 7 , FIG. 7 is a schematic structural diagram of an embodiment of a virtual machine shared cache device according to the present invention. The device includes: an acquisition module 101 and a storage module 102 .

可选地,图7的装置可以执行图1至图2中的步骤。Optionally, the device in FIG. 7 may execute the steps in FIG. 1 to FIG. 2 .

获取模块101用于获取虚拟机启动过程中从虚拟启动磁盘读写的数据。The obtaining module 101 is used for obtaining the data read and written from the virtual boot disk during the virtual machine startup process.

在启动虚拟机时,虚拟机从虚拟启动磁盘读写数据,这些数据是虚拟机启动所需要的真正有效的数据,获取这些有效的数据,以便于存储这些虚拟机启动时从虚拟启动磁盘读写的数据。When the virtual machine is started, the virtual machine reads and writes data from the virtual boot disk. These data are the real and valid data needed for the virtual machine to start, and these valid data are obtained to facilitate storage of these virtual machines. Read and write from the virtual boot disk when the virtual machine starts The data.

存储模块102用于存储该数据至虚拟机共享缓存装置,以供其他虚拟机启动时从该虚拟机共享缓存装置读取该数据。The storage module 102 is used for storing the data in the virtual machine shared cache device, so that other virtual machines can read the data from the virtual machine shared cache device when starting up.

在获取了虚拟机启动过程中从虚拟启动磁盘读写的数据后,将这些数据存储在虚拟机共享缓存装置中,以供其他虚拟机启动时从虚拟机共享缓存装置读取该数据,这样分担了大部分的虚拟启动磁盘的输入输出压力。After obtaining the data read and written from the virtual boot disk during the virtual machine startup process, these data are stored in the virtual machine shared cache device, so that other virtual machines can read the data from the virtual machine shared cache device when starting, thus sharing Most of the virtual boot disk's I/O stress.

需要说明的是,本实施方式中虚拟机启动过程包括虚拟机开机到虚拟机操作系统启动完成或虚拟机开机到虚拟机的预设的应用程序的启动完成。例如,可以是Windows操作系统的启动,或者Office、Photoshop等应用程序的启动。本发明实施例中虚拟机启动为虚拟机机群大规模启动之前的一台临时虚拟机启动过程,根据临时虚拟机的启动获取虚拟机大规模启动过程所必须的读写的数据,并将这些读写数据存储到虚拟机共享缓存装置,以供其他虚拟机启动时从该虚拟机共享缓存装置读取数据。It should be noted that, in this embodiment, the process of starting the virtual machine includes starting the virtual machine to the completion of starting the operating system of the virtual machine or starting the virtual machine to the completion of starting the preset application program of the virtual machine. For example, it may be the startup of the Windows operating system, or the startup of application programs such as Office and Photoshop. In the embodiment of the present invention, virtual machine startup is the startup process of a temporary virtual machine before the large-scale startup of the virtual machine cluster. According to the startup of the temporary virtual machine, the necessary read and write data for the large-scale startup process of the virtual machine are obtained, and these read and write data are read and written. The write data is stored in the virtual machine shared cache device for reading data from the virtual machine shared cache device when other virtual machines are started.

本发明获取虚拟机启动过程中从虚拟启动磁盘读写的数据;只将对虚拟机启动有效的数据缓存至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取数据,通过这种方式,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动读写数据时的输入输出问题,且不限于虚拟机的部署模式。The present invention obtains the data read and written from the virtual boot disk during the startup process of the virtual machine; only the data valid for the startup of the virtual machine is cached to the virtual machine shared cache device for reading data from the virtual machine shared cache device when other virtual machines start In this way, only valid data during virtual machine startup can be cached with a small amount of memory space, and the input and output problems when virtual machines are started to read and write data concurrently can be solved, and it is not limited to the deployment mode of virtual machines.

参阅图8,图8是本发明虚拟机共享缓存装置另一实施方式的结构示意图,该装置包括:获取模块201、存储模块202、读写模块203以及去重复模块204。Referring to FIG. 8 , FIG. 8 is a schematic structural diagram of another embodiment of a virtual machine shared cache device according to the present invention. The device includes: an acquisition module 201 , a storage module 202 , a read-write module 203 and a deduplication module 204 .

可选地,图8的装置可以执行图2中的步骤。Optionally, the device in FIG. 8 may execute the steps in FIG. 2 .

获取模块201用于获取虚拟机启动过程中从虚拟启动磁盘读写的数据。The obtaining module 201 is used for obtaining the data read and written from the virtual boot disk during the virtual machine startup process.

存储模块202用于存储该数据至虚拟机共享缓存装置,以供其他虚拟机启动时从该虚拟机共享缓存装置读取该数据。The storage module 202 is used for storing the data in the virtual machine shared cache device, so that other virtual machines can read the data from the virtual machine shared cache device when starting up.

读写模块203用于在虚拟机向虚拟机共享缓存装置发送读写请求时,接收该请求,并向虚拟机发送虚拟机共享缓存装置发送的读写请求响应,该读写请求响应携带读写请求失败信息。The read-write module 203 is configured to receive the request when the virtual machine sends a read-write request to the virtual machine shared cache device, and send a read-write request response sent by the virtual machine shared cache device to the virtual machine, the read-write request response carrying a read-write request Request failure information.

去重复模块204用于对虚拟机共享缓存装置存储的数据进行重复数据删除操作。The deduplication module 204 is configured to perform deduplication operation on the data stored in the virtual machine shared cache device.

其中,虚拟机启动过程包括虚拟机开机到虚拟机操作系统启动完成或虚拟机开机到虚拟机的预设的应用程序的启动完成。本发明实施例中虚拟机启动为虚拟机机群大规模启动之前的一台临时虚拟机启动过程,根据临时虚拟机的启动获取虚拟机大规模启动过程所必须的读写的数据,并将这些读写数据存储到虚拟机共享缓存装置,以供其他虚拟机启动时从该虚拟机共享缓存装置读取数据。Wherein, the starting process of the virtual machine includes starting the virtual machine to the completion of starting the operating system of the virtual machine or starting the virtual machine to the completion of starting the preset application program of the virtual machine. In the embodiment of the present invention, virtual machine startup is the startup process of a temporary virtual machine before the large-scale startup of the virtual machine cluster. According to the startup of the temporary virtual machine, the necessary read and write data for the large-scale startup process of the virtual machine are obtained, and these read and write data are read and written. The write data is stored in the virtual machine shared cache device for reading data from the virtual machine shared cache device when other virtual machines are started.

本发明获取虚拟机启动过程中从虚拟启动磁盘读写的数据;只将对虚拟机启动有效的数据缓存至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取数据,通过这种方式,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动读写数据时的输入输出问题。另外,利用重复数据删除技术进行去重复操作可以节省内存。The invention obtains the data read and written from the virtual boot disk during the startup process of the virtual machine; only the data valid for the startup of the virtual machine is cached to the virtual machine shared cache device for reading data from the virtual machine shared cache device when other virtual machines start In this way, only valid data during virtual machine startup can be cached with a small amount of memory space, and the input and output problem when virtual machines are started concurrently to read and write data can be solved. In addition, deduplication using deduplication technology saves memory.

在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present invention, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device implementations described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be Incorporation may either be integrated into another system, or some features may be omitted, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the essence of the technical solution of the present invention or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) execute all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk, and other media that can store program codes. .

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。The above is only the embodiment of the present invention, and does not limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made by using the description of the present invention and the contents of the accompanying drawings, or directly or indirectly used in other related technologies fields, all of which are equally included in the scope of patent protection of the present invention.

Claims (6)

  1. A kind of 1. method established virtual machine and share memory buffers, it is characterised in that including:
    According to the startup of temporary virtual machine, obtain in virtual machine start-up course from virtual startup disk read-write, described virtual machine Real effective data required for starting, the virtual machine start described in one before starting on a large scale for a virtual machine group of planes Temporary virtual machine start-up course;
    The data are stored to virtual machine shared buffer memory device, are shared when concurrently starting for other virtual machines from the virtual machine Buffer storage reads the data;
    Methods described also includes:Data de-duplication operations are carried out to the data of virtual machine shared buffer memory device storage.
  2. 2. according to the method for claim 1, it is characterised in that start magnetic from virtual in the acquisition virtual machine start-up course Before the step of data of disk read-write, including:
    The virtual machine sends read-write requests to the virtual machine shared buffer memory device;
    The virtual machine receives the read-write requests response that the virtual machine shared buffer memory device is sent, and the read-write requests response is taken Band read-write requests failure information.
  3. 3. method according to claim 1 or 2, it is characterised in that the virtual machine start-up course includes the virtual machine Start shooting to the VME operating system start completion or virtual machine start and arrive the default application program of the virtual machine Start completion.
  4. 4. a kind of virtual machine shared buffer memory device, it is characterised in that described device includes:Acquisition module and memory module;
    The acquisition module is used for the startup according to temporary virtual machine, obtains in virtual machine start-up course and is read from the virtual disk that starts Virtual machine write, described starts required real effective data, and the virtual machine starts to be opened on a large scale for a virtual machine group of planes A temporary virtual machine start-up course before dynamic;
    The memory module is used to store the data to virtual machine shared buffer memory device, when concurrently starting for other virtual machines The data are read from the virtual machine shared buffer memory device;
    Described device also includes deduplication module, and the deduplication module is used for virtual machine shared buffer memory device storage Data carry out data de-duplication operations.
  5. 5. device according to claim 4, it is characterised in that described device also includes:Module for reading and writing;
    The module for reading and writing is used to, when the virtual machine sends read-write requests to the virtual machine shared buffer memory device, receive institute Request is stated, and the read-write requests response of the virtual machine shared buffer memory device transmission is sent to the virtual machine, the read-write please Response is asked to carry read-write requests failure information.
  6. 6. the device according to claim 4 or 5, it is characterised in that the virtual machine start-up course includes the virtual machine Start shooting to the VME operating system start completion or virtual machine start and arrive the default application program of the virtual machine Start completion.
CN201210535072.7A 2012-12-12 2012-12-12 Establish the method and device that virtual machine shares memory buffers Active CN103870312B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210535072.7A CN103870312B (en) 2012-12-12 2012-12-12 Establish the method and device that virtual machine shares memory buffers
PCT/CN2013/079647 WO2014089967A1 (en) 2012-12-12 2013-07-19 Method and device for establishing virtual machine shared storage cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210535072.7A CN103870312B (en) 2012-12-12 2012-12-12 Establish the method and device that virtual machine shares memory buffers

Publications (2)

Publication Number Publication Date
CN103870312A CN103870312A (en) 2014-06-18
CN103870312B true CN103870312B (en) 2018-01-23

Family

ID=50908879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210535072.7A Active CN103870312B (en) 2012-12-12 2012-12-12 Establish the method and device that virtual machine shares memory buffers

Country Status (2)

Country Link
CN (1) CN103870312B (en)
WO (1) WO2014089967A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9454497B2 (en) * 2014-08-15 2016-09-27 Intel Corporation Technologies for secure inter-virtual-machine shared memory communication
CN105786591B (en) * 2016-02-26 2019-05-07 新华三技术有限公司 A kind of virtual machine starting method and device
CN107463426B (en) * 2016-06-06 2020-11-27 阿里巴巴集团控股有限公司 A method and device for virtual machine cloning under KVM virtualization
CN106201650B (en) * 2016-06-29 2020-08-25 联想(北京)有限公司 Virtual machine control method and system
CN106406981A (en) * 2016-09-18 2017-02-15 深圳市深信服电子科技有限公司 Disk data reading/writing method and virtual machine monitor
WO2018094649A1 (en) * 2016-11-24 2018-05-31 华为技术有限公司 Method for acquiring data during startup of virtual machine, and cloud computing system
CN106775942B (en) * 2016-12-09 2020-06-16 中国科学院软件研究所 A cloud application-oriented solid-state disk cache management system and method
CN108255577A (en) * 2017-12-20 2018-07-06 深圳市杉岩数据技术有限公司 The acceleration method and device that a kind of virtual machine starts
CN108345477B (en) 2018-02-28 2021-10-26 郑州云海信息技术有限公司 Design method and device for sharing conf partition file by double images
CN108958886B (en) * 2018-07-02 2022-03-04 哈尔滨工业大学 A system and method for rapid deployment of virtual machines based on network flow

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101276284A (en) * 2007-03-27 2008-10-01 英特尔公司 System and method for increasing platform network boot efficiency
EP2017730A1 (en) * 2007-07-02 2009-01-21 Sun Microsystems Inc. System and method for storing programmatic modules
CN102591702A (en) * 2011-12-31 2012-07-18 华为技术有限公司 Virtualization processing method, related device and computer system
US8312471B2 (en) * 2010-04-26 2012-11-13 Vmware, Inc. File system independent content aware cache

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7721080B2 (en) * 2006-06-30 2010-05-18 Intel Corporation Management of option ROM
US8949585B2 (en) * 2007-10-09 2015-02-03 Vmware, Inc. In-place conversion of virtual machine state
US10437865B1 (en) * 2009-01-21 2019-10-08 Vmware, Inc. Computer storage deduplication
CN101697134A (en) * 2009-10-27 2010-04-21 北京大学 Method for supporting quick start of similar virtual machine
CN102629941B (en) * 2012-03-20 2014-12-31 武汉邮电科学研究院 Caching method of a virtual machine mirror image in cloud computing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101276284A (en) * 2007-03-27 2008-10-01 英特尔公司 System and method for increasing platform network boot efficiency
EP2017730A1 (en) * 2007-07-02 2009-01-21 Sun Microsystems Inc. System and method for storing programmatic modules
US8312471B2 (en) * 2010-04-26 2012-11-13 Vmware, Inc. File system independent content aware cache
CN102591702A (en) * 2011-12-31 2012-07-18 华为技术有限公司 Virtualization processing method, related device and computer system

Also Published As

Publication number Publication date
CN103870312A (en) 2014-06-18
WO2014089967A1 (en) 2014-06-19

Similar Documents

Publication Publication Date Title
CN103870312B (en) Establish the method and device that virtual machine shares memory buffers
US11687446B2 (en) Namespace change propagation in non-volatile memory devices
TWI709073B (en) Distributed storage system, distributed storage method and distributed facility
US9817581B2 (en) Maintaining versions of data in solid state memory
US9141529B2 (en) Methods and apparatus for providing acceleration of virtual machines in virtual environments
US9996542B2 (en) Cache management in a computerized system
US9606748B2 (en) Importing pre-existing data of a prior storage solution into a storage pool for use with a new storage solution
US9122582B2 (en) File system for maintaining data versions in solid state memory
US20230236966A1 (en) Intelligent defragmentation in a storage system
US9778860B2 (en) Re-TRIM of free space within VHDX
CN104903872A (en) Systems, methods, and interfaces for adaptive persistence
CN107003814A (en) Effective metadata in the storage system
CN102521330A (en) Mirror distributed storage method under desktop virtual environment
US10678431B1 (en) System and method for intelligent data movements between non-deduplicated and deduplicated tiers in a primary storage array
CN100405304C (en) Implementation method of high-speed solid-state storage device based on storage area network
US12141118B2 (en) Optimizing storage system performance using data characteristics
US11947419B2 (en) Storage device with data deduplication, operation method of storage device, and operation method of storage server
KR20180086120A (en) Tail latency aware foreground garbage collection algorithm
CN104750433A (en) Cache design method based on SCST
US10705733B1 (en) System and method of improving deduplicated storage tier management for primary storage arrays by including workload aggregation statistics
US11016676B2 (en) Spot coalescing of distributed data concurrent with storage I/O operations
US20150356108A1 (en) Storage system and storage system control method
US11513902B1 (en) System and method of dynamic system resource allocation for primary storage systems with virtualized embedded data protection
WO2016170632A1 (en) Computer and power source control method
US10394481B2 (en) Reducing application input/output operations from a server having data stored on de-duped storage

Legal Events

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