WO2014109045A1 - ストレージ装置及びデータ管理方法 - Google Patents
ストレージ装置及びデータ管理方法 Download PDFInfo
- Publication number
- WO2014109045A1 WO2014109045A1 PCT/JP2013/050372 JP2013050372W WO2014109045A1 WO 2014109045 A1 WO2014109045 A1 WO 2014109045A1 JP 2013050372 W JP2013050372 W JP 2013050372W WO 2014109045 A1 WO2014109045 A1 WO 2014109045A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- microprocessor
- dump
- processing
- ownership
- mppk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Definitions
- the present invention relates to a storage apparatus and a data management method, and is suitably applied to a storage apparatus and a data management method in which data input / output processing is performed by a plurality of microprocessors.
- Such a large-scale storage apparatus includes a plurality of storage devices (for example, hard disk drives) arranged in an array.
- a RAID (Redundant Arrays of Independent Disks) group is configured by one or a plurality of hard disk drives, and one or a plurality of logical volumes are defined on a physical storage area provided by one RAID group. Then, this logical volume is provided to the host device. The host device can write and read data by sending a predetermined command to the logical volume.
- a microprocessor package (hereinafter referred to as MPPK) in charge of data processing such as data writing to and reading from the logical volume is determined in advance, and control information required for data processing is determined.
- the data is stored in a local memory in the MPPK.
- MPPK microprocessor package
- an MPPK in charge of processing a certain logical volume is referred to as an owner MPPK, and the MPPK is referred to as having the ownership of the logical volume, and will be described below.
- Patent Document 1 discloses a technique for distributing the MPPK processing load by relocating ownership of a certain logical volume to another MPPK according to the resource status or response performance in the storage apparatus. .
- the present invention has been made in consideration of the above points, and intends to propose a storage apparatus and a data management method capable of rearranging MPPK ownership according to IO patterns and IO multiplicity. .
- a plurality of microprocessors a plurality of storage areas formed in a drive group composed of a plurality of physical drives, and one or more of the storage areas among the plurality of storage areas
- a control unit that manages the microprocessor in charge of inputting / outputting data to / from an area as the microprocessor having ownership of the storage area, and the microprocessor is configured to receive data according to the received IO request.
- a dump process for storing data in the storage area in charge of input / output in an external physical drive is executed, and the control unit performs the dump process in accordance with a bias in the load of the dump process in charge of the plurality of microprocessors.
- a storage apparatus is provided, wherein the ownership of the microprocessor is transferred.
- the plurality of microprocessors execute dump processing in response to the received IO request for the plurality of storage areas (logical volumes) formed in the drive group including the plurality of physical drives,
- the ownership of the microprocessor is moved in accordance with the bias in the processing load of dump processing that is handled by a plurality of microprocessors.
- MPPK ownership can be rearranged according to the multiplicity of dump processing, and the processing performance of the entire storage apparatus can be improved.
- the MPPK ownership can be rearranged according to the IO pattern and IO multiplicity, and the processing performance of the entire storage apparatus can be improved.
- FIG. 2 is a block diagram showing a functional configuration of the storage apparatus according to the embodiment.
- FIG. It is a chart which shows the contents of the LDEV management table concerning the embodiment. It is a chart which shows the contents of the command processing management table concerning the embodiment. It is a chart which shows the contents of the MPPK management table concerning the embodiment. It is a chart which shows the contents of the copy management table concerning the embodiment. It is a chart which shows the contents of the system setting table concerning the embodiment. It is a flowchart which shows the IO pattern determination process concerning the embodiment.
- the dump process is a process of sucking up data in a secondary volume that is in a copy pair relationship with the primary volume and writing it to a tape drive of the tape device 500 or the like.
- this dump processing IO compared to a normal transaction IO, a large amount of data is transferred at a time, so that the processing load of the MPPK having the ownership of the volume to be dumped tends to increase.
- this dump process is executed in a multiplex manner for a plurality of random secondary volumes. Therefore, when the dump processing is concentrated on some MPPKs, there is a possibility that the performance of the normal IO other than the dump job is deteriorated.
- the ownership of a certain logical volume is relocated to another MPPK in accordance with the resource status in the storage apparatus, response performance, etc., and the MPPK processing load is distributed.
- the ownership arrangement cannot be distributed in advance on the storage apparatus 100 side, and some MPPKs cannot be distributed. Copy processing accompanying dump processing is concentrated, the processor operation rate increases, and normal IO processing may be affected.
- the IO pattern for each volume is observed to determine whether the IO pattern is normal transaction processing or dump processing, and when the ownership of dump processing is concentrated on some MPPKs. Therefore, it is possible to improve the performance of the entire storage apparatus by moving the ownership to another MPPK and appropriately rearranging the ownership.
- the computer system 1 includes a storage device 100, a host device 200, and a management terminal 300.
- the storage apparatus 100 includes a front-end package (denoted as FE package in the figure) 160, an MPPK (denoted as MPPK in the figure) 110, a memory package 120, a back-end package (denoted as BE package in the figure) 130, and a hard disk drive (in the figure). HDD (denoted as Hard Disk Drive) 140. These internal devices are connected to each other via a network 180.
- the storage apparatus 100 may include a plurality of front end packages 160, MPPKs 110, memory packages 120, back end packages 130, and hard disk drives 140, respectively.
- the front end package 160 includes a port 161 and a memory 162.
- the port 161 is connected to a port (not shown) of the host device 200 and accepts a write request and a read request from the host device 200 via the port of the host device 200.
- the port of the host device 200 and the port 161 may be directly connected or indirectly connected using a switch or the like.
- the memory 162 temporarily stores information on MPPK 110 (owner MPPK) that processes read requests and write requests received from the host apparatus 200, data transferred from the host apparatus 200, and data transferred to the host apparatus 200.
- the front end package 160 may include one or more ports 161 and a memory 162.
- the MPPK 110 includes a processor 111, a local memory 112, and a maintenance port 113. These internal devices are connected to each other via the network 114.
- One MPPK 110 may include a plurality of processors 111, a local memory 112, and a maintenance port 113.
- the processor 111 executes a write process, a read process, and the like from the host device 200 by reading and executing a program stored in the program unit 122 of the memory package 120.
- the local memory 112 stores temporary data of programs used by the processor 111, and stores various data such as control information, business data, and programs stored in the hard disk drive 140 and the memory package 120. . Note that the local memory 112 is closer to the processor 111 than the memory package 120 and the hard disk drive 140, so that the processor 111 can access the local memory 112 at high speed.
- the port 113 has a function of connecting to the management terminal 300 via the network 180 and transmitting operation information of the MPPK 110 to the management terminal 300 and accepting an operation from the management terminal 300.
- the memory package 120 includes a control information unit 121, a program unit 122, a cache unit 123, and the like.
- the program unit 122 stores a program for realizing processing executed by the storage apparatus 100.
- the control information unit 121 stores control information used by the program stored in the program unit 122.
- the program stored in the memory package 120 and control information used by the program are read from the memory package 120 by the processor 111 of the MPPK 110 and executed.
- the data stored in the hard disk drive 140 is temporarily stored in the cache unit 123.
- the memory package 120 is a storage medium that is faster than the hard disk drive 140. For this reason, among the data stored in the hard disk drive 140, by storing frequently used data or the like in the cache unit 123, compared to the case where all the data is always stored in the hard disk drive 140, the host device 200 The processing for read requests and write requests can be speeded up. Note that the memory package 120 may be duplicated in order to avoid data loss when a failure occurs.
- the backend package 130 includes a port 131 and a memory 123.
- the port 131 is connected to the hard disk drive 140 via the network 183, and writes write data from the host device 200 to the hard disk drive 140 or reads data from the hard disk drive 140 in response to a read request from the host device 200. Or Data transferred to the hard disk drive 140 and data read from the hard disk drive 140 are temporarily stored in the memory 132.
- the back end package 130 may include one or more ports 131 and a memory 132.
- the hard disk drive 140 is a storage medium for storing various data used for software executed by the host device 200.
- the hard disk drive 140 is composed of an expensive hard disk drive such as a SCSI (Small Computer System Interface) disk or a plurality of hard disk drives (HDD: Hard Disk Drive) composed of an inexpensive hard disk drive such as a SATA (Serial AT Attachment) disk. May be. Further, it may be a storage medium other than a hard disk drive, for example, a flash memory, an SSD (Solid State Drive), a DVD, or the like.
- one or more hard disk drives 140 may be grouped in units called parity groups to form a highly reliable group such as RAID (Redundant Arrays of Independent Disks). Further, a parity group composed of one or more hard disk drives 140 may be divided into one or a plurality of logical areas, and each area may be handled as a logical storage device. This logical storage device is the above-described logical volume, and will be described simply as volume 150 below.
- the host device 200 is a computer device provided with information processing resources such as a CPU (Central Processing Unit) and a memory, and is composed of, for example, a personal computer, a workstation, or a main frame.
- the CPU functions as an arithmetic processing device, and controls the operation of the host device 200 according to a program, arithmetic parameters, etc. stored in the memory.
- the host device 200 includes an information input device such as a keyboard, a switch, a pointing device, and a microphone, and an information output device such as a monitor display and a speaker.
- the host device 200 is connected to the storage device 100 via the network 400.
- the network 400 includes, for example, a SAN (Storage Area Network) or the like, and communication between apparatuses is performed according to, for example, a fiber channel protocol.
- the network 400 may be, for example, a LAN (Local Area Network), the Internet, a public line, or a dedicated line.
- a TCP / IP Transmission Control Protocol / Internet Protocol
- the host device 200 is a device that performs a predetermined business process by executing software such as a database management system. A part or all of the data used for business processing executed by the host device 200 is stored in the storage device 100. The host device 200 transmits a read request or a write request to the storage device 100 via the network 400 in order to refer to or update data stored in the storage device 100.
- the management terminal 300 is a computer device provided with information processing resources such as a CPU (Central Processing Unit) and a memory, and is composed of, for example, a personal computer.
- the CPU functions as an arithmetic processing unit, and controls the operation of the management terminal 300 according to programs, arithmetic parameters, and the like stored in the memory.
- the management terminal 300 includes an information input device such as a keyboard, a switch, a pointing device, and a microphone, and an information output device such as a monitor display and a speaker.
- the management terminal 300 is connected to the MPPK 110 of the storage apparatus 100 via the network 180 of the storage apparatus 100.
- the owner MPPK 110 that is in charge of processing for each volume 150 is determined in advance. In this way, by determining the owner MPPK 110 for each volume 150, it is possible to limit the number of MPPKs 110 that access control information necessary for the processing of the volume 150 to one. Therefore, control information necessary for processing can be stored in the local memory 112 of the MPPK 110, and the processing of the volume 150 can be speeded up.
- control information necessary for processing can be stored in the local memory 112 of the MPPK 110, and the processing of the volume 150 can be speeded up.
- various types of control information of the storage apparatus 100 that sets the ownership for the volume 150 will be described in detail.
- the control information section 121 of the memory package 120 of the storage apparatus 100 stores an LDEV management table 1211, a command processing management table 1212, an MPPK management table 1213, a copy management table, a system setting table 1215, and the like.
- the program unit 122 stores an automatic migration setting processing program 1221, a pair processing program 1222, an IO processing program 1223, a dump processing program 1224, a monitor cycle processing program 1225, an automatic migration processing program 1226, and the like.
- the automatic transfer setting processing program 1221 registers, in response to a request from the management terminal 300, on / off setting of automatic ownership transfer indicating whether the ownership is automatically moved in the system setting table 1215.
- the pair processing program 1222 is a program for setting a volume pair in response to an IO command from the host device 200, a pair operation command from the management terminal 300, or the like.
- the pair processing program 1222 registers the contents of the pair setting in the copy management table.
- the IO processing program 1223 is a program that executes normal transaction processing and dump processing in response to an IO command from the host device 200.
- the IO processing program 1223 registers the command processing result in the command processing management table 1212 and the MPPK management table 1213.
- the dump processing program 1224 is activated by the IO processing program 1223 and executes dump processing of the flash copy secondary volume and snapshot volume.
- the dump process is a process of sucking up the primary volume data and writing the sucked data to a tape drive or the like.
- the dump processing program 1224 registers the start of dump processing in the LDEV management table 1211.
- the dump processing program 1224 activates the automatic transition processing program 1226 and moves the ownership of the MPPK 110 when the dump processing is biased toward some MPPK 110.
- monitor cycle program 1225 periodically monitors whether the dump processing load of the MPPK 110 is biased, and when it is biased, activates the automatic transition processing program 1126 to move the ownership of the MPPK 110.
- the automatic transition processing program 1226 is started by the dump processing program 11224 or the monitor cycle processing program 1225, specifies the ownership of the MPPK 110 to be moved, and the ownership is assigned to the other so that the dump processing load is not biased. To MPPK110.
- the LDEV management table 1211 is a table for managing the ownership, pair status, dump processing status, etc. of the MPPK 110 for each volume 150. As shown in FIG. 4, the LDEV management table 1211 includes an LDEV number (LDEV #) column 1211A, an automatic migration column 1211B, an MPPK number (MPPK #) column 1211C, a pair setting column 1211D, a dump processing status column 1211E, and It consists of a start time column 1211F for dump processing.
- LDEV # LDEV number
- MPPK # MPPK #
- a number for identifying a volume is stored in the LDEV number (LDEV #) column 1211A.
- the automatic transfer column 1211B stores information indicating whether the ownership of the volume is automatically transferred. For example, “ON” is stored when automatic transfer of ownership is permitted by the automatic transfer setting processing program 1221, and “OFF” is stored when automatic transfer of ownership is not permitted. .
- the MPPK number (MPPK #) column 1211C stores a number for identifying the MPPK 110 in charge of processing each volume.
- the pair setting field 1211D stores information on volume pair settings. For example, in the case of a secondary volume of a flash volume, information “FC secondary” is stored.
- information indicating whether or not the corresponding volume 150 is being processed in the dump process is stored in the dump process in progress status column 1211E. For example, “processing” is stored when the dump process is in progress, and “not yet” is stored when the dump process is not executed or when a process other than the dump process is executed.
- the dump process start time column 1211F stores the start time of the dump process when the dump process is being performed.
- the command processing management table 121 is a table for managing the contents of past command processing for each volume 150. As shown in FIG. 5, the command processing management table 121 includes an LDEV number (LDEV #) column 1212A, an immediately preceding command type column 1212B, an immediately preceding process completion time column 1212C, an immediately preceding command type column 1212D, and an immediately preceding two. Process completion time column 1212D.
- LDEV # LDEV number
- LDEV number column 1212A a number for identifying a volume is stored.
- the immediately preceding command type column 1212B stores information on the command type executed for the volume immediately before. For example, commands such as “RDTRK” and “WRD” are stored.
- the previous process completion time column 1212C stores the completion time of command processing. In FIG. 5, the information of the last two commands is stored. However, as will be described later, whether or not the dump process is performed is determined based on whether or not the “RDTRK” command is continuously processed.
- 121 stores command information of a plurality of previous commands.
- the MPPK management table 1213 is a table for managing the number of volumes being dumped for each MPPK 110, the average operation rate, and the like. As shown in FIG. 6, the MPPK management table 1213 includes an MPPK number (MPPK #) column 1213A, an automatic migration column 1213B, a volume number column 1213C for dump processing, a volume number column 1213D for transaction processing, and a volume number column for other processing. 1213E, MP operation rate column 1213F, local copy column 1213G, average response column 1213H, movement restriction column 1213I, and the like.
- the MPPK number column 1213A a number for identifying the MPPK 110 is stored.
- the automatic transfer column 1213B stores information indicating whether the ownership of the volume handled by the MPPK 110 is automatically transferred.
- the number of volumes being dumped and handled by the MPPK 110 is stored in the volume number column 1213C for dump processing.
- the transaction processing volume number column 1213D stores the number of volumes being processed by the MPPK 110.
- the other processing volume number column 1213E stores the number of other processing volumes handled by the MPPK 110. The number of volumes that have not been processed or volumes that do not store data may also be counted as the number of other volumes being processed.
- the MP operation rate column 1213F stores information on the operation rate of the MPPK110.
- the local copy column 1213G stores information indicating what copy pair exists in the volume handled by the MPPK 110.
- the average response column 1213H stores information on the average response of the MPPK110.
- the movement restriction column 1213I stores information on movement restrictions on ownership of the MPPK 110.
- the copy management table 1214 is a table for managing volume copy pair information. As shown in FIG. 7, the copy management table 1214 includes a pair number column 1214A, a volume number (VOL #) column 1214B, a partner volume number (VOL #) column 1214C, a pair start position column 1214D, and a pair end list. 1214E and the last RDTRK position column 1214E.
- the pair number column 1214A information for identifying a pair is stored.
- the volume number (VOL #) column 1214B stores a number for identifying a volume.
- the other party volume number (VOL #) column 1214C stores a number for identifying the other party volume of the pair.
- the pair start position column 1214D, the pair end list 1214E, and the last RDTRK position column 1214E store pair range and pair RDTRK position setting information, respectively.
- the system setting table 1215 is a table for managing priority information when the MPPK 110 that is the destination of ownership transfer is specified. As shown in FIG. 8, the system setting table 1215 includes a priority column (#) 1215A, a movement reference priority column 1215B, an additional parameter column 1215C, and a supplement column 1215D.
- the movement reference priority column 1215B stores movement reference information for transferring ownership. For example, when transferring ownership, information is stored regarding whether priority is given to the number of volumes of the dump job or priority is given to the MP operation rate or the average response.
- the parameter to be added to each movement reference is stored in the additional parameter column 1215C.
- the additional parameter of the movement reference is, for example, information such as moving the ownership when the MP operation rate is a predetermined value or more.
- the supplementary column 1215D stores information on how to move the ownership for each movement reference.
- the IO pattern from the host device 200 includes an IO pattern for normal transaction processing and an IO pattern for dump processing. And so on. Normal transaction processing is in units of records, but dump processing sucks up data in units of tracks. Therefore, dump processing IO has a data transfer amount that is several tens of times that of normal transaction processing. When concentrated on some MPPKs 110, the response performance deteriorates.
- the IO from the host device 200 is dump processing. If dump processing is concentrated on some MPPKs 110, the ownership of the MPPK 110 is moved and the MPPK 110 The occupancy rate is even. Whether or not the IO from the host device 200 is dump processing can be determined by whether or not the RDTRK command used at the time of dump processing is continuously received.
- the RDTRK command is a request command for reading all tracks. If it is not an RDTRK command, or if it is not a continuous RDTRK command, it can be determined that the transaction processing is normal. Although it may be considered that a certain dump processing command is misjudged as a normal transaction processing command, the dump processing RDTRK command is issued continuously, so that the misjudgment can be corrected immediately in the subsequent judgment. it can.
- the IO processing program 1223 checks the received command code (S101) and determines whether the command code is RDTRK (S102).
- step S102 If it is determined in step S102 that the command code is RDTRK, the IO processing program 1223 checks the data length included in the command code (S103), and whether the data length is valid. That is, it is determined whether there is a logical contradiction in the data length.
- the IO processing program 1223 determines whether the volume targeted by the command code is a secondary volume (S105). Specifically, the IO processing program 1223 refers to the LDEV management table 1211 to determine whether the corresponding volume is a secondary volume such as a flash copy secondary volume (FC secondary) (S105).
- a secondary volume such as a flash copy secondary volume (FC secondary) (S105).
- step S105 If it is determined in step S105 that the target volume is not a secondary volume, the IO processing program 1223 executes a normal RDTRK process because it is not a dump processing command (S112), and a table for non-dump processing Update processing is executed (S113). The table update process during the non-dump process in step S113 will be described in detail later. On the other hand, if the target volume is a secondary volume in step S105, the IO processing program 1223 performs the determination process in step S106.
- the IO processing program 1223 refers to the command processing management table 1212 and determines whether the read command immediately before the corresponding volume is an RDTRK command and is within 100 ms after receiving the previous read command (S106). Based on the determination in step S106, it is determined whether the RDTRK command is continuously transmitted to the volume to be command-processed.
- the RDTRK command at the time of dump processing is normally issued at intervals of several tens of ms for one volume. Therefore, it is possible to determine whether or not the IO for the volume is the dump processing IO by the determination in step S106.
- step S106 determines whether the track to be read is the last track (S107). In the dump processing, RDTRK commands are issued sequentially from the first cylinder to the last cylinder of the target secondary volume. Therefore, when the RDTRK command is issued to the last cylinder, it can be determined that the dump process has been completed.
- step S107 If it is determined in step S107 that the track to be read is the final track, the IO processing program 1223 determines that the dump process has been completed, and executes normal RDTRK process (S112). A table update process during processing is executed (S113). On the other hand, if it is determined in step S107 that the read target track is not the last track, the IO processing program 1223 updates the table at the time of dump processing (S108) and starts the automatic migration processing program 1226. Then, the ownership relocation process is executed (S109). The table update process during the dump process in step S108 and the ownership relocation process in step S109 will be described in detail later.
- the IO processing program 1223 executes normal RDTRK processing, that is, processing for reading data from the primary volume (S110), and updates the average response value for each MPPK 110 (S111).
- step S108 the table update process during the dump process in step S108 described above will be described.
- the LDEV management table 1211, the command processing management table 1212, and the MPPK management table 1213 are updated.
- the details of the table update process during the dump process will be described below with reference to FIG.
- the IO processing program 1223 refers to the processing status column 1211E of the dump processing of the target volume entry in the LDEV management table 1211 (S202) to determine whether the status is already in the dump processing status. Determine (S202).
- step S201 If it is determined in step S201 that the status is already in the dump process, the IO processing program 1223 does not need the table update process during the dump process, and proceeds to the process of step S207. On the other hand, if it is determined in step S201 that the status is not in the dump processing status, the IO processing program 1223 updates the processing status in the LDEV management table 1211 and registers the dump processing start time ( S203). Specifically, the IO processing program 1223 stores information indicating that processing is in progress in the processing status column 1211E of the dump processing in the LDEV management table 1211, and stores the start time of dump processing in the start time column 1211F of dump processing.
- the IO processing program 1223 refers to the MPPK management table 1213 (S204) and adds 1 to the number of dump processes of the MPPK entry in charge of the target volume (S205). Specifically, the IO processing program 1223 adds 1 to the volume number column 1213C of the dump processing of the entry of the target MPPK in the MPPK management table 1213.
- the IO processing program 1223 updates the MP operation rate and copy pair status of the target MPPK in the MPPK management table 1213 (S206).
- the IO processing program 1223 updates the RDTRK position column 1214F in the copy management table 1214 again (S207), and updates the command type and time in the command processing management table 1212 (S208). Specifically, the IO processing program 1223 stores the command type in the command type column 1212B immediately before the command processing management table 1212, and stores the command processing completion time in the immediately preceding process completion time column 1212C.
- the IO processing program 1223 refers to the processing status column 1211E of the LDEV management table 1211 (S301), and determines whether the status is already in the dump processing (S302).
- step S301 If it is determined in step S301 that the status is already in the dump process, the IO processing program 1223 executes the processes in and after step S303. On the other hand, if it is determined in step S301 that the status is not in the dump process, the IO processing program 1223 executes the process of step S306.
- step S303 the IO processing program 1223 sets the processing status in the LDEV management table 1211 to “unprocessed” and deletes the dump processing start time (S303). Specifically, the I / O processing program 1223 stores information indicating “no” in the in-processing status column 1211E of the dump processing in the LDEV management table 1211, and deletes the start time in the start time column 1211F of the dump processing.
- the IO processing program 1223 refers to the MPPK management table 1213 (S303), and subtracts 1 from the dump processing number of the MPPK entry in charge of the target volume (S304). Specifically, the IO processing program 1223 subtracts 1 from the volume number column 1213C of the dump process of the target MPPK entry in the MPPK management table 1213.
- the IO processing program 1223 updates the MP operation rate of the target MPPK and the average response value for each MPPK in the MPPK management table 1213 (S306).
- Table update processing at the time of copy pair creation or deletion shown below is executed by the pair processing program 1222.
- the pair processing program 1222 updates the LDEV management table 1211 of the primary volume (S403). Specifically, the pair processing program 1222 stores information indicating that there is a copy pair in the pair setting column 1211D of the primary volume entry of the LDEV management table 1211. Further, information indicating what copy pair exists in the volume may be stored.
- the pair processing program 1222 updates the LDEV management table 1211 of the secondary volume (S404). Specifically, the pair processing program 1222 stores information indicating a copy pair in the pair setting column 1211D of the secondary volume entry of the LDEV management table 1211. Further, information indicating what copy pair the volume is in may be stored.
- the pair processing program 1222 updates the copy management table 1214 (S405). Specifically, the pair processing program 1222 stores the volume number of the primary volume in the volume number column 1214B of the copy management table 1214, stores the volume number of the secondary volume in the volume number column 1214C on the other side, and sets the head position of the pair , Information on the first and last RDTRK positions of the pair is stored.
- the pair processing program 1222 updates the LDEV management table 1211 of the primary volume (S413). Specifically, the pair processing program 1222 stores information indicating that there is no copy pair in the pair setting column 1211D of the primary volume entry of the LDEV management table 1211.
- the pair processing program 1222 updates the LDEV management table 1211 of the secondary volume (S414). Specifically, the pair processing program 1222 stores information indicating that there is no copy pair in the pair setting column 1211D of the secondary volume entry of the LDEV management table 1211.
- the pair processing program 1222 updates the copy management table 1214 (S415). Specifically, the pair processing program 1222 deletes the information of the corresponding copy pair in the copy management table 1214.
- the automatic migration setting processing program 1221 reflects various settings relating to the automatic migration of MPPK input via the management screen of the management terminal 300 in the LDEV management table 1211, the MPPK management table 1213, and the system setting table 1215.
- the LDEV management screen 351 is a management screen for setting automatic migration of the MPPK 110 in charge of each volume. As shown in FIG. 13A, the LDEV management screen 351 includes an LDEV number field 3511, an MPPK number field 3512, and an automatic migration field 3513.
- the volume number is displayed.
- the MPPK number field 3512 displays the MPPK 110 number.
- the automatic migration field 3513 a check box for selecting whether or not to set automatic migration is displayed. The system administrator checks the check box of the automatic migration field 3513 when setting automatic migration of the MPPK 110 in charge of each volume. In this case, “ON” is displayed in the automatic transition field 3513. If the MPPK 110 that handles each volume is not automatically migrated, the check box of the automatic migration field 3513 is not checked. In this case, “OFF” is displayed in the automatic transition field 3513.
- the automatic migration setting processing program 1221 changes the value of the automatic migration column 1211B of the LDEV management table 1211 when the setting of the automatic migration field 3513 of the LDEV management screen 351 is changed by an administrator input.
- the MPPK management screen 352 is a management screen for setting automatic transfer of ownership of each MPPK110. As shown in FIG. 13B, the MPPK management screen 352 includes an MPPK number field 3521, an automatic transition field 3522, and a movement restriction field 3523.
- the MPPK number field 3521 displays the MPPK number.
- a check box for selecting whether or not to set automatic transition is displayed.
- the system administrator checks the check box of the automatic migration field 3522 when setting the automatic migration of the MPPK 110. In this case, “ON” is displayed in the automatic transition field 3522 in this case. If the MPPK 110 in charge of each volume is not automatically migrated, the check box of the automatic migration field 3522 is not checked. In this case, “OFF” is displayed in the automatic transition field 3522.
- the movement restriction field 3523 movement restriction setting information is displayed.
- the movement restriction of the MPPK 110 is information indicating whether the movement of ownership is restricted for each MPPK. For example, with respect to a certain MPPK 110, it is possible to restrict the transfer of ownership to a volume targeted for dump processing, or to set ownership over a volume targeted for dump processing. For example, from the movement restriction field 3523, the system administrator sets “None” when there is no movement restriction, “Dump prohibited” when the dump process is prohibited, and “Dump priority” when the dump process is given priority. ”Is selected.
- the automatic migration setting processing program 1221 changes the value of the automatic migration column 1213B of the MPPK management table 1213 when the setting of the automatic migration field 3522 of the MPPK management screen 352 is changed by an administrator input. Further, when the setting of the movement restriction field 3523 is changed, the value of the movement restriction column 1213I of the MPPK management table 1213 is changed.
- the system setting screen 353 is a management screen for setting priority order information when transferring ownership. As shown in FIG. 13C, the system setting screen 353 includes a priority field 3531 and a setting content field 3532. In the priority field 3531, a number indicating the priority is displayed, and a smaller number indicates a higher priority. Further, in the setting content field 3532, setting information for the movement reference when moving the ownership is displayed. For example, when transferring ownership, if the number of dump jobs, MP availability, or average response is used as a reference, the system administrator sets the number of dump jobs from the setting content field 3532 as the first priority. Then, the MP operating rate is set to the second priority, and the average response is set to the third priority.
- the automatic migration setting processing program 1221 changes the value of the priority level column 1215B of the movement reference in the system setting table 1215 when the priority order information on the system setting screen 353 is changed by an administrator input.
- the table update processing set via the management terminal 300 has been described above.
- the ownership relocation process may be activated in synchronization with the IO process shown in FIG. 9 or periodically activated. Ownership relocation processing is periodically started by the monitor cycle processing program 1225.
- FIG. 14 illustrates the startup process of the ownership relocation process in the cyclic process.
- ownership relocation processing is started at intervals of 1 second.
- the monitor cycle processing program 1225 stops the ownership relocation processing activation processing for one second (S501).
- step S501 the start process of the ownership relocation process is stopped for 1 second, so that the monitoring cycle is set to 1 second.
- the monitor cycle processing program 1225 activates various monitoring processes (S502).
- the various monitoring processes in step S502 are, for example, an MPPK operation rate and an average response value calculation process.
- the monitor cycle processing program 1225 refers to the MPPK management table 1213 (S503) and determines whether there is an MPPK being dumped (S504). Specifically, the monitor cycle processing program 1225 refers to the dump processing volume number column 1213C of the MPPK management table 1213, and when the number of dump processing volumes is 1 or more, the MPPK executing the dump processing determines It can be judged whether there is.
- step S504 If it is determined in step S504 that there is an MPPK being dumped, the monitor cycle processing program 1225 activates the automatic transition processing program 1226 to execute the ownership relocation processing (S505). On the other hand, if it is determined in step S504 that there is no MPPK being dumped, the processing from step S501 is repeated.
- the relocation of ownership of MPPK 110 is performed based on the number of dump job volumes, the MP operating rate of MPPK 110, or the average response of MPPK.
- ownership transfer can be suppressed in consideration of the number of transaction volumes and whether or not dump processing is restricted.
- the ownership transfer is repeated until the number of dump job volumes of each MPPK 110 is below the average.
- the transfer is started first from the MPPK 110 having the largest number of dump job volumes.
- the number of dump job volumes is the most important factor for determining the multiplicity of IOs.
- the MP operating rate of MPPK 110 and the MP operating rate of MPPK 110 described below are additional factors when moving the ownership of MPPK. It is.
- the transfer of ownership is suppressed.
- the MPPK 110 that is the transfer destination of the ownership is prohibited from executing the dump process
- the ownership of the volume that is the target of the dump process is prohibited from being transferred to the MPPK 110.
- the transfer of ownership of the MPPK 110 is prohibited.
- FIG. 15 shows a case where ownership is rearranged based on the number of dump job volumes and the MP operating rate.
- the number of dump jobs of MPPK # 0 is 4
- the MP operation rate is 80%
- the number of MPPK # 1 dump jobs is 2
- the MP operation rate is 50%
- MPPK The number of dump jobs for # 2 is 1
- the MP operation rate is 30%
- the number of dump jobs for MPPK # 3 is 0, and the MP operation rate is 0%.
- the ownership of MPPK # 0 with the largest number of dump job volumes is transferred. That is, the ownership of one dump job is transferred from MPPK # 1 where the number of dump jobs is four to MPPK # 3 where the number of dump jobs is zero.
- the number of MPPK # 0 dump jobs is 3, the MP operation rate is 60%, the MPPK # 1 dump job number is 2, the MP operation rate is 50%, and the MPPK # 2 dump job number is 1.
- the MP operation rate was 30%, the number of MPPK # 3 dump jobs was 1, and the MP operation rate was 20%.
- the number of dump jobs of MPPK # 0 is still larger than that of other MPPKs, so the ownership of the dump job of MPPK # 0 is moved to another MPPK.
- the number of dump jobs is the same for both MPPK # 2 and MPPK # 3, it is determined which MPPK is the movement destination based on the MP operation rate.
- the MP operating rate of MPPK # 2 is 30%, and the MP operating rate of MPPK # 3 is 20%. Therefore, MPPK # 3 having a low MP operating rate is set as the ownership transfer destination.
- the number of MPPK # 0 dump jobs is 2
- MP operation rate is 40%
- MPPK # 1 dump job number is 2
- MP operation rate is 50%
- MPPK # 2 dump job number is 1.
- the MP operation rate is 30%
- the number of MPPK # 3 dump jobs is 2
- the MP operation rate is 40%. It can be seen that the number of dump jobs and the MP operation rate of each MPPK 110 are averaged.
- FIG. 16 shows a case where ownership is rearranged based on the number of dump job volumes and the average response.
- the number of dump jobs of MPPK # 0 is 4
- the average response is 100us
- the number of dump jobs of MPPK # 1 is 2
- the average response is 30us
- the dump of MPPK # 2 The number of jobs is 1, the average response is 60 us
- the number of dump jobs of MPPK # 3 is 0, and the average response is 0 us.
- the ownership of MPPK # 0 with the largest number of dump job volumes is transferred. That is, the ownership of one dump job is transferred from MPPK # 1 where the number of dump jobs is four to MPPK # 3 where the number of dump jobs is zero.
- the number of dump jobs for MPPK # 0 is 3, the average response is 80us, the number of dump jobs for MPPK # 1 is 2, the average response is 30us, the number of dump jobs for MPPK # 2 is 1, and the average response is The number of dump jobs of 60 us and MPPK # 3 is 1, and the average response is 40 us.
- the number of dump jobs of MPPK # 0 is still larger than that of other MPPKs, so the ownership of the dump job of MPPK # 0 is moved to another MPPK.
- the average response of MPPK # 1 is 30 us
- the average response of MPPK # 2 is 60 us
- the average response of MPPK # 3 is 40 us, so MPPK # 1 with the best average response is the destination of ownership transfer. .
- the number of dump jobs for MPPK # 0 is 2
- the average response is 60us
- the number of dump jobs for MPPK # 1 is 3
- the average response is 50us
- the number of dump jobs for MPPK # 2 is 1
- the average response is The number of dump jobs of 60 us and MPPK # 3 is 1, and the average response is 40 us, which shows that the average responses of each MPPK 110 are averaged.
- the dump process when executed on the volume in charge of the MPPK 110 for which the execution of the dump process is prohibited, the dump process may be moved to another MPPK 110. Further, as described above, when the ownership of the MPPK 110 is transferred, it is possible to prevent the ownership from being transferred to the MPPK 110 that is prohibited from performing the dump process.
- the MPPK 110 that preferentially executes dump processing may be the destination of ownership of dump processing.
- the automatic migration processing program 1226 first refers to the MPPK management table 1213 (S601), adds the number of dump jobs of all the MPPKs 110, and calculates the total number of dump jobs (S602). . Further, the automatic migration processing program 1226 calculates the total number of MPPKs (S603). In step S603, if there is an MPPK that is set to prohibit dumping, it is subtracted from the total number of MPPKs.
- the automatic migration processing program 1226 refers to the system setting table 1215 and checks the reference option when moving the MPPK (S605).
- the reference option in step S605 is an additional reference such as an MP operation rate or an average response that becomes a reference after the ownership is transferred by the number of dump processing volumes.
- the automatic migration processing program 1226 determines whether the number of dump jobs of each MPPK 110 is average (S606). Specifically, the automatic migration processing program 1226 compares the value obtained by dividing the total number of MPPKs calculated in step S603 by the total number of dump jobs calculated in step S602 with the number of dump jobs of each MPPK 110, and determines the number of dump jobs. It is determined whether there is a bias.
- step S606 When it is determined in step S606 that the number of dump jobs is not average, the automatic migration processing program 1226 executes the processing from step S609. On the other hand, if it is determined in step S606 that the number of dump jobs is average, the processes in and after step S607 are executed.
- step S607 the automatic migration processing program 1226 determines whether there is a dump-prohibited MPPK 110 (S607). Specifically, the automatic migration processing program 1226 refers to the movement restriction column 1213I of the MPPK management table 1213 and determines whether a movement restriction that prohibits execution of the dump job is set in each MPPK 110.
- step S607 if it is determined that there is no dump prohibited MPPK 110, the rearrangement process is terminated. On the other hand, if it is determined in step S607 that there is an MPPK 110 whose dump is prohibited, the MPPK 110 whose execution of the dump process is prohibited is set as the MPPK of the ownership transfer source, and the ownership of the dump process is assigned to another MPPK. Move (S608) to end the process.
- step S609 the automatic migration processing program 1226 selects the MPPK 110 having the maximum number of dump jobs (S609). Then, the automatic migration processing program 1226 selects the MPPK 110 having the highest MP operation rate (S610). In step S609, when there are a plurality of MPPKs 110 having the same maximum number of dump jobs, the process of step S610 may be performed. Further, as described above, when the reference option is the average response, the MPPK 110 having the best average response may be selected in step S610.
- the automatic migration processing program 1226 refers to the LDEV management table 1211 (S611), and selects the dump job volume with the oldest dump processing start time (S612). Then, the automatic migration process program 1226 determines whether the dump process of the volume selected in step S612 is immediately before the end (S613).
- step S613 if it is determined that the dump processing of the selected volume is immediately before the end, it is determined whether the dump processing of all the volumes is immediately before the end (S614). If it is determined in step S614 that the dump processing for all volumes is immediately before the end, the automatic migration processing program 1226 ends the ownership relocation processing. On the other hand, if it is determined that the dump processing of all the volumes is not immediately before the end, the process returns to step S612, and the volume of the dump job with the oldest start time is selected.
- whether or not the dump process is just before ending can be determined by referring to the copy management table 1214 of FIG. For example, it may be determined whether the value of the last RDTRK location list 1214F in the copy management table 1214 satisfies the following formula.
- the MPPK of the migration source when the ownership is rearranged is determined by the processing of steps S609 to S613 described above.
- a destination MPPK for relocating ownership is determined by the process described below.
- the automatic migration processing program 1226 selects the MPPK having the minimum number of dump jobs among the MPPKs in charge of dump processing (S615). Then, the automatic migration processing program 1226 determines whether there are MPPKs having the same number of minimum dump jobs (S616).
- step S616 If it is determined in step S616 that the same number of MPPKs exists as the minimum number of dump jobs, the automatic migration processing program 1226 selects the MPPK having the lowest MP operation rate or average response from the MPPKs 110 having the minimum number of dump jobs. (S617). If it is determined in step S616 that there is no MPPK having the same number of minimum dump jobs, the automatic migration processing program 1226 executes the processing from step S618.
- the automatic migration processing program 1226 executes ownership transfer processing using the MPPK 110 selected in steps S609 and S610 as the movement source and the MPPK 110 selected in steps S615 and S617 as the movement destination (S618).
- the automatic migration process program 1226 updates the MPPK management table 1213 after executing the ownership transfer process in step S618 (S619). Specifically, the automatic migration processing program 1226 changes the value of the volume number column 1213C for dump processing in the MPPK management table 1213.
- the processing load of the dump processing can be equalized among the MPPKs 110.
- a plurality of MPPKs 110 determines whether or not an IO request received for a logical volume is dump processing IO, and performs dump processing.
- the processing load bias of the dump processing handled by each microprocessor MPPK110
- the microprocessor having the high processing load of the dump processing is used as the movement source, and the microprocessor having the low processing load of the dump processing is calculated.
- the ownership transfer process is executed with the processor as the transfer destination. As a result, the ownership of the microprocessor can be rearranged according to the multiplicity of dump processing, and the processing performance of the entire storage apparatus can be improved.
- Storage device 110 MPPK DESCRIPTION OF SYMBOLS 120 Memory package 140 Hard disk drive 150 Logical volume 1221 Automatic migration setting processing program 1222 Pair processing program 1223 IO processing program 1224 Dump processing program 1225 Monitor cycle processing program 1226 Automatic migration processing program 200 Host device 300 Management terminal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】IOパターンやIO多重度に応じてMPPKのオーナ権を再配置する。 【解決手段】ストレージ装置は、複数のマイクロプロセッサと、複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域と、前記複数の記憶領域のうち1以上の前記記憶領域に対するデータの入出力を担当する前記マイクロプロセッサを、前記記憶領域のオーナ権を有する前記マイクロプロセッサとして管理する制御部と、を備え、前記マイクロプロセッサは、受信したIO要求に応じて、データの入出力を担当する前記記憶領域のデータを外部の物理ドライブに記憶させるダンプ処理を実行し、前記制御部は、前記複数のマイクロプロセッサが担当する前記ダンプ処理の処理負荷の偏りに応じて、前記マイクロプロセッサの前記オーナ権を移動する。
Description
本発明は、ストレージ装置及びデータ管理方法に関し、複数のマイクロプロセッサによりデータの入出力処理を行うストレージ装置及びデータ管理方法に適用して好適なるものである。
最近では、政府、企業、大学等の各種機関において、多種多量のデータを取り扱うために、比較的大規模なストレージ装置を用いてデータが管理されている。このような大規模なストレージ装置は、複数の記憶デバイス(例えば、ハードディスクドライブなど)がアレイ状に配設して構成されている。例えば、1または複数のハードディスクドライブにより1つのRAID(Redundant Arrays of Independent Disks)グループが構成され、1つのRAIDグループにより提供される物理的な記憶領域上に1または複数の論理ボリュームが定義される。そして、この論理ボリュームがホスト装置に提供される。ホスト装置は、論理ボリュームに対して所定のコマンドを送信することにより、データの書き込みや読み出しを行うことができる。
上記したストレージ装置では、多種多量のデータを処理するために、高性能化が求められている。そこで、ストレージ装置の高性能化のために、論理ボリュームに対するデータの書き込みや読み出しなどのデータ処理を担当するマイクロプロセッサパッケージ(以下、MPPKと称する)を予め定め、データ処理に必要となる制御情報をMPPK内のローカルメモリに格納することが行われている。ここで、ある論理ボリュームの処理を担当するMPPKをオーナMPPKと称し、当該MPPKは当該論理ボリュームのオーナ権を有すると称して以下説明する。
また、特許文献1では、ストレージ装置内のリソース状況やレスポンス性能などに応じて、ある論理ボリュームのオーナ権を他のMPPKに再配置して、MPPKの処理負荷を分散する技術が開示されている。
しかし、上記特許文献1では、ホスト装置からのIOパターンやIO多重度を考慮してオーナ権を再配置することは行われていないため、オーナ権が再配置されたMPPKにおいて高負荷なIOが集中してしまう可能性があるという問題があった。例えば、データの吸い上げを目的としたダンプ処理は、通常のトランザクション処理と比較して一度に大量のデータを転送するため、MPPKの負荷が高くなる傾向がある。また、ダンプ処理は複数の多重度で無作為なボリュームに対して実行される。このため、あるMPPKにダンプジョブが集中する場合には、MPPKの稼働率が上昇し、ダンプジョブ以外の通常のトランザクション処理に対して性能低下を引き起こす可能性があった。
本発明は以上の点を考慮してなされたもので、IOパターンやIO多重度に応じてMPPKのオーナ権を再配置することが可能なストレージ装置及びデータ管理方法を提案しようとするものである。
かかる課題を解決するために本発明においては、複数のマイクロプロセッサと、複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域と、前記複数の記憶領域のうち1以上の前記記憶領域に対するデータの入出力を担当する前記マイクロプロセッサを、前記記憶領域のオーナ権を有する前記マイクロプロセッサとして管理する制御部と、を備え、前記マイクロプロセッサは、受信したIO要求に応じて、データの入出力を担当する前記記憶領域のデータを外部の物理ドライブに記憶させるダンプ処理を実行し、前記制御部は、前記複数のマイクロプロセッサが担当する前記ダンプ処理の処理負荷の偏りに応じて、前記マイクロプロセッサの前記オーナ権を移動することを特徴とする、ストレージ装置が提供される。
かかる構成によれば、複数のマイクロプロセッサは、複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域(論理ボリューム)に対して受信したIO要求に応じてダンプ処理を実行し、複数のマイクロプロセッサが担当するダンプ処理の処理負荷の偏りに応じて、マイクロプロセッサのオーナ権を移動する。これにより、ダンプ処理の多重度に応じてMPPKのオーナ権を再配置して、ストレージ装置全体の処理性能を向上させることができる。
本発明によれば、IOパターンやIO多重度に応じてMPPKのオーナ権を再配置してストレージ装置全体の処理性能を向上させることができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態の概要
まず、本実施の形態の概要について説明する。上記したように、本実施形態では、論理ボリュームに対するデータの書き込みや読み出しなどのデータ処理を一つのMPPKに予め括り付けている。このように、ある論理ボリュームに一つのMPPKを括り付けることをオーナ権と称する。
(1)本実施の形態の概要
まず、本実施の形態の概要について説明する。上記したように、本実施形態では、論理ボリュームに対するデータの書き込みや読み出しなどのデータ処理を一つのMPPKに予め括り付けている。このように、ある論理ボリュームに一つのMPPKを括り付けることをオーナ権と称する。
例えば、ホスト装置200からのデータIOとして、通常のトランザクション処理のIOと、副ボリュームのデータの吸い上げを目的としたダンプ処理のIOなどがある。図1に示すように、ダンプ処理は、正ボリュームとコピーペア関係にある副ボリュームのデータを吸い上げて、テープ装置500のテープドライブなどに書き込む処理である。このダンプ処理のIOでは、通常のトランザクションIOと比較して、一度に大量のデータを転送するため、ダンプ処理の対象となるボリュームのオーナ権を有するMPPKの処理負荷が高くなる傾向がある。また、このダンプ処理は、複数の不作為な副ボリュームに対して多重に実行される。したがって、一部のMPPKにダンプ処理が集中してしまった場合には、ダンプジョブ以外の通常のIOに対しても性能低下を引き起こす可能性があった。
また、従来から、ストレージ装置内のリソース状況やレスポンス性能などに応じて、ある論理ボリュームのオーナ権を他のMPPKに再配置して、MPPKの処理負荷を分散することが行われている。しかし、上記したように、ダンプ処理では、同時かつ無作為に複数の副ボリュームが選択されるため、事前にストレージ装置100側でオーナ権の配置を分散させることができず、一部のMPPKにダンプ処理に伴うコピー処理が集中し、プロセッサ稼働率が上昇し、通常のIO処理に影響を及ぼすことがあった。
そこで、本実施形態では、各ボリュームに対するIOパターンを観測して、IOパターンが通常のトランザクション処理かダンプ処理かを判断し、一部のMPPKにダンプ処理のオーナ権が集中していた場合には、そのオーナ権を他のMPPKに移動して適切にオーナ権の再配置を行って、ストレージ装置全体の性能を向上させることを可能としている。
(2)計算機システムのハードウェア構成
次に、計算機システム1のハードウェア構成について説明する。図2に示すように、計算機システム1は、ストレージ装置100と、ホスト装置200と、管理端末300とから構成されている。
次に、計算機システム1のハードウェア構成について説明する。図2に示すように、計算機システム1は、ストレージ装置100と、ホスト装置200と、管理端末300とから構成されている。
ストレージ装置100は、フロントエンドパッケージ(図中FEパッケージと記載)160、MPPK(図中MPPKと表記)110、メモリパッケージ120、バックエンドパッケージ(図中BEパッケージと表記)130及びハードディスクドライブ(図中HDD(Hard Disk Drive)と表記)140から構成される。そして、これらの内部装置は、ネットワーク180を介して相互に接続されている。なお、ストレージ装置100には、フロントエンドパッケージ160、MPPK110、メモリパッケージ120、バックエンドパッケージ130及びハードディスクドライブ140がそれぞれ複数個備えられていてもよい。
フロントエンドパッケージ160は、ポート161及びメモリ162を備える。ポート161は、ホスト装置200のポート(図示せず)と接続され、ホスト装置200からのライト要求やリード要求をホスト装置200のポートを介して受け付ける。なお、ホスト装置200のポートとポート161は直接接続されていても、スイッチなどを用いて間接的に接続されていてもよい。また、メモリ162には、ホスト装置200から受領したリード要求やライト要求を処理するMPPK110(オーナMPPK)の情報や、ホスト装置200から転送されたデータやホスト装置200へ転送するデータが一時的に格納される。なお、フロントエンドパッケージ160には、1つ以上のポート161とメモリ162とが備えられていてもよい。
MPPK110は、プロセッサ111、ローカルメモリ112及び保守ポート113を備える。そして、これらの内部装置は、ネットワーク114を介して相互に接続されている。なお、1つのMPPK110には、複数個のプロセッサ111、ローカルメモリ112及び保守ポート113が備えられていてもよい。
プロセッサ111は、メモリパッケージ120のプログラム部122に格納されているプログラムを読み出して実行することにより、ホスト装置200からのライト処理やリード処理などを実行する。ローカルメモリ112は、プロセッサ111が利用するプログラムの一時データを格納しておくほか、ハードディスクドライブ140やメモリパッケージ120に格納されている、制御情報、業務データ及びプログラムなどの各種データが格納されている。なお、ローカルメモリ112は、プロセッサ111からの距離がメモリパッケージ120やハードディスクドライブ140に比べて近いため、プロセッサ111からローカルメモリ112に対するアクセスが高速となる。
ポート113は、ネットワーク180を介して管理端末300に接続して、管理端末300にMPPK110の稼働情報を送信したり、管理端末300からの操作を受け付けたりする機能を有する。
メモリパッケージ120は、制御情報部121、プログラム部122及びキャッシュ部123などを備える。プログラム部122には、ストレージ装置100が実行する処理を実現するためのプログラムが格納されている。そして、制御情報部121には、プログラム部122に格納されているプログラムが利用する制御情報が格納されている。メモリパッケージ120に格納されているプログラムや、プログラムが利用する制御情報は、MPPK110のプロセッサ111がメモリパッケージ120から読み出して処理を実行する。
キャッシュ部123には、ハードディスクドライブ140に格納されるデータが一時的に格納される。メモリパッケージ120は、ハードディスクドライブ140に比べて高速な記憶媒体である。このため、ハードディスクドライブ140に格納されるデータのうち、使用頻度の高いデータなどをキャッシュ部123に格納することにより、常にすべてのデータをハードディスクドライブ140に格納する場合に比べて、ホスト装置200からのリード要求やライト要求に対する処理を高速化することができる。なお、障害発生時におけるデータ消失などを回避するためにメモリパッケージ120を二重化してもよい。
バックエンドパッケージ130は、ポート131及びメモリ123を備える。ポート131は、ネットワーク183を介してハードディスクドライブ140に接続されており、ホスト装置200からのライトデータをハードディスクドライブ140に書き込んだり、ホスト装置200からのリード要求に応じてハードディスクドライブ140からデータを読み出したりする。メモリ132には、ハードディスクドライブ140に転送するデータや、ハードディスクドライブ140から読み出したデータが一時的に格納される。なお、バックエンドパッケージ130には、1つ以上のポート131とメモリ132とが備えられていてもよい。
ハードディスクドライブ140は、ホスト装置200によって実行されるソフトウェアに利用される各種データを格納する記憶媒体である。ハードディスクドライブ140は、SCSI(Small Computer System Interface)ディスク等の高価なハードディスクドライブ、または、SATA(Serial AT Attachment)ディスク等の安価なハードディスクドライブからなる複数のハードディスクドライブ(HDD:Hard Disk Drive)から構成されていてもよい。また、ハードディスクドライブ以外の記憶媒体、例えば、フラッシュメモリやSSD(Solid State Drive)やDVDなどであってもよい。
また、1つ以上のハードディスクドライブ140をパリティグループという単位でまとめて、RAID(Redundant Arrays of Independent Disks)のような高信頼化させたグループとしてもよい。また、1つ以上のハードディスクドライブ140から構成されるパリティグループを1または複数の論理的な領域に分けて、各領域を論理的な記憶デバイスとして扱ってもよい。この論理的な記憶デバイスが上記した論理ボリュームであり、以下では、単にボリューム150と称して説明する。
ホスト装置200は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。CPUは、演算処理装置として機能し、メモリに記憶されているプログラムや演算パラメータ等にしたがって、ホスト装置200の動作を制御する。また、ホスト装置200は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置と、モニタディスプレイやスピーカ等の情報出力装置とを備えている。
また、ホスト装置200は、ネットワーク400を介してストレージ装置100と接続されている。ネットワーク400は、例えば、SAN(Storage Area Network)などから構成され、装置間の通信は、例えばファイバチャネルプロトコルに従って行われる。また、ネットワーク400は、例えば、LAN(Local Area Network)、インターネット、公衆回線または専用回線などであってもよい。ネットワークがLANの場合には、装置間の通信は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
また、ホスト装置200は、データベース管理システムなどのソフトウェアを実行することにより所定の業務処理を行う装置である。そして、ホスト装置200で実行される業務処理に用いられるデータの一部またはすべてがストレージ装置100に格納されている。ホスト装置200は、ストレージ装置100に格納されているデータを参照したり更新したりするために、ネットワーク400を介してストレージ装置100に対してリード要求またはライト要求を送信する。
管理端末300は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータなどから構成される。CPUは、演算処理装置として機能し、メモリに記憶されているプログラムや演算パラメータ等にしたがって、管理端末300の動作を制御する。また、管理端末300は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置と、モニタディスプレイやスピーカ等の情報出力装置とを備えている。また、管理端末300は、ストレージ装置100のネットワーク180を介してストレージ装置100のMPPK110と接続されている。
(3)ストレージ装置の機能構成
上記したように、本実施の形態にかかるストレージ装置100では、ボリューム150ごとに処理を担当するオーナMPPK110を予め決めている。このように、各ボリューム150に対してオーナMPPK110を決めておくことにより、ボリューム150の処理に必要となる制御情報にアクセスするMPPK110を1つに限定することができる。このため、処理に必要となる制御情報を、MPPK110のローカルメモリ112に格納することができ、ボリューム150の処理を高速化することが可能となる。以下では、ボリューム150にオーナ権を設定するストレージ装置100の各種制御情報について詳細に説明する。
上記したように、本実施の形態にかかるストレージ装置100では、ボリューム150ごとに処理を担当するオーナMPPK110を予め決めている。このように、各ボリューム150に対してオーナMPPK110を決めておくことにより、ボリューム150の処理に必要となる制御情報にアクセスするMPPK110を1つに限定することができる。このため、処理に必要となる制御情報を、MPPK110のローカルメモリ112に格納することができ、ボリューム150の処理を高速化することが可能となる。以下では、ボリューム150にオーナ権を設定するストレージ装置100の各種制御情報について詳細に説明する。
図3に示すように、ストレージ装置100のメモリパッケージ120の制御情報部121には、LDEV管理テーブル1211、コマンド処理管理テーブル1212、MPPK管理テーブル1213、コピー管理テーブル及びシステム設定テーブル1215などが格納される。また、プログラム部122には、自動移行設定処理プログラム1221、ペア処理プログラム1222、IO処理プログラム1223、ダンプ処理プログラム1224、モニタ周期処理プログラム1225及び自動移行処理プログラム1226などが格納される。
自動移行設定処理プログラム1221は、管理端末300からの要求に応じて、オーナ権を自動的に移動させるかを示すオーナ権自動移行のオン/オフの設定をシステム設定テーブル1215に登録する。
ペア処理プログラム1222は、ホスト装置200からのIOコマンドや管理端末300からのペア操作コマンドなどに応じて、ボリュームのペア設定を行うプログラムである。ペア処理プログラム1222は、ペア設定の内容をコピー管理テーブルに登録する。
IO処理プログラム1223は、ホスト装置200からのIOコマンドに応じて、通常のトランザクション処理やダンプ処理を実行させるプログラムである。IO処理プログラム1223は、コマンド処理の結果をコマンド処理管理テーブル1212やMPPK管理テーブル1213に登録する。
ダンプ処理プログラム1224は、IO処理プログラム1223に起動されて、フラッシュコピー副ボリュームやスナップショットボリュームのダンプ処理を実行する。ダンプ処理は、正ボリュームのデータを吸い上げて、吸い上げたデータをテープドライブなどに書き込む処理である。また、ダンプ処理プログラム1224は、ダンプ処理が開始されたことをLDEV管理テーブル1211に登録する。また、ダンプ処理プログラム1224は、ダンプ処理が一部のMPPK110に偏っていた場合に、自動移行処理プログラム1226を起動して、MPPK110のオーナ権を移動させる。
また、モニタ周期プログラム1225は、定期的にMPPK110のダンプ処理の負荷が偏っているかをモニタし、偏っている場合には、自動移行処理プログラム1126を起動して、MPPK110のオーナ権を移動させる。
自動移行処理プログラム1226は、ダンプ処理プログラム11224またはモニタ周期処理プログラム1225により起動されて、移動すべきMPPK110のオーナ権を特定し、ダンプ処理の負荷の偏りが生じないように、該オーナ権を他のMPPK110に移動させる。
(4)各種テーブル
次に、上記した各種テーブルの詳細について説明する。
次に、上記した各種テーブルの詳細について説明する。
LDEV管理テーブル1211は、ボリューム150毎にMPPK110のオーナ権やペア状態、ダンプ処理のステータスなどを管理するテーブルである。図4に示すように、LDEV管理テーブル1211は、LDEV番号(LDEV#)欄1211A、自動移行欄1211B、MPPK番号(MPPK#)欄1211C、ペア設定欄1211D、ダンプ処理の処理中ステータス欄1211E及びダンプ処理の開始時刻欄1211Fから構成される。
LDEV番号(LDEV#)欄1211Aには、ボリュームを識別する番号が格納される。自動移行欄1211Bには、ボリュームのオーナ権を自動的に移行するかを示す情報が格納される。例えば、自動移行設定処理プログラム1221により、オーナ権の自動移行が許可されている場合には「ON」が格納され、オーナ権の自動移行が許可されていない場合には「OFF」が格納される。
MPPK番号(MPPK#)欄1211Cには、各ボリュームの処理を担当するMPPK110を識別する番号が格納される。ペア設定欄1211Dには、ボリュームのペア設定の情報が格納される。例えば、フラッシュボリュームの副ボリュームの場合には、「FC副」という情報が格納される。
また、ダンプ処理の処理中ステータス欄1211Eには、該当するボリューム150がダンプ処理の処理中か否かを示す情報が格納される。例えば、ダンプ処理の処理中の場合には「処理中」が格納され、ダンプ処理が実行されていない場合、またはダンプ処理以外の処理が実行されている場合には「未」が格納される。また、ダンプ処理の開始時刻欄1211Fには、ダンプ処理中の場合に、そのダンプ処理の開始時刻が格納される。
次に、コマンド処理管理テーブル1212について説明する。コマンド処理管理テーブル121は、ボリューム150ごとに過去のコマンド処理の内容を管理するテーブルである。図5に示すように、コマンド処理管理テーブル121は、LDEV番号(LDEV#)欄1212A、直前のコマンド種別欄1212B、直前の処理完了時刻欄1212C、2個前のコマンド種別欄1212D及び2個前の処理完了時刻欄1212Dから構成される。
LDEV番号欄1212Aには、ボリュームを識別する番号が格納される。直前のコマンド種別欄1212Bには直前に該ボリュームに対して実行されたコマンド種別の情報が格納される。例えば、「RDTRK」や「WRD」などのコマンドが格納される。直前の処理完了時刻欄1212Cには、コマンド処理の完了時刻が格納される。図5では、2個前のコマンドの情報まで格納されているが、後述するように、ダンプ処理か否かは連続して「RDTRK」コマンドが処理されたかで判断されるため、コマンド処理管理テーブル121には、複数個前までのコマンド情報を格納する。
次に、MPPK管理テーブル1213について説明する。MPPK管理テーブル1213は、MPPK110ごとのダンプ処理中のボリューム数や平均稼働率などを管理するテーブルである。図6に示すように、MPPK管理テーブル1213には、MPPK番号(MPPK#)欄1213A、自動移行欄1213B、ダンプ処理のボリューム数欄1213C、トランザクション処理のボリューム数欄1213D、その他処理のボリューム数欄1213E、MP稼働率欄1213F、ローカルコピー欄1213G、平均レスポンス欄1213H及び移動制限欄1213Iなどから構成される。
MPPK番号欄1213Aには、MPPK110を識別する番号が格納される。自動移行欄1213Bには、MPPK110が担当するボリュームのオーナ権を自動的に移行するかを示す情報が格納される。ダンプ処理のボリューム数欄1213Cには、MPPK110が担当するダンプ処理中のボリューム数が格納される。トランザクション処理のボリューム数欄1213Dには、MPPK110が担当するトランザクション処理中のボリューム数が格納される。その他処理のボリューム数欄1213Eには、MPPK110が担当するその他の処理中のボリューム数が格納される。何も処理されていないボリュームや、データが格納されていないボリュームの数もその他処理中のボリューム数としてカウントしてもよい。
MP稼働率欄1213Fには、MPPK110の稼働率の情報が格納される。ローカルコピー欄1213Gには、MPPK110が担当するボリュームにどのようなコピーペアがあるかを示す情報が格納される。平均レスポンス欄1213Hには、MPPK110の平均レスポンスの情報が格納される。移動制限欄1213Iには、MPPK110のオーナ権の移動制限の情報が格納される。
次に、コピー管理テーブル1214について説明する。コピー管理テーブル1214は、ボリュームのコピーペアの情報を管理するテーブルである。図7に示すように、コピー管理テーブル1214は、ペア番号欄1214A、ボリューム番号(VOL#)欄1214B、相手側のボリューム番号(VOL#)欄1214C、ペアの先頭位置欄1214D、ペアの終端一覧1214E及び最後のRDTRK位置欄1214Eから構成される。
ペア番号欄1214Aには、ペアを識別する情報が格納される。ボリューム番号(VOL#)欄1214Bには、ボリュームを識別する番号が格納される。相手側のボリューム番号(VOL#)欄1214Cには、ペアの相手側のボリュームを識別する番号が格納される。ペアの先頭位置欄1214D、ペアの終端一覧1214E、最後のRDTRK位置欄1214Eには、それぞれ、ペアの範囲及びペアの再度のRDTRK位置の設定情報が格納される。
次に、システム設定テーブル1215について説明する。システム設定テーブル1215は、オーナ権の移動先のMPPK110を特定する際の優先順位の情報を管理するテーブルである。図8に示すように、システム設定テーブル1215には、優先順位欄(#)1215A、移動基準の優先度欄1215B、追加パラメータ欄1215C及び補足欄1215Dから構成される。
優先順位欄(#)1215Aには、優先順位を示す番号が格納される。小さい番号ほど優先順位が高くなる。移動基準の優先度欄1215Bには、オーナ権を移動する際の移動基準の情報が格納される。例えば、オーナ権を移動する際に、ダンプジョブのボリューム数を優先するか、MP稼働率または平均レスポンスを優先するかの情報が格納される。追加パラメータ欄1215Cには、各移動基準に追加するパラメータが格納される。移動基準の追加パラメータとしては、例えば、MP稼働率が所定の値以上の場合にオーナ権を移動するなどの情報である。また、補足欄1215Dには、各移動基準について、オーナ権をどのように移動するかの情報が格納される。
(5)計算機システムにおけるデータ管理処理の詳細
(5-1)ダンプ処理の判定処理
上記したように、ホスト装置200からのIOパターンとしては、通常のトランザクション処理のIOパターンと、ダンプ処理のIOパターンとが挙げられる。通常のトランザクション処理は、レコード単位であるが、ダンプ処理はトラック単位でデータを吸い上げるため、ダンプ処理のIOは通常のトランザクション処理と比較してデータ転送量が数十倍となり、ダンプ処理のIOが一部のMPPK110に集中すると、レスポンス性能が悪化する。
(5-1)ダンプ処理の判定処理
上記したように、ホスト装置200からのIOパターンとしては、通常のトランザクション処理のIOパターンと、ダンプ処理のIOパターンとが挙げられる。通常のトランザクション処理は、レコード単位であるが、ダンプ処理はトラック単位でデータを吸い上げるため、ダンプ処理のIOは通常のトランザクション処理と比較してデータ転送量が数十倍となり、ダンプ処理のIOが一部のMPPK110に集中すると、レスポンス性能が悪化する。
そこで、本実施の形態では、ホスト装置200からのIOがダンプ処理か否かを判定し、一部のMPPK110にダンプ処理が集中している場合に、MPPK110のオーナ権を移動して、MPPK110の稼働率を均等にしている。ホスト装置200からのIOがダンプ処理か否かは、ダンプ処理時に利用されるRDTRKコマンドを連続して受信したか否かで判断することができる。RDTRKコマンドとは、トラックすべてをリードする場合のリクエストコマンドである。RDTRKコマンドではない場合、または連続したRDTRKコマンドではない場合には、通常のトランザクション処理であると判断できる。なお、あるダンプ処理のコマンドを通常のトランザクション処理のコマンドと誤判断することも考えられるが、ダンプ処理のRDTRKコマンドは連続して発行されるため、その後の判断で誤判断を直ぐに修正することができる。
図9を参照して、ホスト装置200からのIOがダンプ処理か否かを判定するIOパターン判定処理について説明する。図9に示すように、IO処理プログラム1223は、受信したコマンドコードをチェックして(S101)、コマンドコードがRDTRKか否かを判定する(S102)。
そして、ステップS102において、コマンドコードがRDTRKであると判定された場合には、IO処理プログラム1223は、コマンドコードに含まれるデータ長をチェックして(S103)、当該データ長が正当であるか、すなわち、データ長に論理矛盾がないかを判定する。
ステップS103において、データ長が正当であると判定された場合には、IO処理プログラム1223は、コマンドコードの対象となるボリュームが副ボリュームかを判定する(S105)。具体的に、IO処理プログラム1223は、LDEV管理テーブル1211を参照して、該当するボリュームがフラッシュコピーの副ボリューム(FC副)などの副ボリュームであるかを判定する(S105)。
ステップS105において、対象ボリュームが副ボリュームではないと判定された場合には、IO処理プログラム1223は、ダンプ処理のコマンドではないため、通常のRDTRK処理を実行し(S112)、非ダンプ処理時のテーブル更新処理を実行する(S113)。ステップS113における非ダンプ処理時のテーブル更新処理については、後で詳細に説明する。一方、ステップS105において、対象ボリュームが副ボリュームである場合には、IO処理プログラム1223は、ステップS106の判定処理を行う。
IO処理プログラム1223は、コマンド処理管理テーブル1212を参照して、該当ボリュームの直前のリードコマンドがRDTRKコマンドであり、直前のリードコマンドを受信してから100ms以内かを判定する(S106)。ステップS106の判定により、コマンド処理の対象となるボリュームに連続してRDTRKコマンドが送信されたかを判定している。ダンプ処理時のRDTRKコマンドは、通常、1つのボリュームに対して数10ms間隔で発行される。したがって、ステップS106の判定によって、該当ボリュームに対するIOがダンプ処理のIOか否かを判定することができる。
ステップS106の判定が否定的であった場合には、当該コマンドはダンプ処理のコマンドではないため、IO処理プログラム1223は、通常のRDTRK処理を実行し(S112)、非ダンプ処理時のテーブル更新処理を実行する(S113)。一方、ステップS106の判定が肯定的であった場合には、IO処理プログラム1223は、リード対象のトラックが最終トラックかを判定する(S107)。ダンプ処理は、対象となる副ボリュームの先頭のシリンダから最終のシリンダまでシーケンシャルにRDTRKコマンドが発行される。そのため、最終シリンダに対してRDTRKコマンドが発行された場合には、ダンプ処理を終了したと判断することができる。
ステップS107において、リード対象のトラックが最終トラックであると判定された場合には、IO処理プログラム1223は、ダンプ処理は終了したと判断して、通常のRDTRK処理を実行し(S112)、非ダンプ処理時のテーブル更新処理を実行する(S113)。一方、ステップS107において、リード対象のトラックが最終トラックではないと判定された場合には、IO処理プログラム1223は、ダンプ処理時のテーブルを更新して(S108)、自動移行処理プログラム1226を起動させて、オーナ権再配置処理を実行させる(S109)。ステップS108におけるダンプ処理時のテーブル更新処理及びステップS109におけるオーナ権再配置処理については、後で詳細に説明する。
そして、IO処理プログラム1223は、通常のRDTRK処理、すなわち、正ボリュームからデータを読み込む処理を実行し(S110)、MPPK110ごととの平均レスポンス値を更新する(S111)。
次に、上記したステップS108におけるダンプ処理時のテーブル更新処理について説明する。ステップS106及びステップS107のダンプ処理の判定により、ダンプ処理のIOであると判定された場合には、LDEV管理テーブル1211、コマンド処理管理テーブル1212及びMPPK管理テーブル1213を更新する。以下、図10を参照してダンプ処理時のテーブル更新処理の詳細を説明する。
図10に示すように、IO処理プログラム1223は、LDEV管理テーブル1211の対象ボリュームのエントリのダンプ処理の処理中ステータス欄1211Eを参照して(S202)、既にダンプ処理中のステータスとなっているかを判定する(S202)。
ステップS201において、既にダンプ処理中のステータスとなっていると判定された場合には、IO処理プログラム1223は、ダンプ処理時のテーブル更新処理は不要のため、ステップS207の処理に進む。一方、ステップS201において、ダンプ処理中のステータスとはなっていないと判定された場合には、IO処理プログラム1223は、LDEV管理テーブル1211の処理中ステータスを更新し、ダンプ処理開始時刻を登録する(S203)。具体的に、IO処理プログラム1223は、LDEV管理テーブル1211のダンプ処理の処理中ステータス欄1211Eに処理中を示す情報を格納し、ダンプ処理の開始時刻欄1211Fにダンプ処理の開始時刻を格納する。
続いて、IO処理プログラム1223は、MPPK管理テーブル1213を参照して(S204)、対象ボリュームを担当するMPPKのエントリのダンプ処理数に1を加算する(S205)。具体的に、IO処理プログラム1223は、MPPK管理テーブル1213の対象MPPKのエントリのダンプ処理のボリューム数欄1213Cに1を加算する。
続いて、IO処理プログラム1223は、MPPK管理テーブル1213の対象MPPKのMP稼働率及びコピーペアの状況を更新する(S206)。
そして、IO処理プログラム1223は、コピー管理テーブル1214の再度のRDTRK位置欄1214Fを更新して(S207)、コマンド処理管理テーブル1212のコマンド種別と時刻を更新する(S208)。具体的に、IO処理プログラム1223は、コマンド処理管理テーブル1212の直前のコマンド種別欄1212Bにコマンド種別を格納し、直前の処理完了時刻欄1212Cにコマンドの処理完了時刻を格納する。
次に、図11を参照して、上記したステップS113における非ダンプ処理時のテーブル更新処理について説明する。図11に示すように、IO処理プログラム1223は、LDEV管理テーブル1211の処理中ステータス欄1211Eを参照して(S301)、既にダンプ処理中のステータスとなっているかを判定する(S302)。
ステップS301において、既にダンプ処理中のステータスとなっていると判定された場合には、IO処理プログラム1223は、ステップS303以降の処理を実行する。一方、ステップS301において、ダンプ処理中のステータスとはなっていないと判定された場合には、IO処理プログラム1223は、ステップS306の処理を実行する。
IO処理プログラム1223は、ステップS303において、LDEV管理テーブル1211の処理中ステータスを未とし、ダンプ処理開始時刻を削除する(S303)。具体的に、IO処理プログラム1223は、LDEV管理テーブル1211のダンプ処理の処理中ステータス欄1211Eに未を示す情報を格納し、ダンプ処理の開始時刻欄1211Fの開始時刻を削除する。
そして、IO処理プログラム1223は、MPPK管理テーブル1213を参照して(S303)、対象ボリュームを担当するMPPKのエントリのダンプ処理数から1を減算する(S304)。具体的に、IO処理プログラム1223は、MPPK管理テーブル1213の対象MPPKのエントリのダンプ処理のボリューム数欄1213Cから1を減算する。
そして、IO処理プログラム1223は、MPPK管理テーブル1213の対象MPPKのMP稼働率及びMPPKごとの平均レスポンス値を更新する(S306)。
次に、スナップショットやフラッシュコピーのペアが作成されたり削除されたりした場合のテーブル更新処理について説明する。以下に示すコピーペア作成または削除時のテーブル更新処理は、ペア処理プログラム1222によって実行される。
まず、コピーペアの作成時のテーブル更新処理について説明する。図12Aに示すように、ペア処理プログラム1222は、ペア作成コマンドを受領すると(S401)、ペア作成処理を実行する(S402)。
そして、ペア処理プログラム1222は、正側のボリュームのLDEV管理テーブル1211を更新する(S403)。具体的に、ペア処理プログラム1222は、LDEV管理テーブル1211の正側のボリュームのエントリのペア設定欄1211Dにコピーペアがあることを示す情報を格納する。また、当該ボリュームにどのようなコピーペアがあるかを示す情報を格納してもよい。
次に、ペア処理プログラム1222は、副側のボリュームのLDEV管理テーブル1211を更新する(S404)。具体的に、ペア処理プログラム1222は、LDEV管理テーブル1211の副側のボリュームのエントリのペア設定欄1211Dにコピーペアであることを示す情報を格納する。また、当該ボリュームがどのようなコピーペアであるかを示す情報を格納してもよい。
そして、ペア処理プログラム1222は、コピー管理テーブル1214を更新する(S405)。具体的に、ペア処理プログラム1222は、コピー管理テーブル1214のボリューム番号欄1214Bに正ボリュームのボリューム番号を格納し、相手側のボリューム番号欄1214Cに副ボリュームのボリューム番号を格納し、ペアの先頭位置、ペアの終端一及び最後のRDTRK位置の情報をそれぞれ格納する。
次に、コピーペアの削除時のテーブル更新処理について説明する。図12Bに示すように、ペア処理プログラム1222は、ペア削除コマンドを受領すると(S411)、ペア削除処理を実行する(S412)。
そして、ペア処理プログラム1222は、正側のボリュームのLDEV管理テーブル1211を更新する(S413)。具体的に、ペア処理プログラム1222は、LDEV管理テーブル1211の正側のボリュームのエントリのペア設定欄1211Dにコピーペアがないことを示す情報を格納する。
次に、ペア処理プログラム1222は、副側のボリュームのLDEV管理テーブル1211を更新する(S414)。具体的に、ペア処理プログラム1222は、LDEV管理テーブル1211の副側のボリュームのエントリのペア設定欄1211Dにコピーペアがないことを示す情報を格納する。
そして、ペア処理プログラム1222は、コピー管理テーブル1214を更新する(S415)。具体的に、ペア処理プログラム1222は、コピー管理テーブル1214の該当コピーペアの情報を削除する。
次に、管理端末300を介して設定されるテーブル更新処理について説明する。自動移行設定処理プログラム1221は、管理端末300の管理画面を介して入力されたMPPKの自動移行に関する各種設定を、LDEV管理テーブル1211、MPPK管理テーブル1213及びシステム設定テーブル1215に反映させる。
まず、管理端末300における、MPPKの自動移行に関する各種設定を入力する管理画面について説明する。LDEV管理画面351は、各ボリュームを担当するMPPK110の自動移行を設定する管理画面である。図13Aに示すように、LDEV管理画面351には、LDEV番号フィールド3511、MPPK番号フィールド3512及び自動移行フィールド3513が含まれる。
LDEV番号フィールド3511には、ボリュームの番号が表示される。MPPK番号フィールド3512には、MPPK110の番号が表示される。自動移行フィールド3513には、自動移行を設定するかしないかを選択するチェックボックスが表示される。システム管理者は、各ボリュームを担当するMPPK110の自動移行を設定する場合には自動移行フィールド3513のチェックボックスをチェックする。この場合、自動移行フィールド3513には「ON」が表示される。また、各ボリュームを担当するMPPK110を自動的に移行させない場合には、自動移行フィールド3513のチェックボックスにチェックをしない。この場合、自動移行フィールド3513には「OFF」が表示される。
自動移行設定処理プログラム1221は、管理者の入力によりLDEV管理画面351の自動移行フィールド3513の設定が変更された場合に、LDEV管理テーブル1211の自動移行欄1211Bの値を変更する。
MPPK管理画面352は、各MPPK110のオーナ権の自動移行を設定する管理画面である。図13Bに示すように、MPPK管理画面352には、MPPK番号フィールド3521、自動移行フィールド3522及び移動制限フィールド3523が含まれる。
MPPK番号フィールド3521には、MPPKの番号が表示される。自動移行フィールド3522には、自動移行を設定するかしないかを選択するチェックボックスが表示される。システム管理者は、MPPK110の自動移行を設定する場合には自動移行フィールド3522のチェックボックスをチェックする。この場合、この場合、自動移行フィールド3522には「ON」が表示される。また、各ボリュームを担当するMPPK110を自動的に移行させない場合には、自動移行フィールド3522のチェックボックスにチェックをしない。この場合、自動移行フィールド3522には「OFF」が表示される。
移動制限フィールド3523には、移動制限の設定情報が表示される。MPPK110の移動制限とは、各MPPKに対してオーナ権の移動を制限するかを示す情報である。例えば、あるMPPK110について、ダンプ処理の対象となるボリュームへのオーナ権の移動を制限したり、ダンプ処理の対象となるボリュームに優先してオーナ権を設定したりすることができる。例えば、システム管理者は、移動制限フィールド3523から、移動制限がない場合には「なし」を、ダンプ処理を禁止する場合には「ダンプ禁止」を、ダンプ処理を優先する場合には「ダンプ優先」を選択する。
自動移行設定処理プログラム1221は、管理者の入力によりMPPK管理画面352の自動移行フィールド3522の設定が変更された場合に、MPPK管理テーブル1213の自動移行欄1213Bの値を変更する。また、移動制限フィールド3523の設定が変更された場合に、MPPK管理テーブル1213の移動制限欄1213Iの値を変更する。
システム設定画面353は、オーナ権を移動する際の優先順位の情報を設定する管理画面である。図13Cに示すように、システム設定画面353には、優先順位フィールド3531及び設定内容フィールド3532が含まれる。優先順位フィールド3531には、優先順位を示す番号が表示され、小さい番号ほど優先順位が高いことを示す。また、設定内容フィールド3532には、オーナ権を移動する際の移動基準の設定情報が表示される。例えば、オーナ権を移動する際に、ダンプジョブ数、MP稼働率または平均レスポンスなどを基準にしている場合には、システム管理者は、設定内容フィールド3532からのダンプジョブ数を第1優先に設定し、MP稼働率を第2優先に設定し、平均レスポンスを第3優先に設定する。
自動移行設定処理プログラム1221は、管理者の入力によりシステム設定画面353の優先順位の情報が変更された場合に、システム設定テーブル1215の移動基準の優先度欄1215Bの値を変更する。以上、管理端末300を介して設定されるテーブル更新処理について説明した。
(5-2)オーナ権再配置処理
次に、オーナ権再配置処理の詳細について説明する。オーナ権再配置処理の起動は、上記の図9に示したIO処理と同期して実行される場合と、周期的に起動される場合とが考えられる。オーナ権再配置処理は、周期的にモニタ周期処理プログラム1225によって起動される。
次に、オーナ権再配置処理の詳細について説明する。オーナ権再配置処理の起動は、上記の図9に示したIO処理と同期して実行される場合と、周期的に起動される場合とが考えられる。オーナ権再配置処理は、周期的にモニタ周期処理プログラム1225によって起動される。
図14に、周期処理でのオーナ権再配置処理の起動処理について説明する。本実施形態では、1秒間隔でオーナ権再配置処理が起動される。図14に示すように、モニタ周期処理プログラム1225は、オーナ権再配置処理の起動処理を1秒停止させる(S501)。ステップS501でオーナ権再配置処理の起動処理を1秒停止させることにより、モニタ周期を1秒間隔とする。
そして、モニタ周期処理プログラム1225は各種モニタリング処理を起動させる(S502)。ステップS502における各種モニタリング処理は、例えば、MPPK稼働率や平均レスポンス値の算出処理などである。
そして、モニタ周期処理プログラム1225は、MPPK管理テーブル1213を参照して(S503)、ダンプ処理中のMPPKがあるかを判定する(S504)。具体的に、モニタ周期処理プログラム1225は、MPPK管理テーブル1213のダンプ処理のボリューム数欄1213Cを参照して、ダンプ処理のボリューム数が1以上である場合に、ダンプ処理を実行しているMPPKがあるかを判断することができる。
ステップS504において、ダンプ処理中のMPPKがあると判定された場合には、モニタ周期処理プログラム1225は、自動移行処理プログラム1226を起動させて、オーナ権再配置処理を実行させる(S505)。一方、ステップS504において、ダンプ処理中のMPPKがないと判定された場合には、ステップS501以降の処理を繰り返す。
本実施形態では、MPPK110のオーナ権の再配置は、ダンプジョブボリューム数、MPPK110のMP稼働率またはMPPKの平均レスポンスを基準に行われる。また、トランザクションボリューム数やダンプ処理の実行制限の有無を考慮して、オーナ権の移動を抑止することもできる。以下、オーナ権を再配置する際の基準について詳細に説明する。
ダンプジョブボリューム数を基準にしてオーナ権を再配置する際には、各MPPK110のダンプジョブボリューム数が平均以下になるまでオーナ権の移動を繰り返す。オーナ権を移動する際には、最もダンプジョブのボリューム数が多いMPPK110から最初に移動を開始する。ダンプジョブボリューム数は、IOの多重度を判断するもっとも重要な要素であり、以下に説明するMPPK110のMP稼働率やMPPK110のMP稼働率は、MPPKのオーナ権を移動する際の付加的な要素である。
MPPK110の稼働率を基準にしてオーナ権を再配置する際には、最もMP稼働率が高いMPPKから最初に移動を開始する。また、MPPK110の平均レスポンスを基準にしてオーナ権を再配置する際には、各MPPK110の平均レスポンスが平均化するようにオーナ権を移動させる。
また、トランザクションボリューム数を基準にしてオーナ権を再配置する際には、トランザクションボリューム数が集中しているボリュームに対して、オーナ権を移動させるのを抑止する。また、ダンプ処理の実行制限の有無を基準にしてオーナ権を再配置する際に、システム管理者の入力に応じてダンプ処理の実行制限が指定されている場合に、オーナ権の移動を抑止する。例えば、オーナ権の移動先となるMPPK110がダンプ処理の実行を禁止されている場合には、当該MPPK110にダンプ処理の対象となるボリュームのオーナ権が移動されることを禁止する。また、オーナ権の移動元のMPPK110にダンプ処理の実行を優先させる場合には、当該MPPK110のオーナ権の移動を禁止する。
次に、図15及び図16を参照して、オーナ権の再配置処理の例について説明する。図15は、ダンプジョブボリューム数とMP稼働率を基準にしてオーナ権を再配置した場合を示す。図15に示すように、オーナ権の移動前には、MPPK#0のダンプジョブ数は4、MP稼働率は80%、MPPK#1のダンプジョブ数は2、MP稼働率は50%、MPPK#2のダンプジョブ数は1、MP稼働率は30%、MPPK#3のダンプジョブ数は0、MP稼働率は0%となっている。
この場合、まず、ダンプジョブボリューム数が最も多いMPPK#0のオーナ権を移動する。すなわち、ダンプジョブ数が4であるMPPK#1から、ダンプジョブ数が0であるMPPK#3に1つのダンプジョブに対するオーナ権を移動する。
上記オーナ権の移動により、MPPK#0のダンプジョブ数は3、MP稼働率は60%、MPPK#1のダンプジョブ数は2、MP稼働率は50%、MPPK#2のダンプジョブ数は1、MP稼働率は30%、MPPK#3のダンプジョブ数は1、MP稼働率は20%となった。
上記1回のオーナ権の移動では、まだMPPK#0のダンプジョブ数が他のMPPKより多いため、MPPK#0のダンプジョブのオーナ権を他のMPPKに移動させる。このとき、ダンプジョブ数はMPPK#2とMPPK#3がいずれも1つを同じジョブ数であるため、MP稼働率でいずれのMPPKを移動先とするか決定する。図15では、MPPK#2のMP稼働率が30%、MPPK#3のMP稼働率が20%であるため、MP稼働率の低いMPPK#3をオーナ権の移動先とする。
上記オーナ権の移動により、MPPK#0のダンプジョブ数は2、MP稼働率は40%、MPPK#1のダンプジョブ数は2、MP稼働率は50%、MPPK#2のダンプジョブ数は1、MP稼働率は30%、MPPK#3のダンプジョブ数は2、MP稼働率は40%となり、各MPPK110のダンプジョブ数及びMP稼働率が平均化されたことがわかる。
また、図16は、ダンプジョブボリューム数と平均レスポンスを基準にしてオーナ権を再配置した場合を示す。図16に示すように、オーナ権の移動前には、MPPK#0のダンプジョブ数は4、平均レスポンスは100us、MPPK#1のダンプジョブ数は2、平均レスポンスは30us、MPPK#2のダンプジョブ数は1、平均レスポンスは60us、MPPK#3のダンプジョブ数は0、平均レスポンスは0usとなっている。
この場合、まず、ダンプジョブボリューム数が最も多いMPPK#0のオーナ権を移動する。すなわち、ダンプジョブ数が4であるMPPK#1から、ダンプジョブ数が0であるMPPK#3に1つのダンプジョブに対するオーナ権を移動する。
上記オーナ権の移動により、MPPK#0のダンプジョブ数は3、平均レスポンスは80us、MPPK#1のダンプジョブ数は2、平均レスポンスは30us、MPPK#2のダンプジョブ数は1、平均レスポンスは60us、MPPK#3のダンプジョブ数は1、平均レスポンスは40usとなった。
上記1回のオーナ権の移動では、まだMPPK#0のダンプジョブ数が他のMPPKより多いため、MPPK#0のダンプジョブのオーナ権を他のMPPKに移動させる。このとき、平均レスポンスでいずれのMPPKを移動先とするか決定する。図15では、MPPK#1の平均レスポンスが30us、MPPK#2の平均レスポンスが60us、MPPK#3の平均レスポンスが40usであるため、平均レスポンスの最もよいMPPK#1をオーナ権の移動先とする。
上記オーナ権の移動により、MPPK#0のダンプジョブ数は2、平均レスポンスは60us、MPPK#1のダンプジョブ数は3、平均レスポンスは50us、MPPK#2のダンプジョブ数は1、平均レスポンスは60us、MPPK#3のダンプジョブ数は1、平均レスポンスは40usとなり、各MPPK110の平均レスポンスが平均化されたことがわかる。
また、ダンプ処理の実行が禁止されているMPPK110の担当するボリュームに対してダンプ処理が実行された場合には、当該ダンプ処理を他のMPPK110に移動させるようにしてもよい。また、上記のように、MPPK110のオーナ権を移動する際に、ダンプ処理の実行が禁止されているMPPK110にはオーナ権を移動させないようにすることができる。
また、ダンプ処理を優先的に実行するMPPK110をダンプ処理のオーナ権の移動先としてもよい。
次に、図17を参照して、オーナ権の再配置処理の詳細について説明する。図17に示すように、自動移行処理プログラム1226は、まず、MPPK管理テーブル1213を参照して(S601)、すべてのMPPK110のダンプジョブ数を加算して、総ダンプジョブ数を算出する(S602)。さらに、自動移行処理プログラム1226は、総MPPK数を算出する(S603)。ステップS603において、ダンプ禁止の設定があるMPPKがある場合には、総MPPK数から減算する。
続いて、自動移行処理プログラム1226は、システム設定テーブル1215を参照して、MPPKを移動する際の基準オプションをチェックする(S605)。ステップS605における基準オプションとは、上記したように、オーナ権をダンプ処理のボリューム数で移行した後に基準となるMP稼働率または平均レスポンスなどの追加的な基準である。
そして、自動移行処理プログラム1226は、各MPPK110のダンプジョブ数が平均的になっているかを判定する(S606)。具体的に、自動移行処理プログラム1226は、ステップS603で算出した総MPPK数をステップS602で算出した総ダンプジョブ数で除算した値と、各MPPK110のダンプジョブ数とを比較して、ダンプジョブ数に偏りがあるかを判定する。
ステップS606において、ダンプジョブ数が平均的になっていないと判定された場合には、自動移行処理プログラム1226は、ステップS609以降の処理を実行する。一方、ステップS606において、ダンプジョブ数が平均的になっていると判定された場合には、ステップS607以降の処理を実行する。
ステップS607で、自動移行処理プログラム1226は、ダンプ禁止のMPPK110があるかを判定する(S607)。具体的に、自動移行処理プログラム1226は、MPPK管理テーブル1213の移動制限欄1213Iを参照して、各MPPK110にダンプジョブの実行を禁止する移動制限が設定されているかを判定する。
ステップS607において、ダンプ禁止のMPPK110がないと判定された場合には、再配置処理を終了する。一方、ステップS607において、ダンプ禁止のMPPK110があると判定された場合には、ダンプ処理の実行が禁止されているMPPK110をオーナ権の移動元のMPPKとして、ダンプ処理のオーナ権を他のMPPKに移動させて(S608)処理を終了する。
ステップS609において、自動移行処理プログラム1226は、最大ダンプジョブ数のMPPK110を選択する(S609)。そして、自動移行処理プログラム1226は、MP稼働率が最も高いMPPK110を選択する(S610)。ステップS609において、最大ダンプジョブ数が同数のMPPK110が複数存在する場合に、ステップS610の処理を行うようにしてもよい。また、上記したように、基準オプションが平均レスポンスの場合には、ステップS610において、平均レスポンスが最もよいMPPK110を選択するようにしてもよい。
続いて、自動移行処理プログラム1226は、LDEV管理テーブル1211を参照して(S611)、ダンプ処理の開始時刻が一番古いダンプジョブのボリュームを選択する(S612)。そして、自動移行処理プログラム1226は、ステップS612において選択したボリュームのダンプ処理が終了直前であるかを判定する(S613)。
ステップS613において、選択したボリュームのダンプ処理が終了直前であると判定された場合には、すべてのボリュームのダンプ処理が終了直前であるかを判定する(S614)。ステップS614において、すべてのボリュームのダンプ処理が終了直前であると判定された場合には、自動移行処理プログラム1226は、オーナ権の再配置処理を終了する。一方、すべてのボリュームのダンプ処理が終了直前ではないと判定された場合には、ステップS612に戻り、次に開始時刻が古いダンプジョブのボリュームを選択する。
ここで、ダンプ処理が終了直前であるかは、図7のコピー管理テーブル1214を参照することにより判断することができる。例えば、コピー管理テーブル1214の最後のRDTRK位置覧1214Fの値が、以下の数式を満たすかで判断してもよい。
上記式(1)を満たす場合には、ダンプ処理は終了間際であることがわかるため、当該ダンプ処理のオーナ権を移動する必要はないことがわかる。
上記したステップS609~S613の処理により、オーナ権を再配置する際の移動元のMPPKが決定された。次に、以下説明する処理により、オーナ権を再配置する際の移動先のMPPKを決定する。
自動移行処理プログラム1226は、ダンプ処理を担当するMPPKのうち、最小ダンプジョブ数のMPPKを選択する(S615)。そして、自動移行処理プログラム1226は、最小ダンプジョブ数が同数のMPPKが存在するかを判定する(S616)。
ステップS616において、最小ダンプジョブ数が同数のMPPKが存在すると判定された場合には、自動移行処理プログラム1226は、最小ダンプジョブ数のMPPK110のうち、MP稼働率または平均レスポンスが最も低いMPPKを選択する(S617)。ステップS616において、最小ダンプジョブ数が同数のMPPKが存在しないと判定された場合には、自動移行処理プログラム1226は、ステップS618以降の処理を実行する。
そして、自動移行処理プログラム1226は、ステップS609及びステップS610で選択したMPPK110を移動元とし、ステップS615及びステップS617で選択したMPPK110を移動先として、オーナ権の移動処理を実行する(S618)。自動移行処理プログラム1226は、ステップS618においてオーナ権の移動処理を実行した後、MPPK管理テーブル1213を更新する(S619)。具体的に、自動移行処理プログラム1226は、MPPK管理テーブル1213のダンプ処理のボリューム数欄1213Cの値を変更する。
上記オーナ権の再配置処理により、ダンプジョブ数の多いMPPK110のオーナ権を、ダンプジョブ数の少ないMPPK110に移動させることにより、MPPK110間でダンプ処理の処理負荷を均等化することができる。
(6)本実施の形態の効果
以上のように、本実施の形態によれば、複数のMPPK110は、論理ボリュームに対して受信したIO要求がダンプ処理のIOか否かを判断し、ダンプ処理のIOである場合に、各マイクロプロセッサ(MPPK110)が担当するダンプ処理の処理負荷の偏りを算出して、ダンプ処理の処理負荷の高いマイクロプロセッサを移動元とし、ダンプ処理の処理負荷の低いマイクロプロセッサを移動先としてオーナ権の移動処理を実行する。これにより、ダンプ処理の多重度に応じてマイクロプロセッサのオーナ権を再配置して、ストレージ装置全体の処理性能を向上させることができる。
以上のように、本実施の形態によれば、複数のMPPK110は、論理ボリュームに対して受信したIO要求がダンプ処理のIOか否かを判断し、ダンプ処理のIOである場合に、各マイクロプロセッサ(MPPK110)が担当するダンプ処理の処理負荷の偏りを算出して、ダンプ処理の処理負荷の高いマイクロプロセッサを移動元とし、ダンプ処理の処理負荷の低いマイクロプロセッサを移動先としてオーナ権の移動処理を実行する。これにより、ダンプ処理の多重度に応じてマイクロプロセッサのオーナ権を再配置して、ストレージ装置全体の処理性能を向上させることができる。
100 ストレージ装置
110 MPPK
120 メモリパッケージ
140 ハードディスクドライブ
150 論理ボリューム
1221 自動移行設定処理プログラム
1222 ペア処理プログラム
1223 IO処理プログラム
1224 ダンプ処理プログラム
1225 モニタ周期処理プログラム
1226 自動移行処理プログラム
200 ホスト装置
300 管理端末
110 MPPK
120 メモリパッケージ
140 ハードディスクドライブ
150 論理ボリューム
1221 自動移行設定処理プログラム
1222 ペア処理プログラム
1223 IO処理プログラム
1224 ダンプ処理プログラム
1225 モニタ周期処理プログラム
1226 自動移行処理プログラム
200 ホスト装置
300 管理端末
Claims (12)
- 複数のマイクロプロセッサと、
複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域と、
前記複数の記憶領域のうち1以上の前記記憶領域に対するデータの入出力を担当する前記マイクロプロセッサを、前記記憶領域のオーナ権を有する前記マイクロプロセッサとして管理する制御部と、
を備え、
前記マイクロプロセッサは、受信したIO要求に応じて、データの入出力を担当する前記記憶領域のデータを外部の物理ドライブに記憶させるダンプ処理を実行し、
前記制御部は、
前記複数のマイクロプロセッサが担当する前記ダンプ処理の処理負荷の偏りに応じて、前記マイクロプロセッサの前記オーナ権を移動する
ことを特徴とする、ストレージ装置。 - 前記制御部は、
前記マイクロプロセッサの稼働率または平均レスポンスを含む前記マイクロプロセッサの利用状況に応じて前記マイクロプロセッサの前記オーナ権を移動する
ことを特徴とする、請求項1に記載のストレージ装置。 - 前記制御部は、
前記マイクロプロセッサと前記マイクロプロセッサが実行する前記ダンプ処理の対象となる記憶領域の数とを対応付けて管理し、
実行する前記ダンプ処理の記憶領域の数が最大の前記マイクロプロセッサを前記オーナ権の移動元のマイクロプロセッサとして選択し、実行する前記ダンプ処理の記憶領域の数が最小の前記マイクロプロセッサを前記オーナ権の移動先のマイクロプロセッサとして選択し、前記移動元のマイクロプロセッサから前記移動先のマイクロプロセッサにオーナ権を移動する
ことを特徴とする、請求項2に記載のストレージ装置。 - 前記制御部は、
実行する前記ダンプ処理の記憶領域の数が最大の前記マイクロプロセッサが複数存在する場合に、前記稼働率が高い前記マイクロプロセッサ、または、前記平均レスポンスが低い前記マイクロプロセッサを前記オーナ権の移動元のマイクロプロセッサとして選択する
ことを特徴とする、請求項3に記載のストレージ装置。 - 前記制御部は、
実行する前記ダンプ処理の記憶領域の数が最小の前記マイクロプロセッサが複数存在する場合に、前記稼働率が低い前記マイクロプロセッサ、または、前記平均レスポンスが高い前記マイクロプロセッサを前記オーナ権の移動先のマイクロプロセッサとして選択する
ことを特徴とする、請求項4に記載のストレージ装置。 - 前記制御部は、
受信したIOパターンをもとに、前記マイクロプロセッサが前記ダンプ処理を開始または終了することを判断する
ことを特徴とする、請求項5に記載のストレージ装置。 - 前記制御部は、
前記受信したIOパターンが前記記憶領域のすべての領域を読み込むRDTRKコマンドであり、該RDTRKコマンドのリード対象が他の記憶領域とコピーペアを形成している記憶領域であり、該RDTRKコマンドを所定間隔で連続して受信した場合に、前記マイクロプロセッサによる前記ダンプ処理が開始したと判断する
ことを特徴とする、請求項6に記載のストレージ装置。 - 前記制御部は、
前記RDTRKコマンドを所定間隔で連続して受信していない場合、前記ダンプ処理の対象の記憶領域に対して通常のトランザクション処理を受信した場合、前記ダンプ処理の対象の前記記憶領域の最後尾に対して前記RDTRKコマンドが発行された場合に、前記マイクロプロセッサによる前記ダンプ処理が終了したと判断する
ことを特徴とする、請求項7に記載のストレージ装置。 - 前記制御部は、
前記複数のマイクロプロセッサのうち、前記ダンプ処理を実行させないマイクロプロセッサを特定し、
該マイクロプロセッサが前記ダンプ処理を実行する場合に、該マイクロプロセッサの前記ダンプ処理のオーナ権を他のマイクロプロセッサに移動する
ことを特徴とする、請求項5に記載のストレージ装置。 - 前記制御部は、
前記複数のマイクロプロセッサのうち、前記ダンプ処理を優先的に実行させるマイクロプロセッサを特定し、
該マイクロプロセッサに、他のマイクロプロセッサの前記ダンプ処理のオーナ権を優先的に移動させる
ことを特徴とする、請求項5に記載のストレージ装置。 - 前記制御部は、
予め定められた優先情報にしたがって、前記マイクロプロセッサのオーナ権を移動し、
前記優先情報は、前記ダンプ処理の記憶領域の数、前記マイクロプロセッサの稼働率または平均レスポンスの情報を含む
ことを特徴とする、請求項1に記載のストレージ装置。 - 複数のマイクロプロセッサと、
複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域と、
前記複数の記憶領域のうち1以上の前記記憶領域に対するデータの入出力を担当する前記マイクロプロセッサを、前記記憶領域のオーナ権を有する前記マイクロプロセッサとして管理する制御部と、
を備え、
前記マイクロプロセッサは、受信したIO要求に応じて、データの入出力を担当する前記記憶領域のデータを外部の物理ドライブに記憶させるダンプ処理を実行し、
前記制御部は、
前記受信したIOパターンが前記記憶領域のすべての領域を読み込むRDTRKコマンドであり、該RDTRKコマンドのリード対象が他の記憶領域とコピーペアを形成している記憶領域であり、RDTRKコマンドを所定間隔で連続して受信した場合に、前記マイクロプロセッサが前記ダンプ処理を開始したと判断し、
前記RDTRKコマンドを所定間隔で連続して受信していない場合、前記ダンプ処理の対象の前記記憶領域に対して通常のトランザクション処理を受信した場合、前記ダンプ処理の対象の前記記憶領域の最後尾に対して前記RDTRKコマンドが発行された場合に、前記マイクロプロセッサが前記ダンプ処理を終了したと判断し、
前記複数のマイクロプロセッサが担当する前記ダンプ処理の処理負荷の偏り、前記MPPKの稼働率または平均レスポンスを含む前記MPPKの利用状況の情報を取得し、
前記マイクロプロセッサと前記マイクロプロセッサが実行する前記ダンプ処理の記憶領域の数とを対応付けて管理し、
実行する前記ダンプ処理の記憶領域の数が最大の前記マイクロプロセッサを前記オーナ権の移動元のマイクロプロセッサとして選択し、実行する前記ダンプ処理の記憶領域の数が最小の前記マイクロプロセッサを前記オーナ権の移動先のマイクロプロセッサとして選択し、
実行する前記ダンプ処理の記憶領域の数が最大の前記マイクロプロセッサが複数存在する場合に、前記稼働率が高い前記マイクロプロセッサ、または、前記平均レスポンスが低い前記マイクロプロセッサを前記オーナ権の移動元のマイクロプロセッサとして選択し、
実行する前記ダンプ処理の記憶領域の数が最小の前記マイクロプロセッサが複数存在する場合に、前記稼働率が低い前記マイクロプロセッサ、または、前記平均レスポンスが高い前記マイクロプロセッサを前記オーナ権の移動先のマイクロプロセッサとして選択する
ことを特徴とする、ストレージ装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2013/050372 WO2014109045A1 (ja) | 2013-01-11 | 2013-01-11 | ストレージ装置及びデータ管理方法 |
| US14/347,085 US9052827B1 (en) | 2013-01-11 | 2013-01-11 | Storage apparatus and data management method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2013/050372 WO2014109045A1 (ja) | 2013-01-11 | 2013-01-11 | ストレージ装置及びデータ管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014109045A1 true WO2014109045A1 (ja) | 2014-07-17 |
Family
ID=51166714
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2013/050372 Ceased WO2014109045A1 (ja) | 2013-01-11 | 2013-01-11 | ストレージ装置及びデータ管理方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9052827B1 (ja) |
| WO (1) | WO2014109045A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002091807A (ja) * | 2000-09-14 | 2002-03-29 | Hitachi Ltd | 差分データ取得機能 |
| JP2008269424A (ja) * | 2007-04-23 | 2008-11-06 | Hitachi Ltd | ストレージシステム、ストレージシステム管理方法、及び計算機システム |
| JP2012514776A (ja) * | 2009-06-18 | 2012-06-28 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置の制御方法 |
| JP2012514778A (ja) * | 2009-05-27 | 2012-06-28 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの処理効率向上方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012164633A1 (en) | 2011-06-03 | 2012-12-06 | Hitachi, Ltd. | Storage apparatus and storage apparatus management method |
-
2013
- 2013-01-11 WO PCT/JP2013/050372 patent/WO2014109045A1/ja not_active Ceased
- 2013-01-11 US US14/347,085 patent/US9052827B1/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002091807A (ja) * | 2000-09-14 | 2002-03-29 | Hitachi Ltd | 差分データ取得機能 |
| JP2008269424A (ja) * | 2007-04-23 | 2008-11-06 | Hitachi Ltd | ストレージシステム、ストレージシステム管理方法、及び計算機システム |
| JP2012514778A (ja) * | 2009-05-27 | 2012-06-28 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの処理効率向上方法 |
| JP2012514776A (ja) * | 2009-06-18 | 2012-06-28 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置の制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150160870A1 (en) | 2015-06-11 |
| US9052827B1 (en) | 2015-06-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7472240B2 (en) | Storage system with plural control device affiliations | |
| US7124143B2 (en) | Data migration in storage system | |
| US8095760B2 (en) | Adjustment number of expanders in storage system | |
| US8650381B2 (en) | Storage system using real data storage area dynamic allocation method | |
| US8661217B2 (en) | Defragmentation of data storage pools | |
| JP4990828B2 (ja) | ストレージ装置及びこれの制御方法 | |
| WO2012085968A1 (en) | Storage apparatus and storage management method | |
| US20070277011A1 (en) | Storage system and data management method | |
| US10664193B2 (en) | Storage system for improved efficiency of parity generation and minimized processor load | |
| JP4684864B2 (ja) | 記憶装置システム及び記憶制御方法 | |
| JP6617461B2 (ja) | 制御装置、制御プログラム、及び制御方法 | |
| JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
| JP5183363B2 (ja) | 論理ボリュームのデータ移動方法とストレージシステムおよび管理計算機 | |
| US8914336B2 (en) | Storage device and data storage control method | |
| JP4289084B2 (ja) | 仮想一元化されたネットワークストレージ間のディスク残量平準化方法 | |
| WO2014109045A1 (ja) | ストレージ装置及びデータ管理方法 | |
| CN102132245B (zh) | 具有执行格式化或粉碎功能的存储系统 | |
| US10747432B2 (en) | Storage device, storage system, and storage control method | |
| US8055815B2 (en) | Optimal paths with SCSI I/O referrals | |
| JP2013029911A (ja) | 制御装置、制御方法およびストレージ装置 | |
| US20170123731A1 (en) | Management method and management apparatus, and storage medium | |
| US20160259572A1 (en) | Storage system and storage control method | |
| TW202141289A (zh) | 利用索引物件來進行簡易儲存服務無縫遷移的方法、主裝置以及儲存伺服器 | |
| JP2008065559A (ja) | ストレージ装置、ストレージシステム、ストレージ装置の制御方法 | |
| JP2011113306A (ja) | ストレージ装置に対する操作を管理するシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 14347085 Country of ref document: US |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13870454 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13870454 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |