CN110750221B - Volume cloning method, apparatus, electronic device and machine-readable storage medium - Google Patents

Volume cloning method, apparatus, electronic device and machine-readable storage medium Download PDF

Info

Publication number
CN110750221B
CN110750221B CN201911043997.8A CN201911043997A CN110750221B CN 110750221 B CN110750221 B CN 110750221B CN 201911043997 A CN201911043997 A CN 201911043997A CN 110750221 B CN110750221 B CN 110750221B
Authority
CN
China
Prior art keywords
volume
snapshot
virtual machine
storage
cloud computing
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
CN201911043997.8A
Other languages
Chinese (zh)
Other versions
CN110750221A (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.)
Macrosan Technologies Co Ltd
Original Assignee
Macrosan 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 Macrosan Technologies Co Ltd filed Critical Macrosan Technologies Co Ltd
Priority to CN201911043997.8A priority Critical patent/CN110750221B/en
Publication of CN110750221A publication Critical patent/CN110750221A/en
Application granted granted Critical
Publication of CN110750221B publication Critical patent/CN110750221B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application provides a volume cloning method, a volume cloning device, an electronic device and a machine-readable storage medium. In the application, creating a source volume for saving a virtual machine system image from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume; creating a snapshot of the source volume in response to virtual machine instance creation instructions for the source volume of the cloud computing system; monitoring the snapshot to obtain a snapshot of the data reading hot spot; and performing volume cloning on dependent snapshots of the data reading hot spot to obtain corresponding shadow volumes, thereby realizing flexible and efficient storage space provision for the cloud computing system.

Description

