Information processing system and control method

The information processing system addresses arbitration failures and CPU load issues in storage systems by evaluating network quality through test packets, allowing for optimal arbitration cycle settings and stable data consistency.

JP2026007282APending Publication Date: 2026-01-16HITACHI VANTARA LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024106956
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-02
Publication Date
2026-01-16

AI Technical Summary

Technical Problem

The use of UDP communication for arbitration in storage systems leads to instability, causing potential arbitration failures and increased CPU load due to additional processing requirements, without providing guidance for setting an appropriate transmission cycle for arbitration instructions.

Method used

An information processing system that includes a management unit transmitting test packets to a control unit, which counts received packets to evaluate the transmission period and provides users with information for setting appropriate arbitration cycles, ensuring stable and efficient network communication.

Benefits of technology

Enables users to set optimal arbitration instruction cycles, reducing arbitration failures and CPU load, thereby maintaining data consistency and efficiency in storage systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026007282000001_ABST
    Figure 2026007282000001_ABST
Patent Text Reader

Abstract

To provide a technique capable of providing a user with information for setting a transmission period of an arbitration instruction to an appropriate value.SOLUTION: A data processing system comprising: a plurality of primary storage systems; one or more secondary storage systems; and one or more hosts for controlling a I / O of the plurality of primary storage systems, A plurality of primary storage systems 100 include a storage controller 111 that controls a I / O, and a management module 110 that transmits a test packet to the storage controller 111 at a transmission cycle set by a user, in which the storage controller 111 receives the test packet transmitted from the management module 110 and counts the number of received packets, and the management module 110 acquires the number of received packets from the storage controller 111, evaluates the transmission cycle based on the number of received packets, and presents a result of the evaluation to the user.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing system and a control method. [Background technology]

[0002] In storage systems, asynchronous remote copy is known, which uses a journal to asynchronously copy data from a primary storage device to a secondary storage device.

[0003] As an asynchronous remote copy technique, Patent Document 1 describes a storage system in which a control unit copies data stored in a first storage device to a second storage device based on a specified instruction, and when a request to update the data stored in the first storage device is made after the specified instruction, the contents of the data update are stored in a third storage device as an update history, and when specified identification information is sent from a computer after the specified instruction, the specified identification information is recorded in association with the update history.As a result, using the identification information specified by the computer and the identification information stored in the third storage device, the storage device quickly restores the data to the state it had at the time intended by the computer.

[0004] It is also known to create data copies between a plurality of primary storages and a plurality of secondary storages.

[0005] Patent Document 2 describes a method in which each primary storage system writes write-target data to a primary volume in response to a write command from an I / O issuing unit, creates a journal containing journal data that is a copy of the write-target data and the latest ID from the storage management unit, stores the created journal in a primary journal storage area, and transfers the journal to a connected secondary storage system. The secondary storage system writes the received journal to a secondary journal storage area and reflects up to the journal with an ID one step older than the oldest ID of one or more unreflected journals accumulated in the secondary journal storage area to the secondary volume. This allows the integrity of the data stored in the secondary storage system to be maintained even if the write-target data received by the primary storage system is not timestamped.

[0006] In asynchronous remote copy, the IO processing for the primary volume is completed without waiting for the IO processing for the secondary volume to be completed, so the data on the primary volume and secondary volume may not match. Therefore, to ensure data consistency between the primary volume and secondary volume, the journal volumes belonging to each storage device are managed together. Specifically, arbitration is performed to periodically obtain a data slice.

[0007] Here, "arbitration" is performed as follows: The management software installed on the server sends an arbitration command to all managed storage devices at a specified transmission cycle, causing all primary storage devices to stop accepting IOs, and sends serial number information to each primary storage device. Each primary storage device writes the serial number information sent from the management software to a journal and resumes accepting IOs. After arbitration, when restoring, the data up to the point where the serial number information has been written is secured, and the data thereafter is discarded. [Prior art documents] [Patent documents]

[0008] [Patent Document 1] Japanese Patent Application Laid-Open No. 2004-252686 [Patent Document 2] Japanese Patent Application Laid-Open No. 2010-102463 Summary of the Invention [Problem to be solved by the invention]

[0009] When performing arbitration, FC SCSI (Fiber Channel Small Computer System Interface) communication, a standard for fiber channel communication, is used to send arbitration instructions to the primary storage. However, because the optical fiber communication infrastructure is expensive, it is now desirable to use UDP (User Datagram Protocol) communication via Ethernet, which is the current mainstream communication infrastructure and is less expensive.

[0010] However, UDP communication is less stable than FC SCSI communication. As a result, arbitration instructions from the management software to the primary storage device may not be sent within the specified time, resulting in arbitration failure. If a restore is performed after arbitration fails, the amount of data discarded increases.

[0011] Furthermore, when the FC-SCSI protocol is used for arbitration processing, the main CPU of the primary storage performs communication processing of arbitration instructions in the same way as IO processing using the normal FC-SCSI protocol. On the other hand, when the UDP protocol is used for arbitration processing, the main CPU of the primary storage requires additional processing for sending and receiving UDP packets of arbitration instructions in addition to IO processing using the normal FC-SCSI protocol. This increases the load on the main CPU of the primary storage.

[0012] Therefore, it is necessary to set the transmission cycle of the arbitration instruction to an appropriate value, but Patent Documents 1 and 2 do not mention setting the transmission cycle of the arbitration instruction to an appropriate value.

[0013] Therefore, an object of the present invention is to provide a technique that can provide a user with information for setting the transmission cycle of an arbitration instruction to an appropriate value. [Means for solving the problem]

[0014] In order to solve the above problems, the information processing system of the present invention is an information processing system comprising a plurality of primary storage systems, one or more secondary storage systems that copy data from the plurality of primary storage systems, and one or more hosts that control the I / O of the plurality of primary storage systems, wherein the plurality of primary storage systems comprise a control unit that controls the I / O, and a management unit that transmits test packets to the control unit at a transmission period set by a user, and the control unit receives the test packets transmitted from the management unit and counts the number of received packets, and the management unit obtains the number of received packets from the control unit, evaluates the transmission period based on the number of received packets, and presents the results of the evaluation to the user. [Effects of the Invention]

[0015] According to the present invention, it is possible to provide the user with information for setting the transmission cycle of the arbitration instruction to an appropriate value. [Brief explanation of the drawings]

[0016] [Figure 1] 1 is a block diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram showing an example of the hardware configuration of a primary storage system. [Figure 3] FIG. 2 is a block diagram showing an example of the hardware configuration of a primary storage system. [Figure 4] FIG. 2 is a diagram illustrating an example of the operation of the information processing system according to the present embodiment. [Figure 5A] FIG. 10 is a diagram illustrating an example of a setting information storage table. [Figure 5B] FIG. 10 illustrates an example of a management table. [Figure 6] 10 is a flowchart illustrating an example of an arbitration setting process. [Figure 7] FIG. 10 is a diagram illustrating an example of an arbitration setting screen. [Figure 8] 10 is a flowchart illustrating an example of a setting value validity test. [Figure 9] 10 is a flowchart illustrating an example of an arbitration operation monitoring process. [Figure 10] 10 is a flowchart illustrating an example of an in-operation validity check. [Figure 11] 10 is a flowchart illustrating an example of a packet reaping frequency change process. [Figure 12] 10 is a flowchart illustrating an example of a packet reaping frequency change process. [Figure 13] FIG. 10 is a diagram illustrating an example of an arbitration monitoring screen. [Figure 14A] FIG. 10 is a diagram illustrating an example of an alert display screen. [Figure 14B] FIG. 10 is a diagram illustrating an example of an alert details display screen. DETAILED DESCRIPTION OF THE INVENTION

[0017] Hereinafter, an embodiment will be described with reference to the drawings.

[0018] The configuration of the information processing system of this embodiment will be described with reference to FIGS.

[0019] FIG. 1 is a block diagram showing an example of the configuration of an information processing system according to this embodiment.

[0020] The information processing system comprises a plurality of primary storage systems 100 belonging to a primary storage group, a plurality of secondary storage systems 101 belonging to a secondary storage group, an I / O host 200, and a management host 300.

[0021] The I / O host 200 is a computer such as a personal computer, workstation, or mainframe. An operating system (hereinafter referred to as "OS") appropriate for the type of computer and application programs (APs) corresponding to various tasks and uses, such as database programs, run on the host 1. The I / O host 200 is also connected to the primary storage system 100 via a SAN (Storage Area Network).

[0022] The I / O host 200 has an I / O issuing unit 201. The I / O issuing unit 201 is realized by an application program and / or an operating system (hereinafter referred to as OS). The OS is an open system OS. The I / O issuing unit 201 sends a write command or a read command to the primary storage system 100 that belongs to the primary storage group. Hereinafter, write commands and read commands will be collectively referred to as I / O commands.

[0023] The management host 300 is a computer used to manage failures, maintenance, configuration, performance information, etc. of the primary storage system 100. For example, the management host 300 is used when an information processing system administrator sets up a logical storage device in the primary storage system 100, sets up a storage area for backing up data, or sets up a pair of storage areas when replicating data.

[0024] The primary storage system 100 and secondary storage system 101 have an M×N configuration. That is, the information processing system has M primary storage systems 100 belonging to a primary storage group, and N secondary storage systems 101 belonging to a secondary storage group.

[0025] M is an integer greater than or equal to 1, and N is an integer greater than or equal to 1. At least one secondary storage system 101 is connected to the primary storage system 100, and at least one primary storage system 100 is connected to the secondary storage system 101.

[0026] Therefore, for example, a configuration may be adopted in which one secondary storage system 101 is connected to two primary storage systems 100. The information processing system of this embodiment has two primary storage systems 100a, 100b and two secondary storage systems 101a, 101b. The primary storage systems 100a, 100b and the secondary storage systems 101a, 101b are connected one-to-one. In other words, the primary storage system 100a is connected to the secondary storage system 101a and communicates with the secondary storage system 101a, and the primary storage system 100b is connected to the secondary storage system 101b and communicates with the secondary storage system 101b.

[0027] Each of the primary storage systems 100a and 100b comprises a management module 110 (management unit) and a storage controller 111 (control unit).

[0028] Each storage controller 111 has a primary volume 121 and a primary journal volume 122. On the other hand, the secondary storage system 101a has a secondary journal volume 123 and a secondary volume .

[0029] The primary volume 121 is a logical volume specified by a write command from the I / O host 200. Write-target data is written to the primary volume 121 in accordance with this write command.

[0030] The primary journal volume 122 is a logical volume to which journals are written. A journal is information that represents the update history of the primary volume 121. A journal includes, for example, a journal group management table and journal data. The journal group management table is management information related to journals.

[0031] The journal group management table includes, for example, a sequence number indicating the order in which the journal containing that journal group management table was created, update location information indicating the location in which the write-target data corresponding to the journal data in that journal was written in which primary volume 121, and serial number information, which will be described later. Journal data is a copy of the write-target data.

[0032] The journal in the primary journal volume 122 is transferred to the secondary storage system 101 and written to the secondary journal volume 123 .

[0033] The secondary volume 124 is a logical volume that forms a pair with the primary volume 121. Journal data written to the secondary journal volume 123 is written to the secondary volume 124. In other words, data stored in the primary volume 121 is also stored in the secondary volume 124.

[0034] Each logical volume of the primary volume 121, the primary journal volume 122, the secondary journal volume 123, and the secondary volume 124 is a logical storage device formed based on multiple HDDs (Hard Disk Drives) or other physical storage devices 150 such as flash memory that the primary storage system 100 or the secondary storage system 101 has.

[0035] One management module 110 of the primary storage group is equipped with arbitration software. The management module 110 having the arbitration software is connected to all primary storage systems 100. The arbitration software is a computer program that runs on a microprocessor.

[0036] The arbitration software performs arbitration as follows to ensure a data slice, i.e., to suspend data changes on the volume and ensure that there is no possibility of subsequent rewriting.

