以下、本発明の実施の形態について説明する。尚、以下に説明する実施の形態は一例であって、本発明はこれに限定されるものではない。
図1〜図26を用いて第1の実施の形態を説明する。
図1は、本発明の第1の実施の形態の計算機システムのハードウェア構成を示すブロック図である。
計算機システムは、1台以上の計算機100と、ファイバチャネルスイッチ(以下、FCスイッチと記載する。)110と、1台以上のストレージ装置120A及び120B(以下、これらを総称してストレージ装置120とも記載する。)と、1台以上の管理計算機140(図1では1台のみ図示している。)と、を備える。
計算機100及びストレージ装置120は、それぞれFCインタフェース(FC I/F)103及び121を介してFCスイッチ110に接続される。
計算機100、FCスイッチ110及びストレージ装置120は、それぞれ管理I/F104、111及び126を介してIPネットワーク経由で管理計算機140に接続され、管理計算機140によって管理される。
計算機100は、CPU101と、CPU101に接続されたメモリ102と、CPU101に接続された1以上のFC I/F103と、CPU101に接続された管理I/F104と、を備える。
メモリ102は、CPU101が実行するプログラム及びストレージ装置120に読み書きされるデータを保持する。
ストレージ装置120は、FCスイッチ110と接続される1以上のFC I/F121と、1以上のCPU122と、1以上のキャッシュメモリ123と、1以上の制御メモリ124と、1以上の記憶領域125と、1以上の管理I/F126と、を備える。これらの各部は、例えば、内部バス等によって相互に接続されている。
FC I/F121は、FCスイッチ110と接続される1以上のポート(図示省略)を備える。
ストレージ装置120のCPU122は、FC I/F121を介して計算機100からのデータの読み書きの要求を受け取り、記憶領域125に要求されたデータの読み書きの処理を行う。
ストレージ装置120の記憶領域125は、ストレージ装置120内の物理的な記憶領域(例えば、図示しないハードディスクドライブの記憶領域)によって提供される論理的なデバイスである。計算機100は、この記憶領域125を認識して、ストレージ装置120に対してデータの読み書きの要求を行う。
具体的には、計算機100から記憶領域125へのデータの読み書きの要求を受けると、ストレージ装置120は、記憶領域125に対応付けられたストレージ装置120内の物理的な記憶領域へのデータの書き込み、又は読み出しを実行し、その結果を計算機100に応答する。
図1の例では、一つの記憶領域125のみが記載されている。しかし、ストレージ装置120は、複数の記憶領域125を備えてもよい。
また、ストレージ装置120のCPU122は、管理I/F126を介して管理計算機140からストレージ装置120の管理操作の要求を受け取り、要求された管理操作を実行する。CPU122は、管理操作の結果、及びストレージ装置120の構成情報等を管理計算機140に送信する。
キャッシュメモリ123は、計算機100から受信したデータ、及び記憶領域125から読み出されるデータを一時的に格納する。
制御メモリ124は、記憶領域125の構成情報、記憶領域125の属性(例えば、記憶領域125が暗号記憶領域か、又は平文記憶領域か、を示す情報等。)、及び、暗号鍵等の情報、を格納する。
以下、記憶領域125等が暗号の状態に設定することを「暗号On」、記憶領域125等が暗号の状態に設定していない(すなわち平文のデータを格納している)ことを「暗号Off」と記載する。
ストレージ装置120は、データの暗号化機能を備える。すなわち、ストレージ装置120は、暗号記憶領域へのデータ書き込み要求を受けると、要求されたデータを暗号化して暗号記憶領域に書き込む。また、ストレージ装置120は、計算機100から暗号記憶領域からのデータ読み出し要求を計算機100から受けると、要求されたデータを暗号記憶領域から読み出し、読み出されたデータを復号化して計算機100に応答する。
管理計算機140は、CPU141と、メモリ142と、管理I/F143とを備える。これらは、例えば、内部バスなどで接続されている。
管理I/F143は、IPネットワーク経由で計算機100、FCスイッチ110及びストレージ装置120と接続される。
管理計算機140は、管理計算機140の図示しない磁気ディスク装置等の不揮発記録媒体に記録された、ストレージ装置及び計算機の管理のためのプログラムを、管理計算機140の起動時等にメモリ142にロードする。
CPU141は、メモリ142にロードされたプログラムを実行することによって、ストレージ装置120の構成情報の取得、障害検知及び性能監視等を行うことができる。管理者は、管理計算機140を使用して、計算機システム全体を管理することができる。
尚、前述したプログラムは、磁気ディスク装置以外の記憶媒体(例えば、CD−ROM又はフロッピーディスク等)に記録されてもよい。また、前述したプログラムは、当該記憶媒体から管理計算機140にロードして実行してもよいし、ネットワークを通じて他の記憶媒体からロードして実行してもよい。
次に、本実施形態のストレージ装置120及び管理計算機140のソフトウェア構成について説明する。
図2Aは、本発明の第1の実施の形態のストレージ装置120のソフトウェア構成の一例を示す説明図である。
ストレージ装置120の制御メモリ124には、記憶領域(LU:Logical Unit)管理情報201と、Ldev管理情報202と、物理ディスク管理情報203と、暗号鍵管理情報204と、Vol(Volume)相関管理情報205と、Vol種別管理情報206と、混在可否設定情報207と、使用可Vol管理情報208と、が格納される。また、I/O処理プログラム209と、暗号化設定プログラム210と、混在可否設定プログラム211と、ストレージ管理プログラム212との四つのプログラムが格納されている。
最初に制御メモリ124に格納された構成情報について説明し、その後、制御メモリ124に格納されたプログラム情報について説明する。尚、LUとは、計算機100が、ストレージ装置120にデータの読み書きをする際に使用する、ストレージ装置120の論理的な記憶領域である。計算機100は、このLUの情報を用いて、データを読み書きする場所を特定する。
LU管理情報201と、Ldev管理情報202と、物理ディスク管理情報203と、暗号鍵管理情報204と、Vol相関管理情報205と、Vol種別管理情報と、はストレージ装置の記憶領域の設定及び状態を示す情報である。混在可否設定情報207、及び使用可Vol管理情報208は、後述のストレージの管理操作時に参照する情報である。
図3は、本発明の第1の実施の形態のLU管理情報201の一例を示す説明図である。
LU管理情報201は、項目301と、項目302と、項目303と、項目304と、項目305と、項目306と、項目307と、の七つのデータ項目を含む。
項目301は、ストレージ装置120のポート番号を格納する。ポート番号は、ストレージ装置120のFC I/F121が備える各ポート(図示省略)を一意に識別可能な値である。尚、ポート番号は、各ポートに割り当てられている。また、ストレージ装置120は、一つのポートに一以上のLUを対応させることができる。また、ストレージ装置120は、複数のポートを持つことができる。計算機100は、このポートを介してLUへアクセスする。
項目302は、ポートに対応付けされた記憶領域(LU)125を識別するためのLU番号を格納する。LU番号は、ポートごとに定義することができる。計算機100は、ポート番号及びLU番号を使ってアクセス先を指定する。
項目303は、LUの容量を格納する。
項目304は、LUへのアクセスが許可されている計算機100の識別情報を格納する。項目304は、例えば、LUへのアクセスが許可されている計算機100のポートに割当てられているWWN(World Wide Name)等の値を格納する。
項目305は、LUが暗号の状態に設定されているか、平文の状態に設定されているか、を示す情報を格納する。例えば、暗号の状態に設定されていれば、図3のように状態の情報は「暗号」と格納される。
尚、暗号の状態に設定されているLUを暗号のLUと呼び。また、平文の状態に設定されているLUを平文のLUという。
項目306は、データを暗号化して暗号のLUに書き込む場合、及びデータを復号化して暗号のLUから読み出す場合、に使用される暗号鍵の識別子(鍵ID)を格納する。鍵ID306は、ストレージ装置120内で暗号化、及び復号化に使用される暗号鍵を一意に識別するための識別子である。LUが暗号の状態に設定されていない(例えば、平文の状態に設定されている)場合、この鍵ID306の値は定義されない。本実施の形態では、暗号鍵はRAIDグループ単位に設定されるため、同じRAIDグループに属すLU間では、鍵ID306は同じ値となる。しかし、暗号鍵の設定はこの形態に限定されず、暗号鍵をLU単位に設定してもよい。
この鍵ID306は後述する鍵ID601と同義であり、この鍵ID306を用いて、暗号鍵管理情報204から暗号鍵の詳細情報を参照することができる。
項目307は、記憶領域(LU)125を構成するLdevを識別するためのLdev番号を格納する。
図4は、本発明の第1の実施の形態のLdev管理情報202の一例を示す説明図である。
Ldev管理情報202は、項目401と、項目402と、項目403と、項目404との四つのデータ項目を含む。
項目401は、ストレージ装置120のLdevを識別するためのLdev番号を格納する。尚、LdevとLUとの関係については以下の通りである。
ストレージ装置120は、内部で論理的な記憶領域の各々にLdev番号をつけて、論理的な記憶領域の各々をLdevとして管理している。このLdevをストレージ装置120の任意のポートに対応付けられたLUにマッピングし、前記マッピングされたLUと計算機100との間のパスを設定する。これによって、計算機100は、LUにアクセスできる、即ち、LUにマッピングされたLdevにアクセスできるようになる。
項目402は、Ldevが暗号の状態に設定されているか、平文の状態に設定されているか、を示す情報を格納する。
項目403は、Ldevが所属するRAIDグループ番号を格納する。
図5は、本発明の第1の実施の形態の物理ディスク管理情報203の一例を示す説明図である。
物理ディスク管理情報203は、項目501と、項目502と、項目503と、項目504と、項目505と、項目506との六つのデータ項目を含む。
項目501は、ストレージ装置120の物理的なディスク装置を特定するためのディスク番号を格納する。
項目502は、ストレージ装置120の各物理的なディスク装置の容量を示す情報を格納する。
項目503は、ストレージ装置120の各物理的なディスク装置のRAID構成(RAIDレベル)を示す情報を格納する。
項目504は、ストレージ装置120の各物理的なディスク装置が属するRAIDグループの情報を格納する。
項目505は、ストレージ装置120の物理的なディスク装置が暗号の状態に設定されているか、平文の状態に設定されているか、を示す情報を格納する。
項目506は、暗号のRAIDグループにデータを暗号化して書き込む場合、及び暗号のRAIDグループからデータを復号化して読み出す場合に使用される暗号鍵の識別子(鍵ID)を格納する。RAIDグループが暗号の状態(暗号化On)に設定された後、当該RAIDグループ内のLUには暗号化されたデータが書き込まれ、又、RAIDグループ内のLUから復号化されたデータが読み出される。鍵ID506は、暗号化及び復号化に使用される暗号鍵をストレージ装置120内で一意に識別するための識別子である。RAIDグループが暗号の状態に設定されていない場合、この項目506の値は定義されない。この鍵ID506は後述する鍵ID601と同であり、この鍵ID506を用いて、暗号鍵管理情報204から暗号鍵の詳細情報を参照することができる。
図6は、本発明の第1の実施の形態の暗号鍵管理情報204の一例を示す説明図である。
暗号鍵管理情報204は、項目601と、項目602と、項目603と、項目604との四つのデータ項目を含む。
項目601は、ストレージ装置120内で暗号鍵を識別するために使用される識別子(鍵ID)を格納する。前述したように、鍵ID601には、LU管理情報201(図3)の鍵ID306及び物理ディスク管理情報203(図5)の鍵ID506とは同じ値が用いられる。
項目602は、暗号鍵のデータ(すなわち、暗号鍵として使用されるデータ列)を格納する。
項目603は、暗号鍵の長さを示す値を格納する。
項目604は、各暗号鍵を使用する暗号アルゴリズム及びモードを示す、アルゴリズムの情報を格納する。例えば、AESのECBモードでデータが暗号化される場合、項目604は「AES−ECB」を格納する。
図7Aは、本発明の第1の実施の形態のVol相関管理情報205の一例を示す説明図である。
Vol相関管理情報205は、項目701と、項目702と、項目703と、項目704と、項目705と、項目706との六つのデータ項目を含む。
項目701は、ストレージ装置120が備える機能の情報を格納する。ストレージ装置120が備える機能の一例として、コピー機能、スナップショット機能、容量拡張機能、動的容量割当機能等がある。以下、これらの機能の概要を図22A、図22B、図22C、及び図22Dを用いて説明する。
図22A〜図22Dは、本実施の形態のストレージ装置が備える管理機能の一例を示す説明図である。
図22Aに示すコピー機能は、任意のLUに格納されているデータをコピーし、コピーされたデータを別のLUに格納する機能である。コピー元のLUとコピー先のLUとには、同じデータが格納される。本実施の形態では、コピー元のLUをP−Volといい、コピー先のLUをS−Volという。また、このようなコピー元とコピー先との関係にあるP−VolとS−Volとを作成することをコピーペアを作成するという。
尚、使用される記憶領域を単純にLUの番号だけで管理するのではなく、P−Vol又はS−Vol等に区別をして管理することによって、各LUの関係を理解しやすくなる。前述した理由によって、使用される記憶領域を、各機能に適する表現をすることがある。
また、ストレージ装置120をまたがってコピーする場合、例えば、ストレージ装置120AのLUに格納されているデータをストレージ装置120BのLUにコピーすることを、リモートコピーという。また、コピー機能では図22Aに示すように、P−Volの状態とS−Volの状態とが一致する場合(例えば、P−Vol及びS−Volともに平文の記憶領域である)以外に、暗号のRAIDグループから平文のRAIDグループにリモートコピーを行う場合等、P−Volの状態とS−Volの状態とが不一致の場合(例えば、P−Volが暗号の記憶領域でS−Volが平文の記憶領域である)も生じる。
図22Bに示すスナップショット機能は、任意の時刻においてLUに格納されたデータを復元するための機能である。具体的には、計算機100が、データ読み書きに使用するLUと、スナップショットが取得された時刻からの差分データ(スナップショット取得後に更新された、記憶領域に格納されていた更新前のデータを示す情報)を格納するPoolとを使用し、現時点におけるLUのデータにスナップショット取得時刻からの差分データを上書きすることによって、スナップショット取得時刻におけるLUのデータを復元することができる。
尚、Poolは、一以上のLUから構成される記憶領域であり、Poolに新たなLUを追加することによってPoolの容量を増やすことができる。本実施の形態では、計算機100が読み書きに使用するLUをP−Volといい、スナップショット取得時刻のデータが復元されたLUをS−Volという。
尚、P−Volに格納されているデータとPoolに格納されているデータとを参照して作成されるS−Volは、実際にデータが格納されているわけではない。このため、S−Volは、実データを持たない仮想的なVolであり、本実施の形態では、このような実データを持たないVolを仮想Volともいい、実データを持つVolを実Volという。
また、前述したようにP−VolとPoolとを用いてS−Volを作成することを、スナップショットを作成するという。また、スナップショット機能では、図22Bに示すように、P−Vol、Pool及びS−Volの状態が一致する場合(例えば、P−Vol、Pool及びS−Volが全て平文の記憶領域である)以外に、P−Volの状態と、Poolの状態と、及びP−VolとPoolとを参照することによって生成される仮想的なS−Volの状態とが、不一致の場合(P−Volが暗号記憶領域で、Poolが平文記憶領域であれば、S−Volは暗号記憶領域と平文記憶領域とが混じった混在記憶領域になる)も生じる。また、Pool自体が、暗号のLUと平文のLUとから構成されて混在の状態になることが生じる。
図22Cに示す容量拡張機能は、あるLUと他のLUとを結合して記憶領域の容量を拡張する機能である。このような容量が拡張された記憶領域を本実施の形態では拡張Vol、又は容量が拡張されたP−Volという。また、容量拡張機能では、図22Cに示すように、拡張Volを構成するLUの状態が一致する場合(例えば、拡張Volが平文のLUと平文のLUとから構成されている平文状態)と、拡張Volを構成するLUの状態が不一致の場合(例えば、拡張Volが暗号のLUと平文のLUとから構成されて混在の状態)とが生じる。
図22Dに示す動的容量割当機能は、計算機100が読み書きに必要な容量の分だけのLUをPoolから割当てる機能である。動的容量割当機能は、ストレージ装置120の記憶容量を有効に活用するために役立つ。尚、動的容量割当機能では、データの実体はPoolに格納されており、計算機100が使用するために動的に割り当てられる記憶領域は仮想的な記憶領域である。本実施の形態では、このような仮想的な記憶領域を仮想Volという。また、動的容量割当機能では、図22Dに示すように、仮想Volの状態はPoolの状態に依存するため、仮想Volの状態とPoolの状態は一致する。
ストレージ装置120は、必ずしもこれらの全ての機能を備える必要はない、また前述した以外の機能を備えてもよい。
図7Aの説明に戻る。項目702は、各機能で使用する記憶領域の種別を示す情報を格納する。例えば、コピー機能では、P−Volと、P−Volのコピーデータを格納するS−Volとの種別があり、この種別(P−Vol、S−Vol)を用いて使用する記憶領域を区別することができる。
項目703は、各機能の種別ごとの記憶領域の番号を示す情報を格納する。例えば、コピー機能では、P−Vol1、P−Vol2、S−Vol1などと番号を付けることによって、使用する記憶領域を区別することができる。
項目704は、各記憶領域に対応するLUの情報を格納する。例えば、対応LU704には、ポート番号−LU番号の形式で情報が格納される。
項目705は、各機能で使用する記憶領域が暗号の状態に設定されているか、平文の状態に設定されているか、暗号の状態と平文の状態とが混じった混在の状態に設定されているか、を示す情報を格納する。
項目706は、各機能で使用される記憶領域と相関関係にある記憶領域の情報を格納する。例えば、コピー機能では、P−Vol1とS−Vol1とは相関関係(コピー元とコピー先との関係)があるため、P−Vol1に相関するVolとして、「コピーのS−Vol1」という情報が、相関するVol、Pool706に格納される。
図8は、本発明の第1の実施の形態のVol種別管理情報206の一例を示す説明図である。
Vol種別管理情報206は、項目801と、項目802と、項目803と、項目804との四つのデータ項目を含む。
項目801は、ストレージ装置120が備える機能に関する情報を格納する。
項目802は、各機能で使用される記憶領域の種別のうち、計算機100がデータの読み書きを行うために通常使用する、記憶領域の種別に関する情報を格納する。
項目803は、各機能で使用される記憶領域の種別のうち、項目802に従属する記憶領域の種別の情報を格納する。例えば、コピー機能では、P−Volの複製データがS−Volに格納され、S−VolはP−Volに従属する(S−Vol単体だけでは使用されない)。
項目804は、項目802及び項目803の種別の記憶領域を使用する上で、補助的に必要となる記憶領域の種別に関する情報を格納する。例えば、スナップショット機能では、S−Volのデータを利用するには、P−Vol以外に、P−Volの差分データを格納するPoolを使用する必要があるため、項目804にはPoolが登録される。
尚、前述したVolの種別は一例であり、前述した形態に限定されるものではない。
以上説明したLU管理情報201と、Ldev管理情報202と、物理ディスク管理情報203と、暗号鍵管理情報204と、Vol相関管理情報205と、Vol種別管理情報とによって、ストレージ装置120における記憶領域の構成及び状態が把握可能となる。
図12A〜図12Dは、本発明の第1の実施の形態の混在可否設定情報207の一例を示す説明図である。
混在可否設定情報207は、ストレージ装置120が使用する記憶領域で混在の状態を許容するか否かの設定と、及び相関する記憶領域間で状態の不一致(例えばP−Volが暗号の状態でS−Volが平文の状態など)を許容するか否かの設定と、を示す情報である。
混在可否設定情報207は、管理計算機140又は計算機100からの操作によって、予め設定される情報である。尚、混在可否の設定は、管理計算機140を介して管理者に表示される設定画面(図11A〜図11D)から行ったり、専用のコマンドを使って行ってもよい。
混在可否の設定方法として、例えば、図11A〜図11Dに示す設定画面を用いた方法がある。以下に各場合における混在可否の設定方法と混在可否設定情報207とについて説明する。
図11A〜図11Dは、本発明の第1の実施の形態の混在可否設定画面の一例を示す説明図であり、図12A〜図12Dは、本発明の第1の実施の形態の混在可否設定情報の一例を示す説明図である。
はじめに、図11Aに示す設定画面を用いた混在可否設定について説明する。
図11Aに示す混在可否設定画面1101は、項目1102と、項目1103と、項目1104と、項目1105との四つの表示項目を含む。
項目1102は、VolやPoolについて混在の状態を許可するか否かを設定するための入力欄である。この項目1102を設定することによって、例えば、容量拡張機能のP−Vol、又は、スナップショット機能のPool等における混在の状態を許可するか否かが設定可能である。例えば、項目1102の#3を選択すると、混在の状態が禁止されるので、平文記憶領域と暗号記憶領域とを使ってPoolを作成することは禁止される。
尚、混在の状態を禁止する理由は、暗号記憶領域と平文記憶領域を使用するストレージ装置120では、意図しない記憶領域の混在が起る可能性があり、暗号化による保護が必要なデータが、不用意に混在記憶領域に格納されることを確実に防止し、かつ、ディスク盗難等の被害を受けてもデータ漏洩の可能性を低減できるようにするためである。
一方、混在の状態を許可する理由は、混在の状態を許可することでPoolに登録できるLUの候補が増え(暗号のLUも平文のLUも登録できる)、ストレージ装置120記憶領域の容量を効率的に利用可能になるためである。
項目1103は、相関関係のある記憶領域間における状態の一致/不一致を許可するか否かを設定するための入力欄である。例えば、項目1103で#1を選択すると、コピー機能において、P−Volが暗号の状態でS−Volが平文の状態であるコピーペアが作成されることは禁止される。
項目1104は、項目1102及び項目1103の設定を有効にするためのボタンであり、項目1105は、項目1102及び項目1103の設定をキャンセルするためのボタンである。
図12Aは、図11Aの方法で混在可否を設定する場合における混在可否設定情報207であり、データ項目1201と1202との二つのデータ項目を含む。
項目1201は項目1102で設定された情報を格納し、項目1202は項目1103で設定された情報を格納する。例えば、図11Aの項目1102で#1を選択した場合は、項目1201に「1」が格納され、項目1102で#1、4、7を選択した場合は、項目1202に「1、4、7」が格納される。
次に、図11Bに示す設定画面を用いた混在可否設定について説明する。
図11Bに示す混在可否設定画面1111は、項目1112と、項目1113と、項目1114と、項目1115との四つの表示項目を含む。
図11Bに示す設定画面を用いた設定方法では、Poolを作成する場合と、及び複数の記憶領域を結合して容量を拡張する場合に混在の状態が生じることを想定した設定を行うことができる。
項目1112は、Poolを作成する場合において混在状態を許容するか否か、及び、容量を拡張する場合において混在状態を許可するか否かを設定するための入力欄である。例えば、項目1112の#3、#4を選択すると、Poolを作成する場合においては混在の状態は禁止され、容量を拡張する場合においては混在の状態は許可される。この項目を設定することによって、各場合における混在可否設定の使い分けが可能である。但し、この形態に限定されず、例えば、Poolを作成する場合と容量を拡張する場合とにおける混在可否の設定を分けずに、両者を一つにまとめて混在可否の設定を行ってもよい。
項目1113は、相関関係のある記憶領域間において状態の一致/不一致を許可するか否かを設定するための入力欄である。例えば、項目1113で#2を選択すると、コピー機能において、P−Volが暗号の状態で、S−Volが平文の状態のコピーペアのVolを作成することが禁止される。
図11Bに示す設定画面は、図11Aに示す設定画面と比べて、設定がシンプルで管理者にとってわかりやすい。但し、図11Aのような細かい設定、例えば、P−Volが平文の状態ならばS−Volが暗号の状態であることを許すが、P−Volが暗号の状態ならばS−Volは暗号の状態のみを許す、などは設定できない。
項目1114は、項目1112及び項目1113の設定を有効にするための操作ボタンであり、項目1115は、項目1112及び項目1113の設定をキャンセルするための操作ボタンである。
尚、状態の一致/不一致について、例えば、相関する記憶領域の状態が不一致である場合には相関する記憶領域の状態を一致させる。より具体的には、相関する記憶領域の状態が不一致であり、かつ、相関する記憶領域のうち暗号の状態の記憶領域がある場合は、全ての記憶領域を暗号の状態にする設定、又は、相関する記憶領域の状態が不一致かつ、相関する記憶領域のうち暗号記憶領域がない場合は全ての記憶領域を平文の状態にする設定など、より細かい設定にしてもよい。
図12Bは、図11Bの方法で混在可否を設定する場合における混在可否設定情報207であり、データ項目1211と1212との二つのデータ項目を含む。
項目1211は、項目1112で設定された情報を格納し、項目1212は、項目1113で設定された情報を格納する。
次に、図11Cに示す設定画面を用いた混在可否設定について説明する。
図11Cに示す混在可否設定画面1121は、項目1122と、項目1123と、項目1124と、項目1125と、項目1126と、項目1127との六つの表示項目を含む。
図11Cに示す設定方法では、ストレージ装置120が備える機能ごとに、混在可否の設定が可能であり、図11A及び図11Bに比べてより細かい設定が可能である。
項目1122は、ストレージ装置120が備える管理機能を選択するための入力欄である。例えば、図11Cでは、ストレージ装置120は、コピー機能と、スナップショット機能と、容量拡張の機能とを備えており、現在、コピー機能を選択して項目1124の設定を行っていることが分かる。
項目1123は、ストレージ装置120が備える設定機能を選択するための入力欄である。例えば、図11Cでは、ストレージ装置120は、記憶領域を暗号の状態に設定する暗号化設定機能と、混在可否設定を行う混在可否設定機能とを備えており、図11Cでは、混在可否設定機能が選択され、項目1124及び項目1125の設定が行われている。
項目1124は、ストレージ装置120が備える各機能における、記憶領域の混在可否を設定するための入力欄である。例えば、図11Cでは、コピー機能のP−VolとS−Volとのそれぞれの混在可否設定をするための入力欄を表示している。
項目1125は、ストレージ装置120が備える各機能において、相関する記憶領域間における状態の一致/不一致の可否を設定するための入力欄である。例えば、図11Cでは、コピー機能のP−VolとS−Volとの状態の一致/不一致の可否を設定するための入力欄を表示している。
項目1126は、項目1124及び項目1125の設定を有効にするためのボタンであり、項目1127は、項目1124及び項目1125の設定をキャンセルするためのボタンである。
図12Cは、図11Cの方法で混在可否を設定する場合における混在可否設定情報207であり、項目1221と、項目1222と、1223との三つのデータ項目を含む。
項目1221は、ストレージ装置120が備える管理機能の情報を格納する。項目1222は、項目1124で設定された情報を格納し、項目1223は、項目1125で設定された情報を格納する。
次に、図11Dに示す設定画面を用いた混在可否設定について説明する。
図11Dに示す混在可否設定画面1131は、項目1132と、項目1133と、項目1134と、項目1135と、項目1136との五つの表示項目から構成される。
図11Dに示す設定方法では、ストレージ装置120が備える各機能ごとに、混在可否の設定が可能である。すなわち、図11Dに示す設定方法では、図11Cのように細かい設定は行えないが、設定がシンプルで管理者にとってわかりやすい。
項目1132は、ストレージ装置120が備える管理機能を示す。例えば、図11Dでは、ストレージ装置120は、コピー機能と、スナップショット機能と、容量拡張の機能とを備えており、現在、各機能について設定が行われていることが分かる。
項目1133は、ストレージ装置120が備える設定機能を選択するための入力欄である。例えば、図11Dでは、ストレージ装置120は、記憶領域を暗号の状態に設定する暗号化設定機能と、混在可否設定を行う混在可否設定機能とを備えており、現在、混在可否設定機能が選択され項目1134の設定が行われている。
項目1134は、ストレージ装置120が備える各機能において記憶領域の混在可否、及び、相関する記憶領域間おける状態の一致/不一致の可否を設定するための入力欄である。例えば、図11Dでは、各機能において混在可否設定を行っていることが分かる。
項目1135は、項目1134の設定を有効にするためのボタンであり、項目1136は、項目1134の設定をキャンセルするためのボタンである。
図12Dは、図11Dの方法で混在可否を設定する場合における混在可否設定情報207であり、項目1231と項目1232との二つのデータ項目を含む。
項目1231は、ストレージ装置120が備える管理機能の情報を格納する。
項目1222は、項目1134で設定された情報を格納する。
以上が、混在可否設定情報207及び混在可否の設定を行う管理画面についての説明である。
図14は、本発明の第1の実施の形態の使用可Vol管理情報208の一例を示す説明図である。
使用可Vol管理情報208は、管理者がストレージ装置120の記憶領域を使用するにあたり、使用できる記憶領域を制限するための情報1401を含む。例えば、使用可Vol管理情報208を用いて、ストレージ装置120が持つ記憶領域のうち、暗号記憶領域しか使えないようにする、又は、平文記憶領域と暗号記憶領域の何れの記憶領域も使えるようにする、ことなどが可能である。
尚、使用可Vol管理情報208は、管理計算機140又は計算機100からの操作によって、予め設定される情報である。使用可Vol管理情報208は、管理計算機140を介して管理者に表示される管理画面(図13A)から設定することができる。また、使用可Vol管理情報208を、専用のコマンドを使って設定してもよい。以下に、図13Aに示す管理画面を用いて使用可Vol管理情報208を設定する例を説明する。
図13Aは、本発明の第1の実施の形態のストレージ管理・状態表示画面の一例を示す説明図である。
図13Aの管理画面1301は、項目1302と、項目1303と、項目1304と、項目1305と、項目1306と、項目1307と、項目1308と、項目1309との八つの表示項目を含む。
項目1302は、ストレージ装置120が備える管理機能を選択するための入力欄である。例えば、図13Aに示す管理画面では、ストレージ装置120は、コピー機能、スナップショット機能、及び、容量拡張機能を備えており、コピー機能が選択され、コピー機能に関する各設定が行われている。
項目1303は、ストレージ装置120が備える設定機能を選択するための入力欄である。例えば、図13Aでは、ストレージ装置120は、記憶領域を暗号の状態に設定する暗号化設定機能と、混在可否設定を行う混在可否設定機能とを備えていることが分かる。
項目1304は、ストレージ装置120が備える各機能で使用される記憶領域を示す表示欄である。例えば、図13Aでは、コピー機能は、CLA1−000の記憶領域を使用していることが分かる。
項目1305は、使用可Vol管理情報208を設定するために使用される選択欄である。例えば、図13Aでは、項目1305は暗号と表示されており、管理者は暗号記憶領域のみ使用可能な(暗号記憶領域のみが選択可能に表示される)設定になっていることが分かる。
項目1306は、ストレージ装置120が備える各機能が使用するVol及びPoolなどの記憶領域の状態を、暗号の状態へ変換するための操作ボタンであり、項目1307は、ストレージ装置120が備える各機能が使用するVolやPoolなどの記憶領域の状態を、平文の状態へ変換するための操作ボタンである。
項目1308及び項目1309は、ストレージ装置120が備える各機能で可能な操作を実行するための操作ボタンである。例えば、図13Aでは、コピー機能では、コピーペア作成と、コピーペア削除の操作を実行することができる。
尚、管理画面1311〜1314は、コピーペア作成ボタン1308を操作した際に表示される画面を示す。
例えば、項目1305を「暗号」に設定してコピーペア作成ボタン1308を操作した場合は、管理画面1311が表示され、項目1321に使用可能なVol(暗号記憶領域)と使用不可能なVol(平文記憶領域と混在記憶領域)とが区別して表示される。項目1321の表示方法は、使用可能Volのみ表示してもよいし、また、使用可能なVolを強調して表示してもよい。項目1320は、項目1321に表示されている使用可能なVolから、実際に使用されるVolを選択する選択欄である。
また、例えば、項目1305を「平文」に設定して、コピーペア作成ボタン1308を操作した場合は、管理画面1312が表示され、項目1323に使用可能なVol(平文記憶領域)と使用不可能なVol(暗号記憶領域と混在記憶領域)とが区別して表示される。項目1323の表示方法は、項目1321と同様でよい。項目1322は、項目1323に表示されている使用可能なVolから、実際に使用されるVolを選択する選択欄である。
また、例えば、項目1305を「平文/混在」に設定して、コピーペア作成ボタン1308を操作した場合は、管理画面1313が表示され、項目1325に使用可能なVol(平文記憶領域、混在記憶領域)と使用不可能なVol(暗号記憶領域)とが区別して表示される。項目1325の表示方法は、項目1321と同様でよい。項目1324は、項目1325に表示されている使用可能なVolから、実際に使用されるVolを選択する選択欄である。
また、例えば、項目1305を「全て」に設定して、コピーペア作成ボタン1308を操作した場合は、管理画面1314が表示され、項目1327に使用可能なVolとして全ての記憶領域が表示される。項目1326は、項目1327に表示されている使用可能なVolから、実際に使用されるVolを選択する選択欄である。
図14は、図13Aに示した管理画面を用いた方法で使用可Volを設定した場合の使用可Vol管理情報208であり、項目1401の一つのデータ項目を含む。項目1401は、項目1305で設定された情報を格納する。
前記使用可Volは、管理計算機140の管理画面で設定したが、この設定方法以外に、ストレージ装置120が、ストレージ装置120に登録された項目1401を用いて、使用可能なVolを制御してもよい。
また、図13Aに示す管理画面を用いた方法のように、使用可能なVolを管理者が自由に制御可能な設定方法以外に、図11A〜図11Dに示す混在可否設定画面を用いた混在可否設定に基づいて、ストレージ装置120が使用可能なVolを自動的に制御する設定方法(図13B参照)でもよい。以下、図13Bについて、図13Aとの異なる点を重点的に説明する。
図13Bは、本発明の第1の実施の形態のストレージ管理・状態表示画面の一例を示す説明図である。
図13Bに示す管理画面1331は、図13Aのように使用可能なVolを制御するために使用する項目1305を含まない。その代わりに、図11A〜図11Dに示す混在可否設定画面を用いた混在可否設定に基づいて、使用可能なVolが制御される。
例えば、図13Bに示す画面を用いると、暗号記憶領域(CLA1−000)のコピーペアを作成しようとした場合、例えば、図11Aで項目1103の#1が設定されている場合は、主Volが暗号の状態であれば補助Vol及び副Volの平文/混在の状態は禁止されるので、管理画面1332が表示され、暗号記憶領域のみ使用できる(暗号記憶領域のみが選択可能に表示される)。一方、図11Aで項目1103の#2又は#3が設定されている場合は、主Volが暗号の状態でも補助Vol及び副Volの平文/混在の状態を許容するので、管理画面1333には、全ての記憶領域が使用可能(選択可能)に表示される。
尚、図13Bに示す画面による設定方法の場合は、図11A〜図11Dに示す混在可否設定画面を用いた混在可否設定に基づいて使用可能なVolを制御するため、図14のような使用可Vol管理情報208を持たない。
以下に、前述したストレージ装置120によって行われる使用可能なVolの制御処理について、図21A、図21B及び図21Cのフローチャートを用いて説明する。
<使用可能なVolをストレージ装置が制御する処理>
図21Aは、本発明の第1の実施の形態のストレージ装置120のストレージ管理プログラム212が実行する、使用可Volの制御処理の一例を示すフローチャートである。
ストレージ装置120のストレージ管理プログラム212は、管理計算機140から使用可Volについての情報を受信する(ステップ2101)。尚、使用可Volについての情報は、例えば、図13Aの項目1305で使用可Volにチェックがされていて「暗号」などを選択して、コピーペア作成ボタン1308又はコピーペア削除ボタン1309を操作した時に、管理計算機140からストレージ装置120に入力される。
ストレージ管理プログラム212は、ステップ2101で受信した情報に基づいて、使用可Vol管理情報208を更新する(ステップ2102)。具体的には、例えば、管理計算機140から使用可Volを「暗号」にするよう指示された場合は、項目1401を「暗号」に更新する。
ストレージ管理プログラム212は、受信した情報によって更新された使用可Vol管理情報が「暗号」か否かを判定する(ステップ2103)。使用可Vol管理情報が「暗号」でないと判定された場合は、さらに、ストレージ管理プログラム212は、使用可Vol管理情報が「平文」か否かを判定する(ステップ2104)。使用可Vol管理情報が「平文」でないと判定された場合は、ストレージ管理プログラム212は、使用可Vol管理情報が「平文/混在」か否かを判定する(ステップ2105)。使用可Vol管理情報が「平文/混在」でないと判定された場合は、ストレージ管理プログラム212は、以降、管理計算機140からの管理操作で全てのVolの使用を許可する(ステップ2106)。例えば、新規Vol作成を作成する場合、管理者は、暗号の状態のVolを使ってもよいし、平文の状態又は混在の状態のVolを使ってもよい。
ステップ2103において使用可Volについての管理情報が「暗号」であると判定された場合は、ストレージ管理プログラム212は、以降の管理計算機140からの管理操作で暗号の状態のVolのみ使用を許可する(ステップ2107)。例えば、新たにコピーペアのP−Volを作成する場合、暗号のLUを使ったP−Vol作成のみが許可される。例えば、ストレージ管理プログラム212は、平文のLUを指定したコピーペアのP−Volの作成を許可しない。
ステップ2104で使用可Volについての管理情報が「平文」であると判定された場合は、ストレージ管理プログラム212は、以降の管理計算機140からの管理操作で平文の状態のVolのみ使用を許可する(ステップ2108)。
ステップ2105で使用可Volについての管理情報が「平文/混在」であると判定された場合は、ストレージ管理プログラム212は、以降の管理計算機140からの管理操作で平文の状態Vol及び混在の状態のVolの使用を許可する(ステップ2109)。
ステップ2106、ステップ2107、ステップ2108及びステップ2109で使用可Volが設定されると、処理を終了する。
尚、前述した方法で、混在可否設定情報207及び使用可Vol管理情報208を変更することによって、後述する状態制御を柔軟かつ正確に行うことができる。
<管理者が管理計算機の管理画面から使用可能なVolを自由に制御する処理>
図21Bは、本発明の第1の実施の形態の管理計算機140のストレージ管理指示プログラム245が実行する使用可Volの制御処理の一例を示すフローチャートであり、図13Aに示す管理画面を用いた設定に基づく処理である。
管理計算機140のストレージ管理指示プログラム245は、管理者から使用可Volについての情報を受信する(ステップ2111)。尚、使用可Volについての情報は、例えば、図13Aの項目1305で使用可Volにチェックがされていて「暗号」などを選択して、コピーペア作成ボタン1308又はコピーペア削除ボタン1309を操作した時に、管理計算機140に入力される。
ストレージ管理指示プログラム245は、ステップ2111で受信した情報によって更新された使用可Vol管理情報が「暗号」か否かを判定する(ステップ2112)。使用可Vol管理情報が「暗号」でないと判定された場合は、ストレージ管理指示プログラム245は、さらに、使用可Vol管理情報が「平文」か否かを判定する(ステップ2113)。使用可Vol管理情報が「平文」でないと判定された場合は、ストレージ管理指示プログラム245は、使用可Vol管理情報が「平文/混在」か否かを判定する(ステップ2114)。使用可Vol管理情報が「平文/混在」でないと判定された場合は、ストレージ管理プログラム212は、以降、管理計算機140からの管理操作で全てのVolの使用を許可する(ステップ2115)。管理計算機140は、例えば、新規Vol作成する場合、管理者に対して、暗号の状態のVol、平文の状態又は混在の状態のVolなど全てのVolを表示して、管理者が全てのVolを使用できるようにする。
ステップ2112において使用可Vol管理情報が「暗号」であると判定された場合は、ストレージ管理指示プログラム245は、以降の管理計算機140からの管理操作で、暗号の状態のVolのみ管理者に表示して、暗号の状態のVolのみを使用できるようにする(ステップ2116)。例えば、新たにコピーペアのP−Volを作成する場合、使用できるLUの候補として、暗号のLUのみ画面に表示する。
ステップ2113で使用可Volについての管理情報が「平文」であると判定された場合は、ストレージ管理指示プログラム245は、以降の管理計算機140からの管理操作で、平文の状態のVolのみ管理者に表示して、平文の状態のVolのみを使用できるようにする(ステップ2117)。
ステップ2114で使用可Volについての管理情報が「平文/混在」であると判定された場合は、ストレージ管理指示プログラム245は、以降の管理計算機140からの管理操作で、平文の状態又は混在の状態のVolのみ管理者に表示して、平文の状態又は混在の状態のVolを使用できるようにする(ステップ2118)。
<使用可能なVolを管理計算機が管理画面で自動で制御する処理>
図21Cは、本発明の第1の実施形の態の管理計算機140のストレージ管理指示プログラム245が実行する、使用可Volの制御処理の一例を示すフローチャートである。
管理計算機140のストレージ管理指示プログラム245は、管理者から管理操作の実行要求を受信する(ステップ2121)。尚、管理操作の実行要求は、例えば、図13Bのコピーペア作成のボタンを操作した時、管理計算機140に入力される。
ストレージ管理指示プログラム245は、混在可否設定情報207を読込む(ステップ2122)。
次に、ストレージ管理指示プログラム245は、ステップ2121で受信した管理操作の実行要求について、ステップ2122で読み込んだ混在可否設定情報207に基づいて、管理者が使用可能なVolのみを選択可能に表示する(ステップ2123)。具体的には、例えば、図11Aで、項目1103の「#1」が設定されている場合、例えば、図13Bの管理画面1321で暗号のLUを指定してコピーペア作成ボタンを操作すると、当該暗号のLUのペア(S−Vol)にできる候補として、暗号のLUのみが管理画面1322に表示される。
尚、前記の使用可能なVolを制御する処理において、例えば、計算機100や管理計算機140ごとに使用可能なVolの設定を変えられるようにしてもよい。また、Vol以外にLU及びPoolなどの記憶領域も使用可能な記憶領域を選択可能に表示してもよい。以下に、計算機100に対して、使用可能なVolを制御する処理の一例を、図13Cの管理画面を用いて説明する。
図13Cは、本発明の第1の実施の形態のストレージ管理・状態表示画面の一例を示す説明図である。
図13Cに示す管理画面1341は、ストレージ装置120の動的容量割当機能を使う際に管理計算機140に表示される管理画面の一例で、項目1342と、項目1343と、項目1344との三つの表示項目から構成される。
項目1342は、ストレージ装置120の記憶領域の割り当て先の計算機100を表示する欄である。図13Cに示す例では、計算機100のWWN、計算機100のIPアドレス、及び、計算機100が使用可能な記憶領域の情報が示されている。
項目1343は、項目1342で指定した計算機100に対して、動的容量割当の設定を実行するための操作ボタンであり、項目1344は項目1342で指定した計算機100に対して、動的要領割当の設定をキャンセルするための操作ボタンである。
図13Cに示す例では、WWNが10:00:00:00:00:00:00:50の計算機に対しては、使用可Volが「暗号」、即ち、暗号記憶領域だけが割り当てられる、という設定を行っていることが分かる。その結果、当該計算機がデータを読み書きするための記憶領域として、暗号記憶領域のみが割当てられ、以降暗号記憶領域にデータが読み書きされる。また、動的容量割当におけるストレージ装置120の具体的な処理として、例えば、使用可Volが「暗号」に設定された計算機100に対して、暗号の状態のPoolから必要な容量の記憶領域を計算機に割り当ててもよいし、混在の状態のPool内の暗号記憶領域のみを割り当てるようにしてもよい。
以上がストレージ装置120が保持する管理情報についての説明である。
図2Aに示すように、ストレージ装置120は、I/O処理プログラム209と、暗号化設定プログラム210と、混在可否設定プログラム211と、ストレージ管理プログラム212との四つのプログラムを格納する。これらのプログラムは、CPU122によって実行される。したがって、以下の説明において、これらのプログラムが実行する処理は、実際にはCPU122によって実行される。
I/O処理プログラム209は、計算機100からのデータ読み書きの要求を受け、ストレージ装置120の記憶領域にデータを読み書きする。
暗号化設定プログラム210は、ストレージ装置120の記憶領域の暗号化の設定を行う。例えば、記憶領域の状態を暗号「On」に設定した場合、その記憶領域は暗号記憶領域となり、暗号鍵が設定され、以降、I/O処理プログラム209は、設定された暗号鍵を用いて計算機100からのデータを暗号化して、暗号化されたデータを記憶領域に書き込む。また、I/O処理プログラムは209、読み出されたデータを復号化し、復号化されたデータを計算機100に送信する。
以降、状態を設定する単位は、RAIDグループを単位として説明する。また、暗号のデータから平文のデータへの変換又は平文のデータから暗号のデータへの変換は、LUを単位として変換される。つまり、暗号のデータから平文のデータへの変換又は平文のデータから暗号のデータへの変換は、暗号のLUから平文のLUへ又は平文のLUから暗号のLUへデータを移動させることによって行われる。但し、この方法に限定されるわけでなく、状態の設定をLUを単位に設定したり、暗号の状態から平文の状態への変換を同一のLUに復号化されたデータを上書きすることによって変換してもよい。
以下に、図23及び図24を用いて暗号化設定の処理、及び暗号/平文への変換処理を説明する。
図23は、本発明の第1の実施の形態の暗号化の設定に伴うストレージ装置の状態変更の一例を示す説明図である。
図23の状態Aでは、ストレージ装置120内にRAIDグループ1とRAIDグループ2とがあり、何れのRAIDグループも平文の状態に設定されている。状態Aでは、データは暗号化されずに各RAIDグループ内のLUへ格納される。ここで、RAIDグループ2を暗号化「On」に設定すると、ストレージ装置120は、図23の状態Bになる。状態Bでは、RAIDグループ2は暗号のRAIDグループとなり、データは暗号化されてRAIDグループ2内のLUへ格納される。
図24は、本発明の第1の実施の形態のストレージ装置において記憶領域に格納されているデータの暗号/平文の状態を変更する方法の一例を示す説明図である。
例えば、LU2に格納されているデータを暗号に変換したい場合は、LU2に格納されているデータを暗号のRAIDグループ2内のLUに移動する。具体的には、LU2に格納されているデータを暗号化して、暗号化されたデータを暗号のRAIDグループ2内のLU3にコピーする。これによって、LU2のデータは暗号化されてLU3に書込まれ、平文のデータから暗号のデータへ変換される。以降、ストレージ装置120は、LU2ではなくLU3にデータを読み書きすることによって、暗号化されたデータを扱えるようになる。尚、LU2に格納されている不要になったデータは削除してもよいし、残したままでもよい。
一方、暗号のLUに格納されている暗号のデータを平文のデータに変換したい場合は、平文のRAIDグループ内のLUにデータを移動する。例えば、図24のLU4の暗号化されたデータを読み出し、読み出したデータを復号化し、復号化した平文のデータをLU1に書き込むことによって、暗号のデータが平文のデータへ変換される。
前述した暗号化設定及び暗号/平文へのデータ変換方法の具体例を図10を用いて説明する。
図10は、本発明の第1の実施の形態の暗号化設定画面の一例を示す説明図である。
管理画面1001は、項目1002と、項目1003と、項目1004と、項目1005と、項目1006と、項目1007と、項目1008と、項目1009との八つの表示項目を含む。
項目1002は、ストレージ装置120が備える管理機能を示す。
項目1003は、ストレージ装置が備える設定機能を選択するための入力欄である。図10では、ストレージ装置120は、暗号化機能及び混在可否を備えており、現在暗号化設定が選択され、暗号化に関する各設定が行われている。
項目1004は、暗号化設定を行う場合に表示されるRAIDグループを表示する欄である。
項目1005は、RAIDグループを暗号の状態に設定する(暗号のRAIDグループにする)ための操作ボタンであり、項目1006は、RAIDグループの状態を暗号の状態から解除して平文の状態に設定する(平文のRAIDグループにする)ための操作ボタンである。
項目1007は、暗号化設定の対称となるLUを表示する欄である。
項目1008は、LUに格納されたデータを平文のデータから暗号のデータへ変換するための操作ボタンであり、項目1009は、LUに格納されたデータを暗号のデータから平文のデータへ変換するための操作ボタンである。
暗号Onボタン1005が操作されると、ストレージ装置120の内部では、図23にて前述した処理が行われる。また、暗号へ変換ボタン1008が操作されると、ストレージ装置120の内部では、図24で前述した処理が行われる。以上が暗号化設定プログラム210に関する説明である。
混在可否設定プログラム211は、ストレージ装置120の記憶領域で混在の状態が生じてよいか否か、及び、相関する記憶領域間において状態の不一致が生じてよいか否かを設定する。例えば、混在可否の設定は図11に示す管理画面から管理者が設定し、その設定情報が混在可否設定情報207に格納される。但し、前述した方法に限定されず、混在可否の設定が、ストレージ装置120に予め固定的に組み込まれていてもよい。
ストレージ管理プログラム212は、ストレージ装置120が備える管理機能、例えば、コピーペア機能、スナップショット機能、又は容量拡張機能等を実行する。
以上がストレージ装置120のソフトウェア構成である。
図2Bは、本発明の第1の実施の形態の管理計算機140のソフトウェア構成の一例を示す説明図である。
管理計算機140のメモリ142には、ストレージ管理情報241及び管理者認証情報242が格納される。
ストレージ管理情報241は、ストレージ装置120を管理するための情報である。具体的には、ストレージ装置120に保持されるLU管理情報201、Ldev管理情報202、物理ディスク管理情報203、暗号鍵管理情報204、Vol相関管理情報205及びVol種別管理情報を含む。通常、管理計算機140は、ストレージ管理情報241を用いてストレージ装置120等を管理する。ストレージ装置120内に保持される構成情報が更新されると、ストレージ管理情報241が更新される。その結果、管理計算機140とストレージ装置120等との間で構成情報が同期する。
管理者認証情報242は、管理計算機140を使用する管理者を認証するために使用される情報である。
図9は、本発明の第1の実施の形態の管理者認証情報242の一例を示す説明図である。
管理者認証情報243は、項目901と、項目902と、項目903との三つのデータ項目を含む。
項目901は、管理者を一意に識別するためのユーザIDを格納する。
項目902は、管理者のパスワードを格納する。
項目903は、管理者が管理計算機140を使って行うことができる操作の権限を示すロール(役割)情報を格納する。例えば、アカウント管理者のロールを持つ管理者は、管理計算機140内のアカウント情報の作成及び削除をすることができる。セキュリティ管理者のロールを持つ管理者は、ストレージ装置120のセキュリティに関する操作(ストレージ装置120への暗号化設定操作及び混在可否の設定操作等)を行うことができる。ストレージ管理者のロールを持つ管理者は、コピーペアの作成等、ストレージ装置が備える管理機能に関する操作を行うことができる。尚、一人の管理者が複数のロールを持ってもよい。
管理計算機140は、暗号化設定指示プログラム243と、混在可否設定指示プログラム244と、ストレージ管理指示プログラム245と、アクセス制御プログラム246との四つのプログラムを格納する。これらのプログラムは、CPU141によって実行される。したがって、以下の説明において、これらのプログラムが実行する処理は、実際にはCPU141によって実行される。
暗号化設定指示プログラム243は、ストレージ装置120に対して記憶領域を暗号の状態に設定する等、暗号化の設定を指示する。
混在可否設定指示プログラム244は、ストレージ装置120に対して、ストレージ装置120の記憶領域において混在の状態が生じてよいか否かの設定、及び、相関する記憶領域間において状態の不一致が生じてよいか否かの設定を指示する。
ストレージ管理指示プログラム247は、ストレージ装置120に対して、暗号化設定及び混在可否設定以外の機能、例えば、記憶領域のデータのコピー、又は計算機と記憶領域との間のパスの設定等、を指示する。
アクセス制御プログラム248は、管理計算機140を使用する管理者を管理者認証情報243に基づいて認証し、管理者が要求する管理操作の実行を許可又は禁止する等の処理を実行する。
以上が本実施の形態におけるストレージ装置120及び管理計算機140のソフトウェア構成である。
次に、前述したソフトウェア構成に基づいて本実施の形態における暗号化設定から混在可否設定までの一連の処理の詳細について説明する。これらの一連の処理は、以下の二つの処理を含む。
第1に、ストレージ装置120は、管理計算機140からの指示を受けて、ストレージ装置120においてRAIDグループを暗号の状態に設定(暗号化設定)する処理を実行する。暗号の状態に設定されたRAIDグループ内の記憶領域には、以降、暗号化されたデータが格納される。
第2に、ストレージ装置120は、管理計算機140からの指示を受けて、ストレージ装置120において混在可否を設定(混在可否設定)する処理を行う。以降、管理計算機140からストレージ管理操作を実行する指示を受けたときには、前述した暗号化設定及び混在可否設定に基づいて、操作が許可又は禁止される。以下、これらの処理の詳細を説明する。
<ストレージ装置における暗号化設定についての処理>
図15は、本発明の第1の実施の形態のストレージ装置120の暗号化設定プログラム210が実行する、記憶領域の暗号化設定についての処理の一例を示すフローチャートである。
ストレージ装置120の暗号化設定プログラム210は、管理計算機140からストレージ装置120のRAIDグループの暗号化を「On」に設定する要求を受信する(ステップ1501)。RAIDグループの暗号化「On」の要求は、例えば、図10の暗号Onの操作ボタン1005を操作することによって、管理計算機140からストレージ装置120へ入力される。
次に、暗号化設定プログラム210は、暗号化「On」の要求を受けたRAIDグループに既に暗号鍵が生成済みか否かを判定する(ステップ1502)。例えば、暗号化設定プログラム210は、暗号化「On」の要求を受けたRAIDグループに対応する鍵ID506を参照し、鍵ID506が格納されていない場合、暗号鍵がまだ生成されていないと判定する。
暗号化「On」の要求を受けたRAIDグループに既に暗号鍵がまだ生成されていないと判定された場合、暗号化設定プログラム210は、新規に暗号鍵を生成し、生成された暗号鍵を暗号鍵管理情報204に追加する。以降、前記暗号化Onの要求を受けたRAIDグループ内の記憶領域に読み書きされるデータは、前記生成された暗号鍵を用いて暗号化・復号化される(ステップ1503)。
暗号化Onの要求を受けたRAIDグループに既に暗号鍵が生成済みであると判定された場合、暗号化設定プログラム210は既に生成されている暗号鍵を用いて、前記要求を受けたRAIDグループ内の記憶領域に読み書きされるデータを暗号化・復号化する(ステップ1504)。なお、本フローチャートではRAIDグループごとに暗号鍵が設定されるが、LU又はストレージ装置ごとに暗号鍵を設定してもよい。
ステップ1503及びステップ1504に示すように、RAIDグループに暗号鍵が設定された後、ストレージ装置120のI/O処理プログラム209は、暗号鍵が設定されたRAIDグループ内の記憶領域へのデータの書き込み要求を受信すると、受信したデータを、当該RAIDグループに設定された暗号鍵を用いてデータを暗号化して当該RAID内のLUに書き込む。また、RAIDグループからデータを読み出す要求を受信すると、I/O処理プログラム209は、当該RAIDグループ内のLUから要求されたデータを読み出し、当該RAIDグループに設定された暗号鍵を用いて読み出されたデータを復号化し、復号化されたデータを要求元に送信する。
このように、データを暗号化することによって、記憶領域125に対応する物理的なディスク装置(例えば、HDD)が不正に持ち出されても、不正に持ち出されたHDDに格納されたデータを復号化するために必要な暗号鍵を持たない人は、不正に持ち出されたHDDに格納されたデータを利用することができない。したがって、データの不正な漏洩を防止できる。
しかし、ストレージ装置120内にデータを格納する記憶領域が、暗号記憶領域と平文記憶領域との2種類がある場合、2種類の記憶領域の使用を正しく制御しなければ、暗号化すべきデータが平文記憶領域に格納されたり、暗号記憶領域と平文記憶領域とが意図せずに混ざって混在の状態が生じる。
このような問題に対処するために、本実施の形態では、予め混在可否を設定し、暗号記憶領域及び平文記憶領域の使用を適切に制御する。以下、混在可否設定の処理について説明する。
<ストレージ装置の混在可否設定についての処理>
図16は、本発明の第1の実施の形態のストレージ装置120の混在可否設定プログラム211が実行する、混在可否設定処理の一例を示すフローチャートである。
ストレージ装置120の混在可否設定プログラム211は、管理計算機140から混在可否設定についての指示を受信する(ステップ1601)。尚、混在可否設定についての指示は、例えば、図11A〜図11Dの設定画面の操作を行った時に、ストレージ装置120に入力される。また、ストレージ装置120が管理計算機140から受信した混在可否設定の指示には、図12A〜図12Dに示す混在可否の設定情報が含まれる。
次に、ストレージ装置120の混在可否設定プログラム211は、管理計算機140から受信した混在可否設定の指示に基づいて、混在可否設定情報207を更新する。例えば、図12A〜図12Dに示す各項目について混在可否設定情報207を更新する(ステップ1602)。以降、更新された混在可否設定情報207に基づいて、記憶領域の操作が行われる。
以上が、本実施形態における暗号化設定から混在可否設定までの一連の処理の説明である。
次に、管理計算機140からコピーペアの作成など、ストレージ装置120の管理操作の指示を受けたときのストレージ装置120において実行される処理を説明する。
ストレージ装置120は、管理計算機140から管理操作を実行する指示を受けた場合、前述した暗号化設定及び混在可否設定に基づいて、管理操作の実行を許可、禁止、又はアラート通知するなどの制御を行う。ストレージ装置120が行う制御処理として、以下の3種類の処理を説明する。
第1の処理は、管理計算機140から、実Vol又はPoolを作成する指示を受けた場合の処理である。尚、第一の処理は、一つのVol又はPool内に平文記憶領域と暗号記憶領域とが混ざる混在の状態の発生を制御するための処理である。
第二の処理は、管理計算機140から、Vol又はPoolを相関付ける操作を実行する指示を受けた場合の処理である。例えば、コピーペアの作成及びスナップショットペアの作成等が、相関付ける操作である。具体的には、コピーペアの作成では、P−VolとS−Volとが相関づけられ、スナップショットペアの作成では、P−VolとS−VolとPool(差分Vol)とが相関づけられる。尚、複数の記憶領域を結合して新規Volを作成する容量拡張の操作は、第1の処理で述べた実Volの作成に該当し、相関付ける操作には該当しない。尚、第2の処理は、複数の記憶領域を相関付ける場合において、相関付けられる記憶領域間の状態の一致/不一致を制御するための処理である。
第3の処理は、管理計算機140から、記憶領域の状態変更の操作、例えば、暗号記憶領域から平文記憶領域への変更等、を実行する指示を受けた場合の処理である。尚、第3の処理は、記憶領域の状態を変更する場合に、前記状態を変更すべき記憶領域と相関する記憶領域との間の状態の一致/不一致を制御するための処理である。以下、これら三つの処理の詳細を説明する。はじめに、第1の処理の例について説明する。
<ストレージ装置の実Vol又はPoolの作成における記憶領域の状態制御処理>
図17Aは、本発明の第1の実施の形態のストレージ装置120のストレージ管理プログラム212が実行する、実Vol又はPool作成における記憶領域の状態の制御処理の一例を示すフローチャートである。
ストレージ装置120のストレージ管理プログラム212は、管理計算機140から実Vol又はPoolを作成する要求を受信する(ステップ1701)。尚、受信した実Vol又はPoolを作成する要求には、どのLUを使って実Vol又はPoolを作成するかの情報が含まれる。例えば、容量拡張の場合は、LU1とLU2を結合して新たな拡張Vol(容量拡張機能におけるP−Vol1等)を作成する情報が含まれる。
次に、ストレージ管理プログラム212は、前記要求によって作成される実Vol又はPoolが複数のLUを用いて作成されるか否かを、前記受信した要求に含まれる情報に基づいて判定する(ステップ1702)。例えば、二つのLUからPoolを作成する場合は、Poolは複数のLUを用いて作成されると判定される。また、一つのLUだけでPoolを作成する場合は、Poolは複数のLUを用いて作成されないと判定される。尚、この判定は、管理計算機140から受信した前述した要求情報に基づいて判定される。
前記要求によって作成される実Vol又はPoolが複数のLUを用いて作成されると判定された場合は、ストレージ管理プログラム212は、LU管理情報201の項目305を参照して、これらの複数のLUの状態(暗号の状態、平文の状態)を読み込む(ステップ1703)。尚、前記要求によって作成される実Vol又はPoolが複数のLUを用いて作成されないと判定された場合は、ステップ1707に進む。
ステップ1703で読込んだ当該複数のLUの状態の情報に基づいて、ストレージ管理プログラム212は、当該複数のLUが全て同じ状態(全てのLUの状態が暗号の状態又は平文の状態)であるか否かを判定する(ステップ1704)。
当該複数のLUの一部が異なる状態である、即ち前記要求によって作成される実Vol又はPoolの状態が混在すると判定された場合は、ストレージ管理プログラム212は、混在可否設定情報207を読み込む(ステップ1705)。尚、当該複数のLUが全て同じ状態(全てのLUの状態が暗号の状態又は平文の状態)であると判定された場合は、ステップ1707に進む。
次に、ストレージ管理プログラム212は、読み込まれた混在可否設定情報207に基づいて、混在の状態が許可されているか否かを判定する(ステップ1706)。
混在の状態が許可されていると判定された場合は、実Vol又はPoolを作成する要求に基づいて、実Vol又はPoolを作成する(ステップ1707)。
尚、混在の状態が許可されているか否かの判定は、図12Aの項目1201、図12Bの項目1211、図12Cの項目1222、又は図12Dの項目1232を参照して判定される。例えば、図12Aの設定方法で混在可否の項目1201に「1」が設定されている場合は、ストレージ管理プログラム212は、混在の状態を許可し、作成される実Vol又はPoolに混在の状態が生じる場合は、管理計算機140に対してアラート通知を行う。
ステップ1706において混在が許可されていないと判定された場合は、ストレージ管理プログラム212は、管理計算機140に対してエラーを通知して処理を終了する(ステップ1708)。
<ストレージ装置の実Vol又はPoolにLUを追加する場合の記憶領域の状態を制御する処理>
図17Bは、本発明の第1の実施の形態のストレージ装置120のストレージ管理プログラム212が実行する、実Vol又はPoolにLUを追加する場合における記憶領域の状態を制御する処理の一例を示すフローチャートである。
ストレージ装置120のストレージ管理プログラム212は、管理計算機140から実Vol又はPoolにLUを追加する要求を受信する(ステップ1711)。尚、受信した要求には、どのLUを、どの実Vol又はPoolに追加するかの情報が含まれる。例えば、容量拡張の場合、既存の拡張Vol(容量拡張機能におけるP−Vol1等)にLU3を追加するという情報が含まれる。
次に、ストレージ管理プログラム212は、前記要求によって指定されたVol又はPoolに対応する項目705から、前記要求によって指定されたVol又はPoolの状態(暗号の状態、平文の状態)を読み込む(ステップ1712)。
次に、ストレージ管理プログラム212は、前記要求によって指定されたVol又はPoolの状態と前記追加されるLUの状態とが異なるか否かを(どちらも暗号の状態など)判定する(ステップ1713)。
前記要求によって指定されたVol又はPoolと前記追加されるLUとの状態が異なる、即ち、当該LUを追加すると、前記要求を受けたVol又はPoolに混在の状態が生じると判定された場合は、ストレージ管理プログラム212は、混在可否設定情報207を読み込む(ステップ1714)。尚、前記要求によって指定されたVol又はPoolの状態と前記追加されるLUの状態とが等しいと判定された場合は、ステップ1717に進む。
次に、ストレージ管理プログラム212は、読み込まれた混在可否設定情報207に基づいて、混在の状態が許可されているか否かを判定する(ステップ1715)。
混在の状態が許可されていると判定された場合は、ストレージ管理プログラム212は、前記追加されるLUを前記要求によって指定されたVol又はPoolに追加すると、当該LUを追加した前記Vol又は前記Poolの状態が変わるか否かを判定する(ステップ1716)。例えば、暗号の状態のPoolに平文の状態のLUを追加する場合は、前記Poolは混在の状態になるため、状態が変わると判定される。
前記要求によって指定されたVol又はPoolに前記LUを追加すると、前記LUを追加した前記Vol又は前記Poolの状態が変わらないと判定された場合は、ストレージ管理プログラム212は、前記要求によって指定されたVol又はPoolに当該LUを追加し(ステップ1717)、処理を終了する。前記要求によって指定されたVol又はPoolに前記LUを追加すると、前記LUが追加されたVol又はPoolの状態が変わらないと判定される場合とは、例えば、混在の状態のPoolに、暗号の状態のLUが追加される場合である。この場合は、LU追加後のPoolの状態は、混在の状態であり、LUを追加する前の状態と変わらない。
尚、混在の状態が許可されているか否かの判定は、ステップ1706同様、図12Aの項目1201、図12Bの項目1211、図12Cの項目1222、又は図12Dの項目1232を参照して判定される。
ステップ1715において混在の状態が許可されていないと判定された場合は、ストレージ管理プログラム212は、管理計算機140に対してエラーを通知して処理を終了する(ステップ1718)。
ステップ1716において前記追加されるLUを前記要求によって指定されたVol又はPoolに追加すると、当該LUを追加した前記Volや前記Poolの状態が変わると判定された場合は、Vol又はPoolの状態が変更される要求であると判定し、後述するステップ1901に進む。
以上がストレージ装置の実Vol又はPoolへLUを追加する場合の記憶領域の状態を制御する処理についての説明である。
前述したストレージ装置の実Vol又はPoolへLUを追加する場合の記憶領域の状態を制御する処理の代表的な例として、暗号の状態のPoolへ平文のLUを追加する場合の例を説明する。尚、以下では、混在可否設定として、項目1102の「#2」の、Pool内に混在の状態が生じる場合はPoolを自動で暗号の状態に設定する。前記自動で暗号の状態にする処理を行う方法として、以下の3種類の方法を説明する。
第1の処理方法:RAIDグループ内の未使用の平文のLUを暗号の状態のPoolへ追加する要求を受けた場合。
LUを追加する要求を受け、ストレージ装置120の暗号化設定プログラム210は、前記の未使用の平文のRAIDグループを暗号化「On」に設定し、当該RAIDグループのLUを暗号データ格納用にフォーマットする。その後、ストレージ管理プログラム212が追加されるLU(暗号化「On」に設定されることによって暗号RAIDグループに属す)をPoolに追加する。
第2の処理方法:平文のRAIDグループ内の使用済み(既にデータが格納されている)LUを暗号の状態のPoolへ追加する要求を受けた場合。
単に、使用済みの平文のRAIDグループのLUを暗号化「On」にすると、平文のRAIDグループのLUが暗号データ用にフォーマットされて、平文のRAIDグループのLUに格納されているデータが消去される。このため、ストレージ管理プログラム212は、まず当該平文のRAIDグループのLUに格納されているデータを別のRAIDグループに全てコピー(退避)する。その後、暗号化設定プログラム210が当該平文のRAIDグループのLUを暗号化「On」にし、ストレージ管理プログラム212が前記の追加の要求を受けたLUをPoolに追加する。
第3の処理方法:第2の処理方法と同じ状況下における別の処理方法。
ストレージ管理プログラム212は、暗号のRAIDグループ内に追加する要求を受けたLUと同容量のLUを確保する。そして、前記暗号のRAIDグループのLUを平文のRAIDグループのLUの代わりにPoolに追加する。尚、予めPoolが、使用してよいLUの範囲をRAIDグループ番号などを使って割り当てておく。そして、ストレージ管理プログラム212が、割り当てられたLUの範囲内から必要な容量(例えば、ユーザに指定された容量や、データの書込みで使う分だけの容量など)の暗号のLUをPoolに追加してもよい。また、ストレージ管理プログラム212が任意の容量の空きがある記憶領域から必要な容量の暗号のLUをPoolに追加してもよい。以上がLUを追加する制御処理の代表例の説明である。
<ストレージ装置のVol又はPoolの相関付けを行う場合における記憶領域の状態の制御処理>
図18は、本発明の第1の実施の形態のストレージ装置120のストレージ管理プログラム212が実行するVol又はPoolの相関付けを行う場合における記憶領域の状態の制御処理の一例を示すフローチャートである。
ストレージ装置120のストレージ管理プログラム212は、管理計算機140からVol又はPoolの相関関係を設定する要求を受信する(ステップ1801)。尚、受信したVol又はPoolの相関関係を設定する要求は、どのVol又はPoolを相関付けるかの情報を含む。例えば、コピーペアを作成する場合、LU1をP−Vol1にしてLU2をP−Vol1のペアであるS−Vol1にする情報が含まれる。
次に、ストレージ管理プログラム212は、前記要求によって相関付けられるVol又はPoolの状態(暗号の状態、平文の状態)を読み込む(ステップ1802)。具体的には、既に項目703に登録済みのVol又はPoolを用いて相関付けをする場合は、項目705を参照してVol又はPolの状態を確認する。また、未登録のVol又はPoolを用いて相関付けを行う場合は、ステップ1801で受信したVol又はPoolについての情報に基づいて、前記Vol又は前記Poolを構成するLUのLU管理情報201の項目305を参照して、Vol又はPoolの状態を確認する。
例えば、新規にコピーペア(P−Vol1とS−Vol1)を作成する場合は、項目703にVolが登録されていないため、項目705からVolの状態を確認するのでなく、コピーペア作成の時に指定されたLUの情報に基づいて、LU管理情報201の項目305を参照してVolの状態を確認する。一方、既に登録済みのP−Vol1の別のコピーペアS−Vol2を作成する場合は、P−Vol1については項目705からVolの状態を確認することが可能である。尚、Poolについては、相関付けを行う前にPool作成を行って、項目703に登録している。しかし、これに限定せず、相関付けを行う際に登録するような形態でもよい。
次に、ストレージ管理プログラム212は、前記要求をうけて相関付けられるVol又はPoolが全て同じ状態(全て暗号の状態又は全て平文の状態)であるか否か判定する(ステップ1803)。
前記要求によって相関付けられるVol又はPoolが全て同じ状態ではない、即ち、VolやPool間で状態が一致していないと判定された場合は、ストレージ管理プログラム212は、混在可否設定情報207を読み込む(ステップ1804)。尚、前記要求によって相関付けられるVol又はPoolが全て同じ状態であると判定された場合は、ステップ1806に進む。
次に、ストレージ管理プログラム212は、前記要求が混在可否設定に違反するか否かを判定する(ステップ1805)。
前記要求が混在可否設定に違反しないと判定された場合は、Vol又はPoolの相関付けを行い処理を終了する(ステップ1806)。具体的には、図7Aの項目703及び項目706に相関付けされた情報を更新する。
尚、前記要求が混在可否設定に違反するか否かの判定は、図12の項目1202、項目1212、項目1223又は項目1232を参照して判定される。例えば、図12Aに示す方法で混在可否が設定され、項目1202に「1」が設定されている場合は、ストレージ管理プログラム212は、例えば、P−Volが暗号の状態でS−Volが暗号の状態のコピーペア作成は許可し、P−Volが暗号の状態でS−Volが平文の状態のコピーペア作成は禁止する。
ステップ1805において、前記要求が混在可否設定に違反すると判定された場合は、ストレージ管理プログラム212は、管理計算機140に対してエラーを通知して処理を終了する(ステップ1807)。
<ストレージ装置の記憶領域の状態を変更する操作における制御処理>
図19Aは、本発明の第1の実施の形態のストレージ装置120の暗号化設定プログラム210が実行する、Vol又はPoolの状態を変更する操作の制御処理の一例を示すフローチャートである。以降、記憶領域の状態を変更することを、状態変更という。
ストレージ装置120の暗号化設定プログラム210は、管理計算機140からVol又はPool等の記憶領域の状態変更、例えば、暗号の状態から平文の状態への変更等、の要求を受信する(ステップ1901)。尚、受信した要求には、どのVolやPoolをどの状態に変更するかの情報が含まれる。例えば、コピーペア機能で使用しているP−Vol1を暗号の状態から平文の状態に変更する情報が含まれる。
次に、暗号化設定プログラム210は、前記要求によって状態が変更されるVol又はPoolと相関するVol又はPoolがあるか否かを確認する(ステップ1902)。具体的には、前記要求によって状態が変更されるVol又はPoolに対応する項目706を参照し、状態が変更されるVol又はPoolが登録されていれば、相関するVol又はPoolがあると判定する。
状態が変更されるVol又はPoolと相関するVol又はPoolがあると判定された場合は、暗号化設定プログラム210は、状態変更が要求されたVol又はPoolの状態を変更した場合に、状態が変更されたVol又はPoolと相関するVol又はPoolとが全て同じ状態になるか否かを判定する(ステップ1903)。具体的には、項目705を参照し相関するVol又はPoolの状態を取得し、取得したVol又はPoolの状態と、状態変更後のVol又はPoolの状態とが全て同じになるか否かを判定する。
状態が変更されるVol又はPool及び相関するVol又はPoolが全て同じ状態にはならない、即ち、状態が変更されるVol又はPool及び相関するVol又はPool間で状態が一致しないと判定された場合は、暗号化設定プログラム210は、混在可否設定情報207を読み込む(ステップ1904)。尚、状態が変更されるVol又はPool及び相関するVol又はPoolが全て同じ状態になると判定された場合は、ステップ1906に進む。
次に、暗号化設定プログラム210は、前記状態変更の要求が混在可否設定に違反するか否かを判定する(ステップ1905)。
前記状態変更の要求が混在可否設定に違反しないと判定された場合は、暗号化設定プログラム210は、さらに、前記相関するVol又はPoolと相関関係が設定されているVol又はPoolがあるか否かを確認し、その後、前記状態変更の要求をうけたVol又はPoolの状態を変更する(ステップ1906)。但し、相関するVol又はPoolと相関関係が設定されているVol又はPoolがあるか否かを確認した情報は、新たな状態変更処理に用いてもよいし、保持するだけでもよい。尚、前記状態変更の要求が混在可否設定に違反しないか否かの判定は、図12Aの項目1202、図12Bの項目1212、図12Cの項目1223、図12Dの項目1232を参照して判定される。
例えば、図12Aの方法で混在可否の設定が行われ、項目1202に「1、4」が設定されている場合は、暗号化設定プログラム210は、例えば、P−Vol1が暗号の状態でS−Vol1も暗号の状態のコピーペアを作成する場合において、S−Vol1を平文の状態に変換する操作は「1」の設定に基づき禁止され、P−Vol1を平文の状態に変換する操作は「4」の設定に基づき許可される。
ステップ1905において、前記状態変更の要求が混在可否設定に違反すると判定された場合は、暗号化設定プログラム210は、管理計算機140に対してエラーを通知して処理を終了する(ステップ1907)。
ストレージ装置120によっては、Volのカスケード構成が可能なものもある。
カスケード構成とは、例えば、P−Vol1のコピーをS−Vol1とし、さらに、このS−Vol1を新たな別のP−Vol(P−Vol2など)として、このP−Vol2のコピーを別のS−Vol(S−Vol2)に作成するという、多段階構成のことである。
前述した例では、S−Vol1とP−Vol2との実体は同じである。カスケード構成が可能なストレージ装置において、前記ストレージ装置の記憶領域の状態を変更する操作における制御処理の変形例として、以下に、図7B及び図19Bを用いて、差分部分について重点的に説明する。
図7Bは、本発明の第1の実施の形態のカスケード構成が可能なストレージ装置120におけるVol相関管理情報205の一例を示す説明図である。
図7Aに比べ新たな項目707を含む。項目707は、ストレージ装置120のVolが、カスケード構成となっているか否かを示す情報を格納する。
図7Bに示す例では、項目707は、「グループ−階層」の形式でデータを格納する。「グループ」は、カスケード接続されたVolの集合(カスケード集合)を識別するための情報であり、そのVolがどのカスケード集合に属すかを示す。「階層」は、そのVolが当該カスケードグループ内の何階層目にあるかを示す。図7Bでは、P−Vol1には、「a−1」が登録されており、aグループに属しており、その中の第1階層(最上位の階層)にあることが分かる。尚、「a−2」の場合は、「a−1」の一つ下の階層であり、「a−1」とカスケード接続されている。「b−1」の場合は、「a−1」や「a−2」とは全く別のグループであることを示す。
図19Bは、本発明の第1の実施の形態のカスケード構成が可能なストレージ装置の暗号化設定プログラム210が実行する、VolやPoolの状態を変更する操作の制御処理の変形例の一例を示すフローチャートである。
ステップ1905において、前記状態変更の要求が混在可否設定に違反しないと判定された場合、暗号化設定プログラム210は、状態変更を要求されたVolがカスケード構成になっていて、上位階層にVolが接続されているか否かを判定する。つまり、上位階層にカスケード接続があるか否かを判定する。(ステップ1910)。具体的には、項目707を参照してカスケード構成になっているか否かを判定し、さらに上位階層に記憶領域があるか否かを、項目707の階層部分を参照して判定する。階層が1であれば、最上位階層であるため、上位階層はないと判定し、階層が2であればその上位の階層1があると判定する。
上位階層にカスケード接続がないと判定された場合は、ステップ1912に進む。上位階層にカスケード接続があると判定された場合は、暗号化設定プログラム210は、要求されている状態変更が、上位階層の記憶領域においても混在可否設定に違反するか否かを定判する(ステップ1911)。具体的には、下位階層の記憶領域の状態を変更することによって、上位階層の記憶領域の状態も変更される場合において、この上位階層の記憶領域の状態の変更が混在可否設定に違反するか否かを判定する。
上位階層の記憶領域において混在可否設定に違反すると判定された場合は、ステップ1907に進む。上位階層の記憶領域においても混在可否設定に違反しないと判定された場合は、暗号化設定プログラム210は、要求されたVol又はPoolの状態の変更を行う(ステップ1912)。
例えば、階層2のP−Volの状態を変更することは、階層2のP−Volと階層1のS−Volは実体は同じであるため、階層1のS−Volの状態を変更することでもある。ステップ1911では、この上位の階層(階層1)における状態変更が混在可否設定に違反するか否かを判定する。例えば、階層1のP−Vol、S−Volともに暗号の状態で、P−Volが暗号の状態ならS−Volも暗号の状態でなければならないという設定の場合、階層2のP−Vol(階層1のS−Vol)を暗号の状態から平文の状態へ変更することは、上位階層の記憶領域でも混在可否設定に違反するため、状態の変更が行われない。
次に、暗号化設定プログラム210は、状態変更を要求されたVolの下位階層にVolがあるか否かを判定する。つまり、下位階層にカスケード接続があるか否かを判定する(ステップ1913)。判定の方法は、ステップ1910と同様の方法を用いる。
下位階層にカスケード接続がないと判定された場合は、暗号化設定プログラム210は、処理を終了する。下位階層にカスケード接続があると判定された場合は、暗号化設定プログラム210は、状態変更の要求に基づいてVol又はPoolの状態を変更することが、下位階層の記憶領域にも影響を与えるか否かを判定する(ステップ1914)。
例えば、階層1のP−Vol、S−Vol、階層2のP−Vol及びS−Volともに平文の状態で、P−Volを暗号の状態にするとS−Volも暗号の状態にするという混在可否設定がなされている場合、階層1のP−Volを平文の状態から暗号の状態に変更すると、階層1のS−Volも暗号状態に変更される。ステップ1914では、この変更が階層2のVolにも影響を与えるか否かを判定する。具体的には、前記で階層1のS−Volが暗号の状態に変更されることによって、階層2のP−Volも状態の変更がなされる。さらに、混在可否設定に基づいて、階層2のS−Volも暗号の状態に変更する必要がある。このような場合、階層1の状態変更は、階層2のVolにも影響を与えると判定される。
下位階層の記憶領域に影響を与えないと判定された場合、暗号化設定プログラム210は、処理を終了する。一方、下位階層の記憶領域に影響を与えると判定された場合、暗号化設定プログラム210は、下位階層の記憶領域の状態も変更し(ステップ1915)、さらに下位階層にカスケード接続があるか否かを判定する(ステップ1916)。下位階層にカスケード接続がないと判定された場合は、処理を終了する。下位階層にカスケード接続があると判定された場合は、暗号化設定プログラム210はステップ1914に進み、下位階層のカスケード接続がなくなるまでステップ1914〜ステップ1916の処理を行い、さらに下位階層にカスケード接続がなくなった場合は処理を終了する。
尚、前述した記憶領域の状態を変更する操作における制御処理は、ストレージ装置120の各機能で定義されたVol又はPoolを状態変更の単位として制御処理を行った。但し、Poolを構成するLUを状態変更の単位としてもよい。
以下にLUを状態変更の単位とするストレージ装置120の制御処理を説明する。
図20は、本発明の第1の実施の形態のストレージ装置120の暗号化設定プログラム210が実行する、LUを状態変更の単位とする場合における制御処理の一例を示すフローチャートである。
ストレージ装置120の暗号化設定プログラム210は、管理計算機140からLUの状態変更の要求を受信する(ステップ2001)。尚、受信した状態変更の要求には、どのLUをどの状態に変更するかの情報が含まれる。例えば、CLA1−000のLUを暗号の状態から平文の状態に変更する情報が含まれる。
次に、暗号化設定プログラム210は、状態が変更されるLUを使うVol又はPoolがあるか否かを判定する(ステップ2002)。具体的には、項目704を参照して、状態変更の要求をされたLUが登録されているか否かを確認し、登録されていれば当該LUを使うVol又はPoolがあると判定する。
当該LUを使うVol又はPoolがあるを判定された場合は、暗号化設定プログラム210は、混在可否設定情報207を読込む(ステップ2003)。尚、当該LUを使うVolやPoolがないと判定された場合は、ステップ2010に進む。
次に、暗号化設定プログラム210は、当該LUを使うVol又はPoolが他のLUも含んでいるか否かを判定する(ステップ2004)。具体的には、当該LUを使うVol又はPoolについて、項目704を参照して、当該LU以外が登録されていれば、他のLUも含んでいると判定する。
当該LUを使うVol又はPoolが他のLUも含んでいないと判定された場合は、ステップ2007に進む。当該LUを使うVol又はPoolが他のLUも含んでいると判定された場合、暗号化設定プログラム210は、状態変更の要求に基づいてLUの状態を変更した場合に、当該LUとステップ2004で判定された他のLUとが全て同じ状態になるか否かを判定する(ステップ2005)。具体的には、ステップ2004で判定された他のLUの状態を、図3の項目305を参照して判定する。
当該LUと前記他のLUが全て同じ状態なると判定された場合は、ステップ2007に進む。当該LUと前記他のLUが全て同じ状態にはならないと判定された場合は、暗号化設定プログラム210は、ステップ2003で読込んだ混在可否設定情報207に基づいて、当該LUの状態を変更することが実Vol又はPool作成における混在可否設定に違反するか否かを判定する(ステップ2006)。尚、違反するか否かの判定は、ステップ1706の場合同様、図12の項目1201、又は項目1211、又は項目1222、又は項目1232を参照して行う。
当該LUの状態を変更することが実Vol又はPool作成における混在可否設定に違反すると判定された場合は、ステップ2011に進む。当該LUの状態を変更することが実Vol又はPool作成における混在可否設定に違反しないと判定された場合は、暗号化設定プログラム210は、状態変更の要求をうけたLUを使うVol又はPoolと相関するVol又はPoolがあるか否かを判定する(ステップ2007)。具体的には、状態変更の要求をうけたLUを使うVol又はPoolについて項目706を参照し、項目706にVol又はPoolが登録されていれば相関するVol又はPoolがあると判定する。
状態変更の要求をうけたLUを使うVol又はPoolと相関するVol又はPoolがないと判定された場合は、ステップ2010に進む。状態変更の要求をうけたLUを使うVol又はPoolと相関するVol又はPoolがあると判定された場合は、暗号化設定プログラム210は、状態変更の要求に基づいてLUの状態を変更した場合に、当該LUを使うVol又はPool及び相関するVol又はPoolが全て同じ状態になるか否かを判定する(ステップ2008)。具体的には、相関するVol又はPoolの状態を項目705を参照し、これらの状態と、当該LUの状態を変更することによって当該LUを使うVol又はPoolが遷移する状態とが全て同じになるか否かを判定する。
状態変更の要求に基づいてLUの状態を変更した場合に、当該LUを使うVol又はPool及び相関するVol又はPoolが全て同じ状態にはなると判定された場合は、ステップ2010に進む。状態変更の要求に基づいてLUの状態を変更した場合に、当該LUを使うVol又はPool及び相関するVol又はPoolが全て同じ状態にはならないと判定された場合は、暗号化設定プログラム210は、ステップ2005で読込んだ混在可否設定情報207に基づいて、前記要求された状態変更が混在可否設定に違反するか否かを判定する(ステップ2009)。
前記要求された状態変更が混在可否設定に違反しないと判定された場合は、暗号化設定プログラム210は、当該LUの状態変更を行う(ステップ2010)。尚、前記要求された状態変更が混在可否設定に違反しないか否かの判定は、ステップ1905同様、図12Aの項目1202、図12Bの項目1212、図12Cの項目1223、又は図12Dの項目1232を参照して判定する。ステップ2009において、前記要求された状態変更が混在可否設定に違反すると判定された場合は、暗号化設定プログラム210は、管理計算機140に対してエラーを通知して処理を終了する(ステップ2011)。
LUを状態変更の操作における処理の単位とする場合の制御処理の具体例として、容量が拡張されたVolを構成するLUの状態変更を例に説明する。
拡張Vol1は、LU1とLU2とを結合したVolであり、拡張Vol2は、LU3とLU4とを結合したVolである。また、拡張Vol1と拡張Vol2とはコピーペアの関係になっている。具体的には、拡張Vol1がP−Vol1であり、拡張Vol2がS−Vol1であり、P−Vol1のデータがS−Vol1にコピーされる。尚、P−Vol1(LU1とLU2)とS−Vol1(LU3とLU4)とは、ともに暗号の状態であるとする。また、混在可否設定は、図12Aの方法で設定され、項目1201には「1」が設定されていて、項目1202には「1、4、7」が設定されている場合を考える。
この状態で、LU3を暗号の状態から平文の状態へ変更する要求を受けると、暗号化設定プログラム210は、ステップ2004まで進み、S−Vol1はLU3以外のLU4も含むため(ステップ2004)、さらにステップ2005に進む。
ステップ2005において、LU3の状態を変更するとLU4と異なる状態になる(S−Vol1が混在の状態になる)ため、ステップ2006に進む。
ステップ2006において、項目1201に「1」が設定されていて、S−Volの混在の状態が許可されている。このため、LU3の状態変更は混在可否設定に違反しないと判定されて、ステップ2007に進む。
ステップ2007において、S−Vol1は、P−Vol1と相関関係があるため、ステップ2008に進む。
ステップ2008において、LU3の状態を変更するとS−Vol1は混在の状態となり、P−Vol1の暗号の状態と異なる状態になるため、ステップ2009に進む。
ステップ2009において、項目1202に「1」が設定されていて、P−Volが暗号の状態の時にS−Volが暗号の状態以外になることは禁止されている。このため、LU3の状態変更は混在可否設定に違反すると判定され状態変更は許可されず、ステップ2011に進み、管理計算機140にエラーが通知されて処理を終了する。
以上が、LUを状態変更の操作における処理の単位とする場合の制御処理の具体例である。
次に、前記記憶領域の状態を変更の操作における制御処理の特殊な例として、スナップショット機能でのS−Volの状態変更の操作における制御処理を例に説明する。
スナップショット機能のS−Volは、実データを格納しておらず、仮想的なVolである。この仮想的VolであるS−Volは、P−VolとPoolとの状態に依存しているため、P−VolとPoolとの状態によって、自らの状態が決まる。したがって、S−Volの状態を変更するためには、P−Vol又はPoolの状態を変更することによって、S−Volを任意の状態に変更可能である。そのため必ずしも仮想的なS−Volに直接、状態変更の要求できるようにする必要はない。但し、以下では仮想的なS−Volに直接、状態変更の要求が可能であるとし、その場合の状態変更の操作における制御処理を説明する。
図25は、本発明の第1の実施の形態のストレージ装置120の暗号化設定プログラム210が実行する、スナップショット機能のS−Volの状態を変更する操作における制御処理の一例を示すフローチャートである。
ストレージ装置120の暗号化設定プログラム210は、管理計算機140からスナップショットのS−Volを平文の状態へ(又は、暗号の状態へ)変更する要求を受信する(ステップ2501)。
暗号化設定プログラム210は、前記のS−Volが参照するPoolが平文の状態(又は、暗号の状態)であるか否かを判定する(ステップ2502)。
前記参照したPoolが平文の状態(又は、暗号の状態)であると判定された場合は、ステップ2508に進む。前記参照したPoolが平文の状態(又は、暗号の状態)でないと判定された場合は、暗号化設定プログラム210は、前記S−VolのペアとなっているP−Vol以外で、前記参照したPoolと相関する別のP−Volがあるか否かを判定する(ステップ2503)。具体的には、前記参照したPoolの項目706を参照して、S−VolのペアのP−Vol以外のP−Volが登録されているか否かを判定する。
前記参照したPoolと相関する別のP−Volがないと判定された場合は、ステップ2508に進む。前記参照したPoolと相関する別のP−Volがあると判定された場合は、暗号化設定プログラム210は、前記参照したPoolを平文の状態へ(又は、暗号の状態へ)状態を変更すると、前記参照したPoolと相関する別のP−Volの状態と、前記参照したPoolの状態とが異なってしまうものがあるか否かを判定する(ステップ2504)。
前記参照したPoolと相関する別のP−Volの状態とPoolの状態とが異なるP−Volがないと判定された場合は、ステップ2508に進む。前記参照したPoolと相関する別のP−Volの状態とPoolの状態とが異なるP−Volがある場合は、暗号化設定プログラム210は、混在可否設定情報207を読込む(ステップ2505)。
暗号化設定プログラム210は、ステップ2505で読み込んだ混在可否設定に基づいて、前記参照したPoolと相関する別のP−Volの状態の不一致が許可されているか否か判定する(ステップ2506)。具体的には、例えば、項目1113の「#1」が設定されていれば、不一致が許可されていると判定する。
前記参照したPoolと相関する別のP−Volの状態の不一致が許可されていないと判定された場合は、暗号化設定プログラム210は、S−Volの状態変更の要求を拒否する(ステップ2507)。尚、ステップ2507において、状態変更の要求を拒否する代わりに、Pool及び当該Poolに関連する全てのP−Volの状態を変更してもよく、この場合は状態の不一致が生じない。ステップ2506において、前記参照したPoolと相関する別のP−Volとの状態の不一致が許可されていると判定された場合は、暗号化設定プログラム210は、S−VolのペアになっているP−Volと、S−Volとが参照するPoolを平文の状態へ(暗号の状態へ)状態を変更する(ステップ2508)。
尚、前述した処理方法以外に、例えば、一度S−Volの状態の変更を行った場合は、以降S−Volの状態の変更を行うことは不可能にする処理をしてもよい。以上が、状態変更操作における制御処理の特殊な例の説明である。
尚、前述した記憶領域の状態を変更する処理は、管理者が明示的にVol又はPoolを指定して状態の変更を行うものであった。一方、管理者が混在可否設定の変更を行うことに伴ってVol又はPoolの状態を自動的に変更することもできる。
例えば、P−Volが暗号の状態で、S−Volが平文の状態である場合に、混在可否設定を、「P−Volが暗号の状態の時S−Volの平文の状態を許可する」から「P−Volが暗号の状態ならS−Volの平文の状態を暗号の状態へ変更する」に変更する。この場合、前記混在可否設定の変更によって、S−Volは暗号の状態へ変更される。このようにセキュリティを強めるように混在可否設定を変更した場合に記憶領域の状態が変更される。
以下では、混在可否設定を変更することによって記憶領域の状態を変更する操作における制御処理について説明する。尚、混在可否設定の変更としては、Vol又はPoolの混在可否設定(項目1102、項目1112)の変更と、相関するVol又はPoolの状態の一致/不一致の設定(項目1103、項目1113)の変更とがある。以下では、図11Aの管理画面1101を例に各設定変更における制御処理を説明する。
<混在可否設定変更に伴う状態変更における制御処理>
図26Aは、本発明の第1の実施の形態のストレージ装置120の混在可否設定プログラム211が実行する、Vol又はPoolの混在可否設定の変更に伴って記憶領域の状態を変更する操作における制御処理の一例を示すフローチャートである。
ストレージ装置120の混在可否設定プログラム211は、管理計算機140からVol又はPoolの混在可否設定の変更要求を受信する(ステップ2601)。尚、受信した変更要求には、どの設定に変更するかの情報が含まれる。
次に、混在可否設定プログラム211は、項目705を参照して、ストレージ装置120に混在の状態のVol又はPoolがあるか否かを判定する(ステップ2602)。
混在の状態のVol又はPoolがないと判定された場合は、ステップ2605に進む。混在の状態のVolやPoolがあると判定された場合は、混在可否設定プログラム211は、要求された混在可否設定の変更が「混在の状態のVolやPoolは自動で暗号化」への変更の要求か否かを判定する(ステップ2603)。
「混在の状態のVol又はPoolは自動で暗号化」への変更要求であると判定された場合は、混在可否設定プログラム211は、混在の状態のVol又はPoolを全て暗号の状態に変更する(ステップ2604)。そして、混在可否設定プログラム211は、混在可否の設定を要求された通りに変更する(ステップ2605)。
ステップ2603で、「混在の状態のVol又はPoolは自動で暗号化」への変更要求ではないと判定された場合は、混在可否設定プログラム211は、要求された設定変更が「混在許可(アラート通知)」への変更要求であるか否かを判定し(ステップ2606)、当該変更要求であると判定された場合は、混在の状態のVol又はPoolがあることを管理計算機140に通知する(ステップ2607)。その後、処理はステップ2605へ進む。
ステップ2606で、「混在許可(アラート通知)」への変更の要求ではないと判定された場合は、混在可否設定プログラム211は、混在の状態のVol又はPoolを管理計算機140及び計算機100から利用できなくする(ステップ2608)。利用できなくするとは、例えば、混在の状態のVol又はPoolにはデータを読み書きできなくする処理、又は、これらのVol又はPoolを使った管理機能(スナップショットの作成など)は実行できなくする処理、などである。混在可否設定プログラム211は、混在の状態のVol又はPoolを管理計算機140及び計算機100から利用できなくした後に、ステップ2605へ進む。
尚、ステップ2608において、混在の状態のVol又はPoolを利用できなくする処理以外に、混在の状態のVol又はPoolを全て平文の状態又は暗号の状態に変更する処理、混在の状態のVol又はPoolを全て平文の状態又は暗号の状態に変更した後に混在可否の設定を変更するように管理計算機140に通知する処理、及び要求された混在可否設定の変更は不可能であることを管理計算機140に通知する処理でもよい。
図26B〜図26Dは、本発明の第1の実施の形態のストレージ装置120の混在可否設定プログラム211が実行する、相関関係のあるVol又はPoolの混在可否設定の変更によって状態を変更する操作における制御処理の一例を示すフローチャートである。
ストレージ装置120の混在可否設定プログラム211は、管理計算機140から相関関係のあるVol又はPoolの混在可否設定の変更要求を受信する(ステップ2611)。尚、受信した前記変更要求には、どの設定に変更するかの情報が含まれる。
次に、混在可否設定プログラム211は、受信した変更要求が項目1103の#1〜#3の何れかの項目の設定変更であるかを前記変更要求を参照して判定する(ステップ2612)。
前記変更要求が項目1103の#1〜#3の何れかの設定変更であると判定された場合に、混在可否設定プログラム211は、混在可否設定に違反するVol又はPool(主Volが暗号の状態であるのに副Vol又は補助Volが暗号の状態でない等)があるか否かを判定する(ステップ2613)。具体的には、例えば、コピー機能の場合、図8に示すように主VolであるP−Volが暗号の状態になっていて(項目705を参照)、その副VolであるS−Vol(項目706を参照)が暗号の状態になっているか否かを判定する。
混在可否設定に違反するVol又はPoolがないと判定された場合は、ステップ2615へ進む。
混在可否設定に違反するVol又はPoolがあり、かつ、#1への設定の変更であると判定された場合は、混在可否設定プログラム211は、#1の設定に違反するVol又はPoolを使用不可にする(ステップ2614)。Vol又はPoolを使用不可にする処理は、例えば、混在可否設定に違反するVol又はPoolの相関関係を解除する処理(例えばP−VolとS−Volとのペアの関係の解除など)、混在可否設定に違反するVol又はPoolにはデータを読み書きできなくする処理、及び、混在可否設定に違反するVol又はPoolを使った管理機能、(コピーの作成等)は実行できないようにする処理、などである。
尚、ステップ2614において、混在可否設定に違反するVol又はPoolを利用不可にする処理以外に、混在可否設定に違反するVolやPoolを全て暗号の状態に変更する処理、混在可否設定に違反するVolやPoolを全て暗号の状態に変更した後に設定を変更するように管理計算機140に通知する処理、及び、VolやPoolの混在可否設定の変更は不可能であることを管理計算機140に通知する処理でもよい。
ステップ2613で、混在可否設定に違反するVol又はPoolがあり、かつ、#2への設定の変更の要求であると判定された場合は、暗号化設定プログラム210は、混在可否設定に違反するVol又はPoolを自動で暗号の状態に設定する(ステップ2617)。
ステップ2613で、混在可否設定に違反するVol又はPoolがあり、かつ、#3への設定変更の要求であると判定された場合は、混在可否設定プログラム211は、混在可否設定に違反するVol又はPoolがあることを管理計算機140へ通知する(ステップ2618)。
ステップ2614、2617及び2618の処理の実行後、混在可否設定プログラム211は、Vol又はPoolの混在可否設定の変更を行う(ステップ2615)。そして、混在可否設定プログラム211は、他に設定変更の要求があるか否かを判定する(ステップ2616)。
他に設定変更の要求がないと判定された場合は、混在可否設定プログラム211は処理を終了する。一方、他に設定変更の要求があると判定された場合は、ステップ2612に進む。
ステップ2612において、前記変更要求が項目1103の#1〜#3の何れかの項目の設定変更ではないと判定された場合、混在可否設定プログラム211は、前記変更要求が項目1103の#4〜#6の何れかの項目の設定変更であるか否かを判定する(ステップ2619)。
前記変更要求が項目1103の#4の項目への設定変更であると判定された場合は、ステップ2615へ進む。
前記変更要求が項目1103の#5の項目への設定変更であると判定された場合は、混在可否設定プログラム211は、#5の設定に違反するVol又はPoolがある(主Volが平文の状態であるのに対して、副Vol又は補助Volが暗号の状態である、等)か否かを判定する(ステップ2620)。具体的には、ステップ2613と同様にして判定する。
#5の設定に違反するVol又はPoolがあると判定された場合は、混在可否設定プログラム211は、#5の設定に違反するVol又はPoolを使用不可にする(ステップ2621)。使用不可にする処理は、例えば、前記のステップ2614で例として挙げた処理、及び、#5の設定に違反するVol又はPoolを全て平文/混在の状態に変更するなどの処理であってよい。#5の設定に違反するVolやPoolがないと判定された場合は、ステップ2615に進む。
前記変更要求が項目1103の#6の項目への設定変更であると判定された場合は、混在可否設定プログラム211は、#6の設定に違反するVol又はPool(主Volが平文の状態であるのに対して、副Vol又は補助Volが平文の状態でない等)があるか否かを判定する(ステップ2622)。具体的には、ステップ2613と同様にして判定する。
#6の設定に違反するVol又はPoolがあると判定された場合は、混在可否設定プログラム211は、#6の設定に違反するVol又はPoolを使用不可にする(ステップ2623)。使用不可にするとは、例えば、前記のステップ2614で例示した処理及び、#6の設定に違反するVol又はPoolを全て平文の状態に変更するなどの処理であってよい。#6の設定に違反するVolやPoolがないと判定された場合は、ステップ2615に進む。
ステップ2621及び2623の処理の実行後、ステップ2615に進む。
ステップ2619において、前記変更要求が項目1103の#4〜#6の何れかの項目の設定変更ではないと判定された場合は、混在可否設定プログラム211は、前記変更要求が項目1103の#7〜#9の何れかの項目の設定変更であるか否かを判定する(ステップ2624)。
前記変更要求が項目1103の#7の項目への設定変更であると判定された場合は、ステップ2615へ進む。
前記変更要求が項目1103の#8の項目への設定変更であると判定された場合は、混在可否設定プログラム211は、#8の設定に違反するVol又はPoolがある(例えば、主Volが混在の状態であるのに副Vol又は補助Volが暗号の状態である等)か否かを判定する(ステップ2625)。具体的には、ステップ2613と同様にして判定する。
#8の設定に違反するVol又はPoolがあると判定された場合は、混在可否設定プログラム211は、#8の設定に違反するVol又はPoolを使用不可にする(ステップ2626)。使用不可にする処理は、例えば、前記のステップ2621と同様の処理であってよい。#8の設定に違反するVol又はPoolがないと判定された場合は、ステップ2615に進む。
前記変更要求が項目1103の#9の項目への設定変更であると判定された場合は、混在可否設定プログラム211は、#9の設定に違反するVol又はPoolがあるか否かを判定する(ステップ2627)。具体的には、ステップ2613と同様にして判定する。
#9の設定に違反するVol又はPoolがあると判定された場合は、混在可否設定プログラム211は、#9の設定に違反するVol又はPoolを使用不可にする(ステップ2628)。使用不可にする処理は、例えば、前記のステップ2623と同様の処理、又は、#9の設定に違反するVol又はPoolを全て混在の状態に変更する処理でもよい。#9の設定に違反するVolやPoolがないと判定された場合は、ステップ2615に進む。
以上が、混在可否設定の変更に伴って記憶領域の状態を変更する操作における制御処理の説明である。
次に、管理計算機140で行う管理者の認証処理について説明する。前述したストレージ装置120の暗号化設定の処理、混在可否設定の処理、及び、ストレージ管理の処理は、管理計算機140で認証された管理者の指示に基づいて行われる。
以下に管理者の認証処理の詳細を説明する。尚、本実施の形態では、管理者の認証を管理計算機140で行っているが、それ以外の形態、例えば、ストレージ装置120で認証を行ってもよい。
<管理計算機における管理者の認証処理>
管理計算機140のアクセス制御プログラム246は、管理者からログイン要求を受信すると、管理者認証情報242に基づいて管理者を認証する。具体的には、アクセス制御プログラム246は、管理者から受信したユーザID及びパスワードが、管理者認証情報242のいずれか一つのエントリの項目901及び項目902に登録されている場合、管理者の認証に成功したと判定する。一方、管理者の認証に失敗した場合は処理を終了する。
管理者の認証に成功した場合、アクセス制御プログラム246は、管理者の権限情報を示すロールを確認し、確認したロールで許可されている操作の認証された管理者による実行を許可する。具体的には、項目903を参照して、例えば、管理者が、セキュリティ管理者のロールを持っていれば、暗号化設定などのセキュリティに関する操作を実行できるようにする。以降、管理計算機140は、認証が成功した管理者からの操作要求を受付けて、処理を実行する。
以上が本発明の第1の実施の形態の説明である。
次に、本発明の第2の実施の形態を説明する。
第2の実施の形態のシステム構成は、第1の実施の形態と同じである(図1参照)。このため、システム構成についての説明は省略する。
第1の実施の形態では、本当に暗号化による保護が必要なデータのみが暗号記憶領域に格納されているのか、又は、暗号記憶領域にしか容量が余っていないため、本来暗号化による保護が不要なデータ(すなわち、平文のまま格納されてもよいデータ)までもが暗号記憶領域に格納されているのか、を区別することができない。第1の実施の形態においてこのような区別がつくようにするには、保護不要なデータを平文記憶領域以外には格納してはならず、記憶領域の容量を有効に活用することができない。
そこで第2の実施の形態では、暗号化による保護が必要なデータが格納されている記憶領域を確実に区別できるように、記憶領域に新たな属性(保護属性)を付加する。尚、第2の実施の形態の構成及び処理のうち、第1の実施の形態と同じものについては説明を省略する。以下に詳細を述べる。
図27は、本発明の第2の実施の形態のLU管理情報201の一例を示す説明図である。
LU管理情報201は、新たなデータ項目2708を含む。
図27の項目2701、項目2702、項目2703、項目2704、項目2705、項目2706及び項目2707は、それぞれ、第1の実施の形態の項目301から項目307と同様である(図3参照)。
項目2708には、ストレージ装置120のLUに格納されているデータの保護が必要か否か(すなわち、格納されているデータの暗号化が必要か否か)を示す、保護属性の情報が格納される。図27の例では、保護が必要の場合は「有」、保護不要の場合は「無」が格納される。以下の説明において、保護属性が付加されたLUは、暗号の状態に設定される。但し、本実施形態は、上記のような形態に限定されない。例えば、暗号記憶領域以外の領域に保護属性を付加することが禁止されてもよい。保護属性が付加されたLU、Vol及びPoolの状態は「暗号(保護)」等になる。
図28は、本発明の第2の実施の形態の暗号化設定画面2801の一例を示す説明図である。
管理画面2801は、新たに項目2802及び項目2803の表示項目が追加されていることを除いて、図10に示す管理画面1001と同じである。項目2802は、LUに対して保護属性(項目2708)を設定するための操作ボタンであり、項目2803は、LUに設定された保護属性(項目2708)を解除するための操作ボタンである。
図29A〜図29Dは、本発明の第2の実施の形態における混在可否設定画面の一例を示す説明図である。
図29A〜図29Dは、本発明の第1の実施の形態における混在可否設定画面(図11A〜図11D)に対応する。
図29Aの混在可否設定画面2901は、項目2902、項目2903、項目2904及び項目2905の四つの表示項目を含む。
項目2904及び項目2905は、第1の実施の形態の項目1104及び項目1105と同様である(図11A参照)。
項目2902及び項目2903は、新たに保護属性に関する設定項目が追加されていることを除いて、図11Aの項目1102及び項目1103と同様である。具体的には、項目2902では、#4〜#6の設定項目が追加されており、項目2903では、#10〜#12の設定項目及び#13〜#15の設定項目が追加されている。これらの各設定項目の内容については、後で詳細に説明する。
例えば、項目2902で#4が設定された場合、保護属性が付加されたPoolに平文のLUを追加する操作が禁止される。これは、#4を設定することによって、Poolが混在の状態になる操作が禁止されるためである。項目2903で#10が設定された場合、P−Vol(すなわち主Vol)に保護属性が付加されると、当該P−Volとペアを構成するS−Vol(すなわち副Vol)も暗号の状態に設定される。
図29Bの混在可否設定画面2911は、項目2912、項目2913、項目2914、項目2915及び項目2916の五つの表示項目を含む。
項目2912、項目2913、項目2915及び項目2916は、それぞれ、第1の実施の形態の項目1112から項目1115と同様である(図11B参照)。さらに、本実施の形態の混在可否設定画面2911には、新たに保護属性の設定に関する表示項目2914が追加されている。
例えば、項目2914で#1が設定された場合、P−Volに保護属性が設定されると、当該P−Volに相関するPool(すなわち補助Vol)も暗号の状態に設定される。
図29Cの混在可否設定画面2921は、項目2922、項目2923、項目2924、項目2925、項目2926及び項目2927の六つの表示項目を含む。
項目2922、項目2923、項目2924、項目2926及び項目2927は、それぞれ、第1の実施の形態の項目1122、項目1123、項目1124、項目1126及び項目1127と同様である(図11C参照)。
項目2925は、新たに保護属性に関する設定項目が追加されていることを除いて、図11Cの項目1125と同じである。具体的には、項目2925には、#10〜#12の設定項目及び#13〜#15の設定項目が追加されている。
図29Dの混在可否設定画面2931は、項目2932、項目2933、項目2934、項目2935、項目2936及び項目2937の六つの表示項目を含む。
項目2932、項目2933、項目2934、項目2935及び項目2936は、それぞれ、第1の実施の形態の項目1132から項目1136と同様である。
さらに、本実施の形態の混在可否設定画面2931には、新たに保護属性の設定に関する表示項目2937が追加されている。
図30A〜図30Dは、本発明の第2の実施の形態の混在可否設定情報207の一例を示す説明図である。
図30A〜図30Dは、本発明の第1の実施の形態における混在可否情報、すなわち、図12A〜図12Dに対応する。
図30Aは、図29Aの方法で混在可否設定を行う場合における混在可否設定情報207である。
図30Aの混在可否設定情報207は、データ項目3001及び3002の二つのデータ項目を含む。
項目3001及び項目3002は、それぞれ、図12Aの項目1201及び項目1202と同様である。ただし、項目3001は項目2902で設定された情報を格納し、項目3002は項目2903で設定された情報を格納する。図29Aの例では、項目2903において#1、#4、#7、#10及び#13が設定されている。このため、図30Aの例では、項目3002に「1、4、7、10、13」が格納される。
図30Bは、図29Bの方法で混在可否設定を行う場合の混在可否設定情報207である。図30Bの混在可否設定情報207は、データ項目3011〜項目3013の三つのデータ項目から構成される。
項目3011及び項目3012は、それぞれ、図12Bの項目1211及び項目1212と同様である。ただし、項目3011は、項目2912で設定された情報を格納し、項目3012は、項目2913で設定された情報を格納し、項目3013は、項目2914で設定された情報を格納する。
図30Cは、図29Cの方法で混在可否設定を行う場合における混在可否設定情報207である。
図30Cの混在可否設定情報207は、項目3021、項目3022及び項目3023の三つのデータ項目を含む。
項目3021は、ストレージ装置120が備える管理機能の情報を格納する。項目3022は、項目2924で設定された情報を格納する。項目3023は、項目2925で設定された情報を格納する。
図30Dは、図29Dの方法で混在可否設定を行う場合における混在可否設定情報207である。図30Dの混在可否設定情報207は、項目3031、項目3032及び項目3033の三つのデータ項目を含む。
項目3031は、ストレージ装置120が備える管理機能の情報を格納する。項目3032は、項目2934で設定された情報を格納する。項目3033は、項目2937で設定された情報を格納する。
次に、ストレージ装置120が記憶領域に保護属性を付加する処理について説明する。
<保護属性の付加処理>
図32Aは、本発明の第2の実施の形態のストレージ装置120の暗号化設定プログラム210が実行する、Vol又はPoolに保護属性を付加する処理の一例を示すフローチャートである。
ストレージ装置120の暗号化設定プログラム210は、管理計算機140からVol又はPool等の記憶領域に保護属性を付加する要求を受信する(ステップ3201)。受信した要求には、保護属性が付加されるべきVol又はPoolを指定する情報が含まれる。
暗号化設定プログラム210は、指定されたVol又はPoolに既に保護属性が付加されているか否かを、項目705を参照して判定する(ステップ3202)。例えば、項目705に「暗号(保護)」が格納されていれば、保護属性が付加されていると判定される。
保護属性が付加されていると判定された場合、暗号化設定プログラム210は、処理を終了する。保護属性が付加されていないと判定された場合、暗号化設定プログラム210は、指定されたVol又はPoolと相関するVol又はPoolがあるか否かを判定する(ステップ3203)。具体的には、指定されたVol又はPoolについて項目706を参照し、Vol又はPoolが登録されていれば、相関するVol又はPoolがあると判定される。
指定されたVol又はPoolと相関するVol又はPoolがあると判定された場合、暗号化設定プログラム210は、指定されたVol又はPool及びそれに相関するVol又はPoolの少なくとも一つが暗号の状態以外の状態(すなわち平文の状態又は混在の状態)の記憶領域であるか否かを判定する(ステップ3204)。具体的には、該当するVol又はPoolの状態が、項目705を参照して判定される。
指定されたVol又はPool及びそれに相関するVol又はPoolの少なくとも一つが暗号の状態以外の記憶領域であると判定された場合、暗号化設定プログラム210は、前記暗号の状態以外の記憶領域の状態を暗号の状態に設定する(ステップ3205)。
次に、暗号化設定プログラム210は、指定されたVol又はPoolに保護属性を付加し(すなわち、図7Aの項目705を「暗号(保護)」に更新し)(ステップ3206)、処理を終了する。
ステップ3203において、指定されたVol又はPoolと相関するVol又はPoolがないと判定された場合、暗号化設定プログラム210は、指定されたVol又はPoolが暗号の状態か否かを判定する(ステップ3207)。
指定されたVol又はPoolが暗号の状態でないと判定された場合、処理はステップ3205に進む。指定されたVol又はPoolが暗号の状態であると判定された場合、処理はステップ3206に進む。
ステップ3204において、指定されたVol又はPool及びそれに相関するVol又はPoolのいずれも暗号の状態であると判定された場合、処理はステップ3206に進む。
以上が保護属性を付加する処理の説明である。
次に、前記保護属性の付加処理の変形例として、カスケード構成が可能なストレージ装置120における保護属性の付加処理について、図32Bを用いて、図32Aとの差分を重点的に説明する。
図32Bは、図32Aの処理の変形例を示すフローチャートである。
ステップ3201〜ステップ3207は、それぞれ、図32Aのステップ3201〜ステップ3207と同様である。
ステップ3204において「No」と判定されたか、又は、ステップ3205が実行された後、暗号化設定プログラム210は、保護属性を付加する対象として指定されたVolがカスケード構成になっており、かつ、そのVolの上位又は下位階層のVolがあるか否かを判定する。つまり、暗号化設定プログラム210は、指定されたVolの上位又は下位の少なくとも一方にカスケード接続されたVolがあるか否かを判定する(ステップ3210)。
具体的には、暗号化設定プログラム210は、図7Bの項目707を参照して、カスケード構成になっているか否かを判定する。上位又は下位階層に記憶領域があるか否かは、図7Bの項目707の階層部分を参照することによって判定される。
例えば、指定されたVolに対応する項目707の階層部分の値が1であれば、指定されたVolは最上位階層であるため、それより上位の階層にカスケード接続されたVolはないと判定される。一方、その階層部分の値が2であれば、指定されたVolの上位の階層にカスケード接続されたVolがあると判定される。
下位階層については、図7Bの項目707を参照して、指定されたVolが属するグループ内に、指定されたVolより下の階層のVolが登録されている場合、指定されたVolの下位の階層にカスケード接続されたVolがあると判定される。一方、そのグループ内に、指定されたVolより下の階層のVolが登録されていない場合、指定されたVolの下位の階層にカスケード接続されたVolがないと判定される。
上位又は下位のいずれにもカスケード接続されたVolがないと判定された場合、暗号化設定プログラム210は、ステップ3206に進む。
一方、上位又は下位の少なくとも一方にカスケード接続されたVolがあると判定された場合、暗号化設定プログラム210は、指定されたVolの上位及び下位の階層のVol、及びそれらと相関するVol又はPoolの少なくとも一つが暗号の状態以外の記憶領域であるか否かを判定する(ステップ3211)。具体的には、相関するVol又はPoolの情報は、図7Bの項目706から取得され、暗号の状態以外の記憶領域があるか否かは図7Bの項目705を参照して判定される。
上記のVol又はPoolのいずれも暗号の状態であると判定された場合、暗号化設定プログラム210は、ステップ3213に進む。一方、上記のVol又はPoolの少なくとも一つが暗号の状態以外の記憶領域であると判定された場合は、暗号化設定プログラム210は、暗号の状態以外の記憶領域の状態を暗号の状態に設定する(ステップ3212)。
次に、暗号化設定プログラム210は、指定されたVolの上位又は下位の階層にカスケード接続されたVolが他にあるか否かを判定する(ステップ3213)。この判定は、図7Bの項目707を参照して実行される。
他に上位又は下位の階層にカスケード接続されたVolがないと判定された場合、暗号化設定プログラム210は、ステップ3206に進む。一方、他に上位又は下位の階層にカスケード接続されたVolがあると判定された場合、暗号化設定プログラム210は、ステップ3211に進む。その場合、暗号化設定プログラム210は、ステップ3211〜ステップ3213の処理を、上位又は下位の階層にカスケード接続された全てのVolについて実行し、それが終了したら処理はステップ3206へ進む。
以上が、カスケード構成が可能なストレージ装置120における保護属性の付加処理である。尚、上記の処理によれば、ストレージ装置120の機能によって定義されたVol又はPoolごとに保護属性が付加される。しかし、より細かい単位で保護属性が付加されてもよい。例えば、Poolを構成するLUごとに保護属性が付加されてもよい。
次に、LUごとに保護属性を付加するストレージ装置120の制御処理を説明する。
図32Cは、本発明の第2の実施の形態のストレージ装置120の暗号化設定プログラム210が実行する、LUごとに保護属性を付加する処理の一例を示すフローチャートである。
ストレージ装置120の暗号化設定プログラム210は、管理計算機140からLUへ保護属性を付加する要求を受信する(ステップ3221)。受信した前記要求には、保護属性が付加されるべきLUを指定する情報が含まれる。例えば、受信した前記要求には、CLA1−000のLUに保護属性を付加するという情報が含まれる。
次に、暗号化設定プログラム210は、指定されたLUに既に保護属性が付加されているか否かを、図27の項目2708を参照して判定する(ステップ3222)。
次に、暗号化設定プログラム210は、指定されたLUを使うVol又はPoolがあるか否かを判定する(ステップ3223)。具体的には、暗号化設定プログラム210は、項目704を参照し、指定されたLUが登録されているか否かを確認し、登録されていれば当該LUを使うVol又はPoolがあると判定する。
指定されたLUを使うVol又はPoolがあると判定された場合、暗号化設定プログラム210は、指定されたLUを使うVol又はPoolへの保護属性の付加を要求されているとみなして、ステップ3201へ進み、Vol又はPoolへの保護属性の付加処理を行う。
一方、指定されたLUを使うVol又はPoolがないと判定された場合、暗号化設定プログラム210は、当該LUが暗号の状態であるか否かを判定する(ステップ3224)。
指定されたLUが暗号の状態であると判定された場合、暗号化設定プログラム210は、ステップ3226に進む。一方、指定されたLUが暗号の状態でないと判定された場合、暗号化設定プログラム210は、指定されたLUを暗号の状態に設定する(ステップ3225)。
次に、暗号化設定プログラム210は、指定されたLUに保護属性を付加し(すなわち項目2708を更新し)(ステップ3226)、処理を終了する。
上記の保護属性の付加処理では、保護属性を付加する対象であるVol、Pool又はLUの状態が暗号の状態以外である場合、これらの記憶領域に格納されるデータが暗号化され、さらに、保護属性が付加される。しかし、上記以外の実施形態が実現されてもよい。例えば、暗号の状態でないVol、Pool又はLUへの保護属性の付加を禁止する混在可否設定がされてもよい。その場合、保護属性の設定の対象であるVol、Pool又はLUの状態が暗号の状態以外であれば、保護属性の付加はできない。
次に、第2の実施の形態における、Vol又はPoolの新規作成、既存のVol又はPoolの構成変更(容量追加など)、Vol又はPoolの相関関係の設定、及び、Vol又はPoolの状態変更、の操作の制御処理について説明する。
前記の処理の流れは、第1の実施の形態と同様である。第2の実施の形態は、混在可否設定の項目として、新たに保護属性に関する設定項目が追加されている点において、第1の実施の形態と相違する。以下に、図29を用いて保護属性に関する設定についての詳細を説明する。尚、図29Cの保護属性の設定項目は図29Aのそれと同じであり、図29Dの保護属性の設定項目は図29Bのそれと同じである。このため、図29A及び図29Bを用いて説明する。
図29Aの保護属性に関する設定項目は、項目2902の#4〜#6、項目2903の#10〜#12、及び#13〜#15である。
項目2902の#4〜#6は、実Vol又はPoolに保護属性が付加されている(又はこれから付加される)場合に、その実Vol又はPoolをどのように制御するかを規定する。
項目2903の#10〜#12は、主Volに保護属性が付加されている(又はこれから付加される)場合に、それに相関する副Vol又は補助Volをどのように制御するかを規定する。
項目2903の#13〜#15は、主Volには保護属性が付加されていないが、主Vol以外に保護属性が付加されている(又はこれから付加される)場合に、それに相関する主Vol及びその他のVolをどのように制御するかを規定する。
項目2903の#10〜#12の設定と、#13〜#15の設定とを分離したのは、例えば、主Volに保護属性を付加する場合は、関連するVol全てを暗号の状態に設定するが、主Volに保護属性が付加されていないのに副Volや補助Volに保護属性を付加するのは禁止するといった運用を可能にするためである。
次に、項目2902の個々の設定について説明する。
#4の設定によれば、実Vol又はPoolに保護属性が付加されると、その実Vol又はPool全体が暗号の状態に設定される。以降、この設定が他の設定より優先される。すなわち、保護属性を付加された実Vol又はPoolを平文/混在の状態にする処理は禁止される。他の設定より優先するとは、例えば、#1で混在の状態が許可の設定がされていても、保護属性が付加されている実Vol等に関しては、平文/混在の状態にする処理が禁止される。
#5の設定によれば、実Vol又はPoolに保護属性がこれから付加される(又は既に付加されている)場合、他の設定より優先して実Vol又はPool全体が自動で暗号の状態に設定される。
#6の設定によれば、保護属性は、暗号の状態である実Vol又はPoolのみに付加することがでる。すなわち、暗号の状態でない実Vol等に保護属性を付加することができない。以降、この設定が他の設定より優先され、保護属性を付加された実VolやPoolを平文/混在の状態にする処理は禁止される。
次に、項目2903の個々の設定について説明する。
#10の設定によれば、主Volに保護属性が付加されると、それに相関する副Vol又は補助Volも全て暗号の状態に設定される。さらに、既に保護属性が付加されている主Volに、暗号の状態以外の副Vol又は補助Volが相関付けられると、これらの副Vol又は補助Volも全て暗号の状態に設定される。
#11の設定によれば、主Volに保護属性が付加されると、それに相関する副Vol又は補助Volも全て暗号の状態に設定され、さらに、それらにも保護属性が付加される。さらに、既に保護属性が付加されている主Volに、暗号の状態以外の副Vol又は補助Volが相関付けされると、これらの副Vol又は補助Volも全て暗号の状態に設定され、さらにそれらにも保護属性が付加される。
#12の設定によれば、主Volに保護属性が付加されているときに、それに相関付けられようとする副Vol又は補助Volの少なくとも一つが暗号の状態以外の記憶領域である場合、その相関関係を設定することが許可されない。さらに、主Volに保護属性を付加しようとするときに、既に相関付けられている副Vol又は補助Volの少なくとも一つが暗号の状態以外の記憶領域である場合、主Volに保護属性を付加することが許可されない。
#13の設定によれば、主Volに保護属性が付加されていない場合であっても、主Volと相関する副Vol又は補助Volに保護属性が付加されると、主Volを含め、相関する他のVolも全て暗号の状態に設定される。さらに、主Vol以外のVolに既に保護属性が付加されている場合に、そのVolに主Vol又はその他のVolが相関付けられると、それらの主Vol又はその他のVolも全て暗号の状態に設定される。
#14の設定によれば、主Volに保護属性が付加されていない場合であっても、主Volと相関する副Vol又は補助Volに保護属性が付加されると、主Volを含め、相関する他のVolも全て暗号の状態に設定され、さらに、それらにも保護属性が付加される。さらに、主Vol以外のVolに既に保護属性が付加されている場合に、そのVolに主Vol又はその他のVolが相関付けられると、それらの主Vol又はその他のVolも全て暗号の状態に設定され、さらに保護属性が付加される。
#15の設定によれば、主Volには保護属性が付加されていないが、それに相関付けようとする副Vol又は補助Volの少なくとも一つに保護属性が付加されている場合、その相関関係を設定することが許可されない。さらに、主Vol以外のVolに保護属性を付加しようとするときに、そのVolに既に相関している主Volに保護属性が付加されていない場合、その保護属性の付加が許可されない。
図29Bの保護属性に関する設定項目は、項目2914の#1〜#3である。#1〜#3は、Volに保護属性が付加されている(又はこれから付加される)場合に、それに相関する他のVolをどのように制御するかを規定する。以下、それぞれの設定について説明する。
#1の設定によれば、任意のVolに保護属性が付加されると、それに相関するVolも全て暗号の状態に設定される。さらに、既に保護属性が付加されている任意のVolに、その他のVolが相関付けられると、それらのその他のVolも全て暗号の状態に設定される。
#2の設定によれば、任意のVolに保護属性が付加されると、それに相関するVolも全て暗号の状態に設定され、さらに、それらの相関するVol全てに保護属性が付加される。さらに、既に保護属性が付加されている任意のVolに、その他のVolが相関付けられると、それらのその他のVolも全て暗号の状態に設定され、さらに保護属性が付加される。
#3の設定によれば、任意のVolに保護属性が付加されているときに、そのVolに相関付けようとするVolが暗号の状態以外の記憶領域を含む場合、その相関関係を設定することが許可されない。さらに、任意のVolに保護属性を付加しようとするときに、そのVolに既に相関しているVolが暗号の状態でない記憶領域を含む場合、保護属性を付加することが許可されない。
以上が、新たに追加された混在可否設定に関する設定項目の説明である。
次に、新たな項目が追加された混在可否設定を用いた代表的な処理として、保護属性が付加されているPoolにLUを追加する処理を、図17Bを用いて、また、保護属性が付加されているP−Volを使ってスナップショットを作成する処理を、図18を用いて説明する。尚、説明を簡易にするため、図17Bの説明においてPoolは、まだ他のVolと相関付けされていないとする。また、以下の図17B及び図18の説明は、図29Aの項目2902の#4及び項目2903の#12が設定されている場合の例である。
以下、第2の実施の形態の図17B及び図18における処理のうち、第1の実施の形態における処理と異なる部分について説明する。
<保護属性が付加されているPoolにLUを追加する処理>
ストレージ装置120のストレージ管理プログラム212は、PoolへLUを追加する要求を管理計算機140から受信する(ステップ1711)。受信した要求には、どのPoolにどのLUを追加するかを指定する情報が含まれる。
次に、ストレージ管理プログラム212は、指定されたPoolの状態(すなわち暗号の状態又は平文の状態)を確認する(ステップ1712)。この確認のために、図7Bの項目704が参照される。この例において、指定されたPoolには保護属性が付加されているため、暗号(保護)等の情報が登録されている。
次に、ストレージ管理プログラム212は、要求によって指定されたPoolと、要求によって指定されたLUとの状態が異なるか否かを判定する(ステップ1713)。具体的には、ストレージ管理プログラム212は、ステップ1711で受信した要求によって追加されるLUに関する情報に基づいて、図27の項目2705を参照する。そして、ストレージ管理プログラム212は、項目2705が「暗号」であれば状態が異ならない、「暗号」以外であれば状態が異なる、と判定する。
指定されたPoolと、指定されたLUとの状態が異なる場合(すなわち、平文の状態のLUがPoolに追加される場合)、ストレージ管理プログラム212は、混在可否設定情報207を確認する(ステップ1714)。
次に、ストレージ管理プログラム212は、ステップ1714で読み込んだ混在可否設定情報207に基づいて、混在の状態が許可されているか否かを判定する(ステップ1715)。この例において、Poolには保護属性が付加されており、保護属性に関する設定として項目2902の#4が設定(すなわち、保護が設定されている場合、平文の状態又は混在の状態に設定するのは禁止)されているため、要求された操作(すなわち、暗号(保護)の状態のPoolへ平文の状態のLUを追加すること)は禁止される(ステップ1718)。
一方、ステップ1713において、指定されたPoolと、指定されたLUとの状態が同じである場合(すなわち、暗号の状態のLUがPoolに追加される場合)、要求された操作(すなわち、暗号(保護)の状態のPoolへ暗号の状態のLUを追加すること)は許可される(ステップ1717)。
以上が、保護属性が付加されているPoolにLUを追加する処理の一例についての説明である。
次に、保護属性が付加されているP−Volを使ってスナップショットを作成する処理を説明する。
<保護属性が付加されているP−Volを使ってスナップショットを作成する処理>
ストレージ装置120のストレージ管理プログラム212は、管理計算機140からP−Vol(保護属性つき)とPoolとを使ってスナップショットを作成する要求を受信する(ステップ1801)。受信した要求には、相関付けられるVol及びPoolを指定する情報が含まれる。
次に、ストレージ管理プログラム212は、指定されたVol及びPoolの状態(すなわち暗号の状態又は平文の状態)を確認する(ステップ1802)。具体的には、既に登録済み(すなわち項目703に既に登録済み)のVolを用いて相関付けを行う場合、ストレージ管理プログラム212は、項目705を参照することによって、Volの状態を確認する。未登録のVolを用いて相関付けを行う場合、ストレージ管理プログラム212は、ステップ1801で受信したVolについての情報(すなわち、P−VolとしてどのLUを使用するか、PoolとしてどのLUを使用するかを指定する情報)を基に、これらの使用されるLUに対応するLU管理情報201の項目2705を参照する。この参照された項目2705がP−Vol及びPoolの状態として判定される。
次に、ストレージ管理プログラム212は、指定されたVol及びPoolが全て同じ状態である(例えば、全て暗号の状態である、など)か否かを判定する(ステップ1803)。この例では、P−Volに保護属性が付加されているため、平文の状態のPoolを指定してスナップショットの作成を行う要求があった場合、ストレージ管理プログラム212は、同じ状態ではないと判定して、混在可否設定情報207を読み込む(ステップ1804)。
次に、ストレージ管理プログラム212は、ステップ1804で読み込んだ混在可否設定情報207に基づいて、要求されたスナップショットの作成が混在可否設定に違反するか否かを判定する(ステップ1805)。この例では、P−Volに保護属性が付加されており、保護属性に関する設定として項目2903の#12の設定(すなわち、P−Volに保護属性が付加されている場合は、相関するPoolなどの平文/混在の状態は認めない)がなされているため、要求されたスナップショットの作成は行われない(ステップ1807)。
ステップ1803において、指定されたVol及びPoolの状態が全て同じであると判定された場合(すなわち、暗号の状態のPoolが指定された場合)、要求されたスナップショットの作成は許可される(ステップ1806)。
以上は、保護属性が付加されているPool及びVolを使った管理操作における制御処理の一例である。
尚、第2の実施の形態によれば、保護属性が付加されてないPoolやVolを使った管理操作においても、第1の実施の形態よりも多くのことを判定できる。例えば、暗号の状態のPoolに平文のLUを追加する要求があった場合、第1の実施の形態では、平文のLUを追加してよいか否かという判定ができない。例えば、単純に混在の状態を禁止すると、暗号化による保護が不要な暗号の状態のPool(例えば、暗号記憶領域しか余っていないために、それを使うことによって暗号の状態になっているだけのPool)に、平文のLUを追加することができない。このため、記憶領域の容量を効率的に活用することができない。
一方、第2の実施の形態では、暗号の状態のPoolに保護属性が付加されているか否かを判定することによって、平文のLUを追加することの可否を判定できる。具体的には、暗号化による保護が不要なPoolには平文のLUを追加し、暗号化による保護が必要なPoolには平文のLUを追加しないといった、確実な制御が可能である。これによって、第1の実施の形態に比べ、記憶領域の容量をより効率的に活用することができる。
次に、第2の実施形態における、混在可否設定の変更に伴って状態を変更する操作の制御処理について説明する。これらの処理の流れは、基本的には第1の実施の形態と同様であるが、新たに保護属性が付加されたことによって、図26B〜図26Dの処理における分岐が増える。但し、図26Aの処理においては、第2の実施の形態で新たな設定項目(項目2902の#4〜#6)が追加されたが、項目2902の#4〜#6の設定変更を行っても関連する実Vol及びPoolの状態が変更されることはない。このため、第2の実施の形態でも処理の流れは第1の実施の形態の処理(図26Aの処理)と同様である。以下、第2の実施の形態の処理が第1の実施の形態の処理と相違する点について、図31A〜図31Cを用いて説明する。
図31A〜図31Cは、本発明の第2の実施の形態のストレージ装置120の混在可否設定プログラム211が実行する、相関するVol及びPoolの状態の一致/不一致の設定の変更に伴って状態を変更する操作の制御処理の一例を示すフローチャートである。
ストレージ装置120の混在可否設定プログラム211は、図26Cのステップ2619において項目2903の#4〜#6の項目の設定変更が要求されていないと判定された場合、項目2903の#7〜#9の何れかの項目の設定変更が要求されたか否かを判定する(ステップ3101)。
項目2903の#7〜#9の何れかの項目の設定変更が要求された場合、混在可否設定プログラム211は、#7の項目への設定変更が要求されたか否かを判定する。#7の項目への設定変更が要求された場合、処理はステップ2615へ進み、#8の項目への設定変更又は#9の項目への設定変更が要求された場合は第1の実施の形態と同様の処理(ステップ2620、2612等)が実行される。
ステップ3101において、項目2903の#7〜#9の何れかの項目の設定変更が要求されていない場合、混在可否設定プログラム211は、項目2903の#10〜#12の何れかの項目の設定変更が要求されたか否かを判定する(ステップ3111)。
項目2903の#10〜#12の何れかの項目の設定変更が要求された場合、混在可否設定プログラム211は、#10又は#12の項目への設定変更が要求されたか否かを判定する。#10又は#12の項目への設定変更が要求された場合、処理はステップ2615へ進む。
#11の項目への設定変更が要求された場合、混在可否設定プログラム211は、#11に該当するVol又はPool、例えば、主Volに保護属性が付加されているが副Volや補助Volに保護属性が付加されていないVol又はPoolがあるか否かを判定する(ステップ3112)。具体的には、混在可否設定プログラム211は、項目705を参照して、主Volのうち保護属性が付加されているものを確認する。そして、混在可否設定プログラム211は、保護属性が付加された主Volの項目706を参照して、それに相関するVol又はPoolの情報を取得し、それらの状態を項目705から取得することによって、ステップ3112の判定を実行する。
#11に該当するVol又はPoolがない場合、処理はステップ2615へ進む。一方、#11に該当するVol又はPoolがある場合、混在可否設定プログラム211は、該当するVol又はPoolに保護属性を付加する(ステップ3113)。
ステップ3111で、#10〜#12の何れかの項目の設定変更が要求されていないと判定された場合、混在可否設定プログラム211は、#14の項目への設定変更が要求されたか否かを判定する(ステップ3114)。
#14の項目への設定変更が要求されていない場合、処理はステップ2615へ進む。一方、#14の項目への設定変更が要求された場合、混在可否設定プログラム211は、#14に該当するVol又はPoolがあるか否かを判定する(ステップ3115)。#14に該当するVol又はPoolとは、例えば、主Vol以外に保護属性が付加されているが、それと相関する主Vol、その他のVol又はPoolに保護属性が付加されていないVol又はPoolである。具体的には、混在可否設定プログラム211は、項目705を参照して、主Vol以外のVolのうち保護属性が付加されているものを参照する。そして、混在可否設定プログラム211は、保護属性が付加されているVolの項目706を参照して、それに相関するVol又はPoolの情報を取得し、それらの状態を項目705から取得することによって、ステップ3115の判定を実行する。
#14に該当するVol又はPoolがない場合、処理はステップ2615へ進む。一方、#14に該当するVol又はPoolがある場合、混在可否設定プログラム211は、#14に該当するVol又はPoolに保護属性を付加する(ステップ3116)。
以上が、第2の実施の形態の説明である。
尚、第1の実施の形態及び第2の実施の形態において、実Vol及びPoolの混在可否設定によって、暗号と平文との混在の可否だけでなく、暗号記憶領域にデータを暗号化して格納する際に使用される暗号アルゴリズムの混在の可否が設定されてもよい。
具体的には、複数のLUを使ってPoolを作成する要求があった場合、それらのLUの状態が、項目305を参照することによって確認される。その結果、それらのLUの状態が「暗号」であれば、それらのLUの項目306を参照することによって暗号化の鍵識別子情報が取得される。さらに、取得した鍵識別子によって識別される暗号鍵が使用する暗号アルゴリズムは、項目604を参照することによって判定される。これら複数のLUの暗号アルゴリズム情報が全て同じであれば暗号アルゴリズムが混在しないと判定され、一つでも異なるものがあれば暗号アルゴリズムが混在すると判定される。この暗号アルゴリズムの混在可否の情報も混在可否設定に含められてもよい。
同様に、第1の実施の形態及び第2の実施の形態において、Vol又はPoolの相関関係の設定によって、記憶領域の状態の一致/不一致の可否だけでなく、暗号記憶領域にデータを暗号化して格納する際に使用する暗号鍵の暗号アルゴリズム情報の一致/不一致の可否も設定されてもよい。
具体的には、Pool又はVolの相関付けを要求された場合、既に登録済み(すなわち項目703に登録済み)のVolやPoolを用いて相関付けを行う場合は、項目705を参照してVol又はPoolの状態が確認される。一方、未登録のVol又はPoolを用いて相関付けを行う場合、相関付けを行う際に、受信したVol又はPoolについての情報、即ちそのVol又はPoolが使用するLUを識別する情報に基づいて、LU管理情報201の項目305を参照することによって状態が確認される。
そして、これらのPool又はVolが「暗号」であれば、そのVol又はPoolを構成するLUの項目306を参照することによって暗号化の鍵識別子情報が取得され、さらに、その鍵識別子が使用する暗号アルゴリズムが項目604を参照することによって判定される。尚、そのVol又はPoolを構成するLUは、そのVol又はPoolが項目703に登録済みである場合、項目704を参照することによって特定され、そのVol又はPoolが項目703に登録されていない場合、相関付けを行う際に受信したVol又はPoolについてのLU管理情報を参照することによって特定される。これら複数のLUの暗号アルゴリズム情報が全て同じであれば暗号アルゴリズムが混在しないと判定され、一つでも異なるものがあれば暗号アルゴリズムが混在すると判定される。この暗号アルゴリズムの混在可否の情報も相関関係の設定に含められてもよい。
さらに、保護属性として、暗号化によるデータの保護が必要か否かを示す属性(すなわち、暗号データのうち保護が必要なものを示す属性等)に加えて、他の属性が設定されてもよい。例えば、暗号アルゴリズム又は鍵長の保護が必要か否かを示す属性が付加されてもよい。ここで、暗号アルゴリズム又は鍵長の保護とは、例えば、異なる暗号アルゴリズム又は異なる鍵長の混在の禁止や、現在使用中の暗号アルゴリズムや鍵長の変更の禁止を意味する。
以上の本発明の実施の形態によれば、例えば、計算機と、管理計算機と、暗号化機能を備えるストレージ装置で構成される計算機システムにおいて、ストレージ装置は、記憶領域の状態(すなわち、暗号化されたデータが格納されているか、平文のデータが格納されているか、それらが混在しているか)を示す情報と、その状態を制御するための情報と、提供可能な記憶領域の種別を示す情報と、暗号化による保護が必要なデータと暗号化による保護が不要なデータとを区別するための識別情報と、を保持する。
ストレージ装置は、上記の提供可能な記憶領域の種別を示す情報を用いて、計算機又は管理計算機に提供可能な記憶領域を制御する。さらに、ストレージ装置は、上記の記憶領域の状態を制御するための情報を用いて、混在の状態の記憶領域を使用することの可否、及び、互いに相関する記憶領域の状態の一致/不一致を制御する。さらに、ストレージ装置は、上記の暗号化による保護が必要なデータと暗号化による保護が不要なデータとを区別する識別情報を用いて、暗号状態のデータのうち保護が必要なものと必要でないものを区別する。
これらによって、暗号化機能を備えるストレージ装置において、保護されるべきデータが意図せず混在又は平文の状態の記憶領域に格納されることを防止できる。さらに、暗号記憶領域及び平文記憶領域を使用可能なストレージ装置において、暗号記憶領域の容量しか残っていない場合に、仮に本来暗号化による保護が不要なデータが暗号記憶領域に格納されていたとしても、ストレージ装置内データのうち、暗号化による保護が必要なデータと、暗号化による保護が不要なデータとを区別することができる。その結果、暗号化による保護が必要なデータが適切に暗号化されるため、例えばディスクが盗難された場合等のデータの情報漏洩の可能性を低減することができ、さらに、容量の効率的な活用が可能なストレージ装置を提供することができる。
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。