Volume cloning method, apparatus, electronic device and machine-readable storage medium
Technical Field
The present disclosure relates to the field of storage technologies, and in particular, to a method and apparatus for volume cloning, an electronic device, and a machine-readable storage medium.
Background
LUN (Logical Unit Number ), originally defined in SCSI (Small Computer System Interface ) protocol, is used to indicate the distinction between SCSI devices. In the storage field, a LUN is typically used to refer to a logically continuous piece of data storage space in a storage system that corresponds to the LUN (logical unit number), i.e., a LUN is typically used to refer to a storage volume in the storage system, and thus, the storage volume is also simply referred to as a volume or LUN. LUN cloning, i.e., volume cloning, refers to the complete copying of data on a LUN out onto another LUN, forming a copy of exactly the same capacity as the data.
The cloud computing technology is a distributed technology for integrating hardware, software, storage, network and other serial resources in a wide area network or a local area network based on a virtualization technology to realize storage, processing and sharing of data, and a system with the cloud computing technology is also called a "cloud computing system" for short.
Disclosure of Invention
The application provides a volume cloning method, which is applied to a storage system; the storage system is communicated with the cloud computing system and provides corresponding storage resources for the cloud computing system; the method comprises the following steps:
creating a source volume for saving virtual machine system images from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume;
creating a snapshot of the source volume in response to virtual machine instance creation instructions for the source volume of the cloud computing system;
monitoring the snapshot to obtain a snapshot of the data reading hot spot;
and performing volume cloning on dependent snapshots of the data reading hot spot to obtain corresponding shadow volumes.
Optionally, the cloud computing system includes at least a virtual machine image management subsystem, and the creating is used for saving a source volume of a virtual machine system image in the cloud computing system, including:
Downloading and obtaining the virtual machine system image from a virtual machine image management subsystem;
creating a local data volume as a source volume, and storing the virtual machine system mirror image; the storage capacity of the local data volume is larger than the mirror image size of the virtual machine system.
Optionally, the cloud computing system further includes a block storage management subsystem, the source volume having enabled a snapshot mechanism, the creating a snapshot of the source volume in response to virtual machine instance creation instructions of the cloud computing system for the source volume comprising:
receiving a virtual machine instance creation instruction of the block storage management subsystem aiming at the source volume, and generating a snapshot instruction corresponding to the virtual machine instance creation instruction; the snapshot instruction is used for carrying out snapshot creation on the source volume;
based on the snapshot instruction, creating snapshots respectively corresponding to snapshot time points of the snapshot instruction, so that the snapshots store virtual machine system images.
Optionally, the monitoring the snapshot to obtain a snapshot of the data read hot spot includes:
respectively counting the data read IO of all the snapshots in the snapshots;
and determining the snapshot of the data reading IO reaching the preset first threshold as the snapshot of the data reading hot spot.
Optionally, if the data read IO of all snapshots does not reach the preset first threshold, the method further includes:
respectively counting the storage pressures of all the snapshots in the snapshots, and summarizing and adding to obtain the total storage pressure of all the snapshots to the source volume;
and if the total storage pressure reaches a preset second threshold value, determining that the snapshot with the highest data reading IO in all the snapshots is the snapshot of the data reading hot spot.
Optionally, after the volume cloning obtains the shadow volume, the method further includes:
enabling a snapshot mechanism for the shadow volume, and migrating a snapshot of the data read hot spot from the source volume to the shadow volume;
and generating a snapshot of the shadow volume in response to virtual machine instance creation instructions of the block storage management subsystem for the source volume, such that the snapshot of the shadow volume preserves an instance of a virtual machine system image.
Optionally, after all snapshots of the shadow volume are deleted, the method further includes:
and deleting the shadow volume so as to release the storage space of the storage system.
Optionally, when the storage pressure of the shadow volume is lower than a preset third threshold value, the method further includes:
migrating and merging the snapshots of the shadow volumes to be used as the snapshots of the source volumes;
And deleting the shadow volume so as to release the storage space of the storage system.
Optionally, the storage system is a SAN storage system, and the cloud computing system is an Openstack-based cloud computing system.
The application also provides a volume cloning device, which is applied to a storage system; the storage system is communicated with the cloud computing system and provides corresponding storage resources for the cloud computing system; the device comprises:
the creation module is used for creating a source volume for storing the virtual machine system image from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume;
the creation module further creates a snapshot of the source volume in response to a virtual machine instance creation instruction for the source volume of the cloud computing system;
the monitoring module is used for monitoring the snapshot to obtain a snapshot of the data reading hot spot;
and the cloning module performs volume cloning on the dependent snapshot of the data reading hot spot to obtain a corresponding shadow volume.
Optionally, the cloud computing system at least includes a virtual machine image management subsystem, and the creating module further:
downloading and obtaining the virtual machine system image from a virtual machine image management subsystem;
Creating a local data volume as a source volume, and storing the virtual machine system mirror image; the storage capacity of the local data volume is larger than the mirror image size of the virtual machine system.
Optionally, the cloud computing system further includes a block storage management subsystem, the source volume having a snapshot mechanism enabled, the creation module further to:
receiving a virtual machine instance creation instruction of the block storage management subsystem aiming at the source volume, and generating a snapshot instruction corresponding to the virtual machine instance creation instruction; the snapshot instruction is used for carrying out snapshot creation on the source volume;
based on the snapshot instruction, creating snapshots respectively corresponding to snapshot time points of the snapshot instruction, so that the snapshots store virtual machine system images.
Optionally, the monitoring module further:
respectively counting the data read IO of all the snapshots in the snapshots;
and determining the snapshot of the data reading IO reaching the preset first threshold as the snapshot of the data reading hot spot.
Optionally, if the data read IO of all snapshots does not reach the preset first threshold, the monitoring module further:
respectively counting the storage pressures of all the snapshots in the snapshots, and summarizing and adding to obtain the total storage pressure of all the snapshots to the source volume;
And if the total storage pressure reaches a preset second threshold value, determining that the snapshot with the highest data reading IO in all the snapshots is the snapshot of the data reading hot spot.
Optionally, after the volume cloning obtains the shadow volume, the creating module further:
enabling a snapshot mechanism for the shadow volume, and migrating a snapshot of the data read hot spot from the source volume to the shadow volume;
and generating a snapshot of the shadow volume in response to virtual machine instance creation instructions of the block storage management subsystem for the source volume, such that the snapshot of the shadow volume preserves an instance of a virtual machine system image.
Optionally, after all snapshots of the shadow volume are deleted, the creating module further:
and deleting the shadow volume so as to release the storage space of the storage system.
Optionally, when the storage pressure of the shadow volume is lower than a preset third threshold, the creating module further:
migrating and merging the snapshots of the shadow volumes to be used as the snapshots of the source volumes;
and deleting the shadow volume so as to release the storage space of the storage system.
Optionally, the storage system is a SAN storage system, and the cloud computing system is an Openstack-based cloud computing system.
The application also provides electronic equipment, which comprises a communication interface, a processor, a memory and a bus, wherein the communication interface, the processor and the memory are connected with each other through the bus;
the memory stores machine readable instructions and the processor performs the method described above by invoking the machine readable instructions.
The present application also provides a machine-readable storage medium storing machine-readable instructions that, when invoked and executed by a processor, implement the above-described methods.
With the above embodiments, a source volume for saving a virtual machine system image in a cloud computing system is created based on a storage system; and responding to a virtual machine instance creation instruction of the cloud computing system aiming at the source volume, creating a source volume snapshot for storing an instance of the virtual machine system mirror image, and performing volume cloning on the source volume snapshot of the data reading hot spot to obtain a shadow volume for storing the instance of the virtual machine system mirror image, thereby realizing flexible and efficient storage space provision for the cloud computing system.
Drawings
FIG. 1 is a schematic diagram of a cloud computing system and a storage system according to an exemplary embodiment;
FIG. 2 is a schematic diagram of a storage resource distribution of a first storage system provided by an exemplary embodiment;
FIG. 3 is a schematic diagram of a storage resource distribution of a second storage system provided by an exemplary embodiment;
FIG. 4 is a flowchart of a method for volume cloning, as provided by an exemplary embodiment;
FIG. 5 is a schematic diagram of a storage resource distribution of a third storage system provided by an exemplary embodiment;
FIG. 6 is a schematic diagram of a storage resource distribution of a fourth storage system provided by an exemplary embodiment;
FIG. 7 is a diagram of storage resource distribution of a storage system in which shadow volumes have been created, provided by an example embodiment;
FIG. 8 is a diagram of a storage resource distribution of a storage system in which multi-level shadow volumes have been created, provided by an example embodiment;
FIG. 9 is a diagram of storage resource distribution of a storage system for shadow volume reclamation provided in an exemplary embodiment;
FIG. 10 is a diagram of storage resource distribution of another storage system for shadow volume reclamation provided by an exemplary embodiment;
FIG. 11 is a hardware configuration diagram of an electronic device according to an exemplary embodiment;
fig. 12 is a block diagram of a volume cloning device provided in an exemplary embodiment.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present application as detailed in the accompanying claims.
The terminology used in the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used in this application and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any or all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used herein to describe various information, these information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, a first message may also be referred to as a second message, and similarly, a second message may also be referred to as a first message, without departing from the scope of the present application. The word "if" as used herein may be interpreted as "at … …" or "at … …" or "responsive to a determination", depending on the context.
In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, a brief description of the related art of volume cloning according to the embodiments of the present application will be provided below.
Referring to fig. 1, fig. 1 is a networking schematic diagram of a cloud computing system and a storage system according to an embodiment of the present application.
The networking as shown in fig. 1 includes: cloud computing system and storage system; the storage system is in communication with the cloud computing system.
The storage system shown in fig. 1 is composed of a storage medium, RAID and LUN; wherein; several RAID arrays may be constructed based on several storage media (e.g., mechanical hard disks or solid state disks, etc.), and several LUNs (i.e., storage volumes) may be constructed based on RAID arrays.
As shown in fig. 1, the cloud computing system comprises a virtual machine image management subsystem and a block storage management subsystem; the virtual machine image management subsystem manages virtual machine images with different operating systems;
the block storage management subsystem is used for managing a storage system in butt joint with the block storage management subsystem, and the cloud computing system can communicate with the storage system through the block storage management subsystem, and provides storage resources (LUNs) for the cloud computing system by using the storage system. For example, the block storage management subsystem may use the LUN of the storage system as an instance storage carrier for running virtual machine images.
Referring to fig. 2, fig. 2 is a schematic diagram illustrating a storage resource distribution of a first storage system according to an embodiment of the present application.
FIG. 2 is a diagram of a storage resource distribution diagram of a storage volume used to expose a cloud computing system in communication with a storage system through a block storage management subsystem to create an instance of a plurality of virtual machine images based on the networking architecture of FIG. 1.
As shown in fig. 2, VM1, VM2, VM100 represent LUNs in a storage system for holding instances of virtual machine images, respectively, each LUN assuming a capacity of 10GB.
As shown in fig. 2, a storage system may Download a virtual machine image (corresponding to the "Download image" shown in fig. 2) from a virtual machine image management subsystem in a cloud computing system, and the storage system may create LUNs (VM 1, VM2,., VM 100) that hold multiple instances of the virtual machine image; each LUN supports the boot-up from itself based on the virtual machine image, that is, VM1, VM2, VM100, and supports a "boot from volume" technology, please refer to the description of the "boot from volume" technology, which is not repeated herein.
Based on the scenario shown in fig. 2, generally, when a user needs to create 100 instances based on one virtual machine image managed by the virtual machine image management subsystem, the storage system needs to perform 100 actions of downloading the virtual machine image from the virtual machine image management subsystem, and create 100 LUNs (VM 1, VM2, and VM 100) for saving the virtual machine image respectively, and based on the scenario, the same virtual machine image repeatedly downloads and saves a plurality of LUNs, resulting in huge performance consumption and storage space waste of the storage system.
Referring to fig. 3, fig. 3 is a schematic diagram illustrating storage resource distribution of a second storage system according to an embodiment of the present application.
FIG. 3 is a variation of FIG. 2 in that the improvement of FIG. 3 over FIG. 2 is that the storage system adds a cache volume to improve the performance of the storage system.
As shown in fig. 3, when a user needs to create 100 instances based on one virtual machine image managed by the virtual machine image management subsystem, the storage system needs to perform only 1 download of the virtual machine image from the virtual machine image management subsystem, and save the virtual machine image to the LUN (VM 1); then, the storage system creates a cache volume locally and copies the virtual machine image into the cache volume; the virtual machine images of the cache volumes are Copy into 99 LUNs (VM 2, VM 100), respectively, created locally at 99 LUNs (VM 2, VM 100), respectively. Based on this scenario, compared with fig. 2, the same virtual machine image in fig. 3 needs to be downloaded only 1 time, so that the performance consumption of the storage system is greatly improved, but 101 LUNs (VM 1, VM2, the..the VM100, and the cache volume) are also needed locally, and the storage space is still wasted.
Based on the networking architecture as shown in fig. 1, the present application aims to propose a method based on creating a source volume for saving a virtual machine system image from a cloud computing system; and generating a snapshot for the source volume, wherein the snapshot is used for storing a plurality of virtual machine instances based on the mirror image, carrying out monitoring statistics on data read IO of the snapshot, and carrying out volume cloning on the snapshot of the data read hot spot to obtain a shadow volume.
When implemented, the storage system communicates with the cloud computing system and provides corresponding storage resources for the cloud computing system.
Further, the storage system creates a source volume for saving virtual machine system images from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume; creating a snapshot of the source volume in response to a virtual machine instance creation instruction for the source volume of the cloud computing system; monitoring the snapshot to obtain a snapshot of the data reading hot spot; and performing volume cloning on dependent snapshots of the data reading hot spot to obtain corresponding shadow volumes.
In the above scheme, creating a source volume for saving a virtual machine system image in a cloud computing system based on a storage system; and responding to a virtual machine instance creation instruction of the cloud computing system aiming at the source volume, creating a source volume snapshot for storing an instance of the virtual machine system mirror image, and performing volume cloning on the source volume snapshot of the data reading hot spot to obtain a shadow volume for storing the instance of the virtual machine system mirror image, thereby realizing flexible and efficient storage space provision for the cloud computing system.
The following describes the present application through specific embodiments and in connection with specific application scenarios.
Referring to fig. 4, fig. 4 is a flowchart of a volume cloning method according to an embodiment of the present application, where the method is applied to a storage system, and the storage system is connected to communicate with the cloud computing system and provides corresponding storage resources for the cloud computing system; the method performs the following steps:
step 402, creating a source volume for saving a virtual machine system image from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume.
Step 404, in response to a virtual machine instance creation instruction for the source volume of the cloud computing system, creating a snapshot of the source volume.
Step 406, monitoring the snapshot to obtain a snapshot of the data read hot spot.
And step 408, performing volume cloning on dependent snapshots of the snapshot of the data read hot spot to obtain corresponding shadow volumes.
In this specification, the cloud computing system includes any cloud computing framework-based cloud computing system that supports virtualization of computing resources and storage resources.
In one embodiment shown, the cloud computing system is an Openstack-based cloud computing system. OpenStack is a well-known open source cloud computing management platform project developed and launched in concert by NASA (National Aeronautics and Space Administration, national aerospace agency) and Rackspace corporation, free software and open source code project authorized with Apache license. The OpenStack supports almost all types of cloud environments including public cloud, private cloud and the like, and as a cloud computing management platform which is simple to implement, can be expanded in a large scale, is rich and is unified in standard, the OpenStack consists of a plurality of equipment nodes such as control nodes, computing nodes and network nodes, and can provide IaaS (Infrastructure as a Service ) solutions for users to cover multiple dimensions such as computing virtualization, network virtualization and storage virtualization.
Of course, in practical applications, the cloud computing system is a cloud computing system based on CloudStack (a cloud computing frame with high availability and extensibility of open sources) or other cloud computing frames, and is not specifically limited in this specification.
In this specification, the storage system includes a storage system that is configured from any storage medium that is in communication with the cloud computing system and that provides corresponding storage resources for the cloud computing system.
For example, the storage system may be a storage system configured by a mechanical hard disk storage medium, or may be a storage system configured by a solid state hard disk storage medium; and the storage system can be connected with the cloud computing system for communication and provide corresponding storage resources for the cloud computing system.
In one embodiment shown, the storage system is a SAN storage system.
For example, the storage system may be any one or a combination of an IPSAN (IP Storage Area Network ) storage system or an FCSAN (Fibre Channel Storage Area Network, FC storage area network) storage system, that is, the storage system may provide corresponding storage resources for the cloud computing system through IP or optical fiber.
Referring to fig. 5, fig. 5 is a schematic diagram illustrating storage resource distribution of a third storage system according to an embodiment of the present application.
FIG. 5 is a variation of FIG. 3, and the improvement of FIG. 5 over FIG. 3 is that the storage system enables a snapshot mechanism for the volumes, improving the storage space utilization of the storage system.
As shown in fig. 5, for the example of VM2, VM100, a total of 99 virtual machine images, the storage system does not create 99 LUNs locally, but rather enables snapshots for the cache volume. I.e. e.g
VM2, shown in dashed lines in fig. 5, VM100 is a snapshot of the cache volume.
As shown in fig. 5, when a user needs to create 100 instances based on one virtual machine image managed by the virtual machine image management subsystem, the storage system needs to perform only 1 download of the virtual machine image from the virtual machine image management subsystem, and save the virtual machine image to the LUN (VM 1); then, the storage system creates a cache volume locally and copies the virtual machine image into the cache volume; a snapshot of 99 volumes (VM 2,..once., VM 100) was created locally, respectively. Based on the scene, compared with fig. 3, the storage space consumption of the storage system is reduced in fig. 5, and because the snapshot only stores a small amount of difference data of virtual machine instances at different time points, the local storage space utilization efficiency is greatly improved because only a little more space than 2 LUNs is needed (the space of one LUN is occupied by VM1, the space of one LUN is occupied by a cache volume, and a small amount of space is occupied by the cache volume snapshot).
Referring to fig. 6, fig. 6 is a schematic diagram illustrating storage resource distribution of a fourth storage system according to an embodiment of the present application.
FIG. 6 is a variation based on FIG. 5, FIG. 6 being substantially identical to FIG. 5, the primary difference of FIG. 6 over FIG. 5 being that the storage system of FIG. 6 enables a snapshot mechanism for VM 1; in addition, it should be noted that the cache volume (which is a snapshot of the storage volume) as shown in fig. 6 is different from the cache volume (which is a separate storage volume) of fig. 5.
As shown by the dashed lines in fig. 6, the cache volumes, VM2, and VM100 are all snapshots created at different times of VM1, and compared with fig. 5, fig. 6 reduces the usage of one LUN space, and improves the storage space utilization efficiency of the storage system.
The cache volumes shown in fig. 6 are snapshots created based on the earliest time of VM1, and the snapshots VM2, VM3, and VM4 created one by one as subsequent time, and VM100 may all depend on the cache volumes, that is, the cache volumes shown in fig. 6 are snapshots VM2, VM3, and VM4, and the dependent snapshots of VM100, which are specifically please refer to the snapshot technology principle, and are not repeated herein.
Based on the scenario shown in FIG. 6, when the snapshots of VM1 are increased, IO access of multiple snapshots may all depend on the source volume of the snapshot (VM 1), which may result in slow running virtual machine instances due to the limited source volume and its snapshot's performance.
In this specification, the virtual machine system image includes any operating system-based virtual machine system image provided by the cloud computing system.
For example, in practical application, the virtual machine system image may be a virtual machine system image based on a Linux operating system, and may be a virtual machine system image based on a Windows operating system.
In the present specification, the source volume refers to a LUN in the storage system for storing the virtual machine system image from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume.
For example, the source volume may be a LUN with a capacity of 10GB in the storage system, where the LUN is used to store the virtual machine system image; the LUN supports the self-boot operation of the virtual machine system image from the source volume, that is, the LUN supports the "boot from volume" technology, and specific please refer to the description of the "boot from volume" technology, which is not repeated herein.
In this specification, the storage system creates the source volume for saving the virtual machine system image from the cloud computing system.
For example, referring to fig. 6, the source volume may be VM1 (LUN holding an instance of a virtual machine image) as shown in fig. 6, and the storage system creates the source volume VM1 for holding a virtual machine system image from the cloud computing system.
In one embodiment shown, the cloud computing system includes at least a virtual machine image management subsystem; the virtual machine image management subsystem is used for the cloud computing system to manage different virtual machine system images.
Taking the cloud computing system as an example of an Openstack cloud computing system, in practical application, the virtual machine image management subsystem may be a Glance subsystem; the Glance subsystem is used for the Openstack cloud computing system to manage different virtual machine system images.
In one embodiment shown, the storage system downloads the virtual machine system image from the virtual machine image management subsystem during creation of the source volume for saving the virtual machine system image from the cloud computing system.
Continuing with the above example, the storage system may obtain a virtual machine system image based on the Linux operating system from the Glance subsystem, or may obtain a virtual machine system image based on the Windows operating system from the Glance subsystem.
In this specification, further, the storage system creates a local data volume as the source volume, and stores the virtual machine system image; wherein, the storage capacity of the local data volume is larger than the mirror image size of the virtual machine system.
Continuing with the above example, referring to fig. 6, the storage system creates a local data volume VM1 as the source volume, and stores the virtual machine system image; wherein, the storage capacity of the local data volume is larger than the mirror image size of the virtual machine system.
It should be noted that, the virtual machine system image is usually stored in a file, and when the source volume is created, the storage capacity of the source volume is larger than the size of the virtual machine system image, so as to ensure that the data of the virtual machine system image can be completely stored in the source volume.
In one embodiment, the cloud computing system includes a block storage management subsystem in addition to the virtual machine image management subsystem;
the block storage management subsystem is used for the cloud computing system to communicate with the storage system so that the storage system can allocate storage resources for the cloud computing system.
Continuing to take the cloud computing system as an Openstack cloud computing system as an example, in practical application, the block storage management subsystem may be a Cinder subsystem; the Cinder subsystem may communicate with the storage system to allocate storage resources for the cloud computing system.
In the present specification, the virtual machine instance creation instruction refers to an instruction for the cloud computing system to create a virtual machine instance for the source volume.
For example, in practical applications, the virtual machine instance creation instruction may be an instruction sent by the cloud computing system to the storage system based on a plurality of LUNs created by the source volume. Referring to fig. 6, the virtual machine instance creation instruction may include a creation instruction corresponding to a virtual machine instance of any one or combination of a plurality of virtual machine instances of VM2, VM3, vm4.
In this specification, after the source volume is created, the storage system creates a snapshot of the source volume in response to the virtual machine instance creation instruction of the cloud computing system.
In one embodiment, the storage system may enable a snapshot mechanism for the source volume, and in a process of responding to the virtual machine instance creation instruction and creating a snapshot of the source volume, the storage system receives the virtual machine instance creation instruction for the source volume of the block storage management subsystem, and generates a snapshot instruction corresponding to the virtual machine instance creation instruction; the snapshot instruction is used for carrying out snapshot creation on the source volume.
For example, the virtual machine instance creation instruction may include a virtual machine instance creation instruction for creating a plurality of virtual machine instances of VM2, VM3, VM4, VM100, which are sent by the block storage management subsystem in the cloud computing system at different times, and after the storage system receives the virtual machine instance creation instruction of the block storage management subsystem, a snapshot instruction corresponding to the virtual machine instance creation instruction at different times is generated; the snapshot instructions at different moments are used for the storage system to create the snapshot of the source volume VM 1.
In this specification, further, the storage system creates snapshots corresponding to snapshot time points of the snapshot instruction, respectively, based on the snapshot instruction, so that the snapshots store an instance of a virtual machine system image.
Continuing with the above example, referring to fig. 6, the storage system creates snapshots VM2, VM3, vm4, VM100 for source volume VM1 at corresponding times, respectively, based on corresponding snapshot instructions at different times. That is, the plurality of virtual machine instances VM2, VM3, VM4, VM100 are all saved for a snapshot (dashed box) based on the source volume VM1, and are not LUNs occupying independent storage space.
Of course, in practical applications, the storage system creates a snapshot of one of the source volumes as a buffer volume, for example, please refer to fig. 6, where the buffer volume is also a snapshot of the source volume VM1, and it should be noted that the buffer volume is not a LUN occupying an independent storage space. The cache volume may be used for temporary caching of data as a snapshot of any of the snapshots VM2, VM3, vm4.
In this specification, the storage system monitors the snapshot of the source volume to obtain a snapshot of the data read hot spot.
Continuing with the above example, referring to fig. 6, the storage system monitors snapshots VM2, VM3, vm4, VM100 of source volume VM1 for a snapshot of the data read hot spot.
In one embodiment, during the process of monitoring the snapshots of the source volume to obtain snapshots of the data read hot spot, the storage system counts the data read IOs of all the snapshots of the source volume respectively; and determining the snapshot of the data reading IO reaching the preset first threshold as the snapshot of the data reading hot spot.
Continuing to illustrate the above example, please refer to fig. 6, the storage system counts the data read IO of the source volumes VM1, VM2, VM3, vm4, and VM100, respectively, and determines the snapshot of the data read IO reaching the preset first threshold as the snapshot of the data read hot spot; the first threshold may be the highest value or a preset proportion of the highest value (for example, 80% of the highest value, 120% of the highest value, etc.) in the statistics value of the data read IO quantity of each snapshot in the preset statistics period, or the first threshold may be an average value of the statistical sum of the data read IO quantities of all snapshots in the preset statistics period.
In this specification, further, the storage system determines a snapshot of the data read IO reaching the first threshold as a snapshot of the data read hot spot.
Continuing with the above example, please refer to fig. 6, wherein the snapshots of the data read IO reaching the first threshold include VM2 and VM3, and the storage system determines the snapshots of the data read IO reaching the first threshold as the snapshots of the data read hot spot VM2 and VM 3.
In one embodiment, if the data read IO of all snapshots of the source volume does not reach the first threshold, the storage system counts the storage pressures of all snapshots of the source volume, and sums the storage pressures to obtain a total storage pressure of all snapshots on the source volume.
Continuing with the above example, if all the snapshots VM2, VM3, and VM4 of the source volume VM1 and the data read IO corresponding to the VM100 respectively do not reach the first threshold, the storage system counts the storage pressures of all the snapshots of the source volume respectively, and sums the storage pressures to obtain the total storage pressure of all the snapshots on the source volume.
In this specification, further, if the total storage pressure of the storage system reaches a preset second threshold, it is determined that a snapshot with the highest data read IO among all the snapshots of the source volume is a snapshot of a data read hot spot.
Continuing with the above example, if the total storage pressure of the storage system reaches a preset second threshold; the second threshold may include a preset threshold or a combination corresponding to the occupancy rates of the CPU, the memory, and the storage remaining space of the storage system (for example, the occupancy rate of the CPU of the storage system reaches 70%, the occupancy rate of the memory reaches 50%, and the storage remaining space is less than 20%), where the storage system determines that the snapshot with the highest data read IO among all the snapshots is a snapshot of the data read hot spot, for example: VM2, VM100.
Referring to fig. 7, fig. 7 is a schematic diagram of storage resource distribution of a storage system with a shadow volume created according to an embodiment of the present application.
FIG. 7 is a variation based on FIG. 6, and the difference between FIG. 7 and FIG. 6 is mainly that the storage system of FIG. 7 has a shadow volume added to it compared to FIG. 6.
As shown in fig. 7, the storage system enables a snapshot mechanism for VM 1; wherein, the cache volume, VM3, vm4..vm 100 are all snapshots of VM1, VM3, vm4..vm 100 is used to save the corresponding virtual machine instance.
As shown in fig. 7, the storage system detects the data IO access condition of all snapshots of the source volume VM1, stores the data of the snapshots of the data read hot spot in the cache volume, and performs volume cloning on the cache volume to obtain a shadow volume; and the storage system enables a snapshot mechanism for the shadow volume, and generates different snapshots VM2 and VM100 of the shadow volume for storing corresponding virtual machine instances.
In this specification, after determining the snapshot of the data read hot spot of the source volume, the storage system performs volume cloning on the dependent snapshot of the data read hot spot of the source volume to obtain a corresponding shadow volume.
Continuing with the above example, referring to fig. 7, after determining that the snapshot of the data read hot spot of the source volume VM1 includes VM2 and VM100, the storage system performs volume cloning on the snapshot VM2 of the data read hot spot of the source volume and the dependent snapshot (i.e., the cache volume) of the snapshot VM100 to obtain a corresponding shadow volume; wherein the shadow volume is a LUN that occupies an independent storage space (as indicated by the solid line in fig. 7), instead of the snapshot of the source volume VM 1.
In practical application, since the snapshot VM2 is earlier than the creation time of the snapshot VM100, the snapshot VM100 depends on the snapshot VM2. Similarly, the cache volume is the earliest snapshot created by VM1, and snapshot VM2 in turn depends on the cache volume.
In this specification, after the volume clone obtains the shadow volume, the storage system enables a snapshot mechanism for the shadow volume and migrates a snapshot of the data read hot spot from the source volume to the shadow volume.
Continuing with the example above, and referring to FIG. 7, after the shadow volume is cloned, the storage system enables a snapshot mechanism for the shadow volume and migrates snapshot data of the snapshots of the data read hot-spot (including snapshot VM2 and VM 100) from the source volume to the shadow volume, i.e., snapshot VM2 and VM100 are no longer snapshots dependent on source volume VM1 and the cache volume, but instead directly on the shadow volume.
In this specification, further, in response to a virtual machine instance creation instruction for the source volume by the block storage management subsystem, the storage system generates a snapshot of the shadow volume such that the snapshot of the shadow volume preserves an instance of a virtual machine system image.
Continuing with the example above, in response to the virtual machine instance creation instruction for source volume VM1 of the block storage management subsystem, for example, the virtual machine instance creation instruction creates virtual machine instance VM101, the storage system creates snapshot VM101 of the shadow volume such that snapshot VM101 saves the virtual machine system image, i.e., snapshot VM101 is an instance of the virtual machine system image.
Referring to fig. 8, fig. 8 is a schematic diagram of storage resource distribution of a storage system in which a multi-level shadow volume has been created according to an embodiment of the present application.
FIG. 8 is a variation on FIG. 7, and FIG. 8 differs from FIG. 7 primarily in that the storage system of FIG. 8 has a shadow volume 2 added to it as compared to FIG. 7; the shadow volume 2 is a LUN obtained by volume cloning a shadow volume (as a new source volume) by a storage system (a shadow volume obtained by volume cloning a shadow volume as a new source volume).
As shown in fig. 8, VM100 is a snapshot of a shadow volume, and VM2 is a snapshot of shadow volume 2; VM3, vm4..vm 100 is a snapshot of VM 1.
In this description, the storage system may monitor all snapshots of the shadow volume to obtain a snapshot of a data read hot spot; and performing volume cloning on the dependent snapshot of the data read hot spot, and iterating to obtain a shadow volume corresponding to the shadow volume, wherein the specific process is similar to the process of obtaining the shadow volume based on the source volume described above, and the detailed description is omitted herein.
For example, the storage resource distribution of the storage system with the created multi-level shadow volume is shown in fig. 8. By iteratively creating the shadow volumes, the storage system can read data originally accessed to the source volumes and share the data through a plurality of shadow volumes, so that the storage space is flexibly and efficiently provided for the cloud computing system, and the performance requirements of virtual machine instances are met.
Referring to fig. 9, fig. 9 is a schematic diagram illustrating storage resource distribution of a storage system for shadow volume reclamation according to an embodiment of the present application.
As shown in fig. 9, the storage system has iterated to create a shadow volume, shadow volume 2 (shadow volume of shadow volume), shadow volume 3 (shadow volume of shadow volume 2), and shadow volume 4 (shadow volume of shadow volume 3) by volume cloning.
As shown in fig. 9, when all snapshots of shadow volume 2 (i.e., all virtual machine instance VMs based on shadow volume 2) are deleted, the storage system will delete shadow volume 2 (fork as shown in fig. 9).
In one embodiment shown, when all snapshots of the shadow volume are deleted, the storage system deletes the shadow volume to free up storage space of the storage system.
For example, referring to fig. 9, after all snapshots of the shadow volume 2 are deleted, the storage system deletes the shadow volume 2, so that the storage space of the storage system is released.
Referring to fig. 10, fig. 10 is a schematic diagram illustrating storage resource distribution of another storage system for shadow volume reclamation according to an embodiment of the present application.
As shown in fig. 10, the storage system has iteratively created a shadow volume, shadow volume 2 (shadow volume of shadow volume), and shadow volume 3 (shadow volume of shadow volume 2) by volume cloning.
As shown in fig. 10, when the storage pressure of the shadow volume 3 is lower than the preset threshold, the storage system migrates and merges the snapshot VM100 deleting the shadow volume 3 as a snapshot of the shadow volume 2, and deletes the shadow volume 3 again (as a fork shown in fig. 10).
In one embodiment, when the storage pressure of the shadow volume is lower than a preset third threshold value, the storage system migrates and merges the snapshot of the shadow volume as a snapshot of the source volume; deleting the shadow volume to release the storage space of the storage system;
The third threshold may include a preset threshold or a combination of ratios of the shadow volume occupying the CPU, the memory, and the storage remaining space of the storage system counted by the storage system (for example, the ratio of the shadow volume occupying the CPU of the storage system is lower than 5%, the memory occupancy is lower than 1%, and the storage remaining space is less than 1%).
For example, referring to fig. 10, when the storage pressure of the shadow volume 3 is lower than the third threshold, the storage system migrates the snapshot VM100 deleting the shadow volume 3 and then deletes the shadow volume 3 as the snapshot of the shadow volume 2, so that the storage space of the storage system is released.
In the above technical solution, a source volume for saving a virtual machine system image in a cloud computing system is created based on a storage system; and responding to a virtual machine instance creation instruction of the cloud computing system aiming at the source volume, creating a source volume snapshot for storing an instance of the virtual machine system mirror image, and performing volume cloning on the source volume snapshot of the data reading hot spot to obtain a shadow volume for storing the instance of the virtual machine system mirror image, thereby realizing flexible and efficient storage space provision for the cloud computing system.
Corresponding to the above method embodiments, the present application also provides embodiments of a volume cloning device.
Corresponding to the above method embodiments, the present specification also provides embodiments of a volume cloning device. The embodiment of the volume cloning device of the present specification can be applied to an electronic device. The apparatus embodiments may be implemented by software, or may be implemented by hardware or a combination of hardware and software. Taking software implementation as an example, the device in a logic sense is formed by reading corresponding computer program instructions in a nonvolatile memory into a memory by a processor of an electronic device where the device is located for operation. In terms of hardware, as shown in fig. 7, a hardware structure diagram of an electronic device where a volume cloning device of the present disclosure is located is shown in fig. 7, and in addition to a processor, a memory, a network interface, and a nonvolatile memory shown in fig. 7, the electronic device where the device is located in the embodiment generally may further include other hardware according to an actual function of the electronic device, which is not described herein again.
Fig. 12 is a block diagram of a volume cloning device according to an embodiment of the present disclosure.
Referring to fig. 12, the volume cloning device 120 may be applied to the electronic device shown in fig. 11, where the device is applied to a storage device, and the storage system is connected to a cloud computing system and provides corresponding storage resources for the cloud computing system; the device comprises:
A creation module 1201 creating a source volume for saving a virtual machine system image from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume;
the creating module 1201 further creates a snapshot of the source volume in response to a virtual machine instance creation instruction for the source volume of the cloud computing system;
the monitoring module 1202 monitors the snapshot to obtain a snapshot of the data read hot spot;
and the cloning module 1203 performs volume cloning on the dependent snapshots of the snapshot of the data reading hot spot to obtain corresponding shadow volumes.
In this embodiment, the cloud computing system includes at least a virtual machine image management subsystem, and the creating module 1201 further:
downloading and obtaining the virtual machine system image from a virtual machine image management subsystem;
creating a local data volume as a source volume, and storing the virtual machine system mirror image; the storage capacity of the local data volume is larger than the mirror image size of the virtual machine system.
In this embodiment, the cloud computing system further includes a block storage management subsystem, the source volume has a snapshot mechanism enabled, and the creating module 1201 further:
Receiving a virtual machine instance creation instruction of the block storage management subsystem aiming at the source volume, and generating a snapshot instruction corresponding to the virtual machine instance creation instruction; the snapshot instruction is used for carrying out snapshot creation on the source volume;
based on the snapshot instruction, creating snapshots respectively corresponding to snapshot time points of the snapshot instruction, so that the snapshots store virtual machine system images.
In this embodiment, the monitoring module 1202 further:
respectively counting the data read IO of all the snapshots in the snapshots;
and determining the snapshot of the data reading IO reaching the preset first threshold as the snapshot of the data reading hot spot.
In this embodiment, if the data read IO of all snapshots does not reach the preset first threshold, the monitoring module 1202 further:
respectively counting the storage pressures of all the snapshots in the snapshots, and summarizing and adding to obtain the total storage pressure of all the snapshots to the source volume;
and if the total storage pressure reaches a preset second threshold value, determining that the snapshot with the highest data reading IO in all the snapshots is the snapshot of the data reading hot spot.
In this embodiment, after the volume cloning obtains the shadow volume, the creating module 1201 further:
Enabling a snapshot mechanism for the shadow volume, and migrating a snapshot of the data read hot spot from the source volume to the shadow volume;
and generating a snapshot of the shadow volume in response to virtual machine instance creation instructions of the block storage management subsystem for the source volume, such that the snapshot of the shadow volume preserves an instance of a virtual machine system image.
In this embodiment, after all snapshots of the shadow volume are deleted, the creating module 1201 further:
and deleting the shadow volume so as to release the storage space of the storage system.
In this embodiment, when the storage pressure of the shadow volume is lower than a preset third threshold, the creating module 1201 further:
migrating and merging the snapshots of the shadow volumes to be used as the snapshots of the source volumes;
and deleting the shadow volume so as to release the storage space of the storage system.
In this embodiment, the storage system is a SAN storage system, and the cloud computing system is an Openstack-based cloud computing system.
For the device embodiments, reference is made to the description of the method embodiments for the relevant points, since they essentially correspond to the method embodiments. The apparatus embodiments described above are merely illustrative, wherein the modules illustrated as separate components may or may not be physically separate, and the components shown as modules may or may not be physical, i.e., may be located in one place, or may be distributed over a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purposes of the present application. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
The apparatus, device, module or module set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or a combination of any of these devices.
Corresponding to the method embodiment described above, the present specification also provides an embodiment of an electronic device. The electronic device can be applied to the storage device, wherein the storage system is connected with the cloud computing system for communication and provides corresponding storage resources for the cloud computing system; the electronic device includes: a processor and a memory for storing machine executable instructions; wherein the processor and the memory are typically interconnected by an internal bus. In other possible implementations, the device may also include an external interface to enable communication with other devices or components.
In this embodiment, the processor is caused to, by reading and executing the memory-stored machine-executable instructions corresponding to the volume cloning logic:
creating a source volume for saving virtual machine system images from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume;
creating a snapshot of the source volume in response to virtual machine instance creation instructions for the source volume of the cloud computing system;
monitoring the snapshot to obtain a snapshot of the data reading hot spot;
and performing volume cloning on dependent snapshots of the data reading hot spot to obtain corresponding shadow volumes.
In this embodiment, the cloud computing system includes at least a virtual machine image management subsystem, the processor is caused to, by reading and executing machine-executable instructions stored by the memory corresponding to volume cloning logic:
downloading and obtaining the virtual machine system image from a virtual machine image management subsystem;
creating a local data volume as a source volume, and storing the virtual machine system mirror image; the storage capacity of the local data volume is larger than the mirror image size of the virtual machine system.
In this embodiment, the cloud computing system further comprises a block storage management subsystem, the source volume having enabled a snapshot mechanism, the processor being caused to, by reading and executing the memory-stored machine-executable instructions corresponding to volume cloning logic:
receiving a virtual machine instance creation instruction of the block storage management subsystem aiming at the source volume, and generating a snapshot instruction corresponding to the virtual machine instance creation instruction; the snapshot instruction is used for carrying out snapshot creation on the source volume;
based on the snapshot instruction, creating snapshots respectively corresponding to snapshot time points of the snapshot instruction, so that the snapshots store virtual machine system images.
In this embodiment, the processor is caused to, by reading and executing the memory-stored machine-executable instructions corresponding to the volume cloning logic:
respectively counting the data read IO of all the snapshots in the snapshots;
and determining the snapshot of the data reading IO reaching the preset first threshold as the snapshot of the data reading hot spot.
In this embodiment, if the data read IO of all snapshots does not reach the preset first threshold, the processor is caused to, by reading and executing the machine-executable instructions stored by the memory and corresponding to the volume clone logic:
Respectively counting the storage pressures of all the snapshots in the snapshots, and summarizing and adding to obtain the total storage pressure of all the snapshots to the source volume;
and if the total storage pressure reaches a preset second threshold value, determining that the snapshot with the highest data reading IO in all the snapshots is the snapshot of the data reading hot spot.
In this embodiment, after volume cloning the shadow volume, the processor is caused to, by reading and executing the machine-executable instructions stored by the memory corresponding to the volume cloning logic:
enabling a snapshot mechanism for the shadow volume, and migrating a snapshot of the data read hot spot from the source volume to the shadow volume;
and generating a snapshot of the shadow volume in response to virtual machine instance creation instructions of the block storage management subsystem for the source volume, such that the snapshot of the shadow volume preserves an instance of a virtual machine system image.
In this embodiment, when all snapshots of the shadow volume are deleted, the processor is caused to, by reading and executing the machine-executable instructions stored by the memory that correspond to volume cloning logic:
and deleting the shadow volume so as to release the storage space of the storage system.
In this embodiment, when the storage pressure of the shadow volume is below a preset third threshold, the processor is caused to, by reading and executing the machine-executable instructions stored by the memory that correspond to volume cloning logic:
migrating and merging the snapshots of the shadow volumes to be used as the snapshots of the source volumes;
and deleting the shadow volume so as to release the storage space of the storage system.
In this embodiment, the storage system is a SAN storage system, and the cloud computing system is an Openstack-based cloud computing system.
Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This specification is intended to cover any variations, uses, or adaptations of the specification following, in general, the principles of the specification and including such departures from the present disclosure as come within known or customary practice within the art to which the specification pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the specification being indicated by the following claims.
It is to be understood that the present description is not limited to the precise arrangements and instrumentalities shown in the drawings, which have been described above, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present description is limited only by the appended claims.
The foregoing description of the preferred embodiments is provided for the purpose of illustration only, and is not intended to limit the scope of the disclosure, since any modifications, equivalents, improvements, etc. that fall within the spirit and principles of the disclosure are intended to be included within the scope of the disclosure.

Claims (12)

1. A method of volume cloning, the method being applied to a storage system; the storage system is communicated with the cloud computing system and provides corresponding storage resources for the cloud computing system; the method comprises the following steps:
creating a source volume for saving virtual machine system images from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume;
creating a snapshot of the source volume in response to virtual machine instance creation instructions for the source volume of the cloud computing system;
monitoring the snapshot to obtain a snapshot of the data reading hot spot;
and performing volume cloning on the source volume snapshot of the data read hot spot to obtain a shadow volume for storing an instance of the virtual machine system mirror image.
2. The method of claim 1, wherein the cloud computing system includes at least a virtual machine image management subsystem, the creating a source volume for saving virtual machine system images from the cloud computing system comprising:
Downloading and obtaining the virtual machine system image from a virtual machine image management subsystem;
creating a local data volume as a source volume, and storing the virtual machine system mirror image; the storage capacity of the local data volume is larger than the mirror image size of the virtual machine system.
3. The method of claim 2, wherein the cloud computing system further comprises a block storage management subsystem, the source volume having enabled a snapshot mechanism, the creating a snapshot of the source volume in response to virtual machine instance creation instructions for the source volume of the cloud computing system comprising:
receiving a virtual machine instance creation instruction of the block storage management subsystem aiming at the source volume, and generating a snapshot instruction corresponding to the virtual machine instance creation instruction; the snapshot instruction is used for carrying out snapshot creation on the source volume;
based on the snapshot instruction, creating snapshots respectively corresponding to snapshot time points of the snapshot instruction, so that the snapshots store virtual machine system images.
4. The method of claim 3, wherein the monitoring the snapshot for a snapshot of a data read hotspot comprises:
Respectively counting the data read IO of all the snapshots in the snapshots;
and determining the snapshot of the data reading IO reaching the preset first threshold as the snapshot of the data reading hot spot.
5. The method of claim 4, wherein if the data read IO of all snapshots does not reach a preset first threshold, further comprising:
respectively counting the storage pressures of all the snapshots in the snapshots, and summarizing and adding to obtain the total storage pressure of all the snapshots to the source volume;
and if the total storage pressure reaches a preset second threshold value, determining that the snapshot with the highest data reading IO in all the snapshots is the snapshot of the data reading hot spot.
6. The method of claim 5, further comprising, after volume cloning the shadow volume:
enabling a snapshot mechanism for the shadow volume, and migrating a snapshot of the data read hot spot from the source volume to the shadow volume;
and generating a snapshot of the shadow volume in response to virtual machine instance creation instructions of the block storage management subsystem for the source volume, such that the snapshot of the shadow volume preserves an instance of a virtual machine system image.
7. The method of claim 6, wherein when all snapshots of the shadow volume are deleted, further comprising:
And deleting the shadow volume so as to release the storage space of the storage system.
8. The method of claim 7, wherein when the storage pressure of the shadow volume is below a preset third threshold, further comprising:
migrating and merging the snapshots of the shadow volumes to be used as the snapshots of the source volumes;
and deleting the shadow volume so as to release the storage space of the storage system.
9. The method of claim 1, wherein the storage system is a SAN storage system and the cloud computing system is an Openstack-based cloud computing system.
10. A volume cloning device, said device being applied to a storage system; the storage system is communicated with the cloud computing system and provides corresponding storage resources for the cloud computing system; the device comprises:
the creation module is used for creating a source volume for storing the virtual machine system image from the cloud computing system; the source volume supports the self-starting operation of the virtual machine system image from the source volume;
the creation module further creates a snapshot of the source volume in response to a virtual machine instance creation instruction for the source volume of the cloud computing system;
The monitoring module is used for monitoring the snapshot to obtain a snapshot of the data reading hot spot;
and the cloning module performs volume cloning on the source volume snapshot of the data read hot spot to obtain a shadow volume for storing an instance of the virtual machine system mirror image.
11. An electronic device, comprising a communication interface, a processor, a memory and a bus, wherein the communication interface, the processor and the memory are connected with each other through the bus;
the memory stores machine readable instructions, the processor executing the method of any of claims 1 to 9 by invoking the machine readable instructions.
12. A machine-readable storage medium storing machine-readable instructions which, when invoked and executed by a processor, implement the method of any one of claims 1 to 9.
CN201911043997.8A 2019-10-30 2019-10-30 Volume cloning method, apparatus, electronic device and machine-readable storage medium Active CN110750221B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911043997.8A CN110750221B (en) 2019-10-30 2019-10-30 Volume cloning method, apparatus, electronic device and machine-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911043997.8A CN110750221B (en) 2019-10-30 2019-10-30 Volume cloning method, apparatus, electronic device and machine-readable storage medium

Publications (2)

Publication Number Publication Date
CN110750221A CN110750221A (en) 2020-02-04
CN110750221B true CN110750221B (en) 2023-05-16

Family

ID=69281151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911043997.8A Active CN110750221B (en) 2019-10-30 2019-10-30 Volume cloning method, apparatus, electronic device and machine-readable storage medium

Country Status (1)

Country Link
CN (1) CN110750221B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416245B (en) * 2020-09-18 2023-02-24 济南浪潮数据技术有限公司 Storage volume management method based on multi-architecture container cloud platform and related components
CN114168262B (en) * 2021-12-03 2022-09-23 中国人寿保险股份有限公司上海数据中心 Cloud platform mirror image cache management method based on LRU replacement algorithm

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885717A (en) * 2012-12-19 2014-06-25 杭州宏杉科技有限公司 Data replication method and data replication device
CN105302665A (en) * 2015-10-12 2016-02-03 深圳市安云信息科技有限公司 Improved copy-on-write snapshot method and system
CN105912425A (en) * 2016-04-08 2016-08-31 杭州宏杉科技有限公司 Snapshot image establishment and rollback method and apparatus
CN107423233A (en) * 2017-07-19 2017-12-01 杭州宏杉科技股份有限公司 A kind of writeable snapshot implementing method and device
CN110286856A (en) * 2019-06-17 2019-09-27 杭州宏杉科技股份有限公司 Roll up cloning process, device, electronic equipment and machine readable storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884871B2 (en) * 2017-08-07 2021-01-05 Datto, Inc. Systems and methods for copying an operating source volume

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885717A (en) * 2012-12-19 2014-06-25 杭州宏杉科技有限公司 Data replication method and data replication device
CN105302665A (en) * 2015-10-12 2016-02-03 深圳市安云信息科技有限公司 Improved copy-on-write snapshot method and system
CN105912425A (en) * 2016-04-08 2016-08-31 杭州宏杉科技有限公司 Snapshot image establishment and rollback method and apparatus
CN107423233A (en) * 2017-07-19 2017-12-01 杭州宏杉科技股份有限公司 A kind of writeable snapshot implementing method and device
CN110286856A (en) * 2019-06-17 2019-09-27 杭州宏杉科技股份有限公司 Roll up cloning process, device, electronic equipment and machine readable storage medium

