IP Library Granted Patent US 11,474,725
Granted Patent B2
US 11,474,725 · App. 16/569,202 · Granted Oct 18, 2022

Storage system and storage control method

Inventors: Akira Deguchi (Tokyo, JP); Hirotaka Nakagawa (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F3/0644G06F3/0608G06F3/0647G06F3/0653G06F3/0665G06F3/0683
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,474,725
App. No.
16/569,202
Granted
Oct 18, 2022
Kind
B2
Abstract

In a multi-node storage system, a node's capacity has an upper limit, and capacities provided by nodes are smaller than a capacity of a global pool. A volume having a capacity larger than the capacity of one node is created by the node. A write error occurs when an amount of data larger than the capacity of the node is written. A storage system reduces the frequency of such a write error. A global pool is based on a plurality of local pools of a plurality of storage nodes that constitute a node group. In any of the storage nodes, a capacity relationship is maintained where a used capacity of a volume created by the storage node is equal to or less than an available capacity of a local pool of the storage node. A storage management unit manages the node group and selects the storage node.

Claims (79)

1. A storage system comprising:

a node group configured with a plurality of storage nodes that each includes a storage device unit which is one or more storage devices, wherein

each of the plurality of storage nodes includes a local pool that is a logical storage area based on the storage device unit of the storage node,

the node group provides a global pool that is a logical storage area based on a plurality of local pools of the plurality of storage nodes,

each of the plurality of storage nodes stores data stored in a volume provided by the storage node in the local pool of the storage node,

for any storage node, a capacity relationship is maintained in which a used capacity of a volume created by the storage node is equal to or less than an available capacity of a local pool of the storage node, and

the storage node that creates a volume is selected by a storage management unit which manages the node group;

wherein

maintaining the capacity relationship is to create and provide a combined volume, and

the combined volume is a volume in which two or more volumes are combined and which has a capacity equal to or larger than capacities of the two or more volumes; and wherein

each of the plurality of local pools is configured with one or more logical chunks in the storage node that includes the local pool, and wherein in the case that a number of logical chunks in the storage node is within a predetermined number from an upper limit, chunks that are added to the storage node are logical chunks having a larger size than logical chunks that are added to the storage node in a case wherein the number of logical chunks that are added to the storage node is less than the predetermined number from the upper limit.

2. The storage system according to claim 1 , wherein

the available capacity of the local pool is based on a capacity obtained by subtracting a used capacity of the local pool from a capacity of the local pool, or based on a capacity obtained by subtracting the used capacity of the local pool from a maximum capacity of the local pool in a specification.

3. The storage system according to claim 1 , wherein

maintaining the capacity relationship is to provide a maximum available capacity among a plurality of available capacities of the plurality of local pools.

4. The storage system according to claim 3 , wherein

a storage node that serves as a creation destination of a volume having a capacity requested after the maximum available capacity is provided is any storage node having an available capacity equal to or larger than the requested capacity.

5. The storage system according to claim 4 , wherein

when the requested capacity is larger than an available capacity of the storage node that serves as the creation destination, an error is returned from the storage node that serves as the creation destination.

6. The storage system according to claim 3 , wherein

the maximum available capacity is provided as at least one of a maximum value of a capacity of a volume that can be created and an available capacity of the global pool.

7. The storage system according to claim 1 , wherein

each of the plurality of local pools is configured with one or more logical chunks in a storage node that includes the local pool, and

maintaining the capacity relationship is to add one or more logical chunks to a certain local pool.

8. The storage system according to claim 7 , wherein

at least one of the added one or more logical chunks is based on a capacity interchanged from at least one storage node except a storage node that includes the certain local pool.

9. The storage system according to claim 1 , wherein

maintaining the capacity relationship is to migrate at least one volume associated with a certain local pool to a local pool having an available capacity larger than an available capacity of the certain local pool.

10. The storage system of claim 1 , wherein said capacity of a volume is a size of said volume.

11. The storage system of claim 1 , wherein said capacity of a volume is a used capacity of said volume.

12. The storage system according to claim 1 , wherein

each of the plurality of storage nodes has an upper limit to the number of logical chunks that constitute the local pool of the storage node, and

maintaining the capacity relationship is to set, instead of two or more logical chunks that are a part of a certain local pool, a logical chunk that has a size larger than each of the two or more logical chunks and stores data which is in the two or more logical chunks as a component of the local pool.

13. The storage system according to claim 8 , wherein

the capacity relationship is maintained when a condition is satisfied under which an available capacity of an internal capacity is in a shortage, the internal capacity being provided in the storage node that includes the certain local pool and being a base capacity of the certain local pool.

14. The storage system according to claim 1 , wherein maintaining the capacity relationship is to provide a maximum usage rate among a plurality of usage rates respectively corresponding to the plurality of local pools, or provide a minimum available capacity rate among a plurality of available capacity rates respectively corresponding to the plurality of local pools,

a usage rate of each local pool is a ratio of a used capacity to a capacity of the local pool, and

an available capacity rate of each local pool is a ratio of an available capacity to the capacity of the local pool.

15. A storage system comprising:

a node group configured with a plurality of storage nodes that each includes a storage device unit which is one or more storage devices, wherein

each of the plurality of storage nodes includes a local pool that is a logical storage area based on the storage device unit of the storage node,

the node group provides a global pool that is a logical storage area based on a plurality of local pools of the plurality of storage nodes,

each of the plurality of storage nodes stores data stored in a volume provided by the storage node in the local pool of the storage node,

for any storage node, a capacity relationship is maintained in which a capacity of a volume created by the storage node is equal to or less than an available capacity of a local pool of the storage node, and

the storage node that creates a volume is selected by a storage management unit which manages the node group;

wherein

the storage node selected by the storage management unit has a smallest variation in a plurality of usage rates respectively corresponding to the plurality of local pools,

each of the plurality of usage rates of each storage node is estimated when it is assumed that the storage node is selected,

a usage rate of each local pool is a ratio of a used capacity to a capacity of the local pool and

maintaining the capacity relationship is to create and provide a combined volume, and

the combined volume is a volume in which two or more volumes are combined and which has a capacity larger than a sum of individual capacities of the two or more volumes, and wherein

each of the plurality of local pools is configured with one or more logical chunks in the storage node that includes the local pool, and wherein in the case that a number of logical chunks in the storage node is within a predetermined number from an upper limit, chunks that are added to the storage node are logical chunks having a larger size than logical chunks that are added to the storage node in a case wherein the number of logical chunks that are added to the storage node is less than the predetermined number from the upper limit.

16. A storage control method comprising:

specifying an available capacity of a local pool in a certain storage node among a plurality of storage nodes which constitute a node group;

providing, by each of the plurality of storage nodes, a storage device unit that is one or more storage devices and is a base of a local pool;

providing, by the node group, a global pool that is a logical storage area based on a plurality of local pools respectively included in the plurality of storage nodes;

storing, by each of the plurality of storage nodes, data stored in a volume provided by the storage node in the local pool of the storage node;

selecting, by a storage management unit that manages the node group, the storage node that creates a volume;

maintaining a capacity relationship in which a capacity of a volume created by the certain storage node is equal to or less than the specified available capacity;.

wherein

maintaining the capacity relationship is to create and provide a combined volume, and

the combined volume is a volume in which two or more volumes are combined and which has a capacity equal to or larger than capacities of the two or more volumes; and wherein

each of the plurality of local pools is configured with one or more logical chunks in the storage node that includes the local pool, and wherein in the case that a number of logical chunks in the storage node is within a predetermined number from an upper limit, chunks that are added to the storage node are logical chunks having a larger size than logical chunks that are added to the storage node in a case wherein the number of logical chunks that are added to the storage node is less than the predetermined number from the upper limit.

17. A storage control method comprising:

configuring a node group with a plurality of storage nodes that each includes a storage device unit which is one or more storage devices, wherein

providing by each of the plurality of storage nodes a local pool that is a logical storage area based on the storage device unit of the storage node,

providing by the node group a global pool that is a logical storage area based on a plurality of local pools of the plurality of storage nodes,

storing by each of the plurality of storage nodes data in a volume provided by the storage node in the local pool of the storage node,

maintaining for any storage node, a capacity relationship in which a capacity of a volume created by the storage node is equal to or less than an available capacity of a local pool of the storage node, and

selecting by a storage management unit which manages the node group the storage node that creates a volume;

wherein

the storage node selected by the storage management unit has a smallest variation in a plurality of usage rates respectively corresponding to the plurality of local pools,

each of the plurality of usage rates of each storage node is estimated when it is assumed that the storage node is selected,

a usage rate of each local pool is a ratio of a used capacity to a capacity of the local pool, and

maintaining the capacity relationship is to create and provide a combined volume, and

the combined volume is a volume in which two or more volumes are combined and which has a capacity larger than a sum of individual capacities of the two or more volumes, and

each of the plurality of local pools is configured with one or more logical chunks in the storage node that includes the local pool, and wherein in the case that a number of logical chunks in the storage node is within a predetermined number from an upper limit, chunks that are added to the storage node are logical chunks having a larger size than logical chunks that are added to the storage node in a case wherein the number of logical chunks that are added to the storage node is less than the predetermined number from the upper limit.

18. The storage system of claim 16 , wherein said capacity of a volume is a size of said volume.

19. The storage system of claim 16 , wherein said capacity of a volume is a used capacity of said volume.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2019
From: DEGUCHI, AKIRA; NAKAGAWA, HIROTAKA
To: HITACHI, LTD.
Reel/Frame 050364/0454 →
Priority Claims (1)
JP JP2018-192144 · Oct 10, 2018 · national
Continuity (1)
Related Publication 20200117381A1 · Apr 16, 2020