[0037] First, the arbitration software sends a freeze instruction (stop instruction) to the storage controllers 111 of all primary storage systems 100 at predetermined intervals, causing all storage controllers 111 to stop accepting I / O. Next, the arbitration software issues serial number information to all storage controllers 111 for determining the consistency of data copied to the secondary storage system 101. The storage controller 111 sets the issued serial number information in the journal group management table of the primary journal volume 122.

[0038] After the arbitration, when restoring the primary storage system 100, the data up to the serial number information is secured and the data thereafter is discarded. This maintains the consistency of the data copied to the secondary storage system 101.

[0039] In this embodiment, the management module 110 is provided within the primary storage system 100 , but it may also be provided in another device such as a management host 300 connected to the primary storage system 100 .

[0040] 2 and 3 are block diagrams showing an example of the hardware configuration of the primary storage system 100. FIG.

[0041] The primary storage system 100 comprises a management module 110, a storage controller 111 connected to the management module 110 via a network, and a physical storage device 150 connected to the storage controller 111.

[0042] The management module 110 comprises a CPU (Central Processing Unit) 130, memory 131, a network interface 132 for communicating with the management host 300, a network interface 133 for communicating with the storage controller 111, and a storage device 134.

[0043] The CPU 130 is a central processing unit, and implements necessary functions by executing programs stored in the memory 131 (or storage device 134).

[0044] The memory 131 is a main storage device used when the CPU 130 executes processing, and is configured with a volatile storage element such as a RAM (Random Access Memory).

[0045] The storage device 134 is an auxiliary storage device for storing input data provided to the CPU 130 and output data output from the CPU 130, and is configured with a non-volatile storage element such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).

[0046] The storage device 134 stores an arbitration program 160 for implementing the arbitration software described above, and a database 161 having various data. The database 161 includes, for example, a management table 162, which will be described later with reference to FIG. 5B. The management table 162 stores various setting information used for arbitration.

[0047] The storage controller 111 comprises a CPU 140, a memory 141, an I / O interface 142 for communicating with the I / O host 200, a network interface 143 for communicating with the management module 110, and an interface 144 for communicating with the physical storage device 150.

[0048] The CPU 140 is a central processing unit that executes a program (not shown) stored in the memory 141 to implement necessary functions.

[0049] The memory 141 is a main storage device used when the CPU 140 executes processing, and is configured with a volatile storage element such as a RAM (Random Access Memory).

[0050] The memory 141 includes a UDP packet queue 170 , a database 171 having various data, and an I / O queue 172 .

[0051] The UDP packet queue 170 stores UDP packets sent from the management module 110 .

[0052] The database 171 has, for example, a setting information storage table 173, which will be described later with reference to Fig. 5A. Various setting information used for arbitration is stored in the setting information storage table 173. The setting information storage table 173 stores setting values ​​that are common to the storage controllers 111 of all primary storage systems 100.

[0053] The I / O queue 172 stores write commands sent from the I / O host 200 .

[0054] The management host 300 includes a display 301 .

[0055] FIG. 4 is a diagram illustrating an example of the operation of the information processing system of this embodiment.

[0056] The management host 300 manages failures, maintenance, configuration, performance information, etc. of each primary storage system 100 .

[0057] The I / O host 200 sends a write command or a read command to each primary storage system 100 .

[0058] The primary storage system 100 writes the write target data to the primary volume 121 in accordance with a write command from the I / O host 200. The primary storage system 100 also writes the update history of the primary volume 121 to the primary journal volume 122 as a journal.

[0059] One primary storage system 100a has an arbitration program 160 in the management module 110. The arbitration software performs arbitration as follows to ensure a data cross section. The primary storage system 100 that performs arbitration may be selected arbitrarily, or may be specified in advance by the user or administrator.

[0060] First, the arbitration software sends a freeze command to the storage controllers 111 of all primary storage systems 100 at predetermined intervals, putting all storage controllers 111 into a state where they stop accepting I / O, and issues serial number information to all storage controllers 111. The storage controllers 111 set the issued serial number information in the journal group management table of the primary journal volume 122.

[0061] After the arbitration, when restoring the primary storage system 100, the data up to the data in which the serial number information is written is secured, and the data thereafter is discarded.

[0062] FIG. 5A is a diagram showing an example of the setting information storage table 173 stored in the memory 141 of the storage controller 111. As shown in FIG.

[0063] The setting information storage table 173 has information such as the target journal group number, journal frequency setting, journal frequency setting range, minimum IOPS, packet reaping frequency, priority, skip count, latest serial number information, etc. The setting information storage table 173 stores values ​​that are common to all primary storage systems 100 that belong to the primary storage group.

[0064] The journal frequency setting, journal frequency setting range, minimum IOPS, packet reaping frequency, journal priority, etc. are set by user input in the arbitration setting process described later.

[0065] The journal frequency setting is the frequency at which the management module 110 sends a freeze instruction to the storage controller 111 .

[0066] The journal frequency setting range is the allowable range of values ​​for the journal frequency setting value.

[0067] The minimum IOPS is the minimum number of I / O accesses that the CPU 140 of the storage controller 111 of the primary storage system 100 can process per second.

[0068] The packet reaping frequency is the frequency at which the UDP packets stored in the UDP packet queue are checked after being sent from the management module 110. The UDP packets also include a freeze instruction sent from the management module 110 during arbitration.

[0069] The priority is information indicating whether the journal frequency setting or the IOPS is to be given priority when the journal frequency setting and the packet reaping setting are automatically changed.

[0070] The skip count is the number of times that the management module 110 was unable to execute the freeze process within a predetermined time after sending a freeze instruction to the storage controller 111, and therefore skipped sending of serial number information from the management module 110 to the storage controller 111.

[0071] The latest serial number information is the serial number information that was last set in the journal group management table.

[0072] FIG. 5B is a diagram showing an example of the management table 162 stored in the storage device 134 of the management module 110. As shown in FIG.

[0073] The management table 162 includes information such as the target journal group number, serial number information transmission frequency setting, average response time, maximum response time, latest response time, and the like.

[0074] The serial number information transmission frequency setting is the value of the frequency at which the management module 110 transmits serial number information to each storage controller 111. The serial number information transmission frequency setting is the same value as the journal frequency setting.

[0075] The average response time is the average response time from when the management module 110 sends a freeze command to each storage controller 111 .

[0076] The maximum response time is the maximum response time after the management module 110 sends a freeze instruction to each storage controller 111.

[0077] The latest response time is the latest response time of the storage controller 111 of each primary storage system 100 .

[0078] Next, the processing executed in the information processing system of this embodiment will be explained with reference to a flowchart. For simplicity in the following explanation, the CPUs 130 and 140 that execute various programs and operate as the entities that execute control or processing in the management module 110 or storage controller 111 may be collectively referred to as the "management module" and the "storage controller," respectively.

[0079] In the following processing, the management module 110 is the management module 110 of one of the primary storage systems 100 belonging to the primary storage group, and has arbitration software. Also, the storage controller 111 is the storage controller 111 of all the primary storage systems 100 belonging to the primary storage group.

[0080] FIG. 6 is a flowchart showing an example of arbitration setting processing executed in the primary storage system 100.

[0081] The management module 110 displays an arbitration setting screen for the user to input arbitration setting values ​​on the display 301 of the management host 300, for example (step S401). The arbitration setting values ​​are setting values ​​used in arbitration processing by an arbitration program in the information processing system.

[0082] FIG. 7 is a diagram showing an example of the arbitration setting screen.

[0083] The arbitration setting screen displays display items such as target journal number, journal frequency setting, journal frequency setting range, minimum IOPS, priority, check result, action, and response time.

[0084] The currently set arbitration setting values ​​are displayed in the journal frequency setting, journal frequency setting range, minimum IOPS, and priority fields, and the user can change the arbitration setting values ​​by entering them.

[0085] The check result displays the result of the setting value validity test described below.

[0086] In the action section, actions recommended to the user are displayed according to the results of the setting value validity test.

[0087] The response time displays the response time from when the management module 110 sends a test packet to the storage controllers 111 until it receives responses from all the storage controllers 111 in the setting value validity test.

[0088] Returning to FIG. 6, the management module 110 receives the arbitration setting values ​​input by the user on the arbitration setting screen (step S402).

[0089] Next, the management module 110 sets the parameters of the arbitration setting based on the received arbitration setting value (step S403). The parameters of the arbitration setting include, for example, a journal frequency setting, a serial number information transmission frequency setting, and the like.

[0090] Next, the management module 110 and the storage controller 111 execute a setting value validity test (step S404) to be described later with reference to FIG. 8, and determine whether the arbitration setting value is valid for the network quality between the management module 110 and the storage controller 111.

[0091] Next, the management module 110 displays the result of the setting value validity test on the arbitration setting screen received from the storage controller 111 in the check result column of the arbitration setting screen (step S405). Furthermore, if there is an action recommended for the user, it is displayed in the action column of the arbitration setting screen.

[0092] Next, the management module 110 determines whether or not the user has approved the arbitration setting values ​​(step S406). The arbitration setting values ​​are approved by, for example, pressing the "OK" button on the arbitration setting screen of FIG.

[0093] If approval of the arbitration setting value has not been received in step S406 (No in step S406), the process returns to step S401. On the other hand, if approval of the arbitration setting value has been received from the user in step S406 (Yes in step S406), the process proceeds to step S407.

[0094] In step S407, the management module 110 sets internal parameters based on the approved arbitration setting value (step S407). The internal parameters include, for example, journal frequency settings, serial number information transmission frequency, etc. The management module 110 also transmits the arbitration setting value to all storage controllers 111.

[0095] Next, each storage controller 111 sets a storage parameter based on the arbitration setting value sent from the management module 110 (step S408). The storage parameter is, for example, a packet harvesting frequency.

[0096] Next, when the storage parameter setting is complete, the storage controller 111 transmits a setting completion response to the management module 110 (step S409).

[0097] The management module 110 receives the setting completion response sent from the storage controller 111 (step S410) and ends this processing.

[0098] According to the process of FIG. 6, the arbitration setting values ​​entered by the user are judged to be appropriate for the network quality, and the judgment result is displayed, so that the user can refer to the judgment result and change or approve the arbitration setting values ​​entered.

[0099] Fig. 8 is a flowchart showing an example of the setting value validity test of step S404 in Fig. 6. In the setting validity test, based on the arbitration setting value set by the management module 110, the management module 110 transmits a test packet to the storage controller 111 via UDP communication, and the communication quality of the network is evaluated based on the reception result of the test packet by the storage controller 111.

[0100] The management module 110 sends a test preparation command to the storage controllers 111 of all primary storage systems 100 that are the target of the operation (step S501). Each storage controller 111 receives the test preparation command sent from the management module 110 (step S502). Next, each storage controller 111 performs test preparation (step S503) and sends a test preparation completion report to the management module 110 (step S504).

[0101] Next, when the management module 110 receives test preparation completion reports from all storage controllers 111 (step S505), it sends a test start command to the storage controllers 111 of all primary storage systems 100 that are the operation targets (step S506). The storage controllers 111 receive the test start command sent from the management module 110 (step S507).

[0102] Next, the management module 110 transmits the test packets to the storage controllers 111 of all the primary storage systems 100 to be operated (step S509). Each storage controller 111 receives the test packets transmitted from the management module 110 (step S510) and counts the number of received test packets (step S511).

[0103] At this time, the test packets sent from the management module 110 are stored in the UDP packet queue 170, and each storage controller 111 receives the test packets by checking the UDP packet queue 170 at a preset packet reaping frequency.

[0104] Next, when each storage controller 111 has completed receiving the test packet, it transmits a response to the management module 110 (step S512). The management module 110 transmits the test packet a specified number of times in the setting validity test, and each storage controller 111 manages the response to the test packet within a specified time.

[0105] The management module 110 receives a response from each storage controller 111 (step S513), and measures the response time from when the test packet is sent until responses are received from all storage controllers 111 (step S514).

[0106] Next, the management module 110 sleeps until a predetermined test packet transmission period (step S515) and determines whether the number of test packet transmissions has reached a predetermined specified number (step S516). Here, the test packet transmission period is the journal frequency setting set by the user on the arbitration setting screen in step S402 of FIG. 6.

[0107] In step S516, if the number of times the test packet has been transmitted has not reached the predetermined number (No in step S516), the process returns to step S509, and the next test packet is transmitted.

[0108] On the other hand, if it is determined in step S516 that the number of times the test packet has been transmitted reaches the predetermined number of times (Yes in step S516), the process proceeds to step S517.

[0109] In step S517, the management module 110 sends a test end command to all storage controllers 111 (step S517). Upon receiving the test end command sent from the management module 110 (step S518), each storage controller 111 reports the number of received test packets counted in step S511 to the management module 110 (step S519).

[0110] The management module 110 evaluates the network quality based on the time from sending the test packet measured in step S514 to receiving responses from all storage controllers 111, and the number of received test packets reported from the storage controllers 111 in step S519 (step S520), and terminates this process.

[0111] In evaluating network quality, for example, if the number of packets sent by the management module 110 matches the number of packets received by the storage controller 111, the management module 110 determines that the arbitration setting value is appropriate for the network quality. In this case, "OK" is displayed in the check result column on the arbitration setting screen in FIG. 7.

[0112] Furthermore, if the number of packets received by the storage controller 111 is less than the number of packets sent by the management module 110, the management module 110 determines that the network quality is insufficient for the arbitration setting value. In this case, "NG" is displayed in the check result column of the arbitration setting screen in Fig. 7, and a message is displayed in the action column urging the user to increase the journal frequency setting.

[0113] Here, a message urging the user to increase the journal frequency setting is displayed, along with a recommended journal frequency setting. The recommended journal frequency setting is calculated by taking the response time measured in step S514 as the estimated time from when the management module 110 sends a freeze command to the storage controllers 111 until the freeze processing of all storage controllers 111 is completed.

[0114] If this estimated time exceeds a predetermined value, the management module 110 determines that there is an abnormality in the network environment, and notifies the user of this, and a message is displayed urging the user to resolve the abnormality in the network environment.

[0115] Furthermore, if the number of packets received by the storage controller 111 is less than the number of packets sent by the management module 110 by a predetermined value or more, the management module 110 determines that there is an abnormality in the network environment. In this case, "NG" is displayed in the check result column of the arbitration setting screen in Fig. 7, and a message is displayed in the action column urging the user to resolve the abnormality in the network environment.

[0116] Furthermore, the response time measured in step S514 is displayed in the response time field on the arbitration setting screen of Fig. 7. This makes it possible to present the network quality between the management module 110 and the storage controller 111 to the user.

[0117] According to the processing of FIG. 8, by evaluating the network quality based on the time from sending the test packet measured in step S514 to receiving responses from all storage controllers 111 and the number of received test packets reported from the storage controller 111 in step S519, it is possible to determine whether the arbitration setting value of the arbitration processing by the arbitration program is appropriate for the network quality.

[0118] FIG. 9 is a flowchart illustrating an example of the arbitration operation monitoring process.

[0119] The management module 110 transmits a freeze instruction to the storage controllers 111 of all primary storage systems 100 that are the operation targets at a predetermined transmission period (step S601). The predetermined transmission period is the journal frequency setting set in the arbitration setting process of Fig. 6. After transmitting the freeze instruction, the management module 110 waits for a freeze completion response from the storage controllers 111 (step S602).

[0120] When each storage controller 111 receives the freeze instruction sent from the management module 110 (step S603), it executes freeze processing and stops accepting I / O (step S604).

[0121] At this time, the freeze instruction sent from the management module 110 is stored in the UDP packet queue 170, and each storage controller 111 receives the freeze instruction by checking the UDP packet queue 170 at a preset packet harvesting frequency.

[0122] Next, each storage controller 111 transmits a freeze completion response to the management module 110 (step S605).

[0123] After waiting for the freeze completion response in step S602, the management module 110 executes a freeze completion response reception loop until freeze completion responses are received from all storage controllers 111 (step S606).

[0124] In the freeze completion response receiving loop, when the management module 110 receives the freeze completion response sent from the storage controller 111, it measures the response time from sending the freeze instruction to receiving the freeze completion response, and stores the measured response time in the management table 162 of Figure 5B (step S607).

[0125] Next, the management module 110 compares the measured response time with a preset predetermined time and determines whether the predetermined time has elapsed (step S608). If the predetermined time has elapsed (Yes in step S608), the management module 110 determines that a timeout has occurred, exits the freeze completion response reception loop, skips sending the communication number information, and executes an in-operation validity check, which will be described later in Fig. 10, to determine whether the arbitration setting value is valid for the network quality (step S615). If the predetermined time has not elapsed (No in step S608), the freeze completion response reception loop continues.

[0126] In step S608, the management module 110 may measure the time that has elapsed since the start of waiting for the freeze completion response in step S602, and determine whether a timeout has occurred based on whether a preset predetermined time has elapsed.

[0127] After transmitting the freeze completion response, each storage controller 111 waits to receive the serial number information transmitted from the management module 110 (step S610). After transmitting the freeze completion response, each storage controller 111 determines whether a predetermined time has elapsed before receiving the serial number information from the management module 110 (step S611). The predetermined time in step S611 is preferably the same as the predetermined time set in the management module 110 and used to determine the timeout in step S608.

[0128] In step S611, if each storage controller 111 does not receive the serial number information after a predetermined time has elapsed (Yes in step S611), it determines that the transmission of the serial number information from the management module 110 to the storage controller 111 has been skipped. In this case, each storage controller 111 determines that a timeout has occurred and cancels the freeze processing that is being executed (step S612), counts the number of skips, updates the number of skips in the setting information storage table 173 of Fig. 5A (step S613), and resumes I / O reception.

[0129] When it is confirmed that freeze completion responses have been received from all storage controllers 111 within the predetermined time, the management module 110 ends the freeze completion response reception loop and transmits serial number information to all storage controllers 111 (step S609). If serial number information is received from the management module 110 before the predetermined time has elapsed after transmitting the freeze completion response (No in step S611), each storage controller 111 receives the serial number information transmitted from the management module 110 (step S614) and sets the received serial number information in its journal group management table (step S617). In addition, each storage controller 111 updates the latest serial number information in the setting information storage table 173 of FIG. 5A.