Also Published As

Publication number Publication date
CN110750221A (en) 2020-02-04

Similar Documents

Publication Publication Date Title
US10649953B2 (en) Blockchain-based data migration method and apparatus
US10209910B2 (en) Copy-redirect on write
US9792060B2 (en) Optimized write performance at block-based storage during volume snapshot operations
JP6381801B2 (en) Dynamic scaling of storage volume for storage client file system
KR102031471B1 (en) Opportunity resource migration for resource placement optimization
US11392497B1 (en) Low latency access to data sets using shared data set portions
US11093148B1 (en) Accelerated volumes
US10528527B2 (en) File management in thin provisioning storage environments
US11550713B1 (en) Garbage collection in distributed systems using life cycled storage roots
JP2010231770A (en) Method and apparatus for backup and restore of thin provisioning volume
US11593270B1 (en) Fast distributed caching using erasure coded object parts
US9164856B2 (en) Persistent messaging mechanism
CN107423301B (en) Data processing method, related equipment and storage system
US10585613B2 (en) Small storage volume management
CN110750221B (en) Volume cloning method, apparatus, electronic device and machine-readable storage medium
US11237761B2 (en) Management of multiple physical function nonvolatile memory devices
CN113204407A (en) Memory over-allocation management method and device
US10963182B2 (en) System and method for on-demand recovery points
US11570153B2 (en) Virtual machine perfect forward secrecy
CN111435323B (en) Information transmission method, device, terminal, server and storage medium
US9342419B2 (en) Persistent messaging mechanism
US11726885B2 (en) Efficient method and system of intelligent deploying file level restore agent in multicloud
US20230244390A1 (en) Collecting quality of service statistics for in-use child physical functions of multiple physical function non-volatile memory devices
US11977785B2 (en) Non-volatile memory device-assisted live migration of virtual machine data

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