Cloning method and storage system

Distributing physical volumes across multiple storage nodes based on resource availability and access paths addresses network load and deployment delays in clone volume movements, ensuring efficient and rapid clone creation.

JP2026057072AActive Publication Date: 2026-04-02HITACHI VANTARA LTD
View PDF 11 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Moving a large number of clone volumes between nodes in virtual and containerized environments increases network load and delays deployment due to resource constraints.

Method used

A method for creating clone volumes by distributing physical volumes across multiple storage nodes, selecting nodes based on resource availability and access paths to balance load and reduce network load.

Benefits of technology

Reduces network load and completes clone volume movements quickly by distributing I/O and capacity across multiple storage nodes, minimizing delays and network investment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026057072000001_ABST
    Figure 2026057072000001_ABST
Patent Text Reader

Abstract

This reduces the network load associated with moving cloned volumes between nodes and minimizes delays in the completion of cloned volume transfers. [Solution] The storage system creates a physical volume on a storage node to store the data entered into the volume provided to the server. When the storage system receives a request to create a clone volume of a volume, it creates a clone physical volume on one of the storage nodes to access the data in the storage device corresponding to the physical volume, which is associated with the clone volume. Multiple physical volumes are created on multiple storage nodes, and each stores the data in the storage area of ​​a different drive. When the storage system receives a request to create a clone volume, it selects the storage node to create the clone physical volume and the physical volume to which the clone physical volume will be accessed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a clone creation method and a storage system.

Background Art

[0002] In the operation of virtual machines, it is common to create a large number of replicated environments of the virtual environment in which the virtual machine runs by creating clone volumes. When applying scale-out storage to such a virtual environment, when creating a large number of clone volumes from one volume due to node load and capacity limitations, it is necessary to move the clone volumes between nodes to achieve load balancing.

[0003] For example, Patent Document 1 discloses a conventional technique for moving volumes between nodes so as to equalize the load according to the IO (Input Output) load of each volume. By using this conventional technique, when applying scale-out storage to the virtual environment in which the virtual machine runs, it is possible to move the created clone volumes between nodes to achieve load balancing.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Patent Document 3

Patent Document 4

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, the conventional technology described above had the problem that moving a large number of clone volumes between nodes increased the network load, and if a node ran out of resources, the deployment of virtual machines would be delayed until the movement of clone volumes between nodes was complete. This problem also occurs in the operation of containerized servers.

[0006] This invention has been made in view of the above-mentioned problems, and aims to reduce the network load of moving clone volumes between nodes and to suppress delays in the completion of clone volume movement. [Means for solving the problem]

[0007] To achieve the above objective, the present invention, in one embodiment, provides a method for creating a clone in a storage system having a plurality of storage nodes, each having a processor, memory, and drives, wherein the processors of the plurality of storage nodes provide a volume to a server, create a physical volume in the storage node that corresponds to the storage area of ​​the drive and stores the data input to the volume, and when a request is received to create a clone volume of the volume, a clone physical volume that corresponds to the clone volume and is for accessing the data in the storage device related to the physical volume is created in one of the storage nodes, and the physical volume is created in a plurality of the plurality of storage nodes, each storing the data in the storage area of ​​a different drive, and when a request is received to create a clone volume, the processor has the process of selecting the storage node to create the clone physical volume and the physical volume related to the access destination of the clone physical volume. [Effects of the Invention]

[0008] According to the present invention, for example, the network load of moving clone volumes between nodes can be reduced, and the delay in the completion of the clone volume move can be suppressed.

Brief Description of the Drawings

[0009] [Figure 1A] A diagram showing the processing image of the clone creation process. [Figure 1B] A diagram showing the processing image of the clone creation process. [Figure 1C] A diagram showing the processing image of the clone creation process. [Figure 2] A diagram showing the overview of Example 1. [Figure 3] A diagram showing the configuration of the information processing system S according to Example 1. [Figure 4] A diagram showing the configuration of the memory of the storage node according to Example 1. [Figure 5] A diagram showing the configuration of the storage node management table according to Example 1. [Figure 6] A diagram showing the configuration of the volume management table according to Example 1. [Figure 7] A diagram showing the configuration of the physical volume management table according to Example 1. [Figure 8] A sequence diagram showing the physical volume replication process according to Example 1. [Figure 9] A sequence diagram showing the clone process according to Example 1. [Figure 10] A diagram showing the volume management table according to Example 2. [Figure 11] A flowchart showing the physical volume replication process according to Example 2. [Figure 12] A sequence diagram showing the clone process according to Example 2. [Figure 13] A diagram showing the overview of Example 3. [Figure 14] A diagram showing the configuration of the VM management table according to Example 3. [Figure 15] A diagram showing the configuration of the virtual volume management table according to Example 3. [Figure 16] A sequence diagram showing the physical volume replication process according to Example 3. [Figure 17] A diagram showing the overview of Example 4. [Figure 18] Figure showing the configuration of the virtual volume management table according to Example 4. [Figure 19] Sequence diagram showing the physical volume replication process according to Example 4. [Figure 20] Sequence diagram showing the virtual volume clone process according to Example 4. [Figure 21] Figure showing the outline of Example 5. [Figure 22] Figure showing the configuration of the storage management table according to Example 5. [Figure 23] Figure showing the outline of Example 6. [Figure 24] Figure showing the outline of Example 7. [Figure 25] Flowchart showing the physical volume replication process according to Example 7. [Figure 26] Figure showing the outline of Example 8.

Mode for Carrying Out the Invention

[0010] In the following description, the "interface device" may be one or more communication interface devices. The one or more communication interface devices may be one or more of the same type of communication interface devices (e.g., one or more NICs (Network Interface Cards)) or two or more different types of communication interface devices (e.g., NIC and HBA (Host Bus Adapter)).

[0011]

[0012] ​Furthermore, in the following explanation, "drive" refers to a persistent storage device. A persistent storage device is typically a non-volatile storage device (e.g., an auxiliary storage device), specifically, an HDD (Hard Disk Drive), SSD (Solid State Drive), or NVMe (Non-Volatile Memory Express) drive.

[0013] Furthermore, in the following explanation, "processor" may refer to one or more processor devices. At least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit), but may also be other types of processor devices such as a GPU (Graphics Processing Unit). At least one processor device may be single-core or multi-core. At least one processor device may be a processor core. At least one processor device may be a broad-sense processor device such as a hardware circuit that performs some or all of the processing (e.g., FPGA (Field-Programmable Gate Array), CPLD (Complex Programmable Logic Device), or ASIC (Application Specific Integrated Circuit)).

[0014] Furthermore, in the following explanation, we may use expressions such as "xxx table" to describe information from which an output is obtained for a given input. However, this information can be data of any structure (for example, structured data or unstructured data), or it can be a neural network that generates an output for a given input, a learning model such as a genetic algorithm or a random forest. Therefore, "xxx table" can be called "xxx information." Also, in the following explanation, the structure of each table is just an example, and one table may be divided into two or more tables, or all or part of two or more tables may be a single table.

[0015] Furthermore, in the following explanation, the process may be described using "program" as the subject. However, a program, when executed by a processor, performs defined processes using memory devices and / or interface devices as appropriate. For this reason, the subject of the process may be the processor (or a device such as a controller having that processor). A program may be installed from a program source into a device such as a computer. The program source may be, for example, a program distribution server or a computer-readable (e.g., non-temporary) recording medium. Also, in the following explanation, two or more programs may be implemented as a single program, or one program may be implemented as two or more programs.

[0016] The following description of the embodiments will focus on the differences from previously described embodiments, and will omit explanations of parts that overlap with previously described embodiments. [Examples]

[0017] (Overview of the cloning process) Before describing Example 1, we will explain the overview of the cloning process.

[0018] (Configuration of Storage 100Z) Figure 1A shows the configuration of storage 100Z. As shown in Figure 1A, storage 100Z has multiple storage nodes 110 (storage node #1, storage node #2, ...). Each storage node 110 has a logical configuration of a pool 120, a pool volume 130, and a volume 140.

[0019] Pool volume 130 is a logical storage device (logical volume) managed by storage 100Z, and pool 120 is created by integrating one or more pool volumes 130. Volume 140 is a virtual volume created from pool 120. The data in volume 140 is managed in units of page 141.

[0020] Volume 140 is a volume that receives I / O from the server (or host) and is read from and written to, and is associated with its pool (the pool from which it was created, 120). Page 141 also manages the address to which it is assigned. For example, in Figure 1A, Volume 140 (Virtual Volume #1) is associated with Pool 120 (Pool #1), which contains Pool Volume 130 (Pool Volume #11). Page 141 of Volume #1, labeled "A", is assigned to Page 131 (Page) of Pool Volume #11, labeled "A".

[0021] (Clone creation process) Figure 1B shows an image illustrating the process of creating a clone.

[0022] In the configuration shown in Figure 1A, a "clone creation instruction" is sent to storage 100Z to create a clone of volume 140, which is accessible from the server, on a designated storage node 110. The clone creation process starts when the source storage node 110 receives the "clone creation instruction". In Figure 1B, it is assumed that the "clone creation instruction" instructs storage node 110 (storage node #1) from the server to create a clone of volume 140 (volume #1) on volume 140 (volume #2) of another node, storage node 110 (storage node #2).

[0023] Then, in response to the "clone creation instruction," a duplicate volume of the source volume (volume #1) (volume #3 (Clone) being a clone of volume #1) is created within the same storage node #1 as the source. As shown in Figure 1B, page 131 of pool volume #11, which was assigned to page 141 of volume #1, is also assigned to page 141 of volume #3 (Clone).

[0024] Then, at the destination node (storage node #2), the replicated volume (volume #3 (Clone)) is externally connected to pool volume 130 (pool volume #22 (Extra VOL)) of the destination node (storage node #2). As a result, the source node (storage node #1) can treat pool volume 130 (pool volume #22 (Extra VOL)) of the destination node (storage node #2) as an externally connected volume from the source node (storage node #1).

[0025] Furthermore, at the clone destination node (storage node #2), page 141 within the clone destination volume (volume #2 (Clone)), which is mapped to the data of the replicated volume (volume #3 (Clone)), is linked one-to-one with page 131 within the externally connected volume (pool volume #22) to which the replicated volume (volume #3 (Clone)) is externally connected.

[0026] When accessing page 141 of "A" on the cloned volume (volume #2 (Clone)) from the server, since page 141 is mapped to volume #3 (Clone) via pool #2, the actual data on page 131 of "A" in pool #1 is accessed via volume #3 (Clone). In addition, it is possible to write to volume #2 (Clone) independently of volume #1, in which case the written "B" is stored in pool volume #11 of pool #2.

[0027] If page 141 of volume "A" on the source volume is updated, this update will only be reflected in VOL#1. One way to do this is to move "A" to another page, rewrite the mapping destination page for page #141 in VOL#3 to that page, and then update the data on page #131. Another way is to assign a new page to pool volume #130, write the new data to that page, and then change the mapping destination of page #141 to that page.

[0028] (Duplicate process) In the state shown in Figure 1B, creating clone destination volumes (volume #2 (Clone)) on multiple storage nodes 110 resulted in a problem where the load increased due to concentrated access to pool volume #11 on storage node #1 via volume #3 (Clone).

[0029] Therefore, as shown in Figure 1C, the data of pool volume #11, which is referenced via volume #3 (Clone), is replicated to pool volume #21, and volume #2 (Clone) accesses pool volume #21. As a result, even if cloned volumes (volume #2 (Clone)) are created on multiple storage nodes 110, access is distributed to each storage node 110, thus distributing the load that was concentrated on storage node #1. It is also possible to create yet another cloned volume using volume #2 (Clone) and pool volume #21. Note that this process is just one example of a replication process performed via cloning, and replication can also be created by other methods.

[0030] (Summary of Example 1) Figure 2 shows an overview of Example 1. In Example 1, the control plane 100p of the information processing system S, which includes storage 100, controls the replication of user-specified volumes between nodes. Storage 100 is an example of a storage system.

[0031] In storage 100, volume V1 is provided to the server. In storage 100, volume V1, designated as the source volume to be cloned, has multiple physical volumes VE1 associated with it as physical volumes. In storage 100, physical volume VE1, which is the source volume to be cloned, is replicated and distributed across multiple storage nodes 110, but for the user's management operations, it is presented as a single volume. Physical volume VE1 is created by copying other physical volumes in response to a copy instruction, and each physical volume VE1 has data stored in volume V1, with each physical volume VE1 separately associated with the storage area of ​​the storage medium and storing data. Data written to volume V1 is written to each of the multiple physical volumes VE1, and when data is read, it is read from one of the physical volumes VE1.

[0032] When a clone operation of volume V1 is requested (1. Request to clone), the control plane 100p identifies the physical volume VE1 associated with volume V1. The control plane 100p then selects one of the storage nodes 110 that manage the identified physical volume VE1 as the clone destination node, depending on the available capacity of the storage node 110.

[0033] The control plane 100p then requests the storage controller 111 running on the selected storage node 110 to create a clone of the physical volume VE1 (2. Forward requests). The storage controller 111, having received the cloning request, then performs the cloning of the physical volume VE1 (3. Clone volume entities).

[0034] In the conventional technology, there was only one physical volume VE1 associated with the source volume V1. In this case, when multiple clones of volume V1 were created, data access from multiple physical volumes VE2 associated with the destination volume V2 became concentrated on the storage node 110, which has one physical volume VE1 associated with volume V1, as described above with reference to Figure 1B.

[0035] In contrast, in Example 1, multiple physical volumes VE1 associated with the source volume V1 are managed in a distributed manner by multiple storage controllers 111. Therefore, when multiple clones of volume V1 are created, and multiple volumes V2 are created, there is one physical volume VE2 associated with each volume V2. Each physical volume VE2 is distributed to each storage node 110 that has each of the multiple physical volumes VE1. Thus, the load related to data access of the multiple physical volumes VE2 can be prevented from being concentrated on a specific storage node 110.

[0036] (Configuration of the information processing system S according to Example 1) Figure 3 shows the configuration of the information processing system S according to Example 1.

[0037] The information processing system S includes a storage system 100 containing multiple storage nodes 110, a server 200, and a management server 300. The storage nodes 110, server 200, and management server 300 have a typical computer configuration.

[0038] Server 200 runs applications, virtual machines, containers, and virtualization infrastructure that control their execution, which use the volumes created on Storage 100. Server 200 sends I / O (Input Output) requests to the physical volumes on Storage Node 110 and receives I / O responses to the I / O requests from Storage Node 110.

[0039] The management server 300 sends a request to the storage 100 regarding the configuration management of the storage 100, in response to user input.

[0040] The storage node 110 has one or more storage controllers 111 and one or more drives 112.

[0041] The storage controller 111 includes a processor 111a, memory 111b, front-end network interface 111c, management network interface 111d, back-end network interface 111e, and back-end interface 111f.

[0042] The processor 111a works in cooperation with the memory 111b to execute various processes of the storage controller 111.

[0043] Processor 111a receives I / O requests from server 200 via front-end network N1 and front-end network I / F 111c, and accesses the physical volume on drive 112. Processor 111a then sends I / O responses to the I / O requests to server 200 via front-end network N1 and front-end network I / F 111c.

[0044] Furthermore, the processor 111a receives requests related to the configuration management of the storage 100 from the management server 300 via the management network N2 and the management network I / F 111d, and executes various processes related to configuration management.

[0045] Furthermore, processor 111a performs data redundancy such as Erasure Coding (EC) to protect the data on the physical volumes it manages.

[0046] The copying of the physical volume is performed via the front-end network N1 and front-end network I / F111c, or via the back-end network N3 and back-end network I / F111e. If the storage nodes 110 are interconnected via the front-end network N1 and front-end network I / F111c, the copying of the physical volume can be performed via the front-end network N1.

[0047] (Configuration of memory 111b according to Example 1) Figure 4 shows the configuration of the memory 111b in the storage node 110 according to Embodiment 1. The memory 111b in the same storage node 110 will have the same configuration.

[0048] Memory 111b includes a control information storage area R1, a program storage area R2, and a cache area R3.

[0049] The control information storage area R1 stores the storage node management table T1, the volume management table T2, and the physical volume management table T3. Details of these tables will be described later. This information may also be stored on drive 112 for non-volatility purposes, and memory 111b may have a cache of this information.

[0050] The program storage area R2 stores the control plane program Pg1 and the storage controller program Pg2, which are executed by the processor 111a.

[0051] The control plane program Pg1 is a program that implements the control plane 100p (Figure 2) and executes various processes related to the configuration management of the storage 100, including the creation of volume clones. The storage controller program Pg2 executes the control of the storage 100, including the processing of I / O requests.

[0052] Cache area R3 is a temporary storage area for data related to I / O requests when processing I / O requests from server 200.

[0053] (Storage node management table T1 related to Example 1) Figure 5 shows the configuration of the storage node management table T1 according to Embodiment 1. The storage node management table T1 contains information for managing the storage node 110, and is stored in the memory 111b of the storage node 110 as information managed by the control plane 100p.

[0054] The storage node management table T1 contains the following entries: storage node ID T11, total capacity T12, used capacity T13, CPU usage T14, total memory capacity T15, memory used capacity T16, and API endpoint T17.

[0055] The storage node management table T1 manages the total capacity and used capacity, CPU (processor 111a) utilization, total capacity and used capacity of memory 111b, and API endpoints for each storage node 110 identified by storage node IDT11.

[0056] The control plane 100p determines the available capacity of each storage node 110 based on the resource usage managed in the storage node management table T1, and decides which storage node 110's physical volume should be cloned.

[0057] (Volume management table T2 related to Example 1) Figure 6 shows the configuration of the volume management table T2 according to Embodiment 1. The volume management table T2 contains information for managing volumes and is stored in the memory 111b of the storage node 110 as information managed by the control plane 100p.

[0058] The volume management table T2 contains entries for volume IDT21, volume size T22, physical volume IDT23, and replication requirement flag T24. The volume management table T2 manages the correspondence between one volume and one or more physical volumes.

[0059] The replication requirement flag T24 is flag information indicating whether the volume identified by volume IDT21 needs to be replicated between storage nodes 110, and is specified by the user as a volume attribute. When the replication requirement flag T24 is changed to "YES", the actual volume replication process (Figure 8) described below is executed, and the actual volume is replicated between storage nodes 110.

[0060] (Actual volume management table T3 related to Example 1) Figure 7 shows the configuration of the physical volume management table T3 according to Embodiment 1. The physical volume management table T3 contains information for managing physical volumes and is stored in the memory 111b of the storage node 110 as information managed by the control plane 100p.

[0061] The physical volume management table T3 contains entries for physical volume IDT31, physical volume size T32, volume IDT33, and storage node IDT34. The volume management table T2 manages the identification information of the volumes associated with the physical volume and the storage node 110 that manages the physical volume.

[0062] (Physical volume duplication process according to Example 1) Figure 8 is a sequence diagram showing the physical volume replication process according to Example 1. The physical volume replication process is executed synchronously or asynchronously when the replication requirement flag T24 (Figure 6) for each volume is changed to "YES".

[0063] The physical volume replication process illustrated in Figure 8 is performed between storage controller 111-1, which has a physical volume associated with the source volume, and storage controller 111-2, which is the destination for the replication of this physical volume.

[0064] First, in step S701, the control plane 100p selects other storage nodes 110 that constitute storage 100 as destination storage nodes. In step S701, for example, all storage nodes 110 that constitute storage 100 are selected as destination storage nodes. Destination storage nodes may be selected based on at least one of the following (1-1) to (1-3).

[0065] (1-1) Resource usage of storage node 110 Resource usage includes capacity utilization, CPU utilization, memory capacity utilization, etc., which can be obtained by referring to the storage node management table T1 (Figure 5), for example. Storage nodes 110 that have no available resources because one or more of these values ​​exceed the threshold may be excluded from the selection of the destination storage node for replication.

[0066] (1-2) Is there a path from server 200 that will use the volume? The storage node 110 may be selected based on whether a path exists from the server 200 that will use the volume. This is because even if a duplicate volume of the physical volume and a clone of the duplicate volume are created, if a path is not created that allows access from the server 200 to the storage node 110, the server 200 will not be able to send I / O. By excluding the storage node 110, which does not have a path, from the selection of the destination storage node, it is guaranteed that the physical volume created by the clone will be accessible from the server 200.

[0067] (1-3) Estimated number of volumes to be cloned The destination storage nodes for replication may be selected as follows: the volume attribute contains information about the expected number of clones of volumes that may be created in the future, and the replication requirement flag T24 (Figure 6) is set to "YES" and set for each volume. Then, the required number of storage nodes 110 is estimated using equation (1) based on the expected number of clones, and the estimated required number of destination storage nodes for replication are selected. Alternatively, the physical volumes may be replicated to more storage nodes 110 than required by multiplying equation (1) by a weight coefficient greater than 1. Number of storage nodes required (110) = (Number of future clones) / (Maximum number of volumes that can be held on storage node 110) ...(1)

[0068] Furthermore, if the estimated number of required storage nodes 110 is less than the number of storage nodes 110 in storage 100, the system may prioritize the selection of storage nodes 110 with greater available capacity, taking the load into consideration.

[0069] Next, steps S702 to S707 are performed for all storage nodes 110 selected in step S701.

[0070] In step S702, the control plane 100p sends a request to create a physical volume to the storage node 110 (storage controller 111-2) selected in step S701.

[0071] Next, in step S703, the storage controller 111-2 creates a physical volume and sends a notification to the control plane 100p indicating that the physical volume has been created.

[0072] Next, in step S704, the control plane 100p requests the storage controller 111-1, which has the source physical volume, to copy data from the source physical volume to the destination physical volume.

[0073] Next, in step S705, storage controllers 111-1 and 111-2 perform a data copy from the source physical volume to the destination physical volume. Steps S703 and S705 create the source physical volume. Then, storage controllers 111-1 and 111-2 send a notification to the control plane 100p indicating that the data copy has been completed.

[0074] In step S705, data copying of the physical volume can be performed using the known volume replication technique. However, volume replication technique results in duplicate data being stored on multiple storage nodes 110, which increases data retention costs.

[0075] Therefore, it is also possible to apply a method that allows other storage nodes 110 to access the actual volume by using a function that treats the volume on external storage as a volume on the local storage. When this method is applied, the cost of data retention can be reduced because only one storage node 110 holds the actual data. On the other hand, since the actual data does not exist on the corresponding destination storage node 110, data access becomes remote, which has the disadvantage of reducing data access performance.

[0076] While volume replication technology has the disadvantage of increasing data retention costs, it avoids a decrease in data access performance because the actual data also exists on the destination storage node 110.

[0077] Therefore, the method for copying data from physical volumes can be selected depending on the purpose of the storage 100 and the volume.

[0078] Next, in step S707, an entry relating to the correspondence between the volume to be processed and the replicated physical volume (the source physical volume) is added to the volume management table T2 (Figure 6). Next, in step S706, the control plane 100p adds an entry relating to the correspondence between the source physical volume and the destination storage node to the physical volume management table T3 (Figure 7). The destination storage node is storage node 110, which has the source physical volume.

[0079] For volumes where the physical volume replication process shown in Figure 8 has been completed, the replication requirement flag T24 in the volume management table T2 (Figure 6) is updated to "NO".

[0080] In step S705, there is a technique to continuously synchronize data updates to the source volume, where the duplication requirement flag T24 (Figure 6) has been changed to "YES", with the destination physical volume (see, for example, Patent Documents 2 and 3). There is also a technique to copy on demand when data is accessed (see, for example, Patent Document 4). As a result, data updates to the source physical volume are continuously synchronized with the destination physical volume, allowing cloning to be performed based on the latest data. As an alternative means of guaranteeing the identity of the source and destination physical volumes, it is also possible to prohibit updates to the source physical volume before copying.

[0081] (Clone processing according to Example 1) Figure 9 is a sequence diagram showing the cloning process according to Example 1. The cloning process according to Example 1 is a process that is executed when a volume cloning request is received.

[0082] First, in step S801, the control plane 100p identifies the physical volume associated with the volume designated as the source of the clone. Next, in step S802, the control plane 100p identifies the storage node 110 that manages the physical volume identified in step S801.

[0083] Next, in step S803, the control plane 100p selects one of the storage nodes 110 identified in step S802 as the clone destination storage node. The control plane 100p may select the clone destination storage node based on at least one of the following (2-1) to (2-3).

[0084] (2-1) Resource usage of storage node 110 that manages physical volumes To balance the load, the destination storage node for cloning may be selected based on the resource usage of the storage node 110 that manages the physical volume. For example, the storage node 110 with the most available capacity may be selected. The storage node 110 with the most available capacity is the storage node 110 with the lowest usage and utilization rate based on the CPU, memory, and storage capacity usage in the storage node management table T1 (Figure 5).

[0085] (2-2) Is there a path accessible from server 200 that uses the volume? Depending on whether a path exists that can be accessed from the server 200 using the volume, one of the physical volumes on the storage node 110 may be selected. If paths exist on multiple storage nodes 110, a selection can be made from among them based on the available capacity as described above.

[0086] (2-3) Specifying the location of storage node 110 included in the clone creation request If the storage node 110 has location information such as availability zones, and the clone creation request includes a specification of which location's storage node 110 to create the clone to, the storage node 110 that satisfies the specification may be selected.

[0087] Next, in step S804, the control plane 100p sends a request to the storage node 110 selected in step S803 to clone the physical volume identified in step S801.

[0088] Next, in step S805, the storage controller 111-2 of the storage node 110 selected in step S803 creates a clone of the physical volume requested to be created in step S804 and sends a message to the control plane 100p indicating that the creation is complete.

[0089] Next, in step S806, the control plane 100p adds information regarding the correspondence between the clone created in step S805 and the destination storage node to the volume management table T2 (Figure 6). Next, in step S807, the control plane 100p adds information regarding the correspondence between the clone created in step S805 and the source volume to the physical volume management table T3 (Figure 7).

[0090] (Effects of Example 1) In Example 1, when a request is made to create a clone of a physical volume, the source physical volume that will be used to clone the clone is created on the destination storage node. Therefore, even when cloning many volumes from one volume, the I / O load and capacity can be distributed across multiple storage nodes. In addition, since a large number of volume movements do not occur, the network load between storage nodes is reduced, network investment is reduced, and cloning can be completed quickly in response to cloning requests.

[0091] In Example 1, the destination storage node is selected based on at least one of the following: the resource usage status of the storage node, the configuration of the access path from the server to each storage node, and the estimated number of clones to be created in each storage node in the future. Therefore, an appropriate storage node is selected as the destination storage node depending on the situation, and a copy of the source volume is placed there in advance, so that clones can be created quickly and without delay when a clone creation request is made.

[0092] In Example 1, the source volume associated with the volume to be cloned is identified, the destination storage node associated with the identified source volume is identified, and a clone destination storage node is selected from the identified destination storage nodes. Then, a clone of the source volume is created at the selected clone destination storage node. Therefore, a suitable storage node can be selected depending on the situation, and a clone can be created quickly.

[0093] In Example 1, the clone destination storage node is selected based on at least one of the following: the resource usage status of the destination storage node, the configuration of the access path from the server to each destination storage node, and the location of the clone destination storage node. Therefore, in order to create a clone quickly and without delay in response to a clone creation request, it is possible to select an even more appropriate storage node from among the destination storage nodes where a replica of the source physical volume has already been placed, and to create the clone quickly. [Examples]

[0094] In Example 1, the user was left to decide whether or not to duplicate the physical volume, and the user was instructed to set the duplication requirement flag T24 (Figure 6). In contrast, in Example 2, the control plane 100p performs the decision on whether or not to duplicate the physical volume.

[0095] In Example 2, instead of volume management table T2 (Figure 6), volume management table T2B (Figure 10) is used, which manages information on the number of times cloning has been performed with each volume as the source.

[0096] (Volume management table T2B related to Example 2) Figure 10 shows the volume management table T2B according to Example 2. Compared to the volume management table T2 (Figure 6) according to Example 1, volume management table T2B further includes an item for the number of clones created T23B.

[0097] The clone creation count T23B indicates the number of times a clone has been created using each volume as the source. The clone creation count T23B is an example of the creation history information accumulated each time a clone is created at the destination storage node for each volume.

[0098] (Determination process for determining whether physical volume duplication is necessary, according to Example 2) Figure 11 is a flowchart showing the physical volume replication process according to Example 2.

[0099] First, in step S1001, the control plane 100p determines whether the number of clones T23B for each volume identified by volume IDT21 in the volume management table T2B (Figure 10) satisfies predetermined conditions. These predetermined conditions include, for example, that clones of a certain percentage of the volume capacity that one node can handle have been created, or that a predetermined number of clones (e.g., two or more) have been created. "Capacity of created clones" is also an example of creation history information that is accumulated for each volume each time a clone is created at the clone destination storage node.

[0100] The control plane 100p proceeds to step S1002 if the predetermined conditions are met (step S1001YES), and terminates the physical volume duplication process if the predetermined conditions are not met (step S1001NO).

[0101] In step S1002, the control plane 100p changes the replication requirement flag T24 of the volume management table T2B (Figure 10) to "YES" for volumes that satisfy predetermined conditions. Next, in step S1003, the control plane 100p, storage controller 111-1, and storage controller 111-2 perform the same process as the physical volume replication process according to Embodiment 1 (Figure 8). Storage controller 111-1 is the storage controller that has the source physical volume. Storage controller 111-2 is the storage controller that has the destination physical volume. Step S1003 is executed synchronously or asynchronously with steps S1001 and S1002.

[0102] (Clone processing according to Example 2) Figure 12 is a sequence diagram showing the cloning process according to Example 2. The cloning process according to Example 2 differs from the cloning process according to Example 1 (Figure 9) in that, when cloning is performed, the number of clones T23B of the source volume is incremented (+1) in step S808B. Otherwise, it is the same as Example 1.

[0103] Furthermore, simply incrementing the clone creation count T23B would leave lingering effects from clone creations performed in the distant past. Therefore, to eliminate these effects, the clone creation count T23B may be periodically subtracted. Subtraction methods include, for example, periodically initializing the clone creation count T23B to zero, or periodically multiplying it by a weight coefficient less than 1 and subtracting it step by step.

[0104] (Effects of Example 2) In Example 2, for each volume, creation history information is managed, which is accumulated each time a clone is created at the clone destination storage node. For volumes where the creation history information satisfies predetermined conditions, the source volume is created. Therefore, for volumes that have a history of being cloned frequently, a replica of the source volume is placed in advance, allowing for efficient placement of the source volumes.

[0105] In Example 2, the creation history information is periodically initialized or subtracted. Therefore, by excluding the influence of old past clone creations, it is possible to appropriately determine which volumes to distribute to the storage nodes based on appropriate creation history information. [Examples]

[0106] (Summary of Example 3) Figure 13 is a diagram illustrating the overview of Embodiment 3. In Embodiment 3, the information processing system 3S has a virtual machine infrastructure 200p that uses volume V1, and a driver 100d for the virtual machine infrastructure 200p and storage 100 to work together. The driver 100d performs some of the control operations of the control plane 100p in Embodiment 2. Figure 13 shows a configuration in which the driver 100d is executed on storage 100, but the embodiments of the present invention are not limited thereto, and for example, the driver 100d may be executed on a server located outside of storage 100.

[0107] Virtual machine 200v, running on virtual machine infrastructure 200p, is provided with virtual volume VV1 via driver 100d. Virtual volume VV1 is managed by driver 100d. Virtual volume VV1 is management information for connecting volume V1 and virtual machine 200v.

[0108] Virtual machine infrastructure 200p and virtual machine 200v are examples of computing infrastructure and virtual computing resources. Computing infrastructure and virtual computing resources are not limited to virtual machine infrastructure 200p and virtual machine 200v; they may also be other platforms and computing resources on other platforms, such as container infrastructure and containers.

[0109] In Example 3, the determination of whether or not to replicate the physical volume (step S1001) in the physical volume replication process of Example 2 (Figure 11) is performed based on the configuration information of the virtual machine infrastructure 200p that uses the volume, rather than the number of clone creations T23B (Figure 10).

[0110] For example, in the virtual machine infrastructure 200p, a new virtual machine is created by cloning virtual machine 200v, which is the golden image. Therefore, there is a high probability that the volume used by virtual machine 200v, which is designated as the golden image, will be cloned. A golden image is a versatile template that can configure various virtual machine environments.

[0111] In Example 3, first, it is checked whether a golden image is assigned to virtual machine 200v (1. Check). If a golden image is assigned to virtual machine 200v, it is assumed that a large number of clones may be created, and storage 100 is instructed to create a copy of the physical volume VE1 associated with volume V1 used by virtual machine 200v (the replication requirement flag T24 is set to "YES" (2. Notify the volume needs replicas of the volume entity)). Then a copy of the physical volume VE1 is created (3. Make replication).

[0112] (VM management table T4 related to Example 3) Figure 14 shows the configuration of the VM management table T4 according to Example 3. The VM management table T4 is managed by the virtual machine infrastructure 200p.

[0113] The VM management table T4 contains entries for virtual machine IDT41, virtual volume IDT42, and golden image attribute T43. The VM management table T4 manages virtual volume IDT42, which is the identification information of the virtual volume used by virtual machine 200v, identified by virtual machine IDT41, and golden image attribute T43, which indicates whether virtual machine 200v is a golden image.

[0114] Furthermore, if the computing infrastructure is a container infrastructure rather than a virtual machine infrastructure (200p), the same control as for virtual machines can be applied by using identification information for management units in the computing infrastructure, such as containers or sets of containers, instead of the virtual machine IDT41. Containers and sets of containers are, for example, Deployments and StatefulSets in Kubernetes (registered trademark, hereafter the same).

[0115] (Virtual volume management table T5 related to Example 3) Figure 15 shows the configuration of the virtual volume management table T5 according to Embodiment 3. The virtual volume management table T5 is a management table for virtual volumes and is managed by either the driver 100d or the virtual machine infrastructure 200p, or both.

[0116] The virtual volume management table T5 has entries for virtual volume IDT51, virtual volume capacity IDT52, volume IDT53, and storage IDT54. The virtual volume management table T5 manages the identification information of the virtual volume capacity IDT52 of the virtual volume identified by virtual volume IDT51, the associated volume, and storage 100.

[0117] Furthermore, if the computing infrastructure is Kubernetes, a prime example of a container-based infrastructure, then by using Persistent Volume or Persistent Volume Claim for virtual volumes, the same control as with the virtual machine infrastructure 200p becomes possible.

[0118] (Physical volume duplication process according to Example 3) Figure 16 is a sequence diagram showing the physical volume replication process according to Example 3. In the physical volume replication process according to Example 3, it is determined whether or not replication of the physical volume VE1 is necessary based on the information of the virtual machine 200v that uses the volume, and replication is performed as needed.

[0119] First, in step S1501, the driver 100d requests virtual machine information related to virtual machine 200v from the virtual machine infrastructure 200p. Next, in step S1502, the virtual machine infrastructure 200p sends virtual machine information related to virtual machine 200v to the driver 100d.

[0120] Next, steps S1503 to S1507 are performed for all virtual machines 200v whose virtual machine information was sent in step S1501.

[0121] In step S1503, driver 100d determines whether the golden image attribute T43 of the virtual machine information for the virtual machine 200v is "YES". If the golden image attribute T43 of the virtual machine 200v is "YES" (step S1503YES), driver 100d proceeds to step S1504. On the other hand, if the golden image attribute T43 is "NO" (step S1503NO), driver 100d executes step S1503 for the virtual machine information of the next virtual machine 200v.

[0122] In step S1504, driver 100d refers to the VM management table T4 (Figure 14) and identifies the virtual volume T42 associated with virtual machine 200v, for which the golden image attribute T43 is determined to be "YES". Next, in step S1505, driver 100d refers to the virtual volume management table T5 (Figure 15) and identifies the volume associated with the virtual volume T42 identified in step S1504.

[0123] Next, in step S1506, the driver 100d requests the control plane 100p to duplicate the volume identified in step S1505. This request is made by changing the duplication flag T24 (Figure 6) for the volume in question to "YES".

[0124] Next, in step S1507, the control plane 100p, storage controller 111-1, and storage controller 111-2 perform the same processing as the physical volume replication process according to Embodiment 1 (Figure 8). Storage controller 111-1 is the storage controller that has the source physical volume. Storage controller 111-2 is the storage controller that has the destination physical volume. Step S1507 is executed synchronously or asynchronously with steps S1503 to S1506.

[0125] When step S1506 (if step S1507 is executed asynchronously) or step S1507 (if step S1507 is executed synchronously) is completed, driver 100d executes step S1503 for the virtual machine information of the next virtual machine 200v. When the execution of steps S1503 to S1507 for the virtual machine information of all virtual machines 200v is completed, the physical volume replication process is completed.

[0126] (Effects of Example 3) In Example 3, the server runs a computing infrastructure and virtual computing resources on the infrastructure, provides virtual volumes to the virtual computing resources, and runs a driver that connects the virtual volumes to the virtual volumes. When the attribute information of the virtual computing resources is a golden image, the source physical volume is created. Therefore, even in an information processing system that includes virtual computing resources, an appropriate storage node is selected as the replication destination storage node, and a copy of the source physical volume is placed in advance, so that clones can be created quickly and without delay when a clone creation request is made. In other words, a storage environment for virtual machines that can rapidly deploy a large number of virtual machines can be constructed. [Examples]

[0127] (Summary of Example 4) Figure 17 shows an overview of Example 4. In the information processing system 4S of Example 4, the difference from Example 3 is that the driver 100d performs all of the determination of whether or not to duplicate the physical volume VE1 and the duplication process.

[0128] Driver 100d does not manage the relationship between volume V1 and physical volume VE1. Therefore, if driver 100d determines that a copy of the physical volume to be cloned is necessary, it creates copies of the source volume V1 to distribute to other storage nodes 110 in order to copy the physical volume VE1 to other storage nodes 110, and associates each copy with the source virtual volume VV1. The method for determining whether a copy of the source volume is necessary is the same as in Examples 1 to 3.

[0129] When driver 100d receives a request from virtual machine infrastructure 200p to clone virtual volume VV1 (1. Request to clone), it selects one of the multiple volumes V1 associated with virtual volume VV1 and requests that control plane 100p create a clone of it (2. Clone volumes). In accordance with this request, control plane 100p creates physical volume VE2, which is a clone of physical volume VE1 associated with volume V1, which was designated as the source volume for cloning (3. Clone volume entities).

[0130] The method for selecting the storage node 110 to which the physical volume VE1 is replicated is the same as in Example 1.

[0131] (Virtual volume management table T5D according to Example 4) Figure 18 shows the configuration of the virtual volume management table T5D according to Example 4. The virtual volume management table T5D differs from the virtual volume management table T5 (Figure 15) according to Example 3 in that multiple volume IDs T53 store one or more volume IDs. In other words, in the virtual volume management table T5D according to Example 4, one or more volumes are associated with one virtual volume.

[0132] (Physical volume duplication process according to Example 4) Figure 19 is a sequence diagram showing the physical volume replication process according to Example 4. The physical volume replication process according to Example 4 differs from the physical volume replication process according to Example 1 (Figure 8) in that it replicates not only physical volume VE1 but also volume V1. In the description of the physical volume replication process according to Example 4, the same reference numerals are used for processes that are the same as those in Example 1, and different reference numerals are used for processes that are different.

[0133] First, in step S701D, the driver 100d selects other storage nodes 110 that make up storage 100, similar to step S701 (Figure 8).

[0134] Next, steps S702D to S710D are executed for all storage nodes 110 selected in step S701D.

[0135] In step S702D, the driver 100d sends a request to the control plane 100p for volume replication to the storage node 110 (storage controller 111-2) selected in step S701D.

[0136] Next, in step S702D1, the control plane 100p creates a duplicate volume of the volume instructed in step S702D on the designated storage node 110.

[0137] Next, steps S702 to S708 are executed in the same manner as the physical volume duplication process according to Example 1 (Figure 8).

[0138] Next, in step S709D, the control plane 100p adds a new entry to the volume management table T2B (Figure 10) associating the duplicated volume replicated in step S702D1 with the physical volume whose data was copied in step S706. Once the control plane 100p has finished adding the new entry in step S709D, it notifies the driver 100d.

[0139] Next, in step S710D, driver 100d updates the virtual volume management table T5D (Figure 18) by associating the replicated volume from step S702D1 with the corresponding virtual volume.

[0140] (Virtual volume cloning process according to Example 4) Figure 20 is a sequence diagram showing the virtual volume cloning process according to Example 4. Compared to the cloning process according to Example 2 (Figure 12), the difference is that driver 100d receives a virtual volume cloning request and clones the virtual volume and the volume.

[0141] First, in step S1901, when driver 100d receives a virtual volume clone request from virtual machine infrastructure 200p, it refers to the virtual volume management table T5D (Figure 18) to identify the volume associated with the virtual volume in question.

[0142] Next, in step S1902, the driver 100d refers to the volume management table T2B (Figure 10) and identifies the storage node 110 that manages the volume identified in step S1901.

[0143] Next, in step S1903, the driver 100d selects one of the storage nodes 110 identified in step S1902. Then, in step S1904, the driver 100d sends a request to the control plane 100p to have the storage node 110 selected in step S1903 create a clone of the volume that has the physical volume.

[0144] Next, in step S1905, when the control plane 100p receives the request sent in step S1904, it creates a clone of the volume in question. At this time, it creates a physical volume that is a clone of the physical volume on the same storage node 110 as the physical volume associated with the volume specified as the source of the clone. Once the creation of the physical volume clone is complete, the control plane 100p sends a completion notification to the driver 100d.

[0145] Next, in step S1906, driver 100d creates information related to the virtual volume associated with the clone destination volume and adds it to the virtual volume management table T5D (Figure 18). [Examples]

[0146] Figure 21 is a diagram illustrating the overview of Example 5. In the information processing system 5S of Example 5, the driver 100d, which was executed within the storage 100 in Examples 3 and 4, is executed outside the storage 100. Example 5 shows an example where the driver 100d is installed on the server 200. In Example 5, distributed control, such as distributing clones across storage 100, becomes possible.

[0147] (Modified version of Example 5) In Example 5, the driver 100d, located outside the storage 100, controls volume copying and volume cloning across the storage nodes 110 of the storage 100. However, the driver 100d may also control volume copying and volume cloning across the storage 100.

[0148] In other words, driver 100d replicates a source volume existing in one storage 100 to a different storage 100. Furthermore, when creating a clone of a source volume, driver 100d selects one from the original source volume and its replica, and requests the storage 100 managing this selected volume to create a clone of it. The control algorithm in this case can be implemented by replacing "storage node 110" with "storage 100" in the control algorithm that controls volume copying and volume cloning using such copying across "storage node 110".

[0149] This suppresses the increase in communication required to move the source volume between storage devices 100, and reduces clone delay, which is the waiting time required to move the source volume between storage devices 100 to alleviate resource shortages.

[0150] (Storage management table T6 related to Example 5) Figure 22 shows the configuration of the storage management table T6 according to Example 5. The storage management table T6 is stored in the control information storage area R1 of memory 111b.

[0151] The storage management table T6 in Example 5 manages the total capacity and used capacity, CPU (processor 111a) utilization, total capacity and used capacity of memory 111b, and the API endpoint for each storage 100 identified by storage ID T61. The driver 100d makes a request to the storage 100 based on the API endpoint T67. [Examples]

[0152] Figure 23 shows an overview of Example 6. In the information processing system 6S of Example 6, a control plane 100p that controls the copying of source volumes across storage 100 and the cloning using those volumes also runs on server 200.

[0153] A control plane 100p located outside of storage 100 may include, for example, management software that manages multiple storage 100s. When creating a volume clone via such management software, the management software may perform the control of copying the source volume and using it to create the clone.

[0154] In other words, in the configuration of the information processing system 6S, the control plane 100p, which is external to storage 100, replicates a source volume existing in one storage to a different storage. Furthermore, when cloning to a source volume, it selects one from the original source volume and its replica, and requests storage 100, which manages the selected volume, to create a clone of the selected volume. The control algorithm in this case can be implemented by replacing "storage node 110" with "storage 100" in the control algorithm that controls volume copying and volume cloning using such copying across "storage node 110".

[0155] The control plane 100p receives requests from an external control plane 100p to copy or clone volumes to the storage 100 and instructs the storage controller 111 to perform the copy or clone operation, and this control is performed by the control plane 100p.

[0156] Although not shown in the diagram, a virtual machine infrastructure 200p and a driver 100d may also exist on server 200. In that case, the control plane 100p, the virtual machine infrastructure 200p, and the driver 100d may run on the same server or on different servers. [Examples]

[0157] Figure 24 shows an overview of Example 7. In Example 7, whether or not to create a copy of the physical volume (volume in Examples 4 and 5) on the storage node 110 is dynamically determined based on the clone creation status.

[0158] The graph in Figure 24 shows the time-dependent change in resource usage of storage node 110. The solid line represents the actual value (current usage), and the dotted line represents the predicted value based on the measured value (future usage). t0 is the current time, and t2 is the time when resource usage is expected to reach the node limit. t1 is the final time when copying should be started in order to complete the replication of physical volume VE1 before the limit is reached at time t2.

[0159] Changes in resource usage are estimated by storing the resource usage status in the storage node management table T1E (Figure 22) as time-series information and performing regression analysis on this time-series information.

[0160] (Physical volume duplication process according to Example 7) Figure 25 is a flowchart showing the physical volume replication process according to Example 7.

[0161] Steps S2401 to S2406 are executed for all volumes.

[0162] First, in step S2401, the control plane 100p refers to the volume management table T2 (Figure 6) and determines whether the replication requirement flag T24 for the currently selected volume is "YES". If the replication requirement flag T24 is "YES" (step S2401YES), the control plane 100p proceeds to step S2402. On the other hand, if the replication requirement flag T24 is "NO" (step S2401NO), the control plane 100p selects the next unselected volume and executes step S2401.

[0163] In step S2402, the control plane 100p estimates the upper limit arrival time t2. Next, in step S2403, the control plane 100p calculates the copy time T required for copying the physical volume, for example, T = (size of physical volume VE1) ÷ (network bandwidth used for copying × w), where w is a multiplier of 1 or less. By setting w to less than 1, a margin can be secured in the network bandwidth between storage nodes 110 so as not to adversely affect other processes of the storage controller 111 when copying physical volume VE1.

[0164] Next, in step S2404, the control plane 100p estimates the final time t1 based on the upper limit arrival time t2 estimated in step S2402 and the copy time T estimated in step S2403. The final time t1 = t2 - T (a time earlier than the upper limit arrival time t2 by the copy time T). If copying is started after reaching the final time t1, copy delays due to disturbances, etc., may occur, preventing the system from reaching the upper limit time t2. To prevent this, when calculating the final time t1, the copy time T can be multiplied by a weight greater than 1 to allow for some leeway.

[0165] Next, in step S2405, the control plane 100p determines whether t0 has reached t1 (i.e., t1 ≤ t0).

[0166] The control plane 100p proceeds to step S2406 if t1 ≤ t0 (step S2405 YES), and selects the next unselected volume and executes step S2401 if t1 > t0 (step S2405 NO).

[0167] In step S2406, the control plane 100p, storage controller 111-1, and storage controller 111-2 perform the same processing as the physical volume replication process according to Embodiment 1 (Figure 8). Storage controller 111-1 is the storage controller that has the source physical volume. Storage controller 111-2 is the storage controller that has the destination physical volume. Step S2406 is executed synchronously or asynchronously with steps S3401 to S2406.

[0168] When step S2406 is completed, if it is a synchronous process with steps S2401 to S2406, the next unselected volume V1 is selected and step S2401 is executed. If it is an asynchronous process with steps S2401 to S2406, the physical volume replication process shown in Figure 25 is completed.

[0169] In the case where the driver 100d controls the replication process, as in Examples 4 and 5, the driver 100d is the execution entity for steps S2401 to S2405 in Figure 25, instead of the control plane 100p. Then, as shown in Figure 19, a replication instruction is sent from the driver 100d to the control plane 100p, and replication is performed by the storage controllers 111-1 and 111-2.

[0170] (Effects of Example 7) In Example 7, a clone source volume can be created based on the current resource usage of multiple storage nodes and the estimated future resource usage based on the current usage, as well as the result of determining whether or not to create a clone source volume. [Examples]

[0171] Figure 26 shows an overview of Example 8. In the information processing system 8S of Example 8, the source volume is duplicated across storage 100, and each storage 100 individually manages the clones from the destination volume V2 and the source volume V1.

[0172] Similar to other embodiments, a source volume V1 located in one storage device 100 is replicated to another storage device 100. This replication process is coordinately controlled by the control planes 100p of the source and destination storage devices 100, and replication is instructed to the storage controllers 111 of each storage device 100.

[0173] In the configuration of Example 8, the control plane 100p controls the process up to copying the source volume V1 to another storage 100. On the other hand, the source volume V1 and the destination volume V2 are managed individually in each storage 100. Therefore, after the source volume V1 is duplicated, the cloning operation based on volume V1 and the destination volume V2 is individually requested and executed by the control plane 100p of each storage 100.

[0174] Although not shown in the diagram, it is also possible to have a configuration where driver 100d runs on server 200, and this driver 100d requests each storage device 100 to create a clone.

[0175] Although several embodiments have been described above, these are merely illustrative examples for explaining the present invention and are not intended to limit the scope of the present invention to these embodiments only. The present invention can also be implemented in various other forms, such as forms in which some of the components of each of the above embodiments are omitted, forms in which at least some of the components are replaced, forms in which components are added, or forms in which some or all of the embodiments are combined. [Explanation of Symbols]

[0176] S, 3S, 4S, 5S, 6S, 8S: Information processing system, 100: Storage, 100d: Driver, 100p: Control plane, 110: Storage node, 111a: Processor, 111b: Memory, 112: Drive, 200: Server, 300: Management server.

Claims

1. A method for creating a clone in a storage system having multiple storage nodes, each having a processor, memory, and drives, The processors of the aforementioned multiple storage nodes Provide volumes to the server, A physical volume is created on the storage node that corresponds to the storage area of ​​the aforementioned drive and stores the data entered into the aforementioned volume. When a request is received to create a clone volume of the aforementioned volume, a clone physical volume associated with the aforementioned clone volume, which is used to access the data in the storage device related to the aforementioned physical volume, is created on one of the storage nodes. The aforementioned physical volume is created in multiple locations on multiple storage nodes, and the data is stored in the storage area of ​​a different drive in each location. When a request to create a clone volume is received, the processor selects the storage node on which to create the clone physical volume and the physical volume to which the clone physical volume will be accessed. A method for creating clones, characterized by having each of the following processes.

2. A method for creating a clone according to claim 1, The aforementioned processor, Based on at least one of the following, the resource usage status of the multiple storage nodes, the configuration status of the access paths to each storage node, and the expected number of clones to be created on each storage node, the storage node on which to create the physical volume is selected. A method for creating clones characterized by the following features.

3. A method for creating a clone according to claim 1, On the storage node having the aforementioned physical volume, create the clone physical volume. The aforementioned processor, Based on at least one of the following, a storage node is selected to create the cloned physical volume: the resource usage status of the storage node having the physical volume, the configuration status of the access path to each storage node, and location information relating to the location of the storage node. A method for creating clones characterized by the following features.

4. A method for creating a clone according to claim 1, A cloning method characterized in that the volume has a setting indicating whether or not it is necessary to create multiple physical volumes.

5. A method for creating a clone according to claim 4, The aforementioned processor, Based on predetermined conditions relating to the aforementioned volume, the necessity of creating multiple physical volumes on the aforementioned volume is determined. A method for creating clones characterized by the following features.

6. A method for creating a clone according to claim 5, The predetermined condition is the number of clone volumes to be created. A method for creating clones characterized by the following features.

7. A method for creating a clone according to claim 3, The aforementioned processor, Based on the resource usage of the plurality of storage nodes, the time at which the usage reaches the upper limit of the resource usage is estimated. The replication time required for replicating the physical volume between the multiple storage nodes is estimated. Based on the estimated time of reaching the upper limit and the estimated replication time, it is determined whether or not to create a copy of the physical volume between the multiple storage nodes. If it is determined to create a copy of the aforementioned physical volume, the physical volume will be created. A method for creating clones, characterized by having each of the following processes.

8. A method for creating a clone according to claim 4, The aforementioned processor, Based on the attributes of the computing resources that use the aforementioned volume, the necessity of creating multiple physical volumes is determined. A method for creating clones characterized by the following features.

9. A storage system having multiple storage nodes, each having a processor, memory, and drives, The processors of the aforementioned multiple storage nodes are: Provide volumes to the server, A physical volume is created on the storage node that corresponds to the storage area of ​​the aforementioned drive and stores the data entered into the aforementioned volume. When a request is received to create a clone volume of the aforementioned volume, a clone physical volume associated with the aforementioned clone volume, which is used to access the data in the storage device related to the aforementioned physical volume, is created on one of the storage nodes. The aforementioned physical volume is created in multiple locations on multiple storage nodes, and the data is stored in the storage area of ​​a different drive in each location. When a request to create a clone volume is received, the processor selects the storage node on which to create the clone physical volume and the physical volume to which the clone physical volume will be accessed. A storage system characterized by the following features.

Citation Information

Patent Citations

  • System and method obtained by integrating distribution of load and resource management in internet environment

    JP2001067377A

  • Multiple processor data processing system with mirrored data for distributed access

    JP2002358165A

  • Data sharing system, and replication content data storage controller or the like

    JP2006155486A

  • Dynamic generation system and dynamic pair setting method of replicated volume

    JP2010165255A

  • N-way synchronization of desktop images

    JP2015506514A