JP2011138321A - ストレージ管理システム、ストレージ階層管理方法及び管理サーバ - Google Patents

ストレージ管理システム、ストレージ階層管理方法及び管理サーバ Download PDF

Info

Publication number
JP2011138321A
JP2011138321A JP2009298018A JP2009298018A JP2011138321A JP 2011138321 A JP2011138321 A JP 2011138321A JP 2009298018 A JP2009298018 A JP 2009298018A JP 2009298018 A JP2009298018 A JP 2009298018A JP 2011138321 A JP2011138321 A JP 2011138321A
Authority
JP
Japan
Prior art keywords
job
access
storage
time
logical volume
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.)
Granted
Application number
JP2009298018A
Other languages
English (en)
Other versions
JP5052592B2 (ja
Inventor
Tomoaki Kakeda
知章 掛田
Takahito Kusama
草間  隆人
Nobuo Kureyama
伸夫 紅山
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009298018A priority Critical patent/JP5052592B2/ja
Priority to US12/719,818 priority patent/US8396917B2/en
Publication of JP2011138321A publication Critical patent/JP2011138321A/ja
Application granted granted Critical
Publication of JP5052592B2 publication Critical patent/JP5052592B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複雑な計算機システムでは配置単位をより適切なタイミングで適切な記憶装置に再配置することができなかった。
【解決手段】計算機システムは、性能の異なる複数の記憶装置を含み、仮想ボリュームを提供し、業務サーバからのライト要求到着に応じて前述の複数の記憶領域の断片を仮想ボリュームの対象となった配置単位に割り当てるストレージ装置と、業務サーバで実行するジョブの実行時間及び実行予定時間と、配置単位に記憶領域の断片が割り当てられた時間と、を管理し、ジョブの実行時間と記憶領域の断片が割り当てられた時間から、ジョブと配置単位の関係を推定し、特定した関係と実行予定時間とに基いて決定した時間に、この配置単位に割り当てられた記憶領域の断片を別な記憶領域の断片へ変更する。
【選択図】図6

Description

本発明は、階層化ストレージにおける、ストレージを使用するサーバのジョブの特性に基づいてボリューム断片又はボリューム等に代表される配置単位のデータを適切なタイミングで適切な階層に配置するストレージ管理システムおよび階層管理方法に関する。
近年、企業が抱えるデータ量の増大に伴いストレージ管理コストの削減が課題となっている。ストレージ管理コストを削減する手法として、階層管理の導入が進んでいる。この階層管理では、高速かつ高価なディスクと低速かつ安価なディスクとを組み合わせてSAN(Storage Area Network)を構成し、データのアクセス頻度に応じてデータを再配置する技術である。
特許文献1に開示の技術では、ストレージ装置は、業務サーバからアクセスされるボリューム毎にアクセス頻度などを測定し、ストレージ管理者に測定結果を表示する。また、特許文献1に開示の技術ではストレージ管理者の指示に基づいて、ストレージ装置はボリュームに格納されたデータを第一のディスク装置から第二のディスク装置へ移行する。
また、特許文献2では、アクセス頻度の測定をボリュームの断片毎に行うことが開示されている。
特許文献1及び特許文献2に代表される階層管理では、ストレージ装置またはI/O要求(例えば、リード要求やライト要求等)を発行するサーバで測定したアクセス頻度に基づき、高アクセス頻度のボリュームを高速なディスクに、低アクセス頻度のボリュームを低速なディスクに再配置することで、ストレージ装置の管理者は高速なディスクと低速なディスクを効率よく使い分けることが可能となる。
また、特許文献3では、特許文献1に開示の過去のアクセス頻度に基づくだけではなく、将来発生するアクセス頻度をアクセス周期に基づいて予測し、予測結果に基づき再配置を行うことで階層管理を実現することが開示されている。
なお、本明細書では、再配置対象となるボリューム断片およびボリュームを総称して配置単位と呼ぶ。
特開2000−293317号公報 特開2007−066259号公報 特開2003−216460号公報
特許文献3を用いた従来の技術では、スイッチ、ボリュームマネージャ、ファイルシステム、複数のアプリケーションプログラムを含む複雑な計算機システムではアクセス予測が正確にできなかった。下記に課題が生じる一例を示す。
1.アクセス周期を予測する従来方式では、アクセス周期を予測する為に必要となるアクセス履歴が事前に蓄積する必要がある。そのため、アクセス履歴が十分蓄積できていないケースでは、近い将来アクセスされない配置単位を高速なディスクに配置する、又は、近い将来アクセスされる配置単位を低速なディスクに配置するといったことが発生していた。
2.アクセス履歴が十分蓄積されているケースであっても、配置単位に複数のバッチジョブ、又は、トランザクションジョブ(以降、2つを総称してジョブと呼ぶ)がアクセスする場合、ストレージ装置では配置単位にアクセスしたジョブを判別できない。その理由の一例としては、業務サーバはI/O要求に対してジョブを識別する情報をつけないこと、そして、ファイルシステム、ボリュームマネージャー、仮想化スイッチ、データベース等、ストレージ装置が提供するボリュームを何らかの変換処理を行った上でアプリケーションに提供されるような複雑な計算機システムの場合はジョブ(またはアプリケーション)と配置単位との関係が容易に把握できないこと、がある。そのため、アクセス周期の異なる複数のジョブが混在した環境では、配置単位へのアクセス周期を予測することは非常に困難である。その結果、このような環境では、近い将来アクセスされない配置単位を高速なディスクに配置する、又は、近い将来アクセスされる配置単位を低速なディスクに配置するといった、効率の悪いディスク配置が生じていた。
そこで本発明では、複雑な計算機システムに於いて配置単位をより適切なタイミングで適切な記憶装置に再配置可能な計算機システムを提供することを目的とする。
本発明による計算機システムは、性能の異なる複数の記憶装置を含み、仮想ボリュームを提供し、業務サーバからのライト要求到着に応じて前述の複数の記憶領域の断片を仮想ボリュームの対象となった配置単位に割り当てるストレージ装置と、業務サーバで実行するジョブの実行時間及び実行予定時間と、配置単位に記憶領域の断片が割り当てられた時間と、を管理し、ジョブの実行時間と記憶領域の断片が割り当てられた時間から、ジョブと配置単位の関係を推定し、特定した関係と実行予定時間とに基いて決定した時間に、この配置単位に割り当てられた記憶領域の断片を別な記憶領域の断片へ変更する。
本発明によれば、複雑な計算機システムに於いて、配置単位をより適切なタイミングで適切な記憶装置に再配置可能となる。
計算機システムの全体構成を示す図である。 業務サーバの論理構成を示す図である。 ストレージ装置の論理構成を示す図である。 管理サーバの論理構成を示す図である。 本発明の概要を示す図である。 実再配置管理ソフトのモジュールを示す図である。 ストレージプール管理テーブルを示す図である。 仮想論理ボリューム管理テーブルを示す図である。 ページ管理テーブルを示す図である。 ジョブ管理テーブルを示す図である。 ジョブ関連テーブルを示す図である。 ジョブアクセス履歴テーブルを示す図である。 ジョブアクセス予測テーブルを示す図である。 アラートテーブルを示す図である。 ユーザ定義入力部の処理を示すフローチャートである。 情報取得部の処理を示すフローチャートである。 ジョブアクセス履歴判定部の処理を示すフローチャートである。 ジョブアクセス予測部の処理を示すフローチャートである。 ジョブアクセス予測部が次のジョブアクセスを予測する処理を示すフローチャートである。 再配置実行部の処理を示すフローチャートである。 アラート表示部の処理を示すフローチャートである。 実施例2における論理ボリュームグループ管理テーブルを示す図である。 実施例2における論理ボリューム管理テーブルを示す図である。 実施例2におけるジョブアクセス履歴判定部の処理を示すフローチャートである。 実施例3における再配置管理ソフトのモジュールを示す図である。 実施例3における仮想論理ボリューム階層履歴テーブルを示す図である。 実施例3における階層判定部の処理を示すフローチャートである。 実施例3における構成変化表示部の処理を示すフローチャートである。 実施例3における管理クライアントが表示する仮想論理ボリュームのストレージ階層の構成変化を示すチャートである。
以下、本発明の実施例について、図面を参照して説明する。尚、本発明は、本実施例に限られるものではない。
なお、以後の説明では「aaaテーブル」、「aaaリスト」、「aaaDB」、「aaaキュー」等の表現にて本発明の情報を説明するが、これら情報は必ずしもテーブル、リスト、DB、キュー、等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」、「aaaリスト」、「aaaDB」、「aaaキュー」等について「aaa情報」と呼んでも良い。
さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。
また、各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
実施例1では、配置単位がボリューム断片(以降ではボリューム断片のことをページと称する)、の場合における本発明の実施例の一例を示す。
図1は、本実施例の計算機システムの全体構成を表した図である。計算機システムSは、業務サーバ0101と、ストレージ装置0102と、管理サーバ0103と、SAN(Storage Area Network)スイッチ0104と、管理クライアント0107とにより構成されている。そして、業務サーバとストレージ装置とはSAN0105によって接続されている。また、ストレージ装置0102と、管理サーバ0103と、管理クライアント0107とはLAN(Local Area Network)0106によって接続されている。業務サーバ0101は、ジョブ0111を稼動させるためのものであり、CPU(Central Processing Unit)0112と、メモリとを0113備える。業務サーバ0101はSANポート0114を有し、SANポート0114によってSAN0105に接続されている。
CPU0112は、メモリ0113に格納されているプログラムを読み出し、実行することによって、各種処理を行う。
メモリ0113は、アプリケーション0115と、CPU0112がアプリケーション0115を実行する際に必要とする情報とを格納する。アプリケーション0115は、業務処理を実行するプログラムであり、演算処理などの業務処理を行い、次にデータのリードやライドの処理のために、ストレージ装置0102にデータの格納や格納されたデータの操作を行う。
ストレージ装置0102は、コントローラ120と記憶装置0123を備え、コントローラ120はSANポート0129を有し、SANポート0129によってSAN0105に接続されている。また、コントローラ120はLANポート0130を有し、LANポート0130によってLAN0106に接続されている。また、コントローラ120はCPU0121とメモリ0122とを備える。CPU0121は、メモリ0122に格納されているプログラムを実行することによって、各種処理を行う。
メモリ0122は、ストレージ制御プログラム0151と、CPU0121がストレージ制御プログラム0151を実行する際に必要な情報を格納する。
ストレージ制御プログラム0151は、ストレージ装置0102の論理記憶領域を管理するプログラムである。論理記憶領域の詳細ならびにストレージ制御プログラム0151の詳細については、図3にて後記する。なお、ストレージ制御プログラム0151は、前記処理に関する管理情報をメモリ0122に格納する。また、管理サーバ0103からの要求に従って前記管理情報を管理サーバ0103に送出する。管理サーバ0103からの要求としては、例えば、LAN0106を経由してストレージ制御プログラム0151に要求することもできる。また、SANポート0129を経由してストレージ制御プログラム0151に要求することもできる。ストレージ制御プログラム0151が管理する論理記憶領域と、メモリ0122に格納する情報と、前記ストレージ管理機能の有する機能の詳細については、図3を用いて後記する。
記憶装置0123は、ストレージ装置0102の記憶装置である。記憶装置0123は、例えばFC(Fibre Channel)ディスク、SSD(Solid State Drive)等がある。図1の記憶装置0123は、1つで構成されているが、1つに限らず複数の記憶装置から構成されていてもよい。管理サーバ0103は、CPU0131と、メモリ0132と、入力部0133と、表示部0134と、記憶装置0135とを備える。管理サーバ0103は、LANポート0136を有し、LANポート0136によってLAN0106に接続されている。
CPU0131は、メモリ0132に格納されているプログラムを実行することによって各種処理を行う。
メモリ0132は、再配置管理ソフト0137と、CPU0131が再配置管理ソフト0137を実行する際に必要な情報を格納する。
記憶装置0135は、再配置管理ソフト0137が収集や管理する情報を格納する。
再配置管理ソフト0137は、ストレージ装置0102より収集する情報と、管理クライアント0107より取得する情報に基づいて配置単位の再配置をする機能、及び、管理クライアント0107に配置単位の再配置における問題を表示する機能を有する。再配置管理ソフト0137の詳細については、図4を用いて後記する。
SANスイッチ0104は、業務サーバ0101とストレージ装置0102間のデータ通信を中継するネットワークデバイスであり、SANポート0145と0146とを備える。
管理クライアント0107は、管理サーバ0103のユーザインタフェースを提供する機能であり、CPU0171と、メモリ0172を備える。また、管理クライアント0107は、LANポート0173を有し、LANポート0173によってLAN0106に接続されている。
CPU0171は、メモリ0172に格納されている管理クライアント0107の情報をユーザに伝える処理を行う。例えば、Webブラウザを動作させることによりユーザインタフェースを提供する。
メモリ0172は、管理クライアント0107の情報と、ユーザインタフェースを提供するソフトに関する情報を格納する。
なお、図1の計算機システムSはそれぞれ1台の業務サーバ0101、ストレージ装置0102、管理サーバ0103、SANスイッチによって構成されているが、これらは1台に限られるものではなく、それぞれ複数の装置によって構成されていてもよい。また、業務サーバ0101、管理サーバ0103、管理クライアント0107は計算機である。さらに、管理サーバ0103は複数の計算機で実現されてもよく、また管理サーバ0103が管理クライアント0107の役割を兼ねても良い。
図2は、業務サーバ0101における論理構成を示す図である。ジョブ0111は、業務サーバ0102が実行する業務処理を実行するアプリケーション0115の実行を制御する論理的な存在で、メモリ上ではジョブ0111を制御するために必要な情報(例えば実行時間、実行する条件、等)を格納している。なお、図2のアプリケーション0115は、2つのジョブ0111によって実行を制御されているが、2つに限られるものではなく、1つ又は複数のジョブ0111によって制御されていてもよい。
ジョブ0111は、それぞれある日時、又は、タイミングによって実行され、ストレージ装置0102に対してデータの格納、又は、格納されたデータに対して操作をアプリケーション0115に行わせる。
図3は、ストレージ装置0102における論理記憶領域を模式的に示す図である。以下では、まず論理記憶領域およびストレージ制御プログラム0151の詳細、次にその論理記憶領域を管理するためにメモリ0122に格納する管理情報について詳述する。ストレージ制御プログラム0151は、前述の通り、複数の記憶装置0123から論理記憶領域を構築する機能を有する。図3では、記憶装置0123として、SSD0190とSATA0191が使用されているとする。例えば、ストレージ制御プログラム0151は、次に示す論理記憶領域を構築する事が出来る。
・RAIDグループ0124
・論理ボリューム0125
・ストレージプール0126
・ページ0128
・仮想論理ボリューム0127
以降では、各論理記憶領域について詳述する。
RAIDグループ0124は、複数の記憶装置0123から構成された論理記憶領域、即ち、RAID(Redundant Arrays of Inexpensive(or Independent) Disks)であり、ストレージ制御プログラム0151により構築される。例えば、ストレージ制御プログラム0151は、複数の記憶装置0123およびRAIDレベルを入力パラメータとして受け付けると、前記記憶装置0123から指定されたRAIDレベルを持つRAIDグループ0124を構築することができる。
論理ボリューム0125は、RAIDグループ0124内の論理記憶領域であり、ストレージ制御プログラム0151により構築される。例えば、ストレージ制御プログラム0151は、作成元RAIDグループ0124と作成する論理ボリューム0125のサイズを入力値として受け付けると、指定されたRAIDグループ0124から指定されたサイズを持つ論理ボリューム0125を構成することができる。
ストレージプール0126は、複数の論理ボリューム0125から構成された論理記憶領域であり、ストレージ制御プログラム0151により構築される。例えば、ストレージ制御プログラム0151は、複数の論理ボリューム0125を入力値として受け付けると、指定された複数の論理ボリューム0125からストレージプール0126を構築することができる。
ページ0128は、ストレージプール0126から構成された1つ又は複数の論理記憶領域であり、ストレージ制御プログラム0151により構築される。例えば、ストレージ制御プログラム0151は、作成するページ0128のサイズを入力値として受け付けると、ストレージプール0126から指定されたページ0128を作成することができる。なお、ページ0128に格納されるデータは、当該ページを構成するストレージプール0126を介し、該ストレージプールを構成する論理ボリューム0125へ格納される。以降、論理ボリューム0125に格納されるページ0128のデータを論理ボリューム格納ページデータと呼ぶ。
仮想論理ボリューム0127(単に仮想ボリュームと呼ぶことがある)は、業務サーバに公開されるボリュームであり、ストレージ装置0102が有する記憶装置の容量以上の容量を持つ仮想ボリュームとして業務サーバに公開することも可能である。また、仮想論理ボリューム0127は、ストレージ制御プログラム0151により構築される。例えば、ストレージ制御プログラム0151は、仮想論理ボリューム0127の容量を入力値として受け付けると、複数のページ0128から前記容量を持つ仮想論理ボリューム0127を構築することができる。なお、仮想論理ボリューム0127の各アドレス範囲には、構築当初はページ0128が割り当たっていない(少なくとも一部のアドレス範囲に対しては)。その後、ストレージ制御プログラム0151は、業務サーバからのライト要求に応じて、ライト要求の対象で、ページ0128が割り当てられていない仮想論理ボリューム0127のアドレス範囲に、1つもしくは複数のページ0128を割り当てる。
図3では記憶装置0123として、SSD0190とSATA0191という異なる応答性能を持つ記憶装置を備えるため、RAIDグループ0124及び論理ボリューム0125は、階層2と比較して応答速度が速い階層1―0129aと、階層1と比較して応答速度が遅い階層2―0129bに属するという表現ができる。
ストレージ制御プログラム0151は、次に示す機能を提供する。
・前述の論理記憶領域を構成する機能(論理記領域構成機能)
・論理ボリューム0125および仮想論理ボリューム0127を業務サーバに割り当てる機能(論理ボリューム割り当て機能)
・論理記憶領域に格納されているデータを別の論理記憶領域に移動する機能(マイグレーション機能)。
・業務サーバからのI/O要求に応じて仮想論理ボリューム0127に対してページ0128を割り当てる機能(仮想論理ボリューム拡張機能)
・仮想論理ボリューム拡張時に割り当てるページ候補を事前に指定する機能(仮想論理ボリューム拡張ポリシー指定機能)
なお、ストレージ制御プログラム0151は、前記機能に関する管理情報をメモリ0122に格納する。また、管理サーバ0103からの要求に従って前記管理情報を送出する。
次にメモリ0122に格納する管理情報について詳述する。
ストレージ制御プログラム0151は、論理記憶領域を管理するために以下5つのテーブルをメモリ0122に格納する。
・まず、RAIDグループ構成テーブルは、RAIDグループ0124の構成情報を格納するテーブルである。RAIDグループ構成テーブルは、記憶装置IDと、RAIDグループIDと、容量とをカラムに持つテーブルである。記憶装置IDカラムと、RAIDグループIDカラムには、RAIDグループ0124を構成する記憶装置0123と、RAIDグループ0124とを一意に識別するための情報を格納する。また、容量カラムは、RAIDグループ0124の容量を格納する。
・2つめの、論理ボリューム構成テーブルは、論理ボリューム0125の構成情報を格納するテーブルである。論理ボリューム構成テーブルは、論理ボリュームIDと、RAIDグループIDと、容量と、ストレージプールIDと、業務サーバIDとをカラムに持つテーブルである。論理ボリュームIDカラムと、RAIDグループIDカラムと、ストレージプールIDカラムと、業務サーバIDカラムとには、それぞれ論理ボリューム0125と、論理ボリューム0125の生成元となるRAIDグループ0124と、ストレージプール0126と、論理ボリュームの割り当て先となる業務サーバ0101のSANポート0114を一意に識別するための情報を格納する。また、容量カラムには、当該論理ボリュームの容量を格納する。なお、業務サーバIDカラムには、該論理ボリュームを公開する業務サーバ0101上のSANポート0114のWWN(World Wide Name)を格納してもよい。
・3つめの、仮想論理ボリューム構成テーブルは、仮想論理ボリューム0127の構成情報を格納するテーブルである。仮想論理ボリューム構成テーブルは、仮想論理ボリュームIDと、ストレージプールIDと、仮想論理ボリューム拡張論理ボリュームIDと、業務サーバIDとをカラムに持つテーブルである。仮想論理ボリュームIDカラムと、ストレージプールIDカラムと、業務サーバIDカラムとには、仮想論理ボリューム0127と、仮想論理ボリューム0127が所属するストレージプール0126と、仮想論理ボリューム0127の割り当て先となる業務サーバ0101のSANポートとを一意に識別するための情報を格納する。また、仮想論理ボリューム拡張論理ボリュームIDカラムには、仮想論理ボリューム拡張ポリシー指定機能に使用する、論理ボリューム0125を一意に識別するための情報を格納する。仮想論理ボリューム拡張ポリシー指定機能は、仮想論理ボリューム0127を拡張する際には、仮想論理ボリューム拡張論理ボリュームIDカラムによって指定された論理ボリューム0125にデータを読み書きするページ0128を当該仮想論理ボリュームに割り当て拡張する。なお、業務サーバIDカラムには、該論理ボリュームを公開する業務サーバ0101上のSANポート0114のWWNを格納してもよい。
4つめの、ページ構成テーブルは、ページ0128の構成ならびにアクセス履歴を保持するテーブルである。ページ構成テーブルは、ページIDと、仮想論理ボリュームIDと、論理ボリュームIDと、割り当て日時とをカラムに持つテーブルである。ページIDカラムと、仮想論理ボリュームIDカラムと、論理ボリュームIDカラムとには、ページ0128と、該ページが割り当てられた仮想論理ボリューム0127と、該ページに格納されたデータを格納する論理ボリューム0125と、を一意に識別する情報を格納する。また、割り当て日時カラムには、当該ページが仮想論理ボリューム0127に割り当てられた日時を格納する。
アクセス情報テーブルは、論理記憶領域に対するアクセス日時を記録するテーブルである。アクセス情報テーブルは、アクセス監視対象種別カラムと、アクセス監視対象IDカラムと、最終アクセス日時とをカラムに持つテーブルである。アクセス監視対象種別カラムには、アクセスを監視する記憶領域の種別を識別するための情報を格納する。例えば、「RAIDグループ」、「論理ボリューム」、「ページ」などがこのカラムに格納される。アクセス監視対象IDカラムには、監視対象を一意に識別するための情報を格納する。アクセス日時カラムには、監視対象にアクセスがあった日時を格納する。なお、アクセアクセスを要求したノードを表す情報をアクセス元カラムに格納してもよい。
図4は、管理サーバ上の論理構成を示す図である。メモリ0132に格納される再配置管理ソフト0137は、再配置プログラム0138と、アクセス予測プログラム0139と、ユーザ定義入力プログラム0140と、ステータス表示プログラム0141とによって構成されている。
再配置プログラム0138は、記憶装置0135に格納された管理情報に基づきストレージ装置0102のマイグレーション機能を呼び出して配置単位の再配置する機能と、管理サーバ0103の管理情報を更新する機能とを有する。
アクセス予測プログラム0139は、ストレージ装置0102より管理情報を収集する機能と、管理情報を記憶装置0135へ格納する機能と、配置単位へアクセスしたジョブを判定する機能と、配置単位へアクセスするジョブとその日時を予測する機能とを有する。
ユーザ定義入力プログラム0140は、ユーザとのインタラクションに必要な情報を表示する機能と、ユーザの入力する定義情報を記憶装置0135に格納する機能を有する。
ステータス表示プログラム0141は、ユーザにストレージ装置0102のステータスを表示する機能を有する。
つぎに図5を用いて、業務サーバ0101のジョブ0111がストレージ装置0102のページ0128へアクセスする状況において、本発明がどのように動作するか例を示す
。図5において、業務サーバはジョブ1−0111a、ジョブ2−0111b、ジョブ1−0111cを実行する。
ステップ1として、ユーザがジョブ定義をジョブがアクセスする前に入力ストレージ管理者が定義するジョブ定義(実行タイミング、ジョブ間の依存・順序関係等) をジョブ管理テーブル1001(ジョブ実行タイミング)、ジョブ関連テーブル1101(ジョブ間の依存・順序関係)として、記憶装置0135に格納する。
ステップ2として、ストレージ装置0102から、ページ0121の構成情報、ページ0121へのアクセス履歴を取得し、ストレージ構成テーブル0701、仮想論理ボリュームテーブル0801、ページ管理テーブル0901として、記憶装置0135に格納する。
ステップ3として、ページ管理テーブル0901とジョブ管理テーブル1001及びジョブ関連テーブル1101から、ページにアクセスしたジョブ1―0111aとその順序関係であるジョブ関連を推定し、アクセス時間と共にページアクセス履歴テーブル1201に格納。
ステップ4として、ステップ3で格納されたデータについて、ジョブ関連テーブル1101で次にそのページにアクセスするジョブを推定し、推定したジョブとジョブアクセス履歴テーブル1201に格納される前回のアクセス時間と、ジョブ管理テーブル1001を対応づけて、ページ0121へのアクセスタイミングを推定し、結果をページアクセス予測テーブル1301に格納する。
ステップ5として、ページアクセス予測テーブル1301に基づき、短期間のうちにバッチ処理によりアクセスされるページの上位階層への再配置をストレージに指示。また、現在アクセスされていないページのうち、短期間のうちにバッチ処理によりアクセスされないページの下位階層への再配置をストレージに指示する。最配置指示をうけたストレージ装置0102は前記ページの割当先を階層1−0129aと階層2―0129bの間で再配置を行う。
このように、本発明ではページ0128等の配置単位に対して、アクセスしたジョブ0111を推定し、前記配置単位にアクセスしたジョブの情報から今後配置単位にアクセスするジョブを推測し、そのジョブの実行日時をアクセス予測日時として、アクセス予測日時あわせて配置単位を再配置するものである。また、複数のジョブ0111からアクセスされる配置単位についても同様に再配置可能である。なお、ストレージ構成テーブル0701、仮想論理ボリュームテーブル0801、ページ管理テーブル0901、ジョブ管理テーブル1001、ジョブ関連テーブル1101、ページアクセス履歴テーブル1201、ページアクセス予測テーブル1301や対応付けの方法の詳細については後記する。
図6は、本実施例における再配置管理ソフト0137のモジュール構成を表す図である。図6の中の矢印は、データの流れをあらわす。
記憶装置0135は、ジョブ定義記憶領域0241と、構成情報記憶領域0242と、ジョブアクセス記憶領域0243と、アラート記憶領域0244とを保持する。
ジョブ定義記憶領域0241は、ユーザが入力するジョブの定義を格納する。ジョブ定義記憶領域0241が格納する情報の詳細については、図10乃至図11を用いて後記する。
構成情報記憶領域0242は、ストレージ装置0102から取得する構成情報と、ユーザによって管理クライアント0107から入力されるストレージ階層の情報を格納する。ここでストレージ階層とは、1つ又は複数の論理ボリューム0125からなるグループを表す。典型的には同じ特性(例えば、ディスク回転数、RAIDレベル、記憶装置の種別、型番、等)を持つ複数の論理ボリュームからストレージ階層を構築する。このようにストレージ階層をユーザが定義することにより、例えば、論理ボリューム0125に含まれるデータを高速な論理ボリュームにマイグレーション機能で移動する際、複数の論理ボリューム0125の中から特定の特性を持つ移動先論理ボリューム0125を手動で選択することなく、ストレージ階層を選択するだけで移動先論理ボリュームを選択する事が出来、ストレージ運用管理コストを軽減することができる。構成情報記憶領域0242が格納する情報の詳細については、図7乃至図9を用いて後記する。
ジョブアクセス記憶領域0243は、配置単位にアクセスしたジョブの履歴情報と、配置単位にアクセスするジョブに関する予測情報を格納する。ジョブアクセス記憶領域が格納する情報の詳細については、図12乃至図13を用いて後記する。
アラート記憶領域0244は、ユーザに通知するアラートの情報を格納する。アラート記憶領域0244が格納する情報の詳細については、図14を用いて後記する。
ユーザ定義入力プログラム0140は、ユーザが入力する情報をジョブ定義記憶領域0241と、構成情報記憶領域0242とに格納し、仮想論理ボリューム0127拡張時に割り当てるページ候補をストレージ制御プログラム0151の仮想論理ボリューム拡張ポリシー指定機能に指示するプログラムである。
ユーザ定義入力プログラム0140は、ユーザ定義入力部0201を備える。ユーザ定義入力部0201は、ジョブ定義記憶領域0241と、構成情報記憶領域0242とから取得した情報を管理クライアント0106に表示し、ユーザが入力した情報をジョブ定義記憶領域0241と構成情報記憶領域0242とに格納する。また、ユーザ定義入力プログラム0140は、構成情報記憶領域0242と、ジョブ定義記憶領域0241との情報を用い、仮想論理ボリューム0127拡張時に割り当てるページ候補として、論理ボリューム格納ページデータが格納されている論理ボリューム0125をストレージ制御プログラム0151の仮想論理ボリューム拡張ポリシー指定機能に指示する。
ユーザ定義入力プログラム0140が実行するステップの詳細については図15を用いて後記する。また、ユーザが入力する情報は図7乃至図11を用いて後記する。
アクセス予測プログラム0139は、ストレージ装置0102より情報を収集し、前記収集した情報及びユーザが定義した情報に基づき各配置単位について、当該配置単位に次回アクセスするジョブならびにそのジョブの実行タイミングを予測するプログラムである。
アクセス予測プログラム0139は、情報取得部0211と、ジョブアクセス履歴判定部0212と、ジョブアクセス予測部0213とを備える。
情報取得部0211は、ジョブのアクセス予測に必要となる情報をストレージ装置0102から取得する処理部である。情報取得部0211は、指定時間にストレージ装置0102よりメモリ0122に格納されている論理記憶領域の構成テーブルの情報を取得し、前記構成テーブルの情報を構成情報記憶領域0242に格納し、更に、ストレージ装置0102より配置単位のアクセス情報を取得する。さらに、情報取得部0211は、前記データを取得した後にジョブアクセス履歴判定部0212に前記アクセス情報を送出し起動する。前記構成テーブルの情報とは、ストレージ管理プログラム0151がメモリ0122に格納する・論理ボリューム構成テーブル・仮想論理ボリューム構成テーブル・ページ構成情報テーブルの3つのテーブルの情報を総称している。
情報取得部0211は、前記ジョブアクセス履歴判定部0212の実行後に、前記構成情報を送出しジョブアクセス予想部0213を起動し、ジョブアクセス予測部0213の実行後に再配置実行部0221を起動し、その後前記指定時間まで待機する。情報取得部0211が実行するステップの詳細については、図16を用いて後記する。また、情報取得部0211が格納するデータについては、図7乃至図9を用いて後記する。
ジョブアクセス履歴判定部0212は、ジョブのアクセス予測に必要となる過去に配置単位にアクセスしたジョブを推定する処理部である。ジョブアクセス履歴判定部0212は、情報取得部0211により起動され、情報取得部0211から受け付けた配置単位のアクセス情報と、ジョブ定義記憶領域0241より取得するジョブ定義と、構成情報記憶領域0242より取得する構成情報と、ジョブアクセス記憶領域0243より取得するジョブアクセス情報とに基づき配置単位へアクセスしたジョブを推定し、前記推定結果をジョブアクセス記憶領域0243に格納する。ジョブアクセス履歴判定部0212が実行するステップの詳細については図17を用いて後記する。また、ジョブアクセス履歴判定部0212が格納するデータについては、図12を用いて後記する。
ジョブアクセス予測部0213は、配置単位に今後アクセスするジョブ及びそのアクセスタイミングを予測する処理部である。ジョブアクセス予測部0213は、情報取得部0211により起動され、情報取得部0211より受け付ける構成情報と、ジョブ定義記憶領域0241より取得するジョブ定義と、ジョブアクセス記憶領域0243より取得するジョブアクセス情報とに基づき配置単位にアクセスするジョブとそのアクセスタイミングを予測し、前期予測結果をジョブアクセス記憶領域0243に格納する。ジョブアクセス予測部0213が実行するステップの詳細については、図18乃至図19を用いて後述する。
再配置プログラム0138は、再配置実行部0221を備え、各配置単位に対して再配置が必要であるか判断し、必要であると判断した場合に再配置するプログラムである。
再配置実行部0221は、指定時間になる、又は、情報取得部0211に起動されることにより実行され、ジョブアクセス記憶領域0243より取得するジョブアクセス情報と、構成情報記憶領域0242より取得する構成情報とに基づき配置単位の再配置をストレージ管理プログラム0151のマイグレーション機能に指示し、配置単位の再配置の完了後に構成情報記憶領域0242の配置単位の情報を更新する。再配置実行部0221が実行するステップの詳細については、図20を用いて後記する。
ステータス表示プログラム0141は、アラート表示部0231を備え、再配置管理ソフト0137で発生した問題をユーザに表示するプログラムである。
アラート表示部0231は、管理クライアント0107より要求を受けたアラート情報をアラート記憶領域0244より取得し、管理クライアント0107に対して出力する。アラート表示部0231が実行するステップの詳細については、図21を用いて後記する。
図7は、ストレージプール管理テーブル0701を示す図である。ストレージプール管理テーブル0701は、構成情報記憶領域0242を構成するテーブルの1つであり、ストレージプール0126とストレージプールを構成する論理ボリューム0125との関係を格納するテーブルである。
ストレージプール管理テーブル0701は、ストレージプールID0711と、論理ボリュームID0712と、ストレージ階層0713と、容量0714とをカラムに持つテーブルである。ストレージプールID0711と、論理ボリュームID0712と、容量0714とには、各々、情報記憶部0211がストレージ装置0102から各ストレージプールについて各プールを一意に識別する為にストレージ装置0102内で設定されたIDと、当該ストレージプールを構成する論理ボリューム0125を識別するIDと、前記論理ボリュームの容量とを取得し、対応するカラムに取得した値を格納する。ストレージ階層0713には、ユーザ定義入力部0201が管理クライアント0107から取得した情報を格納する。
図8は、仮想論理ボリューム管理テーブル0801を示す図である。仮想論理ボリューム管理テーブル0801は、構成情報記憶領域0242を構成するテーブルの1つであり、仮想論理ボリューム0127の情報を格納するテーブルである。仮想論理ボリューム管理テーブル0801は、仮想論理ボリュームID0811と、プールID0816と、ページ割り当て階層0813と、アクセス情報取得日時0814と、アクセス途絶時配置階層0815と、容量0816とをカラムに持つテーブルである。
仮想論理ボリューム0811とプールID0812とには、情報取得部0211がストレージ装置0102から各仮想論理ボリュームを一意に識別するためにストレージ装置0102内で設定されたIDと、当該仮想論理ボリュームの属するストレージプールのIDと、当該仮想論理ボリュームの容量を取得し、格納する。ページ割り当て階層0813とアクセス途絶時配置階層0815とには、ユーザ定義入力部0201が管理クライアント0107から取得するストレージ階層を特定する情報を格納する。
ページ割り当て階層0813に格納されるストレージ階層は、該ストレージ階層に属する論理ボリューム0125に論理ボリューム格納ページデータを持つページを検索する条件として用いられ、前記検索したページは当該仮想論理ボリュームを拡張する際に割り当てられる。
アクセス途絶時配置階層0815は、当該仮想論理ボリュームのアクセスが当面予定されていないページ0128の論理ボリューム格納ページデータを配置する論理ボリュームを該ストレージ階層より選択する条件として用いられる。アクセス情報取得日時0814には、情報取得部0211が、配置単位のアクセス情報をストレージ装置0102から取得した際にその日時を格納する。
図9は、ページ管理テーブル0901を示す図である。ページ管理テーブル0901は、構成情報記憶領域0242を構成するテーブルの1つであり、ページ0128の情報を格納するテーブルである。ページ管理テーブル0901は、ページID0911と、仮想論理ボリュームID0912と、ストレージ階層0913と、ページ割り当て日時0914と、容量0915とをカラムに持つテーブルである。
ページID0911と、仮想論理ボリュームID0912と、ページ割り当て日時0914と、容量0915とには、情報取得部0211がストレージ装置0102から各ページを一意に識別するためにストレージ装置0102内で設定されたIDと、当該ページの割り当てられた仮想論理ボリューム0127のIDと、当該ページに仮想論理ボリュームが割り当てられた日時と、当該ページの容量を取得し、格納する。
ストレージ階層0913には、情報取得部0211が、当該ページの論理ボリューム格納ページデータが格納されている論理ボリューム0125の属するストレージ階層を格納する。また、ストレージ階層0913には、新規に記憶領域が割り当てられたページに対しては、割り当てられた仮想論理ボリューム0127のページ割り当て階層0813を仮想論理ボリューム管理テーブル0801より取得し、格納する。また、ページ0128を再配置した際には再配置実行部0221がストレージ階層0913を更新する。
図10は、ジョブ管理テーブル1001を示す図である。ジョブ管理テーブル1001は、ジョブ定義記憶領域0241を構成するテーブルの1つであり、ユーザ定義入力部0201がジョブ0111の情報を格納するテーブルである。ジョブ管理テーブル1001は、ジョブID1011と、要求性能1012と、実行日1013と、実行時間帯1014と、処理対象基点1015と、処理対象期間1016と、再配置バッファ時間1017とをカラムに持つテーブルである。ジョブ管理テーブル1001の情報は、ユーザが管理クライアント0107に入力したデータである。また、このデータはユーザ定義入力部0201により格納される。
具体的には、ジョブID1011にはジョブを一意に識別する名前が格納される。要求性能1012には、ジョブに対する要求性能を格納する。例えば、要求性能が高いジョブに対しては本カラムに1を、要求性能が低いジョブに対しては本カラムに2を格納する。実行日1013および実行時間帯1014には、ジョブの実行日時を格納する。本実施例では実行日と実行時間帯というジョブの実行されるスケジュールを格納したが、処理対象基点の72時間後といったインターバルを格納しても良い。
処理対象基点1015と、処理対象期間1016は、ジョブが実行時に処理するデータ範囲を特定する情報が格納される。例えば、図10のジョブ管理テーブル1001の情報を用いて例を挙げると、ジョブID1はデータ作成後5日間のデータを処理するジョブであり、ジョブID2はデータ作成後1週間のデータを処理するジョブであることを表す。
また、再配置バッファ時間1017は、再配置実行部0221が配置単位に対して再配置バッファ時間内に次のアクセスが予測される場合には現在のストレージ階層よりも高次のストレージ階層に再配置するか判定する情報である、およびまたは、再配置バッファ時間内に次のアクセスがないと予測されている場合には現在のストレージ階層よりも低次のストレージ階層に再配置するか判定するために使用する情報である。再配置バッファ時間1017を使用した再配置実行部0221の再配置ステップの詳細については、図20を用いて後記する。
図11は、ジョブ関連テーブル1101を示す図である。ジョブ関連テーブル1101は、ジョブ定義記憶領域0241を構成するテーブルの1つであり、ユーザ定義入力部0201がボリュームにおけるジョブ関連を格納するテーブルである。前記ジョブ関連とは、あるジョブと、そのジョブまでに実行されるジョブの集合のことである。例えば、図11のテーブルでは、仮想論理ボリューム1では、ジョブ1実行後にジョブ2もしくはジョブ3が実行される例を示している。さらにジョブ1のあとにジョブ2が実行された場合、次に実行するのはジョブ3になる。また、仮想論理ボリューム2においてはジョブ2及びジョブ3が最初から実行されるという、実行順序が示されている。
ジョブ関連テーブル1101は、ジョブ関連ID1111と、仮想論理ボリュームID1112と、基点ジョブ関連ID1113と、ジョブID1114とをカラムに持つテーブルである。
ジョブ関連ID1111と、仮想論理ボリュームID1112と、基点ジョブ関連ID1113と、ジョブID1114とには、当該ジョブの関連を一意に特定するIDと、仮想論理ボリューム0127のIDと、事前に実行されるジョブの集合を表すジョブ関連IDと、ジョブを一意に特定するIDとを格納する。図11のジョブ関連テーブル1101のデータを使い、ユーザの入力情報と前記入力情報
からユーザ定義入力部0201がジョブ関連テーブルに格納する流れを以下で図11のレコードを使い具体に示す。
まず、ユーザは、仮想論理ボリュームID1に対して、以下の様なジョブ間の関連の情報をユーザ定義入力部に入力する。
(i)データは、ジョブID1によって作成される。
(ii)ジョブID1によって作成されたデータは、ジョブID2とジョブID3によってアクセスされる。
(iii)ジョブID1が作成し、ジョブID2がアクセスしたデータは、ジョブID3によってアクセスされる。
次にユーザ定義入力部0201は、上記ユーザが入力した内容を、以下の4つのレコードとしてジョブ関連テーブル1101に格納する。
(i)ジョブ関連ID1のレコード
ジョブID1が仮想論理ボリュームID1にデータを作成することから、ユーザ定義入力部0201は、関連ボリュームID1112に1、基点ジョブ関連ID1113に−、ジョブID1114に1の値を持つレコードを格納する。なお、基点ジョブ関連ID1113の−は、ジョブID1よりも前に実行されるジョブがないことを表す。
(ii)ジョブ関連ID2のレコード
仮想論理ボリュームID1にジョブID1が作成したデータに対して、ジョブID2がアクセスすることから、ユーザ定義入力部0201は、関連ボリュームID1112に1、基点ジョブ関連ID1113に1、ジョブID1114に2の値を持つレコードを格納する。なお、基点ジョブ関連ID1113の1は、事前に実行されるジョブの集合が、ジョブ関連ID1の表すジョブの集合であることを表す。
(iii)ジョブ関連ID3のレコード
仮想論理ボリュームID1にジョブID1が作成したデータに対して、ジョブID3がアクセスすることから、ユーザ定義入力部0201は、関連ボリュームID1112に1、基点ジョブ関連ID1113に1、ジョブID1114に3の値を持つレコードを格納する。各カラムの考え方については、ジョブ関連ID2と同様である。
(iv)ジョブ関連ID5のレコード
仮想論理ボリュームID1にジョブID1が作成し、ジョブID2がアクセスしたデータに対して、ジョブID3がアクセスすることから、ユーザ定義入力部0201は、関連ボリュームID1112に1、基点ジョブ関連ID1113に2、ジョブID1114に3の値を持つレコードを格納する。基点ジョブ関連ID1113の2は、事前に実行されているジョブの集合が、ジョブ関連ID2の表すジョブの集合であることを表す。ジョブ関連ID2は、ジョブID2とジョブ関連ID1で表されるジョブの集合との関連であり、ジョブ関連ID1は、ジョブID1と空集合との関連が定義されてるため、当該ジョブの関連で事前に実行されているジョブの集合は、ジョブID1とジョブID2である。
図12は、ジョブアクセス履歴テーブル1201を示す図である。ジョブアクセス履歴テーブル1201は、ジョブアクセス記憶領域0243を構成するテーブルの1つであり、ジョブアクセス履歴判定部0212が配置単位に対してアクセスしたジョブ0111を推定した結果を格納するテーブルである。ジョブアクセス履歴テーブル1201は、配置単位ID1211と、ジョブ関連ID1212と、ストレージ階層1213と、関連履歴グループID1214と、アクセス履歴1215と、新規データ格納1216をカラムに持つテーブルである。
新規データ格納1216は、当該ジョブアクセス履歴が新規データを格納するためのアクセスである可能性を示し、1である場合には新規データを格納するためのアクセスである可能性を表し、0である場合には新規データを格納するためのアクセスではないことを表す。
配置単位ID1211と、アクセス日時1215とは、情報取得部0211がストレージ装置0102からページをストレージ装置内で一意に識別するIDと、当該ページにアクセスがあった日時を取得する。また、ストレージ階層1213は、情報取得部0211がページ管理テーブル0901より当該ページのストレージ階層0913を取得し、さらに前記情報とあわせてジョブアクセス履歴判定部0212に送出する。ジョブアクセス履歴判定部0212が受け付けた前記情報をジョブアクセス履歴テーブル1201に格納する際に、当該ページにアクセスしたジョブ0111を推定し、推定結果からジョブ関連ID1212と、関連履歴グループID1214と、新規データ格納1216をあわせて格納する。なおID1212が−である場合ジョブ関連履歴が推定できなかったアクセスを示す。ページにアクセスしたジョブ0111の推定ステップの詳細については、図17にて後述する。
関連履歴グループID1214は、あるジョブ0111からのアクセスに対してジョブ関連IDが複数推定される場合に、同一のアクセスから推定されたジョブアクセス履歴であることを表すための情報である。その後ジョブアクセス履歴をとっていき、ジョブ関連IDが複数推定されていたものを確定できたときに、この関連履歴グループID1214を参照し同一のアクセスから推定されたジョブアクセス履歴を照合して、当たっていなかったジョブアクセス履歴を消去することも可能である。
図13は、ジョブアクセス予測テーブル1301を示す図である。ジョブアクセス予測テーブル1301は、ジョブアクセス記憶領域0243を構成するテーブルの1つであり、ジョブアクセス予測部0213が配置単位に対して今後アクセスするジョブ0111を予測した結果を格納するテーブルである。
ジョブアクセス予測テーブル1301は、配置単位ID1311と、ジョブ関連ID1312と、要求性能1313と、アクセス予測日時1314とをカラムに持つテーブルである。配置単位ID1311と、ジョブ関連ID1312と、要求性能1313と、アクセス予測日時1314とには、ジョブアクセス予測部0213が、配置単位に対するアクセスを予測し、前記アクセスを予測した配置単位を一意に識別するためのIDと、当該配置単位にアクセスするジョブ0111のIDと、アクセス時の要求性能と、当該配置単位にアクセスが予測される日時とを格納する。配置単位に対するジョブアクセスの予測ステップの詳細については、図18にて後記する。
図14は、アラートテーブル1401を示す図である。アラートテーブル1401は、アラート記憶領域0244を構成するテーブルであり、ジョブアクセス履歴判定部0212が配置単位に対して予期せぬジョブ0111がアクセスした、又は、アクセスしたジョブ0111が未定義と判定した結果を格納するテーブルである。アラートテーブル1411は、アラートID1411と、配置単位ID1412と、ジョブID1413と、ジョブ関連ID1414と、アラート発生日時1415とをカラムに持つテーブルである。
図15は、ユーザ定義入力部0201が管理クライアント0107よりボリュームの管理情報とジョブ0111の定義を受け付け、格納する処理をフローチャートで表した図である。
ステップS1501では、ユーザ定義入力部0201は、管理クライアント0107へボリューム(論理ボリューム0125と仮想論理ボリューム0127)の構成情報を送出し、その後、前記送出したボリュームについての管理情報を管理クライアント0107より受け付ける。ステップS1501でボリュームの構成情報を送出する順序は、論理ボリューム0125、仮想論理ボリューム0127とする。なお、ステップS1501で受け付けるボリュームの管理情報とは、論理ボリューム0125のストレージプール0126におけるストレージ階層と、仮想論理ボリューム0127を拡張する際に割り当てるページの論理ボリューム格納ページデータが格納されている論理ボリュームのストレージ階層と、前記仮想論理ボリュームの既存ページへのアクセスが当面予定されていない際にそのページの論理ボリューム格納ページデータを格納する論理ボリュームのストレージ階層とを指す。
ステップS1502では、ユーザ定義入力部0201は、ステップS1501で受け付けたボリュームの管理情報を格納する。論理ボリューム0125のストレージプールにおけるストレージ階層の情報はストレージ階層0713に格納し、仮想論理ボリューム0127の新規ページを書き込むストレージ階層の情報はページ割り当て階層0813に格納する。
ステップS1503では、ユーザ定義入力部0201は、ステップS1501で受け付けたボリュームが仮想論理ボリューム0127であるか調べ、仮想論理ボリューム0127である場合にはステップS1504に進み、そうでない場合にはステップS1512へ進む。
ステップS1504では、ユーザ定義入力部0201は、当該仮想論理ボリュームを拡張する際に割り当てるページの条件として、ページの論理ボリューム格納ページデータが格納されている論理ボリュームをストレージ装置0102の仮想論理ボリューム拡張ポリシー指定機能に指示する。具体的には仮想論理ボリューム管理テーブル0801から、当該仮想論理ボリュームのストレージプールID0812を取得し、ストレージプール管理テーブル0701から、ストレージプールID0711が前記手順のストレージプールIDに同一、且つ、ストレージ階層0713がステップS1501で取得した当該仮想論理ボリュームのページ割り当てストレージ階層0811と同一、の論理ボリュームID0712を取得する。
ステップS1511乃至S1512は、ステップS1501乃至ステップS1504までの処理をボリュームごとに実行する。
ステップS1521乃至S1522は、ステップS1511乃至ステップS1512までの処理をストレージプールごとに実行する。
ステップS1505では、ユーザ定義入力部0201は、管理クライアント0107よりジョブ0111の管理情報を受け付ける。
ステップS1506では、ユーザ定義入力部0201は、ステップS1505で受け付けた情報をジョブ定義記憶領域0241のジョブ管理テーブル1001に格納する。
ステップS1513乃至S1514ではステップS1505乃至S1506までの処理をジョブごとに実行する。
ステップS1507では、ユーザ定義入力部0201は、管理クライアント0107よりジョブ間の関連情報を受け付ける。
ステップS1508では、ユーザ定義入力部0201は、ステップS1507で受け付けた情報をジョブ定義記憶領域0241のジョブ関連テーブル1101に格納する。
ステップS1515乃至S1516ではステップS1507乃至S1508までの処理をジョブ関連ごとに実行する。
図16は、情報取得部0211の処理をフローチャートで表した図である。情報取得部0211は、ストレージ装置0102から情報を取得し、格納し、ジョブアクセス履歴判定部0212を起動し、前記ジョブアクセス履歴判定部0212の実行後にジョブアクセス予測部0213を起動し、再配置予測プログラム0138を起動する。
ステップS1601では、情報取得部0211は、ストレージ装置0102より情報を取得する指定時間まで待機し、指定時間になるとステップS1602に進む。ここで、指定時間とは、ユーザが指定する時間に限定されるものではなく、毎時や2時間毎などの定期的な実行も表す。
ステップS1602では、情報取得部0211は、ストレージ装置0102より論理記憶領域の構成テーブルの情報を取得する。なお、前記構成テーブルの情報とは、ストレージ装置0102のメモリ0122に格納されているRAIDグループ構成テーブルと、論理ボリューム構成テーブルと、仮想論理ボリューム構成テーブルと、ページ構成テーブルとを表す。
ステップS1603では、情報取得部0211は、ステップS1602でストレージ装置0102より取得した構成テーブルの情報を構成情報記憶領域0242のストレージプールと、論理ボリューム関連テーブル0701と、仮想論理ボリューム管理テーブル0401と、ページ管理テーブル0901とに格納する。
ステップS1604では、情報取得部0211は、ストレージ装置0102のメモリ0122に格納されているアクセス情報テーブルから、当該仮想論理ボリュームに属すページ0128の最終アクセス情報を取得する。本実施例では、最終アクセス情報を用いた方法を示すが、アクセス履歴などを用いてもよい。
ステップS1605では、情報取得部0211は、当該仮想論理ボリュームのアクセス情報取得日時0814をメモリ0132に展開し、当該仮想論理ボリュームのアクセス情報取得日時0814をアクセス情報の取得日時で更新する。
ステップS1606では、情報取得部0211は、仮想論理ボリューム0127の構成情報とアクセス情報とを送出し、ジョブアクセス履歴判定部0212を起動する。ジョブアクセス履歴判定部0212の詳細な処理については、図17を用いて後記する。
ステップS1611乃至S1612では、ステップS1606の処理を、ステップS1604で取得したボリュームから取得したアクセス情報ごとに繰り返す。
ステップS1607では、情報取得部0211は、ステップS1605で取得したボリュームのアクセス情報取得日時0814を送出し、ジョブアクセス予測部0213を起動する。ジョブアクセス予測部0213の詳細な処理については、図18を用いて後記する。
ステップS1621乃至S1622では、ステップS1604乃至S1607までの処理を、仮想論理ボリューム0127ごとに繰り返す。
ステップS1608では、情報取得部0211は、再配置プログラムを起動し、その後ステップS1601に戻り指定時間まで待機する。
図17は、ジョブアクセス履歴判定部0212が情報取得部0211より受け付けたページ0128のアクセス情報に対して、アクセスしたジョブ0111を推定し、推定結果をジョブアクセス履歴テーブル1201に格納する処理をフローチャートで表した図である。
ステップS1701では、ジョブアクセス履歴判定部0212は、当該アクセス情報に含まれるアクセスされたページについて、ページの情報をページ管理テーブル0901より取得する。
ステップS1702では、当該アクセス日時に当該ページの属する仮想論理ボリューム0127に実行されたジョブがあるか調べる。ステップS1702では、ジョブアクセス履歴判定部0212は、ジョブ管理テーブル1001及びジョブ関連テーブル1101のデータをジョブID1011とジョブID1114によって内部結合し、以下の条件の双方を満たすジョブのレコードを取得する。ジョブのレコードを取得できた場合には、ステップS1703に進み、取得できなかった場合には、ステップS1710に進む。
・関連ボリュームID1112が、ステップS1701で取得した当該ページの仮想論理ボリュームID0912と同一
・実行日1013と実行時間1014が、当該アクセス情報のアクセス日時に当てはまる。
ステップS1703は、当該アクセスによって当該ページに対して新規データが格納された可能性があるかを判別するステップである。ジョブアクセス履歴判定部0212は、ステップS1703では新規データを格納するアクセスを推定し、後記するステップS1706では前記アクセスをしたジョブを推定し、ジョブアクセス履歴としてジョブアクセス履歴テーブル1201に格納する。
当該アクセスが新規データを格納する可能性を判定する理由は、新規データの格納するアクセスをするジョブは、それ以外のジョブの格納するデータに依存しておらず、一連のジョブの関連において最初のジョブであると考えられ、当該アクセス以降にアクセスするジョブをジョブアクセス予測部0213が当該アクセス履歴を基に予測する必要があるためである。なお、新しいページが割り当てられた場合、当該ページに新規データが格納される事はないため、当該ページへのアクセス日時が、前記仮想論理ボリュームに前記以外のページが割り当てられるまでの期間である場合に、アクセスが新規データを格納する可能性があるとする。
ページ0128への全てのアクセスは上記1つめの条件を必ず満たしているため、上記2つめの条件を調べることにより当該アクセスが新規データを格納するアクセスであるかを判定できる。ステップS1703は、上記2つめの条件の対偶を調べることにより、上記2つめの条件を満たすことを判定するステップである。
ステップS1703では、ジョブアクセス履歴判定部0212は、ページ管理テーブル0901より以下の条件の双方を満たすページを取得する。ページを取得できなかった場合にはステップS1704へ進み、取得できた場合にはステップS1705へ進む。
・仮想論理ボリュームID0912が、当該ページの仮想論理ボリュームID0912と同一
・ページ割り当て日時0914が、当該ページの割り当て日時以降で、且つ、当該アクセスのアクセス日時より前。
ステップS1704では、ジョブアクセス履歴判定部0212は、当該ページに対して新規データの格納が実行された可能性があるため、新規データ格納フラグに1を入れる。
ステップS1705では、ジョブアクセス履歴判定部0212は、当該ページに対して新規データの格納が実行された可能性がないため、新規データ格納フラグに0を入れる。
ステップS1706は、ジョブアクセステーブル1201に新規データを格納するジョブからのアクセス履歴を格納するステップである。ステップS1706では、ジョブアクセス履歴判定部0212は、ステップS1702で取得したジョブ0111から、新規データ格納をするジョブ0111を推定し、当該アクセスが前記ジョブからアクセスされたとしてジョブアクセス履歴をジョブアクセス履歴テーブル1201に格納する。もし、新規データを格納するジョブ0111がステップS1702で取得した前記ジョブに含まれていなかった場合には、ジョブアクセス履歴を格納せず新規データ格納フラグを0にして、ステップS1707へ進む。なお、前記新規データ格納をするジョブは、ステップS1702で取得した前記ジョブの基点ジョブ関連ID1113が、基点ジョブ関連ID1113が”−“、のジョブである。
ステップS1711は、ジョブアクセス予測部0213を呼び出しステップS1706で格納したジョブアクセス履歴以降に当該ページへのジョブアクセスを予測し、前記予測結果をジョブアクセス予測テーブル1301に格納するステップである。ステップS1711の詳細なステップについては、図19を用いて後記する。
ステップS1707は、当該アクセスにおいて、格納済みのデータを更新した、又は、読み出したジョブを推定するステップである。前記ジョブの推定は、ステップS1702で取得したジョブからのアクセスが予測されていたかどうかによって推定する。ステップS1707では、ジョブアクセス履歴判定部0212は、ジョブアクセス予測テーブル1301から以下の条件を満たすレコードを取得する。前記取得ができた場合にはステップS1708に進み、前記取得ができなかった場合にはステップS1709に進む。
・配置単位ID1311が、当該ページ のIDと同一
・ジョブ関連ID1312が、ステップS1702で取得したレコードのうち基点ジョブ関連IDが”−“ではないレコードのジョブ関連ID1111に含まれる。
なお、ジョブアクセス予測によって前記ジョブの推定が可能なのは、データの更新、又は、読み出すジョブは、前記ジョブ以外のジョブが事前に格納するデータに対して実行される。そのため、前記ジョブは、事前にデータを格納するジョブに依存しているといえる。本実施例において、あるジョブに依存するジョブからのアクセスは事前にジョブアクセス予測テーブル1301に格納されているため、当該アクセスにおいて、更新又は読み込みをするジョブはジョブアクセス予測テーブル1301より取得できるためである。
ステップS1708では、ジョブアクセス履歴判定部0212は、前記取得したジョブアクセス予測どおりのアクセスがあったとして、ステップS1707で取得したジョブについての、ジョブアクセス履歴をジョブアクセス履歴テーブル1201に格納する。
ステップS1709は、当該アクセスをしたジョブが推定できたかを判定するステップである。ステップS1709では、ジョブアクセス履歴判定部0212は、新規データフラグが1であるか調べ、1であった場合にはジョブアクセス履歴判定部0212の処理を終了し、1でなかった場合にはステップS1710に進む。
ステップS1710では、ジョブアクセス履歴判定部0212は、ページにアクセスしたジョブを特定できなかったため、アラートテーブル1001に情報を格納しジョブアクセス履歴判定部の処理を終了する。
図18は、ジョブアクセス予測部0213が今後配置単位に発生するアクセスを予測し、予測結果をジョブアクセス予測テーブル1301に格納する処理をフローチャートで表した図である。
ステップS1803は、ジョブアクセス予測テーブル1301から、前回のジョブアクセス予測部0213の処理から現在の間に、アクセスを予測していたジョブアクセスを取得する処理である。
ステップS1803では、ジョブアクセス予測部0213は、ジョブアクセス予測テーブル1301とページ管理テーブル0901とを配置単位ID1311とページID0911とによって内部結合して、以下の条件の両方を満たすレコードを取得する。
・仮想論理ボリュームID0912が、当該ボリューム
のIDと同一
・アクセス予測日時1314が、情報取得部0211より受け付けたボリュームのアクセス情報取得日から現時間までの期間内
ステップS1804は、ジョブアクセス予測に当てはまるジョブアクセス履歴を取得するステップである。当該ステップで、アクセス履歴を取得できた場合には、予測があっていたと判断し、そうでない場合には予測があっていなかったと判断して以降の処理を進める。ステップS1804では、ジョブアクセス予測部0213は、ジョブアクセス履歴テーブル1201から、以下の条件全てを満たすジョブアクセス履歴を取得する。ジョブアクセス履歴を取得できた場合にはステップS1805に進み、取得できなかった場合にはステップS1814に進む。
・配置単位ID1211が、ステップS1803で取得した当該ジョブアクセス予測の配置単位ID1311と同一
・ジョブ関連ID1212が、当該ジョブアクセス予測のジョブ関連ID1312と同一
・アクセス日時1215が、当該ジョブアクセス予測のアクセス予測日時1314期間内。
なお、本実施例ではステップS1804においてジョブアクセス履歴が取得できなかった場合、つまり、予測していたタイミングでのアクセスがなかった場合においても以降の予測を変更しないが、予測していたタイミングでのアクセスがなかった際に、前記予測をしている配置単位の今後の予測を削除することにより以降の再配置を防ぐこともできる。
ステップS1805は、今後も同一の配置単位に対して同一のジョブ関連でのアクセスが予測されているか調べるステップである。ステップS1805では、ジョブアクセス予測部0213は、ジョブアクセス予測テーブル1301から、以下の条件全てを満たすジョブアクセス予測を取得する。ジョブアクセス予測が取得できなかった場合にはステップS1806に進み、取得できた場合にはステップS1814に進む。
・配置単位ID1311が、当該ジョブアクセス予測と同一
・アクセス予測日時1314が、当該ジョブアクセス予測のアクセス予測日時1314よりも後の日時である。
ステップS1806では、ステップS1804で取得した前記ジョブアクセス履歴情報を用いて、ジョブ関連テーブル1101で定義されている次のジョブについてジョブがアクセスする日時を予測し、予測結果をジョブアクセス予測テーブル1301に格納する。ジョブアクセス履歴以降のジョブアクセス予測の詳細な処理については、図19を用いて後記する。
ステップS1813乃至S1814では、ステップS1804乃至ステップS1806の処理をステップS1803で取得したジョブアクセスごとに繰り返す。
図19は、ジョブアクセス予測部0213が配置単位に対してジョブアクセス履歴のアクセス日時以降にアクセスするジョブ0111を予測する処理をフローチャートで表した図である。
ステップS1901は、当該フローの入力であるジョブアクセス履歴の次に実行するジョブを取得するステップである。ステップS1901では、ジョブ関連テーブル1101とページ管理テーブル0901のレコードを、関連ボリュームID1112と仮想論理ボリューム0912によって内部結合して取得する。取得するレコードは、以下の条件の両方を満たす。
・ページID0911が、当該フローの入力であるジョブアクセス履歴の配置単位ID1211と同一である。
・基点ジョブ関連ID1113が、当該フローの入力であるジョブ関連ID1212と同一である。
ステップS1902では、ステップS1901でジョブ関連が取得できた場合にはステップS1903に進み、ジョブ関連が取得できなかった場合には当該フローを終了する。
ステップS1903では、ジョブ管理テーブル1001から、ジョブID1011が、ステップS1901で取得したジョブ関連のジョブID1114と同一のデータを取得する。前記取得したジョブ管理データの実行日1013と、実行時間帯1014と、処理対象基点1015と、処理対象期間1016からジョブ0111が実行される日時を算出する。
ステップS1904では、ステップS1903で算出したジョブアクセス予測をジョブアクセス予測テーブル1301に格納する。
図19のフローチャートについて例を挙げて具体に示す。図12のジョブアクセス履歴テーブル1201の配置単位ID1211が4のジョブアクセス履歴についてジョブのアクセス予測をするとする。
ステップS1901では、ジョブ関連テーブル1101とページ管理テーブル0901とを、関連ボリュームID1112と仮想論理ボリュームID0912によって内部結合したテーブルから、ページID0911が4、且つ、基点ジョブ関連ID1113が1のデータを取得する。ステップS1902では、本例はジョブ関連ID1111が2と、3のレコードが取得できるため、ステップS1903に進むことになる。ステップS1903では、前記取得したレコードのジョブIDが、2と3であるため、ジョブ管理テーブル1001よりジョブID1011が2又は3であるデータを取得する。
前記取得したジョブIDが2のレコードは、処理対象基点1015と処理対象期間1016から、新規データ格納後1週間はアクセスする可能性があることを表している。当該ジョブアクセス履歴のレコードの新規データ格納1216が1であることから、当該レコードのアクセス日時から1週間はジョブID2からのアクセスがあることが予測できる。また、実行日1013と実行時間帯1014から、実行日が日曜の1時から2時であるため、次のアクセスが2009年7月19日(日)の1時から2時であると予測できる。同様にして、ジョブIDが3のレコードからのアクセスは、8月2日(日)の1時から2時であると予測できる。
ステップS1904では、前記予測結果をジョブアクセス予測テーブル1301に格納する。図10のジョブアクセス予測テーブル1301には、前記予測のジョブIDが2と3からのアクセス予測は、配置単位ID1311が4と5のレコードとして格納されている。配置単位ID1311とアクセス予測日時には、ジョブアクセスを予測した配置単位のIDである4と、各アクセス予測日時とを格納する。また、ジョブ関連ID1312と要求性能1313には、各予測で使用したステップS1901で取得したレコードのジョブ関連ID1111と、要求性能1012とを格納する。
図20は、再配置実行部0221が各配置単位に対して再配置の要否を判定し、再配置が必要と判断した配置単位を再配置する処理をフローチャートで表した図である。
再配置実行部0221は、今後再配置バッファ時間内に配置されるべきストレージ階層(配置階層)と現在のページ0128の論理ボリューム格納ページデータの格納されている論理ボリュームの属すストレージ階層が異なる場合に再配置が必要と判断する。なお、配置階層とは、再配置バッファ時間内にアクセスが予測される場合には、予測されるアクセスの中で最も要求性能が高いアクセスに見合うストレージ階層を指し、再配置バッファ時間内のアクセスがないと予測している場合には、仮想管理ボリューム0127に設定したアクセス途絶時配置階層0815を指す。
ステップS2001では、再配置実行部0221は、再配置の判定処理及び再配置処理を指定時間、又は、情報取得部0211により呼び出されるまで待機し、指定時間、又は、呼び出された際にステップS2002に進む。ここで、指定時間とは、ユーザが指定する時間に限定されるものではなく、毎時などの定期的な実行も表す。
ステップS2002では、再配置実行部0221は、ページ管理テーブル0901と仮想論理ボリューム管理テーブル0801を、仮想論理ボリュームID0912と仮想論理ボリュームID0811によって内部結合してデータを取得する。ここで取得したデータを用いてステップS2003乃至S2009の処理を行う。
ステップS2003は、配置単位に対するジョブアクセス予測のうち、今後、ジョブが再配置バッファ時間以内にアクセスすると予測しているジョブアクセス予測を取得するステップである。ステップS2003では、再配置実行部0221は、ジョブアクセス予測テーブル1301とジョブ管理テーブル1001をジョブ関連ID1312とジョブID1011で内部結合したテーブルから、以下の条件の双方を満たすデータを取得する。
・配置単位ID1311が、当該ページのIDと同一である。
・アクセス予測日時1314が、現日時に再配置バッファ時間0619を足し合わせた日時よりも小さい。
ステップS2004では、再配置実行部0221は、ステップS2003で1件以上取得できた場合にはステップS2005に進み、1件も取得できなかった場合にステップS2006に進む。
ステップS2005では、再配置実行部0221は、ステップS2003で取得したジョブアクセス予測の中で最も高い要求性能1313につりあうストレージ階層を配置階層とする。
ステップS2006では、再配置実行部0221は、ステップS2002で取得した当該ページのアクセス途絶時配置階層0815を配置階層とする。
ステップS2007では、再配置実行部0221は、当該ページの論理ボリューム格納ページデータの格納されている論理ボリューム0125の属するストレージ階層0913と、ステップS2005、又は、ステップS2006で決定した配置階層とを比較する。前記比較の結果、異なっていればステップS2008に進み、同一であれば当該ページの処理を終了する。
ステップS2008では、ストレージプール管理テーブル0701から、以下の条件の双方を満たす論理ボリュームIDを取得する。
・ストレージプールID0711が、当該ページのストレージプールID0812と同一
・ストレージ階層0713が、配置階層と同一。
前記取得した1つ又は複数の論理ボリュームIDの指す論理ボリュームより、当該ページを任意の論理ボリューム0125に再配置する指示をストレージ装置0102に送出し、マイグレーション機能によって当該ページを再配置する。なお、本実施例では、任意の論理ボリューム0125にページ0128を再配置するが、各論理ボリュームの性能や使用容量に応じて選択することもできる。
ステップS2009では、ストレージ装置0102が再配置を完了した後に、ページ管理テーブル0901における当該ページを指すレコードのストレージ階層0913カラムを配置階層の値に更新する。
ステップS2011乃至S2012では、ステップS2001乃至ステップS2009までの処理をページ単位ごとに実行する
図21は、アラート表示部0231が管理クライアント0107から受け付けたアラート表示要求にしたがってアラートを表示する処理のフローを表したものである。
ステップS2101では、アラート表示部0231は、管理クライアント0107からアラート表示の要求を受け付ける。
ステップS2102では、アラート表示部0231は、アラートテーブル1001からデータを取得する。
ステップS2103では、ステップS2102でアラートが取得できた場合にはステップS2104へ進み、取得できなかった場合にはステップS2105へ進む。
ステップS2104では、アラート表示部0231は、ステップS2102で取得したアラートの情報を管理クライアント0107に送出する。
ステップS2105では、アラート表示部0231は、アラートがない旨を管理クライアントに0107に送出する。
次に実施例2について、本発明の実施例の一例を示す。実施例1との主な相違点は、1.配置単位がページではなく論理ボリュームである。2.ジョブと関連するボリュームが、仮想論理ボリュームではなく論理ボリュームの集合である論理ボリュームグループである。の二つである。以下図を使って説明する。
図22は、論理ボリュームグループ管理テーブル2201を示す図である。図22の論理ボリュームグループ管理テーブルは図8の仮想論理ボリューム管理テーブルを変更したものである。これはジョブと関連するボリュームが仮想論理ボリュームから論理ボリュームグループに変更になったためである。
論理ボリュームグループ管理テーブル2201は、構成情報記憶領域0242を構成するテーブルの1つであり、1つ又は複数の論理ボリュームの集合を表す論理ボリュームグループの情報を格納するテーブルである。論理ボリュームグループ管理テーブル2201は、論理ボリュームグループID2201と、アクセス途絶時配置階層2212とをカラムに持つテーブルである。論理ボリュームグループID2201と、アクセス途絶時配置階層2212とには、ユーザ定義入力部0201が管理クライアント0107から論理ボリュームグループを一意に識別するためのIDと、当該論理ボリュームグループを構成する論理ボリューム0125へのアクセスが当面予定されていない際に前記論理ボリュームを配置するストレージ階層とを取得し、格納する。
図23は、論理ボリューム管理テーブル2301を示す図である。図9のページ管理テーブル0901は、配置単位がページから論理ボリュームに変更になったため、図23の論理ボリューム管理テーブル2301に変更になる。論理ボリューム管理テーブル2301は、構成情報記憶領域0242を構成するテーブルの1つであり、論理ボリューム0125の情報を格納するテーブルである。論理ボリューム管理テーブル2301は、論理ボリュームID2311と、ストレージ階層2312と、論理ボリュームグループID2313と、容量2314と、アクセス情報取得日時2315と、割当先業務サーバ0516をカラムに持つテーブルである。
論理ボリューム管理テーブル2301は、論理ボリュームID2311と、容量2314と、割当先業務サーバ2316とには、情報取得部0211がストレージ装置0102から論理ボリューム0125を一意に識別するためのIDと、当該論理ボリュームの容量と、論理ボリューム0125を割り当てた業務サーバを一意に識別するIDを取得し、格納する。また、ストレージ階層2312と、論理ボリュームグループID2313とは、ユーザ定義入力部0201が管理クライアント0107から当該論理ボリュームの属するストレージ階層と、論理ボリュームグループIDとを取得し、格納する。アクセス情報取得日時2315には、情報取得部0211が、配置単位のアクセス情報を取得した際にその日時を格納する。
図11のジョブ関連テーブル1101は実施例1の同様である。但し、実施例1では、関連ボリュームID1112に仮想論理ボリュームのIDを格納していたが、実施例2では論理ボリュームグループのIDを格納する。
図12のジョブアクセス履歴テーブル1201は、実施例1と同様である。但し、ページと記載されている箇所については、論理ボリューム0125になる。また、ストレージ階層1213の定義は、情報取得部0211が論理ボリューム管理テーブル2301aより当該配置単位(論理ボリューム)のストレージ階層2312aを取得し、前記情報とあわせてジョブアクセス履歴判定部0212に送出するとなる。
図15のユーザ定義入力部0201の処理を表すフローチャートとその説明は、以下の部分が異なる。
ステップS1501では、ユーザ定義入力部0201は、管理クライアント0107へボリューム(論理ボリューム0125と論理ボリュームグループ)の情報を送出し、送出したボリュームの管理情報を受け付ける。ステップS1401aでは、ボリュームの情報を送出し管理情報を受け付ける順序は、論理ボリュームグループ、論理ボリューム0125とする。ステップS1501で受け付けるボリュームの管理情報とは、論理ボリュームグループの論理ボリューム0125へのアクセスが当面予定されていない際に前記論理ボリュームを配置するストレージ階層と,論理ボリューム0125の属すストレージ階層と論理ボリュームグループのIDとを指す。
ステップS1502では、ユーザ定義入力部0201は、ステップS1501で受け付けたボリュームの管理情報を格納する。論理ボリュームグループのストレージ階層の情報はアクセス途絶時配置階層2212に格納する。論理ボリューム0125の属すストレージ階層の情報はストレージ階層2312a、論理ボリュームグループのIDは論理ボリュームグループID2313aに格納する。ステップS1501乃至ステップS1502をボリューム(論理ボリューム0125と論理ボリュームグループ)ごとに繰り返す(ステップS1511乃至S1512)。
図16の情報取得部0211の処理を表すフローチャートは、実施例1と同様である。但し以下のステップは下記処理に変化する。
ステップS1602では、情報取得部0211は、ストレージ装置0102より図9で示した論理ボリュームの構成情報を取得する。
ステップS1603では、情報取得部0211は、ステップS1602でストレージ装置0102より取得した構成情報を論理ボリューム構成情報テーブルに格納する。
ステップS1604では、情報取得部0211は、ストレージ装置0102より論理ボリューム0125の最終アクセス情報を取得する。本実施例では、最終アクセス情報を用いた方法を示すが、アクセス履歴などを用いてもよい。
ステップS1605では、情報取得部0211は、ステップS1604で最終アクセス情報を取得した当該論理ボリュームのアクセス情報取得日時2315をアクセス情報の取得日時で更新する。
ステップS1606では、情報取得部0211は、論理ボリューム0125の構成情報とアクセス情報を送出し、ジョブアクセス履歴判定部0212を起動する。ジョブアクセス履歴判定部0212の詳細な処理については、図24を用いて後記する。
ステップS1602の処理を、ステップS1604で取得したボリュームから取得したアクセスごとに繰り返す(ステップS1611乃至S1612)。
ステップS1607では、情報取得部0211は、ステップS1605で取得したボリュームのアクセス情報取得日時0814を送出し、ジョブアクセス予測部0213を起動する。ステップS1604乃至S1607までの処理を、論理ボリューム0125ごとに繰り返す(ステップS1621乃至S1622)
図24は、ジョブアクセス履歴判定部0212が情報取得部0211より受け付けた論理ボリューム0125のアクセス情報に対して、アクセスしたジョブ0111を推定し、推定結果をジョブアクセス履歴テーブル1201に格納する処理をフローチャートで表した図である。
ステップS2402では、当該アクセス日時に当該論理ボリューム0125に対して実行されたジョブがあるか調べる。ステップS2402では、ジョブアクセス履歴判定部0212は、ジョブ管理テーブル1001及びジョブ関連テーブル1101のデータをジョブID1011とジョブID1114を内部結合し以下の条件の双方を満たすジョブの情報を取得する。ジョブの情報を取得できた場合には、ステップS2403に進み、取得できなかった場合には、ステップS2410に進む。
・関連ボリュームID1112が、当該論理ボリュームID2311と同一である
・実行日1013と実行時間1014が、当該アクセス情報のアクセス日時に当てはまる。
ステップS2403は、ステップS2402で取得した前記ジョブから始まる一連のジョブの有無を調べることにより、当該アクセスが当該論理ボリュームに対する新たなジョブ依存関係の始まりを示すジョブ0111によるものかを確認する。ジョブ依存関係の始まりは、新規データの格納によってもたらされるため、上記確認のフラグ等を、新規データ格納、と呼ぶ。具体的には、ジョブ関連テーブル1101から、以下の条件全てを満たすジョブを取得することにより確認する。ジョブが取得できた場合には、ステップS2404に進み、取得できなかった場合にはS2405へ進む。
・関連ボリュームID1112が、当該論理ボリュームのIDと同一である
・基点ジョブ関連ID1113が、“−”である
・ジョブID1114が、ステップS2402で取得したジョブIDに含まれる。
ステップS2404では、ジョブアクセス履歴判定部0212は、新たなジョブ依存関係の始まりを示すジョブ0111が実行された可能性があるため、新規データ格納フラグに1を入れる。
ステップS2405では、ジョブアクセス履歴判定部0212は、新たなジョブ依存関係の始まりを示すジョブ0111が実行された可能性がないため、新規データ格納フラグに0を入れる。
ステップS2406では、ジョブアクセス履歴判定部0212は、ステップS2403で取得したジョブ0111について、ジョブアクセス履歴をジョブアクセス履歴テーブル1201に格納する。この際、新規データ格納1216には1を格納する。
ステップS2411は、ジョブアクセス予測部0213を呼び出しステップS2406で格納したジョブアクセス履歴以降に当該ページへのジョブアクセスを予測し、前記予測結果をジョブアクセス予測テーブル1301に格納するステップである。ステップS2411の詳細なステップについては、図19を用いて示す。
ステップS2407は、ステップS2406で格納した新規データを書き込むジョブ以外の当該アクセスをするジョブ、すなわち、格納済みのデータを更新する、又は、読み出す、ジョブを判定する。前記ジョブは、事前に格納されたデータに対して処理するジョブのため、事前にあるジョブが格納したデータについて処理をしていると考えることができる。つまり、前記ジョブはあるジョブに依存しているといえる。本実施例において、あるジョブに依存しているジョブからのアクセスは事前にジョブアクセス予測テーブル1301に格納されているため、当該アクセスをするジョブはジョブアクセス予測テーブル1301より取得できるはずである。
ステップS2407では、ジョブアクセス履歴判定部0212は、ジョブアクセス予測テーブル1301から、当該アクセスのアクセス日時にステップS2402で取得したジョブからのアクセスを予測しているジョブアクセス予測を取得する。ジョブアクセス予測を取得できた場合にはステップS2408へ進み、取得できなかった場合にはステップS2423へ進む。
ステップS2408では、ジョブアクセス履歴判定部0212は、前記取得したジョブアクセス予測どおりのアクセスがあったとして、ステップS2407で取得したジョブについての、ジョブアクセス履歴を格納する。
ステップS2409では、ジョブアクセス履歴判定部0212は、新規データフラグが1であるか調べ、1であった場合にはジョブアクセス履歴判定部0212の処理を終了し、1でなかった場合にはステップS2410に進む。これは、新規データフラグが1である場合は、当該アクセスをするジョブとして新規データを格納するジョブを推定しているが、0の場合にはジョブを推定できていないためアラートをあげる処理をするためである。
ステップS2410では、ジョブアクセス履歴判定部0212は、ページにアクセスしたジョブを特定できなかったため、アラートテーブル1001に情報を格納しジョブアクセス履歴判定部の処理を終了する。
本実施例では、ジョブアクセス履歴判定部0212は、ストレージ装置0102から取得する論理ボリューム0125へのアクセス情報とジョブ管理テーブル1001とジョブ関連テーブル1101の情報を用いて、論理ボリューム0125にアクセスしたジョブ0111を推定している。その代わりに、業務サーバ0101をLAN0106に接続し、管理サーバ0103が業務サーバ0101より業務サーバのアクセス先の情報とアクセスを発行したジョブの情報を取得する際には、ジョブ0111と論理ボリューム0125へのアクセスのマッピングを取得してもよい。
図18のジョブアクセス予測部0213の処理を示すフローチャートは、実施例1と同様である。但し、ステップS1801において、ジョブアクセス予測部0123は、ジョブアクセス履歴テーブル1201から、以下の条件全てを満たすデータを取得する。
・配置単位ID1211が、当該論理ボリュームのIDと同一である
・新規データ格納1216が1である
・アクセス日時1215が、情報取得部0211より受信したボリュームのアクセス情報取得日から現時間までの期間内である。
この処理は、前回のジョブアクセス予測部0213実行以降に格納されたジョブアクセス履歴から、新規データを格納しているジョブのジョブアクセス履歴を取得する処理である。
ステップS1803では、ジョブアクセス予測部0213は、ジョブアクセス予測テーブル1301から、配置単位ID1311が当該論理ボリュームのIDと同一、且つ、アクセス予測日時1314が情報取得部0211より送出されたボリュームのアクセス情報取得日から現時間までの期間内、であるデータを取得する。ステップS1803は、前回のジョブアクセス予測部0213実行以降にアクセス予測日時1314を経過したジョブアクセス予測を取得する処理である。
図20の再配置実行部0221の処理を示すフローチャートは、実施例1と同様である。但し、再配置実行部0221は、今後再配置バッファ時間内に配置されるべきストレージ階層(配置階層)と論理ボリューム0125のストレージ階層が異なる場合に再配置が必要と判断する。なお、配置階層とは、再配置バッファ時間内にアクセスが予測される場合には、予測されるアクセスの中で最も要求性能が高いアクセスに見合うストレージ階層を指し、再配置バッファ時間内のアクセスがないと予測している場合には、論理ボリュームグループに設定したアクセス途絶時配置階層2212を指す。
ステップS2001では、再配置実行部0221は、再配置の判定処理及び再配置処理を指定時間、又は、情報取得部0211により呼び出されるまで待機し、指定時間、又は、呼び出された際にステップS2002に進む。ここで、指定時間とは、ユーザが指定する時間に限定されるものではなく、毎時などの定期的な実行も表す。
ステップS2002では、再配置実行部0221は、論理ボリューム管理テーブル2301と論理ボリュームグループ管理テーブル2201のデータを、論理ボリュームグループID2313と論理ボリュームグループID2211を内部結合して取得する。ここで取得したデータを用いてステップS2003乃至S2009の処理を行う。
ステップS2003では、再配置実行部0221は、ジョブアクセス予測テーブル1301とジョブ管理テーブル1001をジョブ関連ID1312とジョブID1011で内部結合したテーブルから、以下の条件の双方を満たすデータを取得する。
・配置単位ID1311が、当該論理ボリュームのIDと同一である
・アクセス予測日時1314が、現日時に再配置バッファ時間0619を足し合わせた日時よりも小さい。
ステップS2003は、配置単位に対するジョブアクセス予測のうち、今後、ジョブが再配置バッファ時間以内にアクセスすると予測しているジョブアクセス予測を取得するステップである。
ステップS2004では、再配置実行部0221は、ステップS2003で1件以上取得できた場合にはステップS2005に進み、1件も取得できなかった場合にステップS2006に進む。
ステップS2005では、再配置実行部0221は、ステップS2003で取得したジョブアクセス予測の中で最も高い要求性能1313につりあうストレージ階層を配置階層とする。
ステップS2006では、再配置実行部0221は、ステップS2002で取得した当該論理ボリュームのアクセス途絶時配置階層2212を配置階層とする。
ステップS2007では、再配置実行部0221は、当該論理ボリュームのストレージ階層0913と、ステップS2005、又は、ステップS2006で決定した配置階層とを比較する。前記比較の結果、異なっていればステップS2008に進み、同一であれば当該論理ボリュームの処理を終了する。
ステップS2008では、論理ボリューム管理テーブル2301から、以下の条件の双方を満たす論理ボリュームIDを取得する。
・割り当て先業務サーバ2316aが、“−”である
・ストレージ階層2312aが、配置階層と同一である。
そして、当該論理ボリュームを1つ又は複数の前記論理ボリュームIDの任意の論理ボリュームに再配置する指示をストレージ装置0102に送出する。
ステップS2009では、ストレージ装置0102が再配置を完了した後に、論理ボリューム管理テーブル2301における当該論理ボリュームを指すデータ、及び、前記再配置先にした論理ボリューム、双方のストレージ階層2312カラムを更新する。
ステップS2011乃至S2012では、ステップS2001乃至ステップS2009までの処理を論理ボリューム単位ごとに実行する。
実施例3では、実施例1におけるページへのアクセス結果を元に、仮想論理ボリュームのストレージ階層の構成変化を表示する本発明の実施例の一例を実施例1との差分を示しながら示す。なお、本実施例では配置単位がページの場合の仮想論理ボリュームのストレージ階層の構成変化を示すが、実施例2と同様に配置単位が論理ボリュームの場合にも論理ボリュームグループの構成変化を同様にして示すことができる。
本実施例と実施例1との差分との主な相違点は、以下の2つである。
1.クライアントに構成の変化を表示するための変更
2.仮想論理ボリュームの構成履歴を格納するための変更。
図25の再配置管理ソフトのモジュールは、図6と比べて、ステータス表示プログラム0141に構成変化表示部0232と、再配置プログラム0138に階層判定部0222とが追加される。前記追加されたモジュールについての説明を実施例1の図6の説明に加える。また、追加モジュールによって動作が変更になった再配置実行部0221についても説明する。
構成変化表示部0232は、管理クライアント0107より構成変化を表示する要求により起動され、前記要求にて仮想論理ボリューム0127と表示する期間を受け付け、受け付けた当該仮想論理ボリュームの当該期間における構成変化を管理クライアント0107に表示するモジュールである。構成変化表示部0232が実行するステップの詳細については、図28を用いて後記する。また、表示する画面の例については、図29を用いて後記する。
再配置実行部0221は、実施例1の図6の説明に加え、配置単位の再配置処理終了後に階層判定部0222を呼び出し、階層判定部0222の実行後に待機する。実施例3において変更になったステップの詳細は図28を用いて後記する。
階層判定部0222は、再配置実行部0221により起動され、仮想論理ボリューム0127のストレージ階層の構成を構成情報記憶領域0242に格納するモジュールである。階層判定部0222が格納する情報については図26を用いて、また、階層判定部0222が実行するステップの詳細については図27を用いて後記する。
図26は、仮想論理ボリューム階層履歴テーブル2601を示す図である。仮想論理ボリューム階層履歴テーブル2601は、構成情報記憶領域0242を構成するテーブルの1つであり、仮想論理ボリューム0127のストレージ階層の情報を格納するテーブルである。仮想論理ボリューム階層履歴テーブル2601は、仮想論理ボリュームID2611と、ストレージ階層2612と、容量2613と、構成確認日時2614とをカラムに持つテーブルである。
仮想論理ボリュームID2611には、階層判定部0222がストレージ装置0102から各仮想論理ボリュームを一意に識別するためにストレージ装置内で設定されたIDを取得し、格納する。ストレージ階層2612と、容量2613には、階層判定部0222が当該仮想論理ボリュームを構成するストレージ階層を一意に識別するための階層名と、当該仮想論理ボリュームの当該ストレージ階層の容量を算出し、格納する。構成確認日2614には、階層判定部0222が前記算出時の日時を格納する。なお、前記算出方法については、図27にて後記する。
図27は、階層判定部0222が仮想論理ボリューム0125を構成するストレージ階層ごとにその容量を算出し、仮想論理ボリューム階層履歴テーブル2601に格納する処理をフローチャートで表した図である。
ステップS2701では、階層判定部0222は、仮想論理ボリューム管理テーブル0401から、仮想論理ボリューム0125の一覧を取得する。以降のステップでは、取得した前記仮想論理ボリュームに対して処理を行う。
ステップS2702では、階層判定部0222は、ページ管理テーブル0901から、当該仮想論理ボリュームを構成するページ0128のレコードを取得する。前記レコードを取得する際には、仮想論理ボリュームID0912が当該仮想論理ボリュームのIDと等しい、を条件とする。以降のステップでは、レコードを取得した前記ページの属すストレージ階層ごとにその容量の総和を算出する。
ステップS2703では、階層判定部0222は、ステップS2702で取得した当該ページについて、当該ページの容量を当該ストレージ階層の和に足し合わせる。
ステップS2711乃至S2712では、ステップS2703の処理を、ステップS2702で取得したページごとに繰り返す。
ステップS2704では、階層判定部0222は、ステップS2711乃至S2712を実行し計算した、当該仮想論理ボリュームを構成するストレージ階層ごとの容量の和を仮想論理ボリューム階層履歴テーブル2601に格納する。
ステップS2711乃至S2712では、ステップS2702乃至S2704の処理を、ステップS2701で取得した仮想論理ボリューム0127ごとに繰り返す。
図28は、構成変化表示部0232が、管理クライアント0107から表示要求を受け付けた仮想論理ボリューム0127の構成変化情報を送出する処理をフローチャートで表した図である。
ステップS2801では、構成変化表示部0232は、管理クライアント0107から仮想論理ボリューム0127の構成変化を表示する要求を受け付ける。要求には、表示対象の仮想論理ボリューム0127と、構成変化を表示する期間の情報が含まれる。構成変化表示部0232は、受け付けた期間から表示に使用する時点を算出する。以降のステップでは、前記算出した各時点における当該仮想論理ボリュームのストレージ階層の構成を算出し、管理クライアント0107に送出する。なお、前記時点が過去の場合には、仮想論理ボリューム階層履歴テーブル2601から取得したデータを用い、前記時点が将来の場合には、ジョブアクセス予測テーブル1301を用い、当該仮想論理ボリュームのストレージ階層の構成を算出する。
ステップS2802では、階層判定部0222は、仮想論理ボリューム階層履歴テーブル2601から、前記過去の時点と現時点とにおける、当該仮想論理ボリュームの階層の情報を取得する。取得するデータは、前記時点の直近のデータを使用する。なお、本実施例では、直近のデータを使用するが常に前後一方のデータのいずれかを選択、又は、前後の各ストレージ階層のデータの平均を使用してもよい。
ステップS2803では、階層判定部0222は、ページ管理テーブル0901から当該仮想論理ボリューム0127に割り当てられているページ0128のレコードを取得し、メモリ上にページIDとストレージ階層のデータを展開する。前記ページのレコードを取得する際には、仮想論理ボリュームID0912が当該仮想論理ボリュームのIDと等しい、を条件とする。以降のステップでは、前記メモリ上のページの情報と、ジョブアクセス予測とを用いて、将来の時点における前記ページの論理ボリューム格納ページデータが格納されている論理ボリューム0125のストレージ階層を予測する。
ステップS2804では、階層判定部0222は、再配置実行部0221と類似のステップによって、ページの論理ボリューム格納ページデータが格納されている論理ボリューム0125の配置階層を予測する。階層判定部0222は、各ページについてステップS2002乃至ステップS2005又はS2006、の処理を実行し、各ページの論理ボリューム格納ページデータが格納されている論理ボリューム0125の配置階層を取得する。但し、ステップS2002ではページ管理テーブル0901のデータではなくステップS2803でメモリ上に展開したデータを使用する。また、ステップS2003では現日時ではなく、当該予測時点の日時を使用する。
ステップS2805では、階層判定部0222は、ステップS2803で展開したメモリ上の各ページのストレージ階層をステップS2804の配置階層で更新する。
ステップS2806では、現時点から当該予測時点までの当該仮想論理ボリュームの各ストレージ階層の容量の増加分を算出する。ステップS2802で取得した2時点のデータを用いて各ストレージ階層の単位時間あたりの増加量を算出し、現時点から予測時点までの期間と前記単位あたり増加量との積を求め、ストレージ階層の容量の増加量とする。なお、本実施例では、仮想論理ボリュームの容量の増加量を算出する一例として、ストレージ階層ごとに2時点から算出する単位時間当たりの増加量によって算出する方法があるが、本発明ではこれ以外の方法によって算出することも可能である。
ステップS2807では、予測時点における当該仮想論理ボリュームの各ストレージ階層の容量を算出する。ステップS2805で更新した各ページの情報とステップS2806で算出した各階層の容量の増加分との和を求め、予測時点における当該仮想論理ボリュームの階層の容量とする。
ステップS2811乃至S2812では、ステップS2804乃至S2807までを、予測時点ごとに繰り返す。
ステップS2808では、当該仮想論理ボリュームについて、ステップS2802及びS2807で取得した各階層の容量の情報を用いて、過去、現在、未来の時点における、各階層の容量の推移を示す情報を管理クライアント0107に送出する。前記管理クライアントに送出し、前記管理クライアントが表示する情報の一例として、図29について述べる。
図29は、管理クライアント0107が、構成変化表示部0232から仮想論理ボリューム0127の構成変化を表示する情報を受け付け、表示した例を表す図である。
ストレージ階層構成変化グラフ2911は、仮想論理ボリューム0127のストレージ階層の容量の変化を複数時点にわたり、棒グラフで描いたグラフである。ストレージ階層構成変化グラフ2911は、横軸が日時を表し、縦軸が容量を表す。ストレージ階層構成変化テーブル2920は、仮想論理ボリューム0127のストレージ階層の容量を複数時点にわたり、表したテーブルである。ストレージ階層構成変化テーブル9120の各レコードは、当該仮想論理ボリュームの各階層に対応するレコードと、当該仮想論理ボリュームが使用している容量とが表示されている。また、ストレージ階層構成変化テーブル2920の先頭のカラムはレコードのストレージ階層を表しており、先頭を除く各カラムは日時を表している。
本実施例により、ユーザは仮想論理ボリュームの構成変化を把握することができ、ジョブからのアクセスを予測し前記仮想論理ボリュームを再配置することの効果を把握することができる。また、ユーザは仮想論理ボリュームの構成変化及び、割当量の変化も見ることが出来るため、ディスクの増設時期を検討することが出来る。
なお、実施例1乃至3はどのような組み合わせで実行してもよい。また、ストレージ装置0102、管理サーバ0103、及び業務サーバ0102はクロックを有することで、それぞれの計算機にて時計を管理しているため、厳密には各計算機で管理している時計にはずれがある場合がある。そのため、本発明で時間同士の比較(例えば、同一かどうかの比較や、時間順序、等)を比較する場合は、各々の計算機の時間のずれを考慮した所定のマージン時間を設け、二つの時間が同一かどうかを確認する際はマージン時間内であれば同一とみなすようにしてもよい。
最後に、本発明ではジョブの実行制御の一例として、図10のようなジョブの時間的な実行条件(一部、実行日時ともいえる)と、図11のようなジョブ間の実行順序条件の両方を備える場合について説明したが、本願では少なくとも将来に実行しようとしているジョブの実行予定時間が分かればよいため、図10の一部の情報だけを採用して計算機システムを実現してもよい。
S…計算機システム 0101…業務サーバ 0102…ストレージ装置 0103…管理サーバ 0104…SANスイッチ 0107…管理クライアント

Claims (11)

  1. ジョブを実行する計算機に接続され、
    前記計算機のデータを記録するストレージ装置と接続された管理サーバであって、
    前記ストレージ装置は、
    少なくとも2つの性能の異なる複数の記憶装置を備え、
    前記記憶装置に割当てられる論理記憶領域である記憶単位を構築し、
    前記記憶単位の割当てを前記2つの性能の異なる複数の記憶装置間で変更する機能を備え、
    前記管理サーバは記憶装置を備え、
    前記記憶装置には、前記ジョブの実行時間情報が格納され、
    前記ストレージ装置から送信された、前記計算機から前記ストレージ装置へアクセスがされた時間、及び前記時間にアクセスがされた記憶単位の識別子をアクセス情報として格納し、
    前記ジョブの実行時間情報と前記アクセス情報から、
    ジョブが実行される時間と前記ストレージ装置へ前期アクセス時間を対応付け、前記アクセス時間に前記記憶単位へアクセスしたジョブを特定し、
    前記特定したジョブと、前記ジョブ実行時間情報を対応付けて、
    前記記憶単位に次回アクセスされる時間を決定し、
    前記決定したアクセス時間前に、前期ストレージ装置に前記記憶単位の識別子を送信する、
    ことを特徴とする管理サーバ。
  2. 複数のジョブを実行する計算機に接続され、
    前記計算機のデータを記録する複数の記憶装置を有するストレージ装置と、
    前記ストレージ装置に接続された管理サーバで構築されるシステムであって、
    ここで前記データは、計算機で実行されるジョブで発生するデータであり、
    前記複数の記憶装置は互いに性能の異なる複数の第一の記憶装置と複数の第二の記憶装置を備え、
    前記ストレージ装置は、
    前記複数の第一の記憶装置で構築される第一の論理記憶領域と
    前記複数の第二の記憶装置で構築される第二の論理記憶領域を有し
    仮想ボリュームにジョブがアクセスして前記データを仮想ボリュームに書き込んだときに、
    前記仮想ボリュームに前記第1の論理記憶領域と前記第2の論理記憶領域のいずれかの一部をページとして割り当て、
    前記アクセス時間、及びアクセスのあったページの識別子を保持し、かつ、管理サーバに送信し、
    前記管理サーバは記憶装置を備え、
    前記記憶装置には、複数のジョブの実行時間情報及び前記ジョブ間の実行順序情報と、前記送信された前記アクセス時間、及び前記ページの識別子とが格納され、
    前記管理サーバは、前記記憶装置に格納された、複数のジョブの実行時間情報及び前記各ジョブの実行順序情報と、前記送信された前記アクセス時間、及び前記ページの識別子から、前記ページに次回アクセスされる時間を決定し、
    前記決定したアクセス時間前に、前記ページの識別子を送信する、
    ことを特徴とするシステム。
  3. 請求項1記載のシステムにおいて、
    前記ページに次回アクセスされる時間は、
    前記アクセス時間と前記複数のジョブの実行時間情報との対応関係を用いて、前記アクセスしたページの識別子と当該ジョブの対応を決め、
    前記アクセスしたページの識別子と当該ジョブの対応と前記ジョブ間の実行順序情報から、前記アクセスしたページの識別子と当該ジョブの実行順序情報との対応を決め、
    記アクセスしたページの識別子と当該ジョブの実行順序情報との対応と前記複数のジョブ間の実行順序情報から、前記アクセスしたページで次回実行されるジョブを決め、
    前記決めた次回実行されるジョブと前記複数のジョブの実行時間情報とから、
    次回実行されるジョブの実行時間を決め、
    前記ジョブの実行時間をアクセス時間とすることで決定される
    ことを特徴とするシステム。
    ことを特徴とする。
  4. 請求項1記載のシステムにおいて、
    前記ストレージ装置は、
    前記管理サーバから送信された情報に基づいて、
    前記ページ割り当てを、前記第1の論理記憶領域と前記第2の論理記憶領域とで変更することを特徴とするシステム。
  5. 請求項4記載のシステムにおいて、
    前記管理サーバは
    前記ジョブ履歴と前記ジョブ定義情報を対応付け、
    当該仮想ストレージ装置の当該ページにアクセスする可能性のあるジョブと前記ジョブが実行される時間を推定し、
    前記ジョブが実行される時間を前記アクセス時間とする、
    ことを特徴とするシステム。
  6. 請求項5記載のシステムにおいて、
    前記管理サーバは
    前記記憶装置に、前記アクセス時間、及び前記仮想ボリュームの識別子、及び前記割り当てたページの識別子と、前記ジョブ関連をジョブアクセス予測として格納し、
    前記ジョブアクセス予測に基づいて、前記推定したアクセス時間前に、前記仮想ボリュームの識別子、及び前記割り当てたページの識別子を送信する、
    ことを特徴とするシステム。
  7. 請求項6記載のシステムにおいて、
    前記管理サーバは、
    前記ジョブ定義情報にはジョブの要求性能の階層を示すジョブ要求性能が含まれ、
    前記ジョブ履歴と前記ジョブ定義情報を対応付け、
    当該仮想ストレージ装置の当該ページにアクセスする可能性のあるジョブ、及び前記ジョブが実行される時間、及び前記アクセスで要求される性能を推定し、
    前記前記ジョブアクセス予測に前記アクセス要求性能が含まれる、
    ことを特徴とするシステム。
  8. 請求項6記載のシステムにおいて、
    前期ジョブアクセス予測と前記ジョブ定義情報を対応付けて、
    前記アクセス時間より先のジョブアクセスを推定し、
    前記ジョブアクセス予測に格納する
    ことを特徴とするシステム。
  9. 請求項1記載のシステムにおいて、
    前記システムは前期管理サーバに接続される管理クライアントを備え、
    前記管理クライアントから前期管理サーバに前記ジョブ定義情報を送信し、
    前記管理サーバは
    前記記憶装置にジョブ定義情報を格納する
    ことを特徴とするシステム。
  10. 管理サーバに接続された階層ストレージを管理するモニタの階層容量表示方法であって、
    前期管理サーバに複数のジョブの実行時間情報及び前記各ジョブの実行順序情報を含むジョブ定義情報が入力されるステップと、
    階層容量表示要求として対象の仮想論理ボリュームID及び構成変化を表示する期間を受信するステップと、
    接続されたストレージ装置から、前記ストレージ装置に接続された計算機から前記ストレージ装置へアクセスされた時間とその配置単位の識別子を含むアクセス情報を受信するステップと、
    前記受信装置は、
    時間1のときの、前記仮想論理ボリュームの階層1で使用されている容量と、前記仮想論理ボリュームの階層2で使用されている容量と、を表示するステップと、
    時間2のときの、前記仮想論理ボリュームの前記階層1で使用されている容量と、前記仮想論理ボリュームの前記階層2で使用されている容量とを表示するステップと、
    により実行され、
    前期時間2は前記階層容量表示要求を受信した時点より後であることを特徴とする、
    階層ストレージを管理するモニタの階層容量表示方法。
  11. 請求項10記載の階層ストレージを管理するモニタの階層容量表示方法において、
    前記時間1の時点で前記仮想論理ボリュームの階層1で使用されている容量に
    前記時間1の時点で前記仮想論理ボリュームの階層2で使用されている容量を加算した和である第一の総容量と、
    前記時間2の時点で前記仮想論理ボリュームの階層1で使用されている容量に、
    前記時間2の時点で前記仮想論理ボリュームの階層2で使用されている容量を加算した和である第二の総容量は、
    異なることを特徴とする
    階層ストレージを管理するモニタの階層容量表示方法。
JP2009298018A 2009-12-28 2009-12-28 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ Expired - Fee Related JP5052592B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009298018A JP5052592B2 (ja) 2009-12-28 2009-12-28 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
US12/719,818 US8396917B2 (en) 2009-12-28 2010-03-08 Storage management system, storage hierarchy management method, and management server capable of rearranging storage units at appropriate time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009298018A JP5052592B2 (ja) 2009-12-28 2009-12-28 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ

Publications (2)

Publication Number Publication Date
JP2011138321A true JP2011138321A (ja) 2011-07-14
JP5052592B2 JP5052592B2 (ja) 2012-10-17

Family

ID=44188758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009298018A Expired - Fee Related JP5052592B2 (ja) 2009-12-28 2009-12-28 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ

Country Status (2)

Country Link
US (1) US8396917B2 (ja)
JP (1) JP5052592B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013076795A1 (ja) * 2011-11-21 2013-05-30 株式会社日立製作所 ストレージ装置の管理装置及び管理方法
WO2014045441A1 (ja) * 2012-09-24 2014-03-27 株式会社日立製作所 ストレージ装置が有する階層型プール内のデータの配置を制御する計算機及び方法
JP2016095553A (ja) * 2014-11-12 2016-05-26 日本電気株式会社 ストレージシステム、ストレージ装置、及びステージング方法
JP2017058710A (ja) * 2015-09-14 2017-03-23 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
JP2019125322A (ja) * 2018-01-19 2019-07-25 Necソリューションイノベータ株式会社 ストレージ管理装置、ストレージ管理方法、及びプログラム
JP2020135683A (ja) * 2019-02-25 2020-08-31 富士通株式会社 制御装置、及び制御プログラム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863605B2 (ja) * 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
US8874746B1 (en) * 2010-05-24 2014-10-28 Datacore Software Corporation Collaboration between discrete systems and a shared system to consolidate shared storage-related services
US8850104B2 (en) * 2011-03-21 2014-09-30 Apple Inc. Independent management of data and parity logical block addresses
WO2012164714A1 (ja) * 2011-06-02 2012-12-06 株式会社日立製作所 ストレージ管理システム、計算機システム、及びストレージ管理方法
US8880804B2 (en) * 2012-03-21 2014-11-04 Hitachi, Ltd. Storage apparatus and data management method
JP5900088B2 (ja) * 2012-03-27 2016-04-06 富士通株式会社 並列計算機、並列計算機の制御方法及び制御プログラム
US8990205B2 (en) * 2013-01-28 2015-03-24 International Business Machines Corporation Data caveats for database tables
WO2014147816A1 (ja) * 2013-03-22 2014-09-25 株式会社 日立製作所 ストレージ装置及び記憶領域検証方法
US9244652B1 (en) * 2013-06-03 2016-01-26 The Mathworks, Inc. State management for task queues
US9400739B2 (en) 2013-11-01 2016-07-26 International Business Machines Corporation Capacity forecasting based on capacity policies and transactions
US10101911B2 (en) * 2015-09-25 2018-10-16 International Business Machines Corporation Implementing multi-tenancy quality of service using controllers that leverage disk technologies
DE112017007655T5 (de) * 2017-06-19 2020-03-05 Mitsubishi Electric Corporation Verteilte Zuweisungseinrichtung, verteiltes Zuweisungssystem, sowie verteiltes Zuweisungsverfahren
US11249852B2 (en) 2018-07-31 2022-02-15 Portwonx, Inc. Efficient transfer of copy-on-write snapshots
US11354060B2 (en) 2018-09-11 2022-06-07 Portworx, Inc. Application snapshot for highly available and distributed volumes
CN109711561A (zh) * 2018-11-28 2019-05-03 深圳供电局有限公司 一种基于插件化架构设计的存储管理系统
US11494128B1 (en) 2020-01-28 2022-11-08 Pure Storage, Inc. Access control of resources in a cloud-native storage system
US11531467B1 (en) 2021-01-29 2022-12-20 Pure Storage, Inc. Controlling public access of resources in a secure distributed storage system
US11520516B1 (en) 2021-02-25 2022-12-06 Pure Storage, Inc. Optimizing performance for synchronous workloads
US11733897B1 (en) 2021-02-25 2023-08-22 Pure Storage, Inc. Dynamic volume storage adjustment
US11726684B1 (en) 2021-02-26 2023-08-15 Pure Storage, Inc. Cluster rebalance using user defined rules

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04237344A (ja) * 1991-01-22 1992-08-25 Nec Corp データベース管理システムにおけるページ管理方式
JP2001022614A (ja) * 1999-07-08 2001-01-26 Hitachi Ltd 階層形記憶システム
JP2005157711A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd アクセスパターンを学習する記憶装置
JP2006285809A (ja) * 2005-04-04 2006-10-19 Hitachi Ltd ストリーミング向け性能保証を行うストレージ装置
JP2008112276A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd 再配置システムおよび再配置方法
JP2008176627A (ja) * 2007-01-19 2008-07-31 Hitachi Ltd 記憶システム又はストレージ移行方法
JP2008293149A (ja) * 2007-05-23 2008-12-04 Hitachi Ltd 予知型データ移行を行う階層ストレージシステム
JP2008293223A (ja) * 2007-05-23 2008-12-04 Banpresto Co Ltd 小片保持具および硬貨保持具。
JP2009020765A (ja) * 2007-07-12 2009-01-29 Hitachi Computer Peripherals Co Ltd リードライト方法及び該リードライト方法を使用したコンピュータシステム
JP2009110346A (ja) * 2007-10-31 2009-05-21 Hitachi Ltd 性能履歴の管理方法および性能履歴の管理システム
JP2009223442A (ja) * 2008-03-13 2009-10-01 Hitachi Ltd ストレージシステム
JP2009245387A (ja) * 2008-03-31 2009-10-22 Hitachi Ltd ストレージシステム
JP2009251970A (ja) * 2008-04-07 2009-10-29 Hitachi Ltd 複数のストレージシステムモジュールを備えたストレージシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3254019B2 (ja) * 1992-11-30 2002-02-04 富士通株式会社 データ先読み制御装置
EP0683451B1 (en) * 1994-05-09 2004-02-25 Canon Kabushiki Kaisha Power supply control method in multi-task environment
US5829042A (en) * 1996-02-15 1998-10-27 Hewlett-Packard Company Prefetch operation for network peripheral device having shared memory
JP3641872B2 (ja) 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
US6542940B1 (en) * 1999-10-25 2003-04-01 Motorola, Inc. Method and apparatus for controlling task execution in a direct memory access controller
JP2003216460A (ja) 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
JP2007066259A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
US20080022050A1 (en) * 2006-07-18 2008-01-24 Via Technologies, Inc. Pre-Fetching Data for a Predictably Requesting Device
JP2008112292A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd ストレージシステム及びストレージシステムの電源供給制御方法
KR101440107B1 (ko) * 2008-01-28 2014-09-12 삼성전자주식회사 다중 코어 시스템에서 접근 시간에 기초한 메모리 관리방법 및 장치

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04237344A (ja) * 1991-01-22 1992-08-25 Nec Corp データベース管理システムにおけるページ管理方式
JP2001022614A (ja) * 1999-07-08 2001-01-26 Hitachi Ltd 階層形記憶システム
JP2005157711A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd アクセスパターンを学習する記憶装置
JP2006285809A (ja) * 2005-04-04 2006-10-19 Hitachi Ltd ストリーミング向け性能保証を行うストレージ装置
JP2008112276A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd 再配置システムおよび再配置方法
JP2008176627A (ja) * 2007-01-19 2008-07-31 Hitachi Ltd 記憶システム又はストレージ移行方法
JP2008293149A (ja) * 2007-05-23 2008-12-04 Hitachi Ltd 予知型データ移行を行う階層ストレージシステム
JP2008293223A (ja) * 2007-05-23 2008-12-04 Banpresto Co Ltd 小片保持具および硬貨保持具。
JP2009020765A (ja) * 2007-07-12 2009-01-29 Hitachi Computer Peripherals Co Ltd リードライト方法及び該リードライト方法を使用したコンピュータシステム
JP2009110346A (ja) * 2007-10-31 2009-05-21 Hitachi Ltd 性能履歴の管理方法および性能履歴の管理システム
JP2009223442A (ja) * 2008-03-13 2009-10-01 Hitachi Ltd ストレージシステム
JP2009245387A (ja) * 2008-03-31 2009-10-22 Hitachi Ltd ストレージシステム
JP2009251970A (ja) * 2008-04-07 2009-10-29 Hitachi Ltd 複数のストレージシステムモジュールを備えたストレージシステム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013076795A1 (ja) * 2011-11-21 2013-05-30 株式会社日立製作所 ストレージ装置の管理装置及び管理方法
JPWO2013076795A1 (ja) * 2011-11-21 2015-04-27 株式会社日立製作所 ストレージ装置の管理装置及び管理方法
US9026759B2 (en) 2011-11-21 2015-05-05 Hitachi, Ltd. Storage system management apparatus and management method
WO2014045441A1 (ja) * 2012-09-24 2014-03-27 株式会社日立製作所 ストレージ装置が有する階層型プール内のデータの配置を制御する計算機及び方法
JP5893745B2 (ja) * 2012-09-24 2016-03-23 株式会社日立製作所 ストレージ装置が有する階層型プール内のデータの配置を制御する計算機及び方法
JP2016095553A (ja) * 2014-11-12 2016-05-26 日本電気株式会社 ストレージシステム、ストレージ装置、及びステージング方法
JP2017058710A (ja) * 2015-09-14 2017-03-23 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
JP2019125322A (ja) * 2018-01-19 2019-07-25 Necソリューションイノベータ株式会社 ストレージ管理装置、ストレージ管理方法、及びプログラム
JP2020135683A (ja) * 2019-02-25 2020-08-31 富士通株式会社 制御装置、及び制御プログラム
JP7200746B2 (ja) 2019-02-25 2023-01-10 富士通株式会社 制御装置、及び制御プログラム

Also Published As

Publication number Publication date
US8396917B2 (en) 2013-03-12
US20110161406A1 (en) 2011-06-30
JP5052592B2 (ja) 2012-10-17

Similar Documents

Publication Publication Date Title
JP5052592B2 (ja) ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
US9740706B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
Deelman et al. Managing large-scale workflow execution from resource provisioning to provenance tracking: The cybershake example
US7509443B2 (en) Storage management system and method using performance values to obtain optimal input/output paths within a storage network
JP5893016B2 (ja) ストレージ管理サーバ、計算機システム、及びストレージ管理方法
JP4733461B2 (ja) 計算機システム、管理計算機及び論理記憶領域の管理方法
JP4838878B2 (ja) データ管理プログラム、データ管理装置、およびデータ管理方法
JP4739786B2 (ja) データの再配置方法
US20090150639A1 (en) Management apparatus and management method
EP3040865B1 (en) Database management system and computer system
JP2009110346A (ja) 性能履歴の管理方法および性能履歴の管理システム
Huang et al. Achieving load balance for parallel data access on distributed file systems
US8918620B2 (en) Storage control apparatus, storage system and method
JP4837759B2 (ja) データベース処理方法、データベース処理システム及びデータベースサーバ
JP6142685B2 (ja) ストレージシステム、運用管理方法及び運用管理プログラム
JPWO2015087392A1 (ja) ストレージ管理システム
JP5341259B2 (ja) マイグレーション先の決定を支援する方法及び管理システム
WO2014080492A1 (ja) 計算機システム、クラスタ管理方法、及び管理計算機
WO2017156855A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
Aggarwal et al. Small files’ problem in Hadoop: A systematic literature review
JP6272556B2 (ja) 共有リソース更新装置及び共有リソース更新方法
JP2010061278A (ja) 仮想サーバシステムの管理装置
Wang Evaluating mapreduce system performance: A simulation approach
MAALA et al. Cluster trace analysis for performance enhancement in cloud computing environments
Kim et al. Mitigating YARN container overhead with input splits

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120724

R150 Certificate of patent or registration of utility model

Ref document number: 5052592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees