JP2017167706A - 情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法 - Google Patents

情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法 Download PDF

Info

Publication number
JP2017167706A
JP2017167706A JP2016050639A JP2016050639A JP2017167706A JP 2017167706 A JP2017167706 A JP 2017167706A JP 2016050639 A JP2016050639 A JP 2016050639A JP 2016050639 A JP2016050639 A JP 2016050639A JP 2017167706 A JP2017167706 A JP 2017167706A
Authority
JP
Japan
Prior art keywords
migration
cache
data
target data
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016050639A
Other languages
English (en)
Inventor
明雅 吉田
Akimasa Yoshida
明雅 吉田
圭也 石川
Keiya Ishikawa
圭也 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016050639A priority Critical patent/JP2017167706A/ja
Priority to US15/429,981 priority patent/US20170269868A1/en
Publication of JP2017167706A publication Critical patent/JP2017167706A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】データ再配置の時間を短縮する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法を提供する。【解決手段】キャッシュ104は、読込要求に基づき移行対象データを含むデータを有するストレージ装置21から読み込まれた読込データを所定条件が満たされるまで保持する。記憶部106は、移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する。読込部151は、移行用情報を基に最終のアクセス日時の古い順に移行対象データをストレージ装置21から読み込み、キャッシュ104の既に移行対象データが格納されている領域以外の領域に格納する。書込部153は、キャッシュ104に格納された移行対象データをストレージ装置24へ書き込む。【選択図】図3

Description

本発明は、情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法に関する。
近年、企業における業務の大半がシステム化されるようになり、蓄積されるデータ量は加速度的に増加している。さらに、コンプライアンスへの対応によりデータの長期保存が求められている。
これら急増するデータ量に対応するために、物理的なストレージ装置を単に複数台接続した場合、運用の負荷が増大し、コストの増加及びデータ保存の信頼性への悪影響が発生する恐れがある。そこで、運用の負荷を低減するために、複数の物理的なストレージ装置を仮想的に統合して管理する仮想ストレージプールを作成し、複数の物理的なストレージ装置をまとめて利用するストレージ仮想化技術が提案されている。以下では、仮想ストレージプールに含まれる各物理的なストレージ装置を、単に「ストレージ装置」と呼ぶ。また、仮想ボリュームの作成などの仮想ストレージプールの管理を行う装置を、「仮想ストレージ装置」という。
このようなストレージ仮想化技術では、業務状況に応じて仮想ストレージプールから容量を切り出したり、戻したりすることができる。また、容量が足りなくなった場合、仮想ストレージプールに新たにストレージ装置を追加することで、全体の容量を増やすことができる。
ただし、ストレージ仮想化環境において、ストレージ装置を追加した場合、装置間のデータの偏りにより、物理ディスクへのアクセス負荷が不均一になる場合がある。そこで、アクセス負荷を均一にするために、既存のストレージ装置と追加したストレージ装置との間でデータの再配置が行われる。
このようなデータの再配置の技術として、移行対象データに対して読込要求が発行された場合、移行対象データを読み出して上位装置へ送信するとともに、読み出した移行対象データを移行先の記憶領域に書き込むことでデータ再配置を行う従来技術ある。また、長時間アクセスがないデータを圧縮して再配置する従来技術がある。さらに、IO(Input Output)負荷が低いときにデータの再配置の処理を増やす従来技術がある。
特表2012−531653号公報 特開2010−152516号公報 特開2007−94994号公報
しかしながら、データの再配置が行われた場合、ストレージ装置と仮想ストレージ装置との間のネットワーク負荷が大きくなり、物理ディスクへのIO性能が劣化する問題がある。
また、読込要求を用いてデータ再配置を行う従来技術を用いても、読込要求が発行されない限りデータの移行が行われないため、ストレージ装置追加時のようにデータ移行量が多い場合、データ再配置に時間がかかるおそれがある。また、長時間アクセスがないデータを再配置する従来技術を用いても、アクセスが無いデータが発生するまでに時間がかかりデータ再配置の時間を短縮することは困難である。さらに、IO負荷が低いときにデータの再配置の処理を増やす従来技術を用いても、IO負荷が低くなってから全てのデータを読込ため、データ再配置に時間がかかるおそれがある。
開示の技術は、上記に鑑みてなされたものであって、データ再配置の時間を短縮する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法を提供することを目的とする。
本願の開示する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法は、一つの態様において、以下の各部を備える。キャッシュは、読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持する。記憶部は、前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する。読込部は、前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する。書込部は、前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む。
本願の開示する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法の一つの態様によれば、データ再配置の時間を短縮することができるという効果を奏する。
図1は、ストレージ装置を追加する前のストレージシステムの一例の図である。 図2は、ストレージ装置を追加した状態のストレージシステムの一例の図である。 図3は、仮想ストレージ装置のブロック図である。 図4は、移行対象データテーブルの一例の図である。 図5は、実施例に係る仮想ストレージ装置による移行対象データテーブルの作成処理のフローチャートである。 図6は、実施例に係るストレージシステムにおける読込要求発生時の処理シーケンス図である。 図7は、実施例に係るストレージシステムにおけるデータの再配置の処理シーケンス図である。 図8は、仮想ストレージ装置のハードウェア構成図である。
以下に、本願の開示する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法が限定されるものではない。
図1は、ストレージ装置を追加する前のストレージシステムの一例の図である。また、図2は、ストレージ装置を追加した状態のストレージシステムの一例の図である。
本実施例に係るストレージシステム100は、仮想ストレージ装置1、ストレージ装置21〜23及び業務サーバ3を有する。
業務サーバ3は、仮想ストレージ装置1により構築された仮想ディスク(VDISK:Virtual Disk)10に格納されたデータを用いて演算処理を行い所定の業務を実行するサーバである。業務サーバ3は、仮想ストレージ装置1に接続される。この業務サーバ3が、「演算処理装置」の一例にあたる。
ストレージ装置21〜23は、それぞれ複数のハードディスク201を有する。図1では、一例としてストレージ装置21〜23という3台のストレージ装置がある場合を図示したが、ストレージ装置21〜23の数には特に制限はない。ストレージ装置21〜23は、仮想ストレージプール200に含まれる。また、ストレージ装置21〜23は、それぞれ、複数のディスク201を有する。さらに、各ストレージ装置21〜23が有する複数のディスク201にまたがり1つ又は複数のストライピングセット202が構築される。ストレージ装置21〜23は、仮想ストレージ装置1に接続される。
仮想ストレージ装置1は、ストレージ装置21〜23をまとめて1つの仮想ストレージプール200を構築する。さらに、仮想ストレージ装置1は、仮想ストレージプール200に含まれる各ストレージ装置21〜23が有するディスク201を用いてストライピングセット202を形成する。そして、仮想ストレージ装置1は、形成したストライピングセット202を1つの仮想ディスク10として用いる。仮想ストレージ装置1は、仮想ディスク10を業務サーバ3に提供し、業務サーバ3からのデータの読み込みや書き込みの指示を受けて、仮想ディスク10に対してデータの読み込みや書き込みを行う。
次に、図2を参照して、図1の状態のストレージシステム100に対してストレージ装置24及び25を追加した場合について説明する。
仮想ストレージ装置1は、追加されたストレージ装置24及び25を仮想ストレージプール200へ組み込む。さらに、仮想ストレージ装置1は、図1に示すストライピングセット202にストレージ装置24及び25が有するディスク201を追加して、新たにストレージ装置21〜25が有するディスク201でストライピンセット202を構築する。そして、仮想ストレージ装置1は、新たに構築したストライピンセット202を仮想ディスク10として業務サーバ3に提供する。すなわち、ストレージ装置24及び25が追加されることで、仮想ストレージ装置1が業務サーバ3に提供する仮想ディスク10の容量が増加する。ここで、本実施例では、2台のストレージ装置24及び25を仮想ストレージプール200に追加したが、追加するストレージ装置の台数に特に制限はない。
このストレージ装置24及び25を追加した場合に、仮想ストレージ装置1は、ストレージ装置21〜23のディスク201に格納されたデータの一部をストレージ装置24及び25へ移行し、ストライピングセット202を形成する各ディスク201でのデータの分布を均一にする。この仮想ストレージ装置1が、「ストレージ管理装置」の一例にあたる。
以下では、仮想ストレージ装置1によるデータの読み込み及び書き込み、並びに、データの移行について詳細に説明する。以下の説明では、データの移行元であるストレージ装置21〜23をまとめて「ストレージ装置21」という。また、データの移行先であるストレージ装置24及び25をまとめて「ストレージ装置24」という。
図3は、仮想ストレージ装置のブロック図である。図3に示すように、仮想ストレージ装置1は、ディスク管理部101、読書制御部102、キャッシュ管理部103、キャッシュ104、移行処理部105、記憶部106及び負荷判定部107を有する。
キャッシュ104は、読書制御部102によりストレージ装置21から読み込まれたデータを一時的に格納する記憶装置である。さらに、キャッシュ104は、格納する各データのアクセス日時をタイムスタンプとして保持する。
記憶部106は、移行対象データテーブル160を有する。図4は、移行対象データテーブルの一例の図である。移行対象データテーブル160は、ストレージ装置24を追加した場合に、追加前から存在するストレージ装置21から追加されたストレージ装置24へ移行されるデータを表すテーブルである。移行対象データテーブル160には、移行対象データが格納されたストレージ装置の識別情報、ディスクの識別情報及びオフセットが登録される。移行対象データテーブル160に登録された情報を用いることで、移行対象データを特定することができる。
また、移行対象データテーブル160には、各移行対象データの最新のアクセス日時を示すタイムスタンプ及び各移行対象データがキャッシュ104に存在するか否かを示すキャッシュ保持フラグが登録される。キャッシュ保持フラグは、図4では、フラグが「1」の場合にその移行対象データがキャッシュ104に存在することを示し、フラグが「0」の場合にその移行対象データがキャッシュ104に存在しないことを示す。この移行対象データテーブル160に登録された情報が、「移行用情報」の一例にあたる。
ディスク管理部101は、仮想ストレージプール200の作成、並びに、ストライピングセット202及び仮想ディスク10の構築などといったストレージ装置21及び24が有するディスク201の構成を管理する。ディスク管理部101は、仮想ディスク10の構成情報を読書制御部102へ出力する。また、ストレージ装置24が追加された場合、ディスク管理部101は、追加されたストレージ装置24が有するディスク201を用いて新たにストレージ装置21及び24が有するディスク201でストライピングセット202を作成し、仮想ディスク10を形成する。また、ディスク管理部101は、形成した仮想ディスク10の構成情報を読書制御部102へ出力する。
また、ストライピングセット202に新たにストレージ装置24が有するディスク201を追加した場合、ディスク管理部101は、追加前に存在したストレージ装置21から追加したストレージ装置24へ移行するデータを特定する。そして、ディスク管理部101は、特定したデータの情報、すなわちそのデータが格納されるストレージ装置の識別情報、ディスクの識別情報及びオフセットを取得する。その後、ディスク管理部101は、取得した情報を記憶部106が有する移行対象データテーブル160へ登録する。以下では、データの移行元となるストレージ装置21を「移行元ストレージ装置」といい、データの移行先となるストレージ装置24を「移行先ストレージ装置」という場合がある。
読書制御部102は、仮想ディスク10の構成情報をディスク管理部101から取得する。また、読書制御部102は、業務サーバ3からの指示を受けて、仮想ディスク10に対するデータの読み込み及び書き込みを行う。仮想ディスク10に対するデータの読み込み及び書き込みは、実際には、ストレージ装置21及び22への読み込み及び書き込みである。
具体的には、読書制御部102は、業務サーバ3からデータの読込要求を受けると、読込要求を受けたデータの取得をキャッシュ管理部103に指示する。キャッシュ104に読込要求を受けたデータがあれば、読書制御部102は、読込要求を受けたデータをキャッシュ管理部103から取得する。
これに対して、キャッシュ104に読込要求を受けたデータが無ければ、読書制御部102は、エラー応答をキャッシュ管理部103から受ける。エラー応答を受けた場合、読書制御部102は、読込要求を受けたデータを仮想ディスク10から取得する。より具体的には、読書制御部102は、読込要求を受けたデータの取得要求を仮想ディスク10を形成するストレージ装置21及び24の内のそのデータを格納するストレージ装置へ送信する。その後、読書制御部102は、読込要求を受けたデータを、取得要求を行ったストレージ装置から取得する。次に、読書制御部102は、取得したデータのキャッシュ104への格納をキャッシュ管理部103へ指示する。さらに、読書制御部102は、読込要求への応答として取得したデータを業務サーバ3へ送信する。
また、読書制御部102は、業務サーバ3からデータの書込要求を受けると、書込要求を受けたデータを仮想ディスク10へ格納する。具体的には、読書制御部102は、ストライピングセット202の状態から仮想ディスク10を形成するストレージ装置21及び24の内の何れに書込要求を受けたデータを格納するか決定する。そして、読書制御部102は、格納を決定したストレージ装置のディスク201へデータを格納する。
キャッシュ管理部103は、仮想ストレージ装置1が業務サーバ3から読込要求を受けた場合、読込要求を受けたデータの取得要求の入力を読書制御部102から受ける。そして、キャッシュ管理部103は、キャッシュ104を検索し、読込要求を受けたデータがキャッシュ104に格納されているか否か判定する。
読込要求を受けたデータがキャッシュ104に格納されている場合、キャッシュ管理部103は、読込要求を受けたデータをキャッシュ104から取得する。その後、キャッシュ管理部103は、取得したデータを読書制御部102へ出力する。さらに、キャッシュ管理部103は、移行対象データテーブル160から読込要求を受けたデータが移行対象データか否かを判定する。読込要求を受けたデータが移行対象データの場合、キャッシュ管理部103は、移行対象データテーブル160上の読込要求を受けたデータのタイムスタンプをその時点の日時に更新する。また、キャッシュ管理部103は、読込要求を受けたデータに対するキャッシュ104が保持するタイムスタンプをその時点の日時に更新する。
これに対して、読込要求を受けたデータがキャッシュ104に格納されていない場合、キャッシュ管理部103は、エラー応答を読書制御部102へ出力する。その後、キャッシュ管理部103は、読込要求を受けたデータを読書制御部102からキャッシュ104への格納の指示とともに取得する。
次に、キャッシュ管理部103は、移行対象データテーブル160を用いて、読込要求を受けたデータが移行対象データか否かを判定する。以下では、移行対象データでないデータを「非移行対象データ」という場合がある。読込要求を受けたデータが非移行対象データの場合、キャッシュ管理部103は、キャッシュ104に空きが有るか否かを判定する。キャッシュ104に空きが有れば、キャッシュ管理部103は、読込要求を受けたデータをキャッシュ104に書き込む。
これに対して、キャッシュ104に空きが無ければ、キャッシュ管理部103は、キャッシュ104に格納された非移行対象データの中でタイムスタンプが最も古いものを削除する。これにより、キャッシュ管理部103は、キャッシュ104に空領域を生成する。その後、キャッシュ管理部103は、非移行対象データである読込要求を受けたデータをキャッシュ104に書き込む。この時、キャッシュ管理部103は、読込要求を受けたデータを書き込んだ日時をタイムスタンプとしてキャッシュ104に登録する。
一方、キャッシュ管理部103は、移行対象データのキャッシュ104へ格納可能な上限を予め有する。ここで、移行対象データのキャッシュ104へ格納可能な上限は、キャッシュ104の容量、求められるキャッシュ104のヒット率及びデータの移行に求められる時間などから決定されることが好ましい。例えば、上限を高くすれば、データの移行はより高速に行えるが、非移行対象データの格納量が減るため、キャッシュ104のヒット率は下がるおそれがある。また、キャッシュ104が大きければ、キャッシュ104のヒット率を低下させずに上限を高くすることができる。そして、移行対象データがキャッシュ104にコピーされてから実際に移行されるまでに時間を要する可能性がある。そこで、キャッシュ104に格納可能な移行対象データの上限は、通常のキャッシュ104の利用に影響を与え過ぎないように設定されることが好ましい。例えば、キャッシュ104に格納可能な移行対象データの上限は、キャッシュ104の容量の30%などと決定される。
そして、読込要求を受けたデータが移行対象データの場合、キャッシュ管理部103は、キャッシュ104に格納された移行対象データが上限に達しているか否かを判定する。上限に達していない場合、キャッシュ管理部103は、キャッシュ104に空きが有るか否かを判定する。キャッシュ104に空きが有る場合、キャッシュ管理部103は、移行対象データである読込要求を受けたデータをキャッシュ104に書き込む。さらに、キャッシュ管理部103は、移行対象データテーブル160上の読込要求を受けたデータのタイムスタンプとしてその時点の日時を登録しキャッシュ保持フラグを1に設定する。また、キャッシュ管理部103は、読込要求を受けたデータを書き込んだ日時をタイムスタンプとしてキャッシュ104に登録する。
これに対して、キャッシュ104に空きが無い場合、キャッシュ管理部103は、キャッシュ104に格納された非移行対象データの中でタイムスタンプが最も古いものを削除する。これにより、キャッシュ管理部103は、キャッシュ104に空領域を生成する。その後、キャッシュ管理部103は、移行対象データである読込要求を受けたデータをキャッシュ104に書き込む。さらに、キャッシュ管理部103は、移行対象データテーブル160上の読込要求を受けたデータのタイムスタンプとしてその時点の日時を登録しキャッシュ保持フラグを1に設定する。また、キャッシュ管理部103は、読込要求を受けたデータを書き込んだ日時をタイムスタンプとしてキャッシュ104に登録する。
一方、キャッシュ104に格納された移行対象データが上限に達している場合、キャッシュ管理部103は、移行対象データテーブル160の中からキャッシュ保持フラグが立っているデータの内のタイムスタンプが最も古いデータを選択する。そして、キャッシュ管理部103は、特定したデータの移行対象データテーブル160におけるキャッシュ保持フラグを「0」に設定、すなわちキャッシュ保持フラグを削除する。次に、キャッシュ管理部103は、移行対象データである特定したデータをキャッシュ104から削除する。その後、キャッシュ管理部103は、移行対象データである読込要求を受けたデータをキャッシュ104に書き込む。さらに、キャッシュ管理部103は、移行対象データテーブル160上の読込要求を受けたデータのタイムスタンプとしてその時点の日時を登録しキャッシュ保持フラグを1に設定する。また、キャッシュ管理部103は、読込要求を受けたデータを書き込んだ日時をタイムスタンプとしてキャッシュ104に登録する。
また、キャッシュ管理部103は、データの再配置時に最も古い非移行対象データのキャッシュ104からの削除の指示を移行処理部105の判定部152から受ける。具体的には、キャッシュ管理部103は、後述するようにキャッシュ104に格納されていない移行対象データが有り、キャッシュ104に空きが無く且つ非移行対象データが格納されている場合にこの指示を受ける。そして、キャッシュ管理部103は、キャッシュ104に登録されているタイムスタンプから最も古い非移行対象データを特定し、特定した非移行対象データを削除する。その後、キャッシュ管理部103は、削除完了の応答を移行処理部105の判定部152に出力する。このキャッシュ管理部103が、「管理部」の一例にあたる。
負荷判定部107は、移行処理の開始を判定するための処理負荷の閾値を予め有する。この処理負荷の閾値が、「所定値」の一例にあたる。負荷判定部107は、読書制御部102による読み込み及び書き込み処理を監視し、仮想ストレージ装置1の処理負荷を計測する。ここで、仮想ストレージ装置1の処理負荷は、ストレージ装置21〜23の処理負荷により計測できる。そして、負荷判定部107は、計測した仮想ストレージ装置1の処理負荷と閾値とを比較する。計測した処理負荷が閾値未満となった場合、負荷判定部107は、仮想ストレージ装置1が低負荷であると判定し、移行処理の開始を移行処理部105に指示する。
例えば、負荷判定部107は、処理負荷の閾値を10%且つ10分間と記憶する。そして、負荷判定部107は、ストレージ装置21〜23の帯域使用率が10%を下回る状態が10分間続いた場合、仮想ストレージ装置1が低負荷であると判定する。さらに、一定期間経過しても処理負荷が閾値を下回らない場合、負荷判定部107は、処理負荷を大きくする構成にしてもよい。例えば、閾値が10%の状態で1日経過しても処理負荷が閾値を下回らない場合、負荷判定部107は、処理負荷を10%上げて20%にするなどしてもよい。
その後、負荷判定部107は、読書制御部102による読み込み及び書込みの処理の監視を続け、仮想ストレージ装置1の処理負荷が閾値以上となると、仮想ストレージ装置1の処理負荷の上昇を移行処理部105に通知する。
移行処理部105は、仮想ストレージ装置1が低負荷の場合、移行処理の開始の指示を負荷判定部107から受ける。その後、移行処理部105は、移行元ストレージ装置であるストレージ装置21から移行先ストレージ装置であるストレージ装置24へデータを移行してデータの再配置を行う。以下に、移行処理部105について詳細に説明する。移行処理部105は、読込部151、判定部152及び書込部153を有する。
移行処理の開始の指示を受けると、判定部152は、移行対象データテーブル160を参照して、移行対象データが存在するか否かを判定する。移行対象データが存在しない場合、判定部152は、データの再配置の処理を終了する。
これに対して、移行対象データが存在する場合、判定部152は、移行対象データテーブル160の中にキャッシュ保持フラグが立っていない移行対象データがあるか否かを判定する。キャッシュ保持フラグが立っていない移行対象データが無い場合、判定部152、データの書込みを書込部153に指示する。
これに対して、キャッシュ保持フラグが立っていない移行対象データがある場合、判定部152は、移行対象データテーブル160からキャッシュ保持フラグが立っておらずタイムスタンプが最も古いデータを選択する。そして、判定部152は、選択したデータの読み込みを読込部151に指示する。その後、判定部152は、読み込み完了の応答を読込部151から受ける。次に、判定部152は、キャッシュ104に空きが有るか否かを判定する。キャッシュ104に空きが有る場合、判定部152は、キャッシュ104への読み込んだデータの書き込みを読込部151に指示する。
これに対して、キャッシュ104に空きが無い場合、判定部152は、非移行対象データの削除をキャッシュ管理部103に指示する。その後、判定部152は、削除完了の応答をキャッシュ管理部103から受ける。次に、判定部152は、読み込んだデータのキャッシュ104への書き込みを読込部151に指示する。その後、判定部152は、キャッシュ104への書き込み完了の応答を読込部151から受ける。
キャッシュ104へタイムスタンプが最も古い移行対象データの書込みが完了後、判定部152は、キャッシュ104に空きが有るかを再度判定する。キャッシュ104に空きがない場合、判定部152は、キャッシュ104に非移行対象データが有るか否かを判定する。キャッシュ104に非移行対象データが無い場合、すなわち、キャッシュ104が移行対象データで満たされている場合、判定部152は、データの書込みを書込部153に指示する。
これに対して、キャッシュ104に空きが有る又は非移行対象データが有る場合、判定部152は、キャッシュ104に格納されていない移行対象データの有無の判定及び最古のタイムスタンプの移行対象データのキャッシュ104への書き込みを繰り返す。すなわち、キャッシュ104は、キャッシュ104が移行対象データで満たされるまで、タイムスタンプが古い順に移行対象データをストレージ装置21からキャッシュ104へ移動させる。その後、キャッシュ104が移行対象データで満たされると、判定部152は、データの書込みを書込部153に指示する。
その後、判定部152は、書き込み完了の応答を書込部153から受ける。そして、判定部152は、キャッシュ104に格納されていない移行対象データの有無の判定及び最古のタイムスタンプの移行対象データのキャッシュ104への書き込みを移行対象データがなくなるまで繰り返す。ただし、負荷判定部107から負荷上昇の通知を受けた場合、判定部152は、データの再配置の処理を終了する。
読込部151は、移行対象データテーブル160においてキャッシュ保持フラグが立っておらずタイムスタンプが最も古い移行対象データの読み込みの指示を判定部152から受ける。そして、読込部151は、指示されたデータを移行元ストレージ装置であるストレージ装置21から読み込む。そして、読込部151は、読み込み完了の応答を判定部152へ出力する。
その後、読込部151は、読み込んだデータの書き込み指示を判定部152から受ける。そして、読込部151は、読み込んだデータをキャッシュ104へ書き込む。さらに、読込部151は、移行対象データテーブル160上の書き込んだデータのタイムスタンプとしてその時点の日時を登録しキャッシュ保持フラグを1に設定する。また、キャッシュ管理部103は、データを書き込んだ日時をタイムスタンプとしてキャッシュ104に登録する。その後、読込部151は、書き込みの完了の応答を判定部152へ出力する。
書込部153は、キャッシュ104が移行対象データでいっぱいになった場合又はキャッシュ104に書き込まれていない移行対象データがなくなった場合、書き込みの指示を判定部152から受ける。そして、書込部153は、キャッシュ104上の全ての移行対象データを移行先ストレージ装置であるストレージ装置24へ書き込む。また、書込部153は、ストレージ装置24へ書き込んだデータをストレージ装置21から削除する。さらに、書込部153は、ストレージ措置24へ書き込んだデータの情報を移行対象データテーブル160から削除する。その後、書込部152は、書き込み完了の応答を判定部152へ出力する。
次に、図5を参照して仮想ストレージ装置1による移行対象データテーブル160の作成処理の流れについて説明する。図5は、実施例に係る仮想ストレージ装置による移行対象データテーブルの作成処理のフローチャートである。
ストレージ装置24がストレージシステム100に追加される。仮想ストレージ装置1のディスク管理部101は、追加されたストレージ装置24を仮想ストレージプール200へ追加する(ステップS11)。
次に、ディスク管理部101は、ストレージ装置21のディスク201で構築されていたストライピングセット202に対応するストレージ装置21及び24のディスク201を用いたストライピングセット202を再設定する(ステップS12)。
次に、ディスク管理部101は、ストレージ装置24の追加前のストライピングセット202に格納されていたデータの中から、再設定したストライピングセット202を構成するストレージ装置24へ移行する移行対象データを決定する(ステップS13)。
次に、ディスク管理部101は、ストレージ識別情報、ディスク識別情報、オフセット、タイムスタンプ、フラグなどの項目を有する移行対象データテーブル160を作成する(ステップS14)。この時点では、移行対象データテーブル160には、情報の登録は行われていない。
次に、ディスク管理部101は、移行対象データテーブル160に、決定した各移行対象データに対応するレコードを生成し、ストレージ識別情報、ディスク識別情報、オフセット、タイムスタンプ、フラグなどの情報を登録する。そして、ディスク管理部101は、移行対象データテーブル160を記憶部106に記憶させる(ステップS15)。
その後、キャッシュ管理部103は、移行対象データテーブル160から移行対象データのストレージ識別情報、ディスク識別情報、オフセットなどの情報を取得する。そして、キャッシュ管理部103は、取得した情報を用いて、キャッシュ104を検索し、一致する移行対象データを特定し、特定した移行対象データのキャッシュ保持フラグを「1」に設定する(ステップS16)。
次に、図6を参照してストレージシステム100おける読込要求発生時の処理の流れについて説明する。図6は、実施例に係るストレージシステムにおける読込要求発生時の処理のシーケンス図である。
業務サーバ3は、データの読込要求を仮想ストレージ装置1の読書制御部102へ送信する(ステップS101)。
読書制御部102は、データの読込要求を業務サーバ3から受信する。そして、読書制御部102は、読込要求を受けたデータのキャッシュ104からの読み込みをキャッシュ管理部103へ指示する。キャッシュ管理部103は、読込要求を受けたデータのキャッシュ104からの読み込みの指示を受けて、読込要求を受けたデータがキャッシュ104に有るか否かを判定する(ステップS102)。
読込要求を受けたデータがキャッシュ104に無い場合(ステップS102:否定)、キャッシュ管理部103は、エラー応答を読書制御部102へ出力する。読書制御部102は、エラー応答を受けて、ストレージ装置21へ読込要求を送信する(ステップS103)。ここでは、読込要求を受けたデータが、ストレージ装置21に格納されている場合を例に説明する。ただし、読込要求を受けたデータが、ストレージ装置24に有る場合もデータを読み込むストレージ装置が変わるだけで、ストレージシステム100は、図5に示すフローと同様の処理を行う。
ストレージ装置21は、読込要求を読書制御部102から受信する。そして、ストレージ装置21は、読込要求で指定されたデータをディスク201から読み込む(ステップS104)。その後、ストレージ装置21は、読み込んだデータを読書制御部102へ送信する。
読書制御部102は、読込要求を受けたデータをストレージ装置21から受信する。次に、読書制御部102は、読込要求を受けたデータのキャッシュへの書き込みをキャッシュ管理部103へ指示する。キャッシュ管理部103は、読込要求を受けたデータが移行対象データか否かを、移行対象データテーブル160を用いて判定する(ステップS105)。読込要求を受けたデータが移行対象データでない場合(ステップS105:否定)、キャッシュ管理部103は、キャッシュ104に空きが有るか否かを判定する(ステップS106)。
キャッシュ104に空きが有る場合(ステップS106:肯定)、キャッシュ管理部103は、ステップS108へ進む。これに対して、キャッシュ104に空きが無い場合(ステップS106:否定)、キャッシュ管理部103は、キャッシュ104に登録されているタイムスタンプから最も古い非移行対象データを特定し、特定した非移行対象データを削除する(ステップS107)。
そして、キャッシュ管理部103は、読込要求を受けたデータをキャッシュ104へ書き込む(ステップS108)。その後、仮想ストレージ装置1は、ステップS118へ進む。
一方、読込要求を受けたデータが移行対象データの場合(ステップS105:肯定)、キャッシュ管理部103は、キャッシュ104に格納された移行対象データが上限に達しているか否かを判定する(ステップS109)。
上限に達している場合(ステップS109:肯定)、キャッシュ管理部103は、移行対象データテーブル160におけるキャッシュ保持フラグが立っている移行対象データの中で最もタイムスタンプが古いものを特定する。そして、キャッシュ管理部103は、移行対象データテーブル160における特定した移行対象データのキャッシュ保持フラグ、すなわち、最古のキャッシュ保持フラグを削除する(ステップS110)。次に、キャッシュ管理部103は、キャッシュ保持フラグを削除した移行対象データをキャッシュ104から削除する(ステップS111)。その後、キャッシュ管理部103は、ステップS114へ進む。
これに対して、上限に達していない場合(ステップS109:否定)、キャッシュ管理部103は、キャッシュ104に空きが有るか否かを判定する(ステップS112)。キャッシュに空きが有る場合(ステップS112:肯定)、キャッシュ管理部103は、ステップS114へ進む。逆に、キャッシュに空きが無い場合(ステップS112:否定)、キャッシュ管理部103は、キャッシュ104に登録されているタイムスタンプから最も古い非移行対象データを特定し、特定した非移行対象データをキャッシュ104から削除する(ステップS113)。
次に、キャッシュ管理部103は、読込要求を受けたデータをキャッシュ104へ書き込む(ステップS114)。
さらに、キャッシュ管理部103は、移行対象データテーブル160において、読込要求を受けたデータにキャッシュ保持フラグを立て、タイムスタンプを更新する(ステップS115)。その後、仮想ストレージ装置1は、ステップS118へ進む。
一方、読込要求を受けたデータがキャッシュ104に有る場合(ステップS102:肯定)、キャッシュ管理部103は、読込要求を受けたデータが移行対象データか否かを判定する(ステップS116)。
読込要求を受けたデータが移行対象データでない場合(ステップS116:否定)、仮想ストレージ装置1は、ステップS118へ進む。これに対して、読込要求を受けたデータが移行対象データの場合(ステップS116:肯定)、キャッシュ管理部103は、読込要求を受けたデータのタイムスタンプを現在の時刻に書き換え、移行対象データテーブル160を更新する(ステップS117)。
読書制御部102は、ストレージ装置21から受信した読込要求を受けたデータを業務サーバ3へ送信し、読込応答を行う(ステップS118)。
業務サーバ3は、読込要求を受けたデータを読書制御部102から取得する(ステップS119)。
次に、図7を参照して、本実施例に係るストレージシステム100におけるデータの再配置の処理の流れについて説明する。図7は、実施例に係るストレージシステムにおけるデータの再配置の処理のシーケンス図である。
負荷判定部107は、読書制御部102による読み込み及び書き込み処理を監視し、ストレージ装置1の処理負荷を計測する。そして、負荷判定部107は、ストレージ装置1の処理負荷が閾値未満となりストレージ装置1が低負荷状態か否かを判定する(ステップS201)。ストレージ装置1が低負荷状態でない場合(ステップS201:否定)、負荷判定部107は、低負荷状態になるまで待機し、データの再配置の実行を停止する。
これに対して、ストレージ装置1が低負荷状態の場合(ステップS201:肯定)、負荷判定部107は、データの再配置の実行をデータ移行処理部105に通知する。データの再配置の実行の通知を受けると、判定部152は、移行対象データテーブル160の中に、キャッシュ保持フラグが立っていない移行対象データが有るか否かを判定する(ステップS202)。キャッシュ保持フラグが立っていない移行対象データが無い場合(ステップS202:否定)、判定部152は、ステップS212へ進む。
これに対して、キャッシュ保持フラグが立っていない移行対象データが有る場合(ステップS202:肯定)、判定部152は、移行対象データテーブル160の中からタイムスタンプが最も古い移行対象データを選択する(ステップS203)。
次に、判定部152は、選択したデータの読み込みを読込部151に指示する。読込部151は、データの読み込みの指示を受けて、移行対象データテーブル160においてタイムスタンプが最も古い移行対象データの読込要求を移行元ストレージ装置であるストレージ装置21へ送信する(ステップS204)。
ストレージ装置21は、データの読込要求を読込部151から受信する。そして、ストレージ装置21は、ディスク201から読込要求で指定されたデータを読み込む(ステップS205)。その後、ストレージ装置21は、読み込んだデータを仮想ストレージ装置1の読込部151へ送信する。
仮想ストレージ装置1の読込部151は、移行対象データテーブル160においてタイムスタンプが最も古い移行対象データをストレージ装置21から受信する。そして、読込部151は、データの読み込み完了の応答を判定部152へ出力する。判定部152は、データの読み込み完了の応答を受けて、キャッシュ104に空きが有るか否かを判定する(ステップS206)。キャッシュ104に空きが有る場合(ステップS206:肯定)、判定部152は、ステップS208へ進む。
これに対して、キャッシュ104に空きが無い場合(ステップS206:否定)、判定部152は、最も古い非移行対象データの削除をキャッシュ管理部103へ指示する。キャッシュ管理部103は、最も古い非移行対象データの削除の指示を受けて、キャッシュ104に登録されたタイムスタンプから最も古い非移行対象データを特定し、特定した非移行対象データを削除する(ステップS207)。その後、キャッシュ管理部103は、データの削除完了の応答を判定部152へ出力する。データの削除完了の応答を受けて、判定部152は、ステップS208へ進む。
次に、判定部152は、データのキャッシュ104への書き込みを読込部151に指示する。データの書込みの指示を受けて、読込部151は、ストレージ装置21から読み込んだデータをキャッシュ104へ書き込む(ステップS208)。
さらに、読込部151は、移行用データテーブル160におけるキャッシュ104に書き込んだデータのキャッシュ保持フラグを立てる(ステップS209)。その後、読込部151は、書き込みの完了の応答を判定部152へ出力する。
判定部152は、書き込み完了の応答を読込部151から受けると、キャッシュ104にさらに空きが有るか否かを判定する(ステップS210)。キャッシュ104に空きが有る場合(ステップS210:肯定)、判定部152は、ステップS202へ戻る。
これに対して、キャッシュ104に空きが無い場合(ステップS210:否定)、判定部152は、キャッシュ104に非移行対象データが有るか否かを判定する(ステップS211)。キャッシュ104に非移行対象データが有る場合(ステップS211:肯定)、判定部152は、ステップS202へ戻る。これに対して、キャッシュ104に非移行対象データが無い場合(ステップS211:否定)、判定部152は、ステップS212へ進む。
判定部152は、データの書き込みを書込部153へ指示する。書込部153は、データの書き込みの指示を受けて、キャッシュ104上の全ての移行対象データの書込要求を移行先ストレージ装置であるストレージ装置24へ送信する(ステップS212)。
ストレージ装置24は、移行対象データの書込み要求を判定部152から受けて、キャッシュ104に格納されていた移行対象データをディスク201に書き込む(ステップS213)。
その後、書込部153は、ストレージ装置24に書き込んだ移行対象データの読み出し元であるデータの削除指示をストレージ装置21へ送信する(ステップS214)。
ストレージ装置21は、移行対象データの削除指示を受けて、指定されたデータをディスク201から削除する(ステップS215)。
次に、書込部153は、ストレージ装置24へ書き込んだデータの情報を移行対象データテーブル160から削除する(ステップS216)。その後、書込部153は、書き込み完了の応答を判定部152へ出力する。
判定部152は、書き込み完了の応答を受けて、移行対象データテーブル160を確認し、全ての移行対象データの移行が完了したか否かを判定する(ステップS217)。移行していない移行対象データが残っている場合(ステップS217:否定)、判定部152は、ステップS201へ戻る。これに対して、全ての移行対象データの移行が完了した場合(ステップS217:肯定)、判定部152は、データの再配置の処理を終了する。
(ハードウェア構成)
図8は、仮想ストレージ装置のハードウェア構成図である。図8に示すように、仮想ストレージ装置1は、CPU(Central Processing Unit)91、キャッシュ92、ハードディスク93及びHBA(Host Bus Adaptor)94〜97を有する。また、ストレージ装置21は、CA(Channel Adaptor)211及び212、CM(Controller Module)213及び214並びにハードディスク201を有する。ストレージ装置22及び23も、ストレージ装置21と同様の構成を有する。CPU91は、バスによりキャッシュ92、ハードディスク93及びHBA94〜97と接続する。
HBA94及び95は、業務サーバ3と接続するためのインタフェースである。ここでは、仮想ストレージ装置1と業務用サーバ3とは、二重化された接続経路を備え、故障体制を有する。CPU91は、HBA94及び95を介して業務サーバ3とデータの送受信を行う。
HBA96及び97は、ストレージ装置21〜23と接続するためのインタフェースである。ここでは、仮想ストレージ装置1とストレージ装置21〜23とは、二重化された接続経路を備え、故障体制を有する。CPU91は、HBA96及び97を介してストレージ装置21〜23とデータの送受信を行う。
キャッシュ92は、図3に例示したキャッシュ104の機能を実現する。また、ハードディスク93は、記憶部106の機能を実現する。さらに、ハードディスク93は、図3に例示した、ディスク管理部101、読書制御部102、キャッシュ管理部103、移行処理部105及び負荷判定部107の機能を実現するためのプログラムを含む各種プログラムを有する。
CPU91は、ハードディスク93及びネットワークインタフェース94を使用して、図3に例示した、ディスク管理部101、読書制御部102、キャッシュ管理部103、移行処理部105及び負荷判定部107の機能を実現する。
具体的には、CPU91は、ハードディスク93に格納されたディスク管理部101、読書制御部102、キャッシュ管理部103、移行処理部105及び負荷判定部107の機能を実現するプログラムを含む各種プログラムを読み出す。そして、CPU91は、読み出した各種プログラムを実行することで、ディスク管理部101、読書制御部102、キャッシュ管理部103、移行処理部105及び負荷判定部107の機能を実現する。
以上に説明したように、本実施例に係る仮想ストレージ装置は、読込処理時にキャッシュ上に格納された移行対象データを移行元ストレージ装置に書き込むことでデータの再配置を行う。さらに、キャッシュ上に無い移行対象データに関しては、仮想ストレージ装置は、アクセス日時の古い順にデータの再配置を行う。これにより、アクセス頻度が高く再度参照されキャッシュ上に格納される可能性が高い移行対象データに関しては、読込要求発生時のキャッシュへの格納を利用して、データの再配置が行われる。また、アクセス頻度が低くキャッシュに格納される可能性が低いデータに関しては、読込要求を待たずにデータの再配置が行われる。したがって、読込処理を効率よく利用しつつ全ての移行対象データの再配置を行うことができ、ネットワーク負荷を抑えつつ、データ再配置の時間を短縮することができる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持するキャッシュと、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する記憶部と、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する読込部と、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む書込部と
を備えたことを特徴とする情報処理装置。
(付記2)前記書込部は、前記移行先ストレージ装置へ書き込んだ前記移行対象データを前記キャッシュから削除し、且つ、前記移行先ストレージ装置に書き込んだ前記移行対象データに関する前記移行用情報を前記記憶部から削除し、前記読込部により前記キャッシュに再度格納された前記移行対象データを移行先ストレージ装置へ書き込むことを繰り返し、
前記読込部は、前記書込部による前記移行先ストレージへの前記移行対象データの書込みが完了すると、前記移行用情報における前記最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から再度読み込み、前記キャッシュへ格納する
ことを特徴とする付記1に記載の情報処理装置。
(付記3)前記読込部は、前記情報処理装置の処理負荷が所定値以下の場合に前記移行対象データの読み込みを行うことを特徴とする付記1又は2に記載の情報処理装置。
(付記4)前記キャッシュに空領域が有るか否かを判定する判定部と、
前記判定部により前記キャッシュに前記空領域が無いと判定された場合であって、前記移行先ストレージ装置への書き込みが完了しておらず且つ前記キャッシュに格納されていない前記移行対象データが前記移行元ストレージ装置に存在する場合、前記キャッシュから前記移行対象データ以外のデータを削除し前記空領域を生成する管理部とをさらに備え、
前記読込部は、前記空領域に前記移行元ストレージ装置から読み込んだ前記移行対象データを格納する
ことを特徴とする付記1〜3のいずれか一つに記載の情報処理装置。
(付記5)前記管理部は、前記キャッシュが記憶する前記移行対象データの上限を有し、最新の読込データが前記移行対象データの場合、前記キャッシュに格納された前記移行対象データが前記上限に達しているか否かを判定し、前記上限に達していない場合、前記最新の読込データを前記キャッシュに書き込み、前記上限に達している場合、前記キャッシュに格納された前記読込データをアクセス日時が古い順に前記キャッシュから削除して、前記最新の読込データを前記キャッシュに書き込むことを特徴とする付記1〜4のいずれか一つに記載の情報処理装置。
(付記6)前記管理部は、前記キャッシュが保持する前記読込データが前記移行対象データの場合、前記キャッシュが保持することを示す保持情報を、前記識別情報に付加して前記記憶部に記憶させ、
前記読込部は、前記記憶部に識別情報が記憶された読出データの中の前記保持情報が付加されたデータ以外のデータを前記最終のアクセス日時の古い順に前記移行元ストレージ装置から読み込むことを特徴とする付記1〜4のいずれか一つに記載の情報処理装置。
(付記7)前記管理部は、前記読出データが移行対象データの場合、前記読出データの識別情報とともに、最後に読み込んだ日時をアクセス情報として前記記憶部に記憶させることを特徴とする付記6に記載の情報処理装置。
(付記8)演算処理装置、移行元ストレージ装置、移行先ストレージ装置及びストレージ管理装置を有するストレージシステムであって、
前記移行元ストレージ装置は、移行対象データを含むデータを有し、
前記ストレージ管理装置は、
前記演算処理装置からの読込要求に基づき前記移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持するキャッシュと、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する記憶部と、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する読込部と、
前記キャッシュに格納された前記移行対象データを前記移行先ストレージ装置へ書き込む書込部と
を備えたことを特徴とするストレージシステム。
(付記9)読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持し、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶部に記憶し、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納し、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む
ことを特徴とする情報処理方法。
(付記10)読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持し、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶部に記憶し、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納し、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
1 仮想ストレージ装置
3 業務サーバ
10 仮想ディスク(VDISK)
21〜25 ストレージ装置
100 ストレージシステム
101 ディスク管理部
102 読書制御部
103 キャッシュ管理部
104 キャッシュ
105 移行処理部
106 記憶部
107 負荷判定部
151 読込部
152 判定部
153 書込部
160 移行対象データテーブル
200 仮想ストレージプール
201 ディスク
202 ストライピングセット

Claims (6)

  1. 読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持するキャッシュと、
    前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する記憶部と、
    前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する読込部と、
    前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む書込部と
    を備えたことを特徴とする情報処理装置。
  2. 前記読込部は、前記情報処理装置の処理負荷が所定値以下の場合に前記移行対象データの読み込みを行うことを特徴とする請求項1に記載の情報処理装置。
  3. 前記キャッシュに空領域が有るか否かを判定する判定部と、
    前記判定部により前記キャッシュに前記空領域が無いと判定された場合であって、前記移行先ストレージ装置への書き込みが完了しておらず且つ前記キャッシュに格納されていない前記移行対象データが前記移行元ストレージ装置に存在する場合、前記キャッシュから前記移行対象データ以外のデータを削除し前記空領域を生成する管理部とをさらに備え、
    前記読込部は、前記空領域に前記移行元ストレージ装置から読み込んだ前記移行対象データを格納する
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 演算処理装置、移行元ストレージ装置、移行先ストレージ装置及びストレージ管理装置を有するストレージシステムであって、
    前記移行元ストレージ装置は、移行対象データを含むデータを有し、
    前記ストレージ管理装置は、
    前記演算処理装置からの読込要求に基づき前記移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持するキャッシュと、
    前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する記憶部と、
    前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する読込部と、
    前記キャッシュに格納された前記移行対象データを前記移行先ストレージ装置へ書き込む書込部と
    を備えたことを特徴とするストレージシステム。
  5. 読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持し、
    前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶部に記憶し、
    前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納し、
    前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む
    ことを特徴とする情報処理方法。
  6. 読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持し、
    前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶部に記憶し、
    前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納し、
    前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む
    処理をコンピュータに実行させることを特徴とする情報処理プログラム。
