(57)【要約】【課題】重複排除機能の試験の精度を向上させる情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムを提供する。【解決手段】動作試験装置１は、試験データ書込部１２２、使用量取得部１２３及び検証部１２４を備える。試験データ書込部１２２は、重複排除機能を備えたストレージ装置２に対して所定の試験データの書き込みを行わせる。使用量取得部１２３は、所定の試験データの書き込み前後の、ストレージ装置２がデータを格納した記憶領域の使用量を取得する。検証部１２４は、所定の試験データの書き込み前後の使用量の変化を基に、重複排除機能の動作を検証する。【選択図】図３
2020030707.tif 000002
【特許請求の範囲】
【請求項１】
重複排除機能を備えたデータ処理装置に対して所定の試験データの書き込みを行わせるデータ書込部と、
前記所定の試験データの書き込み前後の、前記データ処理装置がデータを格納した記憶領域の使用量を取得する使用量取得部と、
前記所定の試験データの書き込み前後の前記使用量の変化を基に、重複排除機能の動作を検証する検証部と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記データ書込部は、前記使用量が不変な書き込みパターン、前記使用量が増加する書き込みパターン、及び前記使用量が減少する書き込みパターンのそれぞれのパターンの書き込みを行い、
前記使用量取得部は、それぞれのパターンについての前記使用量を取得し、
前記検証部は、それぞれのパターンについて検証を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ書込部は、前記重複排除機能による重複排除単位の領域毎にデータを書き込むことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
重複排除機能を備えたデータ処理装置に対して所定の試験データの書き込みを行わせ、
前記所定の試験データの書き込み前後の、前記データ処理装置がデータを格納した記憶領域の使用量を取得し、
前記所定の試験データの書き込み前後の前記使用量の変化を基に、重複排除機能の動作を検証する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項５】
重複排除機能を備えたデータ処理装置に対して所定の試験データの書き込みを行わせ、
前記所定の試験データの書き込み前後の、前記データ処理装置がデータを格納した記憶領域の使用量を取得し、
前記所定の試験データの書き込み前後の前記使用量の変化を基に、重複排除機能の動作を検証する
ことを特徴とする情報処理方法。
【請求項６】
重複排除機能を備えたデータ処理装置及び前記データ処理装置の動作試験を行う情報処理装置を備えた情報処理システムであって、
前記データ処理装置は、
データを格納する記憶領域を有する格納部と、
前記データから生成されるハッシュデータを格納するハッシュキャッシュと、
特定データを受信し、前記ハッシュキャッシュに特定データから生成された特定ハッシュデータが存在するか否かを判定し、前記特定ハッシュデータが存在しない場合、前記特定ハッシュデータを前記ハッシュキャッシュに格納するとともに、前記特定データを前記格納部に格納させ、前記特定ハッシュデータが存在する場合、既存の前記特定データを示す情報を前記格納部に格納させる書込制御部とを備え、
前記情報処理装置は、
前記データ処理装置の前記書込制御部に対して所定の試験データの書き込みを行わせるデータ書込部と、
前記所定の試験データの書き込み前後の、前記格納部がデータを格納した前記記憶領域の使用量を取得する使用量取得部と、
前記所定の試験データの書き込み前後の前記使用量の変化を基に、前記重複排除機能の動作を検証する検証部と
を備えたことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムに関する。
【背景技術】
【０００２】
近年、ストレージ装置に保存するデータ量は増加の一途を辿っている。そこで、書き込みデータの容量を削減するため、書き込みデータを所定のサイズ単位で区切り、このサイズ単位毎に同一データかどうかを判定して異なるデータを論理ボリュームへ保存する重複排除機能を備えたストレージ装置が存在する。以下では、所定のサイズ単位を「重複排除単位」という。すなわち、重複排除機能とは、既に書き込んであるデータと重複するデータは書き込まず、重複しないデータを書き込む機能である。
【０００３】
重複排除機能の詳細について説明する。重複排除機能では、重複を判定するために、データ書き込み時に重複排除単位に分けられた分割データから生成したハッシュデータがメモリ上のハッシュキャッシュに保持される。すなわち、ハッシュキャッシュには、既に書き込み済みのデータを表す情報が登録される。そして、ストレージ装置は、データの書き込み時に、書き込むデータから生成したハッシュデータとハッシュキャッシュに登録されたハッシュデータとを参照して論理ボリュームへの書き込み要否を判定する。ハッシュキャッシュ上に同じハッシュデータが存在する場合、ストレージ装置は、データの書き込みを行わずハッシュキデータに対応するデータを示す情報を登録する。これに対して、ハッシュキャッシュ上に同じハッシュデータが存在しない場合、書き込むデータから生成したハッシュデータをハッシュキャッシュに登録し、さらに、データの書き込みを行う。また、ハッシュキャッシュに格納されたデータの容量がハッシュキャッシュの上限に達した場合、ストレージ装置は、参照時間が最も古いハッシュデータを削除する。
【０００４】
このような重複排除機能を有するストレージ装置において、重複排除機能が正しく動作するか否かを判定するための動作確認試験が行われる。従来の動作確認試験は、例えば、重複排除されるデータ及び重複排除されないデータを予め計画した順序で書き込み、ストレージ装置の重複排除率が計画通りに変化することをストレージ装置の操作パネルを用いて目視確認する方法で実施される。
【０００５】
なお、ストレージ装置における重複排除の技術として、ハッシュデータの容量が装置内のハッシュキャッシュの容量を超えた場合、容量を超えたハッシュデータを外部の記憶装置に配置されたハッシュキャッシュに配置する従来技術がある。また、ストレージ装置における技術として、現在から過去までの複数の時点での仮想領域と実領域との対応及び仮想領域の負荷情報を用いて、将来の仕様状況を予測し、マイグレーションなどの処理を行う従来技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−４９８０６号公報
【特許文献２】国際公開第２０１１／０９２７３９号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、実運用におけるストレージ装置の使用方法では、論理ボリュームサイズが重複排除単位よりきわめて大きい場合が多い。そのため、従来の試験方法では、実運用素想定した試験を実施する場合、多数の試験パターンを用いた長時間の試験作業が行われる。さらに、試験作業が長時間にわたる場合、試験作業者の人的ミスのリスクも増大する。このため、従来の試験方法では、精度の高い重複排除機能の動作確認試験を実施することが困難であった。また、従来の試験方法では、一定量のデータを書き込み、その後に期待値を確認する手法を取るため、１つのデータ書き込みに対する機能を評価することが難しく、重複排除機能の動作試験の精度を向上させることは困難であった。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、重複排除機能の動作試験の精度を向上させる情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムの一つの態様において、データ書込部は、重複排除機能を備えたデータ処理装置に対して所定の試験データの書き込みを行わせる。使用量取得部は、前記所定の試験データの書き込み前後の、前記データ処理装置がデータを格納した記憶領域の使用量を取得する。検証部は、前記所定の試験データの書き込み前後の前記使用量の変化を基に、重複排除機能の動作を検証する。
【発明の効果】
【００１０】
１つの側面では、本発明は、重複排除機能の動作試験の精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、動作試験装置及びストレージ装置のハードウェア構成図である。
【図２】図２は、ストレージ装置のデータ書き込みの流れを説明するための図である。
【図３】図３は、実施例に係る動作試験装置のブロック図である。
【図４】図４は、重複排除機能の動作試験のパターンを表す図である。
【図５】図５は、新規書き込み且つ既存のデータと一致するパターンの動作試験を説明するための図である。
【図６】図６は、新規書き込み且つ既存のデータと一致しないパターンの動作試験を説明するための図である。
【図７】図７は、更新書き込み、書き込み先のデータが重複排除状態、且つ既存のデータと一致するパターンの動作試験を説明するための図である。
【図８】図８は、更新書き込み、書き込み先のデータが重複排除状態、且つ既存のデータと一致しないパターンの動作試験を説明するための図である。
【図９】図９は、更新書き込み、書き込み先のデータが重複排除状態でなく、且つ既存のデータと一致するパターンの動作試験を説明するための図である。
【図１０】図１０は、更新書き込み、書き込み先のデータが重複排除状態でなく、且つ既存のデータと一致しないパターンの動作試験を説明するための図である。
【図１１】図１１は、重複排除機能の動作試験の全体的な処理のフローチャートである。
【図１２】図１２は、物理容量が変化しないパターンの判定処理のフローチャートである。
【図１３】図１３は、物理容量が増加するパターンの判定処理のフローチャートである。
【図１４】図１４は、物理容量が減少するパターンの判定処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムが限定されるものではない。
【実施例】
【００１３】
図１は、動作試験装置及びストレージ装置のハードウェア構成図である。動作試験装置１及びストレージ装置２は、情報処理システム５０に含まれる。動作試験装置１は、ストレージ装置２に接続される。動作試験装置１は、ストレージ装置２の重複排除機能の動作試験を行う。
【００１４】
動作試験装置１は、ＣＰＵ（Central  Processing  Unit）１１、メモリ１２、通信インタフェース１３及びＨＤＤ（Hard  Disk  Drive）１４を有する。ＣＰＵ１１は、メモリ１２、通信インタフェース１３及びＨＤＤ１４とバスを介して接続される。この動作試験装置１が、「情報処理装置」の一例にあたる。
【００１５】
通信インタフェース１３は、ストレージ装置２との間で通信を行うためのインタフェースである。ＨＤＤ１４は、ストレージ装置２の重複排除機能の動作試験を実施する動作試験プログラムを含む各種プログラムを格納する。
【００１６】
ＣＰＵ１１は、ＨＤＤ１４から動作試験プログラムを含む各種プログラムを読み出してメモリ１２上に展開して実行する。動作試験プログラムは、例えば、動作試験で使用する論理ボリューム２５１及び２５２の構築や削除をストレージ装置２に指示する。また、動作試験プログラムは、動作試験のスケジューリング、動作試験におけるデータの書き込み指示、記憶領域の使用量の取得、動作の検証及び検証結果の通知などを実行する。
【００１７】
ストレージ装置２は、データ通信インタフェース２１、管理インタフェース２２、コントローラ２３、メモリ２４及びディスクアレイ２５を有する。このストレージ装置２が、「データ処理装置」の一例にあたる。
【００１８】
データ通信インタフェース２１は、書き込むデータの入力を受けるインタフェースである。また、データ通信インタフェース２１は、読み出すデータを出力するインタフェースである。管理インタフェース２２は、動作試験に用いる情報を動作試験装置１に通知するための動作試験の管理用のインタフェースである。
【００１９】
ディスクアレイ２５は、複数のハードディスクを備えた物理的な記憶装置である。ディスクアレイ２５は複数のＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）グループを有する。そして、ディスクアレイ２５は、ＲＡＩＤグループの中に論理ボリューム２５１及び２５２を有する。ただし、ディスクアレイ２５に配置される論理ボリュームの数は特に制限は無い。ここでは、ディスクアレイ２５全体で１つの重複排除単位とする。
【００２０】
メモリ２４は、ハッシュキャッシュ２４１及びブロックマップ２４２を有する。ハッシュキャッシュ２４１は、論理ボリューム２５１又は２５２に書き込まれたデータから生成されるハッシュデータを格納する。ブロックマップ２４２は、ハッシュキャッシュ２４１に格納されたハッシュデータの生成元となったデータの書き込み先のアドレスを格納する。
【００２１】
コントローラ２３は、動作試験で使用する論理ボリューム２５１及び２５２の構築や削除の指示をデータ通信インタフェース２１を介して取得する。そして、コントローラ２３は、例えば、ディスクアレイ２５における動作試験で使用する論理ボリューム２５１及び２５２の構築及び削除を実行する。また、コントローラ２３は、動作試験におけるデータの書き込み指示を受けて、論理ボリューム２５１又は２５２にデータを書き込む。さらに、コントローラ２３は、論理ボリューム２５１及び２５２における試験データの格納による記憶領域の使用容量である物理記憶容量をディスクアレイ２５から取得する。そして、コントローラ２３は、論理ボリューム２５１及び２５２の物理記憶容量を、管理インタフェース２２を介して動作試験装置１へ通知する。
【００２２】
他にも、コントローラ２３は、実際の運用に関して、指定されたデータのディスクアレイ２５への書き込みを重複排除機能を用いて実行する。また、コントローラ２３は、指定されたデータのディスクアレイ２５からのデータの読み出しを行う。
【００２３】
ここで、図２を参照して、ストレージ装置２のデータの書き込みの流れについて説明する。図２は、ストレージ装置のデータ書き込みの流れを説明するための図である。ここでは、論理ボリューム２５２に既に分割データＡ及び分割データＢを含むデータ３１３が格納されており、ハッシュキャッシュ２４１には分割データＡ及び分割データＢから生成されたハッシュデータａ及びｂを含むハッシュデータ３１１が格納されている。また。ブロックマップ２４２には、ハッシュデータａの生成元の分割データＡのアドレス及びハッシュデータｂの生成元の分割データＢのアドレスを含むデータ３１２が登録されている。図２では、「ａのアドレス」が、ハッシュデータａの生成元の分割データＡのアドレスを表し、「ｂのアドレス」が、ハッシュデータｂの生成元の分割データＢのアドレスを表す。
【００２４】
ストレージ装置２のデータ通信インタフェース２１は、書込データ３０１の入力を受ける。そして、データ通信インタフェース２１は、コントローラ２３に書込データ３０１を出力する。
【００２５】
コントローラ２３は、書込データ３０１をデータ通信インタフェース２１から取得する。そして、コントローラ２３は、書込データ３０１を重複排除単位に分割して分割データ３０２を生成する。ここでは、分割データＡ〜Ｄが生成される。
【００２６】
次に、コントローラ２３は、分割データＡ〜Ｄからハッシュデータａ〜ｄを生成する。そして、コントローラ２３は、生成したハッシュデータａ〜ｄがハッシュキャッシュ２４１に存在するか否かを判定する。
【００２７】
ここで、書き込むデータから生成されたハッシュデータがハッシュキャッシュ２４１に存在する場合には、書き込むデータと同じデータが既に論理ボリューム２５１又は２５２に格納されており、書き込むデータは重複排除の対象となる。これに対して、書き込むデータから生成されたハッシュデータがハッシュキャッシュ２４１に存在しない場合は、書き込むデータと同じデータは論理ボリューム２５１又は２５２に存在しないので、書き込むデータは重複排除の対象とならず書き込みの対象となる。
【００２８】
ここでは、ハッシュキャッシュ２４１にはハッシュデータａ及びｂが存在するので、コントローラ２３は、分割データＡ及びＢを重複排除の対象とする。これに対して、データ３０３で示すハッシュデータｃ及びｄはいずれもハッシュキャッシュ２４１に存在しないので、コントローラ２３は、分割データＣ及びＤを書き込みの対象とする。
【００２９】
そこで、コントローラ２３は、ハッシュデータｃ及びｄをハッシュキャッシュ２４１に書き込む。次に、コントローラ２３は、分割データＣ及びＤの格納先のアドレスをブロックマップ２４２に登録する。
【００３０】
その後、コントローラ２３は、論理ボリューム２５１に分割データＣ及びＤを書き込む。また、コントローラ２３は、論理ボリューム２５１における分割データＡの格納先に、ブロックマップ２４２上の同じハッシュデータａとなる分割データのアドレスを示す情報を書き込む。また、コントローラ２３は、論理ボリューム２５１における分割データＢの格納先に、ブロックマップ２４２上の同じハッシュデータｂとなる分割データのアドレスを示す情報を書き込む。
【００３１】
これにより、論理ボリューム２５１には、データ３０５が書き込まれる。ここで、破線の枠で囲われた分割データは、重複排除が行われたデータを表し、実線で囲われた分割データは論理ボリューム２５１に分割データそのものが書き込まれたデータを表す。重複排除が行われた場合、ブロックマップ２４２上の位置を示す情報が格納されるが、分割データそのものと比べてサイズは非常に小さく、無視できるサイズと言える。そこで、重複排除が行われた場合、分割データの書き込みによる使用領域の増加は無いと考えることができる。
【００３２】
データの読み出し時には、コントローラ２３は、論理ボリューム２５１又は２５２に読み出すデータが格納されている場合、そのデータを読み出して要求元へ送信する。一方、重複排除により論理ボリューム２５１又は２５２に読み出すデータが格納されていない場合、コントローラ２３は、読み出すアドレスに格納されたブロックマップ２４２上の位置の情報を取得し、その情報を基にブロックマップ２４２を参照する。そして、コントローラ２３は、同じハッシュデータとなるデータのアドレスを取得し、取得したアドレスに格納されたデータを論理ボリューム２５１又は２５２から読み出して送信元へ送信する。このコントローラ２３が、「書込制御部」の一例にあたる。
【００３３】
次に、図３を参照して、本実施例に係る動作試験装置１による重複排除機能の動作試験の機能について説明する。図３は、実施例に係る動作試験装置のブロック図である。ここでは、情報処理システム５０に、管理端末装置３も含まれる。
【００３４】
図３に示すように、動作試験装置１は、ストレージ装置２及び管理端末装置３に接続される。ここで、図３では動作試験を行うストレージ装置２の管理者が利用する管理端末装置３を配置したが、管理者は動作試験装置１の入出力装置を用いて管理端末装置３で行う操作を行ってもよい。
【００３５】
動作試験装置１は、試験の全体を統括管理する管理制御部１０１及び実際に動作試験を実行する試験実行部１０２を有する。管理制御部１０１は、操作処理部１１１、通知部１１２、テストスケジューラ１１３及び試験構成構築部１１４を有する。これらの機能は、図１のＣＰＵ１１が実行する動作試験プログラムにより実現される。
【００３６】
操作処理部１１１は、動作試験に用いる論理ボリューム２５１及び２５２の設定情報及び動作試験の実行要求を管理端末装置３から受ける。この実行要求には、重複排除機能における重複排除単位の情報、ハッシキャッシュサイズ及び試験データの情報が含まれる。そして、操作処理部１１１は、論理ボリューム２５１及び２５２の設定情報を試験構成構築部１１４に通知する。また、操作処理部１１１は、重複排除単位、ハッシュキャッシュサイズ及び試験データの情報を含む動作試験の実行指示をテストスケジューラ１１３に通知する。
【００３７】
試験構成構築部１１４は、動作試験に用いる論理ボリューム２５１及び２５２の設定情報の通知を操作処理部１１１から受ける。そして、試験構成構築部１１４は、取得した論理ボリュームの設定情報にしたがって、ストレージ装置２に論理ボリューム２５１及び２５２を構築させる。この論理ボリューム２５１及び２５２が、「格納部」の一例にあたる。
【００３８】
テストスケジューラ１１３は、重複排除単位、ハッシュキャッシュサイズ及び試験データの情報を含む動作試験の実行指示を操作処理部１１１から受ける。そして、テストスケジューラ１１３は、重複排除単位をストレージ装置２に通知する。また、テストスケジューラ１１３は、ハッシュキャッシュサイズを指定してストレージ装置２にハッシュキャッシュ２４１を生成させる。
【００３９】
また、テストスケジューラ１１３は、指定された試験データの作成を試験データ生成部１２１に指示する。本実施例では、テストスケジューラ１１３は、実行する動作試験のパターンに応じて３種類の試験データの生成を試験データ生成部１２１に指示する。さらに、テストスケジューラ１１３は、実行させる動作試験の複数のパターンそれぞれの設定を実行する順番とともに試験データ書込部１２２へ通知する。本実施例では、テストスケジューラ１１３は、図４に示す６種類の動作試験のパターンの情報を試験データ書込部１２２に通知する。
【００４０】
図４は、重複排除機能の動作試験のパターンを表す図である。図４に示すように、動作試験には、新規データの書き込み及びデータの更新書き込みがある。新規データの書き込みは、未だデータの書き込みが行われていない記憶領域へのデータの書き込みである。記憶領域は、例えばＬＢＡ（Logical  Block  Address）で示される。これに対して、データの更新書き込みは、データが既に書き込まれている記憶領域へのデータの書き込みである。
【００４１】
データの更新書き込みは、書き込み先のデータが重複排除されている場合と重複排除されていない場合とに分けられる。書き込み先のデータが重複排除されている場合とは、書き込み先に既に書き込まれた情報として、データそのものではなくブロックマップ２４２に格納されたアドレスの場所を指定する情報が格納された状態である。また、書き込み先のデータが重複排除されていない場合とは、書き込み先に既に書き込まれた情報として、データそのものが格納された状態である。
【００４２】
さらに、それぞれの場合が、書き込みするデータが既に存在するデータと一致する場合と一致しない場合とに分けられる。これにより、重複排除機能の動作試験は、６種類に分けられる。図４では、それぞれの動作試験を表す番号を図面に向かって下部に表示した。ここでは、新規データの書き込みを「Ｉ」で示し、データの更新書き込みを「ＩＩ」で示した。データの更新書き込みにおいて書き込み先のデータが重複排除されている場合を「１」で表し、重複排除されていない場合を「２」で表した。さらに、書き込みデータが既に存在するデータと一致する場合を「（１）」で表し、一致しない場合を「（２）」で表した。そして、それらの番号を組み合わせて、各動作試験の種類を表した。
【００４３】
テストスケジューラ１１３は、動作試験の順番として、例えば、「Ｉ−（１）」、「ＩＩ−１−（１）」、「ＩＩ−２−（２）」、「Ｉ−（２）」、「ＩＩ−１−（２）」、「ＩＩ−２−（１）」の順番を試験データ書込部１２２に通知する。
【００４４】
図３に戻って説明を続ける。通知部１１２は、検証結果を後述する試験実行部１０２の検証部１２４から受信する。そして、通知部１１２は、受信した検証結果を管理端末装置３へ通知する。これにより、ストレージ装置２の管理者は、ストレージ装置２の重複排除機能の動作検証結果を管理端末装置３から取得することができる。
【００４５】
試験実行部１０２は、試験データ生成部１２１、試験データ書込部１２２、使用量取得部１２３及び検証部１２４を有する。これらの機能は、図１のＣＰＵ１１が実行する動作試験プログラムにより実現される。
【００４６】
試験データ生成部１２１は、実行する試験に応じた試験データの生成の指示をテストスケジューラ１１３から受ける。そして、試験データ生成部１２１は、指示にしたがい試験データを生成する。本実施例では、試験データ生成部１２１は、サイズが同じ３種類の異なる試験データを生成する。そして、試験データ生成部１２１は、生成した試験データを試験データ書込部１２２へ出力する。
【００４７】
試験データ書込部１２２は、６種類の動作試験のパターンそれぞれの設定情報を、実行する順番とともにテストスケジューラ１１３から取得する。さらに、試験データ書込部１２２は、３種類の異なる試験データの入力を試験データ生成部１２１から受ける。そして、試験データ書込部１２２は、指定された順に６種類のパターンの動作試験のそれぞれについてデータの書き込みをストレージ装置２に行わせる。試験データ書込部１２２は、各パターンの動作試験完了後、論理ボリューム２５１及び２５２に書き込んだデータを消去する。
【００４８】
ここで、動作試験における試験データ書込部１２２の動作を詳細に説明する。まず、試験データ書込部１２２は、ストレージ装置２にデータの書き込みを行わせて初期状態を生成させる。そして、試験データ書込部１２２は、初期状態の状態生成の完了後、物理容量の取得を使用量取得部１２３に指示する。ここで、物理容量とは、論理ボリューム２５１及び２５２に書き込まれたデータの容量であり、データを書き込むことによる論理ボリューム２５１及び２５２の使用量にあたる。その後、試験データ書込部１２２は、初期状態の論理ボリューム２５１及び２５２に対してさらにデータの書き込みを行わせて、ストレージ装置２に書き込み後の状態を生成させる。そして、試験データ書込部１２２は、書き込み後の状態生成の完了後、物理容量の取得を使用量取得部１２３に指示する。これにより、試験データ書込部１２２は、データの書き込み前後の物理容量の取得を使用量取得部１２３に行わせる。この試験データ書込部１２２が、「データ書込部」の一例にあたる。
【００４９】
以下に、試験データ書込部１２２による動作試験の各パターンにおけるデータの書き込み手順について説明する。ここでは、試験データとして分割データＡ〜Ｃが存在する場合で説明する。本実施例では、分割データＡ〜Ｃは、いずれも同じデータサイズを有する。
【００５０】
図５は、新規書き込み且つ既存のデータと一致するパターンの動作試験を説明するための図である。すなわち、図５は、Ｉ−（１）のパターンの動作試験を表す。試験データ書込部１２２は、領域４０３にデータＡを書き込み、領域４０４をデータが書き込まれていない状態のままとして、初期の状態４０１を生成する。
【００５１】
その後、試験データ書込部１２２は、領域４０３に格納された分割データＡと一致する分割データＡを領域４０４に書き込ませる。この場合、書き込む分割データＡは、既に領域４０３に存在する分割データＡと一致するため重複排除される。そこで、ストレージ装置２は、ブロックマップ２４２に格納されたアドレスの場所を指定する情報を領域４０４に書き込み、書き込み後の状態４０２を生成する。このように、Ｉ−（１）のパターンでは、書き込む分割データＡは重複排除されるので、重複排除機能の動作が正常であれば、状態４０２の物理容量は、状態４０１の物理容量から変化しない。
【００５２】
図６は、新規書き込み且つ既存のデータと一致しないパターンの動作試験を説明するための図である。すなわち、図６は、Ｉ−（２）のパターンの動作試験を表す。試験データ書込部１２２は、領域４１３に分割データＡを書き込ませ、領域４１４をデータが書き込まれない状態のままとして、初期状態の状態４１１を生成する。
【００５３】
その後、試験データ書込部１２２は、領域４１３に格納された分割データＡと一致しない分割データＢを領域４１４に書き込ませる。この場合、書き込まれる分割データＢは、既に領域４１３に存在する分割データＡと一致しないため重複排除されない。そこで、ストレージ装置２は、分割データＢを領域４１４に書き込み、書き込み後の状態４１２を生成する。このように、Ｉ−（２）のパターンでは、書き込まれる分割データＢは重複排除されないので、重複排除機能の動作が正常であれば、状態４１２の物理容量は、状態４１１の物理容量から分割データＢのサイズ分増加した容量となる。
【００５４】
図７は、更新書き込み、書き込み先のデータが重複排除状態、且つ既存のデータと一致するパターンの動作試験を説明するための図である。すなわち、図７は、ＩＩ−１−（１）のパターンの動作試験を表す。試験データ書込部１２２は、領域４２５に分割データＡを書き込ませ、領域４２６に分割データＢを書き込ませ、領域４２４をデータが書き込まれない状態のままとして、状態４２１を生成する。さらに、試験データ書込部１２２は、領域４２４に既に書き込まれた分割データＡに一致する分割データＡを書き込ませ、初期の状態４２２を生成する。この場合、書き込まれる分割データＡは重複排除されて、領域４２４にはブロックマップ２４２に格納されたアドレスの場所を指定する情報が書き込まれる。
【００５５】
その後、試験データ書込部１２２は、領域４２６に既に格納された分割データＢと一致する分割データＢを、書き込み先の領域４２４に格納された分割データＡの上に書き込ませる。この場合、書き込まれる分割データＢは既に領域４２６に存在する分割データＢと一致するため重複排除される。そこで、ストレージ装置２は、ブロックマップ２４２に格納されたアドレスの場所を指定する情報を領域４２４に書き込み、書き込み後の状態４２３を生成する。この場合、状態４２２は領域４２４に重複排除された分割データＡの情報が書き込まれた状態であり、状態４２３は領域４２４に重複排除された分割データＢの情報が書き込まれた状態である。したがって、ＩＩ−１−（１）のパターンの場合、重複排除機能の動作が正常であれば、状態４２３の物理容量は、状態４２２の物理容量から変化しない。
【００５６】
図８は、更新書き込み、書き込み先のデータが重複排除状態、且つ既存のデータと一致しないパターンの動作試験を説明するための図である。すなわち、図８は、ＩＩ−１−（２）のパターンの動作試験を表す。試験データ書込部１２２は、領域４３５に分割データＡを書き込ませ、領域４３４をデータが書き込まれない状態のままとして、状態４３１を生成する。さらに、試験データ書込部１２２は、既に領域４３５に格納された分割データＡと一致する分割データＡを領域４３４に書き込ませて、初期の状態４３２を生成する。この場合、書き込まれる分割データＡは重複排除されて、領域４３４にはブロックマップ２４２に格納されたアドレスの場所を指定する情報が書き込まれる。
【００５７】
その後、試験データ書込部１２２は、領域４３５に既に格納された分割データＡと一致しない分割データＢを、書き込み先の領域４３４に格納された分割データＡの上に書き込ませる。この場合、書き込まれる分割データＢは、既に領域４３５に存在する分割データＡと一致しないため重複排除されない。そこで、ストレージ装置２は、分割データＢを領域４３４に書き込ませ、書き込み後の状態４３３を生成する。この場合、状態４３２は領域４３４に重複排除された分割データＡの情報が書き込まれた状態であり、状態４３３は領域４３４に分割データＢが重複排除されずに書き込まれた状態である。したがって、ＩＩ−１−（２）のパターンの場合、重複排除機能の動作が正常であれば、状態４３３の物理容量は、状態４３２の物理容量からデータＢのサイズ分増加した容量となる。
【００５８】
図９は、更新書き込み、書き込み先のデータが重複排除状態でなく、且つ既存のデータと一致するパターンの動作試験を説明するための図である。すなわち、図９は、ＩＩ−２−（１）のパターンの動作試験を表す。試験データ書込部１２２は、領域４４３にデータＡを書き込ませ、領域４４４にデータＢを書き込ませ、初期の状態４４１を生成する。
【００５９】
その後、試験データ書込部１２２は、既に領域４４４に格納された分割データＢと一致する分割データＢを、書き込み先の領域４４３に格納された分割データＡの上に書き込ませ、書き込み後の状態４４２を生成する。この場合、領域４４３に書き込まれる分割データＢは重複排除されて、領域４４３にはブロックマップ２４２に格納されたアドレスの場所を指定する情報が書き込まれる。状態４４２は領域４４３に分割データＡが重複排除されずに書き込まれた状態であり、状態４４２は領域４４３には重複排除された分割データＢの情報が書き込まれた状態である。したがって、ＩＩ−２−（１）のパターンの場合、重複排除機能の動作が正常であれば、状態４４２の物理容量は、状態４４１の物理容量から分割データＡのサイズ分減少した容量となる。
【００６０】
図１０は、更新書き込み、書き込み先のデータが重複排除状態でなく、且つ既存のデータと一致しないパターンの動作試験を説明するための図である。すなわち、図１０は、ＩＩ−２−（２）のパターンの動作試験を表す。試験データ書込部１２２は、領域４５３にデータＡを書き込ませ、領域４５４にデータＢを書き込ませ、初期の状態４５１を生成する。
【００６１】
その後、試験データ書込部１２２は、領域４５４に既に格納された分割データＢと一致しない分割データＣを、書き込み先の領域４５３に格納された分割データＡの上に書き込ませ、書き込み後の状態４５２を生成する。この場合、領域４５３に書き込まれる分割データＢは重複排除されず、領域４５３には分割データＢが書き込まれる。状態４５１は領域４５３に分割データＡが書き込まれた状態であり、状態４５２は領域４５３に分割データＣが書き込まれた状態である。したがって、ＩＩ−２−（２）のパターンの場合、重複排除機能の動作が正常であれば、状態４５２の物理容量は、状態４５１の物理容量から変化しない。
【００６２】
図３に戻って説明を続ける。使用量取得部１２３は、各パターンの動作試験それぞれにおいて、試験データ書込部１２２からの指示を受けて、初期状態の物理容量をストレージ装置２から取得する。その後、使用量取得部１２３は、各パターンの動作試験それぞれにおいて、試験データ書込部１２２からの指示を受けて、書き込み後の状態の物理容量をストレージ装置２から取得する。そして、使用量取得部１２３は、各パターンの動作試験それぞれにおいて、各動作試験のパターンの情報とともに初期状態の物理容量及び書き込み後の状態の物理容量を検証部１２４へ通知する。
【００６３】
検証部１２４は、各動作試験のパターンの情報とともに初期状態の物理容量及び書き込み後の状態の物理容量を使用量取得部１２３から取得する。検証部１２４は、各パターンについて初期状態の物理容量及び書き込み後の状態の物理容量の正しい関係を予め記憶する。そして、検証部１２４は、取得した初期状態の物理容量及び書き込み後の状態の物理容量を用いて各パターンについて重複排除機能が正常に動作しているか否かを判定する。すなわち、検証部１２４は、データの書き込み前後の論理ボリューム２５１及び２５２の使用量の変化を用いて重複排除機能の動作の検証を行う。以下に各パターンの動作試験における検証部１２４の判定について説明する。
【００６４】
まず、新規書き込み且つ既存のデータと一致するパターン、すなわち図４におけるＩ−（１）のパターンの動作試験の場合について説明する。この場合、検証部１２４は、初期状態の物理容量と書き込み後の物理容量が変わらなければ重複排除機能の動作が正常であると判定する。逆に、初期状態の物理容量と書き込み後の物理容量が変化した場合、検証部１２４は、重複排除機能の動作が異常であると判定する。
【００６５】
次に、新規書き込み且つ既存のデータと一致しないパターン、すなわちＩ−（２）のパターンの動作試験の場合について説明する。この場合、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から増加していれば重複排除機能の動作が正常であると判定する。逆に、書き込み後の物理容量が初期状態の物理容量と同じもしくは減少した場合、検証部１２４は、重複排除機能の動作が異常であると判定する。
【００６６】
次に、更新書き込み、書き込み先のデータが重複排除状態、且つ既存のデータと一致するパターン、すなわちＩＩ−１−（１）のパターンの場合について説明する。この場合、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から変わらなければ重複排除機能の動作が正常であると判定する。逆に、書き込み後の物理容量が初期状態の物理容量と同じもしくは減少した場合、検証部１２４は、重複排除機能の動作が異常であると判定する。
【００６７】
次に、更新書き込み、書き込み先のデータが重複排除状態、且つ既存のデータと一致するパターン、すなわちＩＩ−１−（２）のパターンの場合について説明する。この場合、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から増加していれば重複排除機能の動作が正常であると判定する。逆に、書き込み後の物理容量が初期状態の物理容量と同じもしくは減少した場合、検証部１２４は、重複排除機能の動作が異常であると判定する。
【００６８】
次に、更新書き込み、書き込み先のデータが重複排除状態でなく、且つ既存のデータと一致するパターン、すなわちＩＩ−２−（１）のパターンの場合について説明する。この場合、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から減少していれば重複排除機能の動作が正常であると判定する。逆に、書き込み後の物理容量が初期状態の物理容量と同じもしくは増加した場合、検証部１２４は、重複排除機能の動作が異常であると判定する。
【００６９】
次に、更新書き込み、書き込み先のデータが重複排除状態、且つ既存のデータと一致するパターン、すなわちＩＩ−２−（２）のパターンの場合について説明する。この場合、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から変わらなければ重複排除機能の動作が正常であると判定する。逆に、書き込み後の物理容量が初期状態の物理容量から変化した場合、検証部１２４は、重複排除機能の動作が異常であると判定する。
【００７０】
すなわち、Ｉ−（１）のパターン、ＩＩ−１−（１）のパターン及びＩＩ−２−（２）のパターンは、物理容量が変化しないパターンと言える。また、Ｉ−（２）のパターン及びＩＩ−１−（２）のパターンは、物理容量が増加するパターンと言える。また、ＩＩ−２−（１）のパターンは、物理容量が減少するパターンと言える。
【００７１】
検証部１２４は、重複排除機能の動作試験の検証結果の情報を管理制御部１０１の通知部１１２へ通知する。
【００７２】
次に、図１１を参照して、重複排除機能の動作試験の全体的な処理の流れについて説明する。図１１は、重複排除機能の動作試験の全体的な処理のフローチャートである。
【００７３】
操作処理部１１１は、動作試験実行の指示を管理端末装置３から受信する（ステップＳ１）。そして、操作処理部１１１は、論理ボリューム２５１及び２５２の設定を試験構成構築部１１４に通知する。また、操作処理部１１１は、重複排除単位、ハッシュキャッシュサイズ及び試験データの情報を含む動作試験の実行指示をテストスケジューラ１１３に通知する。
【００７４】
試験構成構築部１１４は、操作処理部１１１からの指示にしたがい、論理ボリューム２５１及び２５２をストレージ装置２に作成させる（ステップＳ２）。
【００７５】
テストスケジューラ１１３は、ストレージ装置２、試験データ生成部１２１及び試験データ書込部１２２に各種情報を通知して、テストスケジュールを設定する（ステップＳ３）。ストレージ装置２は、テストスケジューラ１１３から通知されたハッシュキャッシュサイズにしたがいハッシュキャッシュ２４１を生成する。また、ストレージ装置２は、テストスケジューラ１１３から重複排除単位の情報を取得する。試験データ生成部１２１は、テストスケジューラ１１３から通知された試験データの情報を用いて試験データを生成する。また、試験データ書込部１２２は、重複排除機能の動作試験の各種パターンの設定情報及び実行の順番の入力を受ける。
【００７６】
試験データ書込部１２２、使用量取得部１２３及び検証部１２４は、試験データ生成部１２１により作成された試験データを用いて、物理容量が変化しないパターンについての判定処理を実行する（ステップＳ４）。
【００７７】
次に、試験データ書込部１２２、使用量取得部１２３及び検証部１２４は、試験データ生成部１２１により作成された試験データを用いて、物理容量が増加するパターンについての判定処理を実行する（ステップＳ５）。
【００７８】
次に、試験データ書込部１２２、使用量取得部１２３及び検証部１２４は、試験データ生成部１２１により作成された試験データを用いて、物理容量が減少するパターンについての判定処理を実行する（ステップＳ６）。
【００７９】
その後、検証部１２４は、検証結果を通知部１１２へ送信する。通知部１１２は、検証部１２４から受信した検証結果を管理端末装置３へ送信し、管理者に動作試験の結果を通知する（ステップＳ７）。
【００８０】
次に、図１２を参照して、物理容量が変化しないパターンの判定処理の流れについて説明する。図１２は、物理容量が変化しないパターンの判定処理のフローチャートである。図１２のフローチャートで表した処理は、図１１におけるステップＳ４で実施される処理の一例にあたる。
【００８１】
試験データ書込部１２２は、新規書込み且つ既存のデータと一致するパターン（Ｉ−１のパターン）のテストを実施する（ステップＳ１０１）。
【００８２】
使用量取得部１２３は、初期状態の物理容量及び書き込み後の物理容量を取得する。そして、検証部１２４は、初期状態の物理容量及び書き込み後の物理容量を使用量取得部１２３から取得する。次に、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から変化しないか否かを判定する（ステップＳ１０２）。物理容量が変化した場合（ステップＳ１０２：否定）、検証部１２４は、ステップＳ１０７に進む。
【００８３】
一方、物理容量が変化しない場合（ステップＳ１０２：肯定）、試験データ書込部１２２は、更新書き込み、書き込み先のデータが重複排除状態であり且つ既存のデータと一致するパターン（ＩＩ−１−（１）のパターン）のテストを実施する（ステップＳ１０３）。
【００８４】
使用量取得部１２３は、初期状態の物理容量及び書き込み後の物理容量を取得する。そして、検証部１２４は、初期状態の物理容量及び書き込み後の物理容量を使用量取得部１２３から取得する。次に、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から変化しないか否かを判定する（ステップＳ１０４）。物理容量が変化した場合（ステップＳ１０４：否定）、検証部１２４は、ステップＳ１０７に進む。
【００８５】
一方、物理容量が無変化の場合（ステップＳ１０４：肯定）、試験データ書込部１２２は、更新書き込み、書き込み先のデータが重複排除状態でなく且つ既存のデータと一致しないパターン（ＩＩ−２−（２）のパターン）のテストを実施する（ステップＳ１０５）。
【００８６】
使用量取得部１２３は、初期状態の物理容量及び書き込み後の物理容量を取得する。そして、検証部１２４は、初期状態の物理容量及び書き込み後の物理容量を使用量取得部１２３から取得する。次に、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から変化しないか否かを判定する（ステップＳ１０６）。物理容量が変化した場合（ステップＳ１０６：否定）、検証部１２４は、ステップＳ１０７に進む。
【００８７】
これに対して、物理容量が変化しない場合（ステップＳ１０６：肯定）、検証部１２４は、重複排除機能について物理容量が変化しない場合の動作が正常であると判定する。その後、判定処理は、ステップＳ１０８に進む。
【００８８】
物理容量が変化した場合（ステップＳ１０２：否定、又は、ステップＳ１０４：否定、又は、ステップＳ１０６：否定）、検証部１２４は、重複排除機能について物理容量が変化しない場合の動作の異常を検出する（ステップＳ１０７）。その後、判定処理は、ステップＳ１０８へ進む。
【００８９】
試験データ書込部１２２は、論理ボリューム２５１及び２５２に書き込んだ書き込みデータを削除する（ステップＳ１０８）。
【００９０】
次に、図１３を参照して、物理容量が増加するパターンの判定処理の流れについて説明する。図１３は、物理容量が増加するパターンの判定処理のフローチャートである。図１３のフローチャートで表した処理は、図１１におけるステップＳ５で実施される処理の一例にあたる。
【００９１】
試験データ書込部１２２は、新規書込み且つ既存のデータと一致しないパターン（Ｉ−２のパターン）のテストを実施する（ステップＳ２０１）。
【００９２】
使用量取得部１２３は、初期状態の物理容量及び書き込み後の物理容量を取得する。そして、検証部１２４は、初期状態の物理容量及び書き込み後の物理容量を使用量取得部１２３から取得する。次に、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から増加したか否かを判定する（ステップＳ２０２）。物理容量が変化しない又は減少した場合（ステップＳ２０２：否定）、検証部１２４は、ステップＳ２０５に進む。
【００９３】
一方、物理容量が増加した場合（ステップＳ２０２：肯定）、試験データ書込部１２２は、更新書き込み、書き込み先のデータが重複排除状態、且つ、既存のデータと一致しないパターン（ＩＩ−１−（２）のパターン）のテストを実施する（ステップＳ２０３）。
【００９４】
使用量取得部１２３は、初期状態の物理容量及び書き込み後の物理容量を取得する。そして、検証部１２４は、初期状態の物理容量及び書き込み後の物理容量を使用量取得部１２３から取得する。次に、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から増加するか否かを判定する（ステップＳ２０４）。物理容量が変化しない又は減少した場合（ステップＳ２０４：否定）、検証部１２４は、ステップＳ２０５に進む。
【００９５】
これに対して、物理容量が増加した場合（ステップＳ２０４：肯定）、検証部１２４は、重複排除機能について物理容量が増加する場合の動作が正常であると判定する。その後、判定処理は、ステップＳ２０６に進む。
【００９６】
物理容量が変化しない又は減少した場合（ステップＳ２０２：否定、又は、ステップＳ２０４：否定）、検証部１２４は、重複排除機能について物理容量が増加する場合の動作の異常を検出する（ステップＳ２０５）。その後、判定処理は、ステップＳ２０６へ進む。
【００９７】
試験データ書込部１２２は、論理ボリューム２５１及び２５２に書き込んだ書き込みデータを削除する（ステップＳ２０６）。
【００９８】
次に、図１４を参照して、物理容量が減少するパターンの判定処理の流れについて説明する。図１４は、物理容量が減少するパターンの判定処理のフローチャートである。図１４のフローチャートで表した処理は、図１１におけるステップＳ６で実施される処理の一例にあたる。
【００９９】
試験データ書込部１２２は、更新書き込み、書き込み先のデータが重複排除状態でなく、且つ、既存のデータと一致するパターン（ＩＩ−２−（１）のパターン）のテストを実施する（ステップＳ３０１）。
【０１００】
使用量取得部１２３は、初期状態の物理容量及び書き込み後の物理容量を取得する。そして、検証部１２４は、初期状態の物理容量及び書き込み後の物理容量を使用量取得部１２３から取得する。次に、検証部１２４は、書き込み後の物理容量が初期状態の物理容量から増加するか否かを判定する（ステップＳ３０２）。
【０１０１】
物理容量が変化しない又は減少した場合（ステップＳ３０２：否定）、重複排除機能について物理容量が増加する場合の動作の異常を検出する（ステップＳ３０３）。その後、判定処理は、ステップＳ３０４へ進む。
【０１０２】
これに対して、物理容量が増加した場合（ステップＳ３０２：肯定）、検証部１２４は、重複排除機能について物理容量が増加する場合の動作が正常であると判定する。その後、判定処理は、ステップＳ３０４に進む。
【０１０３】
試験データ書込部１２２は、論理ボリューム２５１及び２５２に書き込んだ書き込みデータを削除する（ステップＳ３０４）。
【０１０４】
以上に説明したように、本実施例に係る動作試験装置は、予め決められたパターンにしたがって試験データを書き込み、書き込み前後の物理容量の変化により重複排除機能の動作が正常であるか否かを判定する。これにより、ストレージ装置に変更を加えることなくストレージ装置の重複排除機能の動作の検証が容易に行える。すなわち、実運用素想定した試験を実施する場合にも、人的ミスのリスクを減少させることができ、重複排除機能の動作試験の精度を向上させることができる。
【符号の説明】
【０１０５】
１  動作試験装置
２  ストレージ装置
３  管理端末装置
１１  ＣＰＵ
１２  メモリ
１３  通信インタフェース
１４  ＨＤＤ
２１  データ通信インタフェース
２２  管理インタフェース
２３  コントローラ
２４  メモリ
２５  ディスクアレイ
１０１  管理制御部
１０２  試験実行部
１１１  操作処理部
１１２  通知部
１１３  テストスケジューラ
１１４  試験構成構築部
１２１  試験データ生成部
１２２  試験データ書込部
１２３  使用量取得部
１２４  検証部
２４１  ハッシュキャッシュ
２４２  ブロックマップ
２５１，２５２  論理ボリューム
【図１】
2020030707.tif 000003
【図２】
2020030707.tif 000004
【図３】
2020030707.tif 000005
【図４】
2020030707.tif 000006
【図５】
2020030707.tif 000007
【図６】
2020030707.tif 000008
【図７】
2020030707.tif 000009
【図８】
2020030707.tif 000010
【図９】
2020030707.tif 000011
【図１０】
2020030707.tif 000012
【図１１】
2020030707.tif 000013
【図１２】
2020030707.tif 000014
【図１３】
2020030707.tif 000015
【図１４】
2020030707.tif 000016