(57)【要約】【課題】  シンプロビジョニング機能を有するストレージ装置に格納されたデータを完全に消去する。【解決手段】  計算機に接続され、計算機上のデータの削除に応答して、前記計算機に提供する論理アドレスと物理アドレスの関係を解消するＵＮＭＡＰコマンドを受領するストレージ装置であって、ストレージ装置は、ＵＮＭＡＰコマンドで特定される物理アドレスに格納されるデータを不可逆な状態とする制御部を有する。【選択図】図１０
2020144601.tif 000002
【特許請求の範囲】
【請求項１】
計算機に接続され、
前記計算機上のデータの削除に応答して、前記計算機に提供する論理アドレスと物理アドレスの関係を解消するＵＮＭＡＰコマンドを受領するストレージ装置であって、
前記ストレージ装置は、
前記ＵＮＭＡＰコマンドで特定される物理アドレスに格納されるデータを不可逆な状態とする制御部を有することを特徴とするストレージ装置。
【請求項２】
請求項１に記載のストレージ装置において、
前記制御部は、
前記ＵＮＭＡＰコマンドで特定される物理アドレスにランダムなデータを規定回数分上書きすることで、当該物理アドレスに対応するデータを消去することを特徴とするストレージ装置。
【請求項３】
請求項２に記載のストレージ装置において、
前記制御部は、シンプロビジョニング機能を有し、
前記シンプロビジョニング機能のプールを構成する規定サイズの複数のページの各々を、
ページのプール内における先頭アドレスと、
ページが割当てられた論理ボリュームと、
前記論理ボリューム内の先頭アドレスと、
を対応付けたメタデータを管理することを特徴とするストレージ装置。
【請求項４】
請求項３に記載のストレージ装置において、
前記制御部は、前記ＵＮＭＡＰコマンドで特定される物理アドレスに関するメタデータを不可逆な状態とすることを特徴とするストレージ装置。
【請求項５】
請求項３に記載のストレージ装置において、
前記制御部は、ＵＮＭＡＰコマンドに含まれる、論理ボリュームを特定する対象論理ボリューム識別情報と、対象論理ボリューム内の先頭アドレスとページ数から、前記メタデータに基づいて、データ消去処理対象となるページを抽出することを特徴とするストレージ装置。
【請求項６】
請求項１に記載のストレージ装置において、
前記制御部は、前記ＵＮＭＡＰコマンドで特定される物理アドレスに格納されるデータを不可逆な状態としたことを、前記計算機に通知することを特徴とするストレージ装置。
【請求項７】
請求項１に記載のストレージ装置において、
前記ストレージ装置は、ノード上のハイパーバイザー上に構成されたものであることを特徴とするストレージ装置。
【請求項８】
計算機に接続され、
前記計算機上のデータの削除に応答して、前記計算機に提供する論理アドレスと物理アドレスの関係を解消するＵＮＭＡＰコマンドを受領するストレージ装置において、
前記ストレージ装置は、
前記ＵＮＭＡＰコマンドで特定される物理ページに格納されるデータが、複数の論理ボリュームに割当たっているか判定し、
複数の論理ボリュームに割当たっている場合、当該物理ページのデータを異なる物理ページに複製し、
前記データが複製された異なる物理ページを、前記ＵＮＭＡＰコマンドで特定される第１の論理ボリューム以外の第２の論理ボリュームに割当てる制御部を有することを特徴とするストレージ装置。
【請求項９】
請求項８に記載のストレージ装置において、
前記制御部は、
前記ＵＮＭＡＰコマンドで特定される物理アドレスにランダムなデータを規定回数分上書きすることで、当該物理アドレスに対応するデータを消去することを特徴とするストレージ装置。
【請求項１０】
請求項８に記載のストレージ装置において、
前記制御部は、シンプロビジョニング機能を有し、
前記シンプロビジョニング機能のプールを構成する規定サイズの複数のページの各々を、
ページのプール内における先頭アドレスと、
ページが割当てられた論理ボリュームと、
前記論理ボリューム内の先頭アドレスと、
を対応付けたメタデータを管理することを特徴とするストレージ装置。
【請求項１１】
請求項９に記載のストレージ装置において、
前記制御部は、前記ＵＮＭＡＰコマンドで特定される物理アドレスに関するメタデータを不可逆な状態とするストレージ装置。
【請求項１２】
請求項１０に記載のストレージ装置において、
前記制御部は、前記ＵＮＭＡＰコマンドに含まれる、論理ボリュームを特定する対象論理ボリューム識別情報と、対象論理ボリューム内の先頭アドレスとページ数から、前記メタデータに基づいて、データ消去処理対象となるページを抽出することを特徴とするストレージ装置。
【請求項１３】
請求項８に記載のストレージ装置において、
前記制御部は、前記ＵＮＭＡＰコマンドで特定される物理アドレスに格納されるデータを不可逆な状態としたことを、前記計算機に通知することを特徴とするストレージ装置。
【請求項１４】
請求項９に記載のストレージ装置において、
前記ストレージ装置は、ノード上のハイパーバイザー上に構成されたものであることを特徴とするストレージ装置。
【請求項１５】
計算機に接続され、前記計算機上のデータの削除に応答して、前記計算機に提供する論理アドレスと物理アドレスの関係を解消するＵＮＭＡＰコマンドを受領するストレージ装置のデータ消去方法であって、
前記ストレージ装置は、
前記ＵＮＭＡＰコマンドで特定される物理アドレスに格納されるデータを不可逆な状態とするストレージ装置のデータ消去方法。
【請求項１６】
請求項１５に記載のストレージ装置のデータ消去方法において、
前記ストレージ装置は、ＵＮＭＡＰコマンドに含まれる、論理ボリュームを特定する対象論理ボリューム識別情報と、対象論理ボリューム内の先頭アドレスとページ数から、論理アドレスと物理アドレスとの対応を管理するメタデータに基づいて、データ消去処理対象となるページを抽出することを特徴とするストレージ装置のデータ消去方法。
【請求項１７】
計算機に接続され、
前記計算機上のデータの削除に応答して、前記計算機に提供する論理アドレスと物理アドレスの関係を解消するＵＮＭＡＰコマンドを受領するストレージ装置のデータ消去方法において、
前記ストレージ装置は、
前記ＵＮＭＡＰコマンドで特定される物理ページに格納されるデータが、複数の論理ボリュームに割当たっているか判定し、
複数の論理ボリュームに割当たっている場合、当該物理ページのデータを異なる物理ページに複製し、
前記データが複製された異なる物理ページを、前記ＵＮＭＡＰコマンドで特定される第１の論理ボリューム以外の第２の論理ボリュームに割当てる、ことを特徴とするストレージ装置のデータ消去方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置およびストレージ装置のデータ消去方法に関する。
【背景技術】
【０００２】
容量効率を向上させるＴｈｉｎ Ｐｒｏｖｉｓｉｏｉｎｇ（シンプロビジョニング）機能を有するストレージ装置では、重複排除機能により、シンプロビジョニングプール内の部分記憶領域（ページ）間で格納データが一致する場合、複数のページを一つのページに重複参照させることで、さらなる容量効率の向上を目指している。
【０００３】
また、ホスト計算機上の仮想化技術により、一つの物理ホスト計算機上に複数の仮想サーバ（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を構築し、ＶＭのイメージおよびＶＭ上のアプリケーションが利用するデータをストレージ装置内の論理ボリュームに格納する構成が用いられている。
【０００４】
ストレージ装置のシンプロビジョニング機能による論理ボリュームを、ＶＭのイメージやＶＭ上のアプリケーションが利用するデータの格納先にする場合、ホスト計算機上のファイルシステム上のデータ削除はストレージ装置に伝搬されない。そこで、ホスト計算機がストレージ装置に対し、ＳＣＳＩ Ｔ１０で規定されるＳＣＳＩ ＵＮＭＡＰコマンドでデータ削除領域の開放を指定することで、指定領域に対する物理領域を開放する技術が特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２４６５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１の技術は、シンプロビジョニング機能を有するストレージ装置に対して、ＳＣＳＩ ＵＮＭＡＰコマンドを利用することによりデータ格納領域を開放することができるが、当該領域の対象物理領域にはデータが残ったままとなる。特許文献１では、この対象物理領域に残ったデータを消去することについて、言及されていない。
【０００７】
一方、最近では法的規定により、ＶＭのイメージやアプリケーションが利用するデータの完全消去が求められている。例えば、法的規定として、米国政府機関が調達する製品や技術を開発・製造する企業に対して求められるセキュリティを担保するために定められたセキュリティ関連のガイドライン「ＮＩＳＴ ＳＰ８００」が挙げられる。上記特許文献１に開示されているＳＣＳＩ ＵＮＭＡＰコマンドは、データ格納領域の開放は実施するが、格納データを消去することについて言及されておらず、上記法的規制を満足させることについて考慮されていない。
【０００８】
また、法的規制に則ったデータ完全消去をホスト計算機で実施する場合、ファイルシステム上の対象格納データ領域に対して、ランダムなデータを規定回数分上書きする必要があるため、ホスト計算機上の負荷が甚大となる恐れがある。
【０００９】
さらに、ランダムデータの書込みにより、シンプロビジョニングＰｏｏｌ上での部分論理記憶領域のデータ重複率が低下し、容量利用効率の低下を招く恐れがある。
【００１０】
そこで、本発明の目的は、データ消去処理に関するホスト計算機上のリソース負荷を削減し、ストレージ装置のデータを消去する、ストレージ装置およびストレージ装置のデータ消去方法を提供することにある。
【００１１】
また、本発明の他の目的は、重複排除機能を有するストレージ装置の重複排除率の低下を抑止したデータ消去を行うストレージ装置およびデータ消去方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明のストレージ装置の好ましい一例は、計算機に接続され、計算機上のデータの削除に応答して、計算機に提供する論理アドレスと物理アドレスの関係を解消するＵＮＭＡＰコマンドを受領するストレージ装置であって、ストレージ装置は、ＵＮＭＡＰコマンドで特定される物理アドレスに格納されるデータを不可逆な状態とする制御部を有する。
【００１３】
また、本発明のストレージ装置の好ましい一例は、計算機に接続され、計算機上のデータの削除に応答して、計算機に提供する論理アドレスと物理アドレスの関係を解消するＵＮＭＡＰコマンドを受領するストレージ装置において、ＵＮＭＡＰコマンドで特定される物理ページに格納されるデータが、複数の論理ボリュームに割当たっているか判定し、複数の論理ボリュームに割当たっている場合、当該物理ページのデータを異なる物理ページに複製し、データが複製された異なる物理ページを、前記ＵＮＭＡＰコマンドで特定される第１の論理ボリューム以外の第２の論理ボリュームに割当てる制御部を有する。
【発明の効果】
【００１４】
開示の技術によれば、データ消去処理に関するホスト計算機上のリソース負荷を削減し、ストレージ装置のデータを消去することができる。
【００１５】
また、開示の技術によれば、重複排除機能を有するストレージ装置の重複排除率の低下を抑止したデータ消去を実施することができる。
【図面の簡単な説明】
【００１６】
【図１】実施例１のシステム全体構成例を示す図である。
【図２】実施例１のストレージ装置の構成例を示す図である。
【図３】ホスト計算機の構成例を示す図である。
【図４】各種管理計算機の構成例を示す図である。
【図５Ａ】ホスト計算機上のＨｙｐｅｒ Ｖｉｓｏｒが有する仮想マシン管理テーブルの一例を示す図である。
【図５Ｂ】ホスト計算機上のＨｙｐｅｒ Ｖｉｓｏｒが有するストレージ管理テーブルの一例を示す図である。
【図６Ａ】ストレージ装置が具備するＬＵ管理テーブルの一例を示す図である。
【図６Ｂ】ストレージ装置が具備するプール管理テーブルの一例を示す図である。
【図７】ストレージ装置が具備するパリティグループ管理テーブルの一例を示す図である。
【図８】ストレージ装置が備えるシンプロビジョニング Ｐｏｏｌのページ割当て情報（メタデータ）を管理するプール管理テーブルの一例を示す図である。
【図９】ホスト計算機上の部分論理記憶領域とストレージ装置の部分論理記憶領域の構成例を示す図である。
【図１０】実施例１におけるストレージ構成制御プログラムのデータ消去処理のフローチャートの例を示す図である。
【図１１】実施例１におけるストレージ構成制御プログラムのデータ消去処理のフローチャートの例を示す図である。
【図１２】ストレージ構成制御プログラムのデータ消去処理後の部分論理記憶領域の構成例を示す図である。
【図１３】ストレージ構成制御プログラムのデータ消去処理後のメタデータの構成例を示す図である。
【図１４】実施例２のシステム全体構成例を示す図である。
【図１５】ストレージ構成制御プログラムによる既存リソースへのアクセス制御のフローチャートの例を示す図である。
【図１６】ストレージ構成制御プログラムによる既存リソースへのアクセス制御のフローチャートの例を示す図である。
【図１７】ホスト管理計算機が有する仮想マシン管理テーブルの一例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施例を、図面を用いて説明する。
【００１８】
なお、以後の説明では「テーブル」という表現にて各実施例の情報を説明するが、これらの情報は必ずしもテーブルである必要は無く、テーブル以外のデータ構造であってもよい。また、「プログラム」を主語として動作を説明する場合もあるが、プログラムはプロセッサによってメモリ等を用いながら定められた処理を行うため、プロセッサを主語とすることもできる。
【００１９】
また、プログラムをプロセッサが実行する処理は、その一部または全てを専用ハードウェアによって実現されてもよい。本明細書では、プログラムをプロセッサが実行する処理を、「〜部」という表現を用いて説明するが、これらの「〜部」はその一部または全てがプロセッサによるプログラムの実行であってもよいし、その一部または全てが専用ハードウェアであってもよい。
【００２０】
また、プログラムは、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって、インストールされてもよい。
【００２１】
さらに、以下の説明において、符号末尾のアルファベットを省略した場合、その対象の総称を表す。
【実施例１】
【００２２】
実施例１では、ストレージ装置がシンプロビジョニング機能と重複排除機能を有し、ＳＣＳＩ ＵＮＭＡＰコマンドに対応していることを前提とする。ホスト計算機は、ＨｙｐｅｒＶｉｓｏｒにより仮想マシン（以下、ＶＭと呼ぶ）を提供し、ＶＭのイメージファイルをストレージ装置が提供する論理ボリューム（以下、ＬＵと呼ぶ）からなるデータストアに格納する。このような環境のもと、ストレージ装置がＬＵに対応する物理的記憶手段からデータを消去する処理を示す。
【００２３】
図１は、実施例１のシステム構成の例を示す図である。
ホスト計算機１００とストレージ装置２００はＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やｉＳＣＳＩなどで構成されるネットワーク（以下、ＳＡＮと呼ぶ）５００を介して接続される。ホスト計算機１００は、ストレージ装置２００にＩＯ要求を行う計算機と呼ぶことができる。ストレージ装置２００は、データの記憶領域として論理ボリューム（ＬＵ：Ｌｏｇｉｃａｌ Ｕｎｉｔと呼ぶ）２４２を、ホスト計算機１００に提供する。
【００２４】
ホスト計算機１００に割当てられたＬＵ２４２は、ホスト計算機１００が備えるＨｙｐｅｒｖｉｓｏｒ１２３にデータストアとして取り込まれ、ＶＭ１９０のイメージデータの格納やＶＭ１９０上のＯＳまたはアプリケーションのデータ格納領域として利用される。ホスト計算機１００とホスト管理計算機３００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ Ｎｅｔｗｏｒｋ）で構成される管理ネットワーク６００を介して接続される。
【００２５】
ＶＭ管理者１０やアプリケーション管理者２０は、ホスト管理計算機３００が備えるアプリケーション管理プログラム３１１、仮想マシン管理プログラム３１２を利用して、ホスト計算機１００やホスト計算機１００上のＶＭ１９０やＶＭ１９０上のＯＳおよびＯＳ上のアプリケーションの管理を実施する。
【００２６】
ストレージ管理計算機４００が備えるプロバイダ４１２ａ、４１２ｂは、アプリケーション管理プログラム３１１や仮想マシン管理プログラム３１２が定義するフォーマットやスキーマに沿ったストレージリソース操作を実施するＡＰＩを提供する。アプリケーション管理プログラム３１１や仮想マシン管理プログラム３１２およびＨｙｐｅｒｖｉｓｏｒ１２３は、管理ネットワーク６００を介してプロバイダ４１２が提供するＡＰＩに、ストレージリソース操作要求を送信する。プロバイダ４１２ａ、４１２ｂは、ストレージリソース操作要求を受信すると、要求されたストレージリソース操作をストレージ装置２００が備えるストレージ構成制御プログラム２３１に送信する。ストレージ構成制御プログラム２３１は要求処理を実施する。
【００２７】
また、ストレージ管理計算機４００はストレージリソース操作のＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）やＣＬＩ（Ｃｏｍｍａｎｄ Ｌｉｎｅ Ｉｎｔｅｒｆａｃｅ）を提供するストレージコンソール４１１を備えている。ストレージ管理者４０はストレージコンソール４１１を介して管理ネットワーク６００経由でストレージ構成制御プログラム２３１にストレージリソース操作および装置保守操作を指示する。
【００２８】
以下、ストレージ装置２００は図２を用い、ホスト計算機１００は図３を用い、各管理計算機３００、４００は図４を用いて、内部構成を説明する。
【００２９】
図２は、実施例１のストレージ装置の構成例を示す図である。ストレージ装置２００は、図２に示すように、ホストＩ／Ｆ部であるＦＥＰＫ（ＦｒｏｎｔＥｎｄ  ＰａｃＫａｇｅ）２１０と、ストレージ制御部であるＭＰＰＫ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  ＰａｃＫａｇｅ）２２０と、共有メモリ部であるＣＭＰＫ（Ｃａｃｈｅ  Ｍｅｍｏｒｙ  ＰａｃＫａｇｅ）２３０と、ディスクＩ／Ｆ部であるＢＥＰＫ（ＢａｃｋＥｎｄ  ＰａｃＫａｇｅ）２４０と、記憶装置の一例としてのＨＤＤ（ハードディスクドライブ）２７０とを、それぞれ一つまたは複数具備する。尚、記憶装置としては、ＳＡＴＡドライブ、ＳＡＳドライブ等のＨＤＤの他、ＳＤＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）等各種ドライブを用いることができる。
【００３０】
内部ネットワーク２５０は、ＦＥＰＫ２１０とＭＰＰＫ２２０とＣＭＰＫ２３０とＢＥＰＫ２４０と管理サーバ２５０とを互いに接続する。内部ネットワーク２５０により、ＭＰＰＫ２２０の各ＭＰ２２１は、ＦＥＰＫ２１０、ＣＭＰＫ２３０、ＢＥＰＫ２４０のいずれに対しても通信可能となっている。ＦＥＰＫ２１０は、それぞれがホストＩ／Ｆとなる複数の論理ポート２１１を有する。
【００３１】
ＢＥＰＫ２４０は、複数のディスクＩ／Ｆ２４１を有する。ディスクＩ／Ｆ２４１は、例えば、ケーブルを介してドライブ２７０と接続されるとともに、内部ネットワーク２５０と接続される。ＢＥＰＫ２４０は、内部ネットワーク２５０側とＨＤＤ２７０との間におけるリード又はライト対象のデータの受け渡し処理を仲介する。
【００３２】
ＣＭＰＫ２３０は、データ用のキャッシュメモリ２３１と制御情報用メモリ２３２を有する。キャッシュメモリ２３１と制御情報用メモリ２３２は、揮発メモリ、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であってもよい。キャッシュメモリ２３１は、ドライブ２７０にライトするデータを一時的に格納（キャッシュ）し、或いはドライブ２７０からリードしたデータを一時的に格納（キャッシュ）する。制御情報用メモリ２３２は、制御に必要な情報（例えば、論理ボリュームであるＬＵ２４２やプール２４５などの構成情報）やストレージ構成制御プログラム２３１を格納する。
【００３３】
ＭＰＰＫ２２０は、複数のＭＰ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ）２２１と、ＬＭ（Ｌｏｃａｌ  Ｍｅｍｏｒｙ）２２２と、これらを接続するバス２２３とを有する。ＭＰ２２１は、計算機などでも使用されるプロセッサであり、ＬＭ２２２に格納されたプログラムにしたがって動作する。ＬＭ２２２は、制御情報用メモリ２３２に格納されているＩ／Ｏ制御のための制御情報（構成情報等）の一部やストレージ構成制御プログラム２３１を格納している。
【００３４】
ストレージ構成制御プログラム２３１は、制御情報用メモリ２３２からＬＭ２２２にロードされ、ＭＰ２２４により実行されるプログラムであり、ストレージ管理計算機４００からの操作要求を処理する。従って、ストレージ構成制御プログラム２３１を含むＭＰＰＫ２２０の動作をストレージ制御部として説明することができる。
【００３５】
図３は、ホスト計算機の構成例を示す図である。ホスト計算機１００は、図３に示すように、プロセッサ１４０、メモリ１２０、ＨＢＡ（Ｈｏｓｔ Ｂｕｓ Ａｄａｐｔｅｒ）１３０、出力部１６０、入力部１７０、ネットワークＩ／Ｆである管理ポート１１０などを備えた計算機であり、例えば、パーソナルコンピュータや、ワークステーションまたはメインフレームなどである。
【００３６】
プロセッサ１４０は、ホスト計算機１００全体を統括制御し、メモリ１２０に格納された仮想マシン管理プログラム１２１、ストレージ管理プログラム１２２、Ｈｙｐｅｒｖｉｓｏｒ１２３、交替パスソフトウェアのプログラム（図示せず）を実行することにより、各機能を実現する。例えば、プロセッサ１４０は、Ｈｙｐｅｒｖｉｓｏｒ１２３を実行することで、ストレージ装置２００に対して、リードアクセス要求またはライトアクセス要求等のアクセス要求を発行する。
【００３７】
メモリ１２０は、プログラムなどを記憶するために用いられるほか、プロセッサ１４０のワークメモリとしても用いられる。
【００３８】
ＨＢＡ１３０は、ストレージ装置２００との通信時におけるプロトコル制御を行う。ＨＢＡ１３０が、プロトコル制御を行うことで、ホスト計算機１００とストレージ装置２００との間において、例えばファイバチャネルプロトコルに従ったデータやコマンドの送受信が行われる。
【００３９】
Ｈｙｐｅｒｖｉｓｏｒ１２３は、仮想マシンを展開する仮想マシン制御部と、ＲＡＷ ＤＥＶＩＣＥから仮想ディスクを形成するディスク制御部からなる。
【００４０】
出力部１６０は、モニタディスプレイやスピーカなどから構成される。入力部１７０は、例えば、キーボード、スイッチやポインティングデバイス、マイクロフォンなどから構成される。
【００４１】
図４は、各種管理計算機の構成例を示す図である。
図４に示すようにホスト管理計算機３００、ストレージ管理計算機４００等の各種管理計算機は、プロセッサ３２０、４２０が、各種管理計算機３００、４００の全体を統括制御する。また、プロセッサ３２０、４２０は、メモリ３１０、４１０にロードされた各管理プログラムを実行することにより、ストレージ装置２００およびホスト計算機１００の構成管理操作要求を、ネットワークＩ／Ｆ３４０、４４０と管理ネットワーク６００経由で、ストレージ装置２００およびホスト計算機１００へ送信する。
【００４２】
また、メモリ３１０、４１０には、各管理プログラムが用いる制御情報も格納される。管理者は、キーボードやマウスなどの入力部３７０、４７０に操作要求を入力し、ディスプレイやスピーカなどの出力部３６０、４６０を介して実行結果を取得することができる。ＨＤＤやＳＳＤなどの記憶媒体３３０、４３０には、各管理プログラムの実行ログが格納される。
【００４３】
図５Ａは、ホスト計算機１００上のＨｙｐｅｒＶｉｓｏｒ１２３が管理するＶＭ管理テーブルＴ１００の構成例である。ＶＭ管理テーブルＴ１００はＶＭの識別子を登録する欄Ｔ１０１と、ＶＭのイメージを格納するデータストアの識別子を登録する欄Ｔ１０２と、ＶＭの構成ファイルの一覧を登録する欄Ｔ１０３から構成される。例えば、ＶＭの識別子Ｔ１０１が「ＶＭ０１」の場合、ＶＭの識別子Ｔ１０２が「ＤＳ１」、ＶＭの構成ファイルＴ１０３に５つのファイルパスが対応付けられている。
【００４４】
図５Ｂは、ホスト計算機上のＨｙｐｅｒ Ｖｉｓｏｒ１２３が管理するストレージ管理テーブルＴ２００の一例を示す図である。ストレージ管理テーブルＴ２００は、データストアやホスト計算機１００上の論理ボリュームの識別子を登録する欄Ｔ２０１と、ストレージのＴｙｐｅ（形式）を登録する欄Ｔ２０２と、データストアや論理ボリュームの実体を登録する欄Ｔ２０３から構成される。
【００４５】
ここで、欄Ｔ２０２のストレージの形式とは、ストレージ装置が提供するＬＵをデータストアとして利用する場合、“ＥＸＴＥＲＮＡＬ”となり、ストレージ装置が提供するＬＵをＶＭが直接利用する場合、Ｒａｗ Ｄｅｖｉｃｅ Ｍａｐｐｉｎｇを示す“ＲＤＭ”で表現される。また、ストレージ装置のＬＵをデータストアや論理ボリュームの実体として利用する場合、欄Ｔ２０３には、ストレージ装置の識別子（装置名．シリアル番号）とＬＵのストレージ装置内識別子“ＬＵ０１”の組で「Ｓｔｏｒａｇｅ１．ＬＵ０１」のように表現される。例えば、論理ボリュームの識別子Ｔ２０１が「ＤＳ１」に対して、ストレージの形式Ｔ２０２「ＥＸＴＥＲＮＡＬ」、データストアや論理ボリュームの実体を登録する欄Ｔ２０３には、ストレージ装置名「Ｓｔｏｒａｇｅ１」、ストレージ装置内識別子「ＬＵ０１」が対応付けられている。
【００４６】
図６Ａは、ストレージ装置２００が管理するＬＵ管理テーブルＴ３００の一例を示す図である。ＬＵ管理テーブルＴ３００は、構成情報の一部であり、制御情報用メモリ２３２に格納される。また、ＬＵ管理テーブルＴ３００は、ストレージ装置内のＬＵの識別子を登録する欄Ｔ３０１と、ＬＵの総容量を登録する欄Ｔ３０２と、ＬＵが所属するプールの識別子を登録する欄Ｔ３０３と、ＬＵを提供するターゲットポート２５０の識別子を登録する欄Ｔ３０４から構成される。
【００４７】
図６Ｂは、ストレージ装置が管理するプール管理テーブルＴ４００の一例を示す図である。プール管理テーブルＴ４００は、構成情報の一部であり、制御情報用メモリ２３２に格納される。また、プール管理テーブルＴ４００は、ストレージ装置内のプールの識別子を登録する欄Ｔ４０１と、プールの総容量を登録する欄Ｔ４０２と、プールの空き容量を登録するＴ４０３と、プールに割当てられたパリティグループの識別子を登録する欄Ｔ４０４と、プールの重複排除機能適用有無を示す欄Ｔ４０５から構成される。欄Ｔ４０５は重複排除機能適用の場合“ＯＮ”となり重複排除機能未適用の場合“０ＦＦ”となる。
【００４８】
図７は、ストレージ装置２００が管理するパリティグループ管理テーブルＴ５００の構成例を示す図である。パリティグループ管理テーブルＴ５００は、構成情報の一部であり、制御情報用メモリ２３２に格納される。また、パリティグループ管理テーブルＴ５００は、パリティグループの識別子を登録する欄Ｔ５０１と、パリティグループのＲＡＩＤ構成を示す欄Ｔ５０２と、パリティグループを構成する物理記憶媒体、例えばドライブ、の識別子を登録する欄Ｔ５０３と、パリティグループの総論理容量を登録する欄Ｔ５０４から構成される。
【００４９】
図８は、ストレージ装置が管理するメタデータＴ６００ａの構成例を示す図である。メタデータＴ６００ａは、構成情報の一部でありプールのページ割当て情報を管理する情報である。メタデータＴ６００ａは、制御情報用メモリ２３２に格納され、プール内の規定サイズの部分論理記憶領域（以下ページと呼ぶ）の識別子を登録する欄Ｔ６０１ａと、プール内における各ページの先頭ＬＢＡを登録する欄Ｔ６０２ａと、当該ページが割当てられたＬＵの識別子を登録する欄Ｔ６０３ａと、当該ページを参照先とするＬＵ内の先頭ＬＢＡを登録するＴ６０４ａから構成される。
【００５０】
図８では、Ｐａｇｅ０ｘ０１がＬＵ０１とＬＵ０２から参照されている。これは重複排除機能により各ＬＵのＴ６０４ａに登録された部分論理記憶領域が、プール内のページ０ｘ０１が示す部分論理記憶領域を重複して参照していることを示す。すなわち、欄Ｔ６０３ａに複数のＬＵが登録されている場合、重複排除機能が適用されているページであることを示す。
【００５１】
図９は、ホスト計算機上のファイルシステムであるデータストア内の部分論理記憶領域と、ストレージ装置内の部分論理記憶領域の関係を示す図となる。ホスト計算機１００上のＨｙｐｅｒＶｉｓｏｒ１２３は、ＶＭイメージやＶＭ上アプリケーションのデータ（ＦＩＬＥ Ａ、Ｂ、Ｃ、Ｄ）を、データストア９００内の部分論理記憶領域（Ｏｆｆｓｅｔ１、２、３、４）９０１に格納する。Ｏｆｆｓｅｔは、データストア９００内の部分論理記憶領域の先頭アドレスと長さを示す情報を含む。
【００５２】
データストア９００内の部分論理記憶領域（Ｏｆｆｓｅｔ１、２、３、４）は、ＬＵ２４２内の部分論理記憶領域９０２に該当し、前記ＬＵ内の部分論理記憶領域は、プール２４５内の部分論理記憶領域であるページ９０３（Ｐａｇｅ０ｘ００、０ｘ０１、０ｘ０２）に該当する。ここで、Ｏｆｆｓｅｔ２、３は、Ｏｆｆｓｅｔ内のデータが完全一致するため、プール２４５内のＰａｇｅ０ｘ０１（９０３ｂ）に重複して参照する状態、即ち、重複排除されている状態となる。さらに、プール２４５のメタデータ９０４は、プール２４５を構成するパリティグループ９０５ａ内の部分論理記憶領域に格納されている。図９に示したメタデータ９０４は、図８に示したメタデータＴ６００ａに対応する。
【００５３】
尚、ＬＵ０１のＯｆｆｓｅｔ１は、ＰＯＯＬ１のＰａｇｅ０ｘ００（９０３ａ）に該当し、ＰＯＯＬ１のＰａｇｅ０ｘ００（９０３ａ）は、パリティグループ０１（９０５ａ）のＰａｇｅ０ｘ００（９０６ａ）に該当する。
【００５４】
図１０は、実施例１におけるストレージ構成制御プログラム２３１のデータ消去処理のフローチャートの例を示す図である。
【００５５】
ストレージ構成制御プログラム２３１のデータ消去処理を開始するトリガは種々あるが、その一例として、ホスト計算機１００のＨｙｐｅｒＶｉｓｏｒ１２３が、ＶＭ管理者１０からＶＭ削除指示を受理する場合について説明する。
【００５６】
まず、ホスト計算機１００上のＨｙｐｅｒＶｉｓｏｒ１２３はＶＭ削除に伴い、図９に示したＶＭが利用するＦＩＬＥＡ、Ｂの割当て解除指示を行う。すなわち、ＬＵ０１内のＯｆｆｓｅｔ１（９０２ａ）、Ｏｆｆｓｅｔ２（９０２ｂ）のページ割当て解除指示を、ＳＣＳＩ ＵＮＭＡＰコマンドでストレージ装置２００に送信する。
【００５７】
ＵＮＭＡＰコマンドは、ＬＵ２４２内の論理アドレスであるＯｆｆｓｅｔ１とプール２４５内の物理アドレスであるページとの関係、即ち論理アドレスと物理アドレスとの関係を解消するコマンドである。ストレージ装置２００のストレージ構成制御プログラム２３１は、ＳＣＳＩ ＵＮＭＡＰコマンドを受理すると、メタデータＴ６００ａをローカルメモリ２２２にロードし、図１０に示すデータ完全削除処理を開始する。
【００５８】
ストレージ構成制御プログラム２３１は、ＳＣＳＩ ＵＮＭＡＰコマンドで示されたＬＵ ＩＤ（対象論理ボリューム識別情報）とＯｆｆｓｅｔ（対象論理記憶領域のＬＵ内先頭ＬＢＡとＬＢＡ数）から、メタデータＴ６００ａの欄Ｔ６０３ａと欄Ｔ６０４ａを参照し、データ消去処理対象となる物理ページを抽出する(ステップＳ１０１)。本例では、ＬＵ１の０ｘ００００００とＬＵ１の０ｘ０００００２Ａの二つが該当したとし、Ｐａｇｅ０ｘ００とＰａｇｅ０ｘ０１の二つのページを、抽出ページ数Ｎ「２」として抽出されたとする。
【００５９】
次に、抽出ページ毎にステップＳ１０３からステップＳ１０７を適用する(ステップ１０２)。ここで、処理ページをページｉとする。
【００６０】
ステップＳ１０３では、メタデータＴ６００ａを参照し、ページｉに該当する欄Ｔ６０３ａに登録されたＬＵ数を確認する。ＬＵ数が２以上の場合、重複適用ページと判定してステップＳ１０４に進み、ＬＵ数が１の場合、ステップＳ１０６に進む。
【００６１】
ステップＳ１０４では、プール内の空き論理領域である新規ページｊに、ページｉのデータを複製する。新規ページｊは、プール２４５内のＬＵ２４２に割当たっていないページを用いる。
【００６２】
ステップＳ１０５にて、他ＬＵのページi参照をページｊ参照に変更する。つまり、削除対象のＦＩＬＥ Ａ、Ｂを格納するＬＵがＬＵ０１であったとすると、ＬＵ０２のページＩＤ(Ｔ６０１ａ)と、プール２４５内のＬＢＡ(Ｔ６０２ａ)を、新規ページｊのＰａｇｅＩＤとＰＯＯＬ  ＬＢＡに変更する。
【００６３】
ステップＳ１０６では、ぺージｉに該当する論理記憶領域にランダムデータを規定回数上書きし、データを不可逆な状態とする、つまり、当該物理アドレスに対応するデータを完全に消去する。
【００６４】
全ての抽出ページに対してステップＳ１０３からステップＳ１０７までの処理を適用する。
【００６５】
図１１は、実施例１におけるストレージ構成制御プログラム２３１のデータ消去処理のフローチャートで、図１０の続きを示す図である。全ての抽出ページに対してステップＳ１０３からステップＳ１０７までの処理を適応した後、図１１に示すステップＳ１０８を実施する。
【００６６】
ステップＳ１０８では、データ消去後の状態を表すメタデータ９０４を書き込むための新規物理記憶領域を確保する。ステップＳ１０９にて、指定ＬＵの該当ページ割当てを解除、本例では、ＬＵ０１のＰａｇｅ０ｘ００と０ｘ０１の欄Ｔ６０３ａと欄Ｔ６０４ａの登録を空白とする。この状態を図１３に示している。
【００６７】
ここで、ＨｙｐｅｒＶｉｓｏｒ１２３に対して、ＵＮＭＡＰコマンドの完了応答を行う。完了応答により、ＨｙｐｅｒＶｉｓｏｒ１２３はストレージ装置２００でメタデータが図１３の状態となったことを把握する。ＵＮＭＡＰコマンドの完了応答は、図１７に示す仮想マシン管理テーブルのＦＩＬＥ ＳＴＡＴＵＳＴ１０４０に格納される。
【００６８】
次に、ステップＳ１０９で確保した新規物理記憶領域にメタデータを書込み、ステップＳ１１０にて、元メタデータ用物理領域のデータを不可逆な状態とする、つまり、データを完全に消去するため、処理開始時にメタデータを読み込んだ物理記憶領域にランダムデータを規定回数上書きし、当領域上（当該物理アドレス）のデータを不可逆な状態とする。ステップＳ１２０にて、指定論地領域のデータ完全消去完了を指示元である、ホスト管理計算機３００に、管理ネットワーク６００を経由して通知する。ホスト管理計算機３００では、この通知を受領すると、図１７に示す仮想マシン管理テーブルのＳＨＥＲＥＤ ＳＴＡＴＵＳ欄Ｔ１０５０に格納して管理する。これにより、ホスト管理計算機３００のＶＭ管理者１０、ＶＭ管理者１０あるいはアプリケーション管理者２０は、ストレージ装置２００からデータが完全に消去されたことを把握できる。
【００６９】
図１０、図１１ではＶＭの削除をトリガとして、ストレージ構成制御プログラム２３１がデータ消去処理を行う例を示したが、ストレージ構成制御プログラム２３１のデータ消去処理は、ＶＭの削除の他、ホスト計算機１００でＦＩＬＥの削除を行う場合も行われる。
【００７０】
図１２は、ストレージ構成制御プログラムのデータ消去処理後の部分論理記憶領域の構成例を示す図である。つまり、図１２は、図９の状態からＦＩＬＥ Ａ、Ｂを削除し、本開示技術を適用した後の状態を示した図である。
【００７１】
Ｏｆｆｓｅｔ１、２に該当する論理記憶領域はプール２４５内に存在せず、重複排除機能が適用されていたＰａｇｅ０ｘ０１は、Ｐａｇｅ０ｘ０３（９０３ｄ）にデータ複製され、Ｏｆｆｓｅｔ３（９０２ｃ）への割当てがＰａｇｅ０ｘ０１からＰａｇｅ０ｘ０３に変更されている。さらに、メタデータもＰＧ００１（９０５ａ）の領域からＰＧ００２（９０５ｂ）の物理記憶領域に変更されている。
【００７２】
実施例１のストレージ構成制御プログラム２３１によれば、データを格納していた物理記憶領域上のデータは完全に消去される。さらに、重複排除対象となっていたページに対しては、他のページにデータを移行して消去されないファイルと関連付けられ、重複排除率の低下を防ぐことができる。また、メタデータの履歴をたどれない状態とすることができ、ストレージ装置が具備する物理記憶媒体から消去データを復元する情報を完全に削除することができる。
【００７３】
尚、実施例１の説明でデータを完全に消去するとは、ＨＤＤやＳＳＤ等のドライブに格納されたデータが元の状態で読み出せない、不可逆となった状態をいう。
【実施例２】
【００７４】
実施例２では、ストレージ装置２００がＳＤＳ（Ｓｏｆｔｗａｒｅ−ｄｅｆｉｎｅｄ Ｓｔｏｒａｇｅ）構成となる。ＳＤＳ構成とは、ストレージソフトウェアが、計算機（以下、ノードと呼ぶ）上のＨｙｐｅｒＶｉｓｏｒにあるＶＭ上で稼働する構成である。従って、実施例１との主な違いは、ストレージ装置が利用する物理記憶媒体であるドライブ２７０が、ノードのＨｙｐｅｒＶｉｓｏｒが提供する仮想ディスクである点となる。
【００７５】
図１４は、実施例２のシステム全体構成例を示す図である。実施例１との主な違いは、ストレージ装置がノード上のＨｙｐｅｒＶｉｓｏｒが提供するストレージＶＭ１４０１上で稼働しており、ストレージシステム２０００が利用する物理記憶媒体が仮想ディスクとなる点と、ホスト計算機１００がノード１で構成されている点である。従って、ホスト計算機１００は、コンピュートノードであり、単に計算機と呼ぶことができる。尚、図１４では、ストレージシステム２０００を構成するノードが、一台のノードとして示されているが、ストレージシステムを複数台のノードで構成してもよい。
【００７６】
ストレージシステム２０００が具備するＬＵ２４２およびプール２４５、パリティグループ、メタデータは、実施例１と構成に相違が無いため、説明を省略する。
【００７７】
図１５、１６にて、実施例２におけるストレージ構成制御プログラム２３１が行うデータ完全消去処理のフローチャートを示す。
【００７８】
実施例１のデータ完全消去処理（図１０、１１）との相違点は、割当て解除対象ページとメタデータを格納する物理記憶領域のデータ完全消去処理（ステップＳ１０６およびステップＳ１１０）を、ストレージシステム２０００が稼働するＶＭを提供するＨｙｐｅｒＶｉｓｏｒ１４０２に指示する点と、ＨｙｐｅｒＶｉｓｏｒ１４０２が論理領域指定データ完全消去処理に未対応な場合に、当該領域をランダムデータで完全に上書きする点となる（ステップＳ２０６およびステップＳ２１０）。
【００７９】
図１５、１６に示したストレージ構成制御プログラム２３１により、ストレージシステム２０００が稼働するＶＭを備えるノード上の物理記憶媒体からユーザデータを復元することができなくなる。また、ホスト計算機１００のリソースを利用せずにユーザデータの完全消去を実施することができる。
【００８０】
図１７は、ホスト管理計算機が有する仮想マシン管理テーブルＴ１０００である。ＶＭ管理テーブルＴ１０００は。図５Ａと同様、ＶＭの識別子を登録する欄Ｔ１０１０と、ＶＭのイメージを格納するデータストアの識別子を登録する欄Ｔ１０２０と、ＶＭの構成ファイルの一覧を登録する欄Ｔ１０３０とを有する。例えば、ＶＭの識別子Ｔ１０１が「ＶＭ０１」の場合、ＶＭの識別子Ｔ１０２が「ＤＳ１」、ＶＭの構成ファイルＴ１０３に５つのファイルパスが対応付けられている。仮想マシン管理テーブルＴ１０００は、ＳＣＳＩ ＵＮＭＡＰコマンドのレスポンスで状態遷移を登録する欄Ｔ１０４０と、ストレージコンソール／プロバイダ経由でのデータ消去完了通知で状態遷移を登録する欄Ｔ１０５０とを有する。
【００８１】
ＳＣＳＩ ＵＮＭＡＰコマンドのレスポンスで状態遷移を登録する欄Ｔ１０４０は、ＤＳを形成するＬＵＮを保持するストレージ装置に対し、対象ファイルのデータ格納場所を示すアドレス（ＬＢＡ）のＳＣＳＩ ＵＮＭＡＰコマンドを送信し、レスポンスを受け取ると、正常から削除済みとなる。
【００８２】
ストレージコンソール／プロバイダ経由でのデータ消去完了通知で状態遷移を登録する欄Ｔ１０５０は、ストレージ装置２００がＳＣＳＩ ＵＮＭＡＰコマンドを受理し、本発明の格納データの消去処理を実施すると、ストレージ装置２００がストレージコンソール４１１およびプロバイダ４１２に対し、ＬＵ番号とＬＢＡオフセットおよびデータ消去状態を通知し、仮想マシン管理プログラム３１２が通知を受けてステータスを遷移させる。表中、「滅却済」は、ドライブに格納されたデータの消去処理が正常終了した状態を表し、滅却処理完了の日付と時間が記載される。「滅却中」はデータ滅却処理実施中であることを示す。
【００８３】
さらに、重複排除対象となっていたページに対しては、他のページにデータを移行して消去されないファイルと関連付けられるので、重複排除率の低下を防ぐことができる。
【００８４】
また、メタデータの履歴をたどれない状態とすることができ、ストレージ装置が具備する物理記憶媒体から消去データを復元する情報を完全に削除することができる。
【００８５】
実施例２の説明で、実施例１の説明でデータを完全に消去するとは、ＨＤＤやＳＳＤ等のドライブに格納されたデータが元の状態で読み出せない、不可逆となった状態をいう。
【符号の説明】
【００８６】
１００：ホスト計算機、
２００：ストレージ装置、
２３１：ストレージ構成制御プログラム、
３００：管理計算機、
４００：ストレージ管理計算機、
５００：ストレージエリアネットワーク、
６００：管理ネットワーク、
Ｔ１００：ＶＭ管理テーブル、
Ｔ２００：ストレージ管理テーブル、
Ｔ３００：ＬＵ管理テーブル、
Ｔ４００：プール管理テーブル、
Ｔ５００：パリティグループ管理テーブル、
Ｔ６００：プールメタデータ。
【図１】
2020144601.tif 000003
【図２】
2020144601.tif 000004
【図３】
2020144601.tif 000005
【図４】
2020144601.tif 000006
【図５Ａ】
2020144601.tif 000007
【図５Ｂ】
2020144601.tif 000008
【図６Ａ】
2020144601.tif 000009
【図６Ｂ】
2020144601.tif 000010
【図７】
2020144601.tif 000011
【図８】
2020144601.tif 000012
【図９】
2020144601.tif 000013
【図１０】
2020144601.tif 000014
【図１１】
2020144601.tif 000015
【図１２】
2020144601.tif 000016
【図１３】
2020144601.tif 000017
【図１４】
2020144601.tif 000018
【図１５】
2020144601.tif 000019
【図１６】
2020144601.tif 000020
【図１７】
2020144601.tif 000021