以下、本発明の第1、第2及び第3の実施形態を説明する。なお、以下に説明する実施形態は一例であって、本発明はこれに限定されるものではない。
図1から図17を用いて第1の実施形態を説明する。
<システム構成>
図1は、本発明の第1の実施形態の計算機システムのハードウェア構成を示すブロック図である。
計算機システムは、1台以上の計算機100、ファイバチャネルスイッチ(以下FCスイッチと記載する)110、ストレージ装置120A及び120B(以下、これらを総称してストレージ装置120とも記載する)、1台以上の仮想先ストレージ装置130及び管理計算機140を備える。
計算機100、ストレージ装置120及び仮想先ストレージ装置130は、それぞれFCインタフェース(以下FCI/F)103、121及び131を介してFCスイッチ110に接続される。FCスイッチ110、ストレージ装置120及び仮想先ストレージ装置130は、それぞれ管理I/F111、126及び136を介してIPネットワーク経由で管理計算機140に接続され、管理計算機140によって管理される。
計算機100は、CPU101及びCPU101に接続されたメモリ102を備える。メモリ102には、CPU101が実行するプログラム及びストレージ装置120に読み書きされるデータが保持される。さらに、計算機100は、FCスイッチ110と接続される1以上のFCI/F103、及び、管理計算機140とIPネットワーク経由で接続される1以上の管理I/F104を備える。FCI/F103及び管理I/F104は、CPU101と接続される。
ストレージ装置120は、FCスイッチ110と接続される1以上のFCI/F121と、1以上のCPU122と、1以上のキャッシュメモリ123と、1以上の制御メモリ124と、1以上の記憶領域125と、1以上の管理I/F126と、を備える。これらの各部は、例えば内部バス等によって相互に接続されている。
FCI/F121は、FCスイッチ110と接続される1以上のポート(図示省略)を備える。
ストレージ装置120のCPU122は、FCI/F121を介して計算機100からのデータの読み書きの要求を受け取り、要求されたデータを記憶領域125に読み書きする。記憶領域125とは、CPU122によってストレージ装置120のディスク装置などの物理的デバイスに対応付けて管理される論理的なデバイスである。計算機100はこの記憶領域125を認識して、ストレージ装置120に対してデータの読み書きを要求する。
ストレージ装置120は、仮想先ストレージ装置130の記憶領域135を自ストレージ装置120の記憶領域125として仮想化することができる。
ストレージ装置120が記憶領域135を記憶領域125として仮想化していない場合、記憶領域125は、ストレージ装置120内の物理的な記憶領域(例えば図示しないハードディスクドライブの記憶領域)に対応付けられる。この場合、計算機100から記憶領域125へのデータの読み書き要求を受けると、ストレージ装置120は、記憶領域125に対応付けられたストレージ装置120内の物理的な記憶領域へのデータの書き込み又は読み出しを実行し、その結果を計算機100に応答する。
一方、ストレージ装置120が記憶領域135を記憶領域125として仮想化している場合、記憶領域125は、ストレージ装置120内の物理的な記憶領域と対応付けられる代わりに、仮想先ストレージ装置130の記憶領域135と対応付けられる。この場合、計算機100から記憶領域125へのデータの読み書き要求を受けると、ストレージ装置120は、受けた要求を、記憶領域135へのデータの読み書き要求に変換して、仮想先ストレージ装置130に送信する。
仮想先ストレージ装置130は、ストレージ装置120から受信した要求に従って、記憶領域135に対応付けられた仮想先ストレージ装置130内の物理的な記憶領域へのデータの読み書きを実行し、その結果をストレージ装置120に応答する。ストレージ装置120は、仮想先ストレージ装置130から応答を受信すると、その応答をストレージ装置120からの応答に変換して、計算機100に送信する。
このように、記憶領域135がストレージ装置120によって仮想化されている場合、記憶領域135は、仮想先記憶領域(又は仮想先LU)とも記載される。一方、記憶領域135を仮想化する記憶領域125は、仮想記憶領域(又は仮想LU)とも記載される。一方、記憶領域125が、ストレージ装置120内の物理的な記憶領域と対応付けられている場合、記憶領域125は、実記憶領域(又は実LU)とも記載される。
図1の例では、一つの記憶領域125及び一つの記憶領域135のみが記載されている。しかし、ストレージ装置120及び仮想先ストレージ装置130は、それぞれ、複数の記憶領域125及び複数の記憶領域135を含んでもよい。この場合、例えば、複数の記憶領域125のうち少なくとも一つが実記憶領域125であり、残りの記憶領域125が、記憶領域135を仮想化する仮想記憶領域125であってもよい。
また、ストレージ装置120のCPU122は、管理I/F126を介して管理計算機140からストレージ装置120の運用管理操作の要求を受け取り、要求された管理操作を実行する。CPU122は、管理操作の結果及びストレージ装置120の構成情報等を管理計算機140に送信する。
キャッシュメモリ123には、計算機100から受信したデータ及び記憶領域125から頻繁に読み出されるデータが格納される。
制御メモリ124には、記憶領域125の構成情報、記憶領域125の属性(例えば記憶領域125が暗号化されているか平文であるか)、及び、暗号鍵等の情報が格納される。以下、記憶領域125等が暗号化されていることを「暗号on」、記憶領域125等が暗号化されていない(すなわち平文データを格納している)ことを「暗号off」とも記載する。
ストレージ装置120は、データの暗号化・復号化機能を備える。すなわち、ストレージ装置120は、暗号化された記憶領域へのデータ書き込み要求を受けると、要求されたデータを暗号化して記憶領域に書き込む。そして、暗号化された記憶領域からのデータ読み出し要求を計算機100から受けると、ストレージ装置120は、要求されたデータを記憶領域から読み出し、読み出されたデータを復号化して計算機100に応答する。
仮想先ストレージ装置130は、FCスイッチ110と接続される1以上のFCI/F131と、1以上のCPU132と、1以上のキャッシュメモリ133と、1以上の制御メモリ134と、1以上の記憶領域135と、1以上の管理I/F136と、を備える。これらの各部は、例えば内部バス等によって相互に接続されている。
ストレージ装置130のCPU132は、FCI/F131を介して計算機100又はストレージ装置120からのデータの読み書きの要求を受け取り、要求されたデータを記憶領域135に読み書きする。またCPU132は、管理I/F136を介して管理計算機140から仮想先ストレージ装置130の運用管理操作の要求を受け取り、要求された管理操作を実行する。
仮想先ストレージ装置130は図1に示すものに限定されず、例えばデータの暗号化・復号化機能を備えているストレージ装置又は備えていないストレージ装置等、機能、性能又は構成の異なるストレージ装置であってもよい。
管理計算機140は、CPU141、メモリ142及び管理I/F143を備える。管理I/F143は、IPネットワーク経由で計算機100及びFCスイッチ110と接続される。
管理計算機140は、管理計算機140の図示しない磁気ディスク装置等の不揮発記録媒体に記録された、ストレージ装置や計算機の管理のためのプログラムを、管理計算機140の起動時等にメモリ142にロードする。CPU141はそれらのロードしたプログラムを実行することで、ストレージ装置120及び仮想先ストレージ装置130の構成情報の取得、障害検知及び性能監視等を行うことができる。管理者は管理計算機140を使うことで、計算機システム全体の運用管理を行うことができる。
尚、上記のプログラムは、磁気ディスク装置以外の記憶媒体(例えばCD−ROM又はフロッピーディスク等)に記録されてもよい。上記のプログラムは、当該記憶媒体から管理計算機140にロードして実行されてもよいし、ネットワークを通じて他の記憶媒体からロードされてもよい。
<ソフトウェア構成>
次に、本実施形態のストレージ装置120、仮想先ストレージ装置130及び管理計算機140のソフトウェア構成について説明する。
図2は、本発明の第1の実施形態の計算機システムのソフトウェア構成の一例を示す説明図である。
ストレージ装置120の制御メモリ124には、記憶領域125の識別子及び容量等、ストレージ装置120の構成管理のための構成情報と、暗号鍵の管理情報と、データ読み書きのプログラム及び暗号設定のプログラム等のプログラム情報と、が格納される。最初に構成情報について説明し、その後、暗号鍵の管理情報及びプログラム情報について説明する。
制御メモリ124には構成情報として、記憶領域(以下、LU:Logical Unitとも記載される)管理情報201、仮想LUマッピング情報202、ストレージ装置機種・製造番号管理情報203及び暗号鍵管理情報204が格納される。
最初に、LU管理情報201について説明する。
図3は、本発明の第1の実施形態のLU管理情報201の一例を示す説明図である。
LU管理情報201は項目301〜項目307の7つのデータ項目から構成される。
項目301には、ストレージ装置120のポート番号が格納される。ポート番号はストレージ装置120のFCI/F121が備える各ポート(図示省略)に割当てられた、一意に識別可能な値である。ストレージ装置120はポートごとにLUを定義することができる。計算機100はこのポートを介してLUへアクセスする。ストレージ装置120は複数のポートを持つことができる。
項目302には、記憶領域(LU)125及び135を識別するためのLU番号が格納される。LU番号はポートごとに定義することができる。計算機100は、ポート番号及びLU番号を使ってアクセス先を指定する。
項目303には、LUの容量が格納される。
項目304には、LUへのアクセスが許可されている計算機100の識別情報が格納される。項目304には、例えば、LUへのアクセスが許可されている計算機100のポートに割当てられているWWN(World Wide Name)等の値が格納される。
項目305には、各LUがストレージ装置120内の物理デバイスを使用しているLU(すなわち実LU)であるか、仮想先ストレージ装置130内のLUを仮想化することによって作成されたLU(すなわち仮想LU)であるかを示す情報が格納される。
項目306には、LUの暗号On/Offを示す情報が格納される。あるLUが暗号化されている場合、そのLUに対応する項目306に「On」が格納され、暗号化されていない場合は「Off」が格納される。
項目307には、各LUに対応する鍵IDが格納される。鍵IDは、あるLUが暗号化される場合にその暗号化に使用される暗号鍵を識別するためのIDであり、各暗号鍵をストレージ装置120内で一意に識別する値である。LUが暗号化されない場合、この項目307の値は定義されない。
この鍵IDは後述の鍵ID601と同義であり、このIDから暗号鍵の詳細情報を取得することができる。
次に、仮想LUマッピング情報202について説明する。
図4は、本発明の第1の実施形態の仮想LUマッピング情報202の一例を示す説明図である。
仮想LUマッピング情報202は項目401〜項目405の5つのデータ項目から構成される。
項目401には、ストレージ装置120のポート番号が格納される。
項目402には、ストレージ装置120の各ポートにおいて定義されている仮想LUのLU番号が格納される。
項目403には、仮想先ストレージ装置130を一意に識別する仮想先ストレージ装置機種・製造番号が格納される。
項目404には、ストレージ装置120の仮想LUに対応付けられた仮想先ストレージ装置130のポート番号が格納される。ストレージ装置120はこのポート番号及びストレージ装置120が仮想化するLU番号を指定して仮想先ストレージ装置130内のLUにアクセスする。
項目405には、ストレージ装置120によって仮想化された仮想先ストレージ装置130内のLUを識別するための、仮想先装置内LU番号が格納される。当該LU番号は、仮想先ストレージ装置130内で定義されているLU番号である。
次に、ストレージ装置機種・製造番号管理情報203について説明する。
図5は、本発明の第1の実施形態のストレージ装置機種・製造番号管理情報203の一例を示す説明図である。
ストレージ装置機種・製造番号管理情報203は項目501〜項目504の4つのデータ項目から構成される。
項目501には、ストレージ装置120の装置機種及び製造番号が格納される。
項目502には、ストレージ装置120の管理I/F126に設定された、ストレージ装置120の識別のためのIPアドレス又はホスト名が格納される。
項目503には、ストレージ装置120の動作モードを示す情報が格納される。通常時は項目503に通常モードが設定されるが、後述のシステムオプションモードが設定される場合、項目503に「システムオプションモード」が格納される。
項目504には、ストレージ装置120によって仮想化されたLUを含む仮想先ストレージ装置130の装置機種・製造番号が格納される。1以上のストレージ装置120及び仮想先ストレージ装置130からなる計算機システムでは、この装置機種・製造番号によって、各ストレージ装置120及び仮想先ストレージ装置130を一意に識別することができる。
ストレージ装置120は、以上3つの情報を構成情報として管理し、ストレージ装置120の構成管理に使用する。さらに、構成情報は、上記以外の情報、例えばLUの状態(コピー状態等)を示す情報を含んでもよい。
次に、ストレージ装置120の暗号鍵管理情報204について説明する。
図6は、本発明の第1の実施形態の暗号鍵管理情報204の一例を示す説明図である。
暗号鍵管理情報204は項目601〜項目607の7つのデータ項目から構成される。
項目601には、ストレージ装置120内で暗号鍵を識別するために使用される鍵IDが格納される。
項目602には、暗号鍵のデータ(すなわち、暗号鍵として使用されるデータ列)が格納される。
項目603には、暗号鍵の長さを示す値が格納される。
項目604には、各暗号鍵がどの暗号アルゴリズムやモードを使うものであるかを示す、アルゴリズムの情報が格納される。例えば、AESのECBモードでデータが暗号化される場合、項目604には「AES−ECB」が格納される。
項目605には、暗号鍵の適用先装置を示す情報が格納される。例えば暗号鍵がストレージ装置120内の実LUの暗号化に使用される場合、その暗号鍵に対応する項目605には、その暗号鍵が自装置用のものであることを示す値(図6の例では「自」)が格納される。一方、暗号鍵が仮想先ストレージ装置130内の仮想先LUの暗号化に使用される場合、その暗号鍵に対応する項目605には、その暗号鍵が仮想先装置用のものであることを示す値(図6の例では「仮想先」)が格納される。
項目606には、仮想先ストレージ装置130の装置機種・製造番号が格納される。
項目607には、暗号鍵が適用される範囲を示す情報が格納される。例えば、一つの暗号鍵が、一つのストレージ装置120又は一つの仮想先ストレージ装置130内の、「暗号On」に設定された全てのLU135の暗号化に使用される場合、その暗号鍵及びその装置に対応する項目607に「装置」が格納される。一方、一つの暗号鍵が一つのLUの暗号化に使用される場合、その暗号鍵に対応する項目607に、その暗号鍵が適用されるLUのLU番号が格納される。
本実施形態は主に、ストレージ装置120内のLU125に使用される暗号鍵と仮想先ストレージ装置130内のLU135に使用される暗号鍵とが異なる場合について説明する。ストレージ装置ごとに暗号鍵を別にする理由は、仮に全てのストレージ装置の暗号鍵を同じにすると、一つのストレージ装置から暗号鍵が漏洩した場合、その他のストレージ装置の暗号鍵も全て知られてしまいセキュリティ的に好ましくないためである。但し、上記の形態に限定するわけではなく、全てのストレージ装置で同じ暗号鍵を使う場合にも本実施形態を適用することができる。
次に、ストレージ装置120のプログラム情報について説明する。図2に示すように、ストレージ装置120のプログラム情報は、I/O処理プログラム205、暗号設定プログラム206、暗号鍵・暗号設定情報バックアッププログラム207、暗号鍵・暗号設定情報リストアプログラム208及びストレージ管理プログラム209の5つのプログラムを含む。これらのプログラムは、CPU122によって実行される。したがって、以下の説明においてこれらのプログラムが実行する処理は、実際にはCPU122によって実行される。
I/O処理プログラム205は計算機100からの指示を受けて実行される。一方、その他の4つのプログラムは管理計算機140を使う管理者からの指示を受けて実行される。
I/O処理プログラム205は、計算機100からのデータ読み書き要求を受け、ストレージ装置120又は仮想先ストレージ装置130の記憶領域にデータを読み書きする。
暗号設定プログラム206は、ストレージ装置120又は仮想先ストレージ装置130の記憶領域の暗号設定を行う。例えば記憶領域の暗号設定をOnにした場合、その記憶領域に暗号鍵が設定され、以降I/O処理プログラムはその暗号鍵を用いて計算機100からのデータを暗号化して記憶領域に書き込み、読み出されたデータを復号化する。
暗号鍵・暗号設定情報バックアッププログラム207は、ストレージ装置120が保持する暗号鍵及び構成情報(具体的には、LU管理情報201、仮想LUマッピング情報202及び暗号鍵管理情報204として保持されている情報)を、管理計算機140にバックアップする。以下の説明において、これらの情報を暗号鍵・暗号設定情報とも記載する。
暗号鍵・暗号設定情報リストアプログラム208は、管理計算機140から受信したバックアップファイルをストレージ装置120にリストア可能か否か判定し、リストアを許可又は禁止する。
ストレージ管理プログラム209は、ストレージ装置120が備えるその他の機能、例えば計算機100との間のパスの設定及び記憶領域のコピー等、を実行する。以上がストレージ装置120のソフトウェア構成である。
次に、仮想先ストレージ装置130のソフトウェア構成について説明する。
仮想先ストレージ装置130の制御メモリ134には、ストレージ装置120のLU管理情報201と同様、仮想先ストレージ装置内のLU番号や容量、アクセス可能な計算機の情報等を管理するLU管理情報221が格納される。
さらに、制御メモリ134には、プログラム情報として、I/O処理プログラム223及びストレージ管理プログラム224が格納される。これらのプログラムは、CPU132によって実行される。したがって、以下の説明においてこれらのプログラムが実行する処理は、実際にはCPU132によって実行される。
I/O処理プログラム223は、計算機100又はストレージ装置120からのデータ読み書き要求を処理する。ストレージ管理プログラム224は、管理計算機140から受けた指示に従って、仮想先ストレージ装置内の機能、例えば計算機とのパスの設定等、を実行する。なお、仮想先ストレージ装置130のソフトウェア構成がストレージ装置120のソフトウェア構成と同じであってもよい。
次に管理計算機140のソフトウェア構成について説明する。管理計算機140のメモリ142には、暗号鍵・暗号設定情報バックアップ情報241、ストレージ管理情報242及び管理者認証情報243が格納される。
暗号鍵・暗号設定情報バックアップ情報241は、ストレージ装置120からバックアップされた暗号鍵及び暗号設定に関する情報である。
ストレージ管理情報242は、ストレージ装置120及び仮想先ストレージ装置130を管理するための情報である。通常、管理計算機140は、ストレージ管理情報242を用いてストレージ装置120等を管理する。ストレージ装置120や仮想先ストレージ装置130内の構成情報の更新にあわせて、ストレージ管理情報242は更新される。その結果、管理計算機140とストレージ装置120等との間で構成情報が同期する。
管理者認証情報243は、管理計算機140を使用する管理者を認証するために使用される情報である。
次に、管理者認証情報243について説明する。
図7は、本発明の第1の実施形態の管理者認証情報243の一例を示す説明図である。
管理者認証情報243は項目701〜項目703の3つのデータ項目から構成される。
項目701には、管理者を一意に識別するためのユーザIDが格納される。
項目702には、管理者のパスワードが格納される。
項目703には、管理者が管理計算機140を使って行える操作を制御するロール(役割)情報が格納される。例えばアカウント管理者のロールを持つ管理者は、管理計算機140内のアカウント情報の作成及び削除等をすることができる。セキュリティ管理者のロールを持つ管理者は、ストレージ装置120への暗号設定操作、及び、管理計算機140内の暗号鍵・暗号設定情報バックアップ情報241の管理等をすることができる。例えば、後述する暗号鍵・暗号設定情報のバックアップ及びリストアの指示をすることは、セキュリティ管理者のロールを持つ管理者のみに許可される。
次に管理計算機140のプログラム情報について説明する。管理計算機140のプログラム情報は、暗号設定指示プログラム244、暗号鍵・暗号設定情報バックアップ指示プログラム245、暗号鍵・暗号設定情報リストア指示プログラム246、ストレージ管理指示プログラム247及びアクセス制御プログラム248の5つのプログラムから構成される。これらのプログラムは、CPU141によって実行される。したがって、以下の説明においてこれらのプログラムが実行する処理は、実際にはCPU141によって実行される。
暗号設定指示プログラム244は、ストレージ装置120に対して記憶領域の暗号化等、暗号設定を指示する。
暗号鍵・暗号設定情報バックアップ指示プログラム245は、ストレージ装置120に対して暗号鍵及び暗号設定情報のバックアップを指示する。
暗号鍵・暗号設定情報リストア指示プログラム246は、管理計算機140内の暗号鍵・暗号設定情報バックアップ情報241をストレージ装置120に対し送信し、暗号鍵及び暗号設定情報のリストアを指示する。
ストレージ管理指示プログラム247は、ストレージ装置120及び仮想先ストレージ装置130に対して、暗号設定以外の機能、例えば計算機とのパスの設定等、の実行を指示する。
アクセス制御プログラム248は、管理計算機140を使用する管理者を管理者認証情報243に基づいて認証し、管理者が要求する管理操作の実行を許可又は禁止する。
以上が本実施例でのストレージ装置120、仮想先ストレージ装置130及び管理計算機140のソフトウェア構成である。
以下、上記のソフトウェア構成に基づいて本実施形態における暗号鍵・暗号設定情報のバックアップからリストアまでの一連の処理の詳細について説明する。これらの一連の処理は、以下の五つの処理を含む。第1に、ストレージ装置120において暗号鍵の生成及び記憶領域の暗号設定の処理が実行される。第2に、管理計算機140がストレージ装置120に暗号鍵・暗号設定情報のバックアップを指示する。第3に、指示を受けたストレージ装置120は暗号鍵・暗号設定情報を管理計算機140へバックアップする。第4に、管理計算機140からリストア先ストレージ装置に上記のバックアップした情報を送り、リストアを指示する。第5に、リストア指示を受けたストレージ装置がバックアップ情報のリストア可否を判定してリストアする。以下これらの処理の詳細を説明する。
<ストレージ装置の暗号設定処理>
図9は、本発明の第1の実施形態のストレージ装置120の暗号設定プログラム206が実行する暗号設定処理の一例を示すフローチャートである。
ストレージ装置120の暗号設定プログラム206は、管理計算機140からストレージ装置120又は仮想先ストレージ装置130の記憶領域の暗号化要求を受信する(ステップ901)。
次に、暗号設定プログラム206は、既にその記憶領域に適用される暗号鍵を生成済みか否かを判定する(ステップ902)。例えば、暗号設定プログラム206は、暗号化要求によって指定された記憶領域に対応する項目307の情報を参照し、鍵IDが格納されていない場合、暗号鍵がまだ生成されていないと判定する。
暗号鍵がまだ生成されていない場合、暗号設定プログラム206は新規暗号鍵を生成し、生成された暗号鍵を暗号鍵管理情報204に追加する。以降、指定された記憶領域のデータを、生成された暗号鍵を用いて暗号化・復号化する(ステップ903)。
暗号鍵が生成済みである場合、暗号設定プログラム206は既に生成されている暗号鍵を用いて、指定された記憶領域125のデータを暗号化・復号化する(ステップ904)。この暗号化・復号化の手順は、ステップ903と同様である。なお、本フローチャートでは記憶領域ごとに暗号鍵が設定されるが、ストレージ装置ごとに暗号鍵が設定されてもよい。例えば、ストレージ装置120の記憶領域125の暗号化に使用される鍵一個と、仮想先ストレージ装置130の記憶領域135の暗号化に使用される鍵一個の計二個の鍵を設定するフローチャートが使用されてもよい。
ステップ903及びステップ904に示すように、記憶領域125に暗号鍵が設定された後、ストレージ装置120のI/O処理プログラム205は、その記憶領域125へのデータの書き込み要求を受信すると、そのデータを、設定された暗号鍵を用いて暗号化してその記憶領域125に書き込む。記憶領域125からデータを読み出す要求を受信すると、I/O処理プログラム205は、要求されたデータを読み出し、設定された暗号鍵を用いてそのデータを復号化して、要求元に送信する。
記憶領域125が記憶領域135を仮想化する仮想記憶領域である場合、データ書き込み要求を受信したI/O処理プログラム205は、データを暗号化し、その暗号化されたデータを書き込む要求を仮想先ストレージ装置130に送信する。仮想先ストレージ装置130は、受信したデータを仮想先記憶領域135に格納する。データ読み出し要求を受信したI/O処理プログラム205は、仮想先ストレージ装置130の仮想先記憶領域135から暗号化されたデータを読み出し、そのデータを復号化して要求元に送信する。
記憶領域125又は記憶領域135に対応する物理的なディスク装置(例えばHDD)が不正に持ち出され、図示しない他のストレージ装置に接続された場合、その他のストレージ装置はそのHDDに格納されたデータを復号化するために必要な暗号鍵を持たないため、そのHDDに格納されたデータを利用することができない。このようにして、データの不正な持ち出しが防止される。
しかし、ストレージ装置120に発生した故障によって、ストレージ装置120が保持する暗号鍵又は暗号設定情報が失われる場合がある。ここで、故障とは、ハードウェアの故障や暗号鍵や暗号設定情報を格納するメモリの揮発、ソフトウェアの故障又はユーザの誤操作等である。この場合、ストレージ装置120も記憶領域125に格納されたデータを利用できなくなる。ストレージ装置120が仮想先ストレージ装置130内の記憶領域135を仮想化している場合、仮想先ストレージ装置130が故障していないにもかかわらず、記憶領域135に格納されたデータまでもが利用できなくなる。
このような場合にもデータを利用できるように、本実施形態では、暗号鍵及び暗号設定情報が管理計算機140によってバックアップされる。そして、ストレージ装置120に故障が発生した場合、バックアップされている暗号鍵及び暗号設定情報が適切なストレージ装置120にリストアされる。以下、このようなバックアップ及びリストアの処理について説明する。
<管理計算機によるバックアップ指示処理>
図10は、本発明の第1の実施形態の管理計算機140の暗号鍵・暗号設定情報バックアップ指示プログラム245が実行する暗号鍵・暗号設定情報のバックアップ処理の一例を示すフローチャートである。
管理計算機140の暗号鍵・暗号設定情報バックアップ指示プログラム245は、管理者から暗号鍵・暗号設定情報のバックアップ要求を受信(ステップ1001)すると、管理者認証情報243に基づいて管理者を認証する(ステップ1002、ステップ1003)。具体的には、暗号鍵・暗号設定情報バックアップ指示プログラム245は、管理者から受信したユーザID及びパスワードが、管理者認証情報243のいずれか一つのエントリの項目701及び項目702に登録されており、かつ、そのエントリの項目703が「セキュリティ管理者」である場合、管理者認証に成功したと判定する。
管理者認証失敗の場合は処理を終了する。
一方、管理者認証成功の場合、管理者は管理計算機140からストレージ装置120に対して、暗号鍵・暗号設定情報のバックアップを指示する(ステップ1004)。例えば管理者は、ストレージ装置120の故障前のいずれかの時点(例えば暗号鍵が生成された時点又は暗号設定が変更された時点等)でバックアップを指示する。この指示を受信したストレージ装置120は、暗号鍵・暗号設定情報バックアップ情報241を管理計算機140に送信する。この処理及び暗号鍵・暗号設定情報バックアップ情報241については後述する(図11及び図8参照)。
管理計算機140は、ストレージ装置120から暗号鍵・暗号設定情報バックアップ情報241を受信すると、受信した情報を管理計算機140のメモリ142又は管理計算機140の図示しない磁気ディスク装置(HDD)等の不揮発記録媒体に格納する(ステップ1005)。
<ストレージ装置でのバックアップ処理>
図11は、本発明の第1の実施形態のストレージ装置120の暗号鍵・暗号設定情報バックアッププログラム207が実行する暗号鍵・暗号設定情報のバックアップ処理の一例を示すフローチャートである。
ストレージ装置120の暗号鍵・暗号設定情報バックアッププログラム207は、管理計算機140からの暗号鍵・暗号設定情報のバックアップ要求を受信すると(ステップ1101)、暗号鍵・暗号設定情報バックアップ情報241を生成し、これを管理計算機140に送信する(ステップ1102)。なお、暗号鍵・暗号設定情報のバックアップは、管理計算機140からの指示を受けていない場合に実行されてもよい。例えば、暗号鍵又は暗号設定がストレージ装置120で変更されたときに、予め指定された場所に暗号鍵・暗号設定情報バックアッププログラム207が自動でバックアップしてもよい。
図8は、本発明の第1の実施形態の暗号鍵・暗号設定情報バックアップ情報241の一例を示す説明図である。
暗号鍵・暗号設定情報バックアップ情報241は、大データ項目801及び810の2つの情報から構成される。
大データ項目801は、LU管理情報201及び仮想LUマッピング情報202の複製情報である。
大データ項目810は、暗号鍵管理情報204のバックアップ情報であり、項目811〜項目819の9つのデータ項目から構成される。
項目811には、バックアップ元ストレージ装置120の機種・製造番号が格納される。ここで、バックアップ元ストレージ装置120とは、大データ項目801及び後述する項目812〜項目819の複製元であるストレージ装置120を意味する。
残りの項目812〜項目819は、それぞれ、暗号鍵管理情報204の項目601〜項目608の複製情報であるため説明は省略する。なお、項目811及び項目817には、計算機システムにおいてバックアップ元ストレージ装置120及び仮想先ストレージ装置130を一意に識別できる値であるかぎり、装置機種・製造番号以外の値が格納されてもよい。
<管理計算機によるリストア指示処理>
図12は、本発明の第1の実施形態の管理計算機140の暗号鍵・暗号設定情報リストア指示プログラム246がストレージ装置120又は仮想先ストレージ装置130に対して実行するリストア指示処理の一例を示すフローチャートである。
図12に示す手順は、ストレージ装置120が故障したために、ストレージ装置120が保持していた暗号鍵・暗号設定情報が失われた場合に、管理計算機140にバックアップされていた暗号鍵・暗号設定情報を用いてリストアする処理の例である。
ここで、本実施形態におけるリストアの類型について説明する。
ここでは例として、図1においてストレージ装置120Aが仮想先ストレージ装置130を仮想化している場合を仮定する。ストレージ装置120Aは複数の記憶領域125を備え、それらのうち少なくとも一つは実記憶領域であり、残りは記憶領域135を仮想化する仮想記憶領域である。すなわち、仮想記憶領域に書き込まれたデータは、実際には記憶領域135に格納される。この場合、ストレージ装置120Aは、自身が備える実記憶領域に使用される暗号鍵及び暗号設定情報(ここではこれらを暗号鍵等と記載する)、及び、自身が備える仮想記憶領域の暗号鍵等を保持している。
ストレージ装置120Aが故障すると、ストレージ装置120Aが保持していた暗号鍵等が失われる。このため、管理計算機140にバックアップされていた暗号鍵等をいずれかの装置にリストアする必要がある。
まず、ストレージ装置120Aが故障からまだ回復していない場合における、仮想記憶領域に使用される暗号鍵等のリストアについて説明する。
ストレージ装置120Aが故障からまだ回復していない場合であっても、仮想記憶領域に格納されたデータは実際には記憶領域135に格納されている。このため、仮想先ストレージ装置130を新たにストレージ装置120Bに外部接続する(すなわち、ストレージ装置120Bが新たに仮想先ストレージ装置130を仮想化する)ことによって、計算機100は仮想記憶領域に格納されていたデータにアクセスすることができる。あるいは、計算機100は、ストレージ装置120Bを介さずに仮想先ストレージ装置130にアクセスしてもよい。
このため、管理者は、仮想記憶領域に使用される暗号鍵等のリストア先としてストレージ装置120Bを指定してもよいし、仮想先ストレージ装置130自体を指定してもよい。
リストア先としてストレージ装置120Bが指定された場合、仮想記憶領域に設定されていた暗号鍵等がストレージ装置120Bにリストアされる。そして、ストレージ装置120Aに代わって、ストレージ装置120Bが仮想先ストレージ装置130を仮想化する。ストレージ装置120Bは、リストアされた暗号鍵を用いて、記憶領域135から読み出されたデータを正しく復号化することができる。
一方、リストア先として仮想先ストレージ装置130自体が指定された場合、仮想記憶領域に設定されていた暗号鍵等が仮想先ストレージ装置130にリストアされる。この場合、仮想先ストレージ装置130は、もはや他のストレージ装置120によって仮想化されない。すなわち、仮想先ストレージ装置130は、記憶領域135へのデータの読み書き要求を計算機100からストレージ装置120を経由せずに受信し、その要求を処理する。このとき、仮想先ストレージ装置130は、リストアされた暗号鍵を用いて、記憶領域135から読み出されたデータを正しく復号化して計算機100に応答することができる。
ただし、このように仮想先ストレージ装置130がストレージ装置120を経由しないアクセス要求を処理するためには、データを暗号化・復号化する機能及び暗号鍵を管理する機能を仮想先ストレージ装置130が備える必要がある。具体的には、仮想先ストレージ装置130は、少なくとも暗号鍵管理情報204、暗号設定プログラム206、暗号鍵・暗号設定情報バックアッププログラム207及び暗号鍵・暗号設定情報リストアプログラム208と同等の情報及びプログラムを保持する必要がある。さらに、I/O処理プログラム223は、暗号化及び復号化を実行する機能を備える必要がある。
次に、ストレージ装置120Aが故障からまだ回復していない場合における、実記憶領域に使用される暗号鍵等のリストアについて説明する。
ストレージ装置120Aが故障しても、ストレージ装置120Aのディスク装置に保持されているデータが失われていなければ、そのディスク装置をストレージ装置120B又は仮想先ストレージ装置130に接続することによって、そのディスク装置に格納されたデータ(すなわち、そのディスク装置に対応する実記憶領域に格納されたデータ)にアクセスすることができる。この場合、ディスク装置をストレージ装置120B又は仮想先ストレージ装置130に接続した後で、上記の仮想記憶装置の暗号鍵等のリストアと同様のリストアを実行することによって、そのディスク装置に格納されたデータを正しく復号化することができる。
次に、ストレージ装置120Aが既に故障から回復している場合における暗号鍵等のリストアについて説明する。
ストレージ装置120Aから失われた暗号鍵等をリストアする時点で、既にストレージ装置120Aが故障から回復している場合がある。例えば、ストレージ装置120Aの再起動、一時的な故障又はユーザによる誤操作等によって暗号鍵等が失われた場合がこれに相当する。この場合、管理者は、上記のように、ストレージ装置120B又は仮想先ストレージ装置130を暗号鍵等のリストア先として指定するのではなく、回復したストレージ装置120A自身をリストア先として指定することができる。その結果、失われた暗号鍵等が、それを本来保持していた(すなわちバックアップ元である)ストレージ装置120Aにリストアされる。
上記の各場合の処理について、以下、詳細に説明する。
なお、本実施例では管理計算機140が行うリストア指示手順として、3通りのリストア指示手順を示す。最初に図12のリストア指示手順を示す。その他の図15及び図16に示すリストア指示手順については、変形例として本実施例の最後に説明する。
管理計算機140の暗号鍵・暗号設定情報リストア指示プログラム246は、管理者からのリストア要求を受信する(ステップ1201)。
次に、暗号鍵・暗号設定情報リストア指示プログラム246はリストア要求を行った管理者を認証し(ステップ1202)、認証成功か否かを判定する(ステップ1203)。この認証及び判定は、図10のステップ1002及びステップ1003と同様に実行されてもよい。
認証失敗の場合は処理を終了する。一方、認証成功の場合、管理者は管理計算機140に対し、故障したストレージ装置(以降、故障装置とも呼ぶ)を指定し、当該故障装置の暗号鍵・暗号設定情報バックアップ情報241の読み込みを指示する(ステップ1204)。
次に、管理者は、管理計算機140に読み込まれた情報に基づいて、故障装置がどの仮想先ストレージ装置130を仮想化していたかを確認し(ステップ1205)、故障装置が仮想先ストレージ装置130を仮想化していたか否かを判定する(ステップ1206)。例えば、暗号鍵・暗号設定情報バックアップ情報241に含まれる項目403のデータを参照することで、故障装置がどの仮想先ストレージ装置130を仮想化していたかを判定することができる。
故障装置が仮想先ストレージ装置130を仮想化していなかった場合、管理者は、仮想先ストレージ装置130でなく故障装置自身の暗号鍵・暗号設定情報をリストアするか否かを判定する(ステップ1207)。
故障装置自身の暗号鍵・暗号設定情報をリストアする場合、管理者は、リストア先ストレージ装置(以下、リストア先装置とも呼ぶ)を決める。リストア先とは、バックアップされていた暗号鍵・暗号設定情報をリストアのためにコピーするときのコピー先を意味する。例えば、図1のストレージ装置120Aに故障が発生した場合、故障していないストレージ装置120Bがリストア先装置に決定されてもよい。そして、管理者は、リストア先装置をシステムオプションモードに設定してから故障装置の暗号鍵・暗号設定情報バックアップ情報241をリストア先装置に送り、リストアを指示する(ステップ1208)。
ここで、システムオプションモードについて説明する。
システムオプションモードに設定されたストレージ装置120では、暗号鍵・暗号設定情報バックアップ情報241内のバックアップ元装置番号が自装置番号と異なっている場合、及び、暗号鍵が既にストレージ装置120に設定済みである場合にも、暗号鍵・暗号設定情報のリストアが許可される。
通常(すなわち、システムオプションモードに設定されていない場合)、ストレージ装置120からバックアップした暗号鍵のうち、仮想先ストレージ装置130用の暗号鍵はリストア先装置にリストアできる。しかし、ストレージ装置120用の暗号鍵のリストアは、その暗号鍵のバックアップ元装置とリストア先装置とが同一でない限り、実行できない。これは、リストア先ストレージ装置120に設定されていた暗号鍵に、別の暗号鍵がリストアによって上書きされる結果、そのストレージ装置120がリストア前から保持していた記憶領域125のデータが利用できなくなることを防ぐためである。
しかし、ストレージ装置120が故障しても、データを保存するディスク装置は故障していない場合がある。その場合、例えば故障装置のディスク装置をリストア先装置に移して、バックアップされた故障装置の暗号鍵をリストア先装置にリストアすることによって、ディスク装置内の暗号データを復号できるようになる。
あるいは、ストレージ装置120は故障していないが、ストレージ装置120内の暗号鍵が壊れてしまった場合(例えば、誤って消去された場合等)、壊れた暗号鍵を、バックアップしてある壊れてない暗号鍵で上書きすることによって、ストレージ装置120の暗号データを復号できるようになる。
システムオプションモードは、例えば上記のような目的で暗号鍵の上書きを許可するために設定される。したがって、上記のような場合以外には、通常、システムオプションモードを設定しなくてもよい。
次に、リストア先装置は故障装置の暗号鍵・暗号設定情報バックアップ情報241を受信し、リストアを実行し、リストア終了を管理計算機140に通知する(ステップ1209)。具体的には、このリストアによって、リストア先装置のLU管理情報201、LUマッピング情報202及び暗号鍵管理情報204が、暗号鍵・暗号設定情報バックアップ情報241に含まれるデータによって上書きされる。
管理者は、リストア先装置でのリストア終了後、故障装置の暗号鍵・暗号設定情報バックアップ情報241を参照し、故障装置の記憶領域と計算機100との間に設定されていたパス(すなわち通信可能な経路)を参考に、リストア先装置の記憶領域と計算機100間のパスを設定する(ステップ1210)。
例えば、故障装置が、LU番号「3」に対応するLU(項目302参照)と、WWN「20:00:00:00:00:00:A1:7A」によって識別される計算機100(項目304参照)との間にパスを設定していた場合、管理者は、当該LUに対応するリストア先装置のLU125(すなわち、故障装置が仮想化していたLU135と同じ仮想先ストレージ装置130のLU135を仮想化するLU125)と、WWN「20:00:00:00:00:00:A1:7A」によって識別される計算機100との間にパスを設定する。
具体的には、リストア先装置のLU管理情報201の項目302の値「3」に対応する項目304に「20:00:00:00:00:00:A1:7A」が格納される。この設定は、リストア先装置が、「20:00:00:00:00:00:A1:7A」によって識別される計算機100による、LU「3」へのアクセスを許可することを意味する。
但し、故障等を契機に従来とは異なるパスが設定されてもよい。またステップ1210の処理を管理者ではなく、リストア先装置自身が、管理計算機140から受信した故障装置の暗号鍵・暗号設定情報バックアップ情報241を参照して、実行してもよい。
ステップ1207で故障装置自身の暗号鍵・暗号設定情報をリストアしない場合は処理を終了する。
ステップ1206で、故障装置が仮想先ストレージ装置130を仮想化していた場合、管理者は、故障装置によって仮想化されていたその仮想先ストレージ装置130内の記憶領域のLUN Securityの設定を解除する(ステップ1211)。その結果、他のストレージ装置120がその仮想先ストレージ装置130にアクセスできるようになる。例えば項目304では、ストレージ装置120の各LUへアクセス可能な計算機100が制限されている。仮想先ストレージ装置130においても同様のアクセス制限が設定されていると考える。但し、ステップ1211は必須の処理ではなく、当該仮想先ストレージ装置130内の記憶領域にLUN Securityがもともと設定されていないのであれば実行する必要はない。
次に管理者は、暗号鍵・暗号設定情報バックアップ情報241の中から、故障装置からバックアップされた情報を選択し、リストアされる仮想先ストレージ装置130の暗号鍵・暗号設定情報を指定し(言い換えると、選択された情報の中の、どの仮想先ストレージ装置130の暗号鍵・暗号設定情報をリストアするかを指定し)、さらに、その暗号鍵・暗号設定情報がリストアされるリストア先装置を指定し、リストアを要求する(ステップ1212)。
管理計算機140は、複数の仮想先ストレージ装置130を仮想化するストレージ装置120の暗号鍵・暗号設定情報をバックアップするとき、自装置及び複数の仮想先ストレージ装置130全ての暗号鍵・暗号設定情報を一つのファイルとしてバックアップしてもよいし、仮想先ストレージ装置130ごとに暗号鍵・暗号設定情報を一つのファイルとしてバックアップしてもよい。後者の場合は暗号鍵・暗号設定情報は複数になる。この場合、ステップ1212において、複数の暗号鍵・暗号設定情報バックアップ情報241の中から、故障装置からバックアップされた情報が選択される。
また、例えば図8の暗号鍵・暗号設定情報バックアップ情報241の場合、項目817に登録された装置のうち、「D600−100」だけを管理者が指定した場合、その番号が示す仮想先ストレージ装置130の暗号鍵及び暗号設定情報(すなわち、鍵ID「2」から「4」に対応する項目813、814及び815等の情報)のみのリストアが要求され、「D700−110」に対応する暗号鍵及び暗号設定情報はリストア要求されない。一方、「D600−100」及び「D700−110」が指定された場合、鍵ID「2」から「5」に対応する暗号鍵及び暗号設定情報のリストアが要求される。
次に、管理計算機140は、ステップ1212において管理者が指定した一つ以上の仮想先ストレージ装置130が、リストア先装置と同じ装置を含むか否かを判定する(ステップ1213)。即ち、故障装置によって仮想化されていた仮想先ストレージ装置130の暗号鍵及び暗号設定情報が、その仮想先ストレージ装置130自体へリストアされるか否かが判定される。
例えば、ステップ1212において、仮想先ストレージ装置「D600−100」及び「D700−110」の暗号鍵及び暗号設定情報が、仮想先ストレージ装置「D600−100」にリストアされることが指定された場合、ステップ1213において、故障装置によって仮想化されていた仮想先ストレージ装置130(すなわち「D600−100」)の暗号鍵及び暗号設定情報が、その仮想先ストレージ装置130自体へリストアされると判定される。
管理者が指定した一つ以上の仮想先ストレージ装置130がリストア先装置と同じ装置を含まない場合、管理計算機140は、指定された仮想先ストレージ装置130をリストア先装置に外部接続し、指定された仮想先ストレージ装置130のLU135を仮想化する(ステップ1214)。言い換えると、指定された仮想先ストレージ装置130の記憶領域135は、リストア先装置によって仮想化される。例えば管理計算機140は、項目404の情報に基づいて、仮想先ストレージ装置130を外部接続する。
次に、管理計算機140は、管理者が指定した暗号鍵・暗号設定情報バックアップ情報241のうち、管理者が指定した仮想先ストレージ装置130の暗号鍵・暗号設定情報だけをリストア先装置へ送信し、リストアを指示する(ステップ1215)。
リストア先装置は、管理計算機140から仮想先ストレージ装置130の暗号鍵・暗号設定情報を受信すると、リストア処理を実行する。具体的には、リストア先装置は、受信した暗号鍵・暗号設定情報をリストア可能か否かを判定する。リストア可能な場合、リストア先装置は、受信した暗号鍵・暗号設定情報をそのリストア先装置が保持するLU管理情報201、仮想LUマッピング情報202及び暗号鍵管理情報204に追加する。そして、リストア先装置は、リストア結果を管理計算機140に通知する(ステップ1216)。なお、ストレージ装置130でのリストア処理の詳細については後述する。
次に、管理者は、故障装置の暗号鍵・暗号設定情報バックアップ情報241を参照し、故障装置の仮想LU(仮想先ストレージ装置130のLUを仮想化したLU)のうちリストアされたものについて、当該LUと計算機100間に設定されていたパスを参考に、リストア先装置の仮想LU(ステップ1214で仮想化したLU)と計算機100との間のパスを設定する(ステップ1217)。
例えば、図1において、仮想先ストレージ装置130を仮想化しているストレージ装置120Aが故障し、ストレージ装置120Aの記憶領域125に設定されていた暗号鍵等がストレージ装置120Bにリストアされた場合、管理者は、リストア先のストレージ装置120Bの仮想記憶領域(図示省略)と、計算機100との間にパスを設定する。この設定は、ストレージ装置120Bが、計算機100によるストレージ装置120Bの仮想記憶領域へのアクセスを許可することを意味する。このパスの設定は、例えばステップ1210と同様の方法によって実行される。
ステップ1213において、管理者が指定した一つ以上の仮想先ストレージ装置130が、リストア先装置と同じ装置を含む場合、そのリストア先装置と同じ装置の暗号鍵・暗号設定情報をリストアするために、処理はステップ1218に進み、リストア先装置と異なる装置の暗号鍵・暗号設定情報をリストアするために、処理はステップ1214に進む(ステップ1218)。
ステップ1214〜1217の処理については既に説明したため、ステップ1218以降の処理について以下に説明する。
管理計算機140は、管理者が指定した仮想先ストレージ装置130(すなわちリストア先装置)の仮想LUを、リストア先装置の実LUとしてマッピングする(ステップ1219)。
例えば、項目402のLU番号「3」に対応するLUは、故障装置が仮想先ストレージ装置130内のLU番号「1」のLUを仮想化している仮想LUである。このLU番号「3」のLUの暗号設定情報(例えば項目306及び項目307の情報)を、仮想先ストレージ装置130自身にリストアする場合について説明する。この場合、管理計算機140は、仮想先ストレージ装置130に対して自装置内のこのLU番号「1」のLUの仮想化は指示しない。その結果、仮想先ストレージ装置130は、LU番号「1」のLUを自装置内に実在する実LUとして扱う。具体的には、故障装置が保持するLU管理情報201において、LU番号「3」のLUの項目305は「仮想」となっている。しかし、そのLU管理情報201のバックアップ情報(図8参照)を仮想先ストレージ装置130にリストアすると、このLU番号「3」がLU番号「1」に変更され、項目305は「実」に変更される。さらに、仮想LUマッピング情報202の項目402のLU番号「3」に対応して登録されていた仮想LUマッピング情報は削除される。
次に、管理計算機140は、管理者が選択した暗号鍵・暗号設定情報バックアップ情報241のうち、管理者が指定した仮想先ストレージ装置130の暗号鍵・暗号設定情報だけをリストア先装置へ送信し、リストアを指示する(ステップ1220)。
リストア先装置は、管理計算機140から仮想先ストレージ装置130の暗号鍵・暗号設定情報を受信すると、リストア実行する。具体的には、リストア先装置は、受信した暗号鍵・暗号設定情報をそのリストア先装置が保持するLU管理情報201、仮想LUマッピング情報202及び暗号鍵管理情報204に追加する。このとき、リストア先装置は、ステップ1219において説明したように値を変更する。そして、リストア先装置は、リストア結果を管理計算機140に通知する(ステップ1221)。
次に、管理者は、故障装置の暗号鍵・暗号設定情報のバックアップ情報を参照し、故障装置の仮想LUと計算機100間に設定されていたパスを参考に、リストア先装置でマッピングした実LUと計算機100間との間にパスを設定する(ステップ1222)。
例えば、図1において、仮想先ストレージ装置130を仮想化しているストレージ装置120Aが故障し、ストレージ装置120Aの記憶領域125に設定されていた暗号鍵等が仮想先ストレージ装置130にリストアされた場合、管理者は、リストア先である仮想先ストレージ装置130の記憶領域135と、計算機100との間にパスを設定する。この設定は、仮想先ストレージ装置130が、計算機100による記憶領域135へのアクセスを許可することを意味する。このパスの設定は、例えばステップ1210と同様の方法によって実行される。
以上が、管理計算機140からリストア先ストレージ装置へのリストア指示処理のフローである。
なお、ステップ1219において、管理計算機140は、仮想化されていたリストア先装置自体の暗号鍵及び暗号設定情報については、暗号鍵・暗号設定情報バックアップ情報241の送信によるリストア指示とは別に、管理計算機140が直接リストア先装置に暗号設定の変更を指示してもよい。
また、ステップ1219において、管理計算機140は、リストア先装置自体の暗号鍵及び暗号設定情報については、暗号鍵・暗号設定情報バックアップ情報241に基づいて新たな暗号鍵・暗号設定情報バックアップ情報241を作成し、その新たな暗号鍵・暗号設定情報バックアップ情報241を送信することによってリストアを指示してもよい。その場合、暗号鍵・暗号設定情報バックアップ情報241内のバックアップ元装置機種・製造番号(項目811)をリストア先装置の装置機種・製造番号とし、当該リストア先装置の項目302のLU番号を項目405のLU番号で置き換え、当該LUの項目305を「仮想」から「実」に置き換えることによって、新たな暗号鍵・暗号設定情報バックアップ情報241が作成される。
なお、リストアに成功した後、仮想先ストレージ装置130のLUにリストア先装置以外のストレージ装置120がアクセスできないように、LUN Securityを設定することによってアクセスを制限してもよい。
<ストレージ装置のリストア処理>
図13は、本発明の第1の実施形態において管理計算機140からリストア指示を受けたストレージ装置が実行するリストア処理の一例を示すフローチャートである。
既に説明したように、ストレージ装置120又は仮想先ストレージ装置130がリストア先として指定される。図13に示す処理は、リストア指示を受信したストレージ装置120又は仮想先ストレージ装置130によって実行される。図13の各ステップを実行する「ストレージ装置」は、リストア指示を受信したストレージ装置120又は仮想先ストレージ装置130である。図14及び図17に示す変形例についても同様である。
ストレージ装置は、管理計算機140からリストア指示とともに、故障装置の1以上の暗号鍵・暗号設定情報バックアップ情報241を受信(ステップ1301)する。ここで受信したリストア指示及び暗号鍵・暗号設定情報バックアップ情報241は、図12のステップ1208、ステップ1215又はステップ1220において送信されたものである。
次に、ストレージ装置は、自装置がシステムオプションモードであるか否かを判定する(ステップ1302)。この判定は、例えば、ストレージ装置機種・製造番号管理情報203の項目503に基づいて実行される。
システムオプションモードでない場合、ストレージ装置は、管理計算機140から受信した暗号鍵・暗号設定情報バックアップ情報241内のバックアップ元装置機種・製造番号(項目811)を参照する(ステップ1303)。
次に、ストレージ装置は、ステップ1303で参照されたバックアップ元装置機種・製造番号が自ストレージ装置の装置機種・製造番号(項目501)と同じか否かを判定する(ステップ1304)。
バックアップ元装置機種・製造番号が自ストレージ装置の装置機種・製造番号と同じである場合、ストレージ装置120からバックアップされた暗号鍵等を、そのストレージ装置120自身にリストアすることが指示されている。この場合、ストレージ装置120は、リストア対象に既に暗号鍵が設定されているか否かを判定する(ステップ1305)。この判定は、LU管理情報201の項目307に基づいて実行される。
なお、記憶領域(LU)125ごとに暗号鍵が設定される場合、リストア対象とは、リストアされる暗号鍵等が設定される記憶領域125である。ストレージ装置ごとに暗号鍵が設定される場合、リストア対象とは、リストアされる暗号鍵等が設定されるストレージ装置120又は仮想先ストレージ装置130である。
暗号鍵が既に設定されている場合、ストレージ装置は処理を終了し、管理計算機にリストア終了を通知する(ステップ1309)。
暗号鍵が設定されていない場合、ストレージ装置は、受信した暗号鍵・暗号設定情報バックアップ情報(すなわち、リストア先として指定されたストレージ装置120からバックアップされた暗号鍵・暗号設定情報バックアップ情報)の暗号鍵がLUごとに設定されているか否かを判定する(ステップ1306)。例えば、項目818にLU番号が格納されていれば、LUごとに暗号鍵が設定されている。一方、「装置」が格納されていれば、装置ごとに暗号鍵が設定されている。
LUごとに暗号鍵が設定されていない場合、ストレージ装置は、各装置に対応する暗号鍵と、各装置のLUに対応する暗号設定情報とをリストアする(ステップ1308)。例えば、暗号鍵が装置ごとに設定されており、かつ、リストア先装置に暗号鍵が設定されていない場合、ストレージ装置は、暗号鍵・暗号設定情報バックアップ情報241内にある当該リストア先装置の暗号鍵(項目813)と、当該リストア先装置の暗号設定情報とをリストア先装置(すなわち自ストレージ装置)に設定する。当該リストア先装置の暗号設定情報は、少なくとも、当該リストア先装置の各LUの暗号On/Off情報(項目306)を含む。
ステップ1306で暗号鍵がLUごとに設定されている場合は、各装置の各LUの暗号鍵及び暗号設定情報を自ストレージ装置にリストアする(ステップ1307)。
ステップ1304でバックアップ元装置機種・製造番号が自ストレージ装置の装置機種・製造番号と異なる場合、ストレージ装置120からバックアップされた暗号鍵等を、そのストレージ装置120(すなわちバックアップ元装置)以外のストレージ装置にリストアすることが指示されている。この場合、ストレージ装置は、管理計算機140から受信した暗号鍵・暗号設定情報バックアップ情報が、バックアップ元装置内の実LUの暗号鍵・暗号設定情報を含むか否かを判定する(ステップ1310)。例えば図8の場合、鍵ID「1」に対応する大データ項目801内の項目305(すなわちバックアップされたLU管理情報201の項目305)の値が「実」である。この場合、項目812の鍵ID「1」によって識別される暗号鍵はバックアップ元装置内の実LUの暗号鍵であり、LU番号「1」によって識別されるLUの暗号On/Off及び鍵IDはバックアップ元装置内の実LUの暗号設定情報である。
受信した情報にバックアップ元装置内の実LUの暗号鍵・暗号設定情報が含まれる場合、ストレージ装置は、バックアップ元装置の暗号鍵・暗号設定情報のリストアを実行せず、ステップ1311に進む(ステップ1318)。すなわち、この場合、ステップ1311以降の処理において、ストレージ装置は、バックアップ元装置内の実LUの暗号鍵・暗号設定情報のリストアを実行しない。
ステップ1310及びステップ1318の結果、実LUに設定された暗号鍵・暗号設定情報が、その情報のバックアップ元であるストレージ装置120以外の装置にリストアされることが防止される。
ステップ1310において、受信した情報にバックアップ元装置内の実LUの暗号鍵・暗号設定情報が含まれないと判定された場合、ストレージ装置は、暗号鍵・暗号設定情報バックアップ情報241内の仮想先装置機種・製造番号の中に、自ストレージ装置の機種・製造番号又は自ストレージ装置が仮想化している仮想先ストレージ装置130の装置機種・製造番号(項目504)が含まれるか否かを判定する(ステップ1311)。
自ストレージ装置の機種・製造番号又は自ストレージ装置が仮想化している仮想先ストレージ装置130の装置機種・製造番号が含まれない場合、処理はステップ1309に進む。
一方、自ストレージ装置の機種・製造番号又は自ストレージ装置が仮想化している仮想先ストレージ装置130の装置機種・製造番号が含まれる場合、ストレージ装置は、ステップ1311において「含まれる」と判定された装置機種・製造番号が、自ストレージ装置の機種・製造番号と同じか否かを判定する(ステップ1312)。言い換えると、ストレージ装置は、装置機種・製造番号が自ストレージ装置の装置機種・製造番号と同じ仮想先ストレージ装置130、又は、装置機種・製造番号が自ストレージ装置が仮想化している仮想先ストレージ装置130の装置機種・製造番号と同じ仮想先ストレージ装置130について、その仮想先ストレージ装置130の機種・製造番号が自ストレージ装置の機種・製造番号と同じか否かを判定する。
同じであると判定された場合、ストレージ装置は、リストア対象に既に暗号鍵が設定されているか判断する。(ステップ1313)。
暗号鍵が設定されている場合、処理はステップ1317に進む。
一方、暗号鍵が設定されていない場合、ストレージ装置は、受信した暗号鍵・暗号設定情報バックアップ情報の暗号鍵がLUごとに設定されているか否かを判定する(ステップ1314)。
暗号鍵がLUごとに設定されている場合、ストレージ装置は、仮想先ストレージ装置130の各LUの暗号鍵及び各LUの暗号設定情報を自ストレージ装置の実LUの暗号鍵及び暗号設定情報としてリストアし、ステップ1317に進む(ステップ1315)。即ち、バックアップ元であるストレージ装置が仮想LUに割り当てた暗号鍵及び暗号設定情報が、リストア先である仮想先ストレージ装置130では、自装置内の実LUの暗号鍵及び暗号設定情報として割り当てられる。
ステップ1314で暗号鍵がLUごとに設定されていないと判定された場合、ストレージ装置は、仮想先ストレージ装置130の暗号鍵及び各LUの暗号設定情報を自装置の暗号鍵及び実LUの暗号設定情報としてリストアする(ステップ1316)。
次にストレージ装置は、受信した暗号鍵・暗号設定情報バックアップ情報内の仮想先装置機種・製造番号のうち、自ストレージ装置の機種・製造番号又は自ストレージ装置が仮想化している仮想先ストレージ装置130の装置機種・製造番号と同じであり、かつ、まだステップ1312以降の処理がされていないものがあるか否かを判定する(1317)。
ステップ1317の条件を満たすものがある場合、処理はステップ1312に戻り、ない場合、処理はステップ1309に進む。
ステップ1312において、当該仮想先ストレージ装置130の機種・製造番号が自ストレージ装置の機種・製造番号と同じでない場合、ストレージ装置は、リストア対象に既に暗号鍵が設定されているか否かを判定する(ステップ1319)。
暗号鍵が設定されている場合、処理はステップ1317に進み、暗号鍵が設定されていない場合、ストレージ装置は、受信した暗号鍵・暗号設定情報バックアップ情報の暗号鍵がLUごとに設定されているか否かを判定する(ステップ1320)。
LUごとに設定されている場合、ストレージ装置は、仮想先ストレージ装置130の各LUの暗号鍵及び各LUの暗号設定情報を自装置の各仮想LUの暗号鍵及び暗号設定情報としてリストアし、ステップ1317に進む(ステップ1321)。
ステップ1320において暗号鍵がLUごとに設定されていないと判定された場合、ストレージ装置は、仮想先ストレージ装置130の暗号鍵及び各LUの暗号設定情報を自装置の暗号鍵及び仮想LUの暗号設定情報としてリストアし、ステップ1317に進む(ステップ1322)。ステップ1321及び1322は、ステップ1315及び1316と同様にして実行される。
以上が、ストレージ装置によって実行される暗号鍵・暗号設定情報バックアップ情報241のリストア処理のフローである。
尚、上記の図13の処理は、図13のリストア処理が実行される前に、リストア先であるストレージ装置120が仮想先ストレージ装置130のLUを仮想化及びマッピングする処理が実行されていることが前提となっている。すなわち、先にリストア先ストレージ装置120が仮想先装置のLUを仮想化及びマッピングしてから、リストア先ストレージ装置120が暗号鍵・暗号設定情報バックアップ情報241受信する。しかし、必ずしもこの順序でリストアが実行される必要はない。例えば、先に管理計算機140がリストア先ストレージ装置120に暗号鍵・暗号設定情報バックアップ情報241を送信し、その後、リストア先ストレージ装置が仮想先ストレージ装置130を仮想化及びマッピングし、それから暗号鍵・暗号設定情報がリストアされてもよい。以下、後者の処理フローを、図13において説明したストレージ装置のリストア処理フローの変形例として、図14を用いて説明する。
<ストレージ装置のリストア処理の変形例1>
図14は、本発明の第1の実施形態において管理計算機140からリストア指示を受けたストレージ装置が実行するリストア処理の第1の変形例を示すフローチャートである。
図14に示す処理のうち、ステップ1301〜1310及び1312〜1322は、図13に示すものと同様であるため、説明を省略する。図14のステップ1311において、図13のステップ1311と同様の判定が実行される。しかし、ここで「No」と判定された場合に実行される処理が、図13と異なる。
ストレージ装置は、ステップ1311において、暗号鍵・暗号設定情報バックアップ情報241内の仮想先装置機種・製造番号の中に、自ストレージ装置の機種・製造番号又は自ストレージ装置が仮想化している仮想先ストレージ装置130の装置機種・製造番号がないと判定された場合、管理計算機140から受信した暗号鍵・暗号設定情報バックアップ情報241を、一旦自装置の制御メモリ124又はHDD(図示省略)に保存する。その後、管理者が仮想先ストレージ装置130のLUを仮想化した後、又は、仮想先ストレージ装置130のLUを実LUとしてマッピングした後に、保存した暗号鍵・暗号設定情報を上記仮想化又はマッピングされたLUに設定する(ステップ1323)。
以上がストレージ装置でのリストア処理の第1の変形例の説明である。
次に、さらに別の変形例2を図17を用いて説明する。本変形例では、暗号鍵・暗号設定情報バックアップ情報241を受信したストレージ装置120が当該バックアップ情報に基づいて自動的に仮想先ストレージ装置130を仮想化し、暗号鍵・暗号設定情報をリストアする点が、既に説明したリストア処理と異なる。
<ストレージ装置のリストア処理の変形例2>
図17は、本発明の第1の実施形態において管理計算機140からリストア指示を受けたストレージ装置が実行するリストア処理の第2の変形例を示すフローチャートである。
第2の変形例では、図13のステップ1301〜1308、1310及び1318に示す処理が実行される。これらのステップは図13において説明したため、図17では省略されている。
図17に示す処理のうち、ステップ1309、1313〜1317及び1320〜1322は、図13に示すものと同様であるため、説明を省略する。
ステップ1310において「No」と判定された場合、及び、ステップ1318が実行された場合、ストレージ装置は、ステップ1701の判定を実行する。
図17のステップ1701及び1702において、それぞれ、図13のステップ1311及び1312と同様の判定が実行される。しかし、これらのステップで「No」と判定された場合に実行される処理が、図13と異なる。
ステップ1701において、ストレージ装置は、管理計算機140から受信した暗号鍵・暗号設定情報バックアップ情報241内の仮想先装置番号の中に、自装置の装置機種・製造番号又は自装置が仮想化している装置の装置機種・製造番号あるか否かを判定する。その結果「No」と判定された場合、処理はステップ1703に進む。一方、「Yes」と判定された場合、ストレージ装置は、その装置機種・製造番号が自ストレージ装置の装置機種・製造番号と同じであるか否かを判定する(ステップ1702)。
ステップ1702において「Yes」と判定された場合、処理はステップ1313に進む。一方、「No」と判定された場合、処理はステップ1703に進む。
ステップ1701又はステップ1702において「No」と判定された場合、ステップ1703において、ストレージ装置120は、管理計算機140から受信した暗号鍵・暗号設定情報バックアップ情報241に含まれる仮想先ストレージ装置130のLU135を仮想化するために、仮想先ストレージ装置130のLU135へアクセスを試み(ステップ1703)、当該LU135へアクセス可能か否かを判定する(ステップ1704)。
例えば、ストレージ装置120がリストア処理を実行する前に項目304の設定が解除されていない場合、ストレージ装置120は当該LU135へアクセスできない。当該LU135へアクセス不可能であった場合、処理はステップ1317へ進む。
一方、当該LU135へアクセス可能であった場合、ストレージ装置120は、自ストレージ装置内に新たな仮想LU125を作成し、当該LU135を仮想化する(ステップ1705)。
例えば、ストレージ装置120は仮想化の際に管理者に問い合わせてもよいし、自ストレージ装置内の空いているポートを任意のLUにマッピングすることによって仮想化してもよい。
次に処理はステップ1320へ進む。以上がストレージ装置120でのリストア処理の第2の変形例の説明である。
<管理計算機によるリストア指示処理の変形例1>
次に管理計算機140からのリストア指示フローの第1の変形例を説明する。
図15は、本発明の第1の実施形態の管理計算機140の暗号鍵・暗号設定情報リストア指示プログラム246がストレージ装置120又は仮想先ストレージ装置130に対して実行するリストア指示処理の第1の変形例を示すフローチャートである。
図15の処理のうち、ステップ1201〜1211、1216、1217、1221及び1222は、図12に示すものと同じである。このため、これらのステップについての説明は省略する。
ステップ1211の処理終了後、管理者は、故障装置が仮想化していた仮想先ストレージ装置130と、リストア先装置とを選択し、当該仮想先ストレージ装置130の暗号鍵・暗号設定情報のリストアを管理計算機に指示する(ステップ1501)。
管理計算機140は、指定された仮想先ストレージ装置130が暗号化されているか確認する(ステップ1502)。
次に管理計算機140は、管理者が指定したリストア先装置と仮想先ストレージ装置130とが同じ装置であるか否かを判定する(ステップ1503)。
管理者が指定したリストア先装置と仮想先ストレージ装置130とが同じ装置でない場合、管理計算機140は、管理者が指定した仮想先ストレージ装置130をリストア先装置に外部接続し、指定した仮想先ストレージ装置130のLU135を仮想化する(ステップ1504)。例えば、管理者が仮想先ストレージ装置130のLU135をリストア先装置のどのLU125が仮想化するか指定してもよいし、管理計算機140がリストア先装置の空いているポートに任意のLUを自動的に作成して、作成されたLU125とLU135とを対応付けてもよい。
次に管理計算機140は、管理者が指定した仮想先ストレージ装置130が暗号化されているか否かを、管理計算機140内の暗号鍵・暗号設定情報バックアップ情報241に基づいて判定する(ステップ1505)。
管理者が指定した仮想先ストレージ装置130が暗号化されている場合、管理計算機140は、管理者が指定した仮想先ストレージ装置130の暗号鍵・暗号設定情報を、管理計算機140内の暗号鍵・暗号設定情報バックアップ情報241から取得し、取得した情報をリストア先装置へ送信して、リストアを指示する(ステップ1506)。
例えば管理者が指定した仮想先ストレージ装置130が項目817にない場合、当該仮想先ストレージ装置130が暗号化されていないことがわかる。
一方、例えば図8の例で管理者が指定した仮想先ストレージ装置130が「D700−110」だった場合、その暗号鍵として、項目812の鍵IDが「5」である暗号鍵を取得する。
ステップ1505において、管理者が指定した仮想先ストレージ装置130が暗号化されていないと判定された場合、管理計算機140は暗号鍵・暗号設定情報をリストア先装置に送信せず、処理はステップ1217に進む。
ステップ1503において、管理者が指定したリストア先装置と仮想先ストレージ装置130とが同じ装置であると判定された場合、管理計算機140は、管理者が指定した仮想先ストレージ装置130のLU135を、リストア先装置の実LUとしてマッピングする(ステップ1507)。
次に管理計算機140は、管理者が指定した仮想先ストレージ装置130が暗号化されているか否かを、ステップ1505と同様に判定する(ステップ1508)。
管理者が指定した仮想先ストレージ装置130が暗号化されている場合、管理計算機140は、管理者が指定した仮想先ストレージ装置130の暗号鍵・暗号設定情報を、管理計算機140内の暗号鍵・暗号設定情報バックアップ情報241から取得し、取得した情報をリストア先装置へ送信して、リストアを指示する(ステップ1509)。
ステップ1508において、管理者が指定した仮想先ストレージ装置130が暗号化されていないと判定された場合、管理計算機140は暗号鍵・暗号設定情報をリストア先装置に送らず、処理はステップ1222に進む。
以上が管理計算機140からのリストア指示処理の第1の変形例の説明である。
次に、さらに別の第2の変形例を説明する。上記のリストア指示処理では、管理計算機140がストレージ装置120の暗号鍵・暗号設定情報バックアップ情報241の一部分の取出し等、高度な機能を備えていた。しかし、以下の変形例ではそのような機能が管理計算機140になく、管理者は単純にストレージ装置120からバックアップした暗号鍵・暗号設定情報バックアップ情報241をそのままストレージ装置120へリストアする。
<管理計算機によるリストア指示処理の変形例2>
管理計算機140からのリストア指示フローの変形例を説明する。
図16は、本発明の第1の実施形態の管理計算機140の暗号鍵・暗号設定情報リストア指示プログラム246がストレージ装置120又は仮想先ストレージ装置130に対して実行するリストア指示処理の第2の変形例を示すフローチャートである。
図16の処理のうち、ステップ1201〜1211、1216、1217、1221及び1222は、図12に示すものと同じである。このため、これらのステップについての説明は省略する。
ステップ1211の処理終了後、管理者はリストア先装置を決定し、さらに、故障装置の仮想先ストレージ装置130のうちのどの仮想先ストレージ装置130の暗号鍵・暗号設定情報をリストアするかを決定する(ステップ1601)。
管理者は、リストア先装置を仮想先ストレージ装置130と同じストレージ装置にしたか否かを判定する(ステップ1602)。
リストア先装置が仮想先ストレージ装置130と同じでない場合、管理者は、決定した仮想先ストレージ装置130を、管理計算機140を使ってリストア先装置に外部接続し、仮想先ストレージ装置130のLU135を仮想化する(ステップ1603)。
次に管理者は、故障装置の暗号鍵・暗号設定情報バックアップ情報241を選択して、選択された情報をそのままリストア先装置に送信し、リストアを指示する(ステップ1604)。
一方、ステップ1602において、リストア先装置が仮想先ストレージ装置130と同じであると判定された場合、管理者は上記決定した仮想先ストレージ装置130の仮想LUを、リストア先装置の実LUとしてマッピングする(ステップ1605)。なお、ここでのマッピングとは、管理者が何か特別な操作を行うことを意味するものではなく、当該仮想LUと実LUの実体とが同一のものとみなすことを意味する。
次に、ステップ1604と同様、管理者は故障装置の暗号鍵・暗号設定情報バックアップ情報241を選択して、選択された情報をそのままリストア先装置に送信し、リストアを指示する(ステップ1606)。
以上が管理計算機140からのリストア指示処理の第2の変形例の説明である。
次に、本発明の第2の実施形態を説明する。
第2の実施形態のシステム構成は、第1の実施形態と同じである(図1参照)。このため、システム構成についての説明は省略する。
第1の実施形態では、故障装置自身又は故障装置が仮想化していた仮想先ストレージ装置130の暗号鍵・暗号設定情報がリストアされる。これに対し第2の実施形態では、必ずしも故障してないストレージ装置120の暗号鍵・暗号設定情報バックアップ情報241を誤って送信する可能性、及び、ストレージ装置120のメモリ故障等によって暗号鍵等が失われた場合にバックアップ元ストレージ装置120自身に暗号鍵・暗号設定情報バックアップ情報241を送信する可能性等も考慮し、管理計算機140が暗号鍵・暗号設定情報のリストアを一元的に実行する。
以下の本実施形態の説明は、ストレージ装置120の暗号鍵及び暗号設定情報(図3、図4、図6参照)は暗号設定指示プログラム244を用いて設定済みであり、そのバックアップ(図8参照)も取得済みであることを前提とする。また、第1の実施形態と同じ処理については説明を省略する。以下図18及び図19を用いて第2の実施形態を説明する。
本実施形態では、管理計算機140は以下の2つの処理を実行する。第1に、ストレージ装置120を監視する(図18参照)。第2に、ストレージ装置120の故障が管理者によって確認された後、管理者からのリストア要求を受けると、管理計算機140は、管理者が指定したリストア先装置に、管理者が指定した暗号鍵・暗号設定情報バックアップ情報を送信し、リストアを指示する(図19参照)。
<管理計算機によるストレージ装置の監視処理>
図18は、本発明の第2の実施形態の管理計算機140のストレージ管理指示プログラム247が実行するストレージ装置120の監視処理の一例を示すフローチャートである。
管理計算機140は、ストレージ装置120に定期的に、所定の信号(いわゆるハートビート)を送信し、その信号に対する応答の有無を監視する(ステップ1801)。
管理計算機140は、ストレージ装置120から上記の応答を受信しなかった場合、そのことを管理者に通知する。例えば、管理計算機は、ストレージ装置120にハートビートを送信した後、所定の時間が経過してもそのハートビートに対する応答を受信しなかった場合、ハートビートを受信しなかったことを示すアラートを管理者に通知してもよい。
管理者は、ストレージ装置の故障有無を確認する(ステップ1802)。この確認は、管理者が管理計算機140又はストレージ装置120の管理端末(図示省略)を介してストレージ装置120の状態確認のためのメンテナンス操作を実行する等の方法によって実行されてもよい。
故障があった場合、管理者はストレージ装置120をFCスイッチ110から取り外す(ステップ1803)。
<管理計算機によるリストア指示処理>
図19は、本発明の第2の実施形態の管理計算機140の暗号鍵・暗号設定情報リストア指示プログラム246が実行するストレージ装置120へのリストア指示処理の一例を示すフローチャートである。
図19の処理は、図18の処理によってストレージ装置120が故障していると判定されたときに実行されてもよいし、それ以外の場合に実行されてもよい。
管理計算機140は、管理者から暗号鍵・暗号設定情報のリストア要求を受信(ステップ1901)し、管理者を認証する(ステップ1902、ステップ1903)。この認証は、図12のステップ1202及び1203と同様にして実行される。
管理者認証失敗の場合は処理を終了する。
管理者認証成功の場合、管理計算機140は、管理者からリストア先装置及びリストアされる暗号鍵・暗号設定情報バックアップ情報241の指定を受け付ける(ステップ1904)。
次に、管理計算機140は、指定された暗号鍵・暗号設定情報バックアップ情報241が示すバックアップ元装置が故障しているか否かを判定する(ステップ1905)。例えば、管理計算機140は、指定された暗号鍵・暗号設定情報バックアップ情報241のバックアップ元装置のIPアドレスに対してハートビートを送信し、そのハートビートに対する応答の有無を判定してもよい。あるいは、管理計算機140は、ディスカバリを実行してもよい。あるいは、管理計算機140は、管理計算機140内のバックアップ元装置の構成情報有無を確認してもよい。
バックアップ元装置のIPアドレスは、例えば項目502又はストレージ管理情報242から取得することができる。バックアップ元装置が故障してFCスイッチ110から取り外されたような場合は、そのバックアップ元装置(すなわち故障装置)の構成情報は管理計算機140から削除されるため、当該バックアップ元装置のIPを取得できない可能性がある。しかし、バックアップ元装置の構成情報がない場合に、当該バックアップ元装置が計算機システムに存在しない(すなわち故障等のために取り外された)と判定することができる。
管理計算機140は、例えば上記ステップ1905に示し方法によって、バックアップ元装置が故障しているか否かを判定する(ステップ1906)。
バックアップ元装置が故障していないと判定された場合、管理計算機140は、バックアップ元装置とリストア先装置とが同じであるか否かを判定する(ステップ1913)。
バックアップ元装置とリストア先装置とが同じでない場合、バックアップ元装置が故障していないにもかかわらず、そのバックアップ元装置からバックアップされた暗号鍵等を他の装置にリストアすることを要求されている。本実施形態では、このようなリストアは許可されないため、処理を終了する。
一方、バックアップ元装置とリストア先装置とが同じである場合、バックアップ元装置からバックアップされた暗号鍵等を、そのバックアップ元装置にリストアすることを要求されている。例えば一時的な故障等によって、バックアップ元装置が暗号鍵等を失った場合に、このような要求がされる場合がある。この場合、管理計算機140は、暗号鍵・暗号設定情報バックアップ情報241をリストア先装置に送信し、リストアを指示する(ステップ1914)。
次に管理計算機140は、リストア先装置の記憶領域と計算機100との間のパスが設定済みか否かを判定する(ステップ1915)。
パスが設定済みである場合は処理を終了する。
パスが設定済みでない場合、管理計算機140は、リストア先装置からリストア終了の通知を受信するのを待つ。リストア終了の通知を受信すると、管理計算機140は、リストア先装置のLUと計算機100との間のパスを設定する(ステップ1916)。例えばリストア前と同じパスを設定する場合、管理計算機140は、項目304の設定と同じようにパスを設定する。
ステップ1906において、バックアップ元装置が故障していると判定された場合、管理計算機140は、管理者が指定した暗号鍵・暗号設定情報バックアップ情報241が仮想先ストレージ装置130の暗号鍵・暗号設定情報を含んでいるか否かを判定する(ステップ1907)。
管理者が指定した暗号鍵・暗号設定情報バックアップ情報241が仮想先ストレージ装置130の暗号鍵・暗号設定情報を含んでいない場合はステップ1914に進む。
管理者が指定した暗号鍵・暗号設定情報バックアップ情報241が仮想先ストレージ装置130の暗号鍵・暗号設定情報を含んでいる場合、管理計算機140は、仮想先ストレージ装置130の記憶領域のLUN Securityを解除する(ステップ1908)。その結果、他のストレージ装置120が仮想先ストレージ装置130にアクセスできるようになる。但し、ステップ1908は必須の処理ではない。当該仮想先ストレージ装置130内の記憶領域にLUN Securityがもともと設定されていない場合、ステップ1908を実行する必要はない。
次に管理計算機140は、リストア先装置が暗号鍵・暗号設定情報バックアップ情報241に含まれる仮想先ストレージ装置130と同じであるか否かを判定する(ステップ1909)。
リストア先装置が暗号鍵・暗号設定情報バックアップ情報241に含まれる仮想先ストレージ装置130と同じでない場合、管理計算機140は、管理者が指定した暗号鍵・暗号設定情報バックアップ情報241に含まれる仮想先ストレージ装置130をリストア先装置に外部接続し、当該仮想先ストレージ装置130のLU135を仮想化する(ステップ1910)。
次に管理計算機140は、管理者が指定した暗号鍵・暗号設定情報バックアップ情報241をリストア先装置に送信し、リストアを指示する(ステップ1911)。
管理計算機140は、リストア先装置からのリストア終了の通知を受けると、バックアップ元装置の仮想LUとパスを介して通信可能に接続されていた計算機100と、リストア先装置の仮想LUとの間にパスを設定する(ステップ1912)。例えば図4の項目402のLU番号「3」によって識別されるLU125が仮想化していた、仮想先ストレージ装置130内のLU番号「1」によって識別されるLU135をリストア先装置が新たに仮想化してリストアする場合、図3でLU番号「3」によって識別されるLUに設定されていた項目304の計算機と、リストア先装置の新たな仮想化LUとの間にパスを設定する。但し、故障等を契機に、従来とは異なるパスが設定されてもよい。
次に管理計算機140は、管理者が指定した暗号鍵・暗号設定情報バックアップ情報241が、他の仮想先ストレージ装置130の暗号鍵・暗号設定情報を含むか否かを判定する(ステップ1920)。
他の仮想先ストレージ装置130の暗号鍵・暗号設定情報が含まれる場合、処理はステップ1908に進む。
一方、他の仮想先ストレージ装置130の暗号鍵・暗号設定情報が含まれない場合、処理を終了する。
ステップ1909において、リストア先装置が暗号鍵・暗号設定情報バックアップ情報241に含まれる仮想先ストレージ装置130と同じであると判定された場合、管理計算機140は、管理者が指定した暗号鍵・暗号設定情報バックアップ情報241に含まれる仮想先ストレージ装置130のLU135を仮想化する仮想LUを、リストア先装置の実LUとしてマッピングする(ステップ1917)。
次に管理計算機140は、管理者が指定した暗号鍵・暗号設定情報バックアップ情報241をリストア先装置に送信し、リストアを指示する(ステップ1918)。
管理計算機140は、リストア先装置からのリストア結果の通知を受けると、バックアップ元装置の仮想LUとパスを介して通信可能に接続されていた計算機と、リストア先装置の実LUとの間にパスを設定する(ステップ1919)。その後、処理はステップ1920に進む。
次に、本発明の第3の実施形態について説明する。
図20は、本発明の第3の実施形態の計算機システムのハードウェア構成を示すブロック図である。
第3の実施形態では、第1及び第2の実施形態の計算機システム構成に、ストレージ装置120の暗号鍵・暗号設定情報を統合管理する暗号管理サーバ150が追加されている。
本実施形態での処理の概要を説明する。
管理者は、暗号鍵・暗号設定情報をバックアップする場合、ストレージ装置120に対して暗号管理サーバ150へのバックアップを指示する。指示を受けたストレージ装置120は暗号管理サーバ150へ暗号鍵・暗号設定情報をバックアップする。一方暗号鍵・暗号設定情報をリストアする場合、管理者は、暗号管理サーバ150に対して、暗号管理サーバ150内の暗号鍵・暗号設定情報をストレージ装置120へ送信するよう指示する。指示を受けた暗号管理サーバ150は、暗号鍵・暗号設定情報をストレージ装置120に送信する。それを受信したストレージ装置120は暗号鍵・暗号設定情報をリストアする。
暗号管理サーバ150について説明する。
暗号管理サーバ150は、CPU151、メモリ152及び管理I/F153を備える。管理I/F153は、IPネットワーク経由で計算機100及び管理計算機140と接続される。管理計算機140は、管理I/F153を介して暗号管理サーバ150を管理することができる。尚、暗号管理サーバ150は、FCネットワーク経由でストレージ装置120及び仮想先ストレージ装置130と接続されてもよい。
暗号管理サーバ150は、暗号管理サーバ150の図示しない磁気ディスク装置等の不揮発記録媒体に記録された、ストレージ装置120の暗号鍵・暗号設定情報バックアップ情報241の管理のためのプログラム等を、暗号管理サーバ150の起動時等にメモリ152にロードする。CPU151は、それらのロードしたプログラムを実行することで、ストレージ装置120への暗号鍵・暗号設定情報バックアップ情報241の送信及び受信等を実行することができる。
次に、本実施形態でのストレージ装置120及び暗号管理サーバ150のソフトウェア構成について説明する。
図21は、本発明の第3の実施形態の計算機システムのソフトウェア構成の一例を示す説明図である。
暗号管理サーバ150のメモリ152には、暗号鍵・暗号設定情報バックアップ情報統合管理情報2101、管理者認証情報2102、暗号鍵・暗号設定情報バックアップ情報統合管理プログラム2103及びアクセス制御プログラム2104が格納される。
図22は、本発明の第3の実施形態の暗号鍵・暗号設定情報バックアップ情報統合管理情報2101の一例を示す説明図である。
暗号鍵・暗号設定情報バックアップ情報統合管理情報2101は、項目2201〜2203の3つのデータ項目から構成される。
項目2201には、暗号管理サーバ150に暗号鍵・暗号設定情報バックアップ情報を送信するストレージ装置120又は仮想先ストレージ装置130のIPアドレス又はホスト名が格納される。但し本項目の値はこれらに限定されない。ストレージ装置120等を一意に識別できる値である限り、例えばストレージ装置120等のポート名(WWN)等が格納されてもよい。
項目2202には、項目2201によって識別されるストレージ装置120等からバックアップされた暗号鍵・暗号設定情報バックアップ情報241の識別子が格納される。
項目2203には、項目2202によって識別されるデータへのアクセスが許可された管理者を識別する情報が格納される。例えば管理者は、項目2202によって識別されるデータのうち、その管理者がアクセスを許可されたものを、ストレージ装置120等へ送信することを、暗号管理サーバ150に指示することができる。
図23は、本発明の第3の実施形態の管理者認証情報2102の一例を示す説明図である。
管理者認証情報2102は、項目2301〜2303の3つのデータ項目から構成される。
項目2301には、暗号管理サーバを使用する管理者を一意に識別するためのユーザIDが格納される。
項目2302には、暗号管理サーバにログインするための管理者のパスワードが格納される。
項目2303には、管理者が暗号管理サーバで実行できる操作を制御するロール情報が格納される。例えば、ユーザID「ABC」に対応するロール情報として「暗号鍵・暗号設定情報バックアップ情報の送信指示」が格納されている場合、ユーザID「ABC」によって識別される管理者は、項目2202によって識別されるデータをストレージ装置へ送信するよう暗号管理サーバ150に指示することができる。
次に、再び図21を参照して、暗号管理サーバ150のプログラム情報について説明する。メモリ152には、暗号鍵・暗号設定情報バックアップ情報統合管理プログラム2103及びアクセス制御プログラム2104が格納される。
暗号鍵・暗号設定情報バックアップ情報統合管理プログラム2103は、管理者からの指示を受けて項目2202のデータをストレージ装置120等へ送信する。さらに、暗号鍵・暗号設定情報バックアップ情報統合管理プログラム2103は、ストレージ装置120等から受信した暗号鍵・暗号設定情報バックアップ情報を、各ストレージ装置120等に対応付けて図22のような形で管理する。
アクセス制御プログラム2104は、暗号管理サーバ150にアクセス要求する管理者の認証及びアクセス制御を実行する。さらに、アクセス制御プログラム2104は、暗号管理サーバ150にアクセス要求するストレージ装置120の認証及びアクセス制御を実行する。以上が暗号管理サーバ150のソフトウェア構成である。
次に、本実施形態におけるストレージ装置120のソフトウェア構成を説明する。図21に示す情報及びプログラムのうち、LU管理情報201、仮想LUマッピング情報202、ストレージ装置機種・製造番号管理情報203、暗号鍵管理情報204、I/O処理プログラム205、暗号設定プログラム206及びストレージ管理プログラム209は、図2に示すものと同様である。このため、これらについての説明は省略する。
ストレージ装置120の制御メモリ124には、上記の情報に加えて、暗号管理サーバ情報2121が格納される。
図24は、本発明の第3の実施形態の暗号管理サーバ情報2121の一例を示す説明図である。
暗号管理サーバ情報2121は、項目2401で構成される。項目2401には、ストレージ装置120が送信する暗号鍵・暗号設定情報バックアップ情報241の送信先である暗号管理サーバ150のIPアドレス又はホスト名が格納される。ただし、項目2401には、IPアドレス又はホスト名以外の、暗号管理サーバ150を一意に識別できる情報が格納されてもよい。
図20には、一つの暗号管理サーバ150のみを示すが、実際には、本実施形態の計算機システムは、複数の暗号管理サーバ150を備えてもよい。ストレージ装置120が暗号鍵・暗号設定情報バックアップ情報241を複数の暗号管理サーバ150に送信する場合、項目2401には、複数の暗号管理サーバ150の識別情報が格納される。
次にストレージ装置120のプログラム情報について説明する。制御メモリ124には、上記のプログラムに加えて、暗号鍵・暗号設定情報バックアッププログラム207、暗号鍵・暗号設定情報リストアプログラム208及び暗号管理サーバ認証プログラム2122が格納される。
本実施形態では、暗号鍵・暗号設定情報バックアッププログラム207は、暗号管理サーバ150に暗号鍵・暗号設定情報バックアップ情報241をバックアップする。暗号鍵・暗号設定情報リストアプログラム208は、暗号管理サーバ150から暗号鍵・暗号設定情報バックアップ情報241を受信してリストアを実行する。
暗号管理サーバ認証プログラム2122は、ストレージ装置120が暗号管理サーバ150から暗号鍵・暗号設定情報バックアップ情報241を受信する時に、その暗号管理サーバ150を認証する。
以上が本実施形態でのソフトウェア構成の説明である。次に本実施形態での暗号鍵・暗号設定情報のバックアップ・リストア処理について説明する。なお、図22〜図24に示す情報、例えば管理者のアカウント情報や暗号管理サーバ150の情報及び送信元ストレージ装置等、は事前に登録済みであると仮定する。
<暗号管理サーバを用いたバックアップ処理>
図25は、本発明の第3の実施形態のストレージ装置120から暗号管理サーバ150へ暗号鍵・暗号設定情報をバックアップする処理の一例を示すフローチャートである。
管理計算機140は、管理者からログイン要求を受信し(ステップ2501)、管理者を認証し(ステップ2502)、管理者認証に成功したか否かを判定する(ステップ2503)。
認証に失敗した場合は処理を終了する。
認証に成功した場合、管理者は、ストレージ装置120に暗号鍵・暗号設定情報のバックアップを指示する(ステップ2504)。
指示を受けたストレージ装置120は、暗号鍵・暗号設定情報バックアップ情報241を暗号管理サーバ150へバックアップ(すなわち暗号鍵・暗号設定情報バックアップ情報241を暗号管理サーバ150へ送信)する(ステップ2505)。例えば、項目2401に格納された暗号管理サーバ150のアドレスへ暗号鍵・暗号設定情報バックアップ情報241が送信される。
暗号鍵・暗号設定情報バックアップ情報241を受信した暗号管理サーバ150は、送信元のストレージ装置120を認証し(ステップ2506)、認証に成功したか否かを判定する(ステップ2507)。
認証に失敗した場合は処理を終了する。
認証に成功した場合、暗号管理サーバ150は、ストレージ装置120から受信した暗号鍵・暗号設定情報バックアップ情報241を統合管理する(ステップ2508)。
<暗号管理サーバを用いたリストア処理>
図26は、本発明の第3の実施形態の暗号管理サーバ150からストレージ装置120へ暗号鍵・暗号設定情報を送信し、リストアする処理の一例を示すフローチャートである。
管理計算機140は、管理者からログイン要求を受信し(ステップ2601)、管理者を認証し(ステップ2602)、認証に成功したか否かを判定する(ステップ2603)。
認証に失敗した場合は処理を終了する。
認証に成功した場合、管理者は、管理計算機140から暗号管理サーバ150へログインを要求する(ステップ2604)。
暗号管理サーバ150は、ログインを要求した管理者を認証し(ステップ2605)、認証に成功したか否かを判定する(ステップ2606)。
認証に失敗した場合は処理を終了する。
認証に成功した場合、管理者は、暗号管理サーバ150内の暗号鍵・暗号設定情報バックアップ情報241を指定し、それを管理者が指定するリストア先装置に送信するよう暗号管理サーバ150に指示する(ステップ2607)。例えば図22の例では、管理者は項目2202の中からデータを指定し、リストア先装置を指定して、そのリストア先装置に項目2202のデータを送信するように暗号管理サーバ150に指示する。
暗号管理サーバ150は、管理者から指定された暗号鍵・暗号設定情報のバックアップ情報を、指定されたリストア先装置に送信する(ステップ2608)。
それを受信したリストア先装置は、送信元の暗号管理サーバ150を認証し(ステップ2609)、認証に成功したか否かを判定する(ステップ2610)。
認証に失敗した場合は処理を終了する。
認証に成功した場合、リストア先装置は、暗号管理サーバ150から送信された暗号鍵・暗号設定情報バックアップ情報241を受信し、受信した情報を使用して、図13のステップ1302以降のリストア処理を実行する(ステップ2611)。
以上が本実施形態での暗号鍵・暗号設定情報のバックアップ・リストア処理である。
次に、本実施形態の第1の変形例について説明する。この変形例では、暗号鍵・暗号設定情報のリストアにあたり、管理者が暗号管理サーバ150へ暗号鍵・暗号設定情報の送信指示を出すのではなく、ストレージ装置120が暗号管理サーバ150へ直接暗号鍵・暗号設定情報の取得要求を送信する。以下では、上記で説明した処理とは異なる、暗号鍵・暗号設定情報のリストア処理についてのみ説明する。すなわち、この変形例における暗号鍵・暗号設定情報のバックアップ処理は、図25に示したものと同じであるため、説明を省略する。
<暗号管理サーバを用いたリストア処理の変形例1>
図27は、本発明の第3の実施形態の暗号鍵・暗号設定情報バックアップ情報統合管理情報2101の第1の変形例を示す説明図である。
図27に示す暗号鍵・暗号設定情報バックアップ情報統合管理情報2101は、項目2201、2202及び2701の3つのデータ項目から構成される。
項目2201及び2202は、図22に示したものと同様であるため、説明を省略する。
項目2701には、項目2202によって識別されるデータへのアクセスが許可されるストレージ装置120又は仮想先ストレージ装置130のIPアドレス又はホスト名が格納される。項目2701のデータはストレージ装置の機器認証に使用さる。このため、項目2701には、ストレージ装置を一意に識別できる情報である限り、IPアドレス又はホスト名以外の情報が格納されてもよい。
図28は、本発明の第3の実施形態の管理者認証情報2102の第1の変形例を示す説明図である。
管理者認証情報2102は、項目2301〜2303の3つのデータ項目から構成される。これらの項目は、図23に示したものと同様であるため、説明を省略する。
ただし、この変形例では、ロール情報として、「管理サーバへアクセス可能なストレージ装置の登録」が格納される場合がある。例えば、ユーザID「ABC」に対応するロール情報として「管理サーバへアクセス可能なストレージ装置の登録」が格納されている場合、ユーザID「ABC」によって識別される管理者は、項目2202によって識別されるデータへのアクセスが許可されるストレージ装置を識別する情報を項目2701に新たに格納することができる。
図29は、本発明の第3の実施形態の暗号管理サーバ150からストレージ装置120へ暗号鍵・暗号設定情報を送信し、リストアする処理の第1の変形例を示すフローチャートである。
管理計算機140は、管理者からログイン要求を受信し(ステップ2901)、管理者を認証し(ステップ2902)、認証に成功したか否かを判定する(ステップ2903)。
認証に失敗した場合は処理を終了する。
認証に成功した場合、管理者は、管理計算機140から暗号管理サーバ150へログインを要求する(ステップ2904)。
暗号管理サーバ150は、ログインを要求した管理者を認証し(ステップ2905)、認証に成功したか否かを判定する(ステップ2906)。
認証に失敗した場合は処理を終了する。
認証に成功した場合、管理者は、暗号管理サーバ150内の暗号鍵・暗号設定情報バックアップ情報241を指定し、当該情報にアクセス可能なストレージ装置120として、新たにリストア先装置を追加する(ステップ2907)。
例えば図22の例では、先頭のエントリの項目2201に格納された「10.1.1.1」によって識別されるストレージ装置120が故障して、その故障装置からバックアップされた情報をアドレス「A1」によって識別されるリストア先装置にリストアしたい場合、管理者は、先頭エントリの項目2701に新たなリストア先装置のアドレス「A1」を追加する。その結果、先頭エントリの項目2701には、「10.1.1.1」及び「A1」の二つのアドレスが格納される。
次に、管理者は、管理計算機140からストレージ装置120に対し、管理者が指定したストレージ装置120の暗号鍵・暗号設定情報バックアップ情報241を、暗号管理サーバ150から取得し、リストアをするよう指示する(ステップ2908)。
ストレージ装置120は、管理者に指定されたストレージ装置120の暗号鍵・暗号設定情報バックアップ情報241の取得を暗号管理サーバ150に要求する(ステップ2909)。
暗号管理サーバ150は、暗号鍵・暗号設定情報バックアップ情報241の取得を要求したストレージ装置120(すなわちリストア先装置)を認証し(ステップ2910、ステップ2911)、認証に成功したか否かを判定する。
認証に失敗した場合は処理を終了する。
認証に成功した場合、暗号管理サーバ150は、リストア先装置に暗号鍵・暗号設定情報バックアップ情報241を送信する(ステップ2912)。ストレージ装置120は、暗号管理サーバ150から送られた暗号鍵・暗号設定情報バックアップ情報241を受信し、受信した情報を使用して、図13のステップ1302以降のリストア処理を実行する(ステップ2913)。
以上の本発明の実施形態によれば、例えば、計算機と、管理計算機と、仮想化機能及び暗号化機能を備える第1及び第2のストレージ装置(以下、仮想化制御ストレージ装置とも呼ぶ)と、仮想化制御ストレージ装置によって仮想化される一台以上の第3のストレージ装置(以下、仮想先ストレージ装置とも呼ぶ)で構成される計算機システムにおいて、第3のストレージ装置の記憶領域が第1のストレージ装置によって仮想化及び暗号化されている。第1のストレージ装置用の暗号鍵と、仮想先ストレージ装置用の暗号鍵を区別できるように、第1のストレージ装置の暗号鍵がバックアップされる。
第1のストレージ装置が故障すると、第3のストレージ装置が第2のストレージ装置に新たに接続され、第2のストレージ装置に第1のストレージ装置からバックアップされた暗号鍵がリストアされる。この場合、第2のストレージ装置は以下の処理を行う。
リストア要求された暗号鍵が、第2のストレージ装置からバックアップしたものか否かを判定する。その暗号鍵が第2のストレージ装置からバックアップされたものであり、かつ、第2のストレージ装置に暗号鍵が設定されていない場合、第2のストレージ装置は暗号鍵をリストアする。
リストア要求された暗号鍵が第2のストレージ装置からバックアップされたものでない場合、第2のストレージ装置は、リストア要求された暗号鍵が、バックアップ元ストレージ装置(第1のストレージ装置)の自装置用の暗号鍵を含むか否かを判定する。含むと判定された場合、その第1のストレージ装置の自装置用の暗号鍵のリストアは実行されない。
リストア要求された暗号鍵のうちその他の暗号鍵が、第2のストレージ装置自体が仮想化されていた場合の暗号鍵、又は、第2のストレージ装置が仮想化する第3のストレージ装置用の暗号鍵を含むか否かを判定する。含むと判定された場合は、その暗号鍵が第2のストレージ装置にリストアされる。
以上の本発明の実施形態によれば、データの暗号・復号機能、暗号鍵・暗号設定情報のバックアップ・リストア機能及び仮想化機能を有するストレージ装置を含む計算機システムにおいて、ストレージ装置が故障しても、他のストレージ装置にその暗号鍵を誤ることなくリストアすることができる。このため、データ破壊を起こすことなく、暗号化された記憶領域のデータを復号することが可能である。
以上、実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。