JP2008276596A - 記憶装置を決定する方法及び計算機 - Google Patents
記憶装置を決定する方法及び計算機 Download PDFInfo
- Publication number
- JP2008276596A JP2008276596A JP2007120614A JP2007120614A JP2008276596A JP 2008276596 A JP2008276596 A JP 2008276596A JP 2007120614 A JP2007120614 A JP 2007120614A JP 2007120614 A JP2007120614 A JP 2007120614A JP 2008276596 A JP2008276596 A JP 2008276596A
- Authority
- JP
- Japan
- Prior art keywords
- raid group
- storage device
- performance index
- volume
- storage medium
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】第一の記憶装置と関連性を有することになる適正な第二の記憶装置を決定する。
【解決手段】各記憶媒体の記憶媒体アクセス性能を表す記憶媒体性能情報を予め用意する。計算機が、第一の記憶装置を有する第一のストレージシステムの構成に関する第一構成情報を参照することで、第一の記憶装置の構成を特定し、記憶媒体性能情報を参照することで、第一の記憶装置を構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能を特定し、特定された一以上の記憶媒体アクセス性能を基に、第一の記憶装置が有する第一の記憶装置アクセス性能指数を計算し、第二の記憶装置が構成される第二のストレージシステムの構成に関する第二構成情報と、記憶媒体性能情報とを参照して、計算された第一の記憶装置アクセス性能指数を基に決定された第二の記憶装置アクセス性能指数以上の記憶装置アクセス性能指数を有する第二の記憶装置を決定する。
【選択図】図1
【解決手段】各記憶媒体の記憶媒体アクセス性能を表す記憶媒体性能情報を予め用意する。計算機が、第一の記憶装置を有する第一のストレージシステムの構成に関する第一構成情報を参照することで、第一の記憶装置の構成を特定し、記憶媒体性能情報を参照することで、第一の記憶装置を構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能を特定し、特定された一以上の記憶媒体アクセス性能を基に、第一の記憶装置が有する第一の記憶装置アクセス性能指数を計算し、第二の記憶装置が構成される第二のストレージシステムの構成に関する第二構成情報と、記憶媒体性能情報とを参照して、計算された第一の記憶装置アクセス性能指数を基に決定された第二の記憶装置アクセス性能指数以上の記憶装置アクセス性能指数を有する第二の記憶装置を決定する。
【選択図】図1
Description
本発明は、ストレージシステム内の記憶装置を決定するための技術に関する。
例えば、金融機関等では、数十テラバイト〜数十ペタバイトの膨大なデータを蓄積する大規模なストレージシステムが採用される。そのようなストレージシステムとして、一般に、RAID(Redundant Array of Inexpensive Disks)を適用したディスクアレイ装置が利用されている。ディスクアレイ装置には、複数の記憶媒体(例えば数百〜数千の記憶媒体)を収容可能である。
記憶媒体の種類としては、例えば、ハードディスクドライブや、フラッシュドライブがある。フラッシュドライブは、フラッシュメモリをデータ保持のために使用するが、インタフェースとしてハードディスクドライブと同じデータ入出力インタフェースを備えているドライブである。このため、フラッシュドライブは、ハードディスクドライブと互換性がある。
記憶媒体は、種類や製品の型式によって、性能が異なる。例えば、記憶媒体の種類で見ると、ハードディスクドライブとフラッシュドライブを比較した場合、一般に、ハードディスクドライブのシーケンシャルアクセス時のデータ転送速度は、フラッシュドライブのそれを上回る。しかし、製品によっては、このことが当てはまらない場合もある。具体的には、例えば、或るベンチマークによれば、I/Oサイズ(一I/Oあたりのデータ転送量)が数キロバイトまでの場合は、ハードディスクドライブのシーケンシャル書き込みに匹敵するデータ転送性能を持つフラッシュドライブもある。
特許文献1には、フラッシュメモリを並列にアクセスすることで、I/O処理を高速化する方法が開示されている。
フラッシュドライブはハードディスクドライブよりも、電力消費が少ない。このため、フラッシュドライブをデータのバックアップ先として使用する利点はある。特許文献1は、フラッシュメモリへのアクセスは遅いという前提のもとで、フラッシュメモリに対して並列にアクセスする方法を提供している。一般的には、この仮定は妥当と考えられる。
しかしながら、前述のように、フラッシュドライブの性能がハードディスクドライブの性能を必ずしも下回るとは限らない。例えば、特許文献1記載の方法のように、単に多数のフラッシュドライブを並列にアクセスする機構だけでは、性能があまり出ないケースがあると考えられる。そのケースとしては、ディスクアレイ装置が有するコピー機能を利用して実行するデータのコピーが考えられる。データのコピーとしては、一つのディスクアレイ装置内で行われるコピー(いわゆるローカルコピー)と、一方のディスクアレイ装置から他方のディスクアレイ装置へと行われるコピー(いわゆるリモートコピー)とがあるが、どちらのコピーについても、特許文献1に開示の技術を単に利用しただけでは、コピー元の読出し性能を十分に出すことが難しいと考えられる。
以上の問題点は、ディスクアレイ装置に限らず、他種のストレージシステムの場合にも同様に存在し得る。
また、コピーのケースでは、コピー元記憶装置が第一の記憶装置とし、コピー先記憶装置を第二の記憶装置とすることができるが、第一の記憶装置と第二の記憶装置が関連性を有する他のケースでも、特許文献1に開示の技術を単純に適用できたとしても問題が生じることが有り得る。
従って、本発明の目的は、第一の記憶装置と関連性を有することになる適正な第二の記憶装置を決定することにある。
本発明の更なる目的は、後の記載から明らかになるであろう。
各記憶媒体の記憶媒体アクセス性能を表す記憶媒体性能情報を予め用意する。計算機が、第一の記憶装置を有する第一のストレージシステムの構成に関する第一構成情報を参照することで、第一の記憶装置の構成を特定する。また、計算機が、上記の記憶媒体性能情報を参照することで、第一の記憶装置を構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能を特定し、特定された一以上の記憶媒体アクセス性能を基に、第一の記憶装置が有する第一の記憶装置アクセス性能指数を計算する。そして、計算機は、第二の記憶装置が構成される第二のストレージシステムの構成に関する第二構成情報と、記憶媒体性能情報とを参照して、計算された第一の記憶装置アクセス性能指数を基に決定された第二の記憶装置アクセス性能指数以上の記憶装置アクセス性能指数を有する第二の記憶装置を決定する。
一つの実施形態では、計算機が、性能計算部と、第二記憶装置決定部とを備える。性能計算部は、第一の記憶装置を有する第一のストレージシステムの構成に関する第一構成情報を参照することで、第一の記憶装置の構成を特定し、各記憶媒体の記憶媒体アクセス性能を表す記憶媒体性能情報を参照することで、第一の記憶装置を構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能を特定し、特定された一以上の記憶媒体アクセス性能を基に、第一の記憶装置が有する第一の記憶装置アクセス性能指数を計算することができる。第二記憶装置決定部は、第二の記憶装置が構成される第二のストレージシステムの構成に関する第二構成情報と、記憶媒体性能情報とを参照して、計算された第一の記憶装置アクセス性能指数を基に決定された第二の記憶装置アクセス性能指数以上の記憶装置アクセス性能指数を有する第二の記憶装置を決定することができる。
第一のストレージシステムと第二のストレージシステムは同一であっても良い。言い換えれば、第二の記憶装置は、第一の記憶装置を有するストレージシステムに構成されても良い。
また、例えば、「第二の記憶装置を決定する」とは、第二の記憶装置の構成を算出することであっても良いし、第二の記憶装置としての記憶装置を複数の記憶装置の中から選択することであっても良い。
一つの実施形態では、第一の記憶装置は、コピー元記憶装置である。第二の記憶装置はコピー先記憶装置である。第一の記憶装置アクセス性能指数は、コピー元記憶装置の読出し性能の指数であるコピー元読出し性能指数である。第二の記憶装置アクセス性能指数は、コピー先記憶装置の書込み性能の指数であるコピー先書込み性能指数である。計算されたコピー元読出し性能指数を基に決定されたコピー先書込み性能指数が、コピー元読出し性能指数を上回っている。
一つの実施形態では、コピー元記憶装置は、リストア元の記憶装置である。コピー先記憶装置は、リストア先の記憶装置である。
一つの実施形態では、コピー元記憶装置は、バックアップの場合にはバックアップ元の記憶装置であり、リストアの場合にはリストア先の記憶装置となる。コピー先記憶装置は、バックアップの場合にはバックアップ先の記憶装置であり、リストアの場合にはリストア元の記憶装置となる。第一の記憶装置アクセス性能指数は、前記コピー元記憶装置の読出し性能の指数であるコピー元読出し性能指数と、前記コピー元記憶装置の書込み性能の指数であるコピー元書込み性能指数である。第二の記憶装置アクセス性能指数は、コピー先記憶装置の書込み性能の指数であるコピー先書込み性能指数と、コピー先記憶装置の読出し性能の指数であるコピー先読出し性能指数である。計算されたコピー元読出し性能指数を基に決定されたコピー先書込み性能指数が、コピー元読出し性能指数を上回っており、且つ、計算されたコピー元書込み性能指数を基に決定されたコピー先読出し性能指数が、コピー元書込み性能指数を下回っている。
一つの実施形態では、記憶媒体アクセス性能は、シーケンシャルライト時のデータ転送速度と、シーケンシャルリード時のデータ転送速度である。
一つの実施形態では、記憶媒体アクセス性能は、平均アクセスタイムである。コピー先書込み性能指数がコピー元読出し性能指数を上回るとは、コピー先について平均アクセスタイムを基に算出される値が、コピー元について平均アクセスタイムを基に算出される値に比して小さいことである。
一つの実施形態では、記憶媒体アクセス性能は、シーケンシャルライト時のデータ転送速度と、シーケンシャルリード時のデータ転送速度と、平均アクセスタイムである。性能計算部及び第二記憶装置決定部は、アクセス種別パラメータを受け付け、該アクセス種別パラメータがシーケンシャルアクセスを示す場合には、シーケンシャルライト時のデータ転送速度と、シーケンシャルリード時のデータ転送速度とを採用し、該アクセス種別パラメータがランダムアクセスを示す場合には、平均アクセスタイムを採用することができる。
一つの実施形態では、計算機が、RAIDグループ作成部を更に備える。記憶装置は、二以上の記憶媒体で構成されるRAIDグループである。第一構成情報が、第一のストレージシステムが有する一以上のRAIDグループの各々の構成を表す。第二構成情報が、第二のストレージシステムが有する記憶媒体を表す。RAIDグループの構成は、どの記憶媒体でどんなRAIDレベルで構成されているかである。性能計算部は、第一のRAIDグループを構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能と、該第一のRAIDグループのRAIDレベルとに基づいて、前記第一のRAIDグループが有する第一のRAIDグループアクセス性能指数を計算することができる。第二記憶装置決定部は、計算された第一のRAIDグループアクセス性能指数を基に決定された第二のRAIDグループアクセス性能指数以上のRAIDグループアクセス性能指数を有する第二のRAIDグループの構成を算出することができる。RAIDグループ作成部が、算出された構成を具備する第二のRAIDグループを第二のストレージシステムに作成することができる。
一つの実施形態では、第二のRAIDグループの構成要素となる記憶媒体は、第二記憶装置決定部により、第二のストレージシステムにおいて他のRAIDグループの構成要素となっていない未選択の記憶媒体であり、他の未選択の記憶媒体に比して記憶媒体アクセス性能が高い記憶媒体とされる。
一つの実施形態では、第二のRAIDグループの構成要素となる記憶媒体の数は、第二記憶装置決定部により、該第二のRAIDグループのRAIDレベルと、構成要素とされる記憶媒体の記憶媒体アクセス性能とを基に、計算された第一のRAIDグループアクセス性能指数を基に決定された第二のRAIDグループアクセス性能指数以上のRAIDグループアクセス性能指数を有する数とされる。
一つの実施形態では、計算機は、ボリューム準備部を更に備える。記憶装置は、二以上の記憶媒体で構成されるRAIDグループに設けられる論理ボリュームである。第一構成情報及び第二構成情報の各々が、一以上のRAIDグループの各々の構成と、各RAIDグループにある論理ボリュームのサイズとを表す。RAIDグループの構成は、どの記憶媒体でどんなRAIDレベルで構成されているかである。性能計算部は、第一の論理ボリュームを有する第一のRAIDグループを構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能と、該第一のRAIDグループのRAIDレベルとに基づいて、第一の論理ボリュームの第一のボリュームアクセス性能指数として、第一のRAIDグループが有する第一のRAIDグループアクセス性能指数を計算することができる。第二記憶装置決定部が、計算された第一のボリュームアクセス性能指数を基に決定された第二のボリュームアクセス性能指数以上のボリュームアクセス性能指数を有する第二の論理ボリュームを決定することができる。ボリューム準備部が、決定された第二の論理ボリュームを第二のストレージシステムに準備することができる。
一つの実施形態では、決定された第二の論理ボリュームは、計算された第一のRAIDグループアクセス性能指数を基に決定された第二のRAIDグループアクセス性能指数以上のRAIDグループアクセス性能指数を有する第二のRAIDグループ上に準備される。
一つの実施形態では、決定された第二の論理ボリュームは、複数の論理ボリュームの結合により得られる一の論理ボリュームである。複数の論理ボリュームは、二以上のRAIDグループに存在する。二以上のRAIDグループのRAIDグループアクセス性能指数の合計が、計算された第一のボリュームアクセス性能指数を基に決定された第二のボリュームアクセス性能指数以上のボリュームアクセス性能指数である。
一つの実施形態では、計算された第一のRAIDグループアクセス性能指数を基に決定された第二のRAIDグループアクセス性能指数以上のRAIDグループアクセス性能指数を有する第二のRAIDグループに、第二の論理ボリュームのサイズ以上の空きサイズが無い、或いは、第二の論理ボリュームのサイズ以上の未使用の論理ボリュームが無い場合に、第二の論理ボリュームは、複数の論理ボリュームの結合により得られる一の論理ボリュームとされる。
一つの実施形態では、記憶媒体性能情報には、記憶媒体の複数種類の記憶媒体属性に応じた記憶媒体アクセス性能が記録されている。
前述した複数の実施形態のうちの二以上の実施形態を組み合わせることもできる。また、前述した各部(例えば、性能計算部、第二記憶装置決定部)は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、図面を参照して、本発明の幾つかの実施形態を詳細に説明する。
<第一の実施形態>。
<<全体構成>>。
図1は、本発明の第一の実施形態における計算機システム1の構成例を示す。
ストレージエリアネットワーク(SAN)100に、ホスト計算機400及びディスクアレイ装置300が接続される。また、管理ネットワーク200に、ディスクアレイ装置300、ホスト計算機400及び管理計算機500が接続される。本実施形態の説明では、説明を簡単にするために、ディスクアレイ装置、計算機、SAN、管理ネットワーク及び管理計算機はそれぞれ一つずつとするが、これらのうちの少なくとも一つは複数あってもよい。
<<<SAN100>>>
前述したように、ディスクアレイ装置300とホスト計算機400は、SAN100を介して接続されている。SAN100は、ディスクアレイ装置300やホスト計算機400等、接続されている装置が相互に通信できるネットワークである。SAN100を構成するために、FC(Fibre Channel)、イーサネット(登録商標)、またはその他の伝送媒体および中継装置を使用することができる。また、装置間の通信には、ファイバチャネルプロトコル(FCP)、TCP/IP、iSCSI、またはその他のプロトコルが使用できる。さらに、SAN100は、複数の伝送媒体、中継装置、プロトコルを組み合わせて構成することができる。例えば、iSCSIとFCPプロトコルを相互に変換する中継装置を用いることで、FCPとiSCSIが混在するストレージネットワークを構成できる。SAN100に代えて、他種の通信ネットワーク、例えば、インターネットやその他の広域ネットワークを介した仮想プライベートネットワーク(VPN)であるか、或いは、仮想プライベートネットワークを内包するネットワークが採用されても良い。
前述したように、ディスクアレイ装置300とホスト計算機400は、SAN100を介して接続されている。SAN100は、ディスクアレイ装置300やホスト計算機400等、接続されている装置が相互に通信できるネットワークである。SAN100を構成するために、FC(Fibre Channel)、イーサネット(登録商標)、またはその他の伝送媒体および中継装置を使用することができる。また、装置間の通信には、ファイバチャネルプロトコル(FCP)、TCP/IP、iSCSI、またはその他のプロトコルが使用できる。さらに、SAN100は、複数の伝送媒体、中継装置、プロトコルを組み合わせて構成することができる。例えば、iSCSIとFCPプロトコルを相互に変換する中継装置を用いることで、FCPとiSCSIが混在するストレージネットワークを構成できる。SAN100に代えて、他種の通信ネットワーク、例えば、インターネットやその他の広域ネットワークを介した仮想プライベートネットワーク(VPN)であるか、或いは、仮想プライベートネットワークを内包するネットワークが採用されても良い。
<<<管理ネットワーク200>>>
管理ネットワーク200は、計算機システム1を構成している機器を管理するために使用されるネットワークであり、例えばLAN(Local Area Network)である。管理ネットワーク200に接続されている装置は、相互に通信できる。SAN100と管理ネットワーク200は同一の通信ネットワークであってもよい。また、管理ネットワーク200は、インターネットやその他の広域ネットワークを介した仮想プライベートネットワーク(VPN)であるか、或いは、仮想プライベートネットワークを内包するネットワークであってもよい。
管理ネットワーク200は、計算機システム1を構成している機器を管理するために使用されるネットワークであり、例えばLAN(Local Area Network)である。管理ネットワーク200に接続されている装置は、相互に通信できる。SAN100と管理ネットワーク200は同一の通信ネットワークであってもよい。また、管理ネットワーク200は、インターネットやその他の広域ネットワークを介した仮想プライベートネットワーク(VPN)であるか、或いは、仮想プライベートネットワークを内包するネットワークであってもよい。
管理計算機500については、図6を参照して後に詳細に説明する。ディスクアレイ装置300については、図2を参照して以下詳細に説明する。
<<<ディスクアレイ装置300>>>。
図2は、ディスクアレイ装置300の構成例の詳細を示す。
ディスクアレイ装置300は、例えば、数百〜数千の記憶媒体を収容可能なストレージシステムであり、数百テラバイトの記憶容量を有する。RAIDは、記憶媒体の障害によるデータの消失からデータを保護する方法の一つである。RAIDによるデータ保護の基本原理は、データとそのエラー訂正のためのデータ(以下、これを便宜上「冗長データ」と呼ぶ)を、複数の記憶媒体に分散して記録しておき、もし一つの記憶媒体に障害が発生したとしても、残りの記憶媒体からデータを復元できるようにするというものである。RAIDにおいて、記憶媒体へデータと冗長データを格納する方法には幾つかの種類がある。RAIDレベルとして、例えば、RAID1、RAID5、及びRAID6等が広く使われている。搭載される記憶媒体を数台ずつのグループとし、それぞれにRAIDを適用することで、データを保護することができる。以下の説明では、RAIDを構成する記憶媒体のグループを「RAIDグループ」と呼ぶ。
RAIDグループは、ブロックアドレスを指定することで連続アクセス可能な単一の記憶領域として扱うことができる。このように編成された記憶領域を、以下の説明では「論理ボリューム」と呼ぶ。ディスクアレイ装置によっては、RAIDグループの記憶領域をさらに複数の記憶領域に分割し、それぞれを独立した論理ボリュームとして扱うことができる。ディスクアレイ装置300に接続されたホスト計算機400は、論理ボリュームを、例えばSCSI(Small Computer System Interface)規格のロジカルユニット(LU)として認識し、論理ボリュームに対してデータの書き込みや読み出しを行うことができる。
ディスクアレイ装置300は、ホストコントローラ301、ディスクコントローラ304、管理コントローラ307、共有メモリ308、キャッシュメモリ309、I/Oポート310、管理ポート311、複数のハードディスクドライブ312〜313及び複数のフラッシュドライブ314〜315を備えている。
《ホストコントローラ301》
ホストコントローラ301は、ホスト計算機400からのI/O要求を処理する制御装置である。ホストコントローラ301は、プロセッサ(例えばCPU)302およびメモリ303を有している。プロセッサ302は、メモリ303、共有メモリ308、キャッシュメモリ309に対してデータを読み書きでき、これらのメモリに格納されているプログラムを実行することができる。ホストコントローラ301は、ディスクアレイ装置300に複数個備えられてもよい。
ホストコントローラ301は、ホスト計算機400からのI/O要求を処理する制御装置である。ホストコントローラ301は、プロセッサ(例えばCPU)302およびメモリ303を有している。プロセッサ302は、メモリ303、共有メモリ308、キャッシュメモリ309に対してデータを読み書きでき、これらのメモリに格納されているプログラムを実行することができる。ホストコントローラ301は、ディスクアレイ装置300に複数個備えられてもよい。
《ディスクコントローラ304》
ディスクコントローラ304は、ハードディスクドライブ312〜313及びフラッシュドライブ314〜315に対するデータの読み書きを制御する制御装置である。ホストコントローラ301と同様に、ディスクコントローラ304は、プロセッサ305およびメモリ306を有している。また、プロセッサ305は、メモリ306、共有メモリ308、キャッシュメモリ309に対してデータを読み書きでき、これらのメモリに格納されているプログラムを実行することができる。ホストコントローラ301が、ホスト計算機400から送信されたI/O要求に応答して、ディスクコントローラ304に対してデータの記録や読み出し或いは書込みを要求し、ディスクコントローラ401が、ホストコントローラ301からの要求に応答して、ハードディスクドライブ312〜313及び/又はフラッシュドライブ314〜315からのデータの読出し、或いは、ハードディスクドライブ312〜313及び/又はフラッシュドライブ314〜315に対するデータの書込みを行う。ディスクコントローラ304は、ディスクアレイ装置300に複数個備えられてもよい。また、ホストコントローラ301とディスクコントローラ304の代りに、これらの両方の機能を備えるコントローラが備えられてもよい。
ディスクコントローラ304は、ハードディスクドライブ312〜313及びフラッシュドライブ314〜315に対するデータの読み書きを制御する制御装置である。ホストコントローラ301と同様に、ディスクコントローラ304は、プロセッサ305およびメモリ306を有している。また、プロセッサ305は、メモリ306、共有メモリ308、キャッシュメモリ309に対してデータを読み書きでき、これらのメモリに格納されているプログラムを実行することができる。ホストコントローラ301が、ホスト計算機400から送信されたI/O要求に応答して、ディスクコントローラ304に対してデータの記録や読み出し或いは書込みを要求し、ディスクコントローラ401が、ホストコントローラ301からの要求に応答して、ハードディスクドライブ312〜313及び/又はフラッシュドライブ314〜315からのデータの読出し、或いは、ハードディスクドライブ312〜313及び/又はフラッシュドライブ314〜315に対するデータの書込みを行う。ディスクコントローラ304は、ディスクアレイ装置300に複数個備えられてもよい。また、ホストコントローラ301とディスクコントローラ304の代りに、これらの両方の機能を備えるコントローラが備えられてもよい。
《共有メモリ308》
共有メモリ308は、ディスクアレイ装置300の構成や管理のための情報を記憶する。共有メモリ308は、ホストコントローラ301、ディスクコントローラ304及び管理コントローラ307からアクセスできるように接続されている。具体的には、例えば、共有メモリ308、キャッシュメモリ309、ホストコントローラ301、管理コントローラ307及びディスクコントローラ304が、スイッチ(例えばクロスバスイッチ)或いはバス等の媒体を介して接続される。共有メモリ308は、ホストコントローラ301、ディスクコントローラ304のいずれか、または両方に実装されていてもよい。
共有メモリ308は、ディスクアレイ装置300の構成や管理のための情報を記憶する。共有メモリ308は、ホストコントローラ301、ディスクコントローラ304及び管理コントローラ307からアクセスできるように接続されている。具体的には、例えば、共有メモリ308、キャッシュメモリ309、ホストコントローラ301、管理コントローラ307及びディスクコントローラ304が、スイッチ(例えばクロスバスイッチ)或いはバス等の媒体を介して接続される。共有メモリ308は、ホストコントローラ301、ディスクコントローラ304のいずれか、または両方に実装されていてもよい。
《キャッシュメモリ309》
キャッシュメモリ309は、ホストコントローラ301とディスクコントローラ304の間でデータを授受するために使用するメモリである。また、キャッシュメモリ309は、ホスト計算機400からのアクセス要求を高速に(応答時間を短く)処理するためのキャッシュ用記憶領域としても使用される(具体的には、ホストコントローラ301とディスクコントローラ304との間でやり取りされるデータが一時的に記憶される)。キャッシュメモリ309は、ホストコントローラ301及びディスクコントローラ304のいずれか、または両方に実装されていてもよい。また、キャッシュメモリ309と共有メモリ308とが一つのメモリで構成されても良い。
キャッシュメモリ309は、ホストコントローラ301とディスクコントローラ304の間でデータを授受するために使用するメモリである。また、キャッシュメモリ309は、ホスト計算機400からのアクセス要求を高速に(応答時間を短く)処理するためのキャッシュ用記憶領域としても使用される(具体的には、ホストコントローラ301とディスクコントローラ304との間でやり取りされるデータが一時的に記憶される)。キャッシュメモリ309は、ホストコントローラ301及びディスクコントローラ304のいずれか、または両方に実装されていてもよい。また、キャッシュメモリ309と共有メモリ308とが一つのメモリで構成されても良い。
《I/Oポート310》
I/Oポート310は、ディスクアレイ装置300をSAN100に接続する接続口である。I/Oポート310を通じて、ホストコントローラ301はホスト計算機400からのI/O要求を受信する。ディスクアレイ装置300は、I/Oポートを複数個備えていてもよい。
I/Oポート310は、ディスクアレイ装置300をSAN100に接続する接続口である。I/Oポート310を通じて、ホストコントローラ301はホスト計算機400からのI/O要求を受信する。ディスクアレイ装置300は、I/Oポートを複数個備えていてもよい。
《管理ポート311》
管理ポート311は、管理コントーラ307を管理ネットワーク200に接続する接続口である。管理ポートを通じて、管理計算機500は管理コントローラ307と通信できる。
管理ポート311は、管理コントーラ307を管理ネットワーク200に接続する接続口である。管理ポートを通じて、管理計算機500は管理コントローラ307と通信できる。
《管理コントローラ307》
管理コントローラ307は、ディスクアレイ装置300を管理する機能を、ネットワーク通信により管理計算機500に提供する制御装置である。管理計算機500は、管理ネットワーク200を経由して管理コントローラ307と通信し、管理コントローラ307にディスクアレイ装置300の管理のための要求を行う。この要求には、例えば、I/O統計情報の取得、セキュリティの設定変更、RAIDグループおよびボリュームの構成変更等が含まれる。管理コントローラ307は、ホストコントローラ301とディスクコントローラ304のいずれか、または両方の機能を備えてもよい。
管理コントローラ307は、ディスクアレイ装置300を管理する機能を、ネットワーク通信により管理計算機500に提供する制御装置である。管理計算機500は、管理ネットワーク200を経由して管理コントローラ307と通信し、管理コントローラ307にディスクアレイ装置300の管理のための要求を行う。この要求には、例えば、I/O統計情報の取得、セキュリティの設定変更、RAIDグループおよびボリュームの構成変更等が含まれる。管理コントローラ307は、ホストコントローラ301とディスクコントローラ304のいずれか、または両方の機能を備えてもよい。
《ハードディスクドライブ312〜313、及びフラッシュドライブ314〜315》
ハードディスクドライブ312〜313およびフラッシュドライブ314〜315は、記憶媒体として使用される。ハードディスクドライブ312〜313のうちの二以上のハードディスクドライブを使用してRAIDグループが構成される。同様に、フラッシュドライブ314〜315のうちの二以上のフラッシュドライブを使用してRAIDグループが構成される。ディスクアレイ装置300には、複数のRAIDグループが存在する。一つのRAIDグループの記憶空間を基に、一以上の論理ボリュームが形成される。従って、ディスクアレイ装置300には、複数の論理ボリュームが備えられる。RAIDグループの構成、或いは、論理ボリュームをどのRAIDグループを利用して形成するかは、前述したように、管理計算機500から制御される。
ハードディスクドライブ312〜313およびフラッシュドライブ314〜315は、記憶媒体として使用される。ハードディスクドライブ312〜313のうちの二以上のハードディスクドライブを使用してRAIDグループが構成される。同様に、フラッシュドライブ314〜315のうちの二以上のフラッシュドライブを使用してRAIDグループが構成される。ディスクアレイ装置300には、複数のRAIDグループが存在する。一つのRAIDグループの記憶空間を基に、一以上の論理ボリュームが形成される。従って、ディスクアレイ装置300には、複数の論理ボリュームが備えられる。RAIDグループの構成、或いは、論理ボリュームをどのRAIDグループを利用して形成するかは、前述したように、管理計算機500から制御される。
《共有メモリに記憶される情報の例》。
共有メモリ308には、記憶媒体管理情報601、RAIDグループ管理情報602及びボリューム管理情報603が記憶される。以下、これらの各情報について説明する。
図3は、記憶媒体管理情報601の構成例を示す。
記憶媒体管理情報601は、ディスクアレイ装置300が備える全ての記憶媒体に関する情報である。記憶媒体管理情報601は、例えばテーブルであり、そのテーブルの各行は、各記憶媒体に対応する。一の行には、一の記憶媒体(以下、この図3を参照した説明において「対象記憶媒体」と言う)に関する情報要素として、例えば、記憶媒体ID、タイプ、ベンダ、モデル、リビジョン、シリアル番号及びRAIDグループIDが記録される。
記憶媒体IDは、ディスクアレイ装置300において、対象記憶媒体を識別するための情報要素である。
タイプは、対象記憶媒体のタイプを識別するための情報要素である。ハードディスクドライブの場合は、“HDD”が記録され、フラッシュドライブの場合は、“FLD”が記録される。
ベンダは、対象記憶媒体を製造したベンダ企業を識別するための情報要素である。
モデルは、対象記憶媒体のモデル(型式)を識別するための情報要素である。
リビジョンは、対象記憶媒体のリビジョン(改訂番号)を識別するための情報要素である。
シリアル番号は、対象記憶媒体の製造番号(個体識別番号)を識別するための情報要素である。
RAIDグループIDは、RAIDグループを識別するための情報要素であって、ディスクアレイ装置300内でRAIDグループに割り当てられた識別子である。対象記憶媒体がRAIDグループの構成要素となっていない場合は、対象記憶媒体に対応したRAIDグループIDは存在しない(例えば、記憶媒体管理情報601においてブランクとなるか或いは無効値が記録される)。
図4は、RAIDグループ管理情報602の構成例を示す。
RAIDグループ管理情報602は、ディスクアレイ装置300内に構成されている全てのRAIDグループに関する情報である。RAIDグループ管理情報602は、例えばテーブルであり、各行は、各RAIDグループに対応している。一の行には、一のRAIDグループ(以下、この図4を参照した説明において「対象RAIDグループ」と言う)に関する情報要素として、RAIDグループID、記憶媒体リスト、RAIDレベル及び容量が記録される。
記憶媒体リストは、対象RAIDグループを構成している各記憶媒体の記憶媒体IDの組である。
RAIDレベルは、対象RAIDグループのRAIDレベルを示す情報である。
容量は、対象RAIDグループに構成できる論理ボリュームの記憶容量、言い換えれば、対象RAIDグループ全体の記憶容量である。ハードディスクドライブ、フラッシュドライブ等の記憶媒体の記憶領域は、例えば、512バイトないし4096バイトの論理ブロックに区切られ、これらのブロックを単位としてI/Oが行われる。各ブロックには、一意な番号が割り当てられており、記憶媒体にI/Oを行う際、I/Oの対象のブロックは、この番号により指定される。このブロックごとの番号を、以降、論理ブロックアドレスまたはLBA(Logical Block Address)と呼ぶ。フラッシュドライブのI/Oインタフェースは、ハードディスクドライブと同じであるとする。RAIDグループの記憶領域も、ハードディスクドライブと同様に論理ブロックアドレスを使って管理される。
図5は、ボリューム管理情報603の構成例を示す。
ボリューム管理情報603は、ディスクアレイ装置300内に構成されている全ての論理ボリュームに関する情報である。ボリューム管理情報603は、例えばテーブルであり、各行は、各論理ボリュームに対応する。一の行には、一の論理ボリューム(以下、この図5を参照した説明において「対象論理ボリューム」と言う)に関する情報要素として、ボリュームID、RAIDグループID、RAIDグループ内先頭アドレス及びサイズが記録される。
ボリュームIDは、ディスクアレイ装置300に構成されている対象論理ボリュームを識別するための情報要素である。
RAIDグループ内先頭アドレスは、対象論理ボリュームが構成されているRAIDグループの記憶領域の先頭の論理ブロックアドレスである。論理ボリュームは、RAIDグループ内の論理ブロックアドレスの一範囲として構成される。従って、RAIDグループ内先頭アドレスは、RAIDグループの記憶領域のどの論理ブロックアドレスから対象論理ボリュームが開始されているかを示す情報要素である。
サイズは、対象論理ボリュームの記憶領域の大きさを示す論理ブロック数である。ホストコントローラ301は、ホスト計算機400からI/O要求を受信した場合、そのI/O要求に含まれるデータをキャッシュメモリ309に書込み、ディスクコントローラ304にデータの書込みを要求する。ディスクコントローラ304は、ホストコントローラ301からの要求を受けたことに応答して、そのデータを書き込むべき対象論理ボリュームを構成する記憶媒体をボリューム管理情報603およびRAIDグループ管理情報602を参照することで特定し、特定された記憶媒体に、キャッシュメモリ309に記憶されているデータを書き込む。
<<管理計算機>>。
図6は、管理計算機500の構成例を示す。
管理計算機500は、例えば、パーソナルコンピュータ、汎用コンピュータ、ワークステーション、或いはPDA(Personal Digital Assistants)等の計算機である。
管理計算機500は、プロセッサ(例えばCPU)501、メモリ502、ネットワークコントローラ503及びネットワークポート504を有する。また、キーボード、マウス等の入力装置や、モニタ等の出力装置や、二次記憶装置が接続されている。入力装置を用いることにより、管理計算機500のユーザは、管理計算機500に対して、プログラムの実行や装置の制御を指示できる。
プロセッサ501は、メモリ502、ネットワークコントローラ503、その他の装置に接続されている。
ネットワークコントローラ503は、ネットワークポート504を有している。ネットワークポート504は、管理計算機500を管理ネットワーク200に接続する接続口である。管理計算機500は、ネットワークポート504を介して、管理ネットワーク200に接続されている。
プロセッサ501は、メモリ502に対してデータを読み書きし、メモリ502に格納されているプログラムを実行する。また、プロセッサ501は、プロセッサに接続されているネットワークコントローラ503やその他の装置を制御できる。
管理計算機500は、ディスクアレイ装置300のみならず、計算機システム1に含まれる他の装置や、別の計算機システムの装置を管理する機能を有していてもよい。また、管理計算機500は、ホスト計算機400のように、アプリケーションプログラムを実行してもよい。
《管理計算機が管理する情報》。
管理計算機500のメモリ502には、例えば、管理計算機500が管理の対象としているディスクアレイ装置のリストであるディスクアレイ情報701と、ディスクアレイ装置に構成されている論理ボリュームのリストであるボリューム情報702と、記憶媒体の型式ごとの仕様に関する情報である記憶媒体仕様情報703と、ディスクアレイ装置が実装している記憶媒体のリストである記憶媒体実装情報704とが記憶される。以下、上記各情報について詳細に説明する。
図7は、ディスクアレイ情報701の構成例を示す。
ディスクアレイ情報701は、例えばテーブルであり、各行は、管理計算機500が管理の対象としている個々のディスクアレイ装置に対応する。一の行には、一のディスクアレイ装置(以下、この図7を参照した説明において「対象ディスクアレイ装置」と言う)に関する情報要素として、ディスクアレイIDと接続情報とが記録される。
ディスクアレイIDは、計算機システム1において対象ディスクアレイ装置を一意に識別するための情報要素である。
接続情報は、管理計算機500が、対象ディスクアレイ装置に対してデータ通信するために使用される情報要素である。接続情報には、例えば、対象ディスクアレイ装置の管理ポート311に割り当てられたIPアドレス等が含まれる。
ディスクアレイ情報701の第一行目には、図1に示したディスクアレイ装置300に関する種々の情報要素が格納されている(つまり、第一の実施形態の説明では、「ディスクアレイ装置300」における参照番号の“300”と、ディスクアレイIDの“300”とが対応している)。ディスクアレイ情報701は、ユーザが管理計算機500を操作して入力することができる。
図8は、ボリューム情報702の構成例を示す。
ボリューム情報702は、例えばテーブルであり、各行は、各論理ボリュームに対応する。一の行には、一の論理ボリューム(以下、この図8を参照した説明において「対象論理ボリューム」と言う)に関する情報要素として、ディスクアレイID、ボリュームID、RAIDグループID及びサイズが記録される。
ディスクアレイIDは、対象論理ボリュームを構成しているディスクアレイ装置を識別する情報である。この値は、ディスクアレイ情報701のディスクアレイIDに格納される情報と同等である。
ボリュームIDは、対象論理ボリュームを構成しているディスクアレイ装置における、対象ボリュームを識別するための情報要素である。
RAIDグループIDは、対象論理ボリュームを構成しているRAIDグループを識別するための情報要素である。
サイズは、対象論理ボリュームに記録できるデータのサイズ、言い換えれば、対象論理ボリュームの記憶サイズである。なお、第一の実施形態の説明では、RAIDグループ全体の記憶容量を「容量」と呼び、論理ボリュームの記憶容量を「サイズ」と呼ぶことがある。
図9は、記憶媒体仕様情報703の構成例を示す。
記憶媒体仕様情報703は、例えばテーブルであり、各行は、各記憶媒体製品に対応する。ここで、「記憶媒体製品」とは、タイプ、ベンダ、モデル及びリビジョンの4種類の情報要素から一意に特定される記憶媒体のことであり、前述した記憶媒体IDから一意に特定される記憶媒体とは意味が異なる。すなわち、例えば、二以上の記憶媒体IDから特定される二以上の記憶媒体は、タイプ、ベンダ、モデル及びリビジョンの全てが同じであれば、同一の記憶媒体製品ということになる。記憶媒体仕様情報703の一の行には、一の記憶媒体製品(以下、図9の説明において「対象記憶媒体製品」と言う)に関する情報要素として、例えば、タイプ、ベンダ、モデル、リビジョン、リード時データ転送速度、ライト時データ転送速度及び平均アクセスタイムが記録される。
タイプ、ベンダ、モデル及びリビジョンについては、図3を参照した説明で述べたとおりである。
リード時データ転送速度は、対象記憶媒体製品から読み出すことができる単位時間あたりのデータ転送量である。この値は、ディスクコントローラ304が実際に対象記憶媒体製品からデータを読み出すことで測定した性能であってもよいし、ユーザが定義したものであってもよい。また、対象記憶媒体製品の製造者(ベンダ)が提供した値であってもよい。
ライト時データ転送速度は、対象記憶媒体製品へ書き込むことができる単位時間あたりのデータ転送量である。この値は、ディスクコントローラ304が実際に記憶媒体製品へデータを書き込むことで測定した性能であってもよいし、ユーザが定義したものであってもよい。また、対象記憶媒体製品の製造者(ベンダ)が提供した値であってもよい。
平均アクセスタイムは、対象記憶媒体製品からデータを読み出す際、または、対象記憶媒体製品へデータを書き込む際に発生するオーバヘッドの平均時間(秒)である。このオーバヘッドは、例えばハードディスクドライブであれば、磁気ヘッドの移動時間(シークタイム)や、目的のセクタを磁気ヘッド下へ移動する時間(回転待ち時間)等を含む。この値は、ベンダが提供した値であってもよい。また、記憶媒体仕様情報703には、データの書き込みの場合と読み出しの場合とでそれぞれ異なる平均アクセスタイムが記録されても良い。
図10は、記憶媒体実装情報704の構成例を示す。
記憶媒体実装情報704は、例えばテーブルであり、各行は、各記憶媒体に対応する。一の行には、一の記憶媒体(以下、図10の説明において「対象記憶媒体」と言う)に関する情報要素として、例えば、ディスクアレイID、記憶媒体ID、RAIDグループID、タイプ、ベンダ、モデル、リビジョン及びシリアル番号が記録される。
ディスクアレイIDは、対象記憶媒体を備えるディスクアレイ装置のIDである。
記憶媒体IDは、対象記憶媒体のディスクアレイ装置におけるIDである。
RAIDグループIDは、対照記憶媒体を構成要素とするRAIDグループの、ディスクアレイ装置におけるIDである。対象記憶媒体がどのRAIDグループにも使用されていない場合、RAIDグループIDには記憶媒体が未使用であることを示す値が記録される(或いは、当該行においてブランクとなる)。
タイプ、ベンダ、モデル、リビジョン及びシリアル番号は、図3を参照して説明した記憶媒体管理情報601の場合と同様に、記憶媒体を識別するための情報である。
《管理計算機が実行するプログラム》。
管理計算機500のメモリ502には、例えば、管理計算機500が実行するコンピュータプログラムとして、ディスクアレイ情報取得プログラム801、RAIDグループ性能指数算出プログラム802、RAIDグループ算出プログラム803、RAIDグループ作成プログラム804、適正RAIDグループ作成プログラム805及びボリュームコピープログラム806が記憶される。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するプロセッサ501によって処理が行われるものとする。
管理計算機500のメモリ502には、例えば、管理計算機500が実行するコンピュータプログラムとして、ディスクアレイ情報取得プログラム801、RAIDグループ性能指数算出プログラム802、RAIDグループ算出プログラム803、RAIDグループ作成プログラム804、適正RAIDグループ作成プログラム805及びボリュームコピープログラム806が記憶される。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するプロセッサ501によって処理が行われるものとする。
ディスクアレイ情報取得プログラム801は、各ディスクアレイ装置から、各ディスクアレイ装置が有する管理情報(具体的には、記憶媒体管理情報601、RAIDグループ管理情報602及びボリューム管理情報603)を取得し、メモリ502に記憶させるプログラムである。ディスクアレイ情報701、ボリューム情報702、記憶媒体仕様情報703及び記憶媒体実装情報704には、ディスクアレイ情報取得プログラム801がディスクアレイ装置から取得した情報が含まれてもよい。ディスクアレイ情報取得プログラム801は、管理ネットワーク200を通じてディスクアレイ装置300と通信し、ディスクアレイ装置300から前述した管理情報を取得することができる。
RAIDグループ性能指数算出プログラム802は、ディスクアレイ装置内に構成されている各RAIDグループについて、シーケンシャルアクセス時の最大の読出し性能と書き込み性能を概算するプログラムである。
RAIDグループ算出プログラム803は、指定された性能に適合するRAIDグループの構成を算出するプログラムである。RAIDグループの構成とは、RAIDグループを構成する記憶媒体とその数およびRAIDレベルのことを言う。このプログラム803は、ディスクアレイ情報取得プログラム801がディスクアレイ装置300から取得した情報と、記憶媒体仕様情報703とを用いて、与えられたパラメータに適合するRAIDグループの構成を算出し、出力することができる。
RAIDグループ作成プログラム804は、ディスクアレイ装置に対して、RAIDグループの作成を指示するプログラムである。
適正RAIDグループ作成プログラム805は、指定されたRAIDグループの複製先として、性能が適合するRAIDグループを作成するプログラムである。
ボリュームコピープログラム806は、指定されたボリュームまたはRAIDグループを、指定されたコピー先ボリュームまたはRAIDグループへコピーするプログラムである。
<<第一の実施形態で行われる処理の流れ>>。
以下、第一の実施形態で行われる処理の流れを説明する。
まず、管理計算機500のメモリ502に、ディスクアレイ管理情報701、ボリューム情報702、記憶媒体仕様情報703及び記憶媒体実装情報704が記憶される。これらの4種類の情報は、管理計算機500のユーザ(例えば管理者)によって入力されても良いし、ディスクアレイ情報取得プログラム801によって入力されても良い。例えば、ディスクアレイ情報取得プログラム801が、どのディスクアレイ装置から記憶媒体管理情報601、RAIDグループ管理情報602及びボリューム管理情報603を取得したかを基に、ボリューム情報702及び記憶媒体実装情報704を生成してメモリ502に記憶させることができる。具体的には、例えば、記憶媒体実装情報704のうちの記憶媒体ID、RAIDグループID、タイプ、ベンダ、モデル、リビジョン及びシリアル番号は、記憶媒体管理情報601に記録されている記憶媒体ID、RAIDグループID、タイプ、ベンダ、モデル、リビジョン及びシリアル番号とすることができ、且つ、記憶媒体実装情報704のうちのディスクアレイIDは、その記憶媒体管理情報601の取得元のディスクアレイ装置701のディスクアレイIDとすることができる。また、例えば、ボリューム情報702のうちのボリュームID、RAIDグループID及びサイズは、ボリューム管理情報603に記録されているボリュームID、RAIDグループID及びサイズとすることができ、且つ、ボリューム情報702のうちのディスクアレイIDは、そのボリューム管理情報603の取得元のディスクアレイ装置701のディスクアレイIDとすることができる。
次に、適正RAIDグループ作成プログラム805によって、コピー先となるRAIDグループを作成するための処理が実行される。具体的には、図12に示す処理が実行される。
ステップ1100において、適正RAIDグループ作成プログラム805は、作成するRAIDグループの要件をパラメータとして受ける。このRAIDグループの要件としては、例えば、以下の(1100−1)乃至(1100−6)の6つがある。
(1100−1)コピー元RAIDグループのRAIDグループID、
(1100−2)コピー元RAIDグループを有するディスクアレイ装置のディスクアレイID、
(1100−3)コピー先RAIDグループの作成先とする(言い換えれば、コピー先RAIDグループを有することになる)ディスクアレイ装置のディスクアレイID、
(1100−4)コピー先RAIDグループのRAIDレベル、
(1100−5)コピー先RAIDグループが記録できる最大のデータ量(RAIDグループ容量)、
(1100−6)コピー先RAIDグループを構成する記憶媒体のタイプ。
(1100−1)コピー元RAIDグループのRAIDグループID、
(1100−2)コピー元RAIDグループを有するディスクアレイ装置のディスクアレイID、
(1100−3)コピー先RAIDグループの作成先とする(言い換えれば、コピー先RAIDグループを有することになる)ディスクアレイ装置のディスクアレイID、
(1100−4)コピー先RAIDグループのRAIDレベル、
(1100−5)コピー先RAIDグループが記録できる最大のデータ量(RAIDグループ容量)、
(1100−6)コピー先RAIDグループを構成する記憶媒体のタイプ。
これらのパラメータは、管理計算機500のユーザ或いは他のコンピュータプログラムが、グラフィカルユーザインタフェース、コマンドラインインタフェース或いは管理ネットワーク200を介して、最適RAIDグループ作成プログラム805に与えることができる。
なお、パラメータ(1100−3)の入力は、省略されても良い。省略された場合には、コピー元RAIDグループを有するディスクアレイ装置のディスクアレイIDが指定されたと解釈されてよい。
同様に、パラメータ(1100−4)の入力も、省略されても良い。省略された場合は、コピー元RAIDグループのRAIDレベルと同じRAIDグループが指定されたと解釈されて良い。
同様に、パラメータ(1100−5)の入力も省略されても良い。省略された場合は、コピー元RAIDグループのRAIDグループ容量と同じRAIDグループ容量が指定されたと解釈されても良い。
ステップ1104において、適正RAIDグループ作成プログラム805は、RAIDグループ性能指数算出プログラム802に、指定されたコピー元RAIDグループの性能指数を算出させる。性能指数の算出方法については後に詳述する。
ステップ1108において、最適RAIDグループ作成プログラム805は、ステップ1104により得られた性能指数に適合するRAIDグループの構成を、RAIDグループ算出プログラム803に算出させる。
ステップ1112において、最適RAIDグループ作成プログラム805は、ステップ1108で得られた構成を具備するRAIDグループを、RAIDグループ作成プログラム804に作成させる。
このステップ1112の終了により、最適RAIDグループ作成プログラム805の処理は完了する。このステップ1112の後に、最適RAIDグループ作成プログラム805は、ボリュームコピープログラム806に、以下の(806−1)乃至(806−4)の4つのパラメータ、
(806−1)コピー元ボリュームを有するディスクアレイ装置のディスクアレイID、
(806−2)コピー元ボリュームのボリュームID、
(806−3)コピー先ボリュームを有するディスクアレイ装置のディスクアレイID、
(806−4)コピー先ボリュームのボリュームID、
を与えて、コピー処理を実行させても良い。ボリュームコピープログラム806は、これらのパラメータ(806−1)乃至(806−4)を受けた場合、パラメータ(806−1)から識別されるディスクアレイ装置に対して、パラメータ(806−2)から識別されるコピー元ボリュームを、パラメータ(806−3)から識別されるディスクアレイ装置のパラメータ(806−4)から識別されるコピー先ボリュームにコピーするように指示することができる。
(806−1)コピー元ボリュームを有するディスクアレイ装置のディスクアレイID、
(806−2)コピー元ボリュームのボリュームID、
(806−3)コピー先ボリュームを有するディスクアレイ装置のディスクアレイID、
(806−4)コピー先ボリュームのボリュームID、
を与えて、コピー処理を実行させても良い。ボリュームコピープログラム806は、これらのパラメータ(806−1)乃至(806−4)を受けた場合、パラメータ(806−1)から識別されるディスクアレイ装置に対して、パラメータ(806−2)から識別されるコピー元ボリュームを、パラメータ(806−3)から識別されるディスクアレイ装置のパラメータ(806−4)から識別されるコピー先ボリュームにコピーするように指示することができる。
なお、パラメータ(806−2)及び/又は(806−3)のボリュームIDは、RAIDグループIDであってもよい。また、ボリュームコピープログラム806は、管理計算機500以外の計算機で稼働してもよい。ボリュームコピープログラム806は、ディスクアレイ装置と通信するために、SAN100または管理ネットワーク200のいずれかを使用することができる。ディスクアレイ装置は、ボリュームコピープログラム806からのボリュームコピーの指示を受けとると、指定されたコピー元ボリューム内のデータを指定されたコピー先ボリュームにコピーすることを開始することができる。リモートコピーの場合は、コピー先ディスクアレイ装置(ボリュームコピープログラム806からの指示から特定されるディスクアレイ装置)に対して、データのコピーを行うことができる。ディスクアレイ装置がボリュームをコピーする機能を持たない等の場合は、ボリュームコピープログラム806ないしはその他の装置が、指定されたコピー元ボリュームから、データを読出し、指定されたコピー先ボリュームにデータを書込んでも良い。この場合、ボリュームコピープログラム806が稼働する計算機ないしはデータをコピーする装置は、SAN100または管理ネットワーク200に接続されており、ボリュームコピープログラム806は、これらのネットワークを介して、コピー先およびコピー元ディスクアレイ装置と通信する。
適正RAIDグループ作成プログラム805は、RAIDグループのデータをコピーするかどうかの指示をユーザから受けとり、RAIDグループを作成した後で、ボリュームコピープログラム806を使って、コピー元のRAIDグループのデータをコピー先のRAIDグループへコピーするようにしてもよい。また、ユーザは、適正RAIDグループ作成プログラム805を使って、RAIDグループを作成した後、所望の時期にデータのコピーを実行してもよい。
《コピー元RAIDグループの性能指数の算出(図12のステップ1104の詳細)》。
RAIDグループ性能指数算出プログラム802が、例えば図12のステップ1104において、適正RAIDグループ作成プログラム805から呼び出され、以下の(1104−1)及び(1104−2)の2つのパラメータを受ける。
(1104−1)コピー元RAIDグループを有するディスクアレイ装置(すなわち、算出の対象とするRAIDグループが構成されているディスクアレイ装置)のディスクアレイID(例えば上記パラメータ(1100−2))、
(1104−2)コピー元RAIDグループ(すなわち、算出の対象とするRAIDグループ)のRAIDグループID(例えば上記パラメータ(1100−1))。
(1104−1)コピー元RAIDグループを有するディスクアレイ装置(すなわち、算出の対象とするRAIDグループが構成されているディスクアレイ装置)のディスクアレイID(例えば上記パラメータ(1100−2))、
(1104−2)コピー元RAIDグループ(すなわち、算出の対象とするRAIDグループ)のRAIDグループID(例えば上記パラメータ(1100−1))。
RAIDグループの性能指数は、例えば、コピー元RAIDグループのRAIDレベル(パラメータ(1104−2)をキーに、パラメータ(1104−1)から特定されるディスクアレイ装置に問合せを出すことにより、該ディスクアレイ装置から回答されたRAIDレベル)に応じた算出方法で算出される。以下に、算出方法の一例を挙げる。また、第一の実施形態で算出される性能指数としては、書込み性能の指数(以下、書込み性能指数)と、読出し性能の指数(以下、読出し性能指数)とがあるので、それらについても説明する。
〈RAIDレベルが、RAID 5またはRAID 6の場合〉
書込み性能指数={(コピー元RAIDグループを構成している記憶媒体の書き込み性能の合計)/(RAIDグループの幅)}×(RAIDグループの幅−パリティの幅)
読出し性能指数=コピー元RAIDグループを構成している記憶媒体の読出し性能の合計
ここで、「コピー元RAIDグループの幅」とは、コピー元RAIDグループ内でストライプを構成している記憶媒体の数である。具体的には、例えば、10個の記憶媒体でRAID
5のコピー元RAIDグループが構成されていて、一のI/Oが5個の記憶媒体に実行される場合には、コピー元RAIDグループの幅は、“5”となる。また、「パリティの幅」とは、1ストライプあたりに含まれる冗長データを記録する記憶媒体の数を言う。また、「書込み性能の合計」や「読出し性能の合計」は、それぞれ、記憶媒体仕様情報703から特定されるライト時データ転送速度の合計や、リード時データ転送速度の合計である。具体的には、例えば、パラメータ(1104−1)及び(1104−2)をキーに記憶媒体実装情報704を参照することで、コピー元RAIDグループに属する各記憶媒体のタイプ、ベンダ、モデル及びリビジョンを特定し、特定されたタイプ、ベンダ、モデル及びリビジョンに対応するリード時データ転送速度及びライト時データ転送速度を記憶媒体仕様情報703から特定することができ、コピー元RAIDグループに属する各記憶媒体について特定されたリード時データ転送速度及びライト時データ転送速度を用いて、上述した書込み性能指数及び読出し性能指数を算出することができる。
書込み性能指数={(コピー元RAIDグループを構成している記憶媒体の書き込み性能の合計)/(RAIDグループの幅)}×(RAIDグループの幅−パリティの幅)
読出し性能指数=コピー元RAIDグループを構成している記憶媒体の読出し性能の合計
ここで、「コピー元RAIDグループの幅」とは、コピー元RAIDグループ内でストライプを構成している記憶媒体の数である。具体的には、例えば、10個の記憶媒体でRAID
5のコピー元RAIDグループが構成されていて、一のI/Oが5個の記憶媒体に実行される場合には、コピー元RAIDグループの幅は、“5”となる。また、「パリティの幅」とは、1ストライプあたりに含まれる冗長データを記録する記憶媒体の数を言う。また、「書込み性能の合計」や「読出し性能の合計」は、それぞれ、記憶媒体仕様情報703から特定されるライト時データ転送速度の合計や、リード時データ転送速度の合計である。具体的には、例えば、パラメータ(1104−1)及び(1104−2)をキーに記憶媒体実装情報704を参照することで、コピー元RAIDグループに属する各記憶媒体のタイプ、ベンダ、モデル及びリビジョンを特定し、特定されたタイプ、ベンダ、モデル及びリビジョンに対応するリード時データ転送速度及びライト時データ転送速度を記憶媒体仕様情報703から特定することができ、コピー元RAIDグループに属する各記憶媒体について特定されたリード時データ転送速度及びライト時データ転送速度を用いて、上述した書込み性能指数及び読出し性能指数を算出することができる。
〈RAIDレベルが、RAID 1+0(または0+1)の場合〉
書込み性能指数=(ミラーされている二つのストライプの書込み性能のうちの小さい方)
読出し性能指数=(ミラーされている二つのストライプの読出し性能のうちの小さい方)
ここで、「ストライプの書き込み性能」とは、ストライプを構成している記憶媒体の書き込み性能(前述した方法で記憶媒体仕様情報703から特定できるライト時データ転送速度)の合計である。同様に、「ストライプの読出し性能」とは、ストライプを構成している記憶媒体の読出し性能(前述した方法で記憶媒体仕様情報703から特定できるリード時データ転送速度)の合計である。なお、以降、単に「RAID
1」と表記した場合は、RAID 1+0またはRAID 0+1を含む。
書込み性能指数=(ミラーされている二つのストライプの書込み性能のうちの小さい方)
読出し性能指数=(ミラーされている二つのストライプの読出し性能のうちの小さい方)
ここで、「ストライプの書き込み性能」とは、ストライプを構成している記憶媒体の書き込み性能(前述した方法で記憶媒体仕様情報703から特定できるライト時データ転送速度)の合計である。同様に、「ストライプの読出し性能」とは、ストライプを構成している記憶媒体の読出し性能(前述した方法で記憶媒体仕様情報703から特定できるリード時データ転送速度)の合計である。なお、以降、単に「RAID
1」と表記した場合は、RAID 1+0またはRAID 0+1を含む。
RAIDグループ性能指数算出プログラム802は、計算対象のRAIDグループ(コピー元RAIDグループ)の構成に関する情報を、例えば、パラメータ(1104−1)をキーにディスクアレイ情報701から特定される接続情報を用いてアクセスできるディスクアレイ装置から取得することができる。具体的には、例えば、そのディスクアレイ装置にパラメータ(1104−2)を指定した問合せを出すことにより、そのディスクアレイ装置から、コピー元RAIDグループに対応した記憶媒体リストと、コピー元RAIDグループに対応したRAIDレベルとを(いずれも、RAIDグループ管理情報602にある情報要素)取得することができる。なお、これらの情報要素は、図12の処理が開始される前の段階で取得されてメモリ502に記憶されていても良い。
RAIDグループ性能指数算出プログラム802は、算出したコピー元RAIDグループの性能指数(書込み性能指数及び読出し性能指数)を出力することができる。ここでの出力とは、例えば、表示装置への表示であっても良いし、他のプログラムへの結果の送信であっても良い。
以上が、性能指数の算出についての説明である。なお、コピー元RAIDグループの性能指数は、実際にコピー元RAIDグループについてのリード時転送速度或いはライト時転送速度を測定することで、算出されてもよい。
《コピー先RAIDグループの構成の算出(図12のステップ1108の詳細)》。
RAIDグループ算出プログラム803が、例えば図12のステップ1108において、適正RAIDグループ作成プログラム805から呼び出され、図11の処理を実行する。
図11は、RAIDグループ算出プログラム803が行う処理のフローチャートである。
ステップ1000において、RAIDグループ算出プログラム803は、コピー先RAIDグループの要件として以下のパラメータを受ける。
(1000−1)コピー先RAIDグループの作成先とするディスクアレイ装置のディスクアレイID(例えば上記パラメータ(1100−3))、
(1000−2)コピー先RAIDグループのRAIDレベル(例えば上記パラメータ(1100−4))、
(1000−3)コピー先RAIDグループに要求される性能指数(以下、要求性能指数)、
(1000−4)コピー先RAIDグループが記録できる最大のデータ量(コピー先RAIDグループ容量)(例えば上記パラメータ(1100−5))、
(1000−5)コピー先RAIDグループを構成する記憶媒体のタイプ(例えば上記パラメータ(1100−6))。
(1000−1)コピー先RAIDグループの作成先とするディスクアレイ装置のディスクアレイID(例えば上記パラメータ(1100−3))、
(1000−2)コピー先RAIDグループのRAIDレベル(例えば上記パラメータ(1100−4))、
(1000−3)コピー先RAIDグループに要求される性能指数(以下、要求性能指数)、
(1000−4)コピー先RAIDグループが記録できる最大のデータ量(コピー先RAIDグループ容量)(例えば上記パラメータ(1100−5))、
(1000−5)コピー先RAIDグループを構成する記憶媒体のタイプ(例えば上記パラメータ(1100−6))。
上記のパラメータは、管理計算機500のユーザや他のプログラム(例えば適正RAIDグループ作成プログラム805)が、グラフィカルユーザインタフェース、コマンドラインインタフェース、管理ネットワーク200を関して、RAIDグループ算出プログラム803に与える。なお、パラメータ(1000−3)の「要求性能指数」は、例えば、コピー先RAIDグループへのシーケンシャル書き込み時の最大性能か、シーケンシャル読み出し時の最大性能のいずれかを、単位時間あたりのデータ転送量(バイト/秒)とした値である。以下、シーケンシャル書き込み時の最大性能を単位時間あたりのデータ転送量(バイト/秒)とした値を「要求書込み性能指数」と呼び、シーケンシャル読み出し時の最大性能を単位時間あたりのデータ転送量(バイト/秒)とした値を「要求読出し性能指数」と呼ぶ。「シーケンシャル」としているのは、コピーでは、一般に、シーケンシャルな読出しや書込みが行われるためである。要求書込み性能指数は、管理計算機500のユーザ或いはRAIDグループ算出プログラム803によって、図12のステップ1104で算出された、コピー元RAIDグループの読出し性能指数のN倍(N>1(例えばN=1.1))とされる。コピーの際に、コピー元RAIDグループからの読出し速度よりコピー先RAIDグループへの書込み速度の方が遅くなってしまってそれが故にコピー速度が遅くなってしまわないようにするためである。それ故、例えば、RAIDグループ算出プログラム803は、コピー元RAIDグループの読出し性能指数を上回る要求書込み性能指数以外の要求書込み性能指数を受け付けないようにすることができる。或いは、例えば、RAIDグループ算出プログラム803が、コピー元RAIDグループの読出し性能指数を上回る要求書込み性能指数を自動的に算出しても良い。
ステップ1004において、RAIDグループ算出プログラム803は、RAIDグループを構成するための記憶媒体の候補を、指定されたディスクアレイ装置(パラメータ(1000−1)から特定されるディスクアレイ装置)に実装されている記憶媒体(パラメータ(1000−1)をキーに記憶媒体実装情報704から特定される記憶媒体)の中から選出する。この選出は、例えば以下のアルゴリズムで行われる。
・既にRAIDグループに使用されている記憶媒体(RAIDグループIDが対応付けられている記憶媒体)を、候補として選出しない。
・指定されたタイプ以外の記憶媒体を、候補として選出しない。
・上記以外の記憶媒体を候補として選出する。
・既にRAIDグループに使用されている記憶媒体(RAIDグループIDが対応付けられている記憶媒体)を、候補として選出しない。
・指定されたタイプ以外の記憶媒体を、候補として選出しない。
・上記以外の記憶媒体を候補として選出する。
ステップ1008において、RAIDグループ算出プログラム803は、ステップ1004にて選出された記憶媒体に対して、選出の優先順位を定める。この優先順位は、記憶媒体についての個々の情報要素を、次の順で評価して定められる。
すなわち、パラメータ(1000−3)として要求書込み性能指数が指定された場合には、ライト時データ転送速度が高い記憶媒体が高い優先順位とされ、パラメータ(1000−3)として要求読出し性能指数が指定された場合には、リード時データ転送速度が高い記憶媒体が高い優先順位とされる。それぞれの場合において、ライト時データ転送速度或いはリード時転送速度が同じならば、記憶媒体の記憶容量が大きい方がより高い優先順位とされる。記憶媒体の記憶容量は、記憶媒体のタイプ、ベンダ、モデル及びリビジョンの組合せから特定することができるが、記憶媒体管理情報601や既往媒体仕様情報703などに、記憶媒体の記憶容量が記録されていても良く、その情報601や703などから特定されても良い。
ステップ1012において、RAIDグループ算出プログラム803は、コピー先RAIDグループの幅を算出する。この算出は、例えば以下の手順によって行われる。
(1012−1)RAIDグループ算出プログラム803が、パラメータ(1000−2)であるRAIDレベルに応じて、コピー先RAIDグループの幅(以下、“LEN”と記載することがある)の初期値を決定する。具体的には、例えば、RAIDレベルとして、RAID
6が指定されている場合は、初期値を“4”とし、RAID 5が指定されている場合は、初期値を“3”し、RAID 1が指定されている場合は、初期値を“1”とする。
6が指定されている場合は、初期値を“4”とし、RAID 5が指定されている場合は、初期値を“3”し、RAID 1が指定されている場合は、初期値を“1”とする。
(1012−2)RAIDグループ算出プログラム803が、ステップ1004で選出された複数の記憶媒体から、ステップ1008で定めた優先順位の高い記憶媒体から順に、記憶媒体を選択する。選択する記憶媒体の数も、パラメータ(1000−2)であるRAIDレベルに応じて定まる。具体的には、例えば、RAID
5の場合はLEN個(つまり、コピー先RAIDグループの幅と同数)、RAID 1の場合は、(LEN×2)個の記憶媒体が選択される。もし、選択された記憶媒体の記憶容量の合計が、パラメータ(1000−4)として指定されたコピー先RAIDグループ容量よりも小さいならば、プログラムの実行は失敗とする(ステップ1020)。また、実装されている記憶媒体の数が少ない等の理由により、記憶媒体を確定できない場合は、同様に、プログラムを失敗とする(ステップ1020)。
5の場合はLEN個(つまり、コピー先RAIDグループの幅と同数)、RAID 1の場合は、(LEN×2)個の記憶媒体が選択される。もし、選択された記憶媒体の記憶容量の合計が、パラメータ(1000−4)として指定されたコピー先RAIDグループ容量よりも小さいならば、プログラムの実行は失敗とする(ステップ1020)。また、実装されている記憶媒体の数が少ない等の理由により、記憶媒体を確定できない場合は、同様に、プログラムを失敗とする(ステップ1020)。
(1012−3)RAIDグループ算出プログラム803が、(1012−2)で選択された記憶媒体を用いて構成した場合のRAIDグループ(以下、この段落において「当該RAIDグループ」と言う)の性能指数(U)を求める。この値Uは、パラメータ(1000−3)として要求書込み性能指数が指定されたか、要求読出し性能指数が指定されたかにより異なる。具体的には、要求書込み性能指数が指定された場合、値Uは、当該RAIDグループの書込み性能指数となり、要求読出し性能指数が指定された場合、値Uは、当該RAIDグループの読出し性能指数となる。それぞれの性能指数の計算方法は、RAIDグループ性能指数算出プログラム802が使用する計算方法と同じとすることができる。
(1012−4)RAIDグループ算出プログラム803は、算出された値Uが要求性能指数以下か否かを判断する。算出された値Uが要求性能指数以下ならば、LEN = LEN + 1として、(1012−2)からの計算処理を再実行し、算出された値Uが要求性能指数以上ならば、ステップ1016に進む。
ステップ1016において、RAIDグループ算出プログラム803は、ステップ1012で算出されたコピー先RAIDグループの幅を構成する記憶媒体の記憶媒体IDのリストを出力する。ここでの出力とは、例えば、表示装置への表示であっても良いし、他のプログラムが解釈できる形式でのデータ送信であっても良い。
以上の処理流れにより、要求された要件(パラメータ)に適合するコピー先RAIDグループの構成が算出される。
《コピー先RAIDグループの作成(図12のステップ1112の詳細)》。
RAIDグループ作成プログラム804は、以下のパラメータ(1112−1)乃至(1112−3)の3つのパラメータを指定したRAIDグループ作成指示を、後述のパラメータ(1112−1)から特定されるディスクアレイ装置に送信する。
(1112−1)コピー先RAIDグループの作成先とするディスクアレイ装置のディスクアレイID(例えば上記パラメータ(1100−3))、
(1112−2)コピー先RAIDグループの構成要素とする記憶媒体の記憶媒体ID(図11の処理により最終的に選出された記憶媒体の記憶媒体IDのリスト)、
(1112−3)コピー先RAIDグループのRAIDレベル(例えば上記パラメータ(1100−4))。
(1112−1)コピー先RAIDグループの作成先とするディスクアレイ装置のディスクアレイID(例えば上記パラメータ(1100−3))、
(1112−2)コピー先RAIDグループの構成要素とする記憶媒体の記憶媒体ID(図11の処理により最終的に選出された記憶媒体の記憶媒体IDのリスト)、
(1112−3)コピー先RAIDグループのRAIDレベル(例えば上記パラメータ(1100−4))。
ディスクアレイ装置において、例えば、管理コントローラ307のプロセッサ316で実行されるコンピュータプログラムが、そのRAIDグループ作成指示に応答して、RAIDグループ作成指示で指定されているパラメータに従ってRAIDグループを作成し、それに伴い、記憶媒体管理情報601及びRAIDグループ管理情報602を更新する。
以後、再び図12の処理が実行される場合には、更新後の記憶媒体管理情報601及びRAIDグループ管理情報602に基づいて更新された記憶媒体実装情報702を基に、図12の処理が実行される。
以上、第一の実施形態によれば、コピー先RAIDグループの要求書込み性能指数として、コピー元RAIDグループの読出し性能指数よりも高い値が指定され、その要求書込み性能指数を満たすコピー先RAIDグループが作成される。これにより、コピー元RAIDグループから単位時間当たりに読み出させるデータ量よりも、コピー先RAIDグループに単位時間当たりに書込めるデータ量を多くすることができ、以って、コピー元RAIDグループの読出し性能を十分に出すことができる。
また、第一の実施形態によれば、記憶媒体製品は、複数種類の記憶媒体属性、例えば、タイプ、ベンダ、モデル及びリビジョンにより定められており、RAIDグループの性能指数は、記憶媒体製品に固有のリード時データ転送速度やライト時データ転送速度を基に、RAIDグループのRAIDレベルに応じた算出方法で算出される。このため、RAIDグループの性能として正確な指数が得られることが期待できる。
以上が、第一の実施形態についての説明である。
なお、ディスクアレイIDは、ディスクアレイ装置に設定されたIPアドレスであってもよい。また、ボリュームIDは、ポートの識別情報とLUNの組でもよいし、ディスクアレイ装置が内部で定義した情報でもよい。
また、記憶媒体ごとに、または記憶媒体のタイプごとに、記憶媒体の格付け情報が設定されてもよい。格付け情報の目的は、RAIDグループを作る際に、使用する記憶媒体の優先順位を決めることである。記憶媒体の格付けは、任意の数値を設定できるものとし、ユーザが管理計算機500を操作して設定してもよいし、記憶媒体のタイプ、ベンダ、モデル、リビジョン、シリアル番号等の情報に基づいて、管理計算機500が自動的に設定してもよい。RAIDグループ算出プログラム803は、記憶媒体の格付け情報に基づいて(例えば、格付けが高い順に)、RAIDグループを構成する記憶媒体を選択してもよい。
また、RAIDグループ算出プログラム803には、ランダムアクセスについての要求性能指数かシーケンシャルアクセスについての要求性能指数かを指定した更なるパラメータ(以下、アクセス種別パラメータ)が入力されてもよい。このとき、もし、ランダムアクセスを指定したアクセス種別パラメータが入力された場合、RAIDグループ算出プログラム803は、ステップ1008の記憶媒体の優先順位付けにおいて、平均アクセスタイムの小さい記憶媒体を高い優先順位としてもよい。
また、RAIDグループ算出プログラム803には、平均I/Oサイズを表すパラメータ(以下、平均I/Oサイズパラメータ)が入力されてもよい。もし、RAIDグループ算出プログラム803は、アクセス種別パラメータではランダムアクセスが指定されているが、平均I/Oサイズパラメータでは十分に大きい平均I/Oサイズ(例えば所定の閾値を超えるサイズ)が指定されている場合には、記憶媒体の優先順位付けにおいて、前述の平均アクセスタイムに基づいた評価をしないか、他の評価基準よりも重視しないようにしてもよい。
また、前述のコピーは、データのバックアップを取得するために行うことができるが、バックアップされたデータをリストアするためにも行うことができる。具体的には、例えば、適正RAIDグループ作成プログラム805において、コピー先RAIDグループを作成する際、上述のように、コピー先RAIDグループの書き込み性能指数が、コピー元RAIDグループの読出し性能指数を上回るようにした上で、コピー元RAIDグループの書き込み性能指数が、コピー先RAIDグループの読出し性能指数を上回るようにしてもよい。これにより、バックアップのためのコピーに限らず、コピー先のRAIDグループからコピー元のRAIDグループへデータをリストアするためのコピーの際に、コピー元RAIDグループの書き込み性能を無駄にすることなく使用できる。もしくは、リストア時のコピーの速さのみを考慮し、コピー元RAIDグループの読出し性能指数を考慮せずに、コピー先RAIDグループを構成するようにしてもよい。このようなリストア優先でRAIDグループを作成することにより、障害からの復旧を速く行うシステム構成とすることができる。なお、本変形例では、例えば、RAIDグループ算出プログラム803に、リストア優先度合いを表すパラメータを入力し、RAIDグループ算出プログラム803が、そのパラメータが表すリストア優先度合いを基に、コピー先RAIDグループの性能指数をどの程度にするかを制御することができる。優先度合いとしては、例えば、“最優先”、“同レベル”、“非優先”の3種類があってもよい。優先度合いが“最優先”の場合、RAIDグループ算出プログラム803は、リストア時のコピーの速さのみを考慮し(言い換えれば、リストア時にコピー元となるコピー先RAIDグループの読出し性能を十分に出すことのみを考慮し)、コピー元RAIDグループの読出し性能指数を考慮せずに、コピー元RAIDグループの書き込み性能指数が、コピー先RAIDグループの読出し性能指数を上回るようにしてもよい。優先度合いが“同レベル”の場合、RAIDグループ算出プログラム803は、コピー先RAIDグループの書き込み性能指数が、コピー元RAIDグループの読出し性能指数を上回るようにした上で(例えば、前述したように、コピー先RAIDグループの書き込み性能指数(要求書込み性能指数)を、コピー元RAIDグループの読出し性能指数のN倍(N>1)とした上で)、コピー元RAIDグループの書き込み性能指数が、コピー先RAIDグループの読出し性能指数を上回る(例えば、コピー先RAIDグループの読出し性能指数(要求読出し性能指数)がコピー元RAIDグループの書き込み性能指数のN分の1倍となる)ようにしてもよい。優先度合いが“非優先”の場合、コピー元RAIDグループの書き込み性能指数を考慮せず、RAIDグループ算出プログラム803は、コピー先RAIDグループの書き込み性能指数が、コピー元RAIDグループの読出し性能指数を上回るようにするだけでよい。
<第二の実施形態>。
以下、本発明の第二の実施形態を説明する。その際、第一の実施形態との相違点を主に説明し、第一の実施形態との共通点については説明を省略或いは簡略する。
第二の実施形態では、複数の論理ボリュームを結合して一つの論理ボリュームを作成し、データを複製する際に、結合された各々のボリュームに対して並列にアクセスすることで、複製時の性能を高める。以下、複数の論理ボリュームを結合することにより作成された一つの論理ボリュームを「結合ボリューム」と呼び、結合ボリュームの構成要素である複数の論理ボリュームの各々を「断片ボリューム」と呼ぶことがある。
図14Aに示すように、結合ボリュームのLBAは、断片ボリュームのLBAと対応しており、結合ボリュームへあるLBAへのI/O要求は、断片ボリュームのLBAへ変換されて処理される。これにより、図14Bに示すように、例えば、コピー先ボリュームが結合ボリュームであり、コピー元ボリュームが、その結合ボリュームのサイズ以下のサイズ(例えば同じサイズ)を有した一つの論理ボリュームである場合、コピーでは、コピー元ボリュームの複数のLBA(結合ボリュームを構成する複数の断片ボリュームの先頭LBAにそれぞれ対応した複数のLBA)から並行してデータが読み出され、読み出されたデータが複数の断片ボリュームに並行して書込まれる。
図17に、本発明の第二の実施形態における管理計算機500の構成例を示す。図6と比較すると、ボリューム情報が705になっている点、及び、ボリューム作成プログラム807、ボリューム結合プログラム808、ボリューム算出プログラム809及び適正ボリューム作成プログラム810がメモリ502に更に記憶されている点が、第一の実施形態と相違していることがわかる。以下、それらの相違点について詳細に説明する。
《第二の実施形態におけるボリューム情報》
図13は、本発明の第二の実施形態におけるボリューム情報705の構成例を示す。
図13は、本発明の第二の実施形態におけるボリューム情報705の構成例を示す。
ボリューム情報705の各行には、使用/未使用フラグという更なる情報要素が記録される。使用/未使用フラグは、対象論理ボリュームが使用中かどうかを示す情報である。論理ボリュームが使用中であれば、該当する使用/未使用フラグには値“1”が設定され、そうでない場合は、該当する使用/未使用フラグには値“0”が設定される。なお、ボリュームが使用中とは、この第二の実施形態では、例えば、以下の状態A又は状態Bである。
(状態A)論理ボリュームにロジカルユニット番号(LUN)が設定され、ディスクアレイ装置のいずれかのI/Oポート310を介してホスト計算機400が論理ボリュームに対してデータの読み書きを行える状態、
(状態B)論理ボリュームが断片ボリュームである状態(つまり、結合ボリュームの構成要素となっている状態)。
(状態A)論理ボリュームにロジカルユニット番号(LUN)が設定され、ディスクアレイ装置のいずれかのI/Oポート310を介してホスト計算機400が論理ボリュームに対してデータの読み書きを行える状態、
(状態B)論理ボリュームが断片ボリュームである状態(つまり、結合ボリュームの構成要素となっている状態)。
《管理計算機が実行するプログラム》。
前述したように、管理計算機500のメモリ502には、更に、ボリューム作成プログラム807、ボリューム結合プログラム808、ボリューム算出プログラム809及び適正ボリューム作成プログラム810が記憶される。
ボリューム作成プログラム807は、指定されたRAIDグループにボリュームを作成するプログラムである。ボリューム結合プログラムは、指定されたボリュームを結合し、一つのボリュームとするプログラムである。ボリューム算出プログラム809は、指定された性能要件を満たすボリュームの構成を算出するプログラムである。適正ボリューム作成プログラム810は、指定されたボリュームの複製先として、性能が適合するボリュームを作成するプログラムである。
<<第二の実施形態で行われる処理>>。
以下、第二の実施形態で行われる処理を説明する。
《論理ボリュームの作成》
ボリューム作成プログラム807が、例えば、パラメータとして、ディスクアレイID、RAIDグループID及びサイズ(作成する論理ボリュームのサイズ)を受ける。ボリューム作成プログラム807は、受けたディスクアレイIDから特定されるディスクアレイ装置に、RAIDグループID及びサイズを指定したボリューム作成指示を送信する。そのディスクアレイ装置において、例えば、管理コントローラ307のプロセッサ316で実行されるコンピュータプログラムが、そのボリューム作成指示に応答して、ボリューム作成指示で指定されているパラメータに従う論理ボリュームを作成し(具体的には、指定されたRAIDグループ上に指定されたサイズを有する論理ボリュームを作成し)、それに伴い、ボリューム管理情報603を更新する。また、論理ボリュームの作成成功が、ディスクアレイ装置から管理計算機500に回答されても良く、その場合、ボリューム作成プログラム807が、ボリューム情報705を更新しても良い。
ボリューム作成プログラム807が、例えば、パラメータとして、ディスクアレイID、RAIDグループID及びサイズ(作成する論理ボリュームのサイズ)を受ける。ボリューム作成プログラム807は、受けたディスクアレイIDから特定されるディスクアレイ装置に、RAIDグループID及びサイズを指定したボリューム作成指示を送信する。そのディスクアレイ装置において、例えば、管理コントローラ307のプロセッサ316で実行されるコンピュータプログラムが、そのボリューム作成指示に応答して、ボリューム作成指示で指定されているパラメータに従う論理ボリュームを作成し(具体的には、指定されたRAIDグループ上に指定されたサイズを有する論理ボリュームを作成し)、それに伴い、ボリューム管理情報603を更新する。また、論理ボリュームの作成成功が、ディスクアレイ装置から管理計算機500に回答されても良く、その場合、ボリューム作成プログラム807が、ボリューム情報705を更新しても良い。
《ボリュームの結合》
ボリューム結合プログラム808が、例えば、パラメータとして、ディスクアレイID、及びボリュームIDリストを受ける。ボリュームIDリストは、断片ボリュームとなる論理ボリュームのボリュームIDのリストである。ボリューム結合プログラム808は、受けたディスクアレイIDから特定されるディスクアレイ装置に、指定されたボリュームIDリストを指定したボリューム結合指示を送信する。そのディスクアレイ装置において、例えば、管理コントローラ307のプロセッサ316で実行されるコンピュータプログラムが、そのボリューム結合指示に応答して、ボリューム結合指示で指定されているボリュームIDリストから、複数の論理ボリュームを特定し、特定された複数の論理ボリュームを用いて結合ボリュームを作成し、それに伴い、ボリューム管理情報603を更新する。また、結合ボリュームの作成成功が、ディスクアレイ装置から管理計算機500に回答されても良く、その場合、ボリューム結合プログラム808が、ボリューム情報705を更新しても良い(例えば、断片ボリュームに対応する使用/未使用フラグの値を“0”から“1”に変更して良い)。
ボリューム結合プログラム808が、例えば、パラメータとして、ディスクアレイID、及びボリュームIDリストを受ける。ボリュームIDリストは、断片ボリュームとなる論理ボリュームのボリュームIDのリストである。ボリューム結合プログラム808は、受けたディスクアレイIDから特定されるディスクアレイ装置に、指定されたボリュームIDリストを指定したボリューム結合指示を送信する。そのディスクアレイ装置において、例えば、管理コントローラ307のプロセッサ316で実行されるコンピュータプログラムが、そのボリューム結合指示に応答して、ボリューム結合指示で指定されているボリュームIDリストから、複数の論理ボリュームを特定し、特定された複数の論理ボリュームを用いて結合ボリュームを作成し、それに伴い、ボリューム管理情報603を更新する。また、結合ボリュームの作成成功が、ディスクアレイ装置から管理計算機500に回答されても良く、その場合、ボリューム結合プログラム808が、ボリューム情報705を更新しても良い(例えば、断片ボリュームに対応する使用/未使用フラグの値を“0”から“1”に変更して良い)。
《コピー先記憶装置がRAIDグループであるか論理ボリュームであるかの指定》
管理計算機500には、ユーザ或いは他のコンピュータプログラムなどによって、作成するコピー先記憶装置がRAIDグループであるか論理ボリュームであるかが指定される。コピー先記憶装置がRAIDグループであることが指定された場合、図12を参照して説明した処理が実行され、一方、コピー先記憶装置が論理ボリュームであることが指定された場合、図16に示す処理が実行される。
管理計算機500には、ユーザ或いは他のコンピュータプログラムなどによって、作成するコピー先記憶装置がRAIDグループであるか論理ボリュームであるかが指定される。コピー先記憶装置がRAIDグループであることが指定された場合、図12を参照して説明した処理が実行され、一方、コピー先記憶装置が論理ボリュームであることが指定された場合、図16に示す処理が実行される。
《適正ボリューム作成処理の概要》。
図16に、適正ボリューム作成プログラム810が行う処理のフローチャートを示す。
ステップ1300において、適正ボリューム作成プログラム810は、作成するRAIDグループの要件をパラメータとして受け取る。このRAIDグループの要件としては、例えば、以下の(1300−1)乃至(1300−5)の5つがある。
(1300−1)コピー元ボリュームのボリュームID、
(1300−2)コピー元ボリュームを有するおよびディスクアレイ装置のディスクアレイID、
(1300−3)コピー先ボリュームの作成先とする(言い換えれば、コピー先ボリュームを有することになる)ディスクアレイ装置のディスクアレイID、
(1300−4)コピー先ボリュームのサイズ、
(1300−5)コピー先ボリュームを構成される記憶媒体のタイプ。
(1300−1)コピー元ボリュームのボリュームID、
(1300−2)コピー元ボリュームを有するおよびディスクアレイ装置のディスクアレイID、
(1300−3)コピー先ボリュームの作成先とする(言い換えれば、コピー先ボリュームを有することになる)ディスクアレイ装置のディスクアレイID、
(1300−4)コピー先ボリュームのサイズ、
(1300−5)コピー先ボリュームを構成される記憶媒体のタイプ。
これらのパラメータは、管理計算機500のユーザや他のプログラムが、グラフィカルユーザインタフェース、コマンドラインインタフェース、管理ネットワーク200を介して、適正ボリューム作成プログラム810に与えることができる。
なお、パラメータ(1300−3)の入力は、省略されても良い。省略された場合には、コピー元ボリュームを有するディスクアレイ装置のディスクアレイIDが指定されたと解釈されてよい。
同様に、パラメータ(1300−4)の入力も、省略されても良い。省略された場合は、コピー元ボリュームのサイズと同じサイズが指定されたと解釈されて良い。
同様に、パラメータ(1300−5)の入力も、省略されても良い。省略された場合は、コピー元ボリュームを構成する記憶媒体のタイプと同じタイプが指定されたと解釈されて良い。
ステップ1304において、適正ボリューム作成プログラム810は、RAIDグループ性能指数算出プログラム802に、指定されたコピー元ボリュームの性能指数を算出させる。この性能指数は、コピー元ボリュームを有するRAIDグループの性能指数とされる。
ステップ1308において、適正ボリューム作成プログラム810は、ステップ1304により得られた性能指数に適合するコピー先ボリュームの構成を、ボリューム算出プログラム809に算出させる。
ステップ1312において、適正ボリューム作成プログラム810は、ステップ1308で得られたコピー先ボリュームの作成を、ボリューム作成プログラム807又はボリューム結合プログラム808に行わせる。
以上により、適正ボリューム作成プログラム810の処理は完了する。この後、適正ボリューム作成プログラム810は、ユーザからの指示に応答して或いはユーザからの指示を受けることなく、ボリュームコピープログラム806を用いて、指定されたコピー元ボリュームからコピー先ボリュームへデータをコピーしてもよい。
《コピー先ボリュームの構成の算出(図16のステップ1308の詳細)》。
ボリューム算出プログラム809が、例えば図16のステップ1308において、適正ボリューム作成プログラム810から呼び出され、図15の処理を実行する。
図15は、ボリューム算出プログラム809が行う処理のフローチャートである。
ステップ1200において、ボリューム算出プログラム809は、論理ボリュームの要件として以下のパラメータを受ける。
(1200−1)コピー先ボリュームの作成先とするディスクアレイ装置のディスクアレイID(例えば上記パラメータ(1300−3))、
(1200−2)コピー先ボリュームの要求性能指数、
(1200−3)コピー先ボリュームのサイズ(例えば上記パラメータ(1300−4))、
(1200−4)コピー先ボリュームを構成する記憶媒体のタイプ(例えば上記パラメータ1300−5))、
(1200−6)結合プラン要否(もし、要件に適合する論理ボリュームを構成できない場合、結合ボリュームの構成を算出するか否かを意味するパラメータ)。
(1200−1)コピー先ボリュームの作成先とするディスクアレイ装置のディスクアレイID(例えば上記パラメータ(1300−3))、
(1200−2)コピー先ボリュームの要求性能指数、
(1200−3)コピー先ボリュームのサイズ(例えば上記パラメータ(1300−4))、
(1200−4)コピー先ボリュームを構成する記憶媒体のタイプ(例えば上記パラメータ1300−5))、
(1200−6)結合プラン要否(もし、要件に適合する論理ボリュームを構成できない場合、結合ボリュームの構成を算出するか否かを意味するパラメータ)。
上記のパラメータは、管理計算機500のユーザや他のプログラム(例えば適正ボリューム作成プログラム810)が、グラフィカルユーザインタフェース、コマンドラインインタフェース、管理ネットワーク200を関して、ボリューム算出プログラム809に与える。なお、パラメータ(1300−3)の「要求性能指数」は、例えば、コピー先ボリュームへのシーケンシャル書き込み時の最大性能か、シーケンシャル読み出し時の最大性能のいずれかを、単位時間あたりのデータ転送量(バイト/秒)とした値である。以下、シーケンシャル書き込み時の最大性能を単位時間あたりのデータ転送量(バイト/秒)とした値を「要求書込み性能指数」と呼び、シーケンシャル読み出し時の最大性能を単位時間あたりのデータ転送量(バイト/秒)とした値を「要求読出し性能指数」と呼ぶ。要求書込み性能指数は、管理計算機500のユーザ或いはRAIDグループ算出プログラム803によって、図16のステップ1304で算出された、コピー元ボリューム(コピー元RAIDグループ)の読出し性能指数のN倍(N>1(例えばN=1.1))とされる。
ステップ1204において、ボリューム算出プログラム809は、使用可能なボリュームを、指定されたディスクアレイ装置(パラメータ(1200−1)から特定されるディスクアレイ装置)に存在する論理ボリューム(パラメータ(1200−1)をキーにボリューム情報705から特定される論理ボリューム)の中から選出する。この選出は、例えば以下のアルゴリズムで行われる。
・使用中のボリュームを、候補として選出しない。
・ボリュームが構成されているRAIDグループの記憶媒体が、指定されたタイプ以外である場合、候補として選出しない。
・上記以外のボリュームを候補として選出する。
・使用中のボリュームを、候補として選出しない。
・ボリュームが構成されているRAIDグループの記憶媒体が、指定されたタイプ以外である場合、候補として選出しない。
・上記以外のボリュームを候補として選出する。
ステップ1208において、ボリューム算出プログラム809は、ステップ1204で選出した候補ボリュームの中に、要件に適合するボリュームがあれば、このボリュームをボリューム算出プログラムの結果として出力する。ボリュームの要件が適合するかどうかの判定は、例えば、以下の(サブ判定1)及び(サブ判定2)のように行われる。
(サブ判定1)ボリューム算出プログラム809は、要求性能指数として要求書込み性能指数が指定された場合は、判定対象の候補ボリュームを有するRAIDグループの書込み性能指数がその要求書込み性能指数を上回っている場合に、該候補ボリュームが要件に適合すると判定する。また、ボリューム算出プログラム809は、要求性能指数として要求読出し性能指数が指定された場合は、判定対象の候補ボリュームを有するRAIDグループの読出し性能指数がその要求読出し性能指数を上回っている場合に、該候補ボリュームが要件に適合すると判定する。要求性能指数として要求書込み性能指数と要求読出し性能指数の両方が指定された場合には、判定対象の候補ボリュームを有するRAIDグループの書込み性能指数及び読出し性能指数の両方がそれぞれ上回っている場合に、該候補ボリュームが要件に適合すると判定する。判定対象の候補ボリュームを有するRAIDグループは、ボリューム情報705から特定することができる。RAIDグループに関する情報要素(例えばRAIDレベル)は、そのRAIDグループを有するディスクアレイ装置から取得することができる。RAIDグループの書込み性能指数や読出し性能指数の算出には、RAIDグループ性能指数算出プログラム802を用いる。
(サブ判定2)ボリューム算出プログラム809は、判定対象の候補ボリュームのサイズが、指定されたサイズ(パラメータ(1200−3)が示すサイズ)よりも大きいか否かを判定する。大きい場合、適合と判定する。
サブ判定1及びサブ判定2の両方で適合と判定された候補ボリュームがある場合、その候補ボリュームに関する情報要素(例えばボリュームID)を、ボリューム算出プログラム809は、例えばステップ1224で出力する。もし、サブ判定1及びサブ判定2の両方で適合と判定された候補ボリュームが複数個ある場合は、ボリューム算出プログラム809は、それら複数の候補ボリュームの全て或いは任意の一つに関する情報要素をステップ1224で出力しても良い。
もし、サブ判定1及びサブ判定2に適合するボリュームがなく、且つ、パラメータ(1200−6)で結合ボリュームの構成を算出しないことが指定されている場合は、ボリューム算出プログラム809は、適合する候補ボリュームがないことを示す情報を、適正ボリューム作成プログラム810に返す。一方、サブ判定1及びサブ判定2に適合する候補ボリュームがなくても、パラメータ(1200−6)で結合ボリュームの構成を算出することが指定されている場合は、ステップ1212へ進む。
ステップ1212以降、ボリューム算出プログラム809は、要件に適合する結合ボリュームの構成を算出する処理を行う。以降、結合する断片ボリュームの数をKとする。ステップ1212において、初期状態として、K=1が設定される。
ステップ1216において、ボリューム算出プログラム809は、対象のディスクアレイ装置(パラメータ(1200−1)から特定されるディスクアレイ装置)に構成されている既存のRAIDグループの中から、性能指数の高い順にRAIDグループをK個選択し、その性能指数の合計を算出する。この性能指数が書込み性能指数と読出し性能指数のどちら或いは両方であるかは、要求性能指数として要求書込み性能指数と要求読出し性能指数のどちら或いは両方が指定されているかによって決定される。もし、この性能指数の合計が要求性能指数よりも高い場合、これらのRAIDグループを、結合ボリューム作成のためのボリュームを構成するRAIDグループの候補とする。そうでなければ、K=K+1として再度判定する。この結果、性能指数の合計が要求性能指数より高くならない場合、ボリューム算出プログラム809は、例えば、エラーであることを示す情報を出力し、処理を終了する。
ステップ1220において、ボリューム算出プログラム809は、候補として選択したRAIDグループがそれぞれ適切かどうかを判定する。この判定において、適切なRAIDグループとは、以下の(条件1)及び(条件2)を全て具備するRAIDグループである。
(条件1){(パラメータ(1200−3)で指定されたサイズ)/K}以上のサイズ(以下、必要サイズ)を有する断片ボリュームを新規に作成可能である、或いは、そのサイズを有する未使用ボリュームが存在する、
(条件2)パラメータ(1200−4)が示すタイプの記憶媒体で構成されている。
(条件1){(パラメータ(1200−3)で指定されたサイズ)/K}以上のサイズ(以下、必要サイズ)を有する断片ボリュームを新規に作成可能である、或いは、そのサイズを有する未使用ボリュームが存在する、
(条件2)パラメータ(1200−4)が示すタイプの記憶媒体で構成されている。
必要サイズを有する断片ボリュームを新規に作成可能であるか否かは、例えば、判定対象のRAIDグループの空きサイズが必要サイズ以上か否かにより判定可能である。判定対象のRAIDグループの空きサイズは、例えば、ディスクアレイ装置から判定対象のRAIDグループの容量(RAIDグループ管理情報602に記憶されている容量)を取得し、該RAIDグループに存在する全てのボリュームのサイズ(ボリューム情報705から特定されるサイズ)の合計を算出し、RAIDグループの容量からその合計サイズを引くことで、算出することができる。必要サイズ以上の空きサイズが無いとの判定結果になった場合に、必要サイズを有する未使用ボリュームが存在するか否かが判定される。必要サイズを有する未使用ボリュームが判定対象のRAIDグループに存在するか否かは、ボリューム情報705を参照することにより特定することができる。
ステップ1220の判定により、ステップ1216で選択された複数のRAIDグループに不適切なRAIDグループが含まれていることがわかった場合、ボリューム算出プログラム809は、対象のディスクアレイ装置に存在する既存且つ未選択のRAIDグループの中から、不適切なRAIDグループの代わりとなるRAIDグループを性能指数が高い順に選択する(不適切なRAIDグループが一つであれば最も性能指数が高いRAIDグループを選択する)。ここで選択されたRAIDグループを含むK個のRAIDグループの性能指数の合計を算出し、その合計が、要求性能指数よりも低くなった場合、K=K+1として、ステップ1216からの処理を実行する。
以上の処理により、結合ボリュームを構成する複数の断片ボリュームをそれぞれ有する複数のRAIDグループが定まる。以上の流れによれば、一つのRAIDグループから一つの断片ボリュームが選択されることになるが、一つのRAIDグループから二以上の断片ボリュームが選択されても良い。
ステップ1224において、要件に適合するボリュームの情報が出力される。もし、ステップ1208にてボリュームが確定した場合は、例えば、そのボリュームに関する情報要素(例えば、そのボリュームを有するディスクアレイ装置のディスクアレイIDと、そのボリュームのボリュームID)が出力される。また、もし、ステップ1220により断片ボリュームを構成するRAIDグループが確定した場合は、各断片ボリュームに関する情報要素と、結合ボリュームに関する情報要素が出力される。断片ボリューム及び結合ボリュームの情報要素としては、例えば、定まったRAIDグループのRAIDグループID、そのRAIDグループの容量、断片ボリュームのボリュームID(これは、例えば、既存の未使用ボリュームが断片ボリュームとされる場合)等である。適合するボリュームや結合ボリュームが複数ある場合には、これらのすべてまたは一部が出力されてもよい。また、断片ボリュームの最大個数を予め定めておき、断片ボリュームの数が最大個数内である結合ボリュームの構成を算出できなければ、エラーが返されてもよい。
上述した第二の実施形態によれば、コピー元ボリュームの性能指数に適したコピー先ボリュームを作成することができる。具体的には、例えば、コピー元ボリュームの読出し性能よりも優れた書込み性能を有するコピー先ボリュームを作成することができる。また、コピー元ボリュームの読出し性能よりも劣る書込み性能の複数の断片ボリュームで結合ボリュームを作成し、コピー元ボリュームにおける複数の位置から結合ボリュームに対して並行してデータを書込むことができる。いずれの場合にも、コピー元ボリュームの読出し性能を十分に出すことができる。
なお、この第二の実施形態でも、第一の実施形態の変形例を適宜採用することができる。例えば、コピー先ボリュームの要求読出し性能指数を、コピー元ボリュームの書込み性能指数を下回る値とすることで、コピー先ボリュームからコピー元ボリュームへのリストアを高速に行うことが期待できる。
以上、本発明の幾つかの実施形態を説明したが、これらの実施形態は本発明の説明のための例示にすぎず、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、上述したコンピュータプログラムや種々の情報は、管理計算機500に接続された二次記憶装置ないしはSAN100に接続されたディスクアレイ装置に記憶され、必要な場合に適宜メモリ等の一次記憶領域に読み込まれるようにしてもよい。また、例えば、管理計算機500にある各プログラムや情報を、管理計算機500とは別の装置(例えばディスクアレイ装置)に実装し、その別の装置が、そのプログラムを実行しても良い。また、例えば、記憶媒体仕様情報は、ディスクアレイ装置が実装してもよい。また、ディスクアレイ装置は、記憶媒体に関する情報を記憶媒体自身から読み出し、読み出した情報を記憶媒体仕様情報に登録してもよい。また、記憶媒体仕様情報には、ユーザから入力された情報が登録されてもよい。また、一つのRAIDグループ及び論理ボリュームの少なくとも一方は、複数種類の記憶媒体属性のうちの少なくともタイプが同じ記憶媒体で構成することができる。
1…計算機システム 100…ストレージネットワーク 200…管理ネットワーク 300…ディスクアレイ装置 400…ホスト計算機 500…管理計算機 601…記憶媒体管理情報 602…RAIDグループ管理情報 603…ボリューム管理情報 701…ディスクアレイ情報 702,705…ボリューム情報 703…記憶媒体仕様情報 704…記憶媒体実装情報 801…ディスクアレイ情報取得プログラム 802…RAIDグループ性能特定プログラム 803…RAIDグループ算出プログラム 804…RAIDグループ作成プログラム 805…適正RAIDグループ作成プログラム 806…ボリュームコピープログラム 807…ボリューム作成プログラム 808…ボリューム結合プログラム 809…ボリューム算出プログラム 810…適正ボリューム作成プログラム
Claims (16)
- 第一の記憶装置を有する第一のストレージシステムの構成に関する第一構成情報を参照することで、前記第一の記憶装置の構成を特定し、各記憶媒体の記憶媒体アクセス性能を表す記憶媒体性能情報を参照することで、前記第一の記憶装置を構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能を特定し、特定された一以上の記憶媒体アクセス性能を基に、前記第一の記憶装置が有する第一の記憶装置アクセス性能指数を計算する性能計算部と、
前記第一の記憶装置と関連する第二の記憶装置が構成される第二のストレージシステムの構成に関する第二構成情報と、前記記憶媒体性能情報とを参照して、計算された第一の記憶装置アクセス性能指数を基に決定された第二の記憶装置アクセス性能指数以上の記憶装置アクセス性能指数を有する第二の記憶装置を決定する第二記憶装置決定部と
を備える計算機。 - 前記第一の記憶装置は、コピー元記憶装置であり、
前記第二の記憶装置は、コピー先記憶装置であり、
前記第一の記憶装置アクセス性能指数は、前記コピー元記憶装置の読出し性能の指数であるコピー元読出し性能指数であり、
前記第二の記憶装置アクセス性能指数は、前記コピー先記憶装置の書込み性能の指数であるコピー先書込み性能指数であり、
計算されたコピー元読出し性能指数を基に決定されたコピー先書込み性能指数が、コピー元読出し性能指数を上回っている、
請求項1記載の計算機。 - 前記コピー元記憶装置は、リストア元の記憶装置であり、
前記コピー先記憶装置は、リストア先の記憶装置である、
請求項2記載の計算機。 - 前記コピー元記憶装置は、バックアップの場合にはバックアップ元の記憶装置であり、リストアの場合にはリストア先の記憶装置となり、
前記コピー先記憶装置は、バックアップの場合にはバックアップ先の記憶装置であり、リストアの場合にはリストア元の記憶装置となり、
前記第一の記憶装置アクセス性能指数は、前記コピー元記憶装置の読出し性能の指数であるコピー元読出し性能指数と、前記コピー元記憶装置の書込み性能の指数であるコピー元書込み性能指数であり、
前記第二の記憶装置アクセス性能指数は、前記コピー先記憶装置の書込み性能の指数であるコピー先書込み性能指数と、前記コピー先記憶装置の読出し性能の指数であるコピー先読出し性能指数であり、
計算されたコピー元読出し性能指数を基に決定されたコピー先書込み性能指数が、コピー元読出し性能指数を上回っており、且つ、計算されたコピー元書込み性能指数を基に決定されたコピー先読出し性能指数が、コピー元書込み性能指数を下回っている、
請求項2記載の計算機。 - 前記記憶媒体アクセス性能は、シーケンシャルライト時のデータ転送速度と、シーケンシャルリード時のデータ転送速度である、
請求項2記載の計算機。 - 前記記憶媒体アクセス性能は、平均アクセスタイムであり、
コピー先書込み性能指数がコピー元読出し性能指数を上回るとは、コピー先について平均アクセスタイムを基に算出される値が、コピー元について平均アクセスタイムを基に算出される値に比して小さいことである、
請求項2記載の計算機。 - 前記記憶媒体アクセス性能は、シーケンシャルライト時のデータ転送速度と、シーケンシャルリード時のデータ転送速度と、平均アクセスタイムであり、
前記性能計算部及び前記第二記憶装置決定部は、アクセス種別パラメータを受け付け、該アクセス種別パラメータがシーケンシャルアクセスを示す場合には、シーケンシャルライト時のデータ転送速度と、シーケンシャルリード時のデータ転送速度とを採用し、該アクセス種別パラメータがランダムアクセスを示す場合には、平均アクセスタイムを採用する、
請求項2記載の計算機。 - RAIDグループ作成部を更に備え、
前記記憶装置は、二以上の記憶媒体で構成されるRAIDグループであり、
前記第一構成情報が、前記第一のストレージシステムが有する一以上のRAIDグループの各々の構成を表し、
前記第二構成情報が、前記第二のストレージシステムが有する記憶媒体を表し、
RAIDグループの構成は、どの記憶媒体でどんなRAIDレベルで構成されているかであり、
前記性能計算部は、第一のRAIDグループを構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能と、該第一のRAIDグループのRAIDレベルとに基づいて、前記第一のRAIDグループが有する第一のRAIDグループアクセス性能指数を計算する、
前記第二記憶装置決定部は、計算された第一のRAIDグループアクセス性能指数を基に決定された第二のRAIDグループアクセス性能指数以上のRAIDグループアクセス性能指数を有する第二のRAIDグループの構成を算出し、
前記RAIDグループ作成部が、算出された構成を具備する第二のRAIDグループを前記第二のストレージシステムに作成する、
請求項1記載の計算機。 - 第二のRAIDグループの構成要素となる記憶媒体は、前記第二記憶装置決定部により、前記第二のストレージシステムにおいて他のRAIDグループの構成要素となっていない未選択の記憶媒体であり、他の未選択の記憶媒体に比して記憶媒体アクセス性能が高い記憶媒体とされる、
請求項8記載の計算機。 - 第二のRAIDグループの構成要素となる記憶媒体の数は、前記第二記憶装置決定部により、該第二のRAIDグループのRAIDレベルと、構成要素とされる記憶媒体の記憶媒体アクセス性能とを基に、計算された前記第一のRAIDグループアクセス性能指数を基に決定された第二のRAIDグループアクセス性能指数以上のRAIDグループアクセス性能指数を有する数とされる、
請求項8記載の計算機。 - ボリューム準備部を更に備え、
前記記憶装置は、二以上の記憶媒体で構成されるRAIDグループに設けられる論理ボリュームであり、
前記第一構成情報及び前記第二構成情報の各々が、一以上のRAIDグループの各々の構成と、各RAIDグループにある論理ボリュームのサイズとを表し、
RAIDグループの構成は、どの記憶媒体でどんなRAIDレベルで構成されているかであり、
前記性能計算部は、第一の論理ボリュームを有する第一のRAIDグループを構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能と、該第一のRAIDグループのRAIDレベルとに基づいて、前記第一の論理ボリュームの第一のボリュームアクセス性能指数として、前記第一のRAIDグループが有する第一のRAIDグループアクセス性能指数を計算し、
前記第二記憶装置決定部が、計算された第一のボリュームアクセス性能指数を基に決定された第二のボリュームアクセス性能指数以上のボリュームアクセス性能指数を有する第二の論理ボリュームを決定し、
前記ボリューム準備部が、決定された第二の論理ボリュームを前記第二のストレージシステムに準備する、
請求項1記載の計算機。 - 決定された前記第二の論理ボリュームは、計算された第一のRAIDグループアクセス性能指数を基に決定された第二のRAIDグループアクセス性能指数以上のRAIDグループアクセス性能指数を有する第二のRAIDグループ上に準備される、
請求項11記載の計算機。 - 決定された前記第二の論理ボリュームは、複数の論理ボリュームの結合により得られる一の論理ボリュームであり、
前記複数の論理ボリュームは、二以上のRAIDグループに存在し、
前記二以上のRAIDグループのRAIDグループアクセス性能指数の合計が、計算された第一のボリュームアクセス性能指数を基に決定された第二のボリュームアクセス性能指数以上のボリュームアクセス性能指数である、
請求項11記載の計算機。 - 計算された第一のRAIDグループアクセス性能指数を基に決定された第二のRAIDグループアクセス性能指数以上のRAIDグループアクセス性能指数を有する第二のRAIDグループに、第二の論理ボリュームのサイズ以上の空きサイズが無い、或いは、第二の論理ボリュームのサイズ以上の未使用の論理ボリュームが無い場合に、前記第二の論理ボリュームは、複数の論理ボリュームの結合により得られる一の論理ボリュームとされる、
請求項13記載の計算機。 - 前記記憶媒体性能情報には、記憶媒体の複数種類の記憶媒体属性に応じた記憶媒体アクセス性能が記録されている、
請求項1記載の計算機。 - 第一の記憶装置を有する第一のストレージシステムの構成に関する第一構成情報を参照することで、前記第一の記憶装置の構成を特定し、
各記憶媒体の記憶媒体アクセス性能を表す記憶媒体性能情報を参照することで、前記第一の記憶装置を構成する一以上の記憶媒体にそれぞれ対応する一以上の記憶媒体アクセス性能を特定し、
特定された一以上の記憶媒体アクセス性能を基に、前記第一の記憶装置が有する第一の記憶装置アクセス性能指数を計算し、
前記第一の記憶装置と関連する第二の記憶装置が構成される第二のストレージシステムの構成に関する第二構成情報と、前記記憶媒体性能情報とを参照して、計算された第一の記憶装置アクセス性能指数を基に決定された第二の記憶装置アクセス性能指数以上の記憶装置アクセス性能指数を有する第二の記憶装置を決定する、
記憶装置決定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007120614A JP2008276596A (ja) | 2007-05-01 | 2007-05-01 | 記憶装置を決定する方法及び計算機 |
US11/968,674 US7900013B2 (en) | 2007-05-01 | 2008-01-03 | Method and computer for determining storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007120614A JP2008276596A (ja) | 2007-05-01 | 2007-05-01 | 記憶装置を決定する方法及び計算機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008276596A true JP2008276596A (ja) | 2008-11-13 |
Family
ID=39940400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007120614A Pending JP2008276596A (ja) | 2007-05-01 | 2007-05-01 | 記憶装置を決定する方法及び計算機 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7900013B2 (ja) |
JP (1) | JP2008276596A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010116608A1 (ja) * | 2009-03-30 | 2010-10-14 | 日本電気株式会社 | データ挿入システム |
JP2013515981A (ja) * | 2010-05-12 | 2013-05-09 | 株式会社日立製作所 | ストレージ装置、及びストレージ装置の制御方法 |
JP2015191534A (ja) * | 2014-03-28 | 2015-11-02 | 富士通株式会社 | サーバ装置、情報格納プログラム、及び情報格納方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7913043B2 (en) * | 2004-05-14 | 2011-03-22 | Bakbone Software, Inc. | Method for backup storage device selection |
TW201005516A (en) * | 2008-07-22 | 2010-02-01 | Inventec Corp | Method for providing a customized response from a disk array |
US8291178B2 (en) * | 2008-12-08 | 2012-10-16 | Apacer Technology Inc. | Machine-implemented method for categorizing storage media, and machine-implemented method for storing target codes |
TWI397904B (zh) * | 2009-01-23 | 2013-06-01 | Apacer Technology Inc | Save the software to the method of storing the media |
WO2012029095A1 (en) * | 2010-09-03 | 2012-03-08 | Hitachi, Ltd. | Storage apparatus and control method of storage apparatus |
US20120150925A1 (en) * | 2010-12-10 | 2012-06-14 | International Business Machines Corporation | Proactive Method for Improved Reliability for Sustained Persistence of Immutable Files in Storage Clouds |
US20120265932A1 (en) * | 2011-04-13 | 2012-10-18 | Jibbe Mahmoud K | Method to increase the flexibility of configuration and/or i/o performance on a drive array by creation of raid volume in a heterogeneous mode |
WO2013157032A1 (en) * | 2012-04-16 | 2013-10-24 | Hitachi, Ltd. | Storage subsystem and data management method of storage subsystem |
US9952936B2 (en) * | 2012-12-05 | 2018-04-24 | Hitachi, Ltd. | Storage system and method of controlling storage system |
JP2015162001A (ja) * | 2014-02-26 | 2015-09-07 | 富士通株式会社 | ストレージ管理装置、ストレージ装置、及びストレージ管理プログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920884A (en) * | 1996-09-24 | 1999-07-06 | Hyundai Electronics America, Inc. | Nonvolatile memory interface protocol which selects a memory device, transmits an address, deselects the device, subsequently reselects the device and accesses data |
EP1026575A3 (en) * | 1999-02-08 | 2006-09-06 | Hitachi, Ltd. | Disk array system and method of changing its configuration |
JP2000298557A (ja) | 1999-02-08 | 2000-10-24 | Hitachi Ltd | ディスクアレイシステムおよびディスクアレイシステム構成変更方法 |
US20020103889A1 (en) * | 2000-02-11 | 2002-08-01 | Thomas Markson | Virtual storage layer approach for dynamically associating computer storage with processing hosts |
JP2003162495A (ja) | 2001-11-26 | 2003-06-06 | Hitachi Ltd | ストレージサブシステム |
JP4220724B2 (ja) | 2002-05-21 | 2009-02-04 | 株式会社日立製作所 | ストレージ装置 |
JP4183443B2 (ja) * | 2002-05-27 | 2008-11-19 | 株式会社日立製作所 | データ再配置方法及び装置 |
JP2004013215A (ja) * | 2002-06-03 | 2004-01-15 | Hitachi Ltd | ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム |
JP4244319B2 (ja) | 2003-12-17 | 2009-03-25 | 株式会社日立製作所 | 計算機システム管理プログラム,記録媒体,ならびに計算機システム管理システムおよびそのための管理装置および記憶装置 |
JP2005250626A (ja) * | 2004-03-02 | 2005-09-15 | Hitachi Ltd | コンピュータシステム及びそのプログラム。 |
JP4671720B2 (ja) * | 2005-03-11 | 2011-04-20 | 株式会社日立製作所 | ストレージシステム及びデータ移動方法 |
JP2007072672A (ja) | 2005-09-06 | 2007-03-22 | Hitachi Ltd | 計算機システムおよび記憶領域の割当て方法 |
US7653781B2 (en) * | 2006-02-10 | 2010-01-26 | Dell Products L.P. | Automatic RAID disk performance profiling for creating optimal RAID sets |
-
2007
- 2007-05-01 JP JP2007120614A patent/JP2008276596A/ja active Pending
-
2008
- 2008-01-03 US US11/968,674 patent/US7900013B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010116608A1 (ja) * | 2009-03-30 | 2010-10-14 | 日本電気株式会社 | データ挿入システム |
US8566555B2 (en) | 2009-03-30 | 2013-10-22 | Nec Corporation | Data insertion system, data control device, storage device, data insertion method, data control method, data storing method |
JP5516575B2 (ja) * | 2009-03-30 | 2014-06-11 | 日本電気株式会社 | データ挿入システム |
JP2013515981A (ja) * | 2010-05-12 | 2013-05-09 | 株式会社日立製作所 | ストレージ装置、及びストレージ装置の制御方法 |
JP2015191534A (ja) * | 2014-03-28 | 2015-11-02 | 富士通株式会社 | サーバ装置、情報格納プログラム、及び情報格納方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080276061A1 (en) | 2008-11-06 |
US7900013B2 (en) | 2011-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008276596A (ja) | 記憶装置を決定する方法及び計算機 | |
US8495293B2 (en) | Storage system comprising function for changing data storage mode using logical volume pair | |
US7558916B2 (en) | Storage system, data processing method and storage apparatus | |
EP2399190B1 (en) | Storage system and method for operating storage system | |
JP5537976B2 (ja) | 大容量ディスクドライブの使用方法及び装置 | |
US7650480B2 (en) | Storage system and write distribution method | |
US8762672B2 (en) | Storage system and storage migration method | |
JP4874368B2 (ja) | フラッシュメモリを用いたストレージシステムの管理方法及び計算機 | |
US8204858B2 (en) | Snapshot reset method and apparatus | |
US7660946B2 (en) | Storage control system and storage control method | |
US7895162B2 (en) | Remote copy system, remote environment setting method, and data restore method | |
US20060155944A1 (en) | System and method for data migration and shredding | |
US20050097132A1 (en) | Hierarchical storage system | |
CN111722791B (zh) | 信息处理系统、存储系统和数据传输方法 | |
JP2007141216A (ja) | 複数のプロトコルアクセス可能なosdストレージサブシステムのためのシステム、方法および装置 | |
US7587552B2 (en) | Computer system and performance tuning method | |
US20100235592A1 (en) | Date volume migration with migration log confirmation | |
US20120089867A1 (en) | Redundant array of independent disk (raid) storage recovery | |
JP6561765B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
JP2009294699A (ja) | ストレージ装置 | |
US11836391B2 (en) | Distributed storage system and storage control method | |
JP5222388B2 (ja) | フラッシュメモリを用いたストレージシステムの管理システム及び管理方法 | |
US20120011339A1 (en) | Storage control apparatus and control method for virtual logical volume |