[0130] Next, the storage controller 111 executes the freeze release process and resumes I / O reception (step S618).

[0131] On the other hand, after transmitting the serial number information, the management module 110 executes an in-operation validity check shown in FIG. 10, which will be described later, to determine whether the arbitration setting value is valid for the network quality (step S615).

[0132] Next, the process goes to sleep until the predetermined transmission cycle of the freeze instruction (step S616), and returns to step S601. Here, the transmission cycle of the freeze instruction is the journal frequency setting set in the arbitration setting process of FIG.

[0133] According to the process of FIG. 9, the management module 110 measures the response time of the storage controller 111 to a freeze instruction, monitors the network quality during operation, and checks the validity of the arbitration setting value, thereby maintaining an appropriate arbitration setting value during the arbitration process.

[0134] FIG. 10 is a flowchart showing an example of the validity check during operation in step S615 of FIG.

[0135] The management module 110 reads the maximum response time from the management table 162 in Fig. 5B (step S701). The maximum response time is the maximum value of the response time measured in step S606 in Fig. 9 from when the management module 110 sends a freeze instruction to all storage controllers 111 until when it receives a freeze completion response from each storage controller 111.

[0136] Next, the management module 110 determines whether the maximum response time exceeds a set value (step S702). The set value is set, for example, to a value that does not cause a delay when a freeze instruction is sent at a predetermined sending period, and is set based on the journal frequency setting set in the arbitration setting process of FIG.

[0137] In step S702, if the maximum response time does not exceed the set value (No in step S702), the process proceeds to step S711.

[0138] On the other hand, if it is determined in step S702 that the maximum response time exceeds the set value (Yes in step S702), the management module 110 requests all storage controllers 111 to transmit skip numbers (step S703).

[0139] Next, each storage controller 111 reads the skip number from the setting information storage table 173 of FIG. 5 (step S704), and transmits the skip number to the management module 110 (step S705).

[0140] The management module 110 receives the skip number transmitted from the storage controller 111 (step S706) and determines whether the skip number exceeds a preset promised value (step S707). For example, the promised value is set to a value that allows the skip number to be set to 0 by a packet reaping frequency change process described later if the skip number is equal to or less than the promised value. The promised value may be set by a user or an administrator, and is, for example, 0.

[0141] If the skip count exceeds the promised value in step S707 (Yes in step S707), the management module 110 determines that there is an abnormality in the network status, and sends error information to all storage controllers 111 (step S708).

[0142] Each storage controller 111 receives the error information sent from the management module 110 (step S709), displays an alert on the display 301 of the management host 300, and prompts the user to take action (step S710). Examples of the display screen displayed in step S710 will be described later with reference to Figures 13, 14A, and 14B.

[0143] If the skip count is equal to or less than the promised value in step S707 (No in step S707), the management module 110 determines whether or not to automatically change the packet reaping frequency (step S711). The packet reaping frequency is the frequency at which the CPU 140 of the storage controller 111 checks the UDP packets transmitted from the management module 110 and stored in the UDP packet queue 170. The packet reaping frequency is automatically changed if either of the items "IO" or "JNL" shown in the priority column on the arbitration setting screen in Fig. 7 is selected.

[0144] In step S711, if the packet reaping frequency is to be automatically changed, the management module 110 executes the packet reaping frequency change process described later in FIG. 11 or FIG. 12 (step S712), and the storage controller 111 automatically changes the packet reaping frequency according to the processing result (step S713), and this process is terminated.

[0145] According to the processing of FIG. 10, an alert is displayed or the packet harvesting frequency is automatically changed depending on the number of skips in sending serial number information from the management module 110 to the storage controller 111, so that appropriate arbitration setting values ​​can be maintained during arbitration processing.

[0146] Fig. 11 is a flowchart showing an example of the packet reaping frequency change process of step S712 in Fig. 10. The packet reaping frequency change process shown in Fig. 11 is a process executed when "IO" is selected as the priority on the arbitration setting screen in Fig. 7, that is, a packet reaping frequency change process that prioritizes IO processing capacity.

[0147] First, the management module 110 refers to the information on the number of skips newly received during the validity check during operation (see step S706 in FIG. 10), and determines whether the number of skips has increased compared to the number of skips previously received (step S801).

[0148] If there is no change in the skip count, that is, if no new skip occurs (No in step S801), the management module 110 sends an IO load information acquisition instruction to all storage controllers 111 that are the operation targets (step S802).

[0149] Upon receiving the IO load information acquisition instruction (step S803), each storage controller 111 acquires IO load information (IOPS) of the CPU 140 of each storage controller 111 (step S804). Each storage controller 111 transmits the acquired IO load information to the management module 110 (step S805).

[0150] The management module 110 receives the IO load information sent from the storage controller 111 (step S806), and determines whether the IO load of each storage controller 111 exceeds a designated value based on the received IO load information (step S807). The designated value is set based on the minimum IOPS set by the user in the arbitration setting process of FIG.

[0151] If it is determined in step S807 that the IO load of at least one storage controller 111 exceeds the specified value (heavy load in step S807), the management module 110 performs processing to increase the packet transmission interval (step S808). Here, the packet transmission interval is the journal frequency setting set by the user on the arbitration setting screen, and the increasing cycle is the journal frequency setting range set by the user on the arbitration setting screen.

[0152] Furthermore, the management module 110 sends a packet harvesting frequency reduction instruction to all storage controllers 111 (step S809), and waits for a response from each storage controller 111 (step S816).

[0153] Each storage controller 111 receives the packet pruning frequency reduction instruction sent from the management module 110 (step S810) and makes a change to reduce the packet pruning frequency in accordance with the received packet pruning frequency change instruction (step S811). When changing the packet pruning frequency, the management module 110 may send the packet pruning frequency reduction instruction including a packet pruning frequency reduction value, and each storage controller 111 may change the packet pruning frequency based on that reduction value. Alternatively, a default reduction value may be set in advance in each storage controller 111, and when a packet pruning frequency reduction instruction is received, the packet pruning frequency may be changed by that reduction value.

[0154] Next, each storage controller 111 transmits a response indicating completion of changing the packet reaping frequency to the management module 110 (step S812).

[0155] When the management module 110 receives a change completion response from all the storage controllers 111 (step S817), it ends this processing.

[0156] Returning to step S807, if the IO load in any storage controller 111 is equal to or less than the specified value (low load in step S807), the management module 110 further determines whether the packet transmission interval is equal to the initial value, i.e., the journal frequency setting value set by the user on the arbitration setting screen (step S813). If the packet transmission interval remains below the initial value (initial value in step S813), the management module 110 ends this process.

[0157] If the packet transmission interval exceeds the initial value in step S813 (equal to or greater than the initial value in step S813), the management module 110 performs processing to decrease the packet transmission interval, i.e., processing to decrease the journal frequency setting by the journal frequency setting range (step S814). Furthermore, the management module 110 sends an instruction to increase the packet harvesting frequency to all storage controllers 111 (step S815) and waits for a response from each storage controller 111 (step S816).

[0158] Each storage controller 111 receives the packet pruning frequency increase instruction sent from the management module 110 (step S810) and changes the packet pruning frequency to increase it in accordance with the received packet pruning frequency change instruction (step S811). When changing the packet pruning frequency, the management module 110 may send the packet pruning frequency increase instruction including an increase value for the packet pruning frequency, and each storage controller 111 may change the packet pruning frequency based on that increase value. Alternatively, a default increase value may be set in advance in each storage controller 111, and when a packet pruning frequency increase instruction is received, the packet pruning frequency may be changed by that increase value.

[0159] As in the case of decreasing the packet reaping frequency, each storage controller 111 transmits a response indicating completion of changing the packet reaping frequency to the management module 110 (step S812).

[0160] When the management module 110 receives a change completion response from all the storage controllers 111 (step S817), it ends this processing.

[0161] Returning to step S801, if there is a change in the number of skips, that is, if a new skip has occurred (Yes in step S801), the management module 110 performs processing to increase the packet transmission interval (step S808) and sends an instruction to reduce the packet reaping frequency to all storage controllers 111 (step S809), just as in the case where the IO load of at least one storage controller 111 exceeds the specified value in step S807. The operations of the subsequent processing are similar, so explanations will be omitted.

[0162] 11, the packet reaping frequency is changed based on the I / O load information of the CPU 140 of the storage controller 111, so that an appropriate arbitration setting value can be maintained during arbitration processing. In particular, in the flow of FIG. 11, since priority is given to IO processing capacity, the management module 110 checks the IO load, and if the load is heavy, the management module 110 increases the packet transmission interval to reduce the packet reaping frequency on the storage side, and outputs a corresponding instruction to decrease the packet reaping frequency to the storage controller 111. When the IO load returns to normal, the packet transmission interval is gradually returned to a value close to the initial value, and a corresponding instruction to increase the packet reaping frequency is output. On the other hand, even if the arbitration skip count has increased, the management module 110 increases the packet transmission interval and issues an instruction to decrease the packet reaping frequency to prevent an increase in the amount of data discarded during restoration after arbitration failure in response to network delays.

[0163] Fig. 12 is a flowchart showing an example of the packet reaping frequency change process of step S712 in Fig. 10. The packet reaping frequency change process shown in Fig. 12 is a process executed when "JNL" is selected as the priority item on the arbitration setting screen in Fig. 7, that is, a packet reaping frequency change process that prioritizes arbitration processing.

[0164] In the packet reaping frequency change process shown in Figure 11, the packet transmission interval of the management module 110 and the packet reaping frequency of each storage controller 111 are changed based on the IO load information received from each storage controller 111, but in the packet reaping frequency change process shown in Figure 12, a packet reaping frequency change process is performed that is not dependent on the IO load information.

[0165] First, the management module 110 refers to the information on the number of skips newly received during the validity check during operation (see step S706 in FIG. 10), and determines whether the number of skips has increased compared to the number of skips previously received (step S901).

[0166] If the skip count remains unchanged, i.e., if no new skips have occurred (No in step S901), the management module 110 further determines whether the packet transmission interval is at a preset lower limit (step S907). If the packet transmission interval is at the lower limit (shortest in step S907), the management module 110 ends this process.

[0167] If the packet transmission interval is not the lower limit value (other than the shortest value in step S907), the management module 110 performs processing to decrease the packet transmission interval, i.e., processing to decrease the journal frequency setting by the journal frequency setting range (step S908). Furthermore, the management module 110 sends a packet harvesting frequency increase instruction to all storage controllers 111 (step S909) and waits for a response from each storage controller 111 (step S910).

[0168] Each storage controller 111 receives the packet reaping frequency increase instruction sent from the management module 110 (step S904), and makes a change to increase the packet reaping frequency in accordance with the received packet reaping frequency change instruction (step S905).

[0169] Next, each storage controller 111 transmits a response indicating completion of changing the packet reaping frequency to the management module 110 (step S906).

[0170] When the management module 110 receives a change completion response from all the storage controllers 111 (step S911), it ends this processing.

[0171] Returning to step S901, if there is a change in the skip count, that is, if a new skip occurs (Yes in step S901), the management module 110 performs processing to increase the packet transmission interval (step S902). An instruction to reduce the packet harvesting frequency is sent to all storage controllers 111 (step S903), and awaits a response from each storage controller 111 (step S910).

[0172] Each storage controller 111 receives the packet pruning frequency reduction instruction sent from the management module 110 (step S904), and makes a change to reduce the packet pruning frequency in accordance with the received packet pruning frequency change instruction (step S905).

[0173] As in the case of increasing the packet reaping frequency, each storage controller 111 transmits a response to the management module 110 indicating completion of changing the packet reaping frequency (step S906).

[0174] When the management module 110 receives a change completion response from all the storage controllers 111 (step S911), it ends this processing.

[0175] According to Fig. 12, the packet reaping frequency is changed based on the occurrence status of the arbitration skip number, so that an appropriate arbitration setting value can be maintained during arbitration processing. In particular, in the flow of Fig. 12, arbitration processing is prioritized, so the packet reaping frequency is changed without checking the IO load. Specifically, the management module 110 checks the packet transmission interval and gradually decreases the packet transmission interval so that the original transmission interval becomes short (the transmission frequency is highest), and performs processing to output an instruction to increase the packet reaping frequency to the storage controller 111 accordingly. If the arbitration skip number has increased, as in the flow of Fig. 11, the management module 110 increases the packet transmission interval and instructs the storage controller 111 to decrease the packet reaping frequency to prevent an increase in the amount of data discarded during restoration after arbitration failure in response to network delays.

[0176] Next, examples of screens displayed on the display 301 of the management host 300 during arbitration processing will be described with reference to FIGS. 13, 14A, and 14B.

[0177] FIG. 13 is a diagram showing an example of the arbitration monitoring screen.

[0178] The arbitration monitoring screen displays, for example, the transitions of values ​​such as IOPS, average journal frequency, and average response time acquired in the processes of FIGS.

[0179] The arbitration monitor screen also displays information such as journal frequency settings, network status, IO or journal priorities, and actions.

[0180] The arbitration monitoring screen of FIG. 13 allows the user to check the network quality between the management module 110 and each storage controller 111, the IO load of each storage controller 111, the current arbitration settings, and so on.

[0181] 10, if the skip count exceeds a preset promised value, the management module 110 determines that there is an abnormality in the network status and sends error information to the storage controller 111. In step S710, the storage controller 111 displays an alert on the display 301 of the management host 300, prompting the user to take action.

[0182] At this time, "NG" is displayed in the network status column of the arbitration monitoring screen in Fig. 13, and an action to prompt the user is displayed in the action column. In addition, by pressing "Alert" on the arbitration monitoring screen in Fig. 13, the alert display screen in Fig. 14A is displayed.

[0183] FIG. 14A is a diagram showing an example of an alert display screen.

[0184] The alert display screen displays information such as the alert ID, date and time, error level, error section, error details, etc. This information is included in the error information sent from the management module 110 to all storage controllers 111 in step S708 of FIG.

[0185] The alert display screen of FIG. 14A allows the user to check error information.

[0186] Furthermore, when the user selects an error identified by an alert ID, the alert details display screen of FIG. 14B is displayed.

[0187] FIG. 14B is a diagram showing an example of the alert details display screen.

[0188] The alert details display screen displays information such as the alert ID, date and time, error level, error section, and error details, as well as recommended user actions to resolve the error.

[0189] The alert details view of Figure 14B allows the user to see recommended actions to resolve the error. [Explanation of symbols]

[0190] 100...primary storage system, 101...secondary storage system, 110...management module, 111...storage controller, 200...I / O host, 300...management host, 301...display

Claims

1. An information processing system comprising: a plurality of primary storage systems each having a logical volume; and one or more secondary storage systems to which data of the logical volumes of each of the plurality of primary storage systems is copied; The plurality of primary storage systems a control unit that receives and processes an I / O command that specifies the logical volume; a management unit that transmits an instruction to stop receiving the I / O command to the control unit at a fixed period; The management unit Transmitting test packets to the control unit at a transmission period set by a user; The control unit receiving the test packets transmitted from the management unit and counting the number of received packets; The management unit acquiring the number of received packets from the control unit; Evaluating the transmission period based on the number of received packets; An information processing system that presents the results of the evaluation to the user.

2. 2. The information processing system according to claim 1, The management unit compares the number of transmitted packets of the test packets transmitted by the management unit with the number of received packets, and evaluates the transmission period based on the result of the comparison.

3. 3. The information processing system according to claim 2, The management unit evaluates the transmission cycle to be appropriate if the number of transmitted packets matches the number of received packets.

4. 3. The information processing system according to claim 2, The management unit evaluates the transmission period to be short when the number of received packets is smaller than the number of transmitted packets.

5. 2. The information processing system according to claim 1, The control unit Sending a response to the management unit after receiving the test packet; The management unit measuring a response time from sending the test packet to receiving the response; An information processing system that presents the response time to the user.

6. 2. The information processing system according to claim 1, the management unit transmits a freeze instruction to the control unit at the transmission cycle set by the user; the control unit receives the freeze instruction at a preset packet harvesting frequency, stops I / O reception, and then transmits a completion response to the management unit; The management unit receiving the completion response from the control unit; measuring a response time from transmitting the freeze instruction to the control unit to receiving the completion response from the control unit; An information processing system that changes the packet reaping frequency based on the response time.

7. 7. The information processing system according to claim 6, When the management unit receives the completion responses from the control units of all of the primary storage systems within a predetermined time, the management unit transmits to the control unit serial number information to be set in a journal for determining consistency of copy data to the secondary storage system, If the completion responses are not received from the control units of all the primary storage systems within a predetermined time, the transmission of the serial number information is skipped; An information processing system that changes the packet reaping frequency based on the number of skips.

8. 8. The information processing system according to claim 7, The management unit presents an alert to the user when the number of skips is greater than a predetermined value.

9. 8. The information processing system according to claim 7, An information processing system in which, if the control unit does not receive the serial number information from the management unit within a predetermined time after sending the completion response to the freeze instruction, the control unit counts the number of skips in sending the serial number information and sends the number of skips to the management unit.

10. 7. The information processing system according to claim 6, The management unit acquires IO load information from the control unit, An information processing system that changes the packet reaping frequency based on the IO load information.

11. 1. A control method for an information processing system comprising a plurality of primary storage systems, one or more secondary storage systems that copy data of the plurality of primary storage systems, and one or more hosts that control I / O of the plurality of primary storage systems, The plurality of primary storage systems a control unit for controlling I / O; a management unit that transmits test packets to the control unit at a transmission period set by a user, The control unit receiving the test packets transmitted from the management unit and counting the number of received packets; The management unit acquiring the number of received packets from the control unit; Evaluating the transmission period based on the number of received packets; A control method for an information processing system that presents the results of the evaluation to the user.

Citation Information

Patent Citations

  • Information processing system

    JP2004252686A

  • Computer system for performing remote copy using journal

    JP2010102463A