JP2016050639A 2016-03-15 2016-03-15 情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法 Pending JP2017167706A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016050639A JP2017167706A (ja) 2016-03-15 2016-03-15 情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法
US15/429,981 US20170269868A1 (en) 2016-03-15 2017-02-10 Information processing apparatus, storage system, computer-readable recording medium, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016050639A JP2017167706A (ja) 2016-03-15 2016-03-15 情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2017167706A true JP2017167706A (ja) 2017-09-21

Family

ID=59855656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016050639A Pending JP2017167706A (ja) 2016-03-15 2016-03-15 情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法

Country Status (2)

Country Link
US (1) US20170269868A1 (ja)
JP (1) JP2017167706A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385329B (zh) * 2016-08-31 2019-11-26 华为数字技术(成都)有限公司 资源池的处理方法、装置和设备
CN110569231B (zh) * 2019-09-09 2022-10-14 江苏满运软件科技有限公司 数据迁移方法、装置、设备和介质
US20210165840A1 (en) * 2019-11-29 2021-06-03 Amazon Technologies, Inc. Warm tier storage for search service
CN111708755A (zh) * 2020-05-20 2020-09-25 北京奇艺世纪科技有限公司 数据迁移方法、装置、系统、电子设备以及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555019B2 (en) * 2010-09-08 2013-10-08 International Business Machines Corporation Using a migration cache to cache tracks during migration
WO2013042163A1 (en) * 2011-09-21 2013-03-28 Hitachi, Ltd. Storage system and data migration processing control method
JP2015169956A (ja) * 2014-03-04 2015-09-28 富士通株式会社 ストレージ装置、情報処理装置、キャッシュ制御プログラム及びキャッシュ制御方法

Also Published As

Publication number Publication date
US20170269868A1 (en) 2017-09-21

Similar Documents

Publication Publication Date Title
US10019364B2 (en) Access-based eviction of blocks from solid state drive cache memory
US10127233B2 (en) Data processing method and device in distributed file storage system
US10235055B1 (en) Storage performance testing to evaluate moving data among arrays
US9740416B2 (en) Essential metadata replication
JP6026738B2 (ja) 重複排除記憶システムのスケーラビリティを向上させるシステムおよび方法
US9703504B2 (en) Storage system, recording medium storing data rebalancing program, and data rebalancing method
US8954682B2 (en) Computer system management apparatus and management method
JP2008242788A (ja) 重複したファイルの記憶を防ぐコンピュータシステム
US9747357B2 (en) Fast snapshots
JP2017167706A (ja) 情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法
US20160196085A1 (en) Storage control apparatus and storage apparatus
US20180307426A1 (en) Storage apparatus and storage control method
US11816000B2 (en) Virtual recovery of unstructured data
US20140188823A1 (en) Reducing fragmentation in compressed journal storage
US20170357589A1 (en) Storage system and method for controlling cache
JP6582721B2 (ja) 制御装置、ストレージシステム、及び制御プログラム
US20160103714A1 (en) System, method of controlling a system including a load balancer and a plurality of apparatuses, and apparatus
US8914336B2 (en) Storage device and data storage control method
US20200057586A1 (en) Computer system and data storage method
US10585622B2 (en) Data writing device and method
JP2021009561A (ja) データ処理システム、データ処理装置及びデータ処理プログラム
US10530870B2 (en) Direct volume migration in a storage area network
US8886908B2 (en) Management of multiple capacity types in storage systems
JP2007048325A (ja) ボリューム管理方法及び装置
WO2014010016A1 (ja) プログラム、データ管理方法、および情報処理装置