WO2014087497A1 - ストレージ装置及びその制御方法 - Google Patents
ストレージ装置及びその制御方法 Download PDFInfo
- Publication number
- WO2014087497A1 WO2014087497A1 PCT/JP2012/081449 JP2012081449W WO2014087497A1 WO 2014087497 A1 WO2014087497 A1 WO 2014087497A1 JP 2012081449 W JP2012081449 W JP 2012081449W WO 2014087497 A1 WO2014087497 A1 WO 2014087497A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pool
- storage
- mode
- threshold
- storage mode
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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 that employs storage virtualization technology and a control method thereof.
- Patent Document 1 JP 2012-516498 A (Patent Document 1) as background art in this technical field.
- This publication states that “the system for dynamic storage tiering has a means for detecting a storage hotspot located in the first storage pool and a storage located in the first storage pool according to the detection result. Means for creating a first point-in-time copy of the virtual volume containing the hotspot in the second storage pool ”(see summary).
- Patent Document 1 discloses a technique for storing data with high access frequency in a high-performance device and storing data with low access frequency in a low-performance device.
- snapshot volumes are mainly used for backup purposes.
- POOL pool
- snapshot volumes are mainly used for backup purposes.
- it is required to arrange data so as to reduce the pool (POOL) usage capacity.
- POOL pool
- a form in which a plurality of created snapshot data is assigned to a virtual server and each is used in an online environment has appeared.
- the storage device is required to have high access performance to the snapshot data.
- the present invention provides a technique for dynamically changing the arrangement of snapshot data in the pool according to the use status of the pool.
- the present invention has a function of dynamically switching the arrangement of snapshot data allocated to a pool according to the use status of the pool. More specifically, the present invention has a function of dynamically switching between a storage mode in which snapshot data is aggregated in a certain pool volume and a storage mode in which the snapshot data is distributed to a plurality of pool volumes.
- the arrangement of snapshot data can be dynamically switched according to the usage status of the pool.
- FIG. 6 is a diagram for explaining conditions under which switching from an access performance priority mode to a pool capacity compression mode is valid.
- the flowchart which shows the specific example of switching determination operation
- the figure explaining IO observation table The figure explaining the observation processing operation
- movement of a pool storage mode (example switching from pool capacity compression mode to access performance emphasis mode).
- the figure explaining table update operation performed at the time of switching from pool capacity compression mode to access performance emphasis mode.
- FIG. 1 shows an image of dynamic switching of the pool storage mode provided in this specification.
- the storage apparatus changes the pool storage mode from the pool capacity compression mode to the snapshot data access performance emphasis mode (hereinafter referred to as “access performance emphasis”) according to the capacity usage rate and access status of the pool. Mode ”) or a function of dynamically switching from the access performance priority mode to the pool capacity compression mode.
- the pool capacity compression mode refers to a storage mode in which the actual capacity that can be managed can be increased compared to the access performance priority mode.
- the pool capacity compression mode slots are allocated in one page (PAGE) by being left-justified, and the use capacity of the pool is minimized.
- the access performance emphasis mode is a storage mode that can improve response performance and throughput performance when accessing a snapshot volume compared to the pool capacity compression mode.
- response performance and throughput performance are improved through “reduction of address translation process” and “sequential access on virtual addresses”.
- the arrangement of the snapshot data is always optimized according to the use state of the pool.
- FIG. 2 shows a configuration example of a storage apparatus equipped with the above-described dynamic switching function of the pool storage mode.
- the storage apparatus 1 includes a control unit 10, a storage unit 20, and a management PC 30.
- the control unit 10 includes a target port 11, an initiator port 12, a channel adapter (CHA) 13, a cache memory (CACHE) 14, a shared memory (SM) 15, and a disk adapter (DKA) 16.
- CH channel adapter
- CACHE cache memory
- SM shared memory
- DKA disk adapter
- the target port 11 is an interface I / F that receives the frame of the READ / WRITE command from the HOST or transmits the response frame to the HOST.
- the connection destination of the target port 11 may be an initiator port of another physical storage device.
- the initiator port 12 is an interface I / F that issues a READ / WRITE command frame to another physical storage device or receives a response frame from another physical storage device.
- the initiator port 12 is connected to the target port of another physical storage device in order to replace the HOST.
- the channel adapter (CHA) 13 executes bidirectional copy control, anti-HOST control, control of other physical storage devices, and the like.
- the channel adapter 13 also executes a dynamic switching process for the pool storage mode. Details of the pool storage mode dynamic switching process will be described later.
- the cache memory (CACHE) 14 is a memory area used for holding READ / WRITE data.
- the shared memory (SM) 15 is a memory area that holds management information used for bidirectional copy control. The management information here manages the correspondence of the address space.
- the disk adapter (DKA) 16 is an interface I / F for inputting / outputting READ / WRITE data to / from the storage unit.
- the storage unit 20 is configured by a storage medium (physical device) such as an HDD or an SSD.
- a storage medium such as an HDD or an SSD.
- the management PC 30 is a terminal for setting management information for realizing bidirectional copying, and may be an SVP / remote console.
- FIG. 3 shows an example of data arrangement in the pool usage capacity emphasis mode.
- the upper diagram shows an example of data arrangement of slots in three physical volumes (shown by broken lines).
- the lower diagram shows the data arrangement of the slots in the pool.
- the slots corresponding to the three physical volumes are aggregated into one page and stored from the head position in the left-justified manner. Further, the page here is stored in one pool volume in the pool.
- This data arrangement is suitable for users who place importance on reducing the pool capacity because it is difficult to waste the pool address space.
- slots corresponding to a plurality of physical volumes are mixed in the page, and the slot arrangement does not necessarily match the slot arrangement on the physical volume side. For this reason, many address conversion processes are required to access data stored in this pool usage capacity emphasis mode, and the access performance is reduced accordingly. For this reason, the pool usage capacity priority mode is suitable for storing data with low access frequency, such as backup data storage.
- FIG. 4 shows an example of data arrangement in the access performance emphasis mode.
- the upper diagram shows an example of data arrangement of slots in three physical volumes, as in FIG.
- the lower diagram shows the data arrangement of the slots in the pool.
- the access performance emphasis mode three pool volumes are secured in the pool so as to correspond to the three physical volumes.
- the slots of the corresponding physical volume are stored sequentially.
- storing slots in the corresponding volume is not always left-justified.
- the slots corresponding to S-VOL # 1 and S-VOL # 2 of the physical volume are arranged in the latter half of the page.
- This data arrangement consumes a pool volume and a page for each physical volume, so that the pool capacity is likely to be wasted.
- the access performance is improved.
- access to the physical volume is distributed without being concentrated on one physical volume, so that high access performance is realized. Therefore, the access performance emphasis mode is suitable when a snapshot volume is assigned to a virtual server and used in an online environment.
- the management information (table) is currently stored in the shared memory 15.
- the shared memory 15 may be more expensive than a hard disk or the like, and there is a need to change the storage location of management information (table) to a large-capacity memory such as a hard disk.
- a large-capacity memory such as a hard disk has lower access performance than a volatile memory.
- the management information (table) is managed on the hard disk side (including the case where only a part is managed), it is required to compress the control information (table) and reduce the access frequency.
- a pool storage mode that places importance on access performance may be required depending on the system configuration.
- the access performance and pool usage change depending on the arrangement of the snapshot data. For example, in order to minimize pool usage, when managing slots in front-aligned page (42MB) units, address conversion processing is performed twice in total from snapshot data address ⁇ virtual address ⁇ pool data address. is necessary.
- FIG. 5 shows a switching effective condition from the access performance priority mode to the pool capacity compression mode.
- FIG. 5 shows the relationship between the combination of the pool usage rate, the pool aggregation rate, and the random IO ratio, and the mode switching effect.
- the pool usage rate is information indicating the ratio of the used capacity to the capacity allocated to the pool. The larger the pool usage rate, the smaller the free capacity.
- the pool aggregation rate is information indicating the degree of aggregation of the used area in the capacity allocated to the pool. As the pool aggregation rate is smaller, the used area is more dispersed.
- the random IO ratio indicates a ratio of random IO to all IOs.
- FIG. 5 shows that when both the pool usage rate and the random IO ratio are high and the pool aggregation rate is low, an effect is recognized in switching the pool storage mode to the pool capacity compression mode.
- FIG. 6 shows a determination operation example executed when the current pool storage operation is in the access performance emphasis mode.
- This determination operation is executed by the channel adapter (CHA) 13.
- the determination operation is automatically executed periodically or when a predetermined condition is satisfied.
- the determination operation by the channel adapter 13 requires a threshold value for determining the level of each parameter.
- FIG. 7 shows an example of a pool storage mode switching threshold value table. The numerical values shown in FIG. 7 are default values. However, the threshold value may be individually changed by the user. Since the user can freely change the threshold value, the ease or difficulty of switching the pool storage mode can be optimized according to the user's application. Further, instead of each threshold value, a numerical value giving an “effective” range or a numerical value giving an “invalid” range may be used.
- the channel adapter 13 determines whether the pool usage rate at the time of determination exceeds 80% and the pool aggregation rate is less than 20% (step S1). If a negative result is obtained in step S1, the channel adapter 13 determines that no special effect is recognized in the change to the pool capacity compression mode, and ends this determination operation. If a positive result is obtained in step S1, the channel adapter 13 determines whether or not the random IO ratio is greater than 80% (step S2). Even if a negative result is obtained in step S2, the channel adapter 13 determines that no special effect is recognized in the change to the pool capacity compression mode, and ends this determination operation. On the other hand, if a positive result is obtained in step S2, the channel adapter 13 ends the determination operation after switching the pool storage mode to the pool capacity compression mode (step S3).
- the random IO ratio is calculated by the channel adapter 13 based on the count number of the IO observation table shown in FIG.
- the channel adapter 13 divides the random IO count by the total value of the random IO count and the sequential IO count to calculate the random IO ratio.
- the count number of the IO observation table is sequentially updated according to the flowchart shown in FIG. This update process is also executed by the channel adapter 13.
- the channel adapter 13 executes the requested IO process (step S11).
- the channel adapter 13 determines whether the IO process is a random IO (step S12). When a positive result is obtained, the channel adapter 13 counts up the number of random IOs in the IO observation table (step S13). When a negative result is obtained, the channel adapter 13 counts up the number of sequential IOs in the IO observation table. (Step S14).
- FIG. 10 shows the conditions for switching from the pool capacity compression mode to the access performance priority mode.
- FIG. 10 shows a relationship between the combination of the pool usage rate, the pool aggregation rate, and the sequential IO ratio, and the mode switching effect.
- the sequential IO ratio indicates the ratio of the sequential IO to the total IO.
- the sequential IO ratio is large, the number of times of reading and writing is generally reduced, and the accessibility is improved.
- FIG. 10 shows that when both the pool usage rate and the pool aggregation rate are low and the sequential IO ratio is high, an effect is recognized in switching the pool storage mode to the access performance priority mode.
- FIG. 11 shows a determination operation example executed when the current pool storage operation is the pool capacity compression mode. This determination operation is also executed by the channel adapter (CHA) 13. This determination operation is also automatically executed periodically or when a predetermined condition is satisfied. The threshold necessary for the determination operation is read from the pool storage mode switching determination threshold table shown in FIG.
- the channel adapter 13 determines whether the pool usage rate at the time of determination is less than 20% and the pool aggregation rate is less than 80% (step S21). If a negative result is obtained in step S21, the channel adapter 13 determines that no special effect is recognized in the change to the access performance priority mode, and ends this determination operation. If a positive result is obtained in step S21, the channel adapter 13 determines whether or not the sequential IO ratio is greater than 80% (step S22). Even if a negative result is obtained in step S22, the channel adapter 13 determines that no special effect is recognized in the change to the access performance emphasis mode, and ends this determination operation. On the other hand, if a positive result is obtained in step S22, the channel adapter 13 ends the determination operation after switching the pool storage mode to the access performance priority mode (step S23).
- FIG. 12 shows processing operations executed when the pool storage mode is switched from the access performance emphasis mode pool to the pool capacity compression mode. The processing operation is also executed by the channel adapter 13.
- the channel adapter 13 acquires the number of the pool whose pool storage mode has been switched (step S101).
- the channel adapter 13 calculates the physical volume number SVOL # associated with the number of the pool that is the target of switching the pool storage mode (step S102).
- the channel adapter 13 executes a loop process for the number of SVOL # s (step 103). The following processing is executed for each specific physical volume that is the processing target.
- the channel adapter 13 executes the loop processing shown below for the number of slots in the physical volume to be processed (step S104).
- the channel adapter 13 refers to the SVOLSLOT # ⁇ POOLVOLSLOT # conversion table shown in FIG. 13, the SVOLSLOT # allocation state is “allocated”, and the operation mode of SVOLSLOT # is not “pool capacity compression”. It is determined whether or not (that is, “access performance priority”) (step S105).
- the table example shown in FIG. 13 shows a case where any slot of any physical volume is “allocated” and “access performance is important”.
- step S105 If a positive result is obtained in step S105, the channel adapter 13 executes a new page securing process (step S106). If a negative result is obtained in step S105, the channel adapter 13 skips steps S106 to S111 described later, and proceeds to step S112.
- step S106 the channel adapter 13 refers to the PAGE # management table shown in FIG. 14 and calculates the top slot number SLOT # of the designated page (step S107). This processing is necessary for storing slots in the page in the left-justified manner.
- the channel adapter 13 executes the following loop process for the number of slots in the page (step S108).
- the channel adapter 13 sets the slot number SLOT # corresponding to the execution time of the loop process as “movement destination POOLVOL # SLOT #” in each execution time.
- the channel adapter 13 sets the data of the slot number in the source page (the page to which the POOLVOLSLOT # corresponding to the SVOLSLOT # for which an affirmative result was obtained in step S105) to “destination POOLVOL # SLOT #”. Copy (step S109).
- the channel adapter 13 sets the slot number POOLVOLSLOT # on the pool volume associated with the slot number SVLOSLOT # on the physical volume moved to “move destination POOLVOL # SLOT #” to “move destination POOLVOL # SLOT #”. (Step S110). Specifically, the correspondence relationship of the table shown in FIG. 13 is updated.
- the channel adapter 13 changes the allocation state corresponding to “destination POOLVOL # SLOT #” in the table shown in FIG. 13 to “allocated” and the operation mode to “pool capacity compression” (step S111). .
- the processes from step S108 to step S111 are repeatedly executed for the number of slots constituting the page.
- the channel adapter 13 releases the page that is the migration source in page granularity units (step S112). .
- the channel adapter 13 returns to step S104, and repeats the processing from step S105 to step 112 for another slot in the same physical volume.
- the channel adapter 13 returns to step 103 and repeats the processing from step 104 to step 112 for another physical volume.
- FIG. 15 shows processing operations executed when the pool storage mode is switched from the pool capacity compression mode to the access performance-oriented mode pool. The processing operation is also executed by the channel adapter 13.
- the channel adapter 13 acquires the number of the pool whose pool storage mode has been switched (step S201).
- the channel adapter 13 calculates a pool volume number POOLVOL # associated with the number of the pool for which the pool storage mode has been switched (step S202). If the calculated pool volume number POOLVOL # is plural, the channel adapter 13 executes a loop process for the number of the POOLVOL # (step 203). The following process is executed for each specific pool to be processed.
- the channel adapter 13 executes the following loop processing as many times as the number of slots in the processing target pool (step S204).
- the channel adapter 13 refers to the POOLSLOT # ⁇ SVOLSLOT # conversion table shown in FIG. 16, the POOLVOLSLOT # allocation state is “allocated”, and the operation mode of POOLVOLSLOT # is “pool capacity compression”. Whether or not (step S205).
- the table example shown in FIG. 16 shows a case where any slot of any pool volume is “allocated” and “pool capacity compression”.
- step S205 If a positive result is obtained in step S205, the channel adapter 13 proceeds to step S206. If a negative result is obtained in step S205, the channel adapter 13 skips steps S206 to S214 described later, and proceeds to step S215. .
- the channel adapter 13 determines the page number of the pool volume corresponding to POOLVOLSLOT # calculated for the POOLSLOT # ⁇ SVOLSLOT # conversion table shown in FIG. 16 and the SVOLSLOT ⁇ POOLVOLSLOT # conversion table shown in FIG. It is determined whether or not the calculated pool volume page number corresponding to POOLVOLSLOT # does not match.
- step S207 the channel adapter 13 executes a new page securing process. Specifically, the mode switching target pool number is designated as the page number of the pool volume. The pool number is the number acquired in step S201. On the other hand, if a negative result is obtained in step S206, the channel adapter 13 uses the pool volume page number corresponding to POOLVOLSLOT # calculated for the SVOLSLOT ⁇ POOLVOLSLOT # conversion table shown in FIG. 13 as the page number of the pool volume. A number is used (step S208).
- the channel adapter 13 refers to the PAGE # management table shown in FIG. 14 and calculates the first slot number SLOT # of the determined page number (step S209). Next, the channel adapter 13 designates the remainder number obtained by dividing the slot number of the physical volume by the page granularity (that is, the number of slots constituting the page) as the storage relative position slot number (step S210).
- the channel adapter 13 designates the sum of the value calculated in step S209 and the value calculated in step S210 as the slot number of the pool volume that is the migration destination (step S211).
- the channel adapter 13 copies the data of the migration source POOLVOL # SLOT # to the slot number in the page specified by the “migration destination POOLVOL # SLOT #” ( Step S212).
- the channel adapter 13 refers to the POOLSLOT # ⁇ SVOLSLOT # conversion table shown in FIG. 16 and changes the allocation state of the destination POOLVOL # SLOT # to “allocated” and associates it with the destination POOLVOL # SLOT #.
- the slot number of the physical volume is changed (step S213).
- the channel adapter 13 refers to the POOLSLOT # ⁇ SVOLSLOT # conversion table shown in FIG. 16 and changes the operation mode indicated by the slot number of the physical volume changed in step S213 to “access performance-oriented”.
- the POOLSLOT # indicated by the slot number of the physical volume changed in S213 is changed to the migration destination POOLVOL # SLOT # (step S214).
- step S215 the channel adapter 13 releases the page that is the migration source in units of page granularity. This process is executed when all slots in the page are moved.
- the channel adapter 13 returns to step S204, and repeats the processing from step S205 to step 215 for another slot in the same pool volume.
- the channel adapter 13 returns to step 203 and repeats the processing from step 204 to step 215 for another pool volume.
- the data arrangement of the snapshot volume can be dynamically changed according to the use status of the pool.
- the storage device accesses the pool storage mode. It is possible to automatically switch from the performance-oriented mode to the pool capacity compression mode.
- pool storage mode slots are stored in front of each page in the pool, so that the pool capacity can be utilized to the maximum extent possible.
- the pool usage rate and pool aggregation rate decrease again due to an increase in the physical volume allocated to the pool or deletion of data from the pool, and the sequential IO ratio increases at the same time, the pool storage mode is changed to the access performance priority mode. Can be switched automatically.
- the storage device in the case of a user who allocates a snapshot volume to a virtual server and uses it online (for example, when both the pool usage rate and the pool aggregation rate are low and the sequential IO ratio is high), the storage device according to this embodiment
- the pool storage mode can be automatically switched from the pool capacity compression mode to the access performance priority mode.
- the pool storage mode is automatically changed to the pool capacity compression mode when the pool usage rate and the random IO ratio increase during operation and the pool aggregation rate decreases. It can be changed to cope with pressure on the pool capacity.
- the data arrangement can be changed to appropriate switching according to the user's usage (pool usage status).
- the access performance priority mode may be preferentially selected as the pool storage mode.
- the threshold used for the switching determination may be set so that it can be easily changed to, for example, the access performance emphasis mode and not easily changed to the pool capacity compression mode.
- the switching from the access performance priority mode to the pool capacity compression mode is determined based on the pool usage rate, the pool aggregation rate, and the random IO ratio has been described.
- Switching from the access performance priority mode to the pool capacity compression mode may be determined using only the usage rate and the pool aggregation rate. In this case, when the pool usage rate is high and the pool aggregation rate is low, it may be determined that there is an effect of switching from the access performance priority mode to the pool capacity compression mode.
- Switching from the pool capacity compression mode to the access performance priority mode may be determined using only the usage rate and the pool aggregation rate. In this case, when both the pool usage rate and the pool aggregation rate are low, it may be determined that there is an effect of switching from the pool capacity compression mode to the access performance priority mode.
- each of the above-described configurations, functions, processing units, processing means, etc. can be realized as hardware by designing a part or all of them with, for example, an integrated circuit.
- Information such as programs, tables, and files for realizing each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
- the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本発明は、プール内におけるスナップショットデータの配置を、プールの使用状況に応じて動的に切り替える機能を提供する。より具体的には、本発明は、プールの使用状況に応じ、プールに適用する格納モードを、スナップショットデータを特定のプールボリュームに集約する格納モードから複数のプールボリュームに分散する格納モードに、又は、スナップショットデータを複数のプールボリュームに分散する格納モードから特定のプールボリュームに集約する格納モードに動的に切り替える機能を提供する。
Description
本発明は、ストレージ仮想化技術を採用するストレージ装置及びその制御方法に関する。
本技術分野の背景技術として、特開2012-516498号公報(特許文献1)がある。この公報には、「ダイナミックストレージ階層化のためのシステムは、第1のストレージプールに位置しているストレージホットスポットを検出する手段と、検出結果に従って、第1のストレージプールに位置しているストレージホットスポットを含んでいる仮想ボリュームの第1のポイントインタイムコピーを、第2のストレージプール内に作成する手段と、を含んでいる。」と記載されている(要約参照)。要するに、特許文献1には、アクセス頻度の高いデータを高性能デバイスに格納し、アクセス頻度の低いデータを低性能デバイスに格納する技術が開示されている。
従来、スナップショットボリューム(セカンダリボリューム)は、主にバックアップ用途で用いられている。バックアップ用途であれば、プール(POOL)の使用容量を低減するようにデータを配置することが求められる。一方で、最近では、作成された複数のスナップショットデータを仮想サーバに割り当て、それぞれをオンライン環境で使用する形態も現われている。この場合、ストレージ装置には、スナップショットデータへの高いアクセス性能が求められる。
そこで、本発明は、プール内におけるスナップショットデータの配置を、プールの使用状況に応じて動的に変更するための技術を提供する
上記課題を解決するために、本発明は、プールの使用状況に応じて、プールに割り当てられたスナップショットデータの配置を動的に切り替える機能を有する。より具体的には、本発明は、スナップショットデータを、あるプールボリュームに集約する格納モードと複数のプールボリュームに分散する格納モードを動的に切り替える機能を有する。
本発明によれば、スナップショットデータの配置をプールの使用状況に応じて動的に切り替えることができる。前述した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
以下、本発明の実施の形態を、図面を用いて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能には同一または関連する符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様の部分についての説明は原則として繰り返さないものとする。
[プール格納モードの動的切替]
図1に、本明細書で提供するプール格納モードの動的切替のイメージを示す。
図1に、本明細書で提供するプール格納モードの動的切替のイメージを示す。
図1に示すように、実施例に係るストレージ装置は、プールの容量使用率及びアクセス状況に応じ、プール格納モードを、プール容量圧縮モードからスナップショットデータアクセス性能重視モード(以下、「アクセス性能重視モード」という)に、又は、アクセス性能重視モードからプール容量圧縮モードに動的に切り替える機能を有している。
ここで、プール容量圧縮モードは、アクセス性能重視モードと比較して、管理できる実容量を増加できる格納モードをいう。プール容量圧縮モードでは、スロットが1つのページ(PAGE)内に前詰めで割り当てられ、プールの使用容量の最小化が実現される。
一方、アクセス性能重視モードは、プール容量圧縮モードと比較して、スナップショットボリュームへのアクセス時におけるレスポンス性能及びスループット性能を向上できる格納モードをいう。アクセス性能重視モードでは、「アドレス変換過程の処理の削減」や「仮想アドレス上でのシーケンシャルアクセス」を通じ、レスポンス性能やスループット性能の向上を実現する。
このプール格納モードの動的切替機能を通じ、本実施例に係るストレージ装置では、そのスナップショットデータの配置がプールの使用状態に応じて常に最適化される。
[システム全体の構成]
図2に、前述したプール格納モードの動的切替機能を搭載するストレージ装置の構成例を示す。本実施例に係るストレージ装置1は、制御ユニット10と、ストレージユニット20と、管理PC30とで構成される。制御ユニット10は、ターゲットポート11、イニシエータポート12、チャネルアダプタ(CHA)13、キャッシュメモリ(CACHE)14、共有メモリ(SM)15、ディスクアダプタ(DKA)16で構成される。
図2に、前述したプール格納モードの動的切替機能を搭載するストレージ装置の構成例を示す。本実施例に係るストレージ装置1は、制御ユニット10と、ストレージユニット20と、管理PC30とで構成される。制御ユニット10は、ターゲットポート11、イニシエータポート12、チャネルアダプタ(CHA)13、キャッシュメモリ(CACHE)14、共有メモリ(SM)15、ディスクアダプタ(DKA)16で構成される。
ターゲットポート11は、HOSTからREAD/WRITEコマンドのフレームを受信する、又は、その応答フレームをHOSTに送信するインターフェースI/Fである。ターゲットポート11の接続先は、他の物理ストレージ装置のイニシエータポートでも良い。
イニシエータポート12は、他の物理ストレージ装置にREAD/WRITEコマンドのフレームを発行する、又は、他の物理ストレージ装置から応答フレームを受信するインターフェースI/Fである。イニシエータポート12は、HOSTに成り代わるため、他の物理ストレージ装置のターゲットポートに接続される。
チャネルアダプタ(CHA)13は、双方向のコピー制御、対HOST制御、他の物理ストレージ装置の制御等を実行する。また、チャネルアダプタ13は、プール格納モードの動的切替処理も実行する。プール格納モードの動的切替処理の詳細は後述する。
キャッシュメモリ(CACHE)14は、READ/WRITEデータの保持に使用されるメモリ領域である。共有メモリ(SM)15は、双方向のコピー制御で使用する管理情報を保持するメモリ領域である。ここでの管理情報は、アドレス空間の対応関係を管理する。ディスクアダプタ(DKA)16は、ストレージユニットとの間でREAD/WRITEデータを入出力するインターフェースI/Fである。
ストレージユニット20は、HDD、SSDなどの記憶媒体(物理デバイス)で構成される。例えばRAID(Redundant Arrays of Independent Disks)構成の複数のHDDで構成される。管理PC30は、双方向のコピーを実現するための管理情報を設定する端末であり、SVP/リモートコンソールでも良い。
[プール格納モード]
図3に、プール使用容量重視モードにおけるデータ配置例を示す。上段の図は、3つの物理ボリューム(破線で示す)内におけるスロットのデータ配置例を示している。下段の図は、プール内におけるスロットのデータ配置を示している。
図3に、プール使用容量重視モードにおけるデータ配置例を示す。上段の図は、3つの物理ボリューム(破線で示す)内におけるスロットのデータ配置例を示している。下段の図は、プール内におけるスロットのデータ配置を示している。
図に示すように、プール使用容量圧縮モードの場合、3つの物理ボリュームに対応するスロットは1つのページに集約され、かつ、先頭位置から前詰めで格納される。さらに、ここでのページは、プール内の1つのプールボリュームに格納される。このデータ配置はプールのアドレス空間に無駄が生じ難いため、プールの使用容量の低減を重視するユーザに適している。ただし、図に示すように、ページ内には複数の物理ボリュームに対応するスロットが混在し、しかも、そのスロットの並びは必ずしも物理ボリューム側でのスロットの並びと一致しない。このため、このプール使用容量重視モードで保存されたデータへのアクセスには、多くのアドレス変換処理が必要とされ、その分、アクセス性能は低下する。このため、プール使用容量重視モードはバックアップデータの保存のように、アクセス頻度が低いデータの保存に適している。
図4は、アクセス性能重視モードにおけるデータ配置例を示す。上段の図は、図3と同じく、3つの物理ボリューム内におけるスロットのデータ配置例を示している。また、下段の図は、プール内におけるスロットのデータ配置を示している。
図に示すように、アクセス性能重視モードの場合、3つの物理ボリュームに対応するようにプール内には3つのプールボリュームが確保される。各ボリューム内のページには、対応する物理ボリュームのスロットがシーケンシャルに格納される。ただし、このプール格納モードの場合、対応ボリュームへのスロットの格納は前詰めとは限らない。図4の場合、物理ボリュームのS-VOL#1とS-VOL#2に対応するスロットは、ページの後半部分に配置されている。
このデータ配置は、物理ボリューム毎にプールボリュームとページを消費するため、プールの使用容量に無駄が生じ易い。しかし、ページ内でのシーケンシャルなアクセスが可能なため、アクセス性能が高くなる。また、物理ボリュームへのアクセスは1つの物理ボリュームに集中せず分散されるため、高いアクセス性能が実現される。このため、アクセス性能重視モードは、スナップショットボリュームを仮想サーバに割り当ててオンライン環境で使用する場合に適している。
[プール格納モード切替の必要性]
スナップショット機能の実現には、仮想アドレスと実アドレスの割当管理が必要であり、その管理には、スナップショットの取得粒度に反比例し、かつ、プール容量に比例するデータサイズの管理情報(テーブル)が必要となる。プールに格納されるスナップショットデータの容量は、今後ますます増加すると考えられており、管理情報(テーブル)のデータサイズも今後ますます増加すると考えられる。
スナップショット機能の実現には、仮想アドレスと実アドレスの割当管理が必要であり、その管理には、スナップショットの取得粒度に反比例し、かつ、プール容量に比例するデータサイズの管理情報(テーブル)が必要となる。プールに格納されるスナップショットデータの容量は、今後ますます増加すると考えられており、管理情報(テーブル)のデータサイズも今後ますます増加すると考えられる。
ところで、管理情報(テーブル)は、現在、共有メモリ15に格納されている。ところが、共有メモリ15は、ハードディスク等に比べて価格が高いこともあり、管理情報(テーブル)の格納先をハードディスクのような大容量メモリに変更する必要性が生じている。
しかし、ハードディスク等の大容量メモリは、揮発性メモリよりもアクセス性能が低い。このため、管理情報(テーブル)をハードディスク側で管理する場合には(一部のみ管理する場合も含む)、制御情報(テーブル)の圧縮とアクセス頻度の低減が要求される。すなわち、スナップショットデータをバックアップ用途で格納する場合でも、システム構成によっては、アクセス性能を重視したプール格納モードが要求される場合がある。
また、プールから割り当てるページ粒度(42MB)とスナップショットデータの取得粒度(256KB)が異なる場合、スナップショットデータの配置次第でアクセス性能やプール使用量が変化する。例えばプール使用量を最小化するためにページ(42MB)単位にスロットを前詰めで管理する場合、アドレス変換処理が、スナップショットデータアドレス→仮想アドレス→プールデータアドレスへの総計2回のアドレス変換が必要である。
また、プールの使用容量を最小化する必要は無いが、スナップショットボリュームをオンライン環境で使用したいユーザに対しては、アクセス性を向上するために、アドレス変換を少なくする必要がある。
このように、プール使用容量の低減とアクセス性能の両立が要求されるスナップショット機能では、ユーザの用途やシステム構成に応じたプール格納モードの動的な切り替えが必要となる。
[プール格納モードの切替条件]
図5に、アクセス性能重視モードからプール容量圧縮モードへの切替有効条件を示す。図5は、プール使用率とプール集約率とランダムIO比率の組み合わせと、モード切替効果との関係を示している。プール使用率は、プールに割り当てられた容量のうち使用容量の割合を示す情報である。プール使用率が大きいほど空き容量は小さくなる。プール集約率は、プールに割り当てられた容量のうち使用領域の集約度合を示す情報である。プール集約率が小さいほど使用領域は分散する。ランダムIO比率は、全IOに占めるランダムIOの比率を示す。ランダムIO比率が大きいと、一般に読み書き回数が多くなり、アクセス性能が低下する。図5は、プール使用率とランダムIO比率が共に高く、プール集約率が低い場合に、プール格納モードをプール容量圧縮モードに切り替えることに効果が認められることを表している。
図5に、アクセス性能重視モードからプール容量圧縮モードへの切替有効条件を示す。図5は、プール使用率とプール集約率とランダムIO比率の組み合わせと、モード切替効果との関係を示している。プール使用率は、プールに割り当てられた容量のうち使用容量の割合を示す情報である。プール使用率が大きいほど空き容量は小さくなる。プール集約率は、プールに割り当てられた容量のうち使用領域の集約度合を示す情報である。プール集約率が小さいほど使用領域は分散する。ランダムIO比率は、全IOに占めるランダムIOの比率を示す。ランダムIO比率が大きいと、一般に読み書き回数が多くなり、アクセス性能が低下する。図5は、プール使用率とランダムIO比率が共に高く、プール集約率が低い場合に、プール格納モードをプール容量圧縮モードに切り替えることに効果が認められることを表している。
図6に、現在のプール格納動作がアクセス性能重視モードの場合に実行される判定動作例を示す。この判定動作は、チャネルアダプタ(CHA)13が実行する。なお、判定動作は、定期的に又は所定の条件の成立時に自動的に実行される。チャネルアダプタ13による判定動作では、各パラメータの高低を判断するための閾値が必要となる。図7に、プール格納モード切替判定用閾値のテーブル例を示す。図7に示す数値はデフォルト値である。もっとも、閾値の値は、ユーザが個別に変更できるようにしても良い。ユーザが閾値を自由に変更できることで、プール格納モードの切り替わり易さ又は困難さをユーザの用途に応じて最適化することができる。また、各閾値に代えて「有効」範囲を与える数値又は「無効」範囲を与える数値を用いても良い。
図6の説明に戻る。まず、チャネルアダプタ13は、判定時点におけるプール使用率が80%超かつプール集約率が20%未満か否かを判定する(ステップS1)。ステップS1で否定結果が得られた場合、チャネルアダプタ13は、プール容量圧縮モードへの変更に格別の効果が認められないと判定し、この判定動作を終了する。ステップS1で肯定結果が得られた場合、チャネルアダプタ13は、ランダムIO比率が80%超か否かを判定する(ステップS2)。ステップS2で否定結果が得られた場合も、チャネルアダプタ13は、プール容量圧縮モードへの変更に格別の効果が認められないと判定し、この判定動作を終了する。これに対し、ステップS2で肯定結果が得られた場合、チャネルアダプタ13は、プール格納モードをプール容量圧縮モードに切り替えた後、判定動作を終了する(ステップS3)。
なお、ランダムIO比率は、図8に示すIO観測テーブルのカウント数に基づいて、チャネルアダプタ13が計算する。チャネルアダプタ13は、ランダムIOのカウント数とシーケンシャルIOのカウント数の合計値でランダムIOのカウント数を除算し、ランダムIO比率を計算する。なお、IO観測テーブルのカウント数は図9に示すフローチャートに従って逐次更新される。この更新処理も、チャネルアダプタ13が実行する。まず、チャネルアダプタ13は、要求されたIO処理を実行する(ステップS11)。次に、チャネルアダプタ13は、当該IO処理がランダムIOか否か判定する(ステップS12)。肯定結果が得られた場合、チャネルアダプタ13はIO観測テーブルのランダムIO数をカウントUPし(ステップS13)、否定結果が得られた場合、チャネルアダプタ13はIO観測テーブルのシーケンシャルIO数をカウントUPする(ステップS14)。
次に、プール容量圧縮モードからアクセス性能重視モードにプール格納モードを切り替える場合について説明する。図10に、プール容量圧縮モードからアクセス性能重視モードへの切替有効条件を示す。図10は、プール使用率とプール集約率とシーケンシャルIO比率の組み合わせと、モード切替効果との関係を示している。このうち、シーケンシャルIO比率は、全IOに占めるシーケンシャルIOの比率を示す。シーケンシャルIO比率が大きいと、一般に読み書き回数が少なくなり、アクセス性が向上する。図10は、プール使用率とプール集約率が共に低く、シーケンシャルIO比率が高い場合に、プール格納モードをアクセス性能重視モードに切り替えることに効果が認められることを表している。
図11に、現在のプール格納動作がプール容量圧縮モードの場合に実行される判定動作例を示す。この判定動作も、チャネルアダプタ(CHA)13が実行する。なお、この判定動作も、定期的に又は所定の条件の成立時に自動的に実行される。判定動作で必要な閾値は図7に示すプール格納モード切替判定用閾値のテーブルから読み出される。
図11の説明に戻る。まず、チャネルアダプタ13は、判定時点におけるプール使用率が20%未満かつプール集約率が80%未満か否かを判定する(ステップS21)。ステップS21で否定結果が得られた場合、チャネルアダプタ13は、アクセス性能重視モードへの変更に格別の効果が認められないと判定し、この判定動作を終了する。ステップS21で肯定結果が得られた場合、チャネルアダプタ13は、シーケンシャルIO比率が80%超か否かを判定する(ステップS22)。ステップS22で否定結果が得られた場合も、チャネルアダプタ13は、アクセス性能重視モードへの変更に格別の効果が認められないと判定し、この判定動作を終了する。これに対し、ステップS22で肯定結果が得られた場合、チャネルアダプタ13は、プール格納モードをアクセス性能重視モードに切り替えた後、判定動作を終了する(ステップS23)。
[プール容量圧縮モードに切り替える際に実行される処理動作]
図12に、プール格納モードが、アクセス性能重視モードプールからプール容量圧縮モードに切り替えられる場合に実行される処理動作を示す。当該処理動作もチャネルアダプタ13が実行する。
図12に、プール格納モードが、アクセス性能重視モードプールからプール容量圧縮モードに切り替えられる場合に実行される処理動作を示す。当該処理動作もチャネルアダプタ13が実行する。
まず、チャネルアダプタ13は、プール格納モードが切り替えられたプールの番号を取得する(ステップS101)。次に、チャネルアダプタ13は、プール格納モードの切り替え対象となったプールの番号に対応付けられている物理ボリュームの番号SVOL#を算出する(ステップS102)。算出された物理ボリュームの番号SVOL#が複数の場合、チャネルアダプタ13は、当該SVOL#の数だけループ処理を実行する(ステップ103)。以下の処理は、処理対象となっている特定の物理ボリューム毎に実行される。
チャネルアダプタ13は、処理対象の物理ボリューム内のスロット数だけ以下に示すループ処理を実行する(ステップS104)。
まず、チャネルアダプタ13は、図13に示すSVOLSLOT#→POOLVOLSLOT#変換テーブルを参照し、SVOLSLOT#の割当状態が「割当済み」であり、かつ、SVOLSLOT#の動作モードが「プール容量圧縮」ではない(すなわち「アクセス性能重視」)か否かを判定する(ステップS105)。図13に示すテーブル例では、いずれの物理ボリュームのいずれのスロットも「割当済み」かつ「アクセス性能重視」の場合を示している。
ステップS105で肯定結果が得られた場合、チャネルアダプタ13は、新規ページの確保処理を実行する(ステップS106)。なお、ステップS105で否定結果が得られた場合、チャネルアダプタ13は、後述するステップS106~S111をスキップし、ステップS112に移行する。
ステップS106の処理が終了すると、チャネルアダプタ13は、図14に示すPAGE#管理テーブルを参照し、指定されたページの先頭スロット番号SLOT#を算出する(ステップS107)。この処理は、ページ内にスロットを前詰めで格納するために必要となる。先頭スロット番号SLOT#が得られると、チャネルアダプタ13は、ページ内のスロット数だけ、以下に示すループ処理を実行する(ステップS108)。ここで、チャネルアダプタ13は、ループ処理の実行回に対応するスロット番号SLOT#を、各実行回における「移動先POOLVOL#SLOT#」とする。
次に、チャネルアダプタ13は、移動元となるページ(ステップS105で肯定結果が得られたSVOLSLOT#に対応するPOOLVOLSLOT#の属するページ)内のスロット番号のデータを「移動先POOLVOL#SLOT#」にコピーする(ステップS109)。次に、チャネルアダプタ13は、「移動先POOLVOL#SLOT#」に移動された物理ボリューム上でのスロット番号SVLOSLOT#に対応付けられるプールボリューム上でのスロット番号POOLVOLSLOT#を「移動先POOLVOL#SLOT#」に変更する(ステップS110)。具体的には、図13に示すテーブルの対応関係が更新される。
次に、チャネルアダプタ13は、図13に示すテーブルの「移動先POOLVOL#SLOT#」に対応する割当状態を「割当済み」に、動作モードを「プール容量圧縮」にそれぞれ変更する(ステップS111)。このステップS108からステップS111までの処理がページを構成するスロット数だけ繰り返し実行される。アクセス性能重視モードで管理されていたページからプール容量圧縮モードで管理されるページへのデータ移行が完了すると、チャネルアダプタ13はページの粒度単位で移行元となったページを解放する(ステップS112)。
この後、チャネルアダプタ13はステップS104に戻り、同じ物理ボリューム内にある別のスロットについてステップS105からステップ112までの処理を繰り返す。そして、1つの物理ボリュームについて一連の処理が終了すると、チャネルアダプタ13はステップ103に戻り、別の物理ボリュームについてステップ104からステップ112までの処理を繰り返す。
以上の処理動作により、プール格納モードが変更されたプールに関連するデータ配置を管理するテーブルの書き換えが完了し、以後、該当プールについてプール容量圧縮モードによる動作が可能になる。
[アクセス性能重視モードに切り替える際に実行される処理動作]
図15に、プール格納モードが、プール容量圧縮モードからアクセス性能重視モードプールに切り替えられる場合に実行される処理動作を示す。当該処理動作もチャネルアダプタ13が実行する。
図15に、プール格納モードが、プール容量圧縮モードからアクセス性能重視モードプールに切り替えられる場合に実行される処理動作を示す。当該処理動作もチャネルアダプタ13が実行する。
まず、チャネルアダプタ13は、プール格納モードが切り替えられたプールの番号を取得する(ステップS201)。次に、チャネルアダプタ13は、プール格納モードの切り替え対象となったプールの番号に対応付けられているプールボリューム番号POOLVOL#を算出する(ステップS202)。算出されたプールボリュームの番号POOLVOL#が複数の場合、チャネルアダプタ13は、当該POOLVOL#の数だけループ処理を実行する(ステップ203)。以下の処理は、処理対象となっている特定のプール毎に実行される。
チャネルアダプタ13は、処理対象のプール内のスロット数だけ以下に示すループ処理を実行する(ステップS204)。
まず、チャネルアダプタ13は、図16に示すPOOLSLOT#→SVOLSLOT#変換テーブルを参照し、POOLVOLSLOT#の割当状態が「割当済み」であり、かつ、POOLVOLSLOT#の動作モードが「プール容量圧縮」であるか否かを判定する(ステップS205)。図16に示すテーブル例では、いずれのプールボリュームのいずれのスロットも「割当済み」かつ「プール容量圧縮」の場合を示している。
ステップS205で肯定結果が得られた場合、チャネルアダプタ13はステップS206に進み、ステップS205で否定結果が得られた場合、チャネルアダプタ13は後述するステップS206~S214をスキップし、ステップS215に移行する。
ステップS206に進んだ場合、チャネルアダプタ13は、図16に示すPOOLSLOT#→SVOLSLOT#変換テーブルについて算出されるPOOLVOLSLOT#に対応するプールボリュームのページ番号と、図13に示すSVOLSLOT→POOLVOLSLOT#変換テーブルについて算出されるPOOLVOLSLOT#に対応するプールボリュームのページ番号とが一致しないか否かを判定する。
ステップS206で肯定結果が得られた場合、チャネルアダプタ13は、新規ページの確保処理を実行する(ステップS207)。具体的には、プールボリュームのページ番号としてモード切替対象のプール番号を指定する。当該プール番号は、ステップS201で取得された番号である。これに対し、ステップS206で否定結果が得られた場合、チャネルアダプタ13は、プールボリュームのページ番号として、図13に示すSVOLSLOT→POOLVOLSLOT#変換テーブルについて算出されるPOOLVOLSLOT#に対応するプールボリュームのページ番号を使用する(ステップS208)。
プールボリュームのページ番号が確定すると、チャネルアダプタ13は、図14に示すPAGE#管理テーブルを参照し、確定したページ番号の先頭スロット番号SLOT#を算出する(ステップS209)。次に、チャネルアダプタ13は、格納相対位置スロット番号として、物理ボリュームのスロット番号をページ粒度(すなわち、ページを構成するスロット数)で除算した余りの数を指定する(ステップS210)。
次に、チャネルアダプタ13は、移動先となるプールボリュームのスロット番号として、ステップS209で算出された値とステップS210で算出された値の和を指定する(ステップS211)。
移動先となるプールボリュームのスロット番号が確定すると、チャネルアダプタ13は、移動元となるPOOLVOL#SLOT#のデータを「移動先POOLVOL#SLOT#」で指定されるページ内のスロット番号にコピーする(ステップS212)。
次に、チャネルアダプタ13は、図16に示すPOOLSLOT#→SVOLSLOT#変換テーブルを参照し、移動先POOLVOL#SLOT#の割当状態を「割当済み」に変更すると共に、移動先POOLVOL#SLOT#に対応付ける物理ボリュームのスロット番号を変更する(ステップS213)。
この後、チャネルアダプタ13は、図16に示すPOOLSLOT#→SVOLSLOT#変換テーブルを参照し、ステップS213で変更された物理ボリュームのスロット番号が示す動作モードを「アクセス性能重視」に変更すると共に、ステップS213で変更された物理ボリュームのスロット番号が示すPOOLSLOT#を移動先POOLVOL#SLOT#に変更する(ステップS214)。
この後、チャネルアダプタ13はページの粒度単位で移行元となったページを解放する(ステップS215)。なお、この処理は、ページ内の全てのスロットが移動された時点で実行される。
次に、チャネルアダプタ13はステップS204に戻り、同じプールボリューム内にある別のスロットについてステップS205からステップ215までの処理を繰り返す。そして、1つのプールボリュームについて一連の処理が終了すると、チャネルアダプタ13はステップ203に戻り、別のプールボリュームについてステップ204からステップ215までの処理を繰り返す。
以上の処理動作により、プール格納モードが変更されたプールに関連するデータ配置を管理するテーブルの書き換えが完了し、以後、該当プールについてアクセス性能重視モードによる動作が可能になる。
[まとめ]
以上説明したように、実施例に係るストレージ装置及びスナップショットデータの管理方法の採用により、スナップショットボリュームのデータ配置をプールの使用状況に応じて動的に変更することができる。
以上説明したように、実施例に係るストレージ装置及びスナップショットデータの管理方法の採用により、スナップショットボリュームのデータ配置をプールの使用状況に応じて動的に変更することができる。
例えばスナップショットデータをバックアップ用途で使用するユーザの場合(例えばプール使用率とランダムIO比率が共に高く、かつ、プール集約率が低い場合)、本実施例に係るストレージ装置は、プール格納モードをアクセス性能重視モードからプール容量圧縮モードに自動的に切り替えることができる。
このプール格納モードの場合、プールには各ページに前詰めでスロットが格納されるため、プール容量を最大限有効に活用することができる。もっとも、プールに割り当てられる物理ボリュームの増加やプールからのデータの削除により再びプール使用率とプール集約率が低下し、同時にシーケンシャルIO比率が高くなった場合には、プール格納モードをアクセス性能重視モードに自動的に切り替えることができる。
また、スナップショットボリュームを仮想サーバに割り当ててオンラインで使用するユーザの場合(例えばプール使用率とプール集約率が共に低く、かつ、シーケンシャルIO比率が高い場合)、本実施例に係るストレージ装置は、プール格納モードをプール容量圧縮モードからアクセス性能重視モードに自動的に切り替えることができる。
このプール格納モードの場合、アドレス変換処理の回数が削減されると共にページ上でのシーケンシャルアクセスが可能となるため、レスポンス性能やスループット性能が向上される。
なお、本実施例に係るストレージ装置の場合には、運用中に、プール使用率とランダムIO比率が高くなり、かつ、プール集約率が低下すると、プール格納モードをプール容量圧縮モードに自動的に変更してプール容量の圧迫等に対応することができる。
このように、本実施例に係るストレージ装置及びスナップショットデータの管理方法の採用により、ユーザの用途(プールの使用状況)に応じてデータ配置を適切な切替えに変更することができる。
なお、仮想アドレスと実アドレスの割当を管理する管理情報(テーブル)の一部又は全部をハードディスクのような大容量メモリ(物理ボリューム)側に保持する場合にあっては、共有メモリ15に比してアクセス速度が遅いハードディスクへのアクセスが増加するため、プール格納モードとして、アクセス性能重視モードが優先的に選択されるようにしても良い。具体的には、切替判定に使用する閾値を、例えばアクセス性能重視モードに変更され易く、かつ、プール容量圧縮モードに変更され難いように設定すれば良い。
[他の実施例]
本明細書で提案する発明は、上述した実施例に限定されるものでなく、様々な変形例が含まれる。実際、上述した実施例は、本発明を分かり易く説明したものであり、必ずしも説明した全ての構成要素を備える必要はない。また、各実施例の構成要素の一部について、他の構成要素を追加・削除・置換することも可能である。
本明細書で提案する発明は、上述した実施例に限定されるものでなく、様々な変形例が含まれる。実際、上述した実施例は、本発明を分かり易く説明したものであり、必ずしも説明した全ての構成要素を備える必要はない。また、各実施例の構成要素の一部について、他の構成要素を追加・削除・置換することも可能である。
例えば上述の実施例においては、プール使用率とプール集約率とランダムIO比率に基づいてアクセス性能重視モードからプール容量圧縮モードへの切替えを判定する場合について説明したが、簡易な判定手法では、プール使用率とプール集約率だけを用いてアクセス性能重視モードからプール容量圧縮モードへの切替えを判定しても良い。この場合、プール使用率が高く、かつ、プール集約率が低い場合にアクセス性能重視モードからプール容量圧縮モードへの切替え効果があると判定すれば良い。
また上述の実施例においては、プール使用率とプール集約率とシーケンシャルIO比率に基づいてプール容量圧縮モードからアクセス性能重視モードへの切替えを判定する場合について説明したが、簡易な判定手法では、プール使用率とプール集約率だけを用いてプール容量圧縮モードからアクセス性能重視モードへの切替えを判定しても良い。この場合、プール使用率とプール集約率が共に低い場合にプール容量圧縮モードからアクセス性能重視モードへの切替え効果があると判定すれば良い。
また、上述した各構成、機能、処理部、処理手段等はそれらの一部又は全部を、例えば集積回路で設計することによりハードウェアとして実現することもできる。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えても良い。
1…ストレージ装置
10…制御ユニット
11…ターゲットポート
12…イニシエータポート
13…チャネルアダプタ(CHA)
14…キャッシュメモリ(CACHE)
15…共有メモリ(SM)
16…ディスクアダプタ(DKA)
20…ストレージユニット
30…管理PC
10…制御ユニット
11…ターゲットポート
12…イニシエータポート
13…チャネルアダプタ(CHA)
14…キャッシュメモリ(CACHE)
15…共有メモリ(SM)
16…ディスクアダプタ(DKA)
20…ストレージユニット
30…管理PC
Claims (15)
- 外部装置に対して物理ボリュームを提供するストレージユニットと、
前記物理ボリュームをプールに対応付けて管理すると共に、前記外部装置と前記ストレージユニットとの間のデータの入出力を制御する制御ユニットとを有し、
前記制御ユニットは、前記プールの容量使用率とアクセス状況とに基づいて、前記プールに適用する格納モードを、スナップショットデータを特定のプールボリュームに集約する第1の格納モードと複数のプールボリュームに分散する第2の格納モードのいずれか一方に動的に切り替える
ことを特徴とするストレージ装置。 - 請求項1に記載のストレージ装置において、
前記制御ユニットは、
あるプールの使用率が第1の閾値より高く、かつ、当該プールの集約率が第2の閾値より小さい場合、当該プールに適用する格納モードを、前記第2の格納モードから前記第1の格納モードに切り替える
ことを特徴とするストレージ装置。 - 請求項1に記載のストレージ装置において、
前記制御ユニットは、
あるプールの使用率が第1の閾値より高く、かつ、当該プールの集約率が第2の閾値より小さく、かつ、当該プールのランダムIO比率が第3の閾値より高い場合、当該プールに適用する格納モードを、前記第2の格納モードから前記第1の格納モードに切り替える
ことを特徴とするストレージ装置。 - 請求項1に記載のストレージ装置において、
前記制御ユニットは、
あるプールの使用率が第4の閾値より低く、かつ、当該プールの集約率が第5の閾値より小さい場合、当該プールに適用する格納モードを、前記第1の格納モードから前記第2の格納モードに切り替える
ことを特徴とするストレージ装置。 - 請求項1に記載のストレージ装置において、
前記制御ユニットは、
あるプールの使用率が第4の閾値より低く、かつ、当該プールの集約率が第5の閾値より小さく、かつ、当該プールのシーケンシャルIO比率が第6の閾値より高い場合、当該プールに適用する格納モードを、前記第1の格納モードから前記第2の格納モードに切り替える
ことを特徴とするストレージ装置。 - 請求項1に記載のストレージ装置において、
前記物理ボリュームのアドレス空間と前記プールのアドレス空間の対応関係を管理する情報の一部又は全部を前記ストレージユニットに格納する場合、前記制御ユニットは、前記第2の格納モードが優先されるように前記プールに適用する格納モードの切り替えを制御する
ことを特徴とするストレージ装置。 - 請求項2~5のいずれか1項に記載のストレージ装置において、
前記閾値はユーザの設定により自由に変更可能である
ことを特徴とするストレージ装置。 - 請求項1に記載のストレージ装置において、
前記制御ユニットは、
前記外部装置との間でデータを入出力する第1のインターフェースと、
双方向のコピー動作を制御すると共に前記格納モードの切り替えを制御するチャネルアダプタと、
リードデータとライトデータを保持するキャッシュメモリと、
前記双方向のコピー動作を制御するための管理情報を保持する共有メモリと、
前記物理ボリュームとの間でデータを入出力する第2のインターフェースと
を有することを特徴とするストレージ装置。 - 外部装置に対して物理ボリュームを提供するストレージユニットと、前記物理ボリュームをプールに対応付けて管理すると共に、前記外部装置と前記ストレージユニットとの間のデータの入出力を制御する制御ユニットとを有するストレージ装置の制御方法において、
前記制御ユニットは、前記プールの容量使用率とアクセス状況とに基づいて、前記プールに適用する格納モードを、スナップショットデータを特定のプールボリュームに集約する第1の格納モードと複数のプールボリュームに分散する第2の格納モードのいずれか一方に動的に切り替える
ことを特徴とするストレージ装置の制御方法。 - 請求項9に記載のストレージ装置の制御方法において、
前記制御ユニットは、
あるプールの使用率が第1の閾値より高く、かつ、当該プールの集約率が第2の閾値より小さい場合、当該プールに適用する格納モードを、前記第2の格納モードから前記第1の格納モードに切り替える
ことを特徴とするストレージ装置の制御方法。 - 請求項9に記載のストレージ装置の制御方法において、
前記制御ユニットは、
あるプールの使用率が第1の閾値より高く、かつ、当該プールの集約率が第2の閾値より小さく、かつ、当該プールのランダムIO比率が第3の閾値より高い場合、当該プールに適用する格納モードを、前記第2の格納モードから前記第1の格納モードに切り替える
ことを特徴とするストレージ装置の制御方法。 - 請求項9に記載のストレージ装置の制御方法において、
前記制御ユニットは、
あるプールの使用率が第4の閾値より低く、かつ、当該プールの集約率が第5の閾値より小さい場合、当該プールに適用する格納モードを、前記第1の格納モードから前記第2の格納モードに切り替える
ことを特徴とするストレージ装置の制御方法。 - 請求項9に記載のストレージ装置の制御方法において、
前記制御ユニットは、
あるプールの使用率が第4の閾値より低く、かつ、当該プールの集約率が第5の閾値より小さく、かつ、当該プールのシーケンシャルIO比率が第6の閾値より高い場合、当該プールに適用する格納モードを、前記第1の格納モードから前記第2の格納モードに切り替える
ことを特徴とするストレージ装置の制御方法。 - 請求項9に記載のストレージ装置の制御方法において、
前記物理ボリュームのアドレス空間と前記プールのアドレス空間の対応関係を管理する情報の一部又は全部を前記ストレージユニットに格納する場合、前記制御ユニットは、前記第2の格納モードが優先されるように前記プールに適用する格納モードの切り替えを制御する
ことを特徴とするストレージ装置の制御方法。 - 請求項9~14のいずれか1項に記載のストレージ装置の制御方法において、
前記閾値はユーザの設定により自由に変更可能である
ことを特徴とするストレージ装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/111,864 US8850087B2 (en) | 2012-12-05 | 2012-12-05 | Storage device and method for controlling the same |
PCT/JP2012/081449 WO2014087497A1 (ja) | 2012-12-05 | 2012-12-05 | ストレージ装置及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/081449 WO2014087497A1 (ja) | 2012-12-05 | 2012-12-05 | ストレージ装置及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014087497A1 true WO2014087497A1 (ja) | 2014-06-12 |
Family
ID=50882948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/081449 WO2014087497A1 (ja) | 2012-12-05 | 2012-12-05 | ストレージ装置及びその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8850087B2 (ja) |
WO (1) | WO2014087497A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9547560B1 (en) * | 2015-06-26 | 2017-01-17 | Amazon Technologies, Inc. | Amortized snapshots |
SG11202003601WA (en) * | 2017-10-31 | 2020-05-28 | Mitsubishi Heavy Industries Machinery Systems Ltd | Information processing device, method for controlling information processing device, and program |
US11977734B2 (en) * | 2020-03-26 | 2024-05-07 | EMC IP Holding Company LLC | Storage block balancing using volume part migration |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007249573A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Ltd | 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法 |
JP2010033261A (ja) * | 2008-07-28 | 2010-02-12 | Hitachi Ltd | ストレージ装置及びその制御方法 |
WO2011052005A1 (en) * | 2009-10-27 | 2011-05-05 | Hitachi, Ltd. | Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6008743A (en) * | 1997-11-19 | 1999-12-28 | International Business Machines Corporation | Method and apparatus for switching between data compression modes |
JP2009093571A (ja) | 2007-10-11 | 2009-04-30 | Hitachi Ltd | 記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステム |
EP2382549A4 (en) | 2009-01-29 | 2012-08-22 | Lsi Corp | ALLOCATE ON WRITE MEMORY EXTRACTION MECHANISM FOR DYNAMIC STORAGE TIERING OF OLINE DATA ARRANGEMENT FOR VOLUMINA |
US8918613B2 (en) | 2011-02-02 | 2014-12-23 | Hitachi, Ltd. | Storage apparatus and data management method for storage area allocation based on access frequency |
-
2012
- 2012-12-05 WO PCT/JP2012/081449 patent/WO2014087497A1/ja active Application Filing
- 2012-12-05 US US14/111,864 patent/US8850087B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007249573A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Ltd | 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法 |
JP2010033261A (ja) * | 2008-07-28 | 2010-02-12 | Hitachi Ltd | ストレージ装置及びその制御方法 |
WO2011052005A1 (en) * | 2009-10-27 | 2011-05-05 | Hitachi, Ltd. | Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas |
Non-Patent Citations (1)
Title |
---|
YOHEI YOSHIDA: "Storage Kasoka Thin Provisioning ga Hyojun ni Pool Sekkei ya Ryoiki Kaiho de Sa", NIKKEI COMPUTER, vol. 749, 3 February 2010 (2010-02-03), pages 111 - 115 * |
Also Published As
Publication number | Publication date |
---|---|
US8850087B2 (en) | 2014-09-30 |
US20140214771A1 (en) | 2014-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569130B2 (en) | Storage system having a plurality of flash packages | |
JP4903415B2 (ja) | 記憶制御システム及び記憶制御方法 | |
US7814351B2 (en) | Power management in a storage array | |
US7797487B2 (en) | Command queue loading | |
US8271718B2 (en) | Storage system and control method for the same, and program | |
WO2015162681A1 (ja) | ストレージシステムおよび記憶デバイスの制御方法 | |
US8560801B1 (en) | Tiering aware data defragmentation | |
JP6190898B2 (ja) | サーバに接続されるシステム及び仮想マシンが動作しているサーバに接続されたシステムによる方法 | |
US20190129971A1 (en) | Storage system and method of controlling storage system | |
JP6459644B2 (ja) | ストレージ制御装置、制御システム及び制御プログラム | |
JP5317807B2 (ja) | ファイル制御システムおよびそれに用いるファイル制御計算機 | |
JP2009093571A (ja) | 記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステム | |
JP2007293442A (ja) | ストレージシステム及びその制御方法 | |
US20070055704A1 (en) | Storage system and storage system control method | |
US20110283078A1 (en) | Storage apparatus to which thin provisioning is applied | |
JP2017090951A (ja) | ストレージ制御装置、および制御プログラム | |
US10082968B2 (en) | Preferred zone scheduling | |
WO2014141363A1 (ja) | ストレージシステムおよびストレージシステムの制御方法 | |
WO2014087497A1 (ja) | ストレージ装置及びその制御方法 | |
US7870335B2 (en) | Host adaptive seek technique environment | |
WO2013061368A1 (en) | Storage apparatus and method of controlling storage apparatus | |
JP2008299559A (ja) | ストレージシステム及びストレージシステムにおけるデータ移行方法 | |
JP2019191886A (ja) | 情報処理装置,情報処理方法およびプログラム | |
JP2015052853A (ja) | ストレージ制御装置、制御方法及びプログラム | |
JP2007249728A (ja) | ディスクアレイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 14111864 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12889519 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: 12889519 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |