JP2008123132A - 記憶制御装置及び記憶制御装置の論理ボリューム形成方法 - Google Patents
記憶制御装置及び記憶制御装置の論理ボリューム形成方法 Download PDFInfo
- Publication number
- JP2008123132A JP2008123132A JP2006304526A JP2006304526A JP2008123132A JP 2008123132 A JP2008123132 A JP 2008123132A JP 2006304526 A JP2006304526 A JP 2006304526A JP 2006304526 A JP2006304526 A JP 2006304526A JP 2008123132 A JP2008123132 A JP 2008123132A
- Authority
- JP
- Japan
- Prior art keywords
- logical
- performance index
- storage
- predetermined
- storage devices
- 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.)
- Pending
Links
Images
Classifications
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage 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/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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】本発明の記憶制御装置は、一つの論理ボリュームに複数の論理デバイスを対応付ける場合に、ホストからのアクセスパターンに応じて、論理デバイスを配置する位置を決定することにより、記憶制御装置の応答性能を向上させる。
【解決手段】一つの論理ボリューム6は、複数の論理デバイス5から構成される。制御部7は、ホスト2が論理ボリューム6にアクセスするパターンに応じて、各論理デバイス5の性能指標(負荷)を算出する。制御部7は、各論理デバイス5の性能指標に基づいて、各論理デバイス5を配置した場合における、各RAIDグループ4の性能指標を算出する。制御部7は、RAIDグループ4の性能指標の分散値が最小となるように、各論理デバイス5を配置するRAIDグループを決定する。
【選択図】図1
【解決手段】一つの論理ボリューム6は、複数の論理デバイス5から構成される。制御部7は、ホスト2が論理ボリューム6にアクセスするパターンに応じて、各論理デバイス5の性能指標(負荷)を算出する。制御部7は、各論理デバイス5の性能指標に基づいて、各論理デバイス5を配置した場合における、各RAIDグループ4の性能指標を算出する。制御部7は、RAIDグループ4の性能指標の分散値が最小となるように、各論理デバイス5を配置するRAIDグループを決定する。
【選択図】図1
Description
本発明は、記憶制御装置及び記憶制御装置の論理ボリューム形成方法に関する。
例えば、政府、官公庁、地方自治体、企業、教育機関等では、多種多量のデータを取り扱うために、比較的大規模な記憶システムを用いてデータを管理する。この記憶システムは、例えば、ディスクアレイ装置等の記憶制御装置から構成される。ディスクアレイ装置は、多数のディスクドライブをアレイ状に配設して構成されるもので、例えば、RAID(Redundant Array of Independent Disks)に基づく記憶領域を提供する。
ディスクドライブ群が提供する物理的な記憶領域をグループ化することにより、複数の物理的記憶デバイスが生成される。各物理的記憶デバイスには少なくとも一つ以上の論理的記憶デバイスが形成される。この論理的記憶デバイスは、ホストコンピュータ(以下、ホスト)からアクセスされるLUN(Logical Unit Number)に割り当てられて、ホストに提供される。ホストは、論理的記憶デバイスにデータを書き込んだり、論理的記憶デバイスからデータを読み出すことにより、業務処理を実行する。
第1の従来技術として、ホストへ論理的記憶デバイスを適切に割り当てるべく、一つの物理的記憶デバイスから集中的に論理的記憶デバイスを選択したり、または、複数の物理的記憶デバイスからそれぞれ論理的記憶デバイスを選択するようにした技術は知られている(特許文献1)。
第2の従来技術として、シーケンシャルアクセスされる論理的記憶デバイスを、シーケンシャルアクセスへの応答性能の高い物理的記憶デバイスに配置するようにした技術も知られている(特許文献2)。
第3の従来技術として、アクセス頻度の大小に応じて、各論理的記憶デバイスを各物理的記憶デバイスに配置するようにした技術も知られている(特許文献3)。
特開2004−126867号公報
特開2003−271425号公報
特開平7−93109号公報
通常の場合、一つのLUNに一つの論理的記憶デバイスが割り当てられる。しかし、近年では、ホストの要求する記憶容量が増大する傾向にあるため、一つのLUNに複数の論理的記憶デバイスが割り当てられる場合もある。即ち、ホストからアクセス対象として認識される一つの論理ボリュームは、複数の論理的記憶デバイスの集合体として仮想的に構築される場合がある。例えば、ホストの要求する記憶容量が大きく、一つの論理的記憶デバイスだけでは足りない場合等に、複数の論理的記憶デバイスから一つの論理ボリュームを構築することがある。
一方、ホストが論理ボリュームにアクセスする場合のアクセスパターンには、複数の種類が存在する。その一つは、ランダムアクセスであり、他の一つはシーケンシャルアクセスである。ランダムアクセスの場合、ホストは、論理ボリューム内の全アドレス空間を平均的にアクセスする。シーケンシャルアクセスの場合、ホストは、論理ボリューム内の特定のアドレス空間に集中してアクセスする。
ところが、前記各従来技術は、いずれも、複数の論理的記憶デバイスから一つの論理ボリュームを仮想的に構築する場合を考慮していない。さらに、前記各従来技術は、種類の異なるアクセスパターンに応じて、論理的記憶デバイスの配置先を決定することについても考慮されていない。前記各従来技術では、特に、ランダムアクセスについての考察を欠いている。
さらに、同一のホストからのアクセスであっても、時間帯によって、アクセスパターンが変化する場合もある。例えば、ホスト上で実行される業務処理の性質等に応じて、ある時間帯のアクセスパターンはランダムアクセスとなり、他の時間帯のアクセスパターンはシーケンシャルアクセスに変化する場合がある。
従って、シーケンシャルアクセスのみを対象として論理的記憶デバイスの配置先を決定したり、または、アクセス頻度のみに基づいて論理的記憶デバイスの配置先を決定したりするだけでは、ランダムアクセス時の応答性能を改善することはできない。
本発明は、上記の問題点に鑑みてなされたもので、その目的は、複数の論理的記憶デバイスを用いて論理ボリュームを構成する場合に、アクセスパターンの種別と論理ボリュームに予め設定された性能指標とに基づいて、論理的記憶デバイスを設ける物理的記憶デバイスを適切に選択できるようにした記憶制御装置及び記憶制御装置の論理ボリューム形成方法を提供することにある。本発明の他の目的は、論理ボリュームに対応付けられる複数の論理的記憶デバイスを複数の物理的記憶デバイスに分散して配置させることにより、各物理的記憶デバイスの負荷が均等となるように試み、ランダムアクセス時の応答性能を向上できるようにした記憶制御装置及び記憶制御装置の論理ボリューム形成方法を提供することにある。本発明のさらに別の目的は、上記目的に加えて、アクセス頻度の比較的大きい第1順位の論理的記憶デバイスを可能な限り別々の物理的記憶デバイスに配置させることにより、各物理的記憶デバイスの負荷分散を図り、応答性能を改善できるようにした記憶制御装置及び記憶制御装置の論理ボリューム形成方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従う、上位装置によりアクセスされる論理ボリュームを前記上位装置に提供する記憶制御装置は、複数の記憶ドライブと、各記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、各論理的記憶デバイスのうち所定の複数の論理的記憶デバイスを論理ボリュームに対応付ける制御部と、を備え、制御部は、上位装置が論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と論理ボリュームに予め設定される第1性能指標とに応じて、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択するようになっている。
制御部は、アクセスパターンの種別及び第1性能指標に応じて、所定の複数の論理的記憶デバイス毎の第2性能指標をそれぞれ算出し、これら各第2性能指標に基づいて、各物理的記憶デバイス毎の第3性能指標をそれぞれ算出し、これら各第3性能指標の分散値が小さくなるように、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
制御部は、(1)アクセスパターンがランダムアクセスの場合、(1-1)第1性能指標を、論理ボリュームを構成する各所定の論理的記憶デバイスの数で除算することにより、第2性能指標を算出し、(1-2)各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第2性能指標の合計値を第3性能指標として算出し、(2)アクセスパターンがシーケンシャルアクセスの場合、(2-1)第1性能指標を、第2性能指標として設定し、(2-2)各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第2性能指標の値を第3性能指標として設定し、(3)各第3性能指標の分散値が最小となるように、所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
制御部は、アクセスパターンの種別及び第1性能指標に応じて、所定の複数の論理的記憶デバイス毎の第2性能指標をそれぞれ算出し、これら各第2性能指標に基づいて、各物理的記憶デバイス毎の第3性能指標をそれぞれ算出し、各第3性能指標と予め設定された最大値との差分の分散値が小さくなるように、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
制御部は、(1)アクセスパターンがランダムアクセスの場合、(1-1)第1性能指標を、論理ボリュームを構成する各所定の論理的記憶デバイスの数で除算することにより、第2性能指標を算出し、(1-2)各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第2性能指標の合計値を第3性能指標として算出し、(2)アクセスパターンがシーケンシャルアクセスの場合、(2-1)第1性能指標を、第2性能指標として設定し、(2-2)各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第2性能指標の値を第3性能指標として設定し、(3)各物理的記憶デバイス毎に予め設定されている最大値と各第3性能指標との差分の分散値が最小となるように、所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
制御部は、予め設定された所定の時間帯毎のアクセスパターンの種別と第1性能指標とに応じて、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
制御部は、(1)アクセスパターンがランダムアクセスの場合、(1-1)第1性能指標を、論理ボリュームを構成する各所定の論理的記憶デバイスの数で除算することにより、第2性能指標を算出し、(1-2)所定の時間帯毎の各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第2性能指標の合計値を第3性能指標として算出し、(2)アクセスパターンがシーケンシャルアクセスの場合、(2-1)第1性能指標を、第2性能指標として設定し、(2-2)所定の時間帯毎の各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第2性能指標の値を第3性能指標として設定し、(3)各第3性能指標の分散値が最小となるように、所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
本発明の実施形態では、所定の複数の論理的記憶デバイスには、論理ボリュームに対応付けられた順位がそれぞれ設定されており、制御部は、順位が最も小さい第1順位の所定の論理的記憶デバイスを、各物理的記憶デバイスに分散して配置させる。
制御部は、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択した後で、第1順位の所定の論理的記憶デバイスを各物理的記憶デバイスに分散して配置させることを試みることができる。
本発明の実施形態では、論理ボリューム及び各物理的記憶デバイスは、予め設定された資源管理グループ単位で管理されており、制御部は、資源管理グループ毎に、アクセスパターンの種別と第1性能指標とに応じて、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
制御部は、処理対象の資源管理グループ以外の他の資源管理グループにおける他の所定の複数の論理的記憶デバイスの配置先を考慮して、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
本発明の実施形態では、論理ボリュームとして、互いにコピーペアを形成する第1論理ボリュームと第2論理ボリュームとが存在する場合、制御部は、第1論理ボリュームに対応付けられる所定の論理的記憶デバイスと、第2論理ボリュームに対応付けられる所定の論理的記憶デバイスとが、可能な限り、それぞれ異なる物理的記憶デバイスに配置させることができる。
本発明の他の観点に従う、上位装置に提供するための論理ボリュームを記憶制御装置に形成させるための方法では、記憶制御装置は、複数の記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、を有しており、論理ボリューム及び各物理的記憶デバイスを資源管理グループ単位で管理するステップと、予め設定された所定の時間帯毎の、上位装置が論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と、論理ボリュームに予め設定される第1性能指標とをそれぞれ取得するステップと、(1-1)アクセスパターンがランダムアクセスの場合に、第1性能指標を、論理ボリュームを構成する各所定の論理的記憶デバイスの数で除算することにより、第2性能指標を算出するステップと、(1-2)アクセスパターンがランダムアクセスの場合に、所定の時間帯毎の各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第2性能指標の合計値を第3性能指標として算出するステップと、(2-1)アクセスパターンがシーケンシャルアクセスの場合に、第1性能指標を、第2性能指標として設定するステップと、(2-2)アクセスパターンがシーケンシャルアクセスの場合に、所定の時間帯毎の各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第2性能指標の値を第3性能指標として設定するステップと、(3)各第3性能指標の分散値が最小となるように、所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを資源管理グループ内で選択するステップと、をそれぞれ実行する。
本発明のさらに別の観点に従うストレージシステムは、上位装置によりアクセスされる論理ボリュームを前記上位装置に提供する記憶制御装置と、この記憶制御装置に接続される管理用装置を備えるストレージシステムであって、記憶制御装置は、複数の記憶ドライブと、各記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、を備え、管理用装置は、各論理的記憶デバイスのうち所定の複数の論理的記憶デバイスを論理ボリュームに対応付けさせるための指示を記憶制御装置に与える制御部を備え、かつ、制御部は、上位装置が論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と論理ボリュームに予め設定される第1性能指標とに応じて、所定の複数の記憶デバイスが配置される各物理的記憶デバイスを選択するようになっている。
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
図1は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態の詳細は、後述の各実施例により明らかとなる。本実施形態の記憶制御装置1は、上位装置としてのホスト2に通信ネットワークを介して接続されている。
記憶制御装置1は、例えば、複数のディスクドライブ3と、RAIDグループ4と、論理デバイス(以下、Logical Deviceの略として「LDEV」と呼ぶ場合がある)5と、論理ボリューム(以下、(Logical Unitの略として「LU」と呼ぶ場合がある)6と、LU構成制御部7とを備えて構成される。実際の記憶制御装置1の物理的構成の一例については、図2と共に詳述する。
「記憶ドライブ」としてのディスクドライブ3は、必ずしもディスク型の記憶媒体を用いている必要はなく、ハードディスクドライブ以外の他の記憶デバイスを用いることもできる。例えば、半導体メモリ装置(フラッシュメモリデバイスを含む)、ホログラフィックメモリ、光ディスク装置、光磁気ディスク装置、磁気テープ装置等を、記憶ドライブとして用いる構成でもよい。
各ディスクドライブ3がそれぞれ有する物理的記憶領域は、RAIDグループ4としてグループ化されている。RAIDグループ4は、例えば、RAID1,RAID5等のように、複数の物理的記憶領域を一つの物理的記憶領域に仮想化するものである。RAIDグループ4は、「物理的記憶デバイス」に該当する。
「論理的記憶デバイス」としての論理デバイス5は、各RAIDグループ4にそれぞれ少なくも一つずつ以上設けることができる。図1中では、各RAIDグループ4内にそれぞれ2個ずつの論理デバイス5を設けているが、これに限らず、例えば、1個または3個以上の論理デバイス5を設けることができる。各論理デバイス5の記憶容量は、固定または可変に設定することができる。本実施形態では、説明の便宜上、各論理デバイス5は、固定された同一の記憶容量を備えているものとする。後述の実施例で述べるように、各論理デバイス5は、基本LDEV容量と呼ばれる同一の記憶容量を有するように生成される。
論理ボリューム6は、ホスト2からアクセス対象として認識される。論理ボリューム6は、記憶制御装置1に複数設けることができる。図1では、説明の便宜上、一つの論理ボリューム6を示している。
論理ボリューム6は、記憶制御装置1の有する通信ポートに対応付けられており、IP(Internet Protocol)アドレスやWWN(World Wide Name)等のようなネットワークアドレスが設定されている。ホスト2上で稼働するデータベース管理ソフトウェア等のようなアプリケーションプログラムは、論理ボリューム6にアクセスしてデータの読み書きを行うことにより、業務処理を実行する。
図1に示すように、論理ボリューム6は、複数の論理デバイス5の集合体として生成されている。即ち、論理ボリューム6の記憶空間は、各論理デバイス5がそれぞれ有する記憶領域の集合として構成される。ホスト2は、論理ボリューム6が複数の論理デバイス5から形成されていることを認識せずに、単一のボリュームとして認識する。論理ボリューム6に割り当てられた順番で、論理デバイス5の記憶領域は、論理ボリューム6の記憶領域を部分的に構築する。即ち、論理ボリューム6に最初に割り当てられた第1順位の論理デバイス5は、論理ボリューム6の記憶領域のうち先頭の部分を担当し、論理ボリューム6に次に割り当てられた第2順位の論理デバイス5は、論理ボリュームの記憶領域のうち先頭部分に続く次の部分を担当する。このようにして、各論理デバイス5の記憶領域が順番に、論理ボリューム6の記憶領域を構成していく。
「制御部」としてのLU構成制御部(以下、「制御部」と略記)7は、複数の論理デバイス5から一つの論理ボリューム6を生成して、この生成された論理ボリューム6をホスト2に提供する。制御部7は、例えば、マイクロプロセッサやメモリ等を有するコントローラ内の機能として実現される。あるいは、制御部7は、記憶制御装置1の外部に設けられた管理サーバ等のような別のコンピュータ装置内に設けることもできる。
制御部7は、例えば、アクセスパターン7A及び論理ボリューム6の負荷7Bがユーザから入力されると、各論理デバイス5の負荷をそれぞれ算出する(7C)。そして、制御部7は、各論理デバイス5の予測負荷に基づいて、各RAIDグループ4の負荷をそれぞれ算出する(7D)。制御部7は、各RAIDグループ4に負荷が分散するように、論理ボリューム6を構成する論理デバイス5の配置先を選択する(7E)。
論理ボリューム6の負荷7Bとは、「第1性能指標」に該当する。負荷7Bは、論理ボリューム6に期待される負荷の最大値を示す。性能指標としては、例えば、単位時間当たりのデータ入出力回数(IOPS:Input/Output Per Second)を用いることができる。
アクセスパターン7Aとは、ホスト2から発行されるアクセス要求のパターンを意味し、具体的には、アクセスパターン7Aとは、ホスト2からのアクセスがランダムアクセスであるかシーケンシャルアクセスであるかの種別を示す。ランダムアクセスとは、ホスト2が論理ボリューム6内の記憶領域をランダムにアクセスすることを意味し、シーケンシャルアクセスとは、ホスト2が論理ボリューム6内の特定の記憶領域を連続的にアクセスすることを意味する。
制御部7は、アクセスパターン7A及び論理ボリューム6に期待される負荷(第1性能指標)に基づいて、論理ボリューム6を構成する各論理デバイス5の負荷(第2性能指標)をそれぞれ算出する。論理ボリューム6を構成する各論理デバイス5は、「所定の複数の論理デバイス」に相当する。
例えば、制御部7は、ホスト2が論理ボリューム6にアクセスするパターンがランダムアクセスである場合、論理ボリューム6に関する第1性能指標を、論理ボリューム6を構成する論理デバイスの数で除算することにより、各論理デバイス5に関する第2性能指標を算出する。
図1に示す例の場合、第1性能指標を仮に「100」とすると、第2性能指標は「25(=100÷4)」となる。ランダムアクセスの場合、論理ボリューム6の全記憶領域に均等にアクセスされることを期待できるため、論理ボリューム6を構成する論理デバイス5の数で第1性能指標を除算することにより、第2性能指標を得ることができる。
ホスト2が論理ボリューム6にアクセスするパターンがシーケンシャルアクセスである場合、制御部7は、論理ボリューム6の第1性能指標の値を各論理デバイス5の第2性能指標の値として使用する。先の例では、第2性能指標の値は、「100」となる。シーケンシャルアクセスの場合、各論理デバイス5のいずれもが、ホスト2から集中してアクセスされる可能性がある。従って、各論理デバイス5の第2性能指標を、論理ボリューム6の第1性能指標と同一の値に設定することができる。
制御部7は、アクセスパターンの種別に応じて算出された第2性能指標に基づいて、各RAIDグループ4の第3性能指標をそれぞれ算出する。ランダムアクセスの場合、制御部7は、RAIDグループ4に配置された各論理デバイス5の第2性能指標を合計することにより、そのRAIDグループ4に関する第3性能指標を得る。即ち、上記の例では、論理ボリューム6に対応付けられる論理デバイス5が一つだけ設けられるRAIDグループ4の場合、その第3性能指標は、「25」となる。もしも、そのRAIDグループ4内で、論理ボリューム6に対応付けられる論理デバイス5の数が2の場合、そのRAIDグループ4の第3性能指標は、「50(=25+25)」となる。
これに対し、シーケンシャルアクセスの場合、制御部7は、RAIDグループ4内で論理ボリューム6に対応付けられる論理デバイス5が単一であるか複数であるかを問わずに、一つの論理デバイス5の第2性能指標の値を、そのRAIDグループ4の第3性能指標の値として使用する。上記の例で言えば、シーケンシャルアクセスの場合、第2性能指標は「100」であるから、論理ボリューム6に対応付けられる論理デバイス5を少なくとも一つ以上備えるRAIDグループ4の第3性能指標は、「100」となる。そのRAIDグループ4に、第2性能指標が「100」である論理デバイス5が複数設けられている場合でも、各第2性能指標が加算されることはない。
このようにして、制御部7は、アクセスパターンの種別に応じて、各RAIDグループ4に関する負荷(第3性能指標)をそれぞれ予測する。後述の実施例から明らかとなるように、制御部7は、予め設定されたタイムゾーン毎に、各RAIDグループ4の第3性能指標をそれぞれ算出することもできる。
最後に、制御部7は、各RAIDグループ4の第3性能指標が小さくなるように、論理デバイス5の配置先を決定する。論理デバイス5の配置先とは、論理ボリューム6に対応付ける論理デバイス5が設けられるRAIDグループ4のことである。
例えば、制御部7は、各RAIDグループ4の第3性能指標がそれぞれ実質的に同一となるように、論理ボリューム6に対応付けられる論理デバイス5を各RAIDグループ4に分散させて配置させる。換言すれば、制御部7は、第3性能指標の分散値が最も小さくなるように、論理デバイス5を設けるRAIDグループ4を選択する。
従って、ランダムアクセスされる機会の多い論理ボリューム6の場合、この論理ボリューム6を構成する各論理デバイス5は、複数のRAIDグループ4に分散して配置される可能性が高くなる。これとは逆に、シーケンシャルアクセスされる機会の多い論理ボリューム6の場合、この論理ボリューム6を構成する各論理デバイス5は、特定のRAIDグループ4に集中して配置される可能性が高くなる。
なお、後述の実施例からも明らかとなるように、制御部7は、第3性能指標の分散値を最小化する選択方法に代えて、余剰性能指標を用いることもできる。余剰性能指標とは、そのRAIDグループ4の有する処理能力の余裕分を意味し、具体的には、そのRAIDグループ4の最大の性能指標と第2性能指標との差分を意味する(余剰性能指標=RAIDグループで処理可能な最大の性能値−第2性能指標)。制御部7は、余剰性能指標が最小となるように、論理ボリューム6を構成する論理デバイス5の配置先を選択することができる。
このように構成される本実施形態では、アクセスパターンの種別と論理ボリューム6に要求される処理性能(第1性能指標)とに基づいて、論理ボリューム6を構成する各論理デバイス5を配置するRAIDグループ4を選択する。これにより、各RAIDグループ4間で負荷を分散させて、記憶制御装置1の応答性能を改善することができる。
特に、本実施形態では、アクセスパターンがランダムアクセスの場合とシーケンシャルアクセスの場合とで、各性能指標の算出方法を変え、ランダムアクセスの場合には、論理ボリューム6を構成する各論理デバイス5がそれぞれ異なるRAIDグループ4に配置されるように構成した。従って、ランダムアクセス時における各RAIDグループ4の負荷を少なくすることができる。この結果、ランダムアクセスに対する記憶制御装置1の応答性能を改善でき、ユーザの使い勝手が向上する。以下、本実施形態をより詳細に説明する。
図2は、本実施例による記憶制御装置の構成を示すブロック図である。ホスト20は、例えば、CPU(Central Processing Unit)21やメモリ22等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、サーバコンピュータ、メインフレームコンピュータ等として構成される。
ホスト20は、通信ネットワークCN1を介して、記憶制御装置10にアクセスするための通信制御部と、例えば、データベースソフトウェア等のアプリケーションプログラムと、を備えている。
通信ネットワークCN1としては、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線、公衆回線等を、場合に応じて適宜用いることができる。LANを介するデータ通信は、例えば、TCP/IPプロトコルに従って行われる。ホスト20がLANを介して記憶制御装置10に接続される場合、ホスト20は、ファイル名を指定してファイル単位でのデータ入出力を要求する。ホスト20がSANを介して記憶制御装置10に接続される場合、ホスト20は、ファイバチャネルプロトコルに従って、ブロック単位でデータ入出力を要求する。
管理サーバ30は、記憶制御装置10の構成等を管理するためのコンピュータ装置であり、例えば、CPU31やメモリ32を備えている。管理サーバ30は、システム管理者等のユーザにより操作される。管理サーバ30は、通信ネットワークCN2を介して、記憶制御装置10に接続されている。管理サーバ30と記憶制御装置10との間に、管理用のコンピュータ装置を別に設ける構成でもよい。管理サーバ30によって、複数の記憶制御装置10を集中して管理する構成としてもよいし、各記憶制御装置10毎にそれぞれ管理サーバ30を設ける構成でもよい。
記憶制御装置10は、例えば、多数のディスクドライブ210を備えるディスクアレイシステムとして構成される。記憶制御装置10は、コントローラ100と記憶部200とに大別される。コントローラ100は、例えば、複数のチャネルアダプタ(以下、「CHA」)110と、複数のディスクアダプタ(以下、「DKA」)120と、キャッシュメモリ130と、共有メモリ140と、接続制御部150及びサービスプロセッサ(以下、「SVP」)160とを備えて構成される。
各CHA110は、ホスト20との間のデータ通信を行うものである。各CHA110は、ホスト20と通信を行うための通信ポート111を少なくとも一つ以上備えている。各CHA110は、それぞれCPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、ホスト20から受信した各種コマンドを解釈して実行する。各CHA110には、それぞれを識別するためのネットワークアドレス(例えば、IPアドレスやWWN)が割り当てられており、各CHA110は、それぞれが個別にNAS(Network Attached Storage)として振る舞うことも可能である。複数のホスト20が存在する場合、各CHA110は、各ホスト20からの要求をそれぞれ個別に受け付けて処理する。
各DKA120は、記憶部200が有するディスクドライブ210との間でデータ授受を行うものである。各DKA120は、CHA110と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各DKA120は、SAN等の通信ネットワークCN3を介して、各ディスクドライブ210にそれぞれ接続されている。
各DKA120は、例えば、CHA110がホスト20から受信したデータを、所定のディスクドライブ210の所定のアドレスに書込む。また、各DKA120は、所定のディスクドライブ210の所定のアドレスからデータを読み出し、ホスト20に送信させる。
ディスクドライブ210との間でデータ入出力を行う場合、各DKA120は、論理的なアドレスを物理的なアドレスに変換する。論理的なアドレスとは、論理ボリュームのブロック位置を示すアドレスであり、LBA(Logical Block Address)と呼ばれる。各DKA120は、ディスクドライブ210がRAIDに従って管理されている場合、RAID構成に応じたデータアクセスを行う。例えば、各DKA120は、同一のデータを別々のディスクドライブ群(RAIDグループ220)にそれぞれ書き込んだり、あるいは、パリティ計算を実行し、データ及びパリティをディスクドライブ群に書き込む。
キャッシュメモリ130は、ホスト20から受信したデータを記憶したり、あるいは、ディスクドライブ210から読み出されたデータを記憶するものである。共有メモリ(制御メモリと呼ばれる場合がある)140には、記憶制御装置10の作動に使用するための各種の管理情報や制御情報等が格納される。
なお、ディスクドライブ210のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ130と共有メモリ140とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
接続制御部150は、各CHA110,各DKA120,キャッシュメモリ130及び共有メモリ140を相互に接続させるものである。接続制御部150は、例えば、高速スイッチング動作によってデータ伝送を行うクロスバスイッチ等のように構成できる。
SVP160は、例えば、LANのような通信ネットワークCN4を介して、各CHA110とそれぞれ接続されている。SVP160は、CHA110を介して、各DKA120やキャッシュメモリ130,共有メモリ140の情報にアクセスすることができる。SVP160は、記憶制御装置10内の各種状態に関する情報を収集して、管理サーバ30に提供する。ユーザは、管理サーバ30の画面を介して、記憶制御装置10の各種状態を知ることができる。
ユーザは、管理サーバ30からSVP160を介して、例えば、ホスト20と論理デバイス230とのアクセス経路を設定等することができる。SVP160は、管理サーバ30から入力された各種設定値を管理情報等に反映させる。
記憶部200は、複数のディスクドライブ210を備えている。ディスクドライブ210としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、FC(Fibre Channel)ディスクやSATA(Serial AT Attachment)ディスク、ATAディスク等のような、異種類のディスクを記憶部200内に混在させることもできる。
複数のディスクドライブ210によって一つのRAIDグループ(パリティグループとも呼ばれる)220が形成される。RAIDグループ220は、各ディスクドライブ210の有する物理的記憶領域をRAIDレベルに従って仮想化したものであり、物理的記憶デバイスに該当する。RAIDグループ220の物理的な記憶領域には、所定サイズまたは任意サイズの論理デバイス230を一つまたは複数設けることができる。本実施例では、所定サイズの論理デバイス230が設けられる場合を説明する。即ち、本実施例において、各論理デバイス230の記憶容量は、同一である。
図3は、記憶制御装置10及び管理サーバ30の機能的構成をそれぞれ模式的に示す説明図である。管理サーバ30から説明する。管理サーバ30に内蔵されているディスクドライブ等の内蔵ストレージ33には、例えば、要件テーブルT10,構成テーブルT20,性能テーブルT30,仕様テーブルT40等の各種管理テーブルがそれぞれ記憶されている。これら各テーブルT10〜T40の詳細は別図と共に後述する。なお、後述する別の実施例から明らかとなるように、各テーブルT10〜T40等は、記憶制御装置10の内部に記憶させることもできる。
管理サーバ30には、エージェント300と、構成管理部310及び性能管理部320がそれぞれ設けられている。エージェント300は、ユーザと、構成管理部310及び性能管理部320からそれぞれ情報を収集して、各テーブルT10〜T40等に記憶させるプログラムである。また、エージェント300は、各テーブルT10〜T40等に記憶された情報を用いることにより、論理ボリューム102(図4参照)と各論理デバイス230とを対応付ける処理を実行する。
構成管理部310は、記憶制御装置10に設けられたAPI(Application Program Interface)101を介して、記憶制御装置10からの構成情報の収集及び記憶制御装置10の構成の変更等をそれぞれ実行するためのプログラムである。
性能管理部320は、記憶制御装置10内のAPI101を介して、記憶制御装置10の性能に関する情報(性能情報)を収集したり、この性能情報を書き換えたりするためのプログラムである。
記憶制御装置10のコントローラ100には、API101が設けられている。API101は、管理サーバ30から受信した要求に従って、構成情報や性能情報等を管理サーバ30に送信したり、構成情報や性能情報等を書き換えたりするためのプログラムである。
図4は、記憶制御装置10内の記憶構造を模式的に示す説明図である。上述のように、複数のディスクドライブ210の有する物理的記憶領域をグループ化することにより、物理的記憶デバイスとしてのRAIDグループ220が形成される。そして、各RAIDグループ220の有する物理的記憶領域には、一つまたは複数の論理デバイス230を設けることができる。
記憶制御装置10には、ホスト20からアクセスされる論理ボリューム102が少なくとも一つ以上設けられる。論理ボリューム102は、少なくとも一つ以上の論理デバイス230に対応付けられる。ホスト20は、論理ボリューム102内のブロックアドレスを指定して、記憶制御装置10にデータの読み書きを要求する。実際のデータ入出力は、ホスト20から指定されたブロックアドレスの記憶領域を担当する論理デバイス230との間で行われる。
図4に示すように、本実施例では、記憶制御装置10内の記憶資源を資源管理グループ201単位で管理している。記憶資源とは、各論理ボリューム102及び各RAIDグループ220等を示す。どのRAIDグループ220内の論理デバイス230で論理ボリューム102を構成するか否かの判断は、各資源管理グループ201内で行われる。
これにより、例えば、それぞれ性能の異なるディスクドライブ210から構成されるRAIDグループ220を別々の資源管理グループ201内で管理することができる。具体的には、一方の資源管理グループ201では、例えば、FCディスクドライブ等のような高性能なディスクドライブ210に由来する記憶資源を管理し、他方の資源管理グループ201では、例えば、ATAディスクドライブ等のような低性能のディスクドライブ210に由来する記憶資源を管理することができる。次に、論理ボリューム102に対応付ける論理デバイス230を、どのRAIDグループ220から選択する方が有利であるのかを、図5を用いて説明する。
図5は、論理ボリューム102への論理デバイス230の割り当て状況に応じて、各RAIDグループ220の負荷が相違する様子を示す説明図である。図5(a)に示すように、論理ボリューム102に期待される性能指標が「60」であると仮定する。本実施例における性能指標とは、単位時間当たりのデータ入出力要求の処理数(IOPS)であり、負荷と考えることもできる。
ホスト20からのランダムなアクセス要求によって論理ボリューム102に「60」の負荷が加わった場合を想定する。ランダムアクセスの場合、論理ボリューム102の記憶領域の全体が均一にアクセスされると考えても差し支えない。従って、図5(a)に示すように、論理ボリューム102の実体を構成する6個の論理デバイス230には、それぞれ「10」ずつの負荷が加わると考えることができる。
図5(b)は、論理ボリューム102を構成する6個の論理デバイス230を、各RAIDグループ220にそれぞれ2個ずつ分散して配置した様子を示す。例えば、論理デバイス230(#1,#4)をRAIDグループ220(1−1)に、論理デバイス230(#2,#5)をRAIDグループ220(1−2)に、論理デバイス230(#3,#6)をRAIDグループ220(1−3)に、設ける。
各RAIDグループ220には、負荷「10」の論理デバイス230がそれぞれ2個ずつ配置される。従って、各RAIDグループ220の負荷(RAIDグループ220の性能指標)は、それぞれ「20(=10×2)」となる。
図5(c)は、6個の論理デバイス230を一つのRAIDグループ220(1−1)に集中して配置した様子を示す。この場合、RAIDグループ220(1−1)には、負荷「10」の論理デバイス230が6個設けられるため、RAIDグループ220(1−1)の負荷は、「60(=10×6)」となる。その他のRAIDグループ220(1−2,1−3)の負荷は、それぞれ「0」となる。図5(c)の場合、特定のRAIDグループ220(1−1)にのみ負荷が集中することになる。
従って、上記考察から明らかなように、ホスト20から論理ボリューム102へのアクセスパターンがランダムアクセスの場合、その論理ボリューム102を構成する各論理デバイス230を、複数のRAIDグループ220に分散させて配置させる方が、各RAIDグループ220の負荷をそれぞれ小さくすることができる。
これに対し、ホスト20から論理ボリューム102へのアクセスパターンがシーケンシャルアクセスの場合、図5(b)のように各論理デバイス230を複数のRAIDグループ220に分散させて配置すると、各RAIDグループ220の負荷は、増大する。
シーケンシャルアクセスの場合、各論理デバイス230には、それぞれ「60」の負荷が発生し得る。シーケンシャルアクセスの場合は、特定の論理デバイス230にアクセスが集中し、かつ、各論理デバイス230のいずれもが、ホスト20からアクセスされる可能性を等しく有するためである。従って、論理デバイス230が一つ以上配置されたRAIDグループ220の負荷は、「60」となる。図5(b)に示す配置では、各RAIDグループ220の負荷は、それぞれ「60」となる。
図5(c)に示す配置では、一つのRAIDグループ220(1−1)に全ての論理デバイス230が配置されている。この場合、RAIDグループ220(1−1)の負荷は「360(=60×6)」とはならず、「60」となる。一つのRAIDグループ220(1−1)に配置されている合計6個の論理デバイス230のうち、いずれか一つの論理デバイス230にのみ、ホスト20からのシーケンシャルアクセスが集中するためである。
従って、上記考察から明らかなように、ホスト20から論理ボリューム102へのアクセスパターンがシーケンシャルアクセスの場合、その論理ボリューム102を構成する各論理デバイス230を、いずれか一つのRAIDグループ220に集中して配置させる方が、結果的に、各RAIDグループ220の全体としての負荷を小さくすることができる。
図6は、論理デバイス230をRAIDグループ220に配置するために使用する各テーブルT10〜T40の構成及び関係を示す説明図である。後述のように、図6に示すテーブルT10〜T40以外の他のテーブルも、本実施例では必要に応じて使用する。なお、以下に述べるテーブル構成は、一つの例であって、本発明は図示するテーブル構成に限定されない。
要件テーブルT10は、ユーザにより設定される要件を保存するテーブルである。ユーザは、一つまたは複数の資源管理テーブルを設定することができる。ユーザは、記憶制御装置10の有する記憶資源(RAIDグループ220や論理デバイス230)を、複数の資源管理グループに分けて管理することができる。ユーザにより設定される資源管理グループの構成は、要件テーブルT10に登録される。要件テーブルT10は、例えば、LUグループテーブルT11と、グループ要件テーブルT12と、RAIDグループ・グループテーブルT12とを含んで構成される。
グループ要件テーブルT12は、どのような資源管理グループが設定されているのかを管理するためのテーブルである。グループ要件テーブルT12では、例えば、資源管理グループのグループ名及び基本LDEV容量が管理される。基本LDEV容量とは、論理デバイス230の記憶容量を示す値である。LUグループテーブルT11は、資源管理グループに含まれる論理ボリューム102について管理する。LUグループテーブルT11では、例えば、LU名(論理ボリューム名称)及び資源管理グループ名が管理される。以下の説明では、論理ボリューム102を「LU」と呼ぶ場合がある。RAIDグループ・グループテーブルT13は、資源管理グループに含まれるRAIDグループ220を管理するためのテーブルである。RAIDグループ・グループテーブルT13では、例えば、資源管理グループ名とRAIDグループ220を識別するRAIDグループ番号とが管理される。
構成テーブルT20は、構成管理部310によって収集された記憶制御装置10の構成情報を管理するためのテーブルである。構成テーブルT20は、例えば、LU構成テーブルT21と、LDEV構成テーブルT22と、RAIDグループ構成テーブルT23とを含んで構成される。
LU構成テーブルT21は、論理ボリューム102の構成を管理するためのテーブルである。LU構成テーブルT21では、例えば、LU名と、LU容量とが管理される。LDEV構成テーブルT22は、各論理ボリューム102に含まれる各論理デバイス(LDEV)230の構成を管理する。LDEV構成テーブルT22では、例えば、各論理デバイス230を識別するためのLDEV番号と、論理ボリューム102内で論理デバイス230を連結した順番を示す連結番号と、どの論理ボリューム102に対応付けられているかを示すLU名と、どのRAIDグループ220に設けられている論理デバイス230であるかを示すためのRAIDグループ番号とが管理される。
ここで、連結番号について説明する。上述のように、論理ボリューム102は、複数の論理デバイス230から構成することができる。論理ボリューム102に対応付けられた順番で、各論理デバイス230にはそれぞれ連結番号が付与される。例えば、一番目に論理ボリューム102に対応付けられた論理デバイス230には、連結番号「1」が与えられ、その論理ボリューム102に2番目に対応付けられた論理デバイス230には、連結番号「2」が与えられ、その論理ボリューム102に3番目に対応付けられた論理デバイス230には、連結番号「3」が与えられる。このように、各論理デバイス230には、論理ボリューム102に対応付けられた順番で、若い連結番号が設定される。
そして、各論理デバイス230は、連結番号の順番で、論理ボリューム102の記憶領域をそれぞれ構成する。即ち、連結番号「1」の論理デバイス230は、論理ボリューム102の記憶領域のうち、先頭ブロックアドレスから基本LDEV容量分の記憶領域に対応付けられる。連結番号「2」の論理デバイス230は、連結番号「1」の論理デバイス230が担当する記憶領域の次の記憶領域を担当する。なお、以下の説明では、論理デバイス230をLDEVと呼ぶ場合がある。
RAIDグループ構成テーブルT23は、各RAIDグループ220の構成を管理するテーブルである。RAIDグループ構成テーブルT23では、例えば、RAIDグループ220を識別するためのRAIDグループ番号と、そのRAIDグループ220のRAIDレベル及びデータ構成と、そのRAIDグループ220を構成するディスクドライブ210のタイプとが管理される。RAIDレベルとは、例えば、RAID1〜RAID6等のようなRAIDの種類を示す情報である。データ構成とは、例えば、3D+1P(3つのデータと1つのパリティで冗長管理する)、6D+2P(6個のデータと2つのパリティで冗長管理する)等のように、データを冗長管理するための構成を示す情報である。ディスクドライブ210のタイプ(図中「ディスクタイプ」と示す)とは、そのRAIDグループ220を構成するディスクドライブ210の種類を示す情報である。ディスクドライブ210の種類としては、例えば、記憶容量や回転数等を挙げることができる。これ以外に、ディスクドライブ210のインターフェース種別等を含めることもできる。
性能テーブルT30は、性能管理部320を用いて収集した記憶制御装置10の性能に関する情報を保存するためのテーブルである。性能テーブルT30は、例えば、LU性能テーブルT31と、タイムゾーンテーブルT32とを含んで構成される。
LU性能テーブルT31は、論理ボリューム102の性能を管理するためのテーブルである。LU性能テーブルT31では、例えば、論理ボリューム102の名称(LU名)と、タイムゾーンと、アクセスパターンと、論理ボリューム102に求められる性能指標(LU性能指標)とが管理される。アクセスパターンとは、論理ボリューム102にホスト20がアクセスするときのパターンであり、ランダムアクセスまたはシーケンシャルアクセスのいずれかが設定される。LU性能指標とは、その論理ボリューム102に求められる性能値を示す情報である。図中では、便宜上、性能指標を「PI」と示す。従って、LU性能指標は「LU_PI」と示される。LU性能指標及びアクセスパターンは、予め設定されている複数のタイムゾーン毎に、それぞれ設定される。
タイムゾーンテーブルT32とは、タイムゾーンを定義するためのテーブルである。例えば、一日を3時間毎に区切ることにより、8個のタイムゾーンを設定することができる。これに限らず、例えば、30分単位、1時間単位、2時間単位、4時間単位、6時間単位、8時間単位のように、種々の単位で一日の時間を区切ることにより、タイムゾーンを設定することもできる。また、例えば、昼と夜とで、タイムゾーンの設定単位を変える構成としてもよい。さらに、論理ボリューム102毎に、タイムゾーンの設定単位を変える構成としてもよい。
仕様テーブルT40は、記憶制御装置10の仕様に関する情報を記憶するためのテーブルである。仕様テーブルT40は、例えば、RAIDグループ仕様テーブルT41を含んで構成される。RAIDグループ仕様テーブルT41には、RAIDグループ220の仕様に関する情報が記憶されている。RAIDグループ仕様テーブルT41は、例えば、RAIDレベルと、ディスクドライブ210のタイプと、RAIDグループ220の記憶容量と、RAIDグループ220が処理可能な最大負荷(最大処理可能IOPS)とを管理している。なお、RAIDグループ仕様テーブルT41と、RAIDグループ構成テーブルT23とを一体化して一つのテーブルにする構成でもよい。
図7は、要件テーブルT10及び構成テーブルT20を示す説明図である。各テーブルT10,T20については上述の通りである。図8は、性能テーブルT30及び仕様テーブルT40を示す説明図である。なお、性能テーブルT30と仕様テーブルT40とは、直接的な関連はないが、便宜上、両テーブルT30,T40を線で接続して示す。
図9は、エージェント300により実行されるエージェント処理の概要を示すフローチャートである。以下に述べる各フローチャートも同様であるが、本発明の理解及び実施に必要な範囲で、各処理の概要を説明する。従って、実際のコンピュータプログラムとは異なる場合もある。また、当業者であれば、ステップの変更、追加、削除を適宜行うことができるであろう。
エージェント300は、ユーザから要件情報が入力されるまで待機し(S10)、ユーザから要件情報が入力されると(S10:YES)、その要件情報を要件テーブルT10に保存させる(S11)。
エージェント300は、構成管理部310を用いて、記憶制御装置10の構成に関する情報を取得し、その構成に関する情報を構成テーブルT20に保存させる(S12)。エージェント300は、性能管理部320を用いて、記憶制御装置10の性能に関する情報を取得し、その性能に関する情報を性能テーブルT30に保存させる(S13)。
エージェントは、ユーザに対して、LU構成テーブルT21及びLU性能テーブルT31を編集する機会を与える(S14)。ユーザは、例えば、タイムゾーン毎のアクセスパターン等を適宜設定することができる。
エージェント300は、論理ボリューム(LU)102と複数の論理デバイス(LDEV)230との対応付けを行う(S15)。この対応付け処理については、図13等と共に後述する。エージェント300は、論理ボリューム102と各論理デバイス230との対応付けの結果、即ち、設計結果を管理サーバ30の画面に表示させる(S16)。
エージェント300は、S16でユーザに提示された設計結果をユーザが承認したか否かを判定する(S17)。即ち、エージェント300は、画面に表示させた設計結果を記憶制御装置10の構成に反映させるかを判定する(S18)。より具体的には、エージェント300は、ユーザにより設定された資源管理グループにおいて、論理ボリューム102と論理デバイス230との対応付けを実行するか否かを判定する。
設計結果に基づいて記憶制御装置10の構成を変更する場合(S17:YES)、エージェント300は、構成管理部310を用いて、論理ボリューム102と各論理デバイス230とを対応付けさせる(S18)。ユーザが設計結果に満足しない場合(S17:NO)、エージェント300は、S10に戻る。
図10は、ユーザが要件情報を入力する場合に使用されるグループ設定画面1000の一例を示す説明図である。なお、以下に述べる画面構成は、一例であって、本発明はこれに限定されない。
グループ設定画面1000には、例えば、グループリスト表示部1001と、グループ名表示部1002と、基本LDEV容量表示部1003と、LUリスト表示部1004と、RAIDグループリスト表示部1005と、キャンセルボタンB1と、登録ボタンB2と、編集ボタンB3,B4とが含まれている。
グループリスト表示部1001は、記憶制御装置10内に設定される資源管理グループの名称を表示する。グループ名表示部1002は、表示部1001で選択された資源管理グループの名称を表示する。基本LDEV容量表示部1003は、選択された資源管理グループに設定される基本LDEV容量の値を表示する。
LUリスト表示部1004は、選択された資源管理グループに含まれている論理ボリューム102の名称を表示する。RAIDグループリスト表示部1005は、選択された資源管理グループに含まれているRAIDグループ220の番号を表示する。キャンセルボタンB1は、ユーザの入力を取り消すためのボタンである。登録ボタンB2は、ユーザから入力された値を要件テーブルT10に記憶させるためのボタンである。一方の編集ボタンB3は、LUリスト表示部1004に表示されるリストをユーザが編集するためのボタンであり、他方の編集ボタンB4は、RAIDグループリスト表示部1005に表示されるリストをユーザが編集するためのボタンである。
一方の編集ボタンB3をユーザが選択すると、編集画面1010が表示される。この編集画面1010には、例えば、未使用の論理ボリューム102の名称をリスト表示させる表示部1011と、使用する論理ボリューム102の名称をリスト表示させる表示部1012とが含まれている。ユーザは、未使用の各論理ボリューム102の中から、使用を希望する論理ボリューム102を選択する。選択された論理ボリューム102は、表示部1002で選択されている資源管理グループに含まれる。
上記同様に、他方の編集ボタンB4をユーザが選択すると、編集画面1020が表示される。この編集画面1020には、例えば、未使用のRAIDグループ220の番号をリスト表示させる表示部1021と、使用するRAIDグループ220の番号をリスト表示させる表示部1022とが含まれている。ユーザは、未使用の各RAIDグループ220の中から、使用を希望するRAIDグループ220の番号を選択する。選択されたRAIDグループ220は、表示部1002で選択されている資源管理グループに含まれる。
図11は、性能設定画面1100を示す説明図である。この画面1100は、例えば、図9中のS14において、ユーザによる編集作業のために使用される。性能設定画面1100には、例えば、グループリスト表示部1101と、LU性能指標表示部1102と、キャンセルボタンB1及び登録ボタンB2とを含めることができる。
グループリスト表示部1101は、記憶制御装置10に設定されている各資源管理グループの名称が表示される。LU性能指標表示部1102には、グループリスト表示部1101で選択された資源管理グループに含まれている各論理ボリューム102の性能指標に関する値等が表示される。即ち、この表示部1102には、LU性能テーブルT31に保存される内容が表示される。
図12は、設計結果画面1200を示す説明図である。この画面1200は、例えば、図9中のS16において、ユーザからの承認を得るために使用される。設計結果画面1200は、例えば、各RAIDグループ220毎に論理デバイス230の配置状況を示す配置状況表示部1201と、RAIDグループ220の性能指標を表示する性能指標表示部1202と、キャンセルボタンB1及び登録ボタンB2を含んで構成される。
配置状況表示部1201では、ユーザにより選択された資源管理グループ内において、各RAIDグループ220毎に、そこに配置された論理デバイス230の状況が視覚的に表示される。論理デバイス230を象徴する図形内には、例えば、その上段に論理デバイス230を識別するためのLDEV番号が表示され、その下段に連結番号が表示される。
性能指標表示部1202には、その資源管理グループに含まれる各RAIDグループ220の性能指標がタイムゾーン毎にそれぞれ表示される。なお、図12中では、便宜上、タイムゾーンを省略して示している。
ユーザが登録ボタンB2を選択すると、設計結果画面1200に表示された設計結果がLDEV構成テーブルT22に登録される。LDEV構成テーブルT22は、論理ボリューム102を構成する各論理デバイス230が、どのRAIDグループ220にどの順番(連結番号)で配置されているのかが保存される。構成管理部310は、このLDEV構成テーブルT22を用いることにより、各RAIDグループ220から選択された論理デバイス230を論理ボリューム102に対応付けて、ホスト20に提供することができる。
図13は、図9中のS15で示される論理ボリューム102と論理デバイス230との対応付けを行う処理の詳細を示すフローチャートである。まず最初に、エージェント300は、グループ要件テーブルT12に登録されている資源管理グループの名称を抽出する(S20)。
そして、抽出された各資源管理グループ毎に、以下に述べるループ1が開始される。ループ1では、後述するS22〜S28が各資源管理グループ毎に繰り返される。エージェント300は、処理中の資源管理グループに設定されている基本LDEV容量を、グループ要件テーブルT12から抽出する(S22)。
エージェント300は、RAIDグループ・グループテーブルT13から、処理中の資源管理グループに含まれるRAIDグループ220の番号のリストを抽出する(S23)。エージェント300は、抽出されたRAIDグループ220の番号に関して、RAIDグループ構成テーブルT23とRAIDグループ仕様テーブルT41とを使用することにより、RAIDグループ情報テーブルT50を作成する(S24)。RAIDグループ情報テーブルT50は、論理ボリューム102と論理デバイス230との対応付けに際して一時的に作成される作業用テーブルである。
エージェント300は、処理中の資源管理グループに含まれる論理ボリューム102のリストを、LUグループテーブルT11から抽出し、リストを作成する(S25)。エージェント300は、ループ1内において、第2のループ2を開始する。ループ2では、詳細処理1が実行される(S27)。詳細処理1については、図15と共に後述する。
ループ2が終了すると(S28)、次の資源管理グループについて、論理ボリューム102と論理デバイス230との対応付けが行われる。そして、ループ1が終了すると(S29)、図9中のS16に移行する。
図14は、RAIDグループ情報テーブルT50の構成を示す説明図である。図14中の下側に示すRAIDグループ情報テーブルT50は、例えば、RAIDグループ番号と、使用可能LDEV数と、使用済LDEV数と、処理可能IOPSと、タイムゾーンと、RAIDグループ性能指標とを対応付けて記憶する。
テーブルT50内のRAIDグループ番号には、RAIDグループ構成テーブルT23から読み出された値が設定される。T50内の使用可能LDEV数とは、RAIDグループ220内に設定することができる論理デバイス230の数の最大値を示す。使用可能LDEV数は、RAIDグループ仕様テーブルT41の容量を基本LDEV容量で除算した値から得られる(使用可能LDEV数=RAIDグループ容量/基本LDEV容量)。なお、除算した値に小数点以下が含まれる場合、小数点以下の値は切り捨てる。
テーブルT50内の使用済LDEV数とは、RAIDグループ内で既に使用されている論理デバイス230の数を示す値である。論理ボリューム102と論理デバイス230との対応付けが進むにつれて、使用済LDEV数の値は変化する。RAIDグループ情報テーブルT50を作成した時点では、使用済LDEV数には、初期値「0」が設定される。
テーブルT50内の処理可能IOPSには、RAIDグループ仕様テーブルT41から読み出された値が設定される。テーブルT50内のタイムゾーンには、タイムゾーンテーブルT32に定義されている各タイムゾーンの値が設定される。RAIDグループの性能指標には、初期値「0」が設定される。
このように、RAIDグループ情報テーブルT50は、処理対象の資源管理グループに含まれる各RAIDグループ220のそれぞれについて、予め定義されている各タイムゾーン毎にレコードが生成される。
図15は、図13中にS27で示される詳細処理1を示すフローチャートである。この詳細処理は、処理対象の資源管理グループに含まれる各論理ボリューム102毎に、それぞれ実行される。
エージェント300は、処理対象の論理ボリューム102に設定されている記憶容量を、LU構成テーブルT21から取得する(S40)。エージェント300は、論理ボリューム102の記憶容量(図中のLU容量)と基本LDEV容量とに基づいて、論理ボリュームに対応付けられる論理デバイス230の数を算出する(S41)。論理ボリューム102に対応付けられる論理デバイス230の数を、本実施例では、使用LDEV数と呼ぶ。具体的には、LU容量を基本LDEV容量で除算し、小数点以下を切り捨てることにより、使用LDEV数を求めることができる(使用LDEV数=LU容量/基本LDEV容量)。
エージェント300は、LU性能テーブルT31と使用LDEV数とに基づいて、LU情報テーブルT60を作成する(S42)。LU情報テーブルT60は、論理ボリューム102に論理デバイス230を対応付ける処理で使用される一時的な作業用テーブルであり、例えば、処理対象のLU名と、使用LDEV数と、アクセスパターンと、論理ボリューム102の性能指標とが各タイムゾーン毎に記録される。
エージェント300は、LU情報テーブルT60に基づいて、LDEV情報テーブルT70をT70を作成する(S43)。LDEV情報テーブルT70は、論理ボリューム102に論理デバイス230を対応付ける処理で使用される一時的な作業用テーブルであり、その詳細は、図16と共に後述する。
LDEV情報テーブルT70に設定される、論理デバイス230の性能指標(LDEV_PI)は、以下のルールに基づいて算出される。
(1)アクセスパターンがランダムアクセスの場合
LDEV性能指標は、LU性能指標を使用LDEV数で除算した値とする(LDEV性能指標=LU性能指標/使用LDEV数)。上述の通り、ランダムアクセスの場合、ホスト20によって、論理ボリューム102内の記憶領域が均一にアクセスされると期待することができる。従って、論理ボリューム102に加わる負荷(LU性能指標)を、その論理ボリューム102を構成する論理デバイス230の数で除算することにより、各論理デバイス230に加わる負荷(LDEV性能指標)の値とすることができる。
LDEV性能指標は、LU性能指標を使用LDEV数で除算した値とする(LDEV性能指標=LU性能指標/使用LDEV数)。上述の通り、ランダムアクセスの場合、ホスト20によって、論理ボリューム102内の記憶領域が均一にアクセスされると期待することができる。従って、論理ボリューム102に加わる負荷(LU性能指標)を、その論理ボリューム102を構成する論理デバイス230の数で除算することにより、各論理デバイス230に加わる負荷(LDEV性能指標)の値とすることができる。
(2)アクセスパターンがシーケンシャルアクセスの場合
LDEV性能指標は、LU性能指標と同一の値とする。上述の通り、シーケンシャルアクセスの場合、論理ボリューム102を構成する各論理デバイス230のいずれかに対して、集中的にデータが入出力される。従って、各論理デバイス230に加わり得る負荷は、論理ボリューム102に加わる負荷と同一であるとみなすことができる。
LDEV性能指標は、LU性能指標と同一の値とする。上述の通り、シーケンシャルアクセスの場合、論理ボリューム102を構成する各論理デバイス230のいずれかに対して、集中的にデータが入出力される。従って、各論理デバイス230に加わり得る負荷は、論理ボリューム102に加わる負荷と同一であるとみなすことができる。
このようにして、LDEV情報テーブルT70を作成した後、エージェント300は、LDEV情報テーブルT70に登録された各論理デバイス230毎に、詳細処理2をそれぞれ実行する。詳細処理2の内容は、図17と共に後述する。
図16は、図15中のS43で作成されるLDEV情報テーブルT70の構成を示す説明図である。LDEV情報テーブルT70は、例えば、LDEV番号と、連結番号と、LU名と、RAIDグループ番号と、アクセスパターンと、LDEV性能指標とを、各タイムゾーン毎にそれぞれ対応付けて記憶する。
テーブルT70内のLDEV番号には、処理対象の論理ボリューム102に対応付けられる論理デバイス230を特定するための番号が設定される。テーブルT70内の連結番号には、処理対象の論理ボリューム102に、その論理デバイス230を対応付ける順番が設定される。テーブルT70内のRAIDグループ番号には、その論理デバイス230が配置されるRAIDグループ220の番号が設定される。テーブルT70の作成時点では、論理デバイス230を設けるRAIDグループ220は決定されていないため、RAIDグループ番号の欄は空欄となっている。LDEV性能指標には、アクセスパターンの種別に応じて図15中のS43で算出された値が設定される。
図17は、図15中にS45で示される詳細処理2を示すフローチャートである。最初に、エージェント300は、LDEV情報テーブルT70及びRAIDグループ情報テーブルT50のバックアップを作成する(S50)。
次に、エージェント300は、テンプデータを初期化する(S51)。テンプデータには、最小分散値と、使用するRAIDグループ220の番号とが含まれる。S51では、最小分散値の初期値として、予め用意されている最大の分散値を設定する。また、S51では、使用するRAIDグループ220の番号としてヌル値を設定する。
エージェント300は、RAIDグループ情報テーブルT50に記載された各RAIDグループ220について、ループ4内のステップをそれぞれ実行する。エージェント300は、処理対象のRAIDグループ220の使用可能LDEV数と使用済LDEV数とを比較し、使用可能LDEV数が使用済LDEV数よりも大きいか否かを判定する(S53)。
使用可能LDEV数が使用済LDEV数よりも小さい場合(S53:NO)、S54〜S58のステップをスキップして、ループ4を終了する(S59)。
使用可能LDEV数が使用済LDEV数よりも大きい場合(S53:YES)、エージェント300は、処理中のLDEV番号と処理中のRAIDグループ番号とを対応付け、かつ、そのRAIDグループ220の性能指標を算出する(S54)。即ち、エージェント300は、論理デバイス230を設定する余裕のあるRAIDグループ220に、LDEV番号を対応付けると共に、そのRAIDグループ220に論理デバイス230を配置した場合の性能指標を算出する。より具体的には、LDEV情報テーブルT70において、処理中のLDEV番号に対応するRAIDグループ番号に、処理中のRAIDグループ220の番号を設定し、かつ、RAIDグループ情報テーブルT50において、処理中のRAIDグループ220の使用済LDEV数の値を1つ増加させる。RAIDグループ220の性能指標は、アクセスパターンの種別に応じて算出される。
(1)アクセスパターンがランダムアクセスの場合
RAIDグループ220の最新の性能指標に、論理デバイス230の性能指標を加算することにより、RAIDグループ220の性能指標を算出する(RAIDグループPI=RAIDグループPI+LDEV_PI)。従って、ランダムアクセスの場合、そのRAIDグループ220に配置される論理デバイス230の数が増加するほど、そのRAIDグループ220の性能指標の値は増大することになる。
RAIDグループ220の最新の性能指標に、論理デバイス230の性能指標を加算することにより、RAIDグループ220の性能指標を算出する(RAIDグループPI=RAIDグループPI+LDEV_PI)。従って、ランダムアクセスの場合、そのRAIDグループ220に配置される論理デバイス230の数が増加するほど、そのRAIDグループ220の性能指標の値は増大することになる。
(2)アクセスパターンがシーケンシャルアクセスの場合
そのRAIDグループ220に一つ以上の論理デバイス230が既に割り当てられている場合(2−1)と、未だ一つの論理デバイス230も割り当てられていない場合(2−2)とに分けられる。
そのRAIDグループ220に一つ以上の論理デバイス230が既に割り当てられている場合(2−1)と、未だ一つの論理デバイス230も割り当てられていない場合(2−2)とに分けられる。
(2−1)既に論理デバイスが割当済みの場合
RAIDグループ220の性能指標の値は、変化しない。即ち、そのRAIDグループ220に配置された論理デバイス230の数が一つ以上の場合、RAIDグループ220の性能指標は、LDEV性能指標と同一の値となり、変化しない。但し、上述の通り、シーケンシャルアクセスの場合におけるLDEV性能指標の値は、ランダムアクセスの場合における性能指標の値よりも大きい。
RAIDグループ220の性能指標の値は、変化しない。即ち、そのRAIDグループ220に配置された論理デバイス230の数が一つ以上の場合、RAIDグループ220の性能指標は、LDEV性能指標と同一の値となり、変化しない。但し、上述の通り、シーケンシャルアクセスの場合におけるLDEV性能指標の値は、ランダムアクセスの場合における性能指標の値よりも大きい。
(2−2)論理デバイスが未割当の場合
RAIDグループ220の性能指標の値には、論理デバイス230の性能指標の値が設定される。
RAIDグループ220の性能指標の値には、論理デバイス230の性能指標の値が設定される。
次に、エージェント300は、各RAIDグループ220の性能指標についての分散値を算出し(S55)、算出した分散値と最小分散値とを比較する(S56)。分散値の算出方法については、図19と共に後述する。
S55で算出された分散値の方が最小分散値よりも小さい場合(S56:YES)、エージェント300は、テンプデータである最小分散値を更新する(S57)。エージェント300は、S54において一部の項目の値が変更されたLDEV情報テーブルT70及びRAIDグループ情報テーブルT50を、それぞれ元に戻す(S58)。即ち、S50でバックアップされたLDEV情報テーブルT70及びRAIDグループ情報テーブルT50に戻す。
このように、ループ4では、各RAIDグループ毎に、それぞれ性能指標及び分散値が算出されていく。そして、ループ4が終了すると(S59)、エージェント300は、最も分散値が小さくなるRAIDグループ番号に基づいて、LDEV情報テーブルT70及びRAIDグループ情報テーブルT50をそれぞれ更新する(S60)。最後に、エージェント300は、LDEV情報テーブルT70の記憶内容に基づいて、LDEV構成テーブルT22を更新し(S61)、詳細処理2を終了する。
図18は、図17に示すフローチャートに関して、LDEV情報テーブルT70及びRAIDグループ情報テーブルT50の変化を示す説明図である。LDEV情報テーブルT70には、処理中のLDEV番号に対応するRAIDグループ番号の欄に、処理中のRAIDグループ220の番号が設定される。従って、RAIDグループ番号の欄は、空欄から処理中のRAIDグループ220の番号に変化する。
RAIDグループ情報テーブルT50では、処理中のRAIDグループ220の番号において、使用済LDEV数の値が1つ増加する。また、アクセスパターンの種別に応じて、RAIDグループ220の性能指標の値が算出されて、登録される。最後に、LDEV構成テーブルT22には、処理中の論理ボリューム102に対応付けられる論理デバイス230の配置先として、分散値が最も小さくなるRAIDグループ220の番号が設定される。図18ではタイムゾーンを一部省略しているが、各タイムゾーン毎にレコードが形成されるのは、上述した通りである。
図19は、分散値の算出方法を示す説明図である。分散値を求める前に、各RAIDグループ220の性能指標の平均値が、下記の式1から算出される。即ち、RAIDグループ情報テーブルT70に記載された各RAIDグループ性能指標を、テーブルT70の全レコードについて積算し、この積算値を前記全レコード数で除算することにより、平均値を求めることができる。レコードの総数は、RAIDグループ情報テーブルT70に登録されたRAIDグループ220の数とタイムゾーンの数とを乗算することにより、求められる。
平均値=(1/全レコード数)×ΣRAIDグループPI・・・(式1)
分散値は、各RAIDグループ220の性能指標と平均値との差の二乗を、RAIDグループ情報テーブルT50の全レコード数の分だけ積算し、この積算値を前記全レコード数で除算することにより、求めることができる。
分散値=(1/全レコード数)×Σ(RAIDグループPI−平均値)^2・・・(式2)
以上述べたように、エージェント300は、資源管理グループ内において、論理ボリューム102を構成する各論理デバイス230を、各RAIDグループ220にそれぞれ配置した場合の各RAIDグループ性能指標の分散値を、それぞれ算出する。
図20〜図33に基づいて、論理ボリューム102を構成する各論理デバイス230の配置先を決定する様子の一部を説明する。図20は、論理ボリューム102と論理デバイス230との対応付けを行う前の初期状態を示す。
以下の例では、一つの資源管理グループ内に、3個の論理ボリューム102(LU1,LU2,LU3)と、3個のRAIDグループ220(1−1,1−2,1−3)が含まれているものとする。
第1の論理ボリューム102(LU1)には2つの論理デバイス230(#1,#2)が、第2の論理ボリューム102(LU2)には3個の論理デバイス230(#3,#4,#5)が、第3の論理ボリューム102(LU3)には3個の論理デバイス230(#6,#7,#8,#9)が、それぞれ対応付けられるものとする。論理デバイス230を示す図形内で、上段の数字はLDEV番号を、下段の数字は連結番号をそれぞれ示す。
また、第1のRAIDグループ220(1−1)及び第2のRAIDグループ220(1−2)には最大4個の論理デバイス230を、第3のRAIDグループ220(1−3)には最大8個の論理デバイス230を、それぞれ配置可能であるとする。
図20中のLDEV情報テーブルT70に示すように、各論理デバイス230には、各タイムゾーン毎に、性能指標及びアクセスパターンが登録されている。RAIDグループ番号の欄は、空欄となっている。
図21は、RAIDグループ情報テーブルT50の初期状態を示す。初期状態では、論理デバイス230は配置されていないため、使用済LDEV数の欄には初期値「0」が設定されている。処理可能IOPSの欄には、RAIDグループ220の仕様に応じた値が設定される。RAIDグループ220の性能指標の値には、初期値「0」が設定される。RAIDグループ220に論理デバイス230を配置するシミュレーションが行われると、RAIDグループ性能指標が算出されて、テーブルT50に記載される。
図22は、論理デバイス230(#1)を配置する様子を示す。図22中のLDEV情報テーブルT70には、RAIDグループ220(1−1)に論理デバイス230(#1)を配置した場合の状態が示されている。
図23に示すように、論理デバイス230(#1)をRAIDグループ220(1−1)に配置した場合、RAIDグループ220(1−1)の性能指標は、「0」から「12000」に変化する。
この例では、タイムゾーン「0900−1200」(9時から12時まで)において、対象の論理ボリューム102(LU1)にホスト20がアクセスするパターンは、シーケンシャルアクセスであり、その場合の性能指標は「12000」に設定されている。また、タイムゾーン「1200−1500」(12時から15時まで)においては、その論理ボリューム102(LU1)に関するアクセスパターンはランダムアクセスであり、その場合の性能指標は「24000」に設定されている。
上述の通り、この例では、論理ボリューム102(LU1)は、2つの論理デバイス230(#1,#2)から構成される。従って、シーケンシャルアクセスされるタイムゾーン「0900−1200」において、各論理デバイス230(#1,#2)の性能指標は、それぞれ「12000」となる(LDEV性能指標=LU性能指標)。そして、ランダムアクセスされるタイムゾーン「1200−1500」において、各論理デバイス230(#1,#2)の性能指標も、それぞれ「12000」となる(LDEV性能指標=LU性能指標/使用LDEV数=24000/2)。
従って、論理デバイス230(#1をRAIDグループ220(1−1)に配置した場合、図23に示すように、タイムゾーン「0900−1200」におけるRAIDグループ220(1−1)の性能指標は、「12000」となり、タイムゾーン「1200−1500」におけるRAIDグループ220(1−1)の性能指標も、「12000」となる。
この論理デバイス230(#1)を、他のRAIDグループ220(1−2)及び220(1−3)にそれぞれ配置した場合も、各タイムゾーンにおけるRAIDグループ性能指標の値は、それぞれ「12000」となることが容易に理解される。この結果、論理デバイス230(#1)をいずれのRAIDグループ220(1−1,1−2,1−3)に対応付けた場合でも、RAIDグループ性能指標の分散値は同一の値となる。従って、エージェント300は、最初に処理したRAIDグループ220(1−1)を論理デバイス230(#1)の配置先として決定する。換言すれば、エージェント300は、最初に処理したRAIDグループ220(1−1)に、論理デバイス230(#1)を設けることを決定する。
図24は、論理ボリューム102(LU1)を構成する2番目の論理デバイス230(#2)を配置する様子を示す。図24では、論理デバイス230(#2)をRAIDグループ220(1−2)に配置した場合が示されている。
図25に示すように、論理デバイス230(#2)をRAIDグループ220(1−2)に配置すると、RAIDグループ220(1−2)の各タイムゾーン「0900−1200」,「1200−1500」毎の性能指標は、それぞれ「12000」となる。
論理デバイス230(#2)をRAIDグループ220(1−3)に配置した場合も、論理デバイス230(#2)をRAIDグループ220(1−2)に配置した場合と同様に、前記各タイムゾーン毎の性能指標は、それぞれ「12000」となる。
RAIDグループ220(1−1)には、既に論理デバイス230(#1)が配置されているため、前記各タイムゾーンの性能指標は、それぞれ「12000」となっている。もしも、論理デバイス230(#2)をRAIDグループ220(1−1)に配置した場合、前記各タイムゾーン毎の性能指標は、それぞれ「24000」に増加する。
従って、論理デバイス230(#2)をRAIDグループ220(1−1)に配置した場合の分散値は、論理デバイス230(#2)をRAIDグループ220(1−2)または220(1−3)のいずれかに配置した場合の分散値よりも高くなる。
ここで、分散値が高くなるということは、各RAIDグループ220(1−1,1−2,1−3)間における負荷の不均衡が拡大することを意味する。分散値が小さくなるということは、各RAIDグループ220(1−1,1−2,1−3)間における負荷が均衡することを意味する。
そこで、分散値が最も少なくなるRAIDグループ220(1−2)または220(1−3)のいずれかが、論理デバイス230(#2)の配置先として選択される。エージェント300は、先に検討した、RAIDグループ220(1−2)を論理デバイス230(#2)の配置先として決定する。以上により、論理ボリューム102(LU1)と各論理デバイス230(#1,#2)との対応付けが完了する。
図26,図27は、第2の論理ボリューム102(LU2)に1番目に対応付けられる論理デバイス230(#3)の配置先を検討する様子を示す。上述した第1の論理ボリューム102(LU1)では、タイムゾーンによってアクセスパターンが変化していたが、第2の論理ボリューム102(LU2)に関するアクセスパターンは、いずれのタイムゾーンにおいてもランダムアクセスであるとする。論理ボリューム102(LU2)の性能指標が「8000」に設定されている場合、論理デバイス230(#3)の配置されたRAIDグループ220の性能指標は、「8000」となる。
図26では、論理デバイス230(#3)をRAIDグループ220(1−3)に配置した場合を示す。図27に示すように、RAIDグループ220(1−3)の性能指標は、各タイムゾーンのそれぞれにおいて「8000」となる。もしも、論理デバイス230(#3)をRAIDグループ220(1−1)または220(1−2)のいずれかに配置した場合、RAIDグループ性能指標の値は、各タイムゾーンのそれぞれにおいて、「20000(=12000+8000)」となる。
従って、図27の下側に示すように、論理デバイス230(#3)をRAIDグループ220(1−3)に配置した場合の分散値は、論理デバイス230(#3)をRAIDグループ220(1−1)または220(1−2)のいずれかに配置した場合の分散値よりも、小さくなる。そこで、エージェント300は、論理デバイス230(#3)の配置先として、RAIDグループ220(1−3)を選択する。
図28,図29は、前記同様に、論理デバイス230(#4)を論理ボリューム102(LU2)に対応付ける様子を示す。図28では、論理ボリューム102(LU2)に2番目に対応付けられる論理デバイス230(#4)を、RAIDグループ220(1−3)に配置した様子が示されている。
図29に示すように、論理デバイス230(#4)をRAIDグループ220(1−3)に配置した場合、RAIDグループ220(1−3)の各タイムゾーンにおける性能指標は、それぞれ「16000(=8000+8000)」となる。
論理デバイス230(#4)を、各RAIDグループ220(1−1,1−2,1−3)のそれぞれに配置した場合の分散値を計算すると、RAIDグループ220(1−3)に論理デバイス230(#4)を配置した場合の分散値が最も小さくなる。そこで、エージェント300は、論理デバイス230(#4)の配置先としてRAIDグループ220(1−3)を選択する。
図30,図31は、前記同様に、論理デバイス230(#5)を論理ボリューム102(LU2)に対応付ける様子を示す。図30では、論理ボリューム102(LU2)に3番目に対応付けられる論理デバイス230(#5)を、RAIDグループ220(1−1)に配置した様子が示されている。
図31に示すように、論理デバイス230(#5)をRAIDグループ220(1−1)に配置した場合、RAIDグループ220(1−1)の各タイムゾーンにおける性能指標は、それぞれ「20000(=12000+8000)」となる。
論理デバイス230(#5)を、各RAIDグループ220(1−1,1−2,1−3)のそれぞれに配置した場合の分散値を計算すると、RAIDグループ220(1−1)または220(1−2)のいずれかに論理デバイス230(#4)を配置した場合の分散値が最も小さくなる。そこで、エージェント300は、最初に処理したRAIDグループ220(1−1)を、論理デバイス230(#5)の配置先として選択する。
図32,図33は、第3の論理ボリューム102(LU3)と各論理デバイス230(#6〜#9)の対応付けを終えた状態を示す。即ち、エージェント300が、一つの資源管理グループ内において、各論理ボリューム102(LU1〜LU3)と各論理デバイス230(#1〜#9)との対応付けを完了した状態を示している。
第3の論理ボリューム102(LU3)に、4個の論理デバイス230(#6〜#9)を順番に対応付ける詳細については、上述した、論理デバイス230(#1〜#5)を論理ボリューム102(LU1,LU2)に対応付ける場合と同様であるから、その説明を割愛する。
本実施例は上述の構成を備えるため、以下の効果を奏する。本実施例では、アクセスパターンの種別と論理ボリューム102に要求される処理性能(性能指標)とに基づいて、論理ボリューム102を構成する各論理デバイス230を配置するRAIDグループ220を選択する構成とした。従って、各RAIDグループ220間で負荷を分散させて、記憶制御装置10の応答性能を改善することができる。
特に、本実施形態では、アクセスパターンがランダムアクセスの場合とシーケンシャルアクセスの場合とで、各性能指標の算出方法を変え、ランダムアクセスの場合には、論理ボリューム102を構成する各論理デバイス230がそれぞれ異なるRAIDグループ220に配置されるように構成した。従って、ランダムアクセス時における各RAIDグループ220の負荷を少なくすることができ、ランダムアクセスに対する記憶制御装置10の応答性能を改善でき、ユーザの使い勝手が向上する。
図34及び図35に基づいて、本発明の第2実施例を説明する。本実施例を含む以下の実施例は、上述した第1実施例の変形例に相当する。本実施例では、記憶制御装置10の内部にエージェント300等を設け、記憶制御装置10自身が論理ボリューム102と論理デバイス230との対応付けを自動的に実行する。
図34は、本実施例による記憶制御装置10の構成を模式的に示す説明図である。コントローラ100には、エージェント300と、構成管理部310と、性能管理部320とがそれぞれ設けられている。また、共有メモリ140には、各テーブルT10〜T40が記憶されている。なお、各テーブルT10〜T40は、キャッシュメモリ130に記憶させることもできる。
ユーザは、SVP160を介して、コントローラ100内のエージェント300に、論理ボリューム102と論理デバイス230との対応付けに関する諸条件を設定することができるようになっている。
図35は、本実施例によるエージェント処理を示すフローチャートである。最初に、エージェント300は、ユーザから入力された要件情報を要件テーブルT10に保存する(S70)。そして、エージェント300は、ユーザから指定された時刻が到来するまで、待機する(S71,S72,S77)。時刻とは、論理ボリューム102に論理デバイス230を対応付ける処理を開始する時刻である。ユーザは、例えば、ホスト20からのアクセス頻度が少ない時間帯を見計らって、処理開始時刻を指定することができる。
指定時刻が到来すると、エージェント300は、構成管理部310から記憶制御装置10の構成に関する情報を取得して、構成テーブルT20に保存する(S73)。さらに、エージェント300は、性能管理部320から記憶制御装置10の性能に関する情報を取得して、性能テーブルT30に保存する(S74)。
エージェント300は、前記実施例で述べたと同様に、論理ボリューム102と論理デバイス230とを対応付けるための処理を実行する(S75)。S75の処理は、前記第1実施例と同様なので、説明を省略する。最後に、エージェント300は、構成管理部310を用いて、記憶制御装置10の構成を変更する(S76)。
このように構成される本実施例も前記第1実施例と同様の効果を奏する。これに加えて、本実施例では、記憶制御装置10内にエージェント300等を設ける構成のため、管理サーバ30が不要となり、構成が簡素となる。また、本実施例では、ユーザが予め指定した時刻に、論理ボリューム102と論理デバイス230との対応付けを自動的に実行するため、ユーザの使い勝手がさらに向上する。
図36に基づいて第3実施例を説明する。本実施例では、分散値の別の算出方法を提案する。図36は、分散値の算出方法を示す説明図である。本実施例では、前記式2中のRAIDグループ性能指標に代えて、余剰IOPSという指標を使用する。
余剰IOPSとは、各RAIDグループ220で処理可能な最大のIOPSの値からRAIDグループ性能指標を差し引いたものである(余剰IOPS=処理可能IOPS−RAIDグループ性能指標(RAIDグループPI))。即ち、余剰IOPSとは、RAIDグループ220の処理上の余裕度を意味する指標である。本実施例では、下記式3に従って、分散値を算出する。
分散値=(1/全レコード数)×Σ(余剰IOPS−平均値)^2・・・(式3)
そして、エージェント300は、前記第1実施例または前記第2実施例と同様に、分散値が最小となるように、各論理デバイス230毎に、論理デバイス230の配置先を決定する。
図37〜図39に基づいて第4実施例を説明する。本実施例では、連結番号の若い論理デバイス(連結番号の小さな論理デバイス)230が、特定のRAIDグループ220に偏って配置されるのを防止する。
図37は、本実施例による処理の概要を示す説明図である。図37(a)に示すように、RAIDグループ220(1−1)には論理デバイス230(#1,#4,#7)を、RAIDグループ220(1−2)には論理デバイス230(#2,#5,#8)を、RAIDグループ220(1−3)には論理デバイス230(#3,#6,#9)を、それぞれ配置することが決定されたものとする。
図37中、太線で示す論理デバイス230(#1,#3,#6)は、それぞれ連結番号「1」を有しており、論理ボリューム102に1番最初に対応付けられる論理デバイスである。以下の説明では、連結番号「1」を有する論理デバイス230を、先頭論理デバイス230と呼ぶ場合がある。
先頭論理デバイス230は、論理ボリューム102に最初に対応付けられ、論理ボリューム102の全記憶領域のうち、その先頭アドレスから先頭論理デバイス230の容量分までの記憶領域を担当する。
ホスト20上で実行されるアプリケーションプログラムの種類等によっても異なるが、ある種のアプリケーションプログラムは、例えば、管理用のデータを記憶領域の先頭部分に記憶させ、他の通常データを記憶領域の他の部分に記憶させる。管理用のデータは、通常のデータよりも使用頻度が高い。従って、論理ボリューム102の記憶領域の先頭部分を担当する先頭論理デバイス230は、論理ボリューム102の記憶領域の他の部分を担当する論理デバイス230よりも、ホスト20からアクセスされる可能性が高い。特に、データベース管理ソフトウェアの場合には、記憶領域の先頭部分に記憶されたデータに基づいて、記憶領域の他の部分に記憶されたデータにランダムアクセスする場合が多いと考えられる。
図37(a)に示す配置例では、RAIDグループ220(1−3)に、2個の先頭論理デバイス230(#3,#6)がそれぞれ配置されている。従って、図37(a)が、RAIDグループ性能指標の分散値を最小化する配置例を示している場合でも、実際には、RAIDグループ220(1−3)へのアクセス頻度が他のRAIDグループ220(1−1,1−2)へのアクセス頻度を上回る可能性がある。
そこで、本実施例では、図37(b)に示すように、先頭論理デバイス230(#3)の配置先を、RAIDグループ220(1−3)からRAIDグループ220(1−2)に変更させる。具体的には、RAIDグループ220(1−3)に配置予定の先頭論理デバイス230(#3)と、RAIDグループ220(1−2)に配置予定の論理デバイス230(#5)とを交換する。これにより、各RAIDグループ220は、それぞれ一つずつの先頭論理デバイス230を有することになる。
図38は、本実施例による論理ボリューム102と論理デバイス230との対応付け処理を示すフローチャートである。図38に示すフローチャートは、図13に示すフローチャートと同一のステップS20〜S29を備えている。さらに、図38に示すフローチャートには、先頭論理デバイス230を分散して配置させるための処理(S80)が新たに追加されている。
図39は、図38中にS80で示された先頭論理デバイス230の分散処理を示すフローチャートである。エージェント300は、処理継続フラグCFの値が「True」である間だけ、以下に述べるS82〜S92を繰り返して実行する(S81,S93)。処理継続フラグCFとは、本処理の実行を継続するか否かを示すフラグであり、「True」または「False」のいずれかの値が設定される。
まず最初に、エージェント300は、フラグCFの値に「False」を設定し(S82)、次に、先頭論理デバイス230の数が多い順番で、RAIDグループ220の番号のリストを作成する(S83)。図37に示す例では、「1−3,1−1,1−2」というようなリストが作成される。
エージェント300は、リストに載った各RAIDグループ220のそれぞれについて、ループ2の処理を実行する(S84)。このループ2では、処理中のRAIDグループ220に先頭論理デバイス230が配置されている論理ボリューム102のリストを作成する(S85)。図37に示す例では、「LU2,LU1」のようなリストが作成される。
そして、ループ2内で、前記リストに載った各論理ボリューム102のそれぞれについて、別のループ3の処理が実行される(S86)。ループ3では、処理中の論理ボリューム102を構成する各論理デバイス230が割り当てられているRAIDグループ220の番号と、そのRAIDグループ220の有する先頭論理デバイス230の数とを、それぞれ抽出して、先頭論理デバイス数テーブルT80を作成する(S87)。
エージェント300は、テーブルT80に基づいて、処理中のRAIDグループ220よりも先頭論理デバイス230の数が2個以上少ない他のRAIDグループ220が存在するか否かを判定する(S88)。処理中のRAIDグループ220よりも先頭論理デバイス230の数が2個以上少ないRAIDグループ220を探索する理由は、先頭論理デバイス230の数が1個だけ少ないRAIDグループ220との間で、論理デバイス230の入れ替えを行っても意味がないためである。
処理中のRAIDグループ220よりも先頭論理デバイス230の数が2個以上少ないRAIDグループ220が発見された場合(S88:YES)、エージェント300は、処理中のRAIDグループ220内の先頭論理デバイス230と、発見されたRAIDグループ220内の各論理デバイス230のうち最も連結番号の小さい論理デバイスとを交換する(S89)。ここで、S89は、各論理ボリューム102毎にそれぞれ実行されるループ3に含まれているため、同一の論理ボリューム102に対応付けられている各論理デバイス230の間で、交換が行われる。
即ち、処理中の論理ボリュームが図37中の論理ボリューム102(LU2)であり、処理中のRAIDグループがRAIDグループ220(1−3)である場合、先頭論理デバイスの数が2個以上少ないRAIDグループは、RAIDグループ220(1−2)である。そして、RAIDグループ220(1−2)に配置予定の各論理デバイス230(#2,#5,#8)のうち、論理ボリューム102(LU2)に対応付けられる論理デバイスは、論理デバイス230(#5)である。従って、図37に示す例では、論理デバイス230(#5)と先頭論理デバイス230(#3)との配置先が交換される。
もしも、RAIDグループ220(1−2)に、ともに論理ボリューム102(LU2)に対応付けられる論理デバイス230(#5)と論理デバイス230(#4)とが配置される予定であった場合、最も連結番号の小さい論理デバイス230(#5)が、交換対象の論理デバイスとして選択されることになる。
このようにして、先頭論理デバイスの配置先を変更した後、エージェント300は、フラグCFの値に「True」を設定し(S90)、S81に戻る。
処理中のRAIDグループ220よりも先頭論理デバイス230の数が2個以上少ないRAIDグループ220が発見されなかった場合(S88:NO)、他の論理ボリューム102について、処理が行われる(ループ3)。
このように構成される本実施例も前記第1実施例と同様の効果を奏する。これに加えて、本実施例では、論理ボリューム102と論理デバイス230との配置計画を立案した後で、先頭論理デバイス230が特定のRAIDグループ220に偏らないように、先頭論理デバイスの配置先を修正する構成とした。従って、アクセス頻度の比較的大きいデータが記憶されやすい先頭論理デバイスを各RAIDグループ220に分配することができ、より一層、ランダムアクセス時の負荷を分散させて、記憶制御装置10の応答性を改善することができる。
図40及び図41に基づいて、第5実施例を説明する。本実施例では、既に設けられている論理デバイスの存在を考慮して、論理ボリューム102と論理デバイス230との対応付けを行う。上述の実施例では、初期状態において、各RAIDグループ220に論理デバイス230がいずれも定義されていない状態を例に挙げて説明した。本実施例では、初期状態において、一つまたは複数の論理デバイス230がRAIDグループ220に定義されている場合を例に挙げて説明する。
図40は、論理ボリューム102に論理デバイス230を対応付ける処理を示すフローチャートである。このフローチャートは、図13に示すフローチャートと同一のステップS20〜S29を備えている。さらに、本フローチャートでは、S25とS26の間に、新規なステップS100が追加されている。S100では、既に設定されている論理デバイス230の存在に基づいて、RAIDグループ情報テーブルT50を更新する。
図41は、図40中にS100として示された更新処理の詳細を示すフローチャートである。エージェント300は、LDEV構成テーブルT22に記載された論理ボリューム102のうち、図13中の左下に示すLU名リストに記載された論理ボリューム102に関するエントリを削除する(S101)。即ち、これから対応付けを行う予定の範囲内のエントリを削除する。図41中に示すテーブルT22の場合、論理デバイス230(#1,#2,#3,#4,#6)に関するエントリがそれぞれ削除される。
続いて、エージェント300は、LDEV構成テーブルT22から、図13中の左側に示すRAIDグループ番号リストに記載されたRAIDグループ番号を有するエントリを抽出する(S102)。即ち、これから開始しようとする対応付け処理(図40中にS27で示す詳細処理1)において処理対象となるRAIDグループ220に既に設定されている論理デバイス230に関するエントリを抽出する。
エージェント300は、S102で抽出されたエントリ内の各論理デバイス230について、以下のS104〜S106をそれぞれ実行する(S103,S107)。
まず、エージェント300は、S102で抽出されたエントリに基づいて、RAIDグループ情報テーブルT50内の「使用済LDEV数」を更新する(S104)。即ち、既に設定されている論理デバイス230の数だけ、使用済LDEV数の値を増加させる。図41に示す例では、RAIDグループ220(1−1)には論理デバイス230(#10)が、RAIDグループ220(1−2)には論理デバイス230(#11)が、それぞれ設定済であるから、エージェント300は、各RAIDグループ220(1−1,1−2)に関する使用済LDEV数の値を、それぞれ初期値「0」から「1」に変化させる。
エージェント300は、処理中の論理デバイス230に対応付けられている論理ボリューム102が使用する論理デバイス230の数を、LU構成テーブルT21及び基本LDEV容量に基づいて算出する(S105)。即ち、処理中の論理デバイスが論理デバイス230(#10)である場合、その論理デバイス230(#10)が対応付けられている論理ボリューム102(LU4)の有する論理デバイス230の総数を算出する。
これから対応付け処理を行う予定のRAIDグループ220に、既に論理デバイス230が設定されている場合、この既存の論理デバイス230の分だけ、RAIDグループ220の性能指標を予め加算しておく必要がある。従って、S106においてRAIDグループ性能指標を補正するために、S105では、既存の論理デバイス230の数を算出する。
エージェント300は、下記のように、既存の論理デバイス230の性能指標を算出し、この既存の論理デバイス230の性能指標を用いて、RAIDグループ情報テーブルT50内の各RAIDグループ220の性能指標を更新する(S106)。
既存の論理デバイス230の性能指標は、以下のように算出される。
(1)アクセスパターンがランダムアクセスの場合
LDEV性能指標は、LU性能指標を使用LDEV数で除算した値とする(LDEV性能指標=LU性能指標/使用LDEV数)。
(1)アクセスパターンがランダムアクセスの場合
LDEV性能指標は、LU性能指標を使用LDEV数で除算した値とする(LDEV性能指標=LU性能指標/使用LDEV数)。
(2)アクセスパターンがシーケンシャルアクセスの場合
LDEV性能指標は、LU性能指標と同一値とする(LDEV性能指標=LU性能指標)。
LDEV性能指標は、LU性能指標と同一値とする(LDEV性能指標=LU性能指標)。
RAIDグループ220の性能指標は、以下のように算出される。
(1)アクセスパターンがランダムアクセスの場合
RAIDグループ220の最新の性能指標に、既存の論理デバイス230の性能指標を加算することにより、RAIDグループ220の性能指標を算出する(RAIDグループPI=RAIDグループPI+LDEV_PI)。従って、ランダムアクセスの場合、そのRAIDグループ220に配置されている既存の論理デバイス230の数が多いほど、そのRAIDグループ220の性能指標の値は増大することになる。
(1)アクセスパターンがランダムアクセスの場合
RAIDグループ220の最新の性能指標に、既存の論理デバイス230の性能指標を加算することにより、RAIDグループ220の性能指標を算出する(RAIDグループPI=RAIDグループPI+LDEV_PI)。従って、ランダムアクセスの場合、そのRAIDグループ220に配置されている既存の論理デバイス230の数が多いほど、そのRAIDグループ220の性能指標の値は増大することになる。
(2)アクセスパターンがシーケンシャルアクセスの場合
そのRAIDグループ220に既存の論理デバイス230が割り当てられている場合(2−1)と、既存の論理デバイス230が未だ一つも割り当てられていない場合(2−2)とに分けられる。
そのRAIDグループ220に既存の論理デバイス230が割り当てられている場合(2−1)と、既存の論理デバイス230が未だ一つも割り当てられていない場合(2−2)とに分けられる。
(2−1)既存の論理デバイスが割当済みの場合
RAIDグループ220の性能指標の値は、変化しない。即ち、そのRAIDグループ220に配置された論理デバイス230の数が一つ以上の場合、RAIDグループ220の性能指標は、LDEV性能指標と同一の値となり、変化しない。
RAIDグループ220の性能指標の値は、変化しない。即ち、そのRAIDグループ220に配置された論理デバイス230の数が一つ以上の場合、RAIDグループ220の性能指標は、LDEV性能指標と同一の値となり、変化しない。
(2−2)既存の論理デバイスが未割当の場合
RAIDグループ220の性能指標の値には、論理デバイス230の性能指標の値が設定される。
RAIDグループ220の性能指標の値には、論理デバイス230の性能指標の値が設定される。
以上の処理を実行することにより、論理ボリューム102と新規な論理デバイス230との対応付け処理を開始する前における、RAIDグループ220に設けられている既存の論理デバイス230の状況に基づいて、論理ボリューム102と新規な論理デバイス230との対応付け処理で用いる性能指標を補正することができる。これにより、論理ボリューム102に新規な論理デバイスを、より適切に対応付けることができる。
図42,図43に基づいて、第6実施例を説明する。本実施例では、一方の論理ボリューム102(LU1)と他方の論理ボリューム102(LU2)とがコピーペアを形成する場合に、各論理ボリューム102(LU1,LU2)を構成する各論理デバイス230(#1〜#4)を、それぞれ異なるRAIDグループ220に配置させる。
図42は、本実施例による論理ボリューム102と論理デバイス230との対応付けの様子を示す説明図である。第1の論理ボリューム102(LU1)は、2個の論理デバイス230(#1,#2)から構成され、第2の論理ボリューム102(LU2)も、2個の論理デバイス230(#3,#4)から構成されている。
第1の論理ボリューム102(LU1)と第2の論理ボリューム102(LU2)とは、コピーペアを形成している。例えば、第1の論理ボリューム102(LU1)はプライマリボリューム、第2の論理ボリューム102(LU2)はセカンダリボリュームとして使用され、両ボリューム102(LU1),102(LU2)の記憶内容が一致するようになっている。
図42では、第1の論理ボリューム102(LU1)を構成する一方の論理デバイス230(#1)をRAIDグループ220(1−1)に、第1の論理ボリューム102を構成する他方の論理デバイス230(#2)をRAIDグループ220(1−2)に、それぞれ配置する様子が示されている。第2の論理ボリューム102(LU2)を構成する一方の論理デバイス230(#3)は、RAIDグループ220(1−3)に配置されている。
第2の論理ボリューム102(LU2)を構成する他方の論理デバイス230(#4)は、もしも、さらに別のRAIDグループ220(例えば、RAIDグループ220(1−4))が存在する場合には、そのRAIDグループ220に配置される。別のRAIDグループ220が存在しない場合、各RAIDグループ220間でRAIDグループ性能指標の分散値が最小となるように、論理デバイス230(#4)は配置される。
図43は、本実施例による対応付け処理の要部を示すフローチャートである。このフローチャートは、図17で述べた詳細処理2と関連している。即ち、本フローチャートで、新たに設けられているステップS110〜S117は、図17に示すフローチャート中、S51とS60との間に挿入される。また、本フローチャートで新たに設けられたS112,S116は、図17に示すフローチャート中、S52〜S59の各ステップの処理を示している。即ち、S112,S116は、図17内のループ4内の処理を行うようになっている。
エージェント300は、テンプデータを初期化した後(S51)、LUペア構成テーブルT90に基づいて、RAIDグループ220の番号リストを、コピーペアを含むRAIDグループ番号とコピーペアを含まないRAIDグループ番号とに、分ける(S110)。
LUペア構成テーブルT90には、記憶制御装置10に設けられているコピーペアが記憶されている。LUペアとは、コピーペアを形成する一組の論理ボリューム102を意味する。LUペア構成テーブルT90には、プライマリボリューム(P-VOL)となる論理ボリューム102の番号と、セカンダリボリューム(S-VOL)となる論理ボリューム102の番号とが記憶されている。
エージェント300は、上述のS110において、RAIDグループ220の番号リストを、コピーペアを含むRAIDグループ220のRAIDグループ番号と、コピーペアを含まないRAIDグループ220の番号とに、それぞれ分類する。ここでは、論理デバイス230(#1),230(#2)の処理は既に終了しており、現在の処理対象の論理デバイスは、論理デバイス230(#3)であるものとする。
図42に示す例では、RAIDグループ220の番号リストは「1−1,1−2,1−3」となる。各RAIDグループ220(1−1,1−2,1−3)のうち、RAIDグループ220(1−1)には、コピーペアのプライマリボリュームに設定される論理ボリューム102(LU1)に対応付けられる論理デバイス230(#1)が、配置されている。RAIDグループ220(1−2)には、論理ボリューム102(LU1)に対応付けられる論理デバイス230(#2)が、配置されている。従って、RAIDグループ220の番号リストに記載された「1−1,1−2,1−3」のうち、「1−1,1−2」は、コピーペアを含むRAIDグループ番号に分類される。RAIDグループ220(1−3)には、コピーペアに関連する論理デバイス230が配置されていないため、「1−3」は、コピーペアを含まないRAIDグループ番号に分類される。
即ち、「コピーペアを含むRAIDグループ」とは、コピーペアを形成する論理ボリューム102に対応付けられる論理デバイス230が配置されているRAIDグループ220を意味し、「コピーペアを含まないRAIDグループ」とは、コピーペアを形成する論理ボリューム102に対応付けられる論理デバイス230が配置されていないRAIDグループ220を意味する。
そして、エージェント300は、以下に述べる通り、処理対象の論理デバイス230の配置先として、最初に、コピーペアを含まないRAIDグループ220について検討する(S111〜S113)。コピーペアを含まないRAIDグループ220に配置できなかった場合(S114:NO)、エージェント300は、コピーペアを含むRAIDグループ220への配置を検討する(S115〜S117)。
まず最初に、エージェント300は、コピーペアを含まないRAIDグループ220を対象として、処理中の論理デバイス230を配置できるか否かを判断する(S111〜S113)。例えば、現在処理中の論理デバイス230(#3)の配置先として、コピーペアを含まないRAIDグループ220(1−3)のみが配置先候補として検討される。
S111〜S113の処理の結果、エージェント300は、論理デバイス230をRAIDグループ220に対応付けることができたか否かを判定し(S114)、対応付けることができた場合(S114:YES)、S60に移行する。なお、S60の後は、図17に示すS61に移行する。
処理中の論理デバイス230を、コピーペアを含まないRAIDグループ220に対応付けることができなかった場合(S114:NO)、エージェント300は、その論理デバイス230の配置先を検討するための候補として、コピーペアを含むRAIDグループ220を用い、ループ4の処理を実行する(S115〜S117)。
上述の通り、S111〜S113とS115〜S117とは、その処理内容は同一であるが、判断対象となるRAIDグループ220の種類が相違する。S111〜S113では、コピーペアを含まないRAIDグループ220について、処理対象の論理デバイス230を配置可能か否かを判断し、S115〜S117では、コピーペアを含むRAIDグループ220について、処理対象の論理デバイス230を配置可能か否かを判断する。
本フローチャートによって、コピーペアに関連する論理デバイス230は、コピーペアを含まないRAIDグループ220に優先的に配置される。コピーペアを含まないRAIDグループ220に配置できなかった場合、コピーペアに関連する論理デバイス230は、コピーペアを含むRAIDグループ220に配置される。従って、コピーペアに関連する各論理デバイス230は、可能な限り別々のRAIDグループ220に配置される。
このように構成される本実施例も前記第1実施例と同様の効果を奏する。これに加えて、本実施例では、コピーペアを形成する各論理ボリューム102に対応付けられる各論理デバイス230を、できるだけ別々のRAIDグループ220に分散して配置させることができる。従って、データ管理の冗長性を高めて、記憶制御装置10の信頼性をより一層向上させることができる。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
1…記憶制御装置、2…ホスト、3…ディスクドライブ、4…RAIDグループ、5…論理デバイス、6…論理ボリューム、7…LU構成制御部、10…記憶制御装置、20…ホスト、21…CPU、22…メモリ、30…管理サーバ、31…CPU、32…メモリ、33…内蔵ストレージ、100…コントローラ、102…論理ボリューム(LU)、110…チャネルアダプタ(CHA)、111…通信ポート、120…ディスクアダプタ(DKA)、130…キャッシュメモリ(CM)、140…共有メモリ(SM)、150…接続制御部、160…サービスプロセッサ(SVP)、200…記憶部、201…資源管理グループ、210…ディスクドライブ、220…RAIDグループ、230…論理デバイス(LDEV)、300…エージェント、310…構成管理部、320…性能管理部
Claims (14)
- 上位装置によりアクセスされる論理ボリュームを前記上位装置に提供する記憶制御装置であって、
複数の記憶ドライブと、
前記各記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、
前記各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、
前記各論理的記憶デバイスのうち所定の複数の論理的記憶デバイスを前記論理ボリュームに対応付ける制御部と、を備え、
前記制御部は、前記上位装置が前記論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と前記論理ボリュームに予め設定される第1性能指標とに応じて、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、記憶制御装置。 - 前記制御部は、前記アクセスパターンの種別及び前記第1性能指標に応じて、前記所定の複数の論理的記憶デバイス毎の第2性能指標をそれぞれ算出し、これら各第2性能指標に基づいて、前記各物理的記憶デバイス毎の第3性能指標をそれぞれ算出し、これら各第3性能指標の分散値が小さくなるように、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項1に記載の記憶制御装置。
- 前記制御部は、
(1)前記アクセスパターンがランダムアクセスの場合、
(1-1)前記第1性能指標を、前記論理ボリュームを構成する前記各所定の論理的記憶デバイスの数で除算することにより、前記第2性能指標を算出し、
(1-2)前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第2性能指標の合計値を前記第3性能指標として算出し、
(2)前記アクセスパターンがシーケンシャルアクセスの場合、
(2-1)前記第1性能指標を、前記第2性能指標として設定し、
(2-2)前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第2性能指標の値を前記第3性能指標として設定し、
(3)前記各第3性能指標の分散値が最小となるように、前記所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項2に記載の記憶制御装置。 - 前記制御部は、前記アクセスパターンの種別及び前記第1性能指標に応じて、前記所定の複数の論理的記憶デバイス毎の第2性能指標をそれぞれ算出し、これら各第2性能指標に基づいて、前記各物理的記憶デバイス毎の第3性能指標をそれぞれ算出し、前記各第3性能指標と予め設定された最大値との差分の分散値が小さくなるように、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項1に記載の記憶制御装置。
- 前記制御部は、
(1)前記アクセスパターンがランダムアクセスの場合、
(1-1)前記第1性能指標を、前記論理ボリュームを構成する前記各所定の論理的記憶デバイスの数で除算することにより、前記第2性能指標を算出し、
(1-2)前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第2性能指標の合計値を前記第3性能指標として算出し、
(2)前記アクセスパターンがシーケンシャルアクセスの場合、
(2-1)前記第1性能指標を、前記第2性能指標として設定し、
(2-2)前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第2性能指標の値を前記第3性能指標として設定し、
(3)前記各物理的記憶デバイス毎に予め設定されている最大値と前記各第3性能指標との差分の分散値が最小となるように、前記所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項4に記載の記憶制御装置。 - 前記制御部は、予め設定された所定の時間帯毎の前記アクセスパターンの種別と前記第1性能指標とに応じて、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項1に記載の記憶制御装置。
- 前記制御部は、
(1)前記アクセスパターンがランダムアクセスの場合、
(1-1)前記第1性能指標を、前記論理ボリュームを構成する前記各所定の論理的記憶デバイスの数で除算することにより、前記第2性能指標を算出し、
(1-2)前記所定の時間帯毎の前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第2性能指標の合計値を前記第3性能指標として算出し、
(2)前記アクセスパターンがシーケンシャルアクセスの場合、
(2-1)前記第1性能指標を、前記第2性能指標として設定し、
(2-2)前記所定の時間帯毎の前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第2性能指標の値を前記第3性能指標として設定し、
(3)前記各第3性能指標の分散値が最小となるように、前記所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項6に記載の記憶制御装置。 - 前記所定の複数の論理的記憶デバイスには、前記論理ボリュームに対応付けられた順位がそれぞれ設定されており、
前記制御部は、前記順位が最も小さい第1順位の所定の論理的記憶デバイスを、前記各物理的記憶デバイスに分散して配置させる請求項1に記載の記憶制御装置。 - 前記制御部は、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択した後で、前記第1順位の所定の論理的記憶デバイスを前記各物理的記憶デバイスに分散して配置させることを試みる請求項8に記載の記憶制御装置。
- 前記論理ボリューム及び前記各物理的記憶デバイスは、予め設定された資源管理グループ単位で管理されており、
前記制御部は、前記資源管理グループ毎に、前記アクセスパターンの種別と前記第1性能指標とに応じて、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項1に記載の記憶制御装置。 - 前記制御部は、処理対象の前記資源管理グループ以外の他の資源管理グループにおける他の所定の複数の論理的記憶デバイスの配置先を考慮して、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項10に記載の記憶制御装置。
- 前記論理ボリュームとして、互いにコピーペアを形成する第1論理ボリュームと第2論理ボリュームとが存在する場合、
前記制御部は、前記第1論理ボリュームに対応付けられる所定の論理的記憶デバイスと、前記第2論理ボリュームに対応付けられる所定の論理的記憶デバイスとが、可能な限り、それぞれ異なる物理的記憶デバイスに配置させる請求項1に記載の記憶制御装置。 - 上位装置に提供するための論理ボリュームを記憶制御装置に形成させるための方法であって、
前記記憶制御装置は、複数の記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、前記各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、を有しており、
前記論理ボリューム及び前記各物理的記憶デバイスを資源管理グループ単位で管理するステップと、
予め設定された所定の時間帯毎の、前記上位装置が前記論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と、前記論理ボリュームに予め設定される第1性能指標とをそれぞれ取得するステップと、
(1-1)前記アクセスパターンがランダムアクセスの場合に、前記第1性能指標を、前記論理ボリュームを構成する前記各所定の論理的記憶デバイスの数で除算することにより、前記第2性能指標を算出するステップと、
(1-2)前記アクセスパターンがランダムアクセスの場合に、前記所定の時間帯毎の前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第2性能指標の合計値を前記第3性能指標として算出するステップと、
(2-1)前記アクセスパターンがシーケンシャルアクセスの場合に、前記第1性能指標を、前記第2性能指標として設定するステップと、
(2-2)前記アクセスパターンがシーケンシャルアクセスの場合に、前記所定の時間帯毎の前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第2性能指標の値を前記第3性能指標として設定するステップと、
(3)前記各第3性能指標の分散値が最小となるように、前記所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを前記資源管理グループ内で選択するステップと、
をそれぞれ実行する記憶制御装置の論理ボリューム形成方法。 - 上位装置によりアクセスされる論理ボリュームを前記上位装置に提供する記憶制御装置と、この記憶制御装置に接続される管理用装置を備えるストレージシステムであって、
前記記憶制御装置は、
複数の記憶ドライブと、
前記各記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、
前記各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、
を備え、
前記管理用装置は、
前記各論理的記憶デバイスのうち所定の複数の論理的記憶デバイスを前記論理ボリュームに対応付けさせるための指示を前記記憶制御装置に与える制御部を備え、かつ、
前記制御部は、前記上位装置が前記論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と前記論理ボリュームに予め設定される第1性能指標とに応じて、前記所定の複数の記憶デバイスが配置される前記各物理的記憶デバイスを選択する、ストレージシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006304526A JP2008123132A (ja) | 2006-11-09 | 2006-11-09 | 記憶制御装置及び記憶制御装置の論理ボリューム形成方法 |
US11/623,501 US7587553B2 (en) | 2006-11-09 | 2007-01-16 | Storage controller, and logical volume formation method for the storage controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006304526A JP2008123132A (ja) | 2006-11-09 | 2006-11-09 | 記憶制御装置及び記憶制御装置の論理ボリューム形成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008123132A true JP2008123132A (ja) | 2008-05-29 |
Family
ID=39370533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006304526A Pending JP2008123132A (ja) | 2006-11-09 | 2006-11-09 | 記憶制御装置及び記憶制御装置の論理ボリューム形成方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7587553B2 (ja) |
JP (1) | JP2008123132A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026919A (ja) * | 2008-07-23 | 2010-02-04 | Hitachi Ltd | ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置 |
JP2010055369A (ja) * | 2008-08-28 | 2010-03-11 | Hitachi Ltd | ストレージシステム、論理記憶領域割り当て方法及び計算機システム |
JP2011243043A (ja) * | 2010-05-19 | 2011-12-01 | Fujitsu Ltd | 支援プログラム,情報処理装置及び支援方法 |
JP2015191534A (ja) * | 2014-03-28 | 2015-11-02 | 富士通株式会社 | サーバ装置、情報格納プログラム、及び情報格納方法 |
JP2016162407A (ja) * | 2015-03-05 | 2016-09-05 | 富士通株式会社 | 制御装置、制御方法、および制御プログラム |
WO2020095583A1 (ja) * | 2018-11-09 | 2020-05-14 | パナソニックIpマネジメント株式会社 | ストレージ装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996509B2 (en) * | 2007-09-26 | 2011-08-09 | International Business Machines Corporation | Zoning of devices in a storage area network |
JP4456626B2 (ja) * | 2007-09-28 | 2010-04-28 | 富士通株式会社 | ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法 |
JP5228988B2 (ja) * | 2009-02-23 | 2013-07-03 | 富士通株式会社 | 割当制御プログラム及び割当制御装置 |
WO2010122596A1 (en) * | 2009-04-21 | 2010-10-28 | Hitachi, Ltd. | Storage system, control methods for the same and programs |
JP5999603B2 (ja) * | 2012-03-29 | 2016-09-28 | パナソニックIpマネジメント株式会社 | 情報処理装置、情報処理方法及び情報記憶媒体 |
WO2013145222A1 (ja) * | 2012-03-29 | 2013-10-03 | 富士通株式会社 | 情報処理装置およびデータ保存処理プログラム |
CN102662607B (zh) * | 2012-03-29 | 2014-10-29 | 华中科技大学 | 一种raid6级别混合磁盘阵列及其性能加速和可靠性提高方法 |
US9253014B2 (en) * | 2012-06-25 | 2016-02-02 | Hitachi, Ltd. | Computer system and application program execution environment migration method |
US9619389B1 (en) | 2013-07-11 | 2017-04-11 | Unigen Corporation | System for a backward and forward application environment compatible distributed shared coherent storage |
WO2015029188A1 (ja) * | 2013-08-29 | 2015-03-05 | 株式会社日立製作所 | 計算機及びデータ読み出し方法 |
US10509699B2 (en) * | 2017-08-07 | 2019-12-17 | International Business Machines Corporation | Zone aware request scheduling and data placement |
WO2019083391A1 (en) * | 2017-10-26 | 2019-05-02 | EMC IP Holding Company LLC | ACCORDING DATA STORAGE EQUIPMENT |
CN111857535B (zh) * | 2019-04-24 | 2024-06-28 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机可读存储介质 |
CN113126890B (zh) * | 2020-01-15 | 2024-07-19 | 伊姆西Ip控股有限责任公司 | 用于存储的方法、设备和计算机程序产品 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3181446B2 (ja) * | 1993-09-24 | 2001-07-03 | 株式会社東芝 | 情報記憶装置 |
JP3641872B2 (ja) * | 1996-04-08 | 2005-04-27 | 株式会社日立製作所 | 記憶装置システム |
JP4183443B2 (ja) * | 2002-05-27 | 2008-11-19 | 株式会社日立製作所 | データ再配置方法及び装置 |
JP4198432B2 (ja) | 2002-10-01 | 2008-12-17 | 株式会社日立製作所 | ストレージシステムの制御方法、ストレージシステム、プログラム、及び管理装置 |
JP3744504B2 (ja) | 2003-04-01 | 2006-02-15 | 株式会社日立製作所 | プロセッサ装置 |
-
2006
- 2006-11-09 JP JP2006304526A patent/JP2008123132A/ja active Pending
-
2007
- 2007-01-16 US US11/623,501 patent/US7587553B2/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026919A (ja) * | 2008-07-23 | 2010-02-04 | Hitachi Ltd | ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置 |
JP2010055369A (ja) * | 2008-08-28 | 2010-03-11 | Hitachi Ltd | ストレージシステム、論理記憶領域割り当て方法及び計算機システム |
JP2011243043A (ja) * | 2010-05-19 | 2011-12-01 | Fujitsu Ltd | 支援プログラム,情報処理装置及び支援方法 |
JP2015191534A (ja) * | 2014-03-28 | 2015-11-02 | 富士通株式会社 | サーバ装置、情報格納プログラム、及び情報格納方法 |
JP2016162407A (ja) * | 2015-03-05 | 2016-09-05 | 富士通株式会社 | 制御装置、制御方法、および制御プログラム |
WO2020095583A1 (ja) * | 2018-11-09 | 2020-05-14 | パナソニックIpマネジメント株式会社 | ストレージ装置 |
JPWO2020095583A1 (ja) * | 2018-11-09 | 2021-09-02 | パナソニックIpマネジメント株式会社 | ストレージ装置 |
Also Published As
Publication number | Publication date |
---|---|
US7587553B2 (en) | 2009-09-08 |
US20080114931A1 (en) | 2008-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008123132A (ja) | 記憶制御装置及び記憶制御装置の論理ボリューム形成方法 | |
JP4643395B2 (ja) | ストレージシステム及びデータの移動方法 | |
JP5178854B2 (ja) | ストレージシステム及びデータ再配置制御装置 | |
US7581061B2 (en) | Data migration using temporary volume to migrate high priority data to high performance storage and lower priority data to lower performance storage | |
JP4842909B2 (ja) | ストレージシステム及びデータ再配置制御装置 | |
US8799600B2 (en) | Storage system and data relocation control device | |
EP2399190B1 (en) | Storage system and method for operating storage system | |
JP4990322B2 (ja) | データ移動管理装置及び情報処理システム | |
EP1717689A1 (en) | Storage system and storage data migration method | |
JP4643597B2 (ja) | ストレージシステム及びデータ再配置制御装置 | |
JP2006127028A (ja) | 記憶システム及び記憶制御装置 | |
JP2006178811A (ja) | ストレージシステム及びストレージシステムのパス制御方法 | |
JP2007072813A (ja) | ストレージシステム、ファイル移動方法、及びコンピュータプログラム | |
JP2006184949A (ja) | 記憶制御システム | |
JP2006309640A (ja) | 記憶制御システム及び記憶制御方法 | |
US8732428B2 (en) | Computer system and its control method | |
JP5052257B2 (ja) | 記憶システム及び記憶制御装置 | |
EP1785835A2 (en) | Storage control method for managing access environment enabling host to access data | |
WO2010038258A1 (en) | Storage system having function of performing formatting or shredding | |
JP2006134049A (ja) | ホスト装置が接続される制御装置の接続部とその制御装置が備える記憶デバイスとの間の論理パスを生成する装置及び方法 |