説明

ストレージ装置およびストレージシステム

【課題】仮想記憶領域に記録されたデータを短時間で無効化できるようにする。
【解決手段】アクセス処理部11は、複数の記憶装置31〜34の記憶領域を分割した分割領域A1〜A4,A11〜A14ごとに、個別の暗号キーを用いてデータを暗号化して書き込む。データ無効化処理部12は、分割領域に記録されたデータの無効化処理を実行する。また、仮想記憶領域41は、物理記憶領域として分割領域A1,A2,A11,A12が割り当てられて構築されている。データ無効化制御部21は、データ無効化処理部12に対して、データの無効化対象とする仮想記憶領域41に割り当てられている分割領域A1,A2,A11,A12のそれぞれについての暗号化に用いる暗号キーを無効化させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ装置およびストレージシステムに関する。
【背景技術】
【0002】
HDD(Hard Disk Drive)などの記憶装置に対してデータを暗号化して記録するストレージ装置が知られている。このようなストレージ装置では、暗号化されて記録されたデータの復号に用いる暗号キーを抹消することで、記録されていたデータを読み出すことが不可能になるので、記録されていたデータをごく短時間で実質的に消去することができる。
【0003】
また、暗号キーの抹消によるデータ消去方法を用いたストレージ装置の例として、論理ボリュームごとに異なる暗号キーを用いてデータを暗号化して記録し、暗号キーを抹消することで、論理ボリューム単位でデータの消去を行うようにしたものがある。さらに、仮想化されたボリュームに対してデータを暗号化して記録するようにしたストレージ装置もある。
【0004】
一方、近年、サーバコンピュータを仮想マシンと呼ばれる複数台の仮想的なコンピュータに分割して、各仮想マシンに別のOS(Operating System)プログラムやアプリケーションプログラムを実行させるサーバ仮想化技術が注目されている。サーバ仮想化技術を利用することで、プロセッサやメモリ、通信回線などのコンピュータシステムのハードウェア資源を、需要に応じて柔軟に配分できるようになり、ハードウェア資源を効率よく運用できる。また、サーバ仮想化技術を用いて構築された仮想マシンに対しては、ディスクボリュームも仮想ディスクとして仮想的に構築されることが多い。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−225437号公報
【特許文献2】特開2008−108039号公報
【特許文献3】特開2010―113509号公報
【特許文献4】特開2009−163542号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
仮想マシンの運用を終了する際に、その仮想マシンに構築された仮想ディスクに記録されていたデータを、暗号キーの抹消によって短時間に消去したいという要求がある。しかしながら、仮想マシンを実現するシステムでは、仮想ディスクに対する物理記憶領域の割り当てが、物理記憶領域に対して記録するデータの暗号化および暗号キーの管理を行うストレージ制御装置とは別の装置によって行われる場合が多い。
【0007】
このように、仮想ディスクに対する物理記憶領域の割り当てがストレージ制御装置とは別の装置によって行われるシステムでは、ストレージ制御装置は、仮想ディスクに対する物理記憶領域の割り当てを何ら意識せずに、記録するデータの暗号化や暗号キーの管理を行う。このため、仮想ディスク単位で暗号キーを抹消することが難しい。
【0008】
1つの側面では、本発明は、仮想記憶領域に記録されたデータを短時間で無効化できるようにしたストレージ装置およびストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、ストレージ装置が提供される。このストレージ装置は、暗号キー記憶部、アクセス処理部およびデータ無効化処理部を有する。暗号キー記憶部には、記憶装置の記憶領域を分割して得られた複数の分割領域のそれぞれに対応付けられた暗号キーが記録される。アクセス処理部は、データ書き込み先の分割領域に対応する暗号キーを暗号キー記憶部から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化し、暗号化して得られた暗号化データをデータ書き込み先の分割領域に書き込む。データ無効化処理部は、管理装置から、無効化対象の仮想記憶領域に対して物理記憶領域として割り当てられた分割領域の指定を受けるとともに、指定された分割領域に記録されたデータの無効化指示を受けると、暗号キー記憶部に記録された暗号キーのうち、指定された分割領域に対応付けられた暗号キーを無効化する。
【0010】
また、上記目的を達成するために、管理装置とストレージ装置とを有するストレージシステムが提供される。管理装置は、無効化対象の仮想記憶領域に対して物理記憶領域として割り当てられた、記憶装置の記憶領域を分割して得られた分割領域を指定するとともに、指定した分割領域に記録されたデータの無効化を指示する。ストレージ装置は、暗号キー記憶部、アクセス処理部およびデータ無効化処理部を備える。暗号キー記憶部には、複数の分割領域のそれぞれに対応付けられた暗号キーが記録される。アクセス処理部は、データ書き込み先の分割領域に対応する暗号キーを暗号キー記憶部から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化し、暗号化して得られた暗号化データをデータ書き込み先の分割領域に書き込む。データ無効化処理部は、管理装置からデータの無効化指示を受けると、暗号キー記憶部に記録された暗号キーのうち、無効化対象として指定された分割領域に対応付けられた暗号キーを無効化する。
【発明の効果】
【0011】
1態様によれば、仮想記憶領域に記録されたデータを短時間で無効化することができる。
【図面の簡単な説明】
【0012】
【図1】第1の実施の形態に係るストレージシステムの構成例を示す図である。
【図2】第2の実施の形態に係る情報処理システムのシステム構成例を示す図である。
【図3】ストレージ制御装置のハードウェア構成例を示す図である。
【図4】仮想ディスクに対する記憶領域の割り当てについて示す図である。
【図5】ホストサーバ、ストレージ制御装置およびインフラストラクチャ管理サーバの処理機能の構成例を示すブロック図である。
【図6】RAID管理テーブルに登録される情報の例を示す図である。
【図7】暗号キー管理テーブルに登録される情報の例を示す図である。
【図8】データ消去管理テーブルに登録される情報の例を示す図である。
【図9】論理ボリューム管理テーブルに登録される情報の例を示す図である。
【図10】ストレージプール管理テーブルに登録される情報の例を示す図である。
【図11】仮想ディスク管理テーブルに登録される情報の例を示す図である。
【図12】ストレージプールに登録される論理ボリュームと、論理ボリュームを構成する物理記憶領域のアクセス性能との関係の例を示す図である。
【図13】サービス対応テーブルの例を示す図である。
【図14】仮想マシンおよび仮想ディスクを構築するための前処理手順の例を示すフローチャート(その1)である。
【図15】仮想マシンおよび仮想ディスクを構築するための前処理手順の例を示すフローチャート(その2)である。
【図16】仮想マシン構築時の処理手順の例を示すフローチャートである。
【図17】データ消去モードの推奨処理手順の例を示すフローチャートである。
【図18】ホストサーバが仮想ディスクにアクセスする際の処理手順の例を示す図である。
【図19】仮想マシンの運用が終了される際の処理手順を示すフローチャート(その1)である。
【図20】仮想マシンの運用が終了される際の処理手順を示すフローチャート(その2)である。
【図21】仮想マシンの運用が終了される際の処理手順を示すフローチャート(その3)である。
【図22】仮想マシンの運用が終了される際の処理手順を示すフローチャート(その4)である。
【図23】仮想マシンの運用が終了される際の処理手順を示すフローチャート(その5)である。
【図24】ストレージ制御部でのホストアクセス処理および第3の消去モードでの上書き処理の手順の例を示すフローチャート(その1)である。
【図25】ストレージ制御部でのホストアクセス処理および第3の消去モードでの上書き処理の手順の例を示すフローチャート(その2)である。
【発明を実施するための形態】
【0013】
以下、実施の形態について図面を参照して詳細に説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例を示す図である。
【0014】
図1に示すストレージシステム1は、ストレージ装置10と、管理装置20とを備える。また、ストレージ装置10には、複数の記憶装置が接続されている。図1では例として、ストレージ装置10には、記憶装置31〜34が接続されている。記憶装置31〜34は、HDD、SSD(Solid State Drive)などの不揮発性記憶装置である。
【0015】
ストレージ装置10は、アクセス処理部11、データ無効化処理部12および暗号キー記憶部13を備える。アクセス処理部11およびデータ無効化処理部12の処理は、例えば、ストレージ装置10が備えるCPU(Central Processing Unit)が所定のプログラムを実行することで実現される。暗号キー記憶部13は、例えば、HDDなどの不揮発性記憶装置によって実現される。
【0016】
アクセス処理部11は、複数の記憶装置31〜34の記憶領域を分割した分割領域ごとに、個別の暗号キーを用いてデータを暗号化して書き込む。暗号キー記憶部13には、複数の記憶装置31〜34を分割して得られた分割領域ごとに、暗号キーが対応付けて記録されている。
【0017】
アクセス処理部11は、データ書き込み先の分割領域に対応する暗号キーを暗号キー記憶部13から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化し、暗号化して得られた暗号化データをデータ書き込み先の分割領域に書き込む。
【0018】
図1の例では、記憶装置31,32による物理記憶領域が、4つの分割領域A1〜A4に分割され、記憶装置33,34による物理記憶領域も、4つの分割領域A11〜A14に分割されている。ここで、記憶装置31,32は、例えば、所定のRAID(Redundant Arrays of Inexpensive Disks)レベルでデータ記録が制御されるRAIDグループに属する。また、記憶装置33,34も同様に、所定のRAIDレベルでデータ記録が制御されるRAIDグループに属する。
【0019】
アクセス処理部11は、分割領域A1〜A4,A11〜A14のそれぞれに対するデータの書き込み時に、データ書き込み先の分割領域に対応する暗号キーを暗号キー記憶部13から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化する。アクセス処理部11は、暗号化して得られた暗号化データを、データ書き込み先の分割領域に書き込む。
【0020】
データ無効化処理部12は、管理装置20からの指示に応じて、記憶装置31〜34の記憶領域に記録されたデータの無効化処理を実行する。データ無効化処理部12は、データ無効化方法の1つとして、分割領域で暗号化に用いる暗号キーを無効化することで、その分割領域のデータを読み出し不可能にし、そのデータを実質的に消去する方法を用いることができる。ここで言う暗号キーの無効化とは、元の暗号キーをなくすことであり、元の暗号キーを新たな暗号キーに変更することを含む。
【0021】
管理装置20は、例えば、データ無効化制御部21を備える。データ無効化制御部21の処理は、例えば、管理装置20が備えるCPUが所定のプログラムを実行することで実現される。データ無効化制御部21は、仮想記憶領域の運用を終了するなどのタイミングで、仮想記憶領域に記録されたデータを無効化するように、データ無効化処理部12に指示する。また、データ無効化制御部21は、データ無効化方法の一例として、無効化対象の仮想記憶領域に割り当てられている分割領域について、暗号化に用いる暗号キーを無効化させる。
【0022】
ここで、上記のストレージシステム1では、物理記憶領域(すなわち、記憶装置31〜34による記憶領域)が仮想的に割り当てられた仮想記憶領域を構築可能になっている。仮想記憶領域には、物理記憶領域が分割領域を単位として割り当てられる。換言すると、ストレージシステム1では、仮想記憶領域に対する物理記憶領域の割り当て単位が、それぞれ個別の暗号キーが設定される記憶領域の単位(分割領域)と一致するように、仮想記憶領域が構築される。
【0023】
これにより、データ無効化制御部21は、無効化対象の仮想記憶領域に割り当てられている分割領域に対応付けられた暗号キーを無効化するように指示することで、仮想記憶領域を単位として、暗号キーの無効化によるデータ無効化処理をデータ無効化処理部12に実行させることができるようになる。従って、仮想記憶領域に記録されていたデータを、暗号キーの無効化によって短時間に無効化することができる。
【0024】
図1の例では、物理領域として分割領域A1,A2,A11,A12が割り当てられた仮想記憶領域41と、物理領域として分割領域A13,A14,A3,A4が割り当てられた仮想記憶領域42とが構築されている。この状態から、例えば、仮想記憶領域41の運用が終了される場合、データ無効化制御部21は、データ無効化処理部12に対して、分割領域A13,A14,A3,A4のそれぞれに対応する暗号キーの無効化を指示する。
【0025】
暗号キーの無効化指示を受けたデータ無効化処理部12は、暗号キー記憶部13において分割領域A13,A14,A3,A4のそれぞれに対応付けられた暗号キーを無効化する。これにより、仮想記憶領域41に記録されていたデータは、暗号キーの無効化というごく短時間で実行可能な処理によって無効化される。
【0026】
また、データが無効化された分割領域については、他の仮想記憶領域に割り当て可能な状態に遷移させることができる。この場合、仮想記憶領域の運用が終了されてからごく短時間で、その仮想記憶領域に割り当てられていた分割領域を、他の仮想記憶領域に割り当て可能になるので、物理記憶領域を効率よく利用できるようになる。
【0027】
〔第2の実施の形態〕
図2は、第2の実施の形態に係る情報処理システムのシステム構成例を示す図である。図2に示す情報処理システム100は、ホストサーバ200、ストレージ装置300、インフラストラクチャ管理サーバ400および管理者端末500を含む。
【0028】
ホストサーバ200とストレージ装置300とは、ネットワーク101を介して接続されている。ネットワーク101は、例えば、FC(Fibre Channel)、iSCSI(SCSI:Small Computer System Interface)などに従って通信が行われるSAN(Storage Area Network)である。ホストサーバ200、インフラストラクチャ管理サーバ400および管理者端末500は、ネットワーク102を介して互いに接続され、ストレージ装置300、インフラストラクチャ管理サーバ400および管理者端末500は、ネットワーク103を介して接続されている。ネットワーク102,103は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)などに従って通信が行われるLAN(Local Area Network)である。
【0029】
ホストサーバ200は、サーバ装置を仮想化した仮想マシンを構築する。ホストサーバ200は、ホストサーバ200自身が持つハードウェア資源や、ストレージ装置300内の記憶装置によるストレージ資源を、ソフトウェア制御によって配分することで、仮想マシンを構築する。
【0030】
ストレージ装置300は、1つまたは複数のディスクアレイ装置301と、ストレージ制御装置302とを備える。ディスクアレイ装置301は、それぞれ複数のHDDを備える。ディスクアレイ装置301内のHDDによって実現される物理記憶領域の少なくとも一部は、仮想マシンの記憶領域(仮想ディスク)として割り当てられる。なお、ディスクアレイ装置301に搭載される記憶装置は、例えばSSDでもよい。
【0031】
ストレージ制御装置302は、ホストサーバ200などからのアクセス要求に応じて、ディスクアレイ装置301内のHDDにアクセスする。また、ストレージ制御装置302は、ディスクアレイ装置301に対して記録するデータを暗号化する機能や、その暗号化や復号に用いる暗号キーを生成する機能を備える。さらに、ストレージ制御装置302は、インフラストラクチャ管理サーバ400からの要求に応じて暗号キーを変更することもできる。
【0032】
インフラストラクチャ管理サーバ400は、ディスクアレイ装置301内のHDDによる物理記憶領域のうち、仮想マシンの仮想ディスクに割り当て可能な記憶領域を、各種のテーブルを用いて管理する。仮想マシンの仮想ディスクに割り当て可能な記憶領域は「ストレージプール」と呼ばれ、インフラストラクチャ管理サーバ400は、ホストサーバ200からの要求に応じて、仮想ディスクに対してストレージプールから記憶領域を割り当てる。
【0033】
また、インフラストラクチャ管理サーバ400は、仮想ディスクの運用が終了して、その仮想ディスクに割り当てられていた記憶領域が解放されたとき、解放された記憶領域におけるデータ消去をストレージ制御装置302に実行させる。データ消去の基本的な方法としては、「0」などの所定の値を上書きする方法と、記憶領域へのデータ記録に使用されていた暗号キーを変更する方法とがある。
【0034】
管理者端末500は、情報処理システム100を管理する管理者によって操作される端末装置である。管理者は、管理者端末500を用いて、例えば、ストレージ装置300における論理ボリュームの設定、ストレージプールの設定、仮想サーバや仮想ディスクの新規設定などを行うことができる。
【0035】
図3は、ストレージ制御装置のハードウェア構成例を示す図である。
ストレージ制御装置302は、CPU311によって装置全体が制御されている。CPU311には、RAM(Random Access Memory)312および複数の周辺機器が、バス318を介して接続されている。RAM312は、ストレージ制御装置302の主記憶装置として使用され、CPU311に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。
【0036】
CPU311には、周辺機器の例として、SSD313、入力I/F(インタフェース)314、ネットワークI/F315,316およびディスクI/F317が接続されている。
【0037】
SSD313は、ストレージ制御装置302の二次記憶装置として使用され、CPU311によって実行されるプログラムやその実行に必要な各種のデータなどを記憶する。なお、二次記憶装置としては、例えば、HDDなどの他の種類の不揮発性記憶装置が使用されてもよい。
【0038】
入力I/F314には、操作キーなどを備える入力装置314aが接続されている。入力I/F314は、入力装置314aに対する操作入力に応じた信号をCPU311に出力する。
【0039】
ネットワークI/F315は、ネットワーク101を通じて、ホストサーバ200との間でデータを送受信する。ネットワークI/F316は、ネットワーク103を通じて、インフラストラクチャ管理サーバ400や管理者端末500との間でデータを送受信する。
【0040】
ディスクI/F317は、CPU311からの要求に応じて、ディスクアレイ装置301内のHDDに対するデータの書き込みや、HDDからのデータの読み出しを行う。ディスクI/F317は、ディスクアレイ装置301内のHDDと、例えばSAS(Serial Attached SCSI)に従って通信する。
【0041】
なお、ホストサーバ200、インフラストラクチャ管理サーバ400および管理者端末500についても、ストレージ制御装置302と同様のハードウェア構成を有するコンピュータとして実現可能である。
【0042】
図4は、仮想ディスクに対する記憶領域の割り当てについて示す図である。
ホストサーバ200は、仮想化制御部210を備え、仮想化制御部210の制御の下で仮想マシンを構築する。図4の例では、3つの仮想マシンVM#01〜VM#03が構築されている。各仮想マシンでは、OSプログラムや各種のアプリケーションプログラム(図4では「アプリ」と表記)が、仮想化制御部210の下で実行される。
【0043】
また、各仮想マシンには、ストレージ資源として仮想ディスクが割り当てられる。図4の例では、仮想マシンVM#01,VM#02,VM#03に対してそれぞれ仮想ディスクVD#01,VD#02,VD#03が割り当てられている。仮想ディスクの記憶領域は、ストレージプール303から割り当てられる。
【0044】
ストレージプール303には、ストレージ装置300のディスクアレイ装置301内のHDDによる物理記憶領域のうち、仮想ディスクに割り当て可能な領域が、論理記憶領域(以下、論理ボリュームと呼ぶ)を単位として登録されている。各論理ボリュームは、例えば、同一の記憶容量を有する。ストレージプール303に登録された論理ボリュームと、各論理ボリュームの使用状態とは、インフラストラクチャ管理サーバ400が保持するストレージプール管理テーブル(後述)によって管理される。
【0045】
仮想ディスクには、ストレージプール303に登録された、未使用状態の論理ボリュームが割り当てられる。図4の例では、仮想ディスクVD#01に対して論理ボリュームLV#11,LV#21,LV#31が割り当てられ、仮想ディスクVD#02に対して論理ボリュームLV#12,LV#22が割り当てられ、仮想ディスクVD#03に対して論理ボリュームLV#32,LV#13,LV#23,LV#33が割り当てられている。仮想ディスクの容量は、ストレージプール303の論理ボリュームの新規割り当ておよび解放を行うことで、適宜増減することができる。仮想ディスクに割り当てられた論理ボリュームは、ストレージプール303において使用中状態として管理され、仮想ディスクから解放された論理ボリュームは、ストレージプール303において未使用領域として管理される。
【0046】
一方、ストレージ制御装置302は、ディスクアレイ装置301内のHDDによる物理記憶領域を、RAIDグループを単位として管理する。RAIDグループは、複数のHDDの物理記憶領域を組み合わせて構成される論理記憶領域である。各RAIDグループには任意のRAIDレベルが設定され、ストレージ制御装置302は、各RAIDグループに対するデータ記録を、設定されたRAIDレベルに応じた手順で、データが異なるHDDに冗長化されるように制御する。
【0047】
ストレージ制御装置302は、さらに、各RAIDグループを分割した論理記憶領域(以下、論理ユニットと呼ぶ)ごとに管理する。各論理ユニットは、例えば、同一の記憶容量を有する。
【0048】
図4の例では、3つのRAIDグループRG#01〜#03が設定され、RAIDグループRG#01〜#03のそれぞれは、4つの論理ユニットLUN#1〜LUN#4に分割されている。そして、RAIDグループRG#01〜#03のそれぞれの論理ユニットLUN#1〜LUN#4が、ストレージプール303の記憶領域の少なくとも一部を構成する。
【0049】
また、ストレージ制御装置302は、RAIDグループを構成する記憶領域に対して記録するデータを暗号化する機能を備える。また、ストレージ制御装置302は、データの暗号化に使用する暗号キーを生成する機能も備える。そして、ストレージ制御装置302は、各RAIDグループ内の論理ユニットごとに、異なる暗号キーを用いてデータの暗号化を行う。換言すると、論理ユニットは、互いに異なる暗号キーを用いてデータを暗号化することが可能な記憶領域である。また、ストレージ制御装置302は、論理ユニットへのデータ記録の際に用いる暗号キーを変更することで、暗号キーの変更前に論理ユニットに記録されていたデータを読み出し不能にし、それらのデータを実質的に消去することができる。
【0050】
ところで、仮想マシンの運用が終了されると、その仮想マシンに割り当てられていた仮想ディスクの運用も終了される。運用が終了された仮想マシンを利用していた利用者は、その仮想マシンに割り当てられていた仮想ディスクに記録されているデータを完全に消去することを希望する場合が多い。
【0051】
データを完全に消去する方法としては、別のデータ(例えば、すべて「0」のデータ)を上書きする方法がある。また、仮想ディスクに対してデータを暗号化して記録していた場合には、暗号キーを変更することで、その仮想ディスク内のデータを実質的に「完全消去」する、という方法も考えられる。この場合、暗号キーが変更されることで、ストレージ制御装置302の外部からは、変更前の暗号キーで暗号化されたデータを読み出すことができなくなる。前者の方法では、仮想ディスクの全領域に対してデータの上書きが行われるため、全データの消去までに長時間を要する。これに対して、後者の方法によれば、暗号キーの変更だけで、データをごく短時間で消去できる。
【0052】
本実施の形態では、後者の「暗号キー変更による仮想ディスク内のデータの完全消去」を実現するために、それぞれ個別の暗号キーが使用される論理ユニットを、仮想ディスクに対する記憶領域の割り当て単位にする。すなわち、ストレージ制御装置302が管理する論理ユニットと、ストレージプール303に登録される、仮想ディスクへの割り当て単位である論理ボリュームとを、1対1で対応付ける。これにより、運用を終了する仮想ディスクに割り当てられていたすべての論理ボリュームに対応する論理ユニットについて、暗号キーを変更するようにストレージ制御装置302に要求することで、その仮想ディスクに記録されていたデータを完全消去することができるようになる。
【0053】
図4の例では、仮想ディスクVD#03に対して、ストレージプール303内の論理ボリュームLV#32,LV#13,LV#23,LV#33が割り当てられている。ここで、論理ボリュームLV#32がRAIDグループRG#03の論理ユニットLUN#2に、論理ボリュームLV#13がRAIDグループRG#01の論理ユニットLUN#3に、論理ボリュームLV#23がRAIDグループRG#02の論理ユニットLUN#3に、論理ボリュームLV#33がRAIDグループRG#03の論理ユニットLUN#3に、それぞれ対応付けられているものとする。
【0054】
この場合、RAIDグループRG#03の論理ユニットLUN#2、RAIDグループRG#01の論理ユニットLUN#3、RAIDグループRG#02の論理ユニットLUN#3、およびRAIDグループRG#03の論理ユニットLUN#3のそれぞれについての暗号キーを変更するように、ストレージ制御装置302に要求することで、仮想ディスクVD#03に記録されていたデータを完全消去することができる。
【0055】
仮に、論理ユニットと論理ボリュームとが1対1で対応付けられていない場合、暗号キー変更によって仮想ディスク単位でデータを完全消去することは困難である。例えば、RAIDグループRG#01の論理ユニットLUN#1に対して、論理ボリュームLV#11,LV#12が対応付けられているものとする。また、図4に示すように、仮想ディスクVD#01に論理ボリュームLV#11が割り当てられ、仮想ディスクVD#02に論理ボリュームLV#12が割り当てられたとする。このような場合には、例えば、仮想ディスクVD#02に割り当てられている論理ボリュームLV#12のデータを、暗号キー変更によって消去しようとすると、同じ論理ユニットLUN#1に対応付けられた、仮想ディスクVD#01の論理ボリュームLV#11のデータも消去されてしまう。従って、仮想ディスクVD#02内のすべてのデータを暗号キー変更によって消去することができない。
【0056】
図5は、ホストサーバ、ストレージ制御装置およびインフラストラクチャ管理サーバの処理機能の構成例を示すブロック図である。
ホストサーバ200は、前述した仮想化制御部210を備える。仮想化制御部210の処理は、ホストサーバ200のCPUが、ハイパーバイザなどと呼ばれる仮想化制御プログラムを実行することによって実現される。仮想化制御部210は、仮想マシンを構築し、構築した仮想マシンの動作を制御する。また、仮想化制御部210は、仮想マシンに割り当てられた仮想ディスクに対するアクセスを、ストレージ制御装置302に対して要求する。
【0057】
ホストサーバ200が備える不揮発性記憶装置(例えばSSDやHDDなど)には、仮想ディスク管理テーブル220が記録される。仮想ディスク管理テーブル220には、仮想マシンに割り当てた仮想ディスクの情報が登録される。仮想ディスクの情報としては、ストレージプール303から仮想ディスクに割り当てられた論理ボリュームの番号、割り当てられた論理ボリュームに対応する論理ユニットの情報などである。仮想化制御部210は、仮想ディスクに対してアクセスする際に、仮想ディスク管理テーブル220に登録された情報を基に、アクセス先の物理記憶領域のアドレス(RAIDグループ内の論理ブロックアドレス)を特定することができる。
【0058】
ストレージ制御装置302は、ストレージ制御部320を備える。ストレージ制御部320の処理は、例えば、ストレージ制御装置302のCPU311が所定のプログラムを実行することによって実現される。また、ストレージ制御装置302が備える不揮発性記憶装置(例えばSSD313)には、RAID管理テーブル330、暗号キー管理テーブル340およびデータ消去管理テーブル350が記録される。
【0059】
RAID管理テーブル330には、RAIDグループごとに、設定されたRAIDレベル、RAIDグループを構成するHDDの番号、RAIDグループに属する論理ユニットの番号などの情報が登録される。暗号キー管理テーブル340には、論理ユニットごとに、データ記録の際に使用する暗号キーが登録される。
【0060】
ストレージ制御部320は、ホストI/O(In/Out)処理部321を備える。ホストI/O処理部321は、ホストサーバ200の仮想化制御部210からの要求に応じて、ディスクアレイ装置301内のHDDにアクセスする。ホストI/O処理部321は、ディスクアレイ装置301内のHDDにアクセスする際に、RAID管理テーブル330を参照して、アクセス先のRAIDグループに設定されたRAIDレベルに応じた処理を行う。また、ホストI/O処理部321は、暗号キー管理テーブル340において、アクセス先の論理ユニットに暗号キーが設定されている場合には、設定された暗号キーを用いて、記録するデータの暗号化、および、読み出したデータの復号を行う。
【0061】
また、ストレージ制御部320は、データ消去処理部322を備える。データ消去処理部322は、仮想ディスクの運用が終了された場合に、インフラストラクチャ管理サーバ400からの要求に応じて、運用が終了された仮想ディスクに対応する論理ユニットに記録されたデータの消去処理を行う。後述するように、本実施の形態では、仮想ディスクに記録されたデータの消去処理には3種類の処理モードがあるが、データ消去処理部322は、これらのうち「第3の消去モード」でデータ消去を実行する際に、データ消去管理テーブル350を参照する。
【0062】
データ消去管理テーブル350には、運用が終了された仮想ディスクに対応する物理領域のうち、上書き処理が完了した領域と、上書き処理が完了していない領域とを示す情報が登録される。なお、このデータ消去管理テーブル350は、ホストI/O処理部321がディスクアレイ装置301内のHDDに対してデータを書き込む際にも参照される。
【0063】
インフラストラクチャ管理サーバ400は、ストレージ管理部410とストレージプール管理部420とを備える。ストレージ管理部410およびストレージプール管理部420の各処理は、例えば、インフラストラクチャ管理サーバ400が備えるCPUが所定のプログラムを実行することによって実現される。また、インフラストラクチャ管理サーバ400が備える不揮発性記憶装置(例えばSSDやHDDなど)には、論理ボリューム管理テーブル430、ストレージプール管理テーブル440および仮想ディスク管理テーブル450が登録される。
【0064】
ストレージ管理部410は、管理者端末500からの要求に応じて、論理ユニットの設定を行う。ストレージ管理部410は、設定した論理ユニットと、ストレージプール303における論理ボリュームとの対応関係を、論理ボリューム管理テーブル430に登録する。
【0065】
また、ストレージ管理部410は、仮想ディスクの運用が終了された際に、運用が終了された仮想ディスクに記録されていたデータの消去処理を、ストレージ制御装置302に実行させる。
【0066】
ストレージプール管理部420は、ストレージプール管理テーブル440を用いて、ストレージプール303の論理ボリュームの使用状況を管理する。ストレージプール管理テーブル440には、仮想ディスクに対して割り当て可能な論理ボリュームの一覧と、各論理ボリュームのステータスとが登録される。
【0067】
また、ストレージプール管理部420は、ホストサーバ200の仮想化制御部210からの要求に応じて、ストレージプール管理テーブル440に登録された論理ボリュームから、未使用状態の論理ボリュームを仮想ディスクに割り当てる。ストレージプール管理部420は、仮想ディスクに対して割り当てた論理ボリュームを、仮想ディスク管理テーブル450を用いて管理する。仮想ディスク管理テーブル450には、仮想サーバおよび仮想ディスクの一覧に対して、仮想ディスクに割り当てられた論理ボリュームの番号と、仮想ディスクごとのデータ消去ポリシーとが対応付けて登録される。ここで、データ消去ポリシーとは、対応する仮想ディスクの運用を終了する際に、3種類のデータ消去処理のうちのどの処理によって、仮想ディスクに記録されたデータを消去するかを示す情報である。
【0068】
図6は、RAID管理テーブルに登録される情報の例を示す図である。
RAID管理テーブル330には、RAIDグループごとにレコード331が登録される。各レコード331には、対応するRAIDグループの識別番号が付与されている。また、各レコード331には、「RAIDレベル」、「ディスク数」、「ディスク番号」、「性能属性」、「論理ユニット」および「暗号化設定」が登録される。
【0069】
「RAIDレベル」は、対応するRAIDグループに対して設定されたRAIDレベルを示す。「ディスク数」は、対応するRAIDグループに属するHDDの数を示す。「ディスク番号」は、対応するRAIDグループに属するHDDの識別番号を示す。「ディスク番号」は、「ディスク数」に設定された数だけ、レコード331に登録される。
【0070】
「性能属性」は、対応するRAIDグループに属する記憶装置のアクセス性能に応じた属性を示す。「性能属性」には、例えば、似たようなアクセス性能を有する種類の記憶装置が同じ属性に分類されるように、情報が登録される。例えば、「性能属性」には、「SSD」、「SAS/FCドライブ」、「NL(Nearline)/SATA(Serial ATA,ATA:AT Attachment)ドライブ」などが登録される。なお、1つのRAIDグループに属する記憶装置は、すべて同じ性能属性を持つものとする。
【0071】
「論理ユニット」は、対応するRAIDグループに設定された論理ユニットの識別番号が登録される。また、「論理ユニット」のそれぞれには、対応するRAIDグループにおける論理ユニットのアドレス(LBA:Logical Block Address)の範囲を示す「アドレス範囲」が登録される。
【0072】
「暗号化設定」は、対応するRAIDグループに属するHDDに対して記録するデータを暗号化するか否かを示す情報である。
図7は、暗号キー管理テーブルに登録される情報の例を示す図である。
【0073】
暗号キー管理テーブル340には、RAIDグループに設定された論理ボリュームごとに、データ記録時の暗号化およびデータ読み出し時の復号に用いられる暗号キーが登録される。なお、ストレージ制御装置302のホストI/O処理部321は、ランダムな暗号キーを生成する機能を有し、暗号キー管理テーブル340には、論理ボリュームごとにユニークな暗号キーが登録される。
【0074】
また、記録するデータを暗号化しないように設定されたRAIDグループの論理ボリュームについては、暗号キーが登録されず、その代わりに例えば「NULL」が登録される。なお、暗号キー管理テーブル340には、記録するデータを暗号化するように設定されたRAIDグループのみが登録されてもよい。
【0075】
図8は、データ消去管理テーブルに登録される情報の例を示す図である。
データ消去管理テーブル350には、運用が終了された仮想マシンおよび仮想ディスクの識別番号に対応付けて、仮想ディスクに対応するRAIDグループおよび論理ユニットの識別番号が登録される。データ消去管理テーブル350に登録される仮想マシンおよび仮想ディスクは、運用を終了する際のデータ消去処理を前述の「第3の消去モード」で行うように設定されたもののみである。
【0076】
さらに、データ消去管理テーブル350には、消去対象領域として、各論理ユニットを分割した単位領域の先頭LBA(図8中の「0x00000010」,「0x00000011」,・・・に対応)が登録される。この単位領域とは、データ消去のための上書き処理の実行単位である。そして、データ消去管理テーブル350では、論理ユニット内の分割領域ごとに、上書き処理の実行状態が登録される。上書き処理の実行状態としては、上書き処理が完了していることを示す「上書き済み」と、上書き処理が完了していないことを示す「未処理」のいずれかが登録される。
【0077】
図9は、論理ボリューム管理テーブルに登録される情報の例を示す図である。
論理ボリューム管理テーブル430には、RAIDグループおよび論理ユニットの識別番号に対して、対応する論理ボリュームの番号が登録される。この論理ボリューム管理テーブル430によって、ストレージ制御部320が管理する論理ユニットと、ストレージプール303を構成する論理ボリュームとが関連付けられる。
【0078】
図10は、ストレージプール管理テーブルに登録される情報の例を示す図である。
ストレージプール管理テーブル440には、ストレージプール303を構成する論理ボリュームごとに、使用状態を示すステータスが登録される。ステータスとしては、対応する論理ボリュームが仮想ディスクに割り当てられていることを示す「使用中」、対応する論理ボリュームが仮想ディスクに割り当て可能であることを示す「未使用」、対応する論理ボリュームに対する上書き処理中であることを示す「初期化中」のいずれかが登録される。
【0079】
図11は、仮想ディスク管理テーブルに登録される情報の例を示す図である。
仮想ディスク管理テーブル450には、仮想サーバおよび仮想ディスクの識別番号に対して、「データ消去モード」および「構成LUN」が登録される。
【0080】
「データ消去モード」は、対応する仮想ディスクの運用を終了する際に、3種類の処理モードのうちどの処理モードに従ってデータ消去処理を実行するかを示す情報が設定される。後述するように、「データ消去モード」には、第1〜第3の消去モードのうちのいずれかが設定される。これらのうち、第1の消去モードおよび第3の消去モードは、データの上書き処理を伴う処理であるのに対し、第2の消去モードは、データの上書き処理を伴わない処理である。
【0081】
「構成LUN」には、対応する仮想ディスクに割り当てられた、ストレージプール303内の論理ボリュームの識別番号が登録される。
なお、ホストサーバ200内の仮想ディスク管理テーブル220には、仮想ディスク管理テーブル450と同様に、仮想サーバおよび仮想ディスクの識別番号に対して、仮想ディスクに割り当てられた論理ボリュームの識別番号が対応付けて登録される。さらに、仮想ディスク管理テーブル220には、割り当てられた論理ボリュームに対応する論理ユニットの情報も登録される。
【0082】
次に、仮想ディスクの運用を終了する際のデータ消去処理について説明する。
本実施の形態の情報処理システム100では、仮想マシンの運用が終了された場合に、その仮想マシンに割り当てられていた仮想ディスクに記録されていたデータを消去するサービスが提供される。このデータ消去サービスでは、例えば、ファイルシステムにおけるデータ記録領域に対応する設定を変更するといった、実体的なデータがHDDに残るようなデータ消去ではなく、記録されたデータがストレージ装置300の外部から完全に読み出すことができなくなるようなデータ消去が行われる。本実施の形態では、このようにデータが「完全に」消去されるようなデータ消去処理として、利用者による仮想ディスクごとの事前設定に応じて、第1〜第3の消去モードのいずれかに従って実行される。
【0083】
(1)第1の消去モード
上記のようにデータを「完全に」消去する方法として、記録されたデータに任意のデータ(例えば、すべて「0」)を上書きする方法がある。以下、データ消去用に上書きするデータを「初期化データ」と呼ぶ。第1の消去モードでのデータ消去処理は、仮想ディスクの運用が終了された時点で、記録データに初期化データを上書きする処理を即座に開始するものである。
【0084】
この第1の消去モードでのデータ消去処理では、運用が終了された仮想ディスクに割り当てられた論理ボリュームのそれぞれにおいて、全領域に対する初期化データの上書きが終了するまで、その論理ボリュームは他の仮想ディスクに割り当てることができない。具体的には、論理ボリュームに対する初期化データの上書きを開始してから、仮想ディスクに割り当てられていた全論理ボリューム内の全領域に対する上書きが終了するまでの間、ストレージプール管理テーブル440における上書き対象の論理ボリュームに対応するステータスは、「初期化中」に設定される。そして、その論理ボリューム内の全領域に対する上書き処理が終了すると、対応するステータスが「未使用」に変更される。
【0085】
このように、第1の消去モードでのデータ消去処理は、記録されたデータを完全に消去できるという利用者側のメリットがある。その反面、運用が終了された仮想ディスクに割り当てられた論理ボリュームを再利用できるようになるまでの時間が長いという、サービス提供者側にとってのデメリットがある。また、データの上書き処理がストレージ制御装置302のCPU311によって実行されるため、上書き処理が完了するまでの間、他の運用中の仮想ディスクに対するアクセス性能が低下する可能性もある。
【0086】
なお、第1の消去モードが設定された仮想ディスクについては、割り当てられた物理記憶領域に対して記録するデータは、必ずしも暗号化される必要はない。データの暗号化を行わないことで、仮想ディスクに対するアクセス性能を高めることができる。ただし、第1の消去モードが設定された場合でも、記録するデータを暗号化しておくことにより、例えば、仮想ディスクを構成するHDDが取り外され、そのHDDから記録データが不正に読み出されるといった事態を防止できる。
【0087】
(2)第2の消去モード
第2の消去モードが選択されている場合、仮想ディスクに割り当てられた論理ボリュームに記録するデータが暗号化される。そして、仮想ディスクの運用が終了される際に、割り当てられた論理ボリュームの暗号化に用いる暗号キーが変更されることで、論理ボリュームに記録されたデータが実質的に完全消去される。なお、暗号キーは変更されるのではなく、単に抹消されるだけでもよい。
【0088】
この第2の消去モードでのデータ消去処理では、暗号キー管理テーブル340において、仮想ディスクに割り当てられた論理ボリュームに対応付けられた暗号キーを変更または抹消するだけで、データが消去される。このため、仮想ディスクの運用を終了してからごく短時間で、データを完全に消去できるとともに、データが消去された論理ボリュームを再利用可能な状態に遷移させることができる。
【0089】
(3)第3の消去モード
上記の第2の消去モードでのデータ消去処理によれば、仮想ディスクに割り当てられていた論理ボリュームを、ごく短時間で再利用可能になる。このため、仮想ディスクを提供するサービス提供者側にとっては、限られたストレージリソースを効率的に運用できるという極めて大きなメリットがある。一方で、第2の消去モードのように暗号キーの変更によってデータを消去する処理ではなく、第1の消去モードのように初期化データを上書きすることによるデータ消去を要求する利用者も多く、第2の消去モードでは必ずしも顧客要求を満足できないことがあった。
【0090】
これに対して、第3の消去モードは、ストレージリソースを効率的に運用できるというサービス提供者側の要求を満たしつつ、初期化データの上書き処理も実行するようにして、利用者側の要求にも応えるようにする処理モードである。
【0091】
この第3の消去モードでは、初期化データの上書きによるデータ消去と、暗号キー変更によるデータ消去とを併用する。具体的には、第3の消去モードでのデータ消去処理では、仮想ディスクの運用が終了されると、その仮想ディスクに割り当てられていた論理ボリュームに対するデータ記録に使用されていた暗号キーが変更される。これとともに、暗号キーが変更された論理ボリュームは、即座に再利用可能な状態にされる。また、初期化データの上書き処理は、仮想ディスクの運用が終了されたタイミングとは非同期に実行される。例えば、仮想ディスクの運用が終了された後、他の仮想ディスクに対するアクセスが要求されていない期間において、運用が終了された仮想ディスクに対する初期化データの上書き処理が実行される。
【0092】
さらに、第3の消去モードでのデータ消去処理では、運用が終了された仮想ディスクに割り当てられていた論理ボリューム内の領域のうち、運用終了後に新たなデータが書き込まれていない領域に対してのみ、初期化データの上書きが行われる。例えば、再利用可能にした論理ボリュームは、初期化データが上書きされる前に、他の仮想ディスクに割り当てられる可能性がある。他の仮想ディスクに割り当てられた論理ボリュームには、ホストサーバ200の仮想化制御部210からの要求に応じて、新たなデータが書き込まれる可能性が十分考えられる。
【0093】
このようにホストサーバ200からの要求に応じて新たなデータが書き込まれた領域には、初期化データを上書きしないようにする。これにより、仮想ディスクの運用終了時点でその仮想ディスクに割り当てられていた論理ボリュームを即座に再利用可能にしながらも、初期化データの上書き処理を実行できるようになる。従って、ストレージリソースを効率的に運用できるというサービス提供者側の要求と、初期化データの上書きによりデータを消去するという利用者側の要求の両方を満たすことができる。
【0094】
また、仮想ディスクの運用が終了されたタイミングとは非同期に初期化データの上書きが行われることで、ストレージ制御装置302の処理負荷を分散させ、上書き処理が運用中の他の仮想ディスクに対するアクセス性能に与える影響を低減することができる。
【0095】
さらに、運用が終了された仮想ディスクに割り当てられていた論理ボリュームの領域のうち、ホストサーバ200からの要求に応じて新たなデータが書き込まれた領域には、初期化データの上書きを行わないようにすることで、初期化データを上書きする領域が小さくなる可能性が生じる。初期化データの上書き領域が小さくなった場合には、上書き処理に要する時間が短縮され、その結果、データ消去処理を実行するストレージ制御装置302の処理負荷を軽減することもできる。
【0096】
なお、第3の消去モードでは、初期化データの上書き処理を、仮想ディスクの運用終了時点で即座に実行するようにしてもよい。
また、第3の消去モードでは、例えば、暗号キー変更によるデータ消去を行わないようにしてもよい。この場合でも、運用が終了された仮想ディスクに割り当てられていた論理ボリュームが即座に再利用可能になるので、サービス提供者側にとってのメリットは大きい。その反面、初期化データが上書きされておらず、元の仮想ディスクの記録データがそのまま残っている論理ボリュームが、即座に再利用可能な状態となるので、第1の消去モードや第2の消去モードと比較して、記録データの安全性は低下する。
【0097】
しかしながら、論理ボリュームが他の仮想ディスクに割り当てられて、新たなデータが書き込まれた場合には、新たなデータが書き込まれた領域に残っていた元のデータが消去されることになる。従って、運用が終了された仮想ディスクに割り当てられていたすべての記憶領域に対する初期化データの上書きが終了するより前に、それらの記憶領域の一部にそのまま残っていたデータがすでに読み出し不能の状態になる場合も多くなる。
【0098】
ところで、上記のデータ消去処理についての各処理モードは、例えば、仮想ディスクに割り当てられる物理記憶装置の性能に応じて設定されてもよい。ここで、図12は、ストレージプールに登録される論理ボリュームと、論理ボリュームを構成する物理記憶領域のアクセス性能との関係の例を示す図である。
【0099】
ストレージプール303に登録される論理ボリュームを実現する物理記憶装置(すなわち、ストレージ装置300に搭載される記憶装置)としては、様々な種類の記憶装置を用いることができる。例えば、SASに準拠したHDD(SASドライブ)、FCに準拠したHDD(FCドライブ)、ニアライン向けのHDD(NLドライブ)、SATAに準拠したHDD(SATAドライブ)、SSDなどがある。
【0100】
情報処理システム100では、例えば、仮想ディスクの記憶領域として割り当て可能な物理記憶装置として、上記のような様々な種類の記憶装置を、似たようなアクセス性能を有する組み合わせごとに異なる性能属性に分類して、利用者が選択できるようにする。例えば、SSDを最も高速な記憶装置に分類し、NLドライブおよびSATAドライブを最も低速な記憶装置に分類し、SASドライブまたはFCドライブを中間的な速度の記憶装置に分類する。
【0101】
インフラストラクチャ管理サーバ400は、図12に示すように、ストレージプール303に登録される論理ボリュームを、論理ボリュームを実現する物理記憶装置の性能属性ごとに分類して管理する。例えば、インフラストラクチャ管理サーバ400は、論理ボリュームを実現する物理記憶装置の性能属性ごとに個別のストレージプール管理テーブル440を保持する。論理ボリュームを実現する物理記憶装置の性能属性は、RAID管理テーブル330から取得することができる。
【0102】
図13は、サービス対応テーブルの例を示す図である。図13に示すサービス対応テーブル461,462は、上記のデータ消去処理の処理モードと、性能属性および利用料金との組み合わせに応じたサービス体系について記載されたテーブルである。
【0103】
サービス対応テーブル461は、第3の消去モードでのデータ消去処理において暗号キー変更を併用する場合を示す。第2の消去モードは、初期化データの上書き処理が実行されないため、記憶装置に対しては高いアクセス性能が要求されないと考えられる。逆に、第1の消去モードでは、初期化データの上書き処理を高速に実行するために、高いアクセス性能を持つ記憶装置が使用されることが望ましい。このため、サービス対応テーブル461において、サービスC1では、アクセス速度が最も低い記憶装置が用いられ、かつ、第2の消去モードが選択される。一方、サービスC2では、第1の消去モードが選択されるとともに、サービスC1の場合よりアクセス速度が高い記憶装置が用いられる。また、第2の消去モードでは、使用が終了された論理ボリュームが即座に再利用可能になり、サービス提供者に対するメリットが大きいことから、サービスB1よびサービスC1の利用料金の方が低く設定される。
【0104】
第3の消去モードでは、暗号キー変更および初期化データの上書きという二重のデータ消去が行われるため、利用者側にとってのメリットが大きいと考えられる。この観点から、サービス対応テーブル461では、第3の消去モードが設定されるサービスA1の利用料金は、第1,第2の消去モードのいずれかが設定されるサービスB1,C1より高く設定される。また、サービスA1では、初期化データの上書きが行われることから、少なくとも初期化データの上書きが行われないサービスC1よりも、アクセス性能の高い記憶装置が用いられることが望ましい。そこで、サービスA1では、最もアクセス速度の高い記憶装置が使用されるようにする。
【0105】
なお、第1の消去モードでは、仮想ディスクの運用が終了されると即座に初期化データの上書きが実行されることから、ホストサーバ200からの要求に応じたI/O処理負荷に与える影響が大きく、サービス提供者側のデメリットが大きい。このような観点から、第3の消去モードが選択されるサービスよりも、第1の消去モードが選択されるサービスの利用料金が高くされてもよい。また、使用する記憶装置のアクセス性能を高めることで、初期化データの上書き処理がI/O処理負荷に与える影響を少なくすることもできる。このような観点から、第1の消去モードが選択されるサービスでは、第3の消去モードが選択されるサービスよりも、よりアクセス速度の高い記憶装置が使用されるようにしてもよい。
【0106】
一方、サービス対応テーブル462は、第3の消去モードでのデータ消去処理において暗号キー変更を併用しない場合を示す。第3の消去モードでは暗号キー変更のみによってデータが消去されることから、サービス対応テーブル462では、顧客満足度に鑑みて、第3の消去モードが設定されたサービスC2よりも第1の消去モードが設定されたサービスA2の利用料金が高く設定される。また、第3の消去モードでは、データの上書き処理が完了するまでは、元のデータが消去されない可能性がある。このような観点から、第2の消去モードが設定されたサービスB2よりも第3の消去モードが設定されたサービスC2の利用料金が低く設定される。
【0107】
また、第1の消去モードでは、仮想ディスクの運用が終了されると即座に初期化データの上書きが実行される。初期化データの上書き処理を短時間で終了させるためには、アクセス性能が高い記憶装置が使用されることが望ましい。このような観点から、サービス対応テーブル462では、第3の消去モードが設定されるサービスC1より、第1の消去モードが設定されるサービスA2において、よりアクセス速度が高い記憶装置が使用される。
【0108】
以上のサービス対応テーブル461,462の例のように、データ消去モードは、使用される記憶装置のアクセス性能や、利用者およびサービス提供者側のメリット/デメリットのバランスなどに応じて選択されることが望ましい。
【0109】
また、上記のサービス対応テーブル461,462のいずれかは、例えば、インフラストラクチャ管理サーバ400の不揮発性記憶装置に保持されてもよい。この場合、インフラストラクチャ管理サーバ400は、管理者端末500を通じて仮想マシンの構築のための設定が行われる際に、サービス対応テーブルのいずれかを参照して、管理者端末500に対して、提供可能なサービスを管理者端末500に提示することができる。図13のように、使用される記憶装置の性能属性と、データ消去モードとの好ましい組み合わせをあらかじめ用意しておくことで、性能属性やデータ消去モードの選択操作を支援し、サービスの利用を容易にすることができる。また、サービス対応テーブルに記載されたサービス体系を、利用者に直接提示できるようにしてもよい。
【0110】
さらに、例えば、インフラストラクチャ管理サーバ400は、管理者端末500から仮想ディスクに使用する記憶装置の性能属性の指定を受けたとき、サービス対応テーブルを参照して、指定された性能属性に対応する適切なデータ消去モードを抽出して、推奨するデータ消去モードとして管理者端末500に出力してもよい。あるいは、インフラストラクチャ管理サーバ400は、管理者端末500から指定された性能属性に対応する適切なデータ消去モードを、自動的に設定してもよい。
【0111】
次に、情報処理システム100において実行される処理について、フローチャートを用いて説明する。
まず、図14,図15は、仮想マシンおよび仮想ディスクを構築するための前処理手順の例を示すフローチャートである。
【0112】
[ステップS11]管理者は、管理者端末500を通じて、仮想ディスク生成のために必要な論理ユニット(LU)の生成・設定を行う。管理者は、管理者端末500に対して、設定すべき論理ユニットの情報を入力する。管理者端末500は、ストレージ制御装置302のホストI/O処理部321に対して、入力された設定情報を送信し、論理ユニットの生成を要求する。
【0113】
[ステップS12]ホストI/O処理部321は、管理者端末500から受信した設定情報に基づき、論理ユニットを構築する。具体的には、ホストI/O処理部321は、RAID管理テーブル330のレコード331のうち、管理者端末500から指定されたRAIDグループのレコード331を抽出する。ホストI/O処理部321は、抽出したレコード331に対して論理ユニットの情報を設定することにより、論理ユニットを構築する。また、ホストI/O処理部321は、暗号キー管理テーブル340に、構築した論理ユニットに対応するレコードを生成する。
【0114】
[ステップS13]ホストI/O処理部321は、管理者端末500から受信した設定情報に基づき、ステップS12で構築した論理ユニットに対して記録するデータを暗号化するかを判定する。ホストI/O処理部321は、暗号化する場合には(S13:Yes)、ステップS14の処理を実行する一方、暗号化しない場合には(S13:No)、ステップS15の処理を実行する。
【0115】
[ステップS14]ホストI/O処理部321は、ステップS12で暗号キー管理テーブル340に生成したレコードに対して、暗号キーを登録する。ホストI/O処理部321は、論理ユニットごとにそれぞれ異なる暗号キーを生成して登録する。
【0116】
[ステップS15]ホストI/O処理部321は、構築した論理ユニットについての情報を、インフラストラクチャ管理サーバ400のストレージ管理部410に通知する。論理ユニットについての情報としては、例えば、RAIDグループおよび論理ユニットの識別番号、論理ユニットの領域を示すアドレス情報、論理ユニットを構成する記憶装置の性能属性、論理ユニットに対してデータが暗号化されるように設定されているかを示す情報などが通知される。
【0117】
[ステップS16]インフラストラクチャ管理サーバ400のストレージ管理部410は、ホストI/O処理部321から通知された、RAIDグループおよび論理ユニットの識別番号を、論理ボリューム管理テーブル430に登録する。この登録処理により、ストレージプール303に登録される論理ボリュームと、ストレージ制御装置302が管理する論理ユニットとが対応付けられる。
【0118】
[ステップS17]ストレージ管理部410は、新規に登録された論理ユニットに対応付けられた論理ボリュームの識別番号を、ストレージプール管理部420に通知する。このとき、ストレージ管理部410は、例えば、論理ボリュームに対応する論理ユニットを構成する記憶装置の性能属性、論理ユニットに対してデータが暗号化されるように設定されているかを示す情報なども、ストレージプール管理部420に通知する。
【0119】
[ステップS18]ストレージプール管理部420は、ストレージ管理部410から通知された論理ボリュームの識別番号を、ストレージプール管理テーブル440に登録する。このとき、ストレージプール管理部420は、例えば、論理ボリュームに対応する論理ユニットを構成する記憶装置の性能属性や、論理ユニットに対してデータが暗号化されるか否かに応じて、それぞれ個別のストレージプール管理テーブル440にデータを登録してもよい。
【0120】
[ステップS19]ストレージプール管理部420は、ステップS18でストレージプール管理テーブル440に新規登録したレコードのすべてにおいて、ステータスを「未使用」に設定する。これにより、ストレージプール303に対する論理ボリュームの登録が完了する。
【0121】
次に、図16は、仮想マシン構築時の処理手順の例を示すフローチャートである。
[ステップS31]管理者は、管理者端末500を通じて、仮想マシン(VM)を構築するための設定を行う。管理者は、管理者端末500に対して、仮想マシンにおけるCPUの性能、メモリ容量、仮想ディスクに関する設定情報などを入力する。仮想ディスクに関する設定情報としては、仮想ディスクの容量、仮想ディスクの性能属性、仮想ディスクに記録するデータを暗号化するかを示す情報などがある。管理者端末500は、入力された情報をホストサーバ200の仮想化制御部210に送信して、仮想マシンの構築を要求する。
【0122】
[ステップS32]ホストサーバ200の仮想化制御部210は、管理者端末500から受信した情報を基に、仮想マシンを構築する。また、仮想化制御部210は、管理者端末500から受信した、仮想ディスク(VD)についての設定情報と、仮想マシンおよび仮想ディスクの識別情報を、インフラストラクチャ管理サーバ400のストレージプール管理部420に送信し、仮想ディスクに対する論理ボリュームの割り当てを要求する。
【0123】
[ステップS33]インフラストラクチャ管理サーバ400のストレージプール管理部420は、仮想化制御部210から通知された情報に基づいて、ストレージプール管理部420から未使用状態の論理ボリュームを切り出し、仮想ディスクに割り当てる。
【0124】
具体的には、ストレージプール管理部420は、通知された性能属性や暗号化の有無に合致するストレージプール管理テーブル440を参照する。ストレージプール管理部420は、参照したストレージプール管理テーブル440においてステータスが「未使用」とされた論理ボリュームを、仮想ディスクの容量分だけ選択し、選択した全論理ボリュームについてのステータスを「使用中」に更新する。さらに、ストレージプール管理部420は、仮想ディスク管理テーブル450における、構築処理中の仮想マシンのレコードに対して、仮想ディスクに割り当てた論理ボリュームの識別番号を登録する。
【0125】
以上の処理が終了すると、ストレージプール管理部420は、仮想ディスクに割り当てた論理ボリュームの識別番号を、ホストサーバ200の仮想化制御部210に送信する。
[ステップS34]ホストサーバ200の仮想化制御部210は、ストレージプール管理部420から通知された論理ボリュームの識別番号を、仮想ディスク管理テーブル220に登録して、論理ボリュームの設定を行う。なお、仮想化制御部210は、仮想ディスクに割り当てられた論理ボリュームに対応する論理ユニットの情報も、仮想ディスク管理テーブル220に登録する。論理ユニットの情報は、例えば、インフラストラクチャ管理サーバ400のストレージ管理部410あるいはストレージ制御装置302に問い合わせることによって取得されてもよいし、あるいは、ステップS33の段階でストレージ管理部410からストレージプール管理部420を介して通知されてもよい。
【0126】
仮想化制御部210は、仮想ディスクの設定が終了すると、その旨を管理者端末500に通知する。
なお、上記処理では、仮想ディスクに対する論理ボリュームの割り当てを、インフラストラクチャ管理サーバ400のストレージプール管理部420が実行するものとした。しかしながら、仮想ディスクに対する論理ボリュームの割り当ては、ホストサーバ200の仮想化制御部210によって実行されてもよい。この場合、ホストサーバ200も、ストレージプール管理テーブル440や論理ボリューム管理テーブル430に相当する情報を保持する。そして、ホストサーバ200の仮想化制御部210は、自身が仮想ディスクに割り当てた論理ボリュームの識別番号を、インフラストラクチャ管理サーバ400のストレージプール管理部420に送信する。ストレージプール管理部420は、受信した論理ボリュームの識別番号を、ストレージプール管理テーブル440および論理ボリューム管理テーブル430に登録する。
【0127】
[ステップS35]管理者端末500は、管理者の操作に応じたデータ消去モードの選択入力を受け付ける。管理者端末500は、選択されたデータ消去モードを、インフラストラクチャ管理サーバ400のストレージプール管理部420に通知する。
【0128】
[ステップS36]インフラストラクチャ管理サーバ400のストレージプール管理部420は、通知されたデータ消去モードを、仮想ディスク管理テーブル450における、構築処理中の仮想マシンのレコードに対して登録する。登録が終了すると、ストレージプール管理部420は、ホストサーバ200の仮想化制御部210に対して、仮想ディスクの設定が完了したことを通知する。
【0129】
[ステップS37]ホストサーバ200の仮想化制御部210は、構築した仮想マシンを起動する。これにより、仮想マシンの運用が開始される。
なお、データ消去モードが指定される際には、例えば、前述のサービス対応テーブル461,462に基づいて、推奨されるデータ消去モードが管理者端末500に通知されてもよい。この場合、例えば、図16の処理手順が次の図17のように変更されればよい。
【0130】
図17は、データ消去モードの推奨処理手順の例を示すフローチャートである。この図17では、図16と同じ処理には同じステップ番号を付して示している。
[ステップS41]管理者端末500は、前述のステップS34において、ホストサーバ200の仮想化制御部210から、仮想ディスクに割り当てられた記憶装置の性能属性と、仮想ディスクへのデータ記録の際に暗号化が行われるか否かを示す情報とを受信する。管理者端末500は、これらの受信情報を、インフラストラクチャ管理サーバ400のストレージ管理部410に通知して、推奨されるデータ消去モードを問い合わせる。
【0131】
[ステップS42]インフラストラクチャ管理サーバ400のストレージ管理部410は、サービス対応テーブル461,462のいずれかに基づいて、通知された情報に適合するデータ消去モードを判別する。ストレージ管理部410は、判別したデータ消去モードおよび利用料金を、管理者端末500に送信する。
【0132】
[ステップS43]管理者端末500は、ストレージ管理部410から受信した、データ消去モードおよび利用料金を、推奨案としてディスプレイに表示させる。
管理者は、ディスプレイに表示された情報を参考にして、データ消去モードの選択操作を行うことができる(ステップS35)。
【0133】
以上の処理により、データ消去モードの選択操作を支援することができる。なお、例えば、ストレージ管理部410は、ステップS42の時点で、管理者端末500から通知された情報に適合するデータ消去モードをストレージプール管理部420に通知することにより、データ消去モードを自動的に設定してもよい。
【0134】
次に、図18は、ホストサーバが仮想ディスクにアクセスする際の処理手順の例を示す図である。
[ステップS51]仮想マシンの運用開始後、ホストサーバ200の仮想化制御部210は、利用者が操作する端末装置(図示せず)から仮想ディスクに対するアクセス要求を受け付ける。仮想化制御部210は、仮想ディスク管理テーブル220を参照して、利用者端末から受信したアクセス先のアドレスを、論理ユニットにおけるアドレス(RAIDグループおよび論理ユニットの識別番号、LBA)に変換し、変換後のアドレスをアクセス先として指定して、ストレージ制御装置302のホストI/O処理部321に対して、アクセス要求を発行する。
【0135】
[ステップS52]ストレージ制御装置302のホストI/O処理部321は、アクセス要求を受け付けると、アクセス先の論理ユニットへのデータ記録時にデータを暗号化するように設定されているかを判定する。ホストI/O処理部321は、例えば、暗号キー管理テーブル340を参照し、アクセス先の論理ユニットに暗号キーが設定されている場合に、データを暗号化するように設定されていると判定する。あるいは、ホストI/O処理部321は、RAID管理テーブル330のレコード331のうちアクセス先のRAIDグループに対応するレコード331を参照し、「暗号化設定」の欄に設定された情報から、データを暗号化するように設定されているかを判定してもよい。
【0136】
ホストI/O処理部321は、データを暗号化するように設定されている場合(S52:Yes)には、ステップS53の処理を実行する一方、データを暗号化するように設定されていない場合(S52:No)には、ステップS55の処理を実行する。
【0137】
[ステップS53]ホストI/O処理部321は、暗号キー管理テーブル340から、アクセス先の論理ユニットに設定されている暗号キーを読み込む。
[ステップS54]ホストI/O処理部321は、暗号キー管理テーブル340から読み込んだ暗号キーを用いて、要求されたアクセス処理を実行する。例えば、ホストI/O処理部321は、データの読み出しを要求された場合、アクセス先からデータを読み出し、読み出したデータを暗号キーを用いて復号する。一方、ホストI/O処理部321は、データの書き込みを要求された場合、仮想化制御部210から受信した書き込みデータを暗号キーを用いて暗号化し、暗号化後の書き込みデータをアクセス先に書き込む。
【0138】
[ステップS55]ホストI/O処理部321は、暗号化処理および復号処理を行わずに、要求されたアクセス処理を実行する。
[ステップS56]ホストI/O処理部321は、ホストサーバ200の仮想化制御部210に対して、要求されたアクセスを完了したことを示す応答を返す。なお、ホストI/O処理部321は、データの読み出しを要求されていた場合には、読み出したデータを仮想化制御部210に送信する。
【0139】
[ステップS57]ホストサーバ200の仮想化制御部210は、ホストI/O処理部321からの応答を受信して、利用者端末に応答を返す。
次に、図19〜図23は、仮想マシンの運用が終了される際の処理手順を示すフローチャートである。
【0140】
[ステップS71]管理者端末500は、管理者による入力操作に応じて、ホストサーバ200の仮想化制御部210に対して、仮想マシンの識別番号が通知するとともに、通知した仮想マシンの運用終了を要求する。
【0141】
[ステップS72]ホストサーバ200の仮想化制御部210は、仮想マシンの運用終了要求を受信すると、対象の仮想マシンの運用を中止する。このとき、仮想化制御部210は、仮想ディスク管理テーブル220から、対象の仮想マシンに対応する仮想ディスクの情報を削除する。また、仮想化制御部210は、インフラストラクチャ管理サーバ400のストレージプール管理部420に対して、運用を終了した仮想マシンの識別番号を通知する。
【0142】
[ステップS73]インフラストラクチャ管理サーバ400のストレージプール管理部420は、仮想ディスク管理テーブル450から、運用が終了された仮想マシンに対応する仮想ディスク(以下、「運用を終了する仮想ディスク」と呼ぶ)を特定し、特定した仮想ディスクに割り当てられている論理ボリュームを抽出する。
【0143】
[ステップS74]ストレージプール管理部420は、仮想ディスク管理テーブル450から、運用を終了する仮想ディスクに設定されているデータ消去モードを抽出する。
なお、ステップS73,S74の処理順は逆であってもよい。
【0144】
[ステップS75]ストレージプール管理部420は、ステップS73,S74で参照した仮想ディスク管理テーブル450のレコード(すなわち、運用が終了された仮想マシンのレコード)を削除する。
【0145】
[ステップS76]ストレージプール管理部420は、運用を終了する仮想ディスクの識別情報と、ステップS73,S74で抽出した情報とをストレージ管理部410に通知する。
【0146】
なお、ステップS75,S76の処理順は逆であってもよい。
[ステップS77]インフラストラクチャ管理サーバ400のストレージ管理部410は、ストレージプール管理部420から通知されたデータ消去モードに基づき、初期化データの上書き処理を実行するかを判定する。ストレージ管理部410は、上書き処理を実行する場合、すなわち、データ消去モードが第1の消去モードまたは第3の消去モードである場合(S77:Yes)には、ステップS78の処理を実行する。一方、ストレージ管理部410は、上書き処理を実行しない場合、すなわち、データ消去モードが第2の消去モードである場合(S77:No)には、図21のステップS86の処理を実行する。
【0147】
[ステップS78]ストレージ管理部410は、初期化データの上書き処理を即時実行する場合、すなわち、データ消去モードが第1の消去モードである場合(S78:Yes)には、図20のステップS79の処理を実行する。一方、ストレージ管理部410は、初期化データの上書き処理を即時実行しない場合、すなわち、データ消去モードが第3の消去モードである場合(S78:No)には、図22のステップS91の処理を実行する。
【0148】
[ステップS79]データ消去モードが第1の消去モードである場合(S78:Yes)、ストレージ管理部410は、ストレージプール管理部420に対して、運用を終了する仮想ディスクに割り当てられている論理ボリュームの識別番号を通知して、通知した論理ボリュームについてのステータスを「初期化中」に変更するように要求する。
【0149】
[ステップS80]ステータスの変更要求を受けたストレージプール管理部420は、ストレージプール管理テーブル440における該当論理ボリュームのステータスを、「使用中」から「初期化中」に変更する。ステータスの変更処理が完了すると、ストレージプール管理部420は、ストレージ管理部410に対して変更完了を通知する。
【0150】
[ステップS81]ストレージ管理部410は、論理ボリューム管理テーブル430を参照して、運用を終了する仮想ディスクに割り当てられている論理ボリュームに対応する論理ユニットを特定する。ストレージ管理部410は、ストレージ制御装置302のデータ消去処理部322に対して、特定した論理ユニットの識別番号を通知して、通知した論理ユニットに対する、第1の消去モードでの上書き処理を開始するように要求する。
【0151】
[ステップS82]ストレージ制御装置302のデータ消去処理部322は、通知された論理ユニットに対する初期化データの上書き処理の実行を開始する。
ここで、他の運用中の仮想マシンが存在する場合、運用中の仮想マシンの仮想ディスクに対するホストサーバ200からの要求に応じた、ホストI/O処理部321によるアクセス処理(ホストアクセス処理)と、データ消去処理部322による、ストレージ管理部410から通知された論理ユニットに対する初期化データの上書き処理とが、並列に実行される。
【0152】
[ステップS83]データ消去処理部322は、ストレージ管理部410から通知されたすべての論理ユニットに対する初期化データの上書き処理が完了すると、その旨をインフラストラクチャ管理サーバ400のストレージ管理部410に通知する。
【0153】
[ステップS84]インフラストラクチャ管理サーバ400のストレージ管理部410は、ストレージプール管理部420に対して、運用を終了する仮想ディスクに割り当てられている論理ボリュームのステータスを「未使用」に変更するように要求する。
【0154】
[ステップS85]ストレージプール管理部420は、ストレージプール管理テーブル440における、運用を終了する仮想ディスクに割り当てられている論理ボリュームのステータスを、「初期化中」から「未使用」に変更する。これにより、仮想ディスクの運用が終了され、その仮想ディスクに割り当てられていた論理ボリュームが、他の仮想ボリューム用に再利用可能な状態になる。
【0155】
なお、仮想ディスクに対する論理ボリュームの割り当てをホストサーバ200の仮想化制御部210が行う構成の場合には、例えば、ストレージプール管理部420は、ステップS85でのステータス変更後、仮想化制御部210に対して、ステータスを変更した論理ボリュームの識別番号を通知する。仮想化制御部210は、通知された論理ボリュームを仮想化ディスクから解放して、その仮想化ディスクの運用を終了する。
【0156】
[ステップS86]データ消去モードが第2の消去モードである場合(S77:No)、ストレージ管理部410は、論理ボリューム管理テーブル430を参照して、運用を終了する仮想ディスクに割り当てられている論理ボリュームに対応する論理ユニットを特定する。ストレージ管理部410は、ストレージ制御装置302のデータ消去処理部322に対して、特定した論理ユニットの識別番号を通知して、通知した論理ユニットへのアクセスで使用されている暗号キーの変更を要求する。
【0157】
[ステップS87]ストレージ制御装置302のデータ消去処理部322は、ホストI/O処理部321に、通知された論理ユニットごとにユニークな暗号キーを新たに生成させ、暗号キー管理テーブル340において各論理ユニットに設定された暗号キーを、新たな暗号キーに変更する。
【0158】
[ステップS88]データ消去処理部322は、ストレージ管理部410から通知されたすべての論理ユニットについての暗号キー変更処理を完了すると、その旨をストレージ管理部410に通知する。
【0159】
[ステップS89]インフラストラクチャ管理サーバ400のストレージ管理部410は、ストレージプール管理部420に対して、運用を終了する仮想ディスクに割り当てられている論理ボリュームのステータスを「未使用」に変更するように要求する。
【0160】
[ステップS90]ストレージプール管理部420は、ストレージプール管理テーブル440における、運用を終了する仮想ディスクに割り当てられている論理ボリュームのステータスを、「使用中」から「未使用」に変更する。これにより、仮想ディスクの運用が終了され、その仮想ディスクに割り当てられていた論理ボリュームが、他の仮想ボリューム用に再利用可能な状態になる。
【0161】
なお、仮想ディスクに対する論理ボリュームの割り当てをホストサーバ200の仮想化制御部210が行う構成の場合には、例えば、ストレージプール管理部420は、ステップS90でのステータス変更後、仮想化制御部210に対して、ステータスを変更した論理ボリュームの識別番号を通知する。仮想化制御部210は、通知された論理ボリュームを仮想化ディスクから解放して、その仮想化ディスクの運用を終了する。
【0162】
上記のステップS86〜S90における、第2の消去モードでのデータ消去処理では、運用を終了する仮想ディスクに割り当てられている論理ボリュームに対応する論理ユニットの暗号キーを変更するだけで、それらの論理ボリュームが仮想ディスクから解放されて、他の仮想ディスク用に再利用可能な状態になる。このため、第1の消去モードでのデータ消去処理と比較して、ごく短時間に、使用されていた論理ボリュームを再利用可能な状態に遷移させることができ、ストレージリソースを効率よく運用できる。
【0163】
[ステップS91]データ消去モードが第3の消去モードである場合(S78:No)、ストレージ管理部410は、運用を終了する仮想マシンおよび仮想ディスクの各識別番号を通知して、データ消去管理テーブル350への新規レコードの生成を要求する。
【0164】
[ステップS92]ストレージ制御装置302のデータ消去処理部322は、データ消去管理テーブル350に対して、ストレージ管理部410から通知された仮想マシンおよび仮想ディスクについてのレコードを生成する。データ消去処理部322は、レコード生成が完了すると、その旨をインフラストラクチャ管理サーバ400のストレージ管理部410に通知する。
【0165】
[ステップS93]ストレージ管理部410は、論理ボリューム管理テーブル430を参照して、運用を終了する仮想ディスクに割り当てられている論理ボリュームに対応する論理ユニットを特定する。ストレージ管理部410は、ストレージ制御装置302のデータ消去処理部322に対して、特定した論理ユニットの識別番号を通知して、通知した論理ユニットへのアクセスで使用されている暗号キーの変更を要求する。
【0166】
[ステップS94]ストレージ制御装置302のストレージ制御部320は、ホストI/O処理部321に、通知された論理ユニットごとにユニークな暗号キーを新たに生成させ、暗号キー管理テーブル340において各論理ユニットに設定された暗号キーを、新たな暗号キーに変更する。
【0167】
[ステップS95]データ消去処理部322は、ストレージ管理部410から通知されたすべての論理ユニットについての暗号キー変更処理を完了すると、その旨をストレージ管理部410に通知する。
【0168】
[ステップS96]インフラストラクチャ管理サーバ400のストレージ管理部410は、ストレージプール管理部420に対して、運用を終了する仮想ディスクに割り当てられている論理ボリュームのステータスを「未使用」に変更するように要求する。
【0169】
[ステップS97]ストレージプール管理部420は、ストレージプール管理テーブル440における、運用を終了する仮想ディスクに割り当てられている論理ボリュームのステータスを、「使用中」から「未使用」に変更する。これにより、仮想ディスクの運用が終了され、その仮想ディスクに割り当てられていた論理ボリュームが、他の仮想ボリューム用に再利用可能な状態になる。ステータスの変更処理が完了すると、ストレージプール管理部420は、ストレージ管理部410に対して変更完了を通知する。
【0170】
なお、仮想ディスクに対する論理ボリュームの割り当てをホストサーバ200の仮想化制御部210が行う構成の場合には、例えば、ストレージプール管理部420は、ステップS97でのステータス変更後、仮想化制御部210に対して、ステータスを変更した論理ボリュームの識別番号を通知する。仮想化制御部210は、通知された論理ボリュームを仮想化ディスクから解放して、その仮想化ディスクの運用を終了する。
【0171】
[ステップS98]ストレージ管理部410は、ストレージ制御装置302のデータ消去処理部322に対して、ステップS93で特定した論理ユニットの識別番号を通知して、通知した論理ユニットに対する第3の消去モードでの上書き処理を開始するように要求する。
【0172】
[ステップS99]ストレージ制御装置302のデータ消去処理部322は、ステップS92でデータ消去管理テーブル350に生成したレコードに、ストレージ管理部410から通知された論理ユニットを登録し、各論理ユニットについての単位領域の先頭LBAを展開する。これにより、データ消去管理テーブル350に対して、第3の消去モードでのデータ消去対象領域全体のアドレスが登録される。なお、データ消去管理テーブル350に展開されたLBAに対応する実行状態は、すべて「未処理」に設定される。
【0173】
[ステップS100]データ消去処理部322は、データ消去管理テーブル350において実行状態として「未処理」が設定された、論理ユニット内の領域に対して、初期化データの上書き処理を実行する。
【0174】
ここで、運用終了対象の仮想ディスクに割り当てられていた論理ボリュームは、ステップS97の時点で他の仮想ディスクに割当可能な状態とされる。このため、ステップS99でデータ消去処理部322に通知された消去対象領域の中には、初期化データが上書きされるより前に、他の仮想ディスクに割り当てられてホストサーバ200からのデータ書き込みが行われる領域が発生し得る。このように、ホストサーバ200からデータ書き込みが行われた領域については、データ消去管理テーブル350の実行状態が「上書き済み」に更新される。
【0175】
なお、次の図24,図25に示すように、第3の消去モードでの上書き処理は、ホストアクセス処理を実行していない時間帯に実行される。
上記のステップS91〜S100における、第3の消去モードが設定されている場合の処理では、第2の消去モードと同様に、暗号キーが変更されるとすぐに、仮想ディスクに割り当てられていた論理ボリュームが解放されて、別の仮想ディスク用に再利用可能な状態になる。さらにその後、ホストアクセス処理が実行されていない時間帯において、上書き処理の実行状態が「未処理」の領域に対してのみ、初期化データの上書き処理が実行される。
【0176】
次に、図24,図25は、ストレージ制御部でのホストアクセス処理および第3の消去モードでの上書き処理の手順の例を示すフローチャートである。
[ステップS111]ストレージ制御装置302のホストI/O処理部321は、ホストサーバ200の仮想化制御部210から受領済みのアクセス要求があるかを判定する。例えば、ホストI/O処理部321は、仕掛かり中の制御コマンドを保持するキューに、仮想化制御部210からのアクセス要求コマンドがあるかを判定する。ホストI/O処理部321は、受領済みのアクセス要求がある場合(S111:Yes)、ステップS112の処理を実行する一方、受領済みのアクセス要求がない場合(S111:No)、図25のステップS119の処理を実行する。
【0177】
[ステップS112]ホストI/O処理部321は、仮想化制御部210から受領済みのアクセス要求のうち最も先に受領したアクセス要求が、読み出し処理であるか、書き込み処理であるかを判定する。ホストI/O処理部321は、要求された処理が読み出し処理である場合(S112:Yes)、ステップS113の処理を実行する一方、要求された処理が書き込み処理である場合(S112:No)、ステップS114の処理を実行する。
【0178】
[ステップS113]ホストI/O処理部321は、最も先に受領したアクセス要求に応じて、仮想ディスクに割り当てられた物理記憶領域からの読み出し処理を実行する。この後、ステップS111の処理に戻り、仮想化制御部210から受領済みのアクセス要求があるかが再度判定される。
【0179】
[ステップS114]ホストI/O処理部321は、最も先に受領したアクセス要求に応じて、仮想ディスクに割り当てられた物理記憶領域に対する書き込み処理を実行する。
[ステップS115]ホストI/O処理部321は、書き込みに成功した場合(S115:Yes)には、仮想化制御部210に対して書き込み完了の応答を行い、ステップS116の処理を実行する。一方、ホストI/O処理部321は、書き込みに失敗した場合(S115:No)には、仮想化制御部210に対して書き込み失敗の応答を行い、ステップS111に戻り、仮想化制御部210から受領済みのアクセス要求があるかを再度判定する。
【0180】
[ステップS116]ホストI/O処理部321は、データ消去管理テーブル350から、ステップS114での書き込み先領域に対応するLBAを検索する。
[ステップS117]ホストI/O処理部321は、データ消去管理テーブル350に、書き込み先領域に対応するLBAが登録されている場合(S117:Yes)、ステップS118の処理を実行する。一方、ホストI/O処理部321は、書き込み先領域に対応するLBAが登録されていない場合(S117:No)、ステップS111に戻り、仮想化制御部210から受領済みのアクセス要求があるかを再度判定する。
【0181】
[ステップS118]ホストI/O処理部321は、データ消去管理テーブル350における、書き込み先領域に対応するLBAの実行状態を、「未処理」から「上書き済み」に変更する。これにより、実行状態が変更された領域は、初期化データの上書き処理対象から除外される。この後、図25のステップS124の処理が実行される。
【0182】
[ステップS119]データ消去処理部322は、データ消去管理テーブル350から、実行状態が「未処理」であるLBAを選択する。なお、この処理では、連続する複数のLBA(例えば、所定数以下のLBA)の実行状態が「未処理」である場合には、それらのLBAが上書き対象領域として選択されてもよい。
【0183】
[ステップS120]データ消去処理部322は、ステップS119でLBAを選択できた場合(S120:Yes)、ステップS121の処理を実行する。一方、ステップS119で「未処理」のLBAが存在しなかった場合(S120:No)、図24のステップS111が実行される。
【0184】
[ステップS121]データ消去処理部322は、ステップS119で選択したLBAに対応する物理記憶領域に対して、初期化データを上書きする。
[ステップS122]データ消去処理部322は、初期化データの上書きに成功した場合(S122:Yes)、ステップS123の処理を実行する。一方、初期化データの上書きに失敗した場合(S122:No)、図24のステップS111の処理が実行される。
【0185】
[ステップS123]データ消去処理部322は、データ消去管理テーブル350における、ステップS121での上書き対象LBAに対応する「実行状態」を、「未処理」から「上書き済み」に変更する。
【0186】
[ステップS124]データ消去処理部322は、データ消去管理テーブル350を参照し、ステップS123で「実行状態」を変更したLBAが属する仮想ディスクのレコードにおいて、すべてのLBAに対応する「実行状態」が「上書き済み」であるかを判定する。データ消去処理部322は、レコード内のすべてのLBAに対応する「実行状態」が「上書き済み」である場合(S124:Yes)、ステップS125の処理を実行する。一方、レコード内に「実行状態」が「未処理」であるLBAが1つでもある場合(S124:No)、図24のステップS111の処理が実行される。
【0187】
[ステップS125]データ消去処理部322は、データ消去管理テーブル350から、ステップS123で「実行状態」を変更したLBAが属する仮想ディスクおよび仮想マシンのレコードを削除する。これにより、運用が終了済みである1つの仮想ディスクについての第3の消去モードでのデータ消去処理が完了する。この後、図24のステップS111の処理が実行される。
【0188】
以上の図24,図25の処理によれば、運用が終了済みである1つの仮想ディスクに割り当てられていた全論理ユニット(全論理ボリューム)の記憶領域において、ステップS114でのホストサーバ200からの要求に応じたデータ書き込みが行われていた領域を除く領域に対してのみ、ステップS121での初期化データの上書きが実行される。これにより、運用が終了された仮想ディスクに割り当てられていた論理ボリュームが即座に再利用可能に遷移させることが可能になる。なぜなら、論理ボリュームが他の仮想ディスク用として再利用され、再利用された領域に新たなデータが書き込まれた場合に、その領域に対して初期化データが上書きされる事態を防止できるからである。
【0189】
また、再利用された領域に新たなデータが書き込まれた場合には、その領域に対する初期化データの上書きがスキップされることから、初期化データの上書き対象領域が小さくなり、初期化データの上書き処理全体に要する時間が短縮される。また、初期化データの上書き処理がホストI/O処理に与える影響を小さくすることもできる。
【0190】
また、第1のデータ消去モードでの上書き処理は、ホストサーバ200の仮想化制御部210からのアクセス要求を受領していた場合でも、それらのアクセス要求に応じたアクセス処理と並列に実行される。このため、上書き処理の実行によって、ホストI/O処理の性能(速度)が低下する可能性がある。これに対して、ステップS121での初期化データの上書き処理は、ホストサーバ200の仮想化制御部210からのアクセス要求を受領していない期間にのみ実行される。このため、第3のデータ消去モードでの上書き処理(S121)は、ホストI/O処理の性能に影響を与えない。
【0191】
なお、上記のインフラストラクチャ管理サーバ400が備えるストレージ管理部410およびストレージプール管理部420の各機能のうちの少なくとも一部は、ホストサーバ200が備えていてもよい。また、例えば、ホストサーバ200がストレージプール管理部420を備える場合には、ストレージプール管理テーブル440および仮想ディスク管理テーブル450も、ホストサーバ200内の記憶装置に保持されてもよい。
【0192】
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) 記憶装置の記憶領域を分割して得られた複数の分割領域のそれぞれに対応付けられた暗号キーが記録された暗号キー記憶部と、
データ書き込み先の分割領域に対応する暗号キーを前記暗号キー記憶部から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化し、暗号化して得られた暗号化データを前記データ書き込み先の分割領域に書き込むアクセス処理部と、
管理装置から、無効化対象の仮想記憶領域に対して物理記憶領域として割り当てられた分割領域の指定を受けるとともに、指定された分割領域に記録されたデータの無効化指示を受けると、前記暗号キー記憶部に記録された暗号キーのうち、前記指定された分割領域に対応付けられた暗号キーを無効化するデータ無効化処理部と、
を有することを特徴とするストレージ装置。
【0193】
(付記2) 前記データ無効化処理部は、前記指定された分割領域の少なくとも一部に、データ消去用の初期化データを上書きすることを特徴とする付記1記載のストレージ装置。
【0194】
(付記3) 前記データ無効化処理部は、前記指定された分割領域のうち、前記無効化指示を受けた後に新たなデータが書き込まれた領域を除く残りの領域に、前記初期化データを上書きすることを特徴とする付記2記載のストレージ装置。
【0195】
(付記4) 前記データ無効化処理部は、前記無効化指示を受けた後の任意のタイミングで、前記初期化データの上書き処理を実行することを特徴とする付記2または3記載のストレージ装置。
【0196】
(付記5) 前記データ無効化処理部は、前記無効化指示を受けた後に、ホスト装置から前記記憶装置に対するアクセス要求を受信していない期間に、前記初期化データの上書き処理を実行することを特徴とする付記4記載のストレージ装置。
【0197】
(付記6) 前記データ無効化処理部は、前記指定された分割領域に対応付けられた暗号キーの無効化処理を実行した後に、前記指定された分割領域に対する前記初期化データの上書き処理を実行することを特徴とする付記2〜5のいずれか1つに記載のストレージ装置。
【0198】
(付記7) 無効化対象の仮想記憶領域に対して物理記憶領域として割り当てられた、記憶装置の記憶領域を分割して得られた分割領域を指定するとともに、指定した分割領域に記録されたデータの無効化を指示する管理装置と、
複数の分割領域のそれぞれに対応付けられた暗号キーが記録された暗号キー記憶部、
データ書き込み先の分割領域に対応する暗号キーを前記暗号キー記憶部から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化し、暗号化して得られた暗号化データを前記データ書き込み先の分割領域に書き込むアクセス処理部、および、
前記管理装置からデータの無効化指示を受けると、前記暗号キー記憶部に記録された暗号キーのうち、無効化対象として指定された分割領域に対応付けられた暗号キーを無効化するデータ無効化処理部、
を備えるストレージ装置と、
を有することを特徴とするストレージシステム。
【0199】
(付記8) 前記データ無効化処理部は、前記無効化対象として指定された分割領域の少なくとも一部に、データ消去用の初期化データを上書きすることを特徴とする付記7記載のストレージシステム。
【0200】
(付記9) 前記データ無効化処理部は、前記無効化対象として指定された分割領域のうち、前記無効化指示を受けた後に新たなデータが書き込まれた領域を除く残りの領域に、前記初期化データを上書きすることを特徴とする付記8記載のストレージシステム。
【0201】
(付記10) 前記管理装置は、前記無効化対象の仮想記憶領域に割り当てられていた分割領域に記録されたデータの無効化を前記ストレージ装置に指示すると、当該分割領域を、他の仮想記憶領域に割り当て可能な状態に遷移させることを特徴とする付記9記載のストレージシステム。
【0202】
(付記11) 前記データ無効化処理部は、前記無効化指示を受けた後の任意のタイミングで、前記初期化データの上書き処理を実行することを特徴とする付記8〜10のいずれか1つに記載のストレージシステム。
【0203】
(付記12) 前記データ無効化処理部は、前記無効化指示を受けた後に、ホスト装置から前記記憶装置に対するアクセス要求を受信していない期間に、前記初期化データの上書き処理を実行することを特徴とする付記11記載のストレージシステム。
【0204】
(付記13) 前記データ無効化処理部は、前記無効化対象として指定された分割領域に対応付けられた暗号キーの無効化処理を実行した後に、前記指定された分割領域に対する前記初期化データの上書き処理を実行することを特徴とする付記8〜12のいずれか1つに記載のストレージシステム。
【0205】
(付記14) ストレージ装置が、記憶装置の記憶領域を分割して得られた複数の分割領域のそれぞれに対応付けられた暗号キーが記録された暗号キー記憶部を参照し、データ書き込み先の分割領域に対応する暗号キーを前記暗号キー記憶部から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化し、暗号化して得られた暗号化データを前記データ書き込み先の分割領域に書き込み、
管理装置が、無効化対象の仮想記憶領域に対して物理記憶領域として割り当てられた分割領域を指定するとともに、指定した分割領域に記録されたデータの無効化を指示し、
前記ストレージ装置が、前記管理装置からのデータの無効化指示に応じて、前記暗号キー記憶部に記録された暗号キーのうち、無効化対象として指定された分割領域に対応付けられた暗号キーを無効化する、
ことを特徴とするストレージ制御方法。
【0206】
(付記15) 前記ストレージ装置は、前記無効化対象として指定された分割領域の少なくとも一部に、データ消去用の初期化データを上書きすることを特徴とする付記14記載のストレージ制御方法。
【0207】
(付記16) 前記ストレージ装置は、前記無効化対象として指定された分割領域のうち、前記無効化指示を受けた後に新たなデータが書き込まれた領域を除く残りの領域に、前記初期化データを上書きすることを特徴とする付記15記載のストレージ制御方法。
【0208】
(付記17) 前記管理装置は、前記無効化対象の仮想記憶領域に割り当てられていた分割領域に記録されたデータの無効化を前記ストレージ装置に指示すると、当該分割領域を、他の仮想記憶領域に割り当て可能な状態に遷移させることを特徴とする付記16記載のストレージ制御方法。
【0209】
(付記18) 前記ストレージ装置は、前記無効化指示を受けた後の任意のタイミングで、前記初期化データの上書き処理を実行することを特徴とする付記15〜17のいずれか1つに記載のストレージ制御方法。
【0210】
(付記19) 前記ストレージ装置は、前記無効化指示を受けた後に、ホスト装置から前記記憶装置に対するアクセス要求を受信していない期間に、前記初期化データの上書き処理を実行することを特徴とする付記18記載のストレージ制御方法。
【0211】
(付記20) 前記ストレージ装置は、前記無効化対象として指定された分割領域に対応付けられた暗号キーの無効化処理を実行した後に、前記指定された分割領域に対する前記初期化データの上書き処理を実行することを特徴とする付記15〜19のいずれか1つに記載のストレージ制御方法。
【符号の説明】
【0212】
1 ストレージシステム
10 ストレージ制御装置
11 アクセス処理部
12 データ無効化処理部
13 暗号キー記憶部
20 管理装置
21 データ無効化制御部
31〜34 記憶装置
41,42 仮想記憶領域
A1〜A4,A11〜A14 分割領域

【特許請求の範囲】
【請求項1】
記憶装置の記憶領域を分割して得られた複数の分割領域のそれぞれに対応付けられた暗号キーが記録された暗号キー記憶部と、
データ書き込み先の分割領域に対応する暗号キーを前記暗号キー記憶部から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化し、暗号化して得られた暗号化データを前記データ書き込み先の分割領域に書き込むアクセス処理部と、
管理装置から、無効化対象の仮想記憶領域に対して物理記憶領域として割り当てられた分割領域の指定を受けるとともに、指定された分割領域に記録されたデータの無効化指示を受けると、前記暗号キー記憶部に記録された暗号キーのうち、前記指定された分割領域に対応付けられた暗号キーを無効化するデータ無効化処理部と、
を有することを特徴とするストレージ装置。
【請求項2】
前記データ無効化処理部は、前記指定された分割領域の少なくとも一部に、データ消去用の初期化データを上書きすることを特徴とする請求項1記載のストレージ装置。
【請求項3】
前記データ無効化処理部は、前記指定された分割領域のうち、前記無効化指示を受けた後に新たなデータが書き込まれた領域を除く残りの領域に、前記初期化データを上書きすることを特徴とする請求項2記載のストレージ装置。
【請求項4】
前記データ無効化処理部は、前記無効化指示を受けた後の任意のタイミングで、前記初期化データの上書き処理を実行することを特徴とする請求項2または3記載のストレージ装置。
【請求項5】
前記データ無効化処理部は、前記無効化指示を受けた後に、ホスト装置から前記記憶装置に対するアクセス要求を受信していない期間に、前記初期化データの上書き処理を実行することを特徴とする請求項4記載のストレージ装置。
【請求項6】
前記データ無効化処理部は、前記指定された分割領域に対応付けられた暗号キーの無効化処理を実行した後に、前記指定された分割領域に対する前記初期化データの上書き処理を実行することを特徴とする請求項2〜5のいずれか1項に記載のストレージ装置。
【請求項7】
無効化対象の仮想記憶領域に対して物理記憶領域として割り当てられた、記憶装置の記憶領域を分割して得られた分割領域を指定するとともに、指定した分割領域に記録されたデータの無効化を指示する管理装置と、
複数の分割領域のそれぞれに対応付けられた暗号キーが記録された暗号キー記憶部、
データ書き込み先の分割領域に対応する暗号キーを前記暗号キー記憶部から取得し、取得した暗号キーを用いて書き込み対象のデータを暗号化し、暗号化して得られた暗号化データを前記データ書き込み先の分割領域に書き込むアクセス処理部、および、
前記管理装置からデータの無効化指示を受けると、前記暗号キー記憶部に記録された暗号キーのうち、無効化対象として指定された分割領域に対応付けられた暗号キーを無効化するデータ無効化処理部、
を備えるストレージ装置と、
を有することを特徴とするストレージシステム。
【請求項8】
前記データ無効化処理部は、前記無効化対象として指定された分割領域の少なくとも一部に、データ消去用の初期化データを上書きすることを特徴とする請求項7記載のストレージシステム。
【請求項9】
前記データ無効化処理部は、前記無効化対象として指定された分割領域のうち、前記無効化指示を受けた後に新たなデータが書き込まれた領域を除く残りの領域に、前記初期化データを上書きすることを特徴とする請求項8記載のストレージシステム。
【請求項10】
前記管理装置は、前記無効化対象の仮想記憶領域に割り当てられていた分割領域に記録されたデータの無効化を前記ストレージ装置に指示すると、当該分割領域を、他の仮想記憶領域に割り当て可能な状態に遷移させることを特徴とする請求項9記載のストレージシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate