Storage system and method for managing the copy performance of the storage system
By defining consistency groups across multiple storage nodes and expanding journal volumes when utilization exceeds a threshold, the storage system minimizes performance degradation, addressing the inefficiencies in existing SDS configurations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- HITACHI VANTARA LTD
- Filing Date
- 2024-12-23
- Publication Date
- 2026-07-03
AI Technical Summary
Existing storage systems experience performance degradation due to frequent and sequential expansions of journal volumes within consistency groups, especially in Software Defined Storage (SDS) configurations, as they lack optimal capacity management strategies for journal volumes, leading to increased load on all journal groups.
A storage system and method that defines consistency groups across multiple storage nodes, detecting when a journal volume utilization exceeds a threshold, and expands the capacity of all journal volumes within the group simultaneously, minimizing performance impact.
This approach reduces the time during which performance is affected by optimizing journal volume capacity expansion, ensuring efficient and uninterrupted operation even with multiple journal groups within consistency groups.
Smart Images

Figure 2026111288000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a storage system and a method for managing its copy performance, and is suitable for application to a storage system related to a technology for expanding storage resources in response to an increase in the amount of data written from a host, for example.
Background Art
[0002] In recent years, Software Defined Storage (hereinafter referred to as "SDS") that separates the storage function from hardware and provides it by software has become widespread. SDS does not require a so-called general storage node, and can realize the conventional storage function by preparing and operating a plurality of general-purpose servers. SDS adopts a scale-out configuration. For example, the degree of parallelism is increased by increasing the number of storage nodes (hereinafter abbreviated as "nodes") or by dispersing volumes used in applications or middleware across a plurality of nodes, so that it can be used for applications and middleware that require high performance such as databases.
[0003] By the way, when introducing backup and DR (Disaster Recovery), the case of placing copy data in the cloud to reduce costs is increasing. In such a case, by installing SDS on cloud resources, data can be asynchronously copied from the volume of the storage node on-premises to the data volume of SDS installed on the cloud using the remote copy function.
[0004] When copying asynchronously using the remote copy function in this way, data written from the host computer to the data volume is temporarily stored in the journal volume, which is a buffer area. Data from the source journal volume is transferred to the destination journal volume, temporarily stored there, and then written to the destination data volume. These source and destination data volumes and journal volumes are managed as a journal group. Because remote copying is performed at the journal group level, data transfer volume and IOPS (Input / Output per Second) are generally obtained at the journal group level to monitor whether the copy is executing successfully.
[0005] When a database writes to multiple data volumes, copy management is sometimes performed in units called consistency groups, where copy pairs of multiple data volumes are grouped together to obtain and restore consistent copies of the data in the database, and the order of writes is guaranteed. In the case of a typical storage node, even if there are multiple copy pairs, i.e., multiple data volumes, within a consistency group, the journal volume is shared among those data volumes, so there is a one-to-one correspondence between the consistency group and the journal group.
[0006] In designing the capacity of journal volumes, which are temporary data storage areas, the capacity of the journal volume is determined by how long you want writing from the host computer to continue when remote copying stops due to network failures or other reasons. From the perspective of capacity efficiency, the capacity of the journal volume should not be allocated in advance more than necessary, but rather expanded according to the operational situation. However, expanding the journal volume will cause data copying to stop and affect performance, so the frequency of the aforementioned capacity expansion must be minimized. In particular, in SDS, in order to simplify operations, detailed capacity design for individual journal volumes is not performed at the start of operation, and a fixed value is used, so it is necessary to expand optimally according to the operation, more so than in general storage nodes. Patent document 1 describes a technique for monitoring the performance of source and destination volume pairs on a pair basis and setting thresholds in a configuration using the remote copy function after operation has started.
[0007] On the other hand, to enable scaling out of capacity and performance, a configuration may be used in which copies of data written to different data volumes from the same database are copied to data volumes on other nodes within the SDS. In such a configuration, the consistency group will span multiple nodes within the SDS. In this case, a journal volume needs to be prepared for each node, resulting in multiple journal groups within a single consistency group. In such a configuration, monitoring information was acquired on a journal group basis, and based on the monitoring results derived from this management information, reconfiguration such as expanding the journal volume was performed on a journal group basis. [Prior art documents] [Patent Documents]
[0008] [Patent Document 1] Japanese Patent Publication No. 2008-304963 [Overview of the Initiative] [Problems that the invention aims to solve]
[0009] However, depending on the usage by the application writing the data, if the amount of data written to the corresponding source data volume increases, all journal groups within the consistency group tend to experience high loads. If the journal volume is expanded multiple times sequentially within the journal groups of the consistency group in response to such load trends, performance will be affected each time by the configuration change.
[0010] This invention has been made in consideration of the above points, and aims to propose a storage system and a copy performance management method thereof that can shorten the time that affects the performance of the storage system, even when employing consistency groups that include multiple journal groups. [Means for solving the problem]
[0011] To solve the above problems, the present invention provides a storage system comprising: a first storage system having a data volume that is read from and written to by a host computer; and a second storage system having a plurality of storage nodes that store data copies of the data volume of the first storage system, wherein the first storage system that is the source of the copy performs journaling at least when writing data to the data volume and defines at least one consistency group including a plurality of journal groups across the plurality of storage nodes, and when it detects that the utilization rate of any particular journal volume within the consistency group exceeds a threshold, it traces the consistency group to which the particular journal group to which the particular journal volume belongs among the plurality of journal groups, identifies at least one journal volume included in the consistency group, and expands the capacity of the at least one journal volume all at once.
[0012] Furthermore, the present invention provides a copy performance management method for a storage system comprising: a first storage system having a data volume that is read from and written to by a host computer; and a second storage system having a plurality of storage nodes that store data copies of the data volume of the first storage system, wherein the first storage system, which is the source of the copy, performs journaling at least when writing data to the data volume, and defines at least one consistency group including a plurality of journal groups across the plurality of storage nodes, and when it is detected that the utilization rate of any particular journal volume within the consistency group exceeds a threshold, the method traces the consistency group to which the particular journal group to which the particular journal volume belongs among the plurality of journal groups, identifies at least one journal volume included in the consistency group, and expands the capacity of the at least one journal volume all at once. [Effects of the Invention]
[0013] According to the present invention, by tracing the consistency groups of journal volumes that have exceeded a threshold and expanding the capacity of all journal volumes within a consistency group at once, the time during which performance is affected can be minimized. [Brief explanation of the drawing]
[0014] [Figure 1] This figure shows an example of a remote copy system configuration. [Figure 2] This is a block diagram showing an example configuration for a storage management server. [Figure 3] This is a block diagram showing an example of a host computer hardware configuration. [Figure 4] This figure shows an example of the data structure of copy configuration information. [Figure 5] This figure shows an example of the data structure for journal volume capacity management information. [Figure 6] This figure shows an example of the data structure of SDS configuration information. [Figure 7] This flowchart shows an example of the procedure for expanding the journal volume capacity according to this embodiment. [Figure 8] This flowchart shows an example of the procedure for determining whether or not to perform journal volume capacity expansion in the embodiment. [Figure 9] This figure shows an example of the load trend of the source data volume. [Figure 10] This figure shows an example of the load trend when writing data to a data volume. [Modes for carrying out the invention]
[0015] Hereinafter, based on the drawings, the present embodiment of the present invention will be described in detail. However, the present invention is not to be construed as being limited to the description of the embodiments shown below. Those skilled in the art can easily understand that the specific configuration can be changed without departing from the spirit or gist of the present invention. In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant descriptions are omitted. In this specification and the like, notations such as "first", "second", "third", etc. are attached for identifying components, and do not necessarily limit the number or order. In this specification and the like, as examples of various information, it may be described in the expression of "XX table", but it may also be expressed in a data structure such as "XX list", "XX queue", etc. Also, "XX table" may be "XX information". When explaining identification information, expressions such as "identification information", "identifier", "name", "ID", "number", etc. are used, but these are mutually replaceable.
[0016] FIG. 1 is a diagram showing an example of the system configuration of remote copy. This configuration is a system for copying data from the storage system 4 of the on-premises 1 to the public cloud 2 via a network 9 such as the Internet, LAN (Local Area Network), or WAN (Wide Area Network). FIG. 2 is a block diagram showing an example of the hardware configuration of the storage management server 5.
[0017] The on-premises 1 shown in FIG. 1 includes a storage system 4, a storage management server 5 responsible for managing storage resources, and a host computer 3. The storage management server 5 does not necessarily have to be present in the on-premises 1. For example, it may be configured to exist on a public cloud 2, the source storage system 4, or a cloud different from the destination. When the storage management server 5 exists in the storage system 4, these storage management server 5 and storage system 4 correspond to a first storage system. When adopting a configuration in which the storage management server 5 is incorporated into the storage system 4, the storage system 4 may be used as the subject of the processing executed by the storage management server 5. The storage system 4 has data volumes 41, 43 and journal volumes 42, 44. The data volumes 41 and 43 are provided to the host computer 3. The journal volume temporarily stores the data written to the data volume. The data written from the host computer 3 to the data volume is stored in the journal volume and transferred to the cloud-side storage asynchronously.
[0018] The storage system 4 of the on-premises 1 and the public cloud 2 are also communicably connected via a network. Note that the communication speed [bps] is set between the storage system 4 of the on-premises 1 and the public cloud 2 according to the bandwidth.
[0019] The host computer 3 can use the virtualized volume as a computer drive, execute applications, and store the data generated by the applications in the DB 32 on the virtual data volume.
[0020] Public Cloud 2 has a Software Defined Storage (SDS) 6 built on top of the server and storage instances provided by the cloud service, as an example of a second storage system. SDS 6 consists of multiple storage nodes 61 and 62. Each storage node has data volumes 611 and 621 that serve as copy destinations, and journal volumes 612 and 622 that serve as temporary data storage locations before the copied data is written to the data volumes.
[0021] Data written from host computer 3 to data volume 41 is temporarily stored in journal volume 42 and then transferred to journal volume 612 via network 9. Subsequently, the data stored in journal volume 612 is written to data volume 611. A journal group is formed by grouping the source and destination data volumes and journal volumes. Data volume 41, journal volume 42, data volume 611, and journal volume 612 are defined in journal group 71. Similarly, data volume 43, journal volume 44, data volume 621, and journal volume 622 are defined in journal group 72.
[0022] Data from applications running on host computer 3 is written to DB32. This data is then written to multiple data volumes 41 and 43 of storage system 4. Copies of the data written to the data volumes need to be retrieved as DB-consistent data and therefore need to be managed collectively. A consistency group 8 is used to group and manage these volumes, and in this configuration, multiple storage nodes are configured within consistency group 8, so multiple journal groups 71 and 72 are configured within consistency group 8.
[0023] In the remote copy system, the storage management server 5 copies data stored in data volumes 41 and 43 to public cloud 2, and restores data copied to public cloud 2 to storage system 4. The storage management server 5 also acquires performance information such as the usage rate of volumes in storage system 4 and SDS6, and the copy progress rate, and monitors whether the remote copy is operating normally.
[0024] The storage system according to this embodiment is a storage system comprising a storage system 4 having a data volume that is read from and written to by a host computer 3, and an SDS 6 having a plurality of storage nodes 61, 62 that store data copies of the data volume of the storage system 4.
[0025] The copy configuration management program 5003 of the storage management server 5 shown in Figure 2 performs journaling at least when writing data to data volumes 41 and 43. This copy configuration management program 5003 defines at least one consistency group 8 that includes multiple journal groups 71 and 72 across multiple storage nodes 61 and 62. In this embodiment, if consistency group 8 is defined across multiple storage nodes 61 and 62, multiple journal groups are created in consistency group 8.
[0026] The copy configuration change program 5004 shown in Figure 2 detects that the utilization rate of any particular journal volume 42 within consistency group 8 exceeds a threshold. It then traces through multiple journal groups 71, 72 to the consistency group 8 to which the particular journal group 71 to which the particular journal volume 42 belongs, identifies at least one journal volume 444,612,622 included in consistency group 8, and expands the capacity of at least one journal volume 444,612,622 in a single operation.
[0027] The journal volume capacity calculation program 5005 shown in Figure 2 calculates the capacity of at least one journal volume 42, 44, 612, 622 based on the amount of data written to the source data volumes 41 and 43, for each of the eight consistency groups.
[0028] The copy performance monitoring program 5002 shown in Figure 2 detects that the utilization rate of any particular journal volume 42 within the consistency group 8 exceeds a threshold, and determines whether the reason for this is an increase in the amount of data written to the data volume 41. If the storage node 61 determines that the reason is an increase in the amount of data written to the data volume 41, it expands the capacity of at least one journal volume 444,612,622 in a batch, as described above, for example, according to the increased amount of data written.
[0029] The copy configuration change program 5004 shown in Figure 2 is executed during a period when there is little data writing to the data volume 41, in order to expand the capacity of at least one journal volume 44,612,622.
[0030] Next, an example configuration of the storage management server 5 will be described with reference to Figure 2. The storage management server 5 includes a processor 51, a storage device 52, a program memory 500, an input device 53, an output device 54, and a communication interface (communication I / F) 55.
[0031] The processor 51, storage device 52, program memory 500, input device 53, output device 54, and communication interface 55 are connected by a bus 56. The processor 51 controls the storage management server 5. The input device 53 takes in data. Examples of input devices 53 include a keyboard, mouse, touch panel, numeric keypad, scanner, microphone, and sensor. The output device 54 outputs data. Examples of output devices 54 include a display, printer, and speaker. The communication interface 55 connects to a network and sends and receives data. The storage device 52 is a storage medium that stores data temporarily or permanently, such as ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), and SSD (Solid State Drive).
[0032] The program memory 500 has the following programs installed: write management program 5001, copy performance monitoring program 5002, copy configuration management program 5003, copy configuration change program 5004, journal volume capacity calculation program 5005, and SDS monitoring program 5006. The write management program 5001 monitors I / O written to data volumes 41 and 43 and records the monitoring results in the amount written to the source volume 50114 of the journal volume capacity management information 5011.
[0033] The copy performance monitoring program 5002 monitors the usage rates of source and destination journal volumes 42, 44, 612, and 622, and raises an alert if the usage rate exceeds a threshold. The threshold can be set by the device or by the user. The copy configuration management program 5003 manages the correspondence between consistency group 8, journal group, and source and destination volumes in the copy configuration information 5010.
[0034] The copy configuration change program 5004 changes the capacity of the journal volume based on the value recorded in the journal volume capacity management information 5011. The journal volume capacity calculation program 5005 calculates the journal volume capacity based on the amount of data written from the host computer 3 to the source data volumes 41 and 43, which was obtained by the write management program 5001, and records the calculation result in the required capacity 50115 of the journal volume in the journal volume capacity management information 5011.
[0035] The SDS monitoring program 5006 is a program that monitors the capacity utilization rate of the storage pool within the SDS and the CPU utilization rate. The program memory 500 stores copy configuration information 5010, journal volume capacity management information 5011, and SDS configuration information 5012. Details of the configuration information will be described later.
[0036] Figure 3 is a block diagram showing an example of the hardware configuration of the host computer 3. The host computer 3 has a processor 31, a storage device 32, a program memory 300, an input device 33, an output device 34, and a communication interface (also abbreviated as "communication I / F") 35.
[0037] The processor 31, storage device 32, program memory 300, input device 33, output device 34, and communication interface 35 are connected by a bus 36. The processor 31 controls the host computer 3. The input device 33 receives data. Examples of input devices 33 include a keyboard, mouse, touch panel, numeric keypad, scanner, microphone, and sensor.
[0038] Output device 34 outputs data. Output devices 34 include, for example, a display, printer, and speaker. Communication I / F 35 is connected to a network and sends and receives data. Storage device 32 is a storage medium for storing data, and here, data volumes 41 and 43 of a storage system are mounted and used. Program memory 300 has applications installed on it.
[0039] Next, the data structure of various data will be explained using Figures 4 to 6. Note that the configurations of the copy configuration information 5010, journal volume capacity management information 5011, and SDS configuration information 5012 described below are examples and can be modified as appropriate.
[0040] Figure 4 shows an example of the data structure of copy configuration information 5010. It manages consistency group 8, journal group, source and destination data volumes within the journal group, and the correspondence between journal volumes.
[0041] The copy configuration information 5010 manages consistency group ID 50101, which is identification information that allows multiple consistency groups 8 to identify each other; journal group ID 50102, which is identification information that allows multiple journal groups to identify each other; source information 50103; and destination information 50104.
[0042] Consistency group ID 50101 is a field that stores an ID (IDentifier) to identify multiple consistency groups 8 from one another. Journal group ID 50102 is a field that stores an ID to identify the journal group corresponding to the consistency group 8 recorded in consistency group ID 50101.
[0043] The source information field 50103 stores the site ID 501031, device ID 501032, data volume ID 501033, and journal volume ID 501034, which are related to the source site of the remote copy.
[0044] The copy destination information 50104 is a field that stores the site ID 501041, device ID 501042, storage node ID 501043, data volume ID 501044, and journal volume ID 501045, which are related to the copy destination site of the remote copy.
[0045] Site ID 501031 is a field that stores an ID used to identify multiple sites from one another. Device ID 501032 is a field that stores an ID used to identify storage nodes 61 and 62. Data volume ID 501033 is a field that stores an ID used to identify multiple data volumes from one another.
[0046] Journal volume ID 501034 is a field that stores an ID used to identify multiple journal volumes. Site ID 501041 is a field that stores site information. Device ID 501042 is a field that stores an ID used to identify storage nodes and SDSs.
[0047] Storage node ID 501043 stores an ID for identifying the storage node associated with the SDS. Data volume ID 501044 is a field that stores an ID for identifying multiple data volumes from one another. Journal volume ID 501045 is a field that stores an ID for identifying multiple journal volumes from one another.
[0048] Figure 5 shows an example of the data structure of journal volume capacity management information 5011. Journal volume capacity management information 5011 manages consistency group ID 50111, journal group ID 50112, volume ID 50113, volume ID 50113, write amount 50114, and required capacity 50115.
[0049] Consistency Group ID 50111 is a field that stores an ID for identifying consistency group 8. Journal Group ID 50112 is a field that stores an ID for identifying the journal group corresponding to consistency group 8 recorded in consistency group ID 50111. Volume ID 50113 is a field that stores an ID for identifying the volume of the source data volume.
[0050] The write amount 50114 field stores the amount of data written from the host computer 3 to the data volume indicated by volume ID 50113. The amount of data written from the host computer 3 to the data volume is obtained by the write management program 5001. The required capacity 50115 field stores the required capacity of the data volume, calculated by the journal volume capacity calculation program 5005 based on the write amount stored in write amount 50114.
[0051] Figure 6 shows an example of the data structure of SDS configuration information 5012. SDS configuration information 5012 manages storage node ID 50121, CPU ID 50112, volume ID 50123, and inter-node migration feasibility ID 50124.
[0052] Storage node ID 50121 is a field that stores an ID used to identify multiple storage nodes from one another. CPU ID 50112 is a field that stores an ID used to identify the CPU installed in the storage node recorded in storage node ID 50121.
[0053] Volume ID 50123 is a field that stores an ID used to identify multiple data volumes used by storage node ID 50121 from one another. The volumes recorded in Volume ID 50123 include data volumes and journal volumes used for remote copies managed by copy configuration information 5010, as well as data volumes used for purposes other than remote copies.
[0054] The Node-to-Node Migration Eligibility 50124 field indicates whether the data volume stored in volume ID 50123 can be migrated to another storage node. This value may be entered by the user. For example, if migrating storage nodes will affect performance, i.e., performance will decrease, and you do not want to degrade the performance of the corresponding data volume recorded in volume ID 50123, then Node-to-Node Migration Eligibility 50124 may be set to "Not Allowed".
[0055] When establishing a remote copy connection, the storage node is specified and the remote path connection is configured. Therefore, if it is determined that migration to another storage node is not possible, the corresponding data volume recorded in volume ID 50123, i.e., the data volume used for the remote copy, may be set to "Not Possible".
[0056] Figure 7 is a flowchart showing an example of the procedure for expanding the journal volume capacity in this embodiment. First, an example of a copy performance management method for a storage system according to this embodiment will be described. This copy performance management method is for a storage system having a storage system 4 as an example of a first storage system having a data volume that is read from and written to by a host computer 3, and an SDS 6 as an example of a second storage system having a plurality of storage nodes 61, 62 that store data copies of the data volume of the storage system 4. In this copy performance management method, the source storage system 4 performs journaling at least when writing data to the data volumes 41, 43, and defines at least one consistency group 8 that includes a plurality of journal groups 71, 72 across the plurality of storage nodes 61, 62. When the source storage system 4 detects that the utilization of any particular journal volume 42 within consistency group 8 exceeds a threshold, it traces through multiple journal groups 71, 72 to the consistency group 8 to which the particular journal group 71 to which the particular journal volume 42 belongs, identifies at least one journal volume 444,612,622 included in consistency group 8, and expands the capacity of at least one journal volume 444,612,622 all at once.
[0057] In this embodiment, if the utilization rate of any journal volume exceeds a threshold, the following process is initiated. The copy performance monitoring program 5002 on the storage management server 5 detects that the capacity utilization rate of a journal volume has exceeded a threshold (step S101). If the copy performance monitoring program 5002 does not detect that the capacity utilization rate of a journal volume has exceeded a threshold, the journal volume capacity expansion process is not executed.
[0058] Next, the copy configuration management program 5003 identifies a specific journal group to which the journal volume exceeding the threshold belongs, based on the copy configuration information 5010, and then traces the consistency group 8 to which that specific journal group belongs (step S102).
[0059] In step S102, the following steps are repeatedly performed for all journal groups within consistency group 8 identified (step S103): The write management program 5001 obtains the amount of data written to the source data volume.
[0060] Here, the write management program 5001 may obtain the amount of data actually written at that time, or, if it is possible to predict future trends from current trends such as an increasing trend, it may obtain a predicted value for one month ahead (step S104). The journal volume capacity calculation program 5005 calculates the capacity of the journal volume based on the amount written obtained in step S104 (step S105).
[0061] The journal volume capacity can be calculated using the following formula (1), where t is the time during which the host computer 3 can continue writing to the storage system 4 when remote copying is stopped, and VH-M is the data transfer rate between the host computer 3 and the source storage. VH-M×t ··· (1)
[0062] The copy configuration management program 5003 records the value of the amount of data to be written, calculated in step S105, in the required capacity 50115 of the journal volume capacity management information 5011 (step S106).
[0063] The copy configuration management program 5003 completes the repetitive processing (steps S104 to S106) that was started in step S103 (step S107). The copy configuration change program 5004 expands the capacity of all journal volumes within the consistency all at once, based on the value recorded in the required capacity 50115 of the journal volume capacity management information 5011 (step S108). Expanding journal volumes involves copy interruptions and performance degradation. Therefore, the timing of capacity expansion may be determined by checking the data write trend within the consistency group 8 and performing the expansion during times when there is as little writing as possible to minimize the impact on business operations.
[0064] In step S101 described above, an example was shown where each step from step S102 onwards is started when the journal volume capacity exceeds a threshold. However, instead, the trend of journal volume utilization may be monitored, and even if the threshold has not been exceeded, each step from step S102 onwards may be executed if the trend of journal volume utilization is increasing.
[0065] In the embodiments described above, an example of increasing the capacity of the journal volume was shown. However, if the amount of writing to the journal volume remains consistently low, it is expected that the amount of writing across the entire consistency group 8 will be low. In such cases, a reduction process may be performed from the viewpoint of capacity efficiency. The reduction process is performed on a consistency group 8 basis, similar to the expansion process. Here, reduction includes, for example, reducing the capacity of the journal volume.
[0066] In other words, when the storage node 61 detects that the utilization rate of a particular journal volume 42 does not exceed a certain value over a certain period of time, it traces through the consistency group 8 to which the particular journal group 71 to which journal volume 42 belongs among the multiple journal groups 71, 72, identifies at least one journal volume 444,612,622 included in consistency group 8, and reduces the capacity of that at least one journal volume 444,612,622 all at once. Note that the above certain value may be the same as or different from the threshold described above.
[0067] A threshold for reducing the usage rate of a journal volume may be established. If the usage rate does not exceed this threshold for a certain period, the consistency group 8 to which the journal volume belongs may be traced, the amount of data written to all source data volumes within consistency group 8 may be obtained, and the journal volume may be reduced in a batch based on the amount of data written.
[0068] Figure 8 is a flowchart showing an example of the procedure for determining whether or not to implement journal volume capacity expansion in the embodiment. It shows an example of determination and response when the cause of exceeding the journal volume usage threshold is not an increase in writes from the host computer 3 to the source data volume.
[0069] This determination process may be started after step S101 shown in Figure 7 to determine whether to perform an expansion in units of 8 consistency groups, or alternatively, it may be started in step S104 when no increase in the amount of writes is confirmed in the source data volume of all journal groups.
[0070] The copy performance monitoring program 5002 of the storage management server 5 detects that the utilization rate of the journal volume capacity has exceeded a threshold (step S201). The SDS monitoring program 5006 refers to the volume ID 50123 and CPU ID 50122 of the SDS configuration information 5012 to identify the CPU associated with the journal volume and obtain the CPU utilization rate of that CPU (step S202).
[0071] The SDS monitoring program 5006 checks whether the CPU usage exceeds the threshold (step S203). If the CPU usage does not exceed the threshold, the SDS monitoring program 5006 proceeds to step S102 of the flow shown in Figure 7 (step S204).
[0072] On the other hand, if the CPU usage exceeds the threshold, the SDS monitoring program 5006 refers to volume ID 50123 in the SDS configuration information 5012 and searches for data volumes that share the same CPU as the data volume in step S201 (step S205). The SDS monitoring program 5006 repeats the following for all data volumes that match in step S205 (step S206).
[0073] The SDS monitoring program 5006 determines whether the IOPS of a data volume is increasing based on the IOPS information of the data volume (see Figure 10) (step S207). If the result of the determination in step S207 is not an increasing trend (the determination in step S207 is No), the program proceeds to step S204 and then to step S102. If the result of the determination in step S207 is an increasing trend (the determination in step S207 is Yes), the program proceeds to step S208.
[0074] The SDS monitoring program 5006 determines, based on the SDS configuration information 5012, whether the data volume can be migrated to another storage node (step S208). If the determination in step S208 is that migration to another storage node is not possible (the determination in step S208 is No), the program proceeds to step S204 and then to step S102.
[0075] If the result of the determination in step S208 is that migration to another storage node is possible (the determination in step S208 is Yes), the process proceeds to step S209. The volume is migrated to another storage node (step S209).
[0076] The destination storage node is selected based on the CPU usage, data volume usage, and IOPS of each storage node obtained by the SDS monitoring program 5006, and the migration is performed to a storage node with sufficient capacity and performance. The iteration started in step S206 is terminated (step S210). Note that the data volume migration in step S209 may be performed during a time when there is little writing activity to that data volume.
[0077] Figure 9 shows an example of the load trend of the source data volume. The example shown is a graph of the amount of data written to the source data volume acquired by the write management program 5001. The solid line represents the amount of data written, and the dashed line represents the trend of the amount of data written.
[0078] By analyzing past performance data, it's possible to predict future trends in the amount of data written to the source data volume and forecast future values. Therefore, even if the current data writing volume doesn't necessitate expanding the journal volume's capacity, if an increase in the journal volume's capacity is expected in the near future, it's possible to expand the journal volume's capacity in advance.
[0079] Furthermore, by outputting future trends in units of 8 consistency groups, it is possible to identify periods of low write activity across all source data volumes within 8 consistency groups. For example, if the journal volume expansion process shown in Figure 7 is performed by identifying periods of low write activity across all 8 consistency groups, the impact on operations when expanding the journal volume capacity can be minimized.
[0080] Figure 10 shows an example of the load trend when writing data to a data volume. The example graph shows the amount of data written to the data volumes associated with the storage node for volumes named "VOL1," "VOL3," and "VOL5." The solid line represents the amount of data written. This amount of data is obtained by the SDS monitoring program 5006.
[0081] The amount of data written in the SDS monitoring program 5006 is used in step S207 to determine which data volume's IOPS is increasing, and to calculate how much volume capacity is needed from the acquired IOPS. This information is then used to select a destination storage node and to determine whether it is possible to add storage nodes to the storage system.
[0082] The storage system according to this embodiment is a storage system comprising a first storage system having data volumes that are read from and written to by a host computer, and an SDS6 having a plurality of storage nodes 61, 62 that store data copies of the data volumes of the first storage system 4. The source first storage system includes, for example, a storage management server 5. The first storage system performs journaling at least when writing data to the data volumes 41, 43, and defines at least one consistency group 8 that includes a plurality of journal groups 71, 72 across the plurality of storage nodes 61, 62. When the first storage system detects that the utilization rate of any particular journal volume 42 within the consistency group 8 exceeds a threshold, it traces the consistency group 8 to which the particular journal group 71 to which the particular journal volume 42 belongs among the plurality of journal groups 71, 72 belongs, identifies at least one journal volume 444, 612, 622 included in the consistency group 8, and expands the capacity of at least one journal volume 444, 612, 622 all at once.
[0083] This configuration reduces the time that affects the storage system's performance, even when employing consistency group 8, which includes multiple journal groups.
[0084] In this embodiment, the first storage system calculates the capacity of at least one journal volume 44,612,622 based on the amount of data written to the source data volumes 41,43, for each consistency group 8. This allows for accurate determination of the capacity to be expanded and reduces the time that affects the performance of the storage system, even when employing consistency groups 8 that include multiple journal groups.
[0085] In this embodiment, when the first storage system detects that the utilization rate of any particular journal volume 42 within the consistency group 8 exceeds a threshold, it determines whether the reason for the exceedance of the threshold in the utilization rate of the particular journal volume 42 is an increase in the amount of data written to the data volume 41. If the source storage system 4 determines that the reason is an increase in the amount of data written to the data volume 41, it expands the capacity of at least one journal volume 444,612,622 in a batch, as described above, according to the increased amount of data written. Even when employing a consistency group 8 that includes multiple journal groups, the time that affects the performance of the storage system is reduced.
[0086] In this embodiment, the first storage system expands the capacity of at least one journal volume 44,612,622 during a period when there is little data writing to the data volume 41. This reduces the time that affects the performance of the storage system, even when a consistency group 8 including multiple journal groups is adopted.
[0087] In other words, when the first storage system detects that the utilization rate of a particular journal volume 42 does not exceed a certain value over a certain period of time, it traces the consistency group 8 to which the particular journal group 71 to which journal volume 42 belongs among the multiple journal groups 71, 72, identifies at least one journal volume 444,612,622 included in consistency group 8, and reduces the capacity of that at least one journal volume 444,612,622 all at once. In this way, not only when expanding capacity as described above, but also when reducing capacity while employing consistency group 8 that includes multiple journal groups, the time that affects the performance of the storage system can be shortened.
[0088] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. Furthermore, for example, the embodiments described above are detailed explanations of the configuration in order to clearly illustrate the present invention, and are not necessarily limited to those having all the configurations described. In addition, some of the configurations of each embodiment can be added to, deleted from, or replaced with other configurations. Furthermore, each element described in parallel in this embodiment may be configured such that at least one of each element is connected in series with respect to the other elements.
[0089] In the embodiment described above, on-premises 1 includes a storage system 4 that does not have storage nodes, but is not limited to this. For example, it may also be a configuration that includes storage nodes by employing Software Defined Storage, such as SDS6. In this case, the connection between on-premises 1 and the public cloud 2 will be an SDS-SDS remote copy configuration.
[0090] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, in whole or in part, for example, by designing them as integrated circuits. The present invention can also be implemented by software program code that realizes the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and the processor of that computer reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiments described above, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media used to supply such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and the like.
[0091] Furthermore, the program code that implements the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, Python, and Java (registered trademark).
[0092] Furthermore, the program code of the software that realizes the functions of the embodiment may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the computer's processor may read and execute the program code stored in the storage means or storage medium. [Industrial applicability]
[0093] The present invention can be applied to storage systems relating to a technique for expanding storage resources in response to an increase in the amount of data written from a host. [Explanation of Symbols]
[0094] 1...On-premise, 2...Public cloud, 3...Host computer, 4...Storage system, 5...Storage management server, 6...SDS, 8...Consistency group, 9...Network, 31...Application, 32...DB, storage device, 33...Input device, 34...Output device, 35...Communication interface, 36...Bus, 41,43...Data volume, 42,44...Journal volume, 51...Processor, 52...Storage device, 53...Input device, 54...Output device, 55...Communication interface, 56...Bus, 61,62...S Treasury node, 71, 72... Journal group, 300... Program memory, 500... Program memory, 611, 621... Data volume, 612, 622... Journal volume, 5001... Write management program, 5002... Copy performance monitoring program, 5003... Copy configuration management program, 5004... Copy configuration change program, 5005... Journal volume capacity calculation program, 5006... SDS monitoring program, 5010... Copy configuration information, 5011... Journal volume capacity management information, 5012... SDS configuration information.
Claims
1. A storage system comprising: a first storage system having a data volume that is read from and written to by a host computer; and a second storage system having a plurality of storage nodes that store data copies of the data volume of the first storage system, The first storage system from which the data was copied was Journaling is performed at least when writing data to the aforementioned data volume, A consistency group is defined that includes multiple journal groups across the aforementioned multiple storage nodes, When it is detected that the utilization rate of any particular journal volume within the consistency group exceeds a threshold, the system traces through the multiple journal groups to which the particular journal volume belongs, identifies at least one journal volume included in the consistency group, and expands the capacity of that at least one journal volume all at once. A storage system characterized by the following features.
2. The first storage system is Based on the amount of data written to the source data volume in each consistency group, the capacity of the at least one journal volume is calculated. The storage system according to feature 1.
3. The first storage system is When it is detected that the utilization rate of any of the specific journal volumes within the consistency group exceeds the threshold, it is determined whether the reason the utilization rate of the specific journal volume exceeds the threshold is due to an increase in the amount of writing to the data volume. The storage system according to feature 1.
4. The first storage system is The timing for expanding the capacity of the at least one journal volume is to perform this operation during a period when there is little data being written to the data volume. The storage system according to feature 1.
5. The first storage system is When it is detected that the utilization rate of the aforementioned specific journal volume does not exceed a certain value over a certain period of time, the consistency group to which the aforementioned journal volume belongs is traced among the multiple journal groups, at least one journal volume included in the consistency group is identified, and the capacity of the at least one journal volume is reduced all at once. The storage system according to feature 1.
6. A method for managing the copy performance of a storage system comprising: a first storage system having a data volume that is read from and written to by a host computer; and a second storage system having a plurality of storage nodes that store data copies of the data volume of the first storage system, wherein The first storage system from which the data was copied was Journaling is performed at least when writing data to the aforementioned data volume, A consistency group is defined that includes multiple journal groups across the aforementioned multiple storage nodes, When it is detected that the utilization rate of any particular journal volume within the consistency group exceeds a threshold, the system traces through the multiple journal groups to which the particular journal volume belongs, identifies at least one journal volume included in the consistency group, and expands the capacity of that at least one journal volume all at once. A method for managing copy performance characterized by the following features.
7. The first storage system is Based on the amount of data written to the source data volume in each consistency group, the capacity of the at least one journal volume is calculated. The copy performance management method according to feature 6.
8. The first storage system is When it is detected that the utilization rate of any of the specific journal volumes within the consistency group exceeds the threshold, it is determined whether the reason the utilization rate of the specific journal volume exceeds the threshold is due to an increase in the amount of writing to the data volume. The copy performance management method according to feature 6.
9. The first storage system is The timing for expanding the capacity of the at least one journal volume is to perform this operation during a period when there is little data being written to the data volume. The copy performance management method according to feature 6.
10. The first storage system is When it is detected that the utilization rate of the aforementioned specific journal volume does not exceed a certain value over a certain period of time, the consistency group to which the aforementioned journal volume belongs is traced among the multiple journal groups, at least one journal volume included in the consistency group is identified, and the capacity of the at least one journal volume is reduced all at once. The copy performance management method according to feature 6.