JP5081498B2 - 計算機システム、および、その制御方法 - Google Patents

計算機システム、および、その制御方法 Download PDF

Info

Publication number
JP5081498B2
JP5081498B2 JP2007137450A JP2007137450A JP5081498B2 JP 5081498 B2 JP5081498 B2 JP 5081498B2 JP 2007137450 A JP2007137450 A JP 2007137450A JP 2007137450 A JP2007137450 A JP 2007137450A JP 5081498 B2 JP5081498 B2 JP 5081498B2
Authority
JP
Japan
Prior art keywords
computer
storage
storage medium
data
schedule
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.)
Expired - Fee Related
Application number
JP2007137450A
Other languages
English (en)
Other versions
JP2008293233A (ja
Inventor
洋俊 赤池
和久 藤本
崇仁 中村
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 JP2007137450A priority Critical patent/JP5081498B2/ja
Priority to US12/039,289 priority patent/US8762995B2/en
Priority to DE102008011708A priority patent/DE102008011708A1/de
Priority to CN2008100809307A priority patent/CN101311912B/zh
Priority to GB0803851A priority patent/GB2449515B/en
Publication of JP2008293233A publication Critical patent/JP2008293233A/ja
Application granted granted Critical
Publication of JP5081498B2 publication Critical patent/JP5081498B2/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、計算機システム、および、その制御方法に関する。
近年、例えば、天気予報や津波の伝播などを計算するハイパフォーマンスコンピューティングの分野で用いられる高速計算機は毎年高速化しており、計算に用いられるデータ量は計算速度ともに増加傾向にある。上記のハイパフォーマンスコンピューティングの分野では、計算機の計算速度の上昇とともに、より詳細なデータが用いられるようになり、データ量は増加している。そして、計算に用いられるデータ、計算結果のデータは全てストレージ(大容量の記憶装置)に保存されるため、今後、ストレージには非常に大きな容量が要求される。
一般的に、高速計算機による計算は、スケジュールに基づくバッチなどにより実行される。計算の実行では以下の3つの処理を行う。1番目の処理では、ストレージに保存されているデータを計算機主記憶(高速計算機のメモリなど)に転送する。以下、これを計算機へのステージングと呼ぶ。2番目の処理では、そのデータを入力として計算を実行して計算機主記憶に出力データを保存する。3番目の処理では、計算機主記憶に有る出力データをストレージへ転送し保存する。以下、これを計算機からのデステージングと呼ぶ。
また、ストレージの単位容量当たりの価格(以下、ビットコストと呼ぶ。)の毎年の低下率よりも、計算機の計算速度の毎年の伸び率の方が高いと言われている。そのため、現在の計算機で扱うデータを全て高速なストレージへ保存する計算機環境の構成のままでは、ストレージに多くの費用が掛かることになる。これに対して、高速だがビットコストが高いストレージ(以下、オンラインストレージと呼ぶ。)と、高速ではないがビットコストが安いストレージ(以下、ニアラインストレージと呼ぶ。)を併せた階層構造が提案されている。その制御法として特許文献1,2が開示されている。
特許文献1の方法は、ホスト(計算機)がアクセスする頻度の高いデータを転送速度若しくは応答速度の速いストレージへマイグレーション(転送)することで、データへのアクセスを高速化する方法である。
特許文献2の方法は、ストレージ階層用に閾値を確立し、ストレージ階層の使用量が閾値と同じか、それを超えた場合に、他の階層にデータをマイグレーションすることで階層ストレージ・サブシステムの使用量を管理するための方法である。
特開2003−216460号公報 特開2006−195960号公報
しかしながら、特許文献1は、計算スケジュールとは関係なく、単にホストがアクセスする頻度を基に、アクセスする頻度の高いデータをオンラインストレージへマイグレーションすることで、データへのアクセスを高速化する手法である。したがって、高速計算機環境へ適用したとき、次の問題がある。すなわち、計算スケジュールを考慮していないため、計算機が計算終了後に出力データをオンラインストレージへ保存するときに、オンラインストレージに十分な空き容量が無い可能性があり、出力データをニアラインストレージへデステージングすることになる。この場合は、出力データの計算機からのデステージングの性能が低下してしまう問題がある。同様に、オンラインストレージの空き容量不足により、計算に必要な入力データをニアラインストレージからオンラインストレージへマイグレーションすることができず、入力データをニアラインストレージから計算機へステージングする可能性がある。この場合、入力データの計算機へのステージングの性能が低下してしまう問題がある。
また、特許文献2は、オンラインストレージの使用容量が一定以上になったとき、ニアラインストレージへデータマイグレーションを行うことで、オンラインストレージに空きを作る手法である。したがって、高速計算機環境へ適用したとき、次の問題がある。すなわち、計算機の計算スケジュールを考慮しておらず、計算スケジュールに適したオンラインストレージの空き容量を十分に確保することができない。その結果、前述の通りオンラインストレージを有効に使うことができず、ステージング・デステージングの性能が低下してしまう問題がある。
本発明は、前記問題に鑑みてなされたものであって、階層化されたストレージを使用し、性能低下を抑えた大容量でコストパフォーマンスに優れた計算機システム、および、その制御方法を提供することを目的とする。
前記課題を解決するために、本発明は、複数の計算機と、複数の計算機に接続される階層ストレージ装置と、複数の計算機及び階層ストレージ装置に接続されるシステム管理装置と、を具備する計算機システムである。
階層ストレージ装置は、第一のストレージ媒体と、第一のストレージ媒体よりも転送速度の遅い第二のストレージ媒体から構成される。
階層ストレージ装置は、第一のストレージ媒体と、第一のストレージ媒体よりも転送速度の遅い第二のストレージ媒体を備えて構成される。
システム管理装置は、複数の計算機に接続される計算機管理サーバ、及び、階層ストレージ装置に接続されるストレージ管理サーバを有する。
ストレージ管理サーバは、計算機管理サーバから、複数の計算機で実行するジョブの実行内容を示す計算機実行ジョブ情報とジョブの実行スケジュールである計算機稼動情報とを取得し、当該計算機実行ジョブ情報及び計算機稼動情報に基づき、ジョブ名、ジョブ開始時間、ジョブ終了時間、担当する計算機の識別子、入出力ファイル名を含む計算機実行ジョブスケジュールを作成するとともに、少なくともファイルサイズ情報を有するファイル位置情報を作成し、計算機実行ジョブスケジュールとファイル位置情報とに基づき、階層ストレージ装置間のデータ移動を計画し、その計画に基づいて階層ストレージ装置に対してデータ移動の指令を出す。
システム管理装置は、計算機実行ジョブスケジュールに基づいて、複数の計算機から階層ストレージ装置へのデータの書き込みスケジュールを算出し、書き込みスケジュールに基づいて、複数の計算機から当該書き込みスケジュールにおけるすべてのデータを第一のストレージ媒体に書き込んだと仮定した場合の第一のストレージ媒体における累積データ量を計算し、当該累積データ量が第一のストレージ媒体の最大容量を超えている場合、累積データ量と最大容量の差である超過使用量を計算し、書き込みスケジュールにおいて、複数の計算機から第一のストレージ媒体へのデータの書き込みが終了する時刻から、書き込みスケジュールにおいて、複数の計算機から第一のストレージ媒体へデータの書き込みにかかる時間と、書き込みスケジュールにおいて、超過使用量と、第一のストレージ媒体と第二のストレージ媒体の間のデータ転送速度とに基づいて算出される第一のストレージ媒体から第二のストレージ媒体へ超過使用量と同量のデータの転送にかかる時間と、の分だけ遡った時刻を算出し、現在時刻が前記算出した時刻に達したとき、第一のストレージ媒体の空き容量を確保するように、第一のストレージ媒体から第二のストレージ媒体へ超過使用量と同量のデータの転送を開始させる
本発明によれば、階層化されたストレージを使用し、性能低下を抑えた大容量でコストパフォーマンスに優れた計算機システム、および、その制御方法を提供することができる。
以下、本発明を実施するための最良の形態(以下、実施形態という。)を図面に基づいて説明する。なお、適宜他図も参照するものとする。図1は、本発明の実施形態の計算機システムの構成例を示す図である。計算機システム1000は、複数の計算機100、NASヘッド120、オンラインストレージ140(階層ストレージ装置:第一のストレージ媒体)、ニアラインストレージ160(階層ストレージ装置:第二のストレージ媒体)、計算機管理サーバ170、ストレージ管理サーバ180から構成される。計算機管理サーバ170とストレージ管理サーバ180はシステム管理装置である。
計算機100は、管理用インターフェース(I/F)101、CPU(Central Processing Unit)102、メモリ103、データ通信用インターフェース(I/F)104により構成されている。データ通信用のパスとしてインターフェース104がLAN-SW(Local Area Network Switch)110に接続されている。このデータ通信用パスを通して、計算に必要な入力データと計算結果である計算出力が転送される。管理用パスとしてインターフェース101がLAN-SW190に接続している。この管理用パスを通して計算機100は、計算機管理サーバ170から計算処理の手続きを受信し、計算機管理サーバ170へ計算状況を送信する。以下、この計算処理の手続きをジョブと呼ぶ。ジョブの内容である手続きは、図3に示すJOBスクリプト300のようなスクリプト(実行指示用の簡易プログラム)により記述される。
NASヘッドとは、ディスクを持たないNAS(Network Attached Storage)のことを意味する。ディスクを持たないのでその代わりにストレージに接続して、データを読み書きする。
NASヘッド120は物理的なオンラインストレージ140を論理ボリューム0(以下、LU0という。)として、物理的なニアラインストレージ160を論理ボリューム1(以下、LU1という。)として割り当て、LU0、LU1上にファイルシステム121を構成し、計算機100からのファイルアクセスを処理する。
NASヘッド120はファイルに関する情報であるファイル情報122を持つ。これはストレージ管理サーバ180によって用いられる。
NASヘッド120は、LAN-SW110に接続する計算機側インターフェース(I/F)124、FC-SW(Fibre Channel Switch)130に接続するストレージシステム側インターフェース(I/F)125とLAN-SW190に接続する管理側インターフェース(I/F)123を持つ。
オンラインストレージ140はCHA(Channel Adaptor)141、SW(Switch)142、複数のディスク143、ニアラインストレージ側CHA144、管理インターフェース(I/F)145、キャッシュ146、DKA(DisKAdaptor)147を持つ。
管理インターフェース145はLAN-SW190に接続されている。CHA141は、ストレージと外部ネットワークとの間のインターフェースの役割を持つ。SW142はCHA141と、ニアラインストレージ側CHA144と、キャッシュ146と、DKA147とを接続するスイッチである。DKA147は、オンラインストレージ140がCHA141を通じて受領したIO要求に基づきディスク143を制御する。キャッシュ146には、IO要求により読み出される又は書き込まれるデータが一時的に保存される。CHA141はFC-SW130に接続されている。ニアラインストレージ側CHA144はFC-SW150に接続されている。
ニアラインストレージ160は、複数のコントローラ161、複数のディスク163、管理インターフェース(I/F)164、キャッシュ(不図示)を持つ。管理インターフェース164はLAN-SW190に接続されている。
コントローラ161は、CHA144とDKA147と同様の機能を持ち、ディスク163を制御するが、より安価にコンパクトに実行するため、性能規模はCHA144やDKA147よりも劣る。なお、コントローラ161はFC-SW150に接続されている。
計算機とストレージシステムは、上から計算機100、オンラインストレージ140、ニアラインストレージ160という階層構造の形をとる。また、下の階層から上の階層へデータをマイグレーション(転送)することをステージング、上の階層から下の階層へデータをマイグレーションすることをデステージングという。さらに、以下では、オンラインストレージ140とニアラインストレージ160を、総称して、あるいはその片方を、ストレージシステム(ストレージ)ともいう。
計算機管理サーバ170は、管理用インターフェース(I/F)171、CPU172、メモリ173を持つ。管理用インターフェース171はLAN-SW190に接続されている。
メモリ173には、計算機稼動スケジューラ174、計算機稼動情報175、計算機実行ジョブ情報176、計算機管理プログラム177が記憶される。計算機実行ジョブ情報176はJOBスクリプト300(図3参照)によって指定されるジョブを格納する。
計算機管理サーバ170は計算機稼動スケジューラ174の指示に基づく処理を行っている。ユーザは図示しないコンピュータ装置によってジョブの内容をJOBスクリプト300(図3参照)に記述し、計算機管理サーバ170に送信することでジョブ実行要求を行う。計算機管理サーバ170はジョブ実行要求に対して、計算機稼動スケジューラ174に基づき処理を行う。すなわち、計算機管理サーバ170は、受信したJOBスクリプト300(図3参照)を計算機実行ジョブ情報176に保存し、この計算機実行ジョブ情報176を基にジョブの実行スケジュールを作成する。実行スケジュールであるジョブごとのジョブ開始時間(開始時刻)、ジョブ終了時間(終了時刻)、計算ノードを、計算機稼動情報175として保存する。計算機部は計算機100の1台以上の集合で構成されており、計算機100の1台を計算ノードという。ここでは、計算ノードに0,1,2・・・といったように連番の数字を名前(識別子)としてつけている。
JOBスクリプト300(図3参照)は計算機管理サーバ170内の、計算機実行ジョブ情報176に保存される。JOBスクリプト300について、図3を用いて説明する。図3は、JOBスクリプトのデータ構成例である。JOBスクリプト300は、ジョブ名(JOB NAME)301、メモリサイズ(MEM SIZE)302、CPU数(NUM CPU)303、CPU時間(CPU TIME)304、入力ファイル名(INPUT FILE)305、出力ファイル名(OUTPUT FILE)306、実行ファイル名(EXECUTED PROGRAM)307を情報に含むスクリプトである。
ジョブ名301は識別のための名前であり、ユーザが名前をつける。メモリサイズ302はジョブの実行に必要なメモリのサイズであり、計算機稼動スケジューラ174は計算機100のメモリ103からメモリサイズ302分のメモリをそのジョブに割り振る。
CPU数303はジョブの実行に必要なCPUの数であり、計算機稼動スケジューラ174は計算機100のCPU102からCPU数303分のCPUをジョブに割り振る。
CPU時間304は、計算機100でのジョブ実行に掛かる時間であり、ジョブの実行時間がCPU時間304に達した場合、計算機稼動スケジューラ174はジョブを終了する。
入力ファイル名305はジョブの入力データであり、ジョブが実行されると計算機100は入力ファイル名305で示されるファイルを入力ファイルとして読み込む(詳細は後記)。
出力ファイル名306はジョブの出力データであり、ジョブの計算終了後、計算機100は出力ファイル名306で示されるファイルを出力ファイルとして書き込む(詳細は後記)。
ジョブの実行スケジュールである計算機稼動情報175のジョブ開始時間に従いジョブが開始され、ジョブ終了時間に従いジョブが終了される。ジョブ実行は、計算機管理サーバ170が計算機管理プログラム177の処理に基づき行われる。すなわち、計算機管理サーバ170は計算機実行ジョブ情報176に保存されたJOBスクリプト300の内容に従い、計算機100に対して計算処理を命令する。計算機100はこの命令に基づき、主に3つの処理を行う。すなわち、ストレージシステムから計算機100へJOBスクリプト300に記述された入力ファイル名305、実行ファイル307、出力ファイル名306に基づき、ストレージシステムから計算機100のメモリ103への入力ファイルのステージング、実行ファイルの実行、計算機100のメモリ103からストレージシステムへの出力ファイルのデステージングの処理を行う。
計算機100とストレージシステムの間のステージング・デステージングには以下の2通りの方法がある。1つ目は計算機100とオンラインストレージ140間のステージングとデステージングであり、2つ目は計算機100とニアラインストレージ160間のステージングとデステージングである。この2つの方法を、ステージングとデステージングに掛かる時間の観点で比較する。
図7(a)は、上記に示した計算機100の一連の計算処理について、オンラインストレージ140と計算機100の間でステージング・デステージングした場合のデータマイグレーションの様子を示している。
符号707、符号708はジョブ開始の時刻を示している。符号701、符号703は計算機100からオンラインストレージ140への出力ファイルのデステージングを示している。符号701と符号703のデステージングは、計算機100とオンラインストレージ140間のFC-SW130を通じて、3.4GB/sのスループットで行われる。符号702、符号704はオンラインストレージ140から計算機100への入力ファイルのステージングを示しており、スループットは3.4GB/sである。符号705、符号706は、計算に必要な入力ファイルを、予めオンラインストレージ140へステージングすることを示している。スループットは1.7GB/sである。符号707のジョブ開始とともに、計算2に用いられる入力ファイルFileAが符号702でステージングされる。
このステージングに先立って符号705によりFileAをニアラインストレージ160からオンラインストレージ140へステージングしている。そのため、符号707のジョブ開始時刻からFileAがオンラインストレージ140から計算機100へステージングされる。
そして、図7(b)は、上記に示した計算機100の一連の計算処理について、ニアラインストレージ160と計算機100の間でオンラインストレージ140を経由してステージング・デステージングした場合のデータマイグレーションの様子を示している。
符号717、符号718はジョブ開始の時刻を示している。符号712はニアラインストレージ160から計算機100への入力ファイルのステージングを示している。このステージングは、ニアラインストレージ160からオンラインストレージ140へのスループットに合わせて、1.7GB/sのスループットで行われる。符号713は計算機100からニアラインストレージ160へ出力ファイルのデステージングを示しており、スループットは同様に1.7GB/sである。符号711と符号714は、符号701と符号704と同様である。
図7の(a)と(b)を比較する。両方ともに符号707,符号717で同時にFileAのステージングが実行されているが、図7(a)ではFileAはスループット3・4GB/sの高速なオンラインストレージ140から、図7(b)ではスループット1.7GB/sの低速なニアラインストレージ160からステージングされている。デステージングに関しても同様である。つまり、その結果、図7(b)よりも図7(a)のほうがステージングとデステージングの時間が短くなる。
結果として、図7(b)の手法よりも、予め必要なファイルをオンラインストレージ140へマイグレーションする図7(a)の手法のほうが、ステージングとデステージングの時間が短い分、計算機100がより多くの時間を計算に費やすことができるというメリットがある。この図7(a)の手法に基づいて、ストレージ管理サーバ180が必要なファイルを予めニアラインストレージ160からオンラインストレージ140にマイグレーションしておけば、計算機100は常時オンラインストレージ140との間でステージングとデステージングを行うことになる。理想的には、計算機100は、オンラインストレージ140との間の高速なスループットで、オンラインストレージ140とニアラインストレージ160を合わせたストレージシステム全体の容量を利用できる。
ところが、オンラインストレージ140の空き容量が少ない場合、上記のような動作ができなくなってしまう。そのため、次の2つの問題が生じる。
1つ目は、オンラインストレージ140の空き容量が少ないために、計算に必要な入力ファイルを必要なときに高速なオンラインストレージ140にマイグレーションすることができない可能性が有る。結果として、入力ファイルをニアラインストレージ160から計算機100にステージングすることになり、ステージングの性能が低下してしまう。
2つ目は、オンラインストレージ140の空き容量が少ないために、計算機100からの出力ファイルをオンラインストレージ140の空き領域へデステージングすることができない可能性がある。結果として、出力ファイルをニアラインストレージ160へデステージングすることになり、デステージングの性能が低下してしまう。
そこで、上記問題を回避するために、オンラインストレージ140の空き容量を制御する必要性が出てくる。
しかし、単純にオンラインストレージ140の空き容量だけを見て、空き容量が少なくなってきたときに、ニアラインストレージ160へマイグレーションすることで空き容量を増やすという手法では解決できない。
図6は、オンラインストレージ140に空き容量があっても、計算機100からのアウトプットにより、時間経過とともにその容量が不足してしまう一例である。
図6について説明する。図6(a)のグラフ606は現在のオンラインストレージ140の使用量に、今後計算機からのアウトプットによりオンラインストレージ140に保存されるデータを積んだ、累積増分(増分のみの合計)を示している。線分608はオンラインストレージ140の最大容量を示している。現在時刻から時刻t1まで計算機100はジョブの計算を実行している。
時刻t1において計算機100−1(複数の計算機100の1番目)から出力データのデステージング601が開始され、時刻t2に終了する。その後、オンラインストレージ140の空き容量が不足してきたため、時刻t2においてオンラインストレージ140のデータをニアラインストレージ160へマイグレーションするデステージング603を開始し、空き領域を作っている(図6(b)参照)。その後、計算機100−2(複数の計算機100の2番目)は時刻t3までジョブを実行している。時刻t3には、再び計算機100−2から出力データのデステージング602が開始され、時刻t4に終了する。しかし、デステージング602の途中でオンラインストレージ140の空き領域が無くなってしまう。図6(c)のグラフ607はオンラインストレージ140の使用量のグラフを示している。線分609は線分608と同様、オンラインストレージ140の最大容量を示している。デステージング602の途中で、グラフ607は線分609の最大容量へ達しており、デステージング602の途中でオンラインストレージ140の空き領域が無くなったことが分かる。
この手法では、デステージング603を実施するにも関わらず、デステージング開始が遅れるため、結果としてオンラインストレージ140の使用量を最大容量以内に抑えることができない。
オンラインストレージ140の容量不足は、計算機100からのアウトプットのデータ量が不明であることと、計算機100からのアウトプットのスループットがニアラインストレージ160へのマイグレーションのスループットよりも大きいことに由来する。すなわち、計算機100からのアウトプットのデータ量によっては、ニアラインストレージ160へマイグレーションして空き容量を確保しようとデステージングを行っても、計算機100からのアウトプットの方が高速のため、オンラインストレージ140の容量が一杯になってしまう可能性がある。
この原因は、オンラインストレージ140の空き容量を見るだけでは、今後計算機100からの計算結果のアウトプットが考慮されておらず、アウトプットされたときに、オンラインストレージ140の容量が足りているかどうか分からないことにある。
この問題を回避するために、本手法では、オンラインストレージ140の使用を予測し、空き容量を制御する仕組みを採用する。それは、オンラインストレージ使用予測情報209(図2参照)に従い、デステージング候補リスト211のファイルを前もってデステージングする仕組みである。
このデステージングによって、空き容量を前もって適切に増やすことができる。このデステージングする仕組みについては、後で詳しく説明する。
本手法では、空き容量の代わりに、現在の空き容量と今後の計算機100からのアウトプットのデータ量を考慮した指標を導入する。これを、使用可能容量と呼ぶことにする。なお、この使用可能容量はオンラインストレージ使用予測情報209(図2参照)に格納される。使用可能容量については、後で詳しく説明する。
この使用可能容量を用いて、次のようにオンラインストレージ140の空き容量を制御する。すなわち使用可能容量があるときは、計算の入力データをニアラインストレージ160からオンラインストレージ140へステージングする。
使用可能容量が無いときは、オンラインストレージ140からニアラインストレージ160へデステージングする。
図5は、本手法の動作を示した例である。
図5(a)のグラフ515は現在のオンラインストレージ140の使用量に、今後計算機100からのアウトプットによりオンラインストレージ140に保存されるデータを積んだ、累積増分を示している。線分520はオンラインストレージ140の最大容量を示している。現在時刻から時刻t1まで計算機100−1はジョブの計算を実行している。図5(b)に示すように、時刻t1において計算機100−1から出力データのデステージング509が開始され、時刻t2に終了している。その後、計算機100−2は時刻t3までジョブの計算を実行している。時刻t3において、計算機100−2から出力データのデステージング510が開始され、時刻t4に終了している。
この出力データのデステージングにより、オンラインストレージ140の最大容量を超えてしまうことになる。超えてしまった分は超過使用量516である。
符号507はt1からt2までの経過時間d1と、t3からt4までの経過時間d2を合計した時間、すなわち時刻t4までに、計算機100からのデステージングに要する時間の合計である。この時間は、後述の式5に用いられる。
線分501はニアラインストレージ160・オンラインストレージ140間のスループットの傾きを持つ線分である。線分501は、時刻t4におけるグラフ515上の点から左に符号507の時間分移動した点を通る。
線分502は原点(線分520上の現在時刻における点)を通り、ニアラインストレージ160・オンラインストレージ140間のスループットの負の傾きを持つ線分である。線分501と502の交点とオンラインストレージの最大容量を示す線分520の差は使用可能容量505を示している。この使用可能容量505に対して、「使用可能容量505>0(式1)」かどうか判定する。
式1が満たされる場合は、オンラインストレージ140に余裕があり、ステージング処理を行うことができる。
式1が満たされない場合は、オンラインストレージ140に余裕がないため、オンラインストレージ140からニアラインストレージ160へのデステージング処理が行い、オンラインストレージ140に空き領域を作る。
線分501と最大容量を示す線分520との交点の時刻は、使用可能容量505が0である時刻t0である。時刻t0において、オンラインストレージ140からニアラインストレージ160へのデステージング511を開始している。現在の空き容量は符号503に示されている。
図5(c)に示すように、線分517は線分520と同様、オンラインストレージ140の最大容量を示している。時刻t1から時刻t2の間は計算機100−1から出力データのデステージング509が実行されているため、オンラインストレージ140からニアラインストレージ160へのデステージングは実行されない。なぜなら、計算機100−1とストレージシステム間のステージング及びデステージングのスループットを低下させないために、ストレージ管理サーバ180は計算機100がアクセスしているストレージ媒体を使ったマイグレーション処理を行わないようにしているからである。時刻t2になると、計算機100−1から出力データのデステージング509が終了し、かつ使用可能容量505が0のためオンラインストレージ140からニアラインストレージ160へのデステージング512を開始する。
図5(c)のグラフ518は、オンラインストレージ140の使用量のグラフを示している。グラフ518を見ると、上記処理の結果、計算機100からのアウトプットが来ても、オンラインストレージ140の使用量を最大容量以内に抑えられていることが分かる。
そこで、図5で示した本手法の動作を実現するために、ストレージ管理サーバ180を導入する。
図1のストレージ管理サーバ180は、管理用インターフェース(I/F)181、CPU182、メモリ183を持つ。管理用インターフェース181はLAN-SW190に接続されている。
図2はストレージ管理サーバ180のメモリ183に格納されたプログラム情報の詳細を示したブロック図である。
メモリ183には、計算機情報取得プログラム201、計算機実行ジョブスケジュール202(計算ジョブ実行スケジュール)、ファイル位置情報取得プログラム203、ストレージ情報204、ファイル位置情報205、ストレージ管理プログラム206、マイグレーション制御プログラム207、オンラインストレージ使用情報208、オンラインストレージ使用予測情報209、ステージング候補リスト210、デステージング候補リスト211、デステージングスケジュール212(書き込みスケジュール)、及び、ステージングスケジュール213(読み込みスケジュール)を格納している。
ストレージ管理サーバ180は計算機情報取得プログラム201に基づき、計算機管理サーバ170の計算機稼動情報175と計算機実行ジョブ情報176を取得し、計算機実行ジョブスケジュール202を作成する。図8において、計算機実行ジョブスケジュール202がブロック図で示されている。図8に示すように、計算機実行ジョブスケジュール202は、順番311、ジョブ名312、ジョブ開始時間313、ジョブ終了時間314、計算ノード315、入力ファイル名316、出力ファイル名317から成る。計算機実行ジョブスケジュール202は、計算機実行ジョブ情報176のジョブごとのジョブ開始時間、ジョブ終了時間、計算ノードに、それぞれのジョブのJOBスクリプト300(図3参照)に書かれた入出力ファイルの情報を付加したものであり、ステージング候補リスト210、デステージング候補リスト211、デステージングスケジュール212、及び、ステージングスケジュール213の作成に利用される。
また、ストレージ管理サーバ180はファイル位置情報取得プログラム203に基づき、ストレージ情報204とファイル情報122を取得し、ファイル位置情報205を作成する。
ストレージ情報204は、NASヘッド120がファイルシステム121で管理しているLUと物理的なストレージシステムを対応付ける情報であり、図13のブロック図のようにLU Number361と対応するストレージ名362から成る。
ファイル情報122は、図12のブロック図のようにファイル名351、LU Number352、ファイルサイズ353から成る表の形をとる。
LU Number352、ファイルサイズ353は、それぞれファイル名351に示されたファイルが保存されている論理ユニット(LU)、ファイルサイズを示す。
ファイル位置情報205は、図9のブロック図のように、ファイル名321、保存場所322、ファイルサイズ323から成る表の形をとる。保存場所322は、ファイル名321に示されるファイルが、オンラインストレージ140に保存されているか、ニアラインストレージ160に保存されているのかを示す。ファイルサイズ323は、ファイル名321に示されるファイルのファイルサイズを示す。ファイル位置情報205は、ステージング候補リスト210、デステージング候補リスト211、デステージングスケジュール212、ステージングスケジュール213の作成に利用される。
ストレージ管理サーバ180は、マイグレーション制御プログラム207の処理に基づき、上記計算機実行ジョブスケジュール202とファイル位置情報205を基に、ステージングスケジュール213、デステージングスケジュール212を作成する。
ステージングスケジュール213は、今後の計算予定を記憶した計算機実行ジョブスケジュール202から、ジョブで利用される入力ファイルが計算機100により読み込まれるスケジュールを記したものである。
ステージングスケジュール213は、図10のブロック図のように順番331、入力ファイル名332、ファイルサイズ333、場所334、スループット335、読み取り開始時間(時刻)336、読み取り終了時間(時刻)337から成る表の形をとる。
ファイルサイズ333は、入力ファイル名332の示すファイルのファイルサイズを示す。場所334は、入力ファイル名332に示されるファイルが、オンラインストレージ140に保存されているか、ニアラインストレージ160に保存されているのかを示す。スループット335は、場所334に示されたストレージのスループットを示す。読み取り開始時間336、読み取り終了時間337は、それぞれ、計算機100が入力ファイル名332の示すファイルの読み込みを開始する時間と、終了する時間である。
デステージングスケジュール212は、今後の計算予定を記憶した計算機実行ジョブスケジュールから、ジョブが実行された計算結果である出力ファイルが計算機100により書き込まれるスケジュールを記したものである。
デステージングスケジュール212は、図11のブロック図のように順番341、出力ファイル名342、ファイルサイズ343、場所344、スループット345、書き込み開始時間346、書き込み終了時間347から成る表の形をとる。
ファイルサイズ343は、出力ファイル名342の示すファイルのファイルサイズを示す。場所344は、出力ファイル名342に示されるファイルが、オンラインストレージ140に保存されているか、ニアラインストレージ160に保存されているのかを示す。スループット345は、場所344に示されたストレージシステムのスループットを示す。書き込み開始時間346、書き込み終了時間347は、それぞれ、計算機100が出力ファイル名342の示すファイルの書き込みを開始する時間と、終了する時間である。
また、ストレージ管理サーバ180は、マイグレーション制御プログラム207の処理に基づき、上記計算機実行ジョブスケジュール202、オンラインストレージ使用情報208とファイル位置情報205、ステージングスケジュール213、デステージングスケジュール212を基に、オンラインストレージ使用予測情報209、ステージング候補リスト210、デステージング候補リスト211を作成する。
オンラインストレージ使用予測情報209には使用可能容量が保存されている。使用可能容量とは計算機100が今後に出力するデータ量と、ニアラインストレージ160へのデステージングの量を考慮したオンラインストレージ140の空き容量を予測したものである。
ステージング候補リスト210は、図14のブロック図のようにファイル名371、保存場所372、ファイルサイズ373、ジョブによりアクセスされる次の時刻である読み込み開始時間374から成る表の形をとる。
保存場所372は、ファイル名371に示されるファイルが、オンラインストレージ140に保存されているか、ニアラインストレージ160に保存されているのかを示す。ファイルサイズ373は、ファイル名371に示されるファイルのファイルサイズを示す。読み込み開始時間374は、計算機100がファイル名371の示すファイルの読み込みを開始する時間である。この後説明するが、ステージング候補リスト210はステージング対象のファイルの決定に用いられる。
デステージング候補リスト211は、図15のブロック図のようにファイル名381、保存場所382、ファイルサイズ383、ジョブによりアクセスされる次の時刻である読み込み開始時間384から成る表の形をとる。
保存場所382は、ファイル名381に示されるファイルが、オンラインストレージ140に保存されているか、ニアラインストレージ160に保存されているのかを示す。ファイルサイズ383は、ファイル名381に示されるファイルのファイルサイズを示す。読み込み開始時間384は、計算機100がファイル名381の示すファイルの読み込みを開始する時間である。この後説明するが、デステージング候補リスト211はステージング対象のファイルの決定に用いられる。
ストレージ管理サーバ180は、マイグレーション制御プログラム207に基づき、オンラインストレージ使用予測情報209に従い、ステージング・デステージングの判断を行い、また、ステージング候補リスト210・デステージング候補リスト211からマイグレーション候補ファイルを1つ選択する。選択の方法は後述する。
ステージングが判断されたとき、ストレージ管理サーバ180は、ステージング候補リスト210から選択されたファイルを、ストレージ管理プログラム206に基づき、ニアラインストレージ160からオンラインストレージ140へステージングする。すなわち、ストレージ管理サーバ180はNASヘッド120に対して、選択されたファイルをLU1からLU0へ移動するように命令する。
デステージングが判断されたとき、ストレージ管理サーバ180は、デステージング候補リスト211から選択されたファイルを、ストレージ管理プログラム206に基づき、オンラインストレージ140からニアラインストレージ160へデステージングする。すなわち、ストレージ管理サーバ180はNASヘッド120に対して、選択されたファイルをLU0からLU1へ移動するように命令する。
ストレージ管理サーバ180は、マイグレーション制御プログラム207に基づき、計算に必要な入力ファイルを予めオンラインストレージ140へ保存しておくようにステージングの判断を行う。そして、ストレージ管理サーバ180は、ストレージ管理プログラム206に基づきステージング処理を行っている。
こうすることで、計算に必要な入力ファイルを必要なときに高速なオンラインストレージ140にマイグレーションすることができ、計算機100への入力ファイルのステージングを短時間で行うことができる。そして、計算機100からの出力ファイルをオンラインストレージ140の確保された空き領域へデステージングすることができ、出力ファイルのデステージングを短時間で行うことができる。
図4Aは、ストレージ管理サーバ180のマイグレーション制御プログラム207に基づく処理の流れを示したフローチャートである。この処理は、本手法の主なプログラムフロー(メインループ)である。なお、以下の図4A〜図4Hのフローチャートにおける各処理は、ストレージ管理サーバ180のCPU182がメモリ183の情報を参照することなどにより実行される。
図4Aに示すように、ストレージ管理サーバ180は、まずオンラインストレージ140の余裕を確認し、この、オンラインストレージ140に余裕があるかどうか判定する(ステップS401)。
余裕があると判定されたときには(ステップS401でYes)、ステージング処理を行う(ステップS403)。
余裕が無いと判定されたときには(ステップS401でNo)、デステージング処理を行う(ステップS404)。
そして、一定時間待機(ウエイト)し(ステップS405)、ステップS401に戻る。
次に、図4Bのフローチャートを用いて、ストレージ管理サーバ180のマイグレーション制御プログラム207に基づくステージング処理(図4AのステップS403に相当)の流れを説明する。
ステージング処理では、まずステージング候補のファイルリストであるステージング候補リスト210を作成する(ステップS411)。
作成されたステージング候補リスト210が空であるかどうか判定する(ステップS412)。
空であると判定された場合は(ステップS412でYes)、デステージング処理を実行する(ステップS416)。
空でないと判定された場合は(ステップS412でNo)、ステージング候補リスト210の最初のデータを選択する(ステップS413)。
選択されたデータをオンラインストレージ140へマイグレーションしたとき、オンラインストレージ140に余裕が有るかどうか、判定する(ステップS414)。
余裕が無いと判定された場合は(ステップS414でNo)、デステージング処理を行う(ステップS416)。
余裕があると判定された場合は(ステップS414でYes)、選択されたデータをニアラインストレージ160からオンラインストレージ140へ、ストレージ管理プログラム206に従い、ステージングする(ステップS415)。このステップ(ステップS415)のステージング中に、計算機100へのステージングもしくは計算機100からのデステージングが開始された場合、ステップ(ステップS415)のステージングを一時的に停止する。ステップS415のステージングを必要に応じて停止させることで、計算機100はステージングもしくはデステージングをオンラインストレージ140の最大の性能で実行できる。
次に、図4Cのフローチャートを用いて、ストレージ管理サーバ180のマイグレーション制御プログラム207に基づくデステージング処理(図4AのステップS404に相当)の流れを説明する。
デステージング処理では、まずデステージング候補のファイルリストであるデステージング候補リスト211を作成する(ステップS421)。
作成されたデステージング候補リスト211が空であるかどうか判定する(ステップS422)。
空であると判定された場合は(ステップS422でYes)、終了する。
空でないと判定された場合は(ステップS422でNo)、デステージング候補リスト211の最初のデータを選択する(ステップS423)。
選択されたファイル(データ)をオンラインストレージ140からニアラインストレージ160へ、ストレージ管理プログラム206に従い、デステージングする(ステップS424)。このステップS424のデステージング中に、計算機100へのステージングもしくは計算機100からのデステージングが開始された場合、ステップS424のデステージングを一時的に停止する。ステップS424のデステージングを必要に応じて停止させることで、計算機100はステージングもしくはデステージングをオンラインストレージ140の最大の性能で実行できる。
次に、図4Eのフローチャートを用いて、ストレージ管理サーバ180のマイグレーション制御プログラム207に基づきステージング候補リスト210を作成する処理の流れを説明する。
ステージング候補リスト210を作成する処理では、初めにステージング候補リスト210を空に初期化する(ステップS441)。
ファイル位置情報取得プログラム203のフローに従いファイル位置情報205を取得する(ステップS442)。
計算機情報取得プログラム201に従い計算機実行ジョブスケジュール202を取得する(ステップS443)。
計算機実行ジョブスケジュール202から、24時間(所定時間)以内に実行されるジョブを選択する。この24時間という時間はステージングの指標となる時間であり、ステージング指標時間と呼ぶ。そのジョブに対応する入力ファイルの場所を、ファイル位置情報205から調べる。入力ファイルの場所が、ニアラインストレージ160である場合、選択されたジョブをステージング候補リスト210に追加する。
追加するときは、計算機実行ジョブスケジュール202(図8参照)から選択したジョブに関する入力ファイル名316、ジョブ開始時間313と、ファイル位置情報205(図9参照)から入力ファイル名316と対応するファイル名に関する保存場所322とファイルサイズ323を、それぞれステージング候補リスト210(図14参照)のファイル名371、読み込み開始時間374、保存場所372、ファイルサイズ373へ書き込む(ステップS444)
ジョブ開始時間が24時間以内のジョブを収集する条件は、今後実行されるジョブの入力ファイルを予めオンラインストレージ140へマイグレーションするために、ステージング候補に入れることを示している。
ここで、ステージング指標時間を24時間としているが、計算機100の使い方に応じて変更することもできる。例えば、ジョブスケジューラによっては、20時間以上先のスケジュールを作成するものの、その後スケジュールが変更される場合もある。この場合は、例えばジョブ開始時間が20時間以内のジョブを収集するという条件に変更したほうが良い。
ステージング候補リスト210を読み込み開始時間374が早い順にソートする(ステップS445)。ここでは、読み込み開始時間374が早い順にソートしているが、これ以外にも、ファイルサイズ、ユーザから指定や設定に基づく何らかの優先順位(各データ量あるいは各転送速度に関連する優先順位など)を用いてソートすることもできる。
次に、図4Dのフローチャートを用いて、ストレージ管理サーバ180のマイグレーション制御プログラム207に基づきデステージング候補リスト211を作成する処理の流れを説明する。
デステージング候補リスト211を作成する処理では、初めにデステージング候補リスト211を空に初期化する(ステップS431)。
ファイル位置情報取得プログラム203のフローに従いファイル位置情報205を取得する(ステップS432)。
計算機情報取得プログラム201に従い計算機実行ジョブスケジュール202を取得する(ステップS433)。
計算機実行ジョブスケジュール202から、48時間(所定時間)以上先に実行されるか、もしくは今後実行されないジョブを選択する。
この48時間という時間はデステージングの指標となる時間であり、デステージング指標時間と呼ぶ。そのジョブに対応する入力ファイルの場所を、ファイル位置情報205から調べる。入力ファイルの場所が、オンラインストレージ140である場合、選択されたジョブをデステージング候補リスト211に追加する。
追加するときは、計算機実行ジョブスケジュール202(図8参照)から選択したジョブに関する出力ファイル名317、ジョブ開始時間313と、ファイル位置情報205(図9参照)から出力ファイル名317と対応するファイル名に関する保存場所322とファイルサイズ323を、それぞれデステージング候補リスト211(図15参照)のファイル名381、読み込み開始時間384、保存場所382、ファイルサイズ383へ書き込む(ステップS434)
ここで、デステージング指標時間を48時間としているが、計算機100の使い方に応じて変更することもできる。例えば、オンラインストレージ140の容量が小さく限られているときは、できるだけファイルをニアラインストレージ160へデステージングして、オンラインストレージ140の空き容量を作る必要がある。このときは、例えば24時間以上などの短い時間に設定し、デステージング候補となるファイル数を多くしたほうが良い。ただし、「ステージング指標時間<デステージング指標時間」の関係を満たす必要がある。
デステージング候補リスト211を読み込み開始時間384が遅い順にソートする(ステップS435)。
ここでは、読み込み開始時間384が遅い順にソートしているが、これ以外にも、ファイルサイズ、ユーザから指定や設定に基づく何らかの優先順位を用いてソートすることもできる。
次に、図4Fのフローチャートを用いて、ストレージ管理サーバ180のマイグレーション制御プログラム207に基づきオンラインストレージ140の余裕を確認する処理(図4AのステップS401に相当)の流れを説明する。
まず、ファイル位置情報取得プログラム203のフローに従いファイル位置情報205を取得する(ステップS451)。
計算機情報取得プログラム201に従い計算機実行ジョブスケジュール202を取得する(ステップS452)。
取得したファイル位置情報205と計算機実行ジョブスケジュール202を基に、ストレージシステムから計算機100へステージングするスケジュールであるステージングスケジュール213を作成する(ステップS453)。
すなわち、計算機実行ジョブスケジュール202(図8参照)の順番311ごとに、順番311と入力ファイル名316とジョブ開始時間313を、ステージングスケジュール213(図10参照)の順番331と入力ファイル名332と読み取り開始時間336へ書き込む。書き込まれたステージングスケジュール213の各順番の入力ファイル名について、ファイル位置情報205(図9参照)から、そのファイル名に対応する保存場所322とファイルサイズ323を、それぞれステージングスケジュール213(図10参照)の場所334とファイルサイズ333へ書き込む。
ステージングスケジュール213(図10参照)のスループット335は、ファイルの場所334から計算機100へ転送したときのスループットである。図10の例では、ファイルの場所がニアラインストレージ160の場合のスループットが1.7GB/sであり、オンラインストレージ140の場合が3.4GB/sである。
ステージングスケジュール213(図10参照)の読み取り終了時間337は、読み取り「開始時間336+ファイルサイズ333÷スループット335」により計算される。
取得したファイル位置情報205(図9参照)と計算機実行ジョブスケジュール202(図8参照)を基に、計算機100からストレージシステムへデステージングするスケジュールであるデステージングスケジュール212を作成する(ステップS453)。
すなわち、計算機実行ジョブスケジュール202(図8参照)の順番311ごとに、順番311と入力ファイル名316とジョブ終了時間314を、デステージングスケジュール212(図11参照)の順番341と出力ファイル名342と書き込み終了時間347へ書き込む。書き込まれたデステージングスケジュール212(図11参照)の各順番の出力ファイル名について、ファイル位置情報205(図9参照)から、そのファイル名に対応するファイルサイズ323を、それぞれデステージングスケジュール212(図11参照)のファイルサイズ343へ書き込む。
デステージングスケジュール212(図11参照)の場所344はオンライン(オンラインストレージ140)として書き込む。
デステージングスケジュール212(図11参照)のスループット345は、ファイルの場所344から計算機100へ転送したときのスループットである。図11の例では、ファイルの場所がニアラインストレージ160の場合のスループットは1.7GB/sであり、オンラインストレージ140の場合は3.4GB/sである。
デステージングスケジュール212(図11参照)の書き込み開始時間346は、「書き込み終了時間347−ファイルサイズ343÷スループット345」により計算される。
出力ファイルのファイルサイズは一般的には不明であるが、ファイルサイズを予め予測しておく。これは例えば、ジョブの入力ファイルのサイズから出力ファイルサイズがほぼ変わらないとして予測する方法、ジョブの計算時間から時間に比例して出力ファイルのサイズが増えると仮定して予測する方法、これまでのジョブの出力ファイルファイルサイズから平均値などの統計を取ることで予測する方法、若しくはユーザがファイルサイズ情報を入力することで予測する方法などがある。
オンラインストレージ140に今後保存されるデータの量、増加使用量を算出する。増加使用量は、次のように計算される。各時間Tについて各時間増加使用量を、「各時間増加使用量=(時間Tまでの計算機100からアウトプットされるデータ量)−(時間Tまでニアラインストレージ160へデステージング処理を継続したときの、デステージングされるデータ量)」として計算する。図5の動作図を例にとると、各時間増加使用量と現在のオンラインストレージ140の使用量の合計したものが累積増分としてグラフ515で示されている。
(時間Tまでの計算機100からアウトプットされるデータ量)は、「デステージングスケジュール340の書き込み開始時間346<時間T」となっている全てのスケジュールについてファイルサイズ343(図11参照)を合計することで計算される。
(時間Tまでニアラインストレージ160へデステージング処理を継続したときの、デステージングされるデータ量)は、次の式5によって計算される。
(時間Tまでニアラインストレージ160へデステージング処理を継続したときの、デステージングされるデータ量)=オンラインストレージ140・ニアラインストレージ160間のスループット×(時間T−現在の時間−ステージングに掛かる時間−デステージングに掛かる時間)・・・(式5)
時間Tを時刻t4として、図5の動作図を例にとると、オンラインストレージ140に対する「ステージングに掛かる時間+デステージングに掛かる時間」は符号507の時間になる。
ステージングに掛かる時間は、「ステージングスケジュール213(図10参照)の読み取り開始時間336<時間T」となっている全てのスケジュールについて(読み取り終了時間337−読み取り開始時間336)すなわち読み取り時間を足し合わせたものである。
デステージングに掛かる時間は、「デステージングスケジュール212(図11参照)の書き込み開始時間346<時間T」となっている全てのスケジュールについて(書き込み終了時間347−書き込み開始時間346)すなわち書き込み時間を足し合わせたものである。
次に、各時間Tについての各時間増加使用量の最大値を計算し、これを増加使用量とする。この最大値をとる時間をTMAXとする。図5の動作図を例にとると、時刻t4がTMAXとなる。
増加使用量は「(時間TMAXまでの計算機100からアウトプットされるデータ量)―現在の空き容量」として計算される。
計算した増加使用量を用いて、使用可能容量を「使用可能容量=(オンラインストレージ140の空き容量−増加使用量)÷2」として計算する(図4FのステップS454)。
この使用可能容量にいて、「使用可能容量>ε(式2)」を判定する(図4FのステップS455)。
式2が満たされる場合(ステップS455でYes)、余裕ありと判断する(ステップS456)。
式2が満たされない場合(ステップS455でNo)、余裕無しと判定する(ステップS457)。
本実施形態では、「使用可能容量>0」、すなわちオンラインストレージ140の容量が不足しないように制御することが目的である。そこで、ステップS455ではεの分だけマージンを取っている。
次に、図4Gのフローチャートを用いて、ストレージ管理サーバ180のマイグレーション制御プログラム207に基づき選択されたデータをオンラインストレージ140へマイグレーションしたときの、オンラインストレージ140の余裕を確認する処理の流れを説明する。
ステップS451(図4F参照)と同様に、ファイル位置情報205を取得する(ステップS461)。
ステップS452と同様に、計算機実行ジョブスケジュール202を取得する(ステップS462)。
ステップS453と同様に、ステージングスケジュール213、デステージングスケジュール212を作成する(ステップS463)。ステップS454と同様に、使用可能容量と増加使用量を計算する(ステップS464)。
「使用可能容量>選択データのサイズ(式3)」か否かを判定する(ステップS465)。
式3が満たされない場合は(ステップS465でNo)、余裕無しと判断する(ステップS469)。
式3が満たされる場合は(ステップS465でYes)、これはマイグレーション処理終了後、使用可能容量が0以下にならないことを意味する。
この場合は、「オンラインストレージ140の空き容量>選択データのサイズ(式4)」を判定する(ステップS466)。
式4が満たされない場合は(ステップS466でNo)、余裕無しと判断する(ステップS469)。
式4が満たされる場合は(ステップS466でYes)、オンラインストレージ140に選択データを保存する空き容量があることを意味する。この場合は、「デステージング候補リスト211(図15参照)にあるデータのサイズの合計>選択データのサイズ+増加使用量―空き容量(式5)」を判定する(ステップS467)。
式5が満たされない場合は(ステップS467でNo)、余裕無しと判断する(ステップS469)。
式5が満たされる場合は(ステップS467でYes)、今後デステージングされる予定のデータの量の分は、すでにデステージング候補リスト211の候補に入っていることを示す。この場合は、余裕ありと判断する(ステップS468)。
次に、図4Hのフローチャートを用いて、ストレージ管理サーバ180のマイグレーション制御プログラム207に基づきファイル位置情報205を取得する処理(図4DのステップS432、図4EのステップS442、図4FのステップS451、図4GのステップS461)の流れを説明する。
まず、オンラインストレージ140・ニアラインストレージ160からLU Numberとストレージ名との対応情報を取得し、ストレージ情報204(図13参照)として保存する(ステップS471)。
続いて、NASヘッド120からファイル情報122(図2参照)を取得する(ステップS472)。取得したファイル情報122からファイル毎のLU Numberとファイルサイズが分かる。
ストレージ情報204(図13参照)を基に、このLU Numberを対応するストレージ名へ書き換えて保存場所とすることで、ファイル位置情報205(図9参照)を構成する(ステップS473)。
次に、計算機100へのステージングと計算機100からのデステージングについて説明する。
計算機100へのステージングの場合、計算機100からのファイルの読み込み要求に対して、NASヘッド120は要求されたファイルが格納されているLUにアクセスを行い、計算機100へファイルを転送する。
計算機100からのデステージングの場合、計算機100からのファイルの書き込み要求に対して、NASヘッド120は要求されたファイルをオンラインストレージ140へ書き込む。ただし、「使用可能容量<0」であるときには、オンラインストレージ140の容量が不足するため、NASヘッド120は要求されたファイルを、オンラインストレージ140を経由してニアラインストレージ160へ書き込む。
計算機100へのステージングと計算機100からのデステージングについて、ファイルが計算機100からオンラインストレージ160へ転送される場合において、図1のストレージシステム構成では、ファイルは一度オンラインストレージ140を通じてニアラインストレージ160へ転送されるためスループットが低下する可能性がある。オンラインストレージ140を中継せずに、計算機100からニアラインストレージ160への直接アクセスをするために、図17で示すストレージシステム構成が考えられる。
図17は、計算機100、オンラインストレージ140とニアラインストレージ160がFC-SW 131を通じて接続される計算機システムの構成図である。図1の計算機システム1000との違いは、計算機システム1001では、FC-SW 131を通じて計算機100、オンラインストレージ140およびニアラインストレージ160が接続されている点、FC-SW150が除かれている点の2点である。計算機100はFC-SW 131を通じてオンラインストレージ140とニアラインストレージ160の両方へアクセスすることができる。
前記手法では、計算機100へのステージングもしくは計算機100からのデステージングと、ストレージ管理サーバ180によるオンラインストレージ140とニアラインストレージ160間のステージングもしくはデステージングと、が同時に実行されないように制御を行っている。これは、主たる目的である計算機100へのステージングもしくは計算機100からのデステージングを、できるだけ高速に実行するためである。すなわち、ストレージ管理サーバ180によるオンラインストレージ140とニアラインストレージ160間のステージングもしくはデステージングによって、計算機100へのステージングもしくは計算機100からのデステージング処理のスループットが低下しないようにしている。しかし、処理のスループットが低下してしまうのは、上記2つの処理が同時に、かつディスク143の同じドライブへアクセスしたときであり、これは限定的な場合である。
そこで、同時処理を許す手法について説明する。前記手法との違いは、使用可能容量の算出方法とステージングスケジュール213(図10参照)を作成するステップ(図4FのステップS453)、ステージングのステップ(図4BのステップS415)とデステージングのステップ(図4CのステップS424)である。
使用可能容量の算出では、上記した式5が次のように変更される「(時間Tまでニアラインストレージ160へデステージング処理を継続したときの、デステージングされるデータ量)=オンラインストレージ140・ニアラインストレージ160間のスループット×(時間T−現在の時間)」。
ステージングスケジュール213を作成するステップS453(図4F参照)について次のように変更する。前記したステップS453では、ファイルの場所がニアラインストレージ160である場合のスループットを1.7GB/sとしているが、同時処理のためスループットは低下する。そこで、スループットを1.7GB/sよりも低い値へ設定する。スループットの設定には、スループットの低下を測定し統計的にスループットを決定する方法、最悪のスループットを見積もり決定する方法などが考えられる。
ステージングのステップS415(図4B参照)とデステージングのステップS424(図4C参照)については次のように変更する。前記した図4Bと図4Cの処理では、同時処理中はステージングのステップS415とデステージングのステップS424を停止しているが、この停止を無くして同時処理を認めるように変更する。
図16は、前記の同時処理を認めた場合の本手法の動作を示した図である。図5の場合と重複する説明は適宜省略する。
図16(a)のグラフ1615は現在のオンラインストレージ140の使用量に、今後計算機100からのアウトプットによりオンラインストレージ140に保存されるデータを積んだ、累積増分を示している。線分1620はオンラインストレージ140の最大容量を示している。時刻t1まで計算機100−1はジョブの計算を実行している。時刻t1において計算機100−1から出力データのオンラインストレージ140へのデステージング1609が開始され、時刻t2に終了する。その後、計算機100−2は時刻t3までジョブの計算を実行している。時刻t3において、再び計算機100−2から出力データのオンラインストレージ140へのデステージング1610が開始され、時刻t4に終了する。
この出力データのデステージングにより、オンラインストレージ140の最大容量を超えてしまうことになる。超えてしまった分は超過使用量1616である。
線分1601はニアラインストレージ160・オンラインストレージ140間のスループットの傾きを持つ線分である。線分1601は、時刻t4におけるグラフ1615上の点を通る。
線分1602は原点(線分1620上の現在時刻における点)を通り、ニアラインストレージ160・オンラインストレージ140間のスループットの負の傾きを持つ線分である。線分1601と線分1602の交点とオンラインストレージ140の最大容量を示す線分1620の差は使用可能容量1605を示している。この使用可能容量1605に対して、「使用可能容量1605>0(式1)」かどうか判定する。
式1が満たされる場合は、オンラインストレージ140に余裕があり、ステージング処理を行うことができる。
式1が満たされない場合は、オンラインストレージ140に余裕がないため、デステージング処理を行い、オンラインストレージ140に空き領域を作る。
線分1601と最大容量を示す線分1620との交点の時刻は、使用可能容量1605が0となる時刻t0’である。図16(b)に示すように、時刻t0’から時刻t4までオンラインストレージ140からニアラインストレージ160へのデステージング1611を開始している。オンラインストレージ140の現在の空き容量はグラフ1603に示されている。
図16(c)に示すように、線分1617はオンラインストレージの最大容量を示している。時刻t1から時刻t2の間は計算機100−1から出力データのオンラインストレージ140へのデステージング1609が実行され、同様に時刻t3から時刻t4の間は計算機100−2から出力データのオンラインストレージ140へのデステージング1610が実行されているが、同時処理を認めているため、オンラインストレージ140からニアラインストレージ160へのデステージング実行が継続される。図16(c)のグラフ1618は、オンラインストレージ140の使用量のグラフを示している。グラフ1618を見ると、上記処理の結果、計算機100からのアウトプットが来ても、オンラインストレージ140の使用量を最大容量以内に抑えられたことが分かる。
同時処理を認めるかどうかにより、次のような差が発生する。同時処理を認めない場合、オンラインストレージ140の容量が制御され、容量不足に陥る可能性は低い。しかし、同時処理ができないため、同時にマイグレーションができないという制限が発生する。同時処理を認めた場合、同時処理によりマイグレーション処理がお互いのスループットに影響を与え、オンラインストレージ140の容量制御が必ずしも確実に行われない。しかし、同時処理ができるために、より柔軟にマイグレーションを実行できる。
次に同時処理を認めるかどうかの判断を説明する。
同時処理を認めるかどうかの判断について、ストレージシステムに次のようなポリシーを設定して、自動的に判断させる方法が考えられる。例えば、容量不足に陥る可能性をできるだけ低くしたいというポリシー、もしくは同時処理によるスループット低下の影響が低いので柔軟なマイグレーションを重視したいというポリシーである。
同時処理を認めるかどうかの判断について、ユーザが判断して設定する方法も考えられる。
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。例えば、NASヘッドは、データをファイル単位で扱うための装置であり、本発明に必須の構成ではなく、他の装置で代用してもよい。その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
本発明の実施形態のストレージシステムの構成例を示す図である。 ストレージ管理サーバのメモリの内容を示す図である。 JOBスクリプトの例を示す図である。 本手法のメインループのプログラムフローを示す図である。 ステージング処理のプログラムフローを示す図である。 デステージング処理のプログラムフローを示す図である。 デステージング候補リスト作成のプログラムフローを示す図である。 ステージング候補リスト作成のプログラムフローを示す図である。 オンラインストレージの余裕確認のプログラムフローを示す図である。 選択されたデータをオンラインストレージへマイグレーションしたときのオンラインストレージの余裕確認のプログラムフローを示す図である。 ファイル位置情報取得のプログラムフローを示す図である。 オンラインストレージの使用量を予測しない場合の動作図である。 オンラインストレージの使用量を予測する本手法の動作図である。 (a)は、計算機とオンラインストレージとの間のマイグレーションを用いたステージングとデステージングの図であり、(b)は、計算機とニアラインストレージとの間のマイグレーションを用いたステージングとデステージングの図である。 計算機実行ジョブスケジュールの例を示す図である。 ファイル位置情報の例を示す図である。 ステージングスケジュールの例を示す図である。 デステージングスケジュールの例を示す図である。 ファイル情報の例を示す図である。 ストレージ情報の例を示す図である。 ステージング候補リストの例を示す図である。 デステージング候補リストの例を示す図である。 同時処理を認めた場合の本手法の動作を示した図である。 FC-SW を通じて計算機とニアラインストレージが接続されるストレージシステムの構成例である。
符号の説明
100 計算機
140 オンラインストレージ
160 ニアラインストレージ
180 ストレージ管理サーバ
1000,1001 計算機システム

Claims (5)

  1. 複数の計算機と、前記複数の計算機に接続される階層ストレージ装置と、前記複数の計算機及び階層ストレージ装置に接続されるシステム管理装置と、を具備する計算機システムであって、
    前記階層ストレージ装置は、第一のストレージ媒体と、前記第一のストレージ媒体よりも転送速度の遅い第二のストレージ媒体を備えて構成され、
    前記システム管理装置は、前記複数の計算機に接続される計算機管理サーバ、及び、前記階層ストレージ装置に接続されるストレージ管理サーバを有し、
    前記ストレージ管理サーバは、
    前記計算機管理サーバから、前記複数の計算機で実行するジョブの実行内容を示す計算機実行ジョブ情報と前記ジョブの実行スケジュールである計算機稼動情報とを取得し、当該計算機実行ジョブ情報及び計算機稼動情報に基づき、ジョブ名、ジョブ開始時間、ジョブ終了時間、担当する前記計算機の識別子、入出力ファイル名を含む計算機実行ジョブスケジュールを作成するとともに、少なくともファイルサイズ情報を有するファイル位置情報を作成し、前記計算機実行ジョブスケジュールと前記ファイル位置情報とに基づき、前記階層ストレージ装置間のデータ移動を計画し、その計画に基づいて前記階層ストレージ装置に対してデータ移動の指令を出し、
    前記システム管理装置は、
    前記計算機実行ジョブスケジュールに基づいて、前記複数の計算機から前記階層ストレージ装置へのデータの書き込みスケジュールを算出し、
    前記書き込みスケジュールに基づいて、前記複数の計算機から当該書き込みスケジュールにおけるすべてのデータを前記第一のストレージ媒体に書き込んだと仮定した場合の前記第一のストレージ媒体における累積データ量を計算し、
    当該累積データ量が前記第一のストレージ媒体の最大容量を超えている場合、
    前記累積データ量と前記最大容量の差である超過使用量を計算し、
    前記書き込みスケジュールにおいて、前記複数の計算機から前記第一のストレージ媒体へのデータの書き込みが終了する時刻から、
    前記書き込みスケジュールにおいて、前記複数の計算機から前記第一のストレージ媒体へデータの書き込みにかかる時間と、
    前記書き込みスケジュールにおいて、前記超過使用量と、前記第一のストレージ媒体と前記第二のストレージ媒体の間のデータ転送速度とに基づいて算出される前記第一のストレージ媒体から前記第二のストレージ媒体へ前記超過使用量と同量のデータの転送にかかる時間と、の分だけ遡った時刻を算出し、
    現在時刻が前記算出した時刻に達したとき、前記第一のストレージ媒体の空き容量を確保するように、前記第一のストレージ媒体から前記第二のストレージ媒体へ前記超過使用量と同量のデータの転送を開始させる
    ことを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記システム管理装置は、前記第二のストレージ媒体内の該当するデータを前記第一のストレージ媒体へ転送する際、転送するデータが複数あった場合、データ量あるいは転送速度に関連する優先順位に従った順序でデータを転送する
    ことを特徴とする計算機システム。
  3. 請求項1に記載の計算機システムであって、
    前記システム管理装置は、所定時間内に前記計算機実行ジョブスケジュールによって実行される予定になっていないデータを前記第一のストレージ媒体から前記第二のストレージ媒体へ転送させる
    ことを特徴とする計算機システム。
  4. 請求項1に記載の計算機システムであって、
    前記システム管理装置は、所定時間内に前記計算機実行ジョブスケジュールによって実行される予定になっているデータを前記第二のストレージ媒体から前記第一のストレージ媒体へ転送させる
    ことを特徴とする計算機システム。
  5. 複数の計算機と、前記複数の計算機に接続される階層ストレージ装置と、前記複数の計算機及び階層ストレージ装置に接続されるシステム管理装置と、を具備する計算機システムの制御方法であって、
    前記階層ストレージ装置は、第一のストレージ媒体と、前記第一のストレージ媒体よりも転送速度の遅い第二のストレージ媒体を備えて構成されており、
    前記システム管理装置は、前記複数の計算機に接続される計算機管理サーバ、及び、前記階層ストレージ装置に接続されるストレージ管理サーバを有しており、
    前記ストレージ管理サーバは、
    前記計算機管理サーバから、前記複数の計算機で実行するジョブの実行内容を示す計算機実行ジョブ情報と前記ジョブの実行スケジュールである計算機稼動情報とを取得し、当該計算機実行ジョブ情報及び計算機稼動情報に基づき、ジョブ名、ジョブ開始時間、ジョブ終了時間、担当する前記計算機の識別子、入出力ファイル名を含む計算機実行ジョブスケジュールを作成するとともに、少なくともファイルサイズ情報を有するファイル位置情報を作成し、前記計算機実行ジョブスケジュールと前記ファイル位置情報とに基づき、前記階層ストレージ装置間のデータ移動を計画し、その計画に基づいて前記階層ストレージ装置に対してデータ移動の指令を出し、
    前記システム管理装置は、
    前記計算機実行ジョブスケジュールに基づいて、前記複数の計算機から前記階層ストレージ装置へのデータの書き込みスケジュールを算出し、
    前記書き込みスケジュールに基づいて、前記複数の計算機から当該書き込みスケジュールにおけるすべてのデータを前記第一のストレージ媒体に書き込んだと仮定した場合の前記第一のストレージ媒体における累積データ量を計算し、
    当該累積データ量が前記第一のストレージ媒体の最大容量を超えている場合、
    前記累積データ量と前記最大容量の差である超過使用量を計算し、
    前記書き込みスケジュールにおいて、前記複数の計算機から前記第一のストレージ媒体へのデータの書き込みが終了する時刻から、
    前記書き込みスケジュールにおいて、前記複数の計算機から前記第一のストレージ媒体へデータの書き込みにかかる時間と、
    前記書き込みスケジュールにおいて、前記超過使用量と、前記第一のストレージ媒体と前記第二のストレージ媒体の間のデータ転送速度とに基づいて算出される前記第一のストレージ媒体から前記第二のストレージ媒体へ前記超過使用量と同量のデータの転送にかかる時間と、の分だけ遡った時刻を算出し、
    現在時刻が前記算出した時刻に達したとき、前記第一のストレージ媒体の空き容量を確保するように、前記第一のストレージ媒体から前記第二のストレージ媒体へ前記超過使用量と同量のデータの転送を開始させる
    ことを特徴とする計算機システムの制御方法。
JP2007137450A 2007-05-24 2007-05-24 計算機システム、および、その制御方法 Expired - Fee Related JP5081498B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007137450A JP5081498B2 (ja) 2007-05-24 2007-05-24 計算機システム、および、その制御方法
US12/039,289 US8762995B2 (en) 2007-05-24 2008-02-28 Computing system, method of controlling the same, and system management unit which plan a data migration according to a computation job execution schedule
DE102008011708A DE102008011708A1 (de) 2007-05-24 2008-02-28 Computersystem, Verfahren zu dessen Steuerung und Systemverwaltungseinheit
CN2008100809307A CN101311912B (zh) 2007-05-24 2008-02-29 计算机系统、其控制方法以及系统管理装置
GB0803851A GB2449515B (en) 2007-05-24 2008-02-29 Computing system and method of control thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007137450A JP5081498B2 (ja) 2007-05-24 2007-05-24 計算機システム、および、その制御方法

Publications (2)

Publication Number Publication Date
JP2008293233A JP2008293233A (ja) 2008-12-04
JP5081498B2 true JP5081498B2 (ja) 2012-11-28

Family

ID=39315794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007137450A Expired - Fee Related JP5081498B2 (ja) 2007-05-24 2007-05-24 計算機システム、および、その制御方法

Country Status (5)

Country Link
US (1) US8762995B2 (ja)
JP (1) JP5081498B2 (ja)
CN (1) CN101311912B (ja)
DE (1) DE102008011708A1 (ja)
GB (1) GB2449515B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5246872B2 (ja) * 2009-03-27 2013-07-24 国立大学法人東北大学 ストレージシステムおよびストレージ管理方法
JP5427533B2 (ja) * 2009-09-30 2014-02-26 株式会社日立製作所 階層ストレージ管理システムにおける重複ファイルの転送方法及びシステム
US8131681B1 (en) * 2010-01-21 2012-03-06 Netapp, Inc. Backup disk-tape integration method and system
JP5415338B2 (ja) * 2010-03-31 2014-02-12 株式会社日立製作所 ストレージシステム、その負荷分散管理方法及びプログラム
TW201140315A (en) * 2010-05-11 2011-11-16 Jmicron Technology Corp Method for estimating capacity usage status of storage unit, and associated memory device and controller thereof
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US9003414B2 (en) 2010-10-08 2015-04-07 Hitachi, Ltd. Storage management computer and method for avoiding conflict by adjusting the task starting time and switching the order of task execution
US8381218B2 (en) * 2010-11-30 2013-02-19 Microsoft Corporation Managing groups of computing entities
CN103200208A (zh) * 2012-01-06 2013-07-10 湖南智源信息网络技术开发有限公司 一种基于频率的分发数据请求方法及装置
JPWO2013146537A1 (ja) * 2012-03-26 2015-12-14 日本電気株式会社 ストレージシステム及びこれの制御方法
US20150301743A1 (en) * 2012-09-24 2015-10-22 Hitachi, Ltd. Computer and method for controlling allocation of data in storage apparatus hierarchical pool
US10182110B2 (en) * 2013-12-13 2019-01-15 Hitachi, Ltd. Transfer format for storage system, and transfer method
JP6303584B2 (ja) * 2014-02-21 2018-04-04 日本電気株式会社 データ処理装置、計算機システム、データ処理方法およびデータ処理プログラム
WO2016001959A1 (ja) * 2014-06-30 2016-01-07 株式会社日立製作所 ストレージシステム
US9513835B2 (en) * 2015-01-09 2016-12-06 International Business Machines Corporation Impact-based migration scheduling from a first tier at a source to a second tier at a destination
CN109189323B (zh) * 2018-07-06 2019-12-17 华为技术有限公司 扩容方法及设备

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2877973B2 (ja) * 1991-02-21 1999-04-05 日本電気株式会社 ファイルリコール制御方式
US5506986A (en) * 1992-07-14 1996-04-09 Electronic Data Systems Corporation Media management system using historical data to access data sets from a plurality of data storage devices
JP3185954B2 (ja) * 1993-03-19 2001-07-11 日立ソフトウエアエンジニアリング株式会社 ファイルのアーカイブ・リコール方法
US5659743A (en) * 1994-12-05 1997-08-19 Legent Corporation Method and apparatus for a pattern based spaced management system
JP3816552B2 (ja) * 1995-03-31 2006-08-30 オリンパス株式会社 画像ファイル装置
JPH0944381A (ja) 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
US5745756A (en) * 1996-06-24 1998-04-28 International Business Machines Corporation Method and system for managing movement of large multi-media data files from an archival storage to an active storage within a multi-media server computer system
WO2000004483A2 (en) * 1998-07-15 2000-01-27 Imation Corp. Hierarchical data storage management
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
JP2001022614A (ja) 1999-07-08 2001-01-26 Hitachi Ltd 階層形記憶システム
JP2001306366A (ja) * 2000-04-21 2001-11-02 Ricoh Co Ltd データ管理装置
US6434682B1 (en) * 2000-09-28 2002-08-13 International Business Machines Corporation Data management system with shortcut migration via efficient automatic reconnection to previously migrated copy
ATE361500T1 (de) * 2000-12-15 2007-05-15 Ibm Methode und system für skalierbare, hochperformante hierarchische speicherverwaltung
US6961727B2 (en) * 2001-03-15 2005-11-01 International Business Machines Corporation Method of automatically generating and disbanding data mirrors according to workload conditions
US7167965B2 (en) * 2001-04-30 2007-01-23 Hewlett-Packard Development Company, L.P. Method and system for online data migration on storage systems with performance guarantees
US20040039891A1 (en) * 2001-08-31 2004-02-26 Arkivio, Inc. Optimizing storage capacity utilization based upon data storage costs
US7092977B2 (en) * 2001-08-31 2006-08-15 Arkivio, Inc. Techniques for storing data based upon storage policies
JP2003216460A (ja) 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
CN1237452C (zh) * 2002-10-08 2006-01-18 凌阳科技股份有限公司 可暂存及移转指令与资料的存取结构及方法
US7290168B1 (en) * 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US20050026802A1 (en) 2003-08-01 2005-02-03 Andrew Kilkenny Disinfectant glass wipe
US7225211B1 (en) * 2003-12-31 2007-05-29 Veritas Operating Corporation Multi-class storage mechanism
WO2005081942A2 (en) * 2004-02-20 2005-09-09 George Sullivan Hierarchical storage management
US7441096B2 (en) * 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
US7131027B2 (en) * 2004-07-09 2006-10-31 Hitachi, Ltd. Method and apparatus for disk array based I/O routing and multi-layered external storage linkage
US20060101084A1 (en) * 2004-10-25 2006-05-11 International Business Machines Corporation Policy based data migration in a hierarchical data storage system
US20060129771A1 (en) * 2004-12-14 2006-06-15 International Business Machines Corporation Managing data migration
CN100452861C (zh) 2005-01-05 2009-01-14 中央电视台 分级存储管理系统
US7404039B2 (en) 2005-01-13 2008-07-22 International Business Machines Corporation Data migration with reduced contention and increased speed
US8315993B2 (en) * 2005-05-13 2012-11-20 International Business Machines Corporation Policy decision stash for storage lifecycle management
WO2006131978A1 (ja) 2005-06-10 2006-12-14 Fujitsu Limited Hsm制御プログラム、装置及び方法
GB0514529D0 (en) 2005-07-15 2005-08-24 Ibm Virtualisation engine and method, system, and computer program product for managing the storage of data
US8341345B2 (en) * 2005-08-08 2012-12-25 International Business Machines Corporation System and method for providing content based anticipative storage management
JP4420351B2 (ja) * 2005-09-30 2010-02-24 富士通株式会社 階層ストレージシステム、制御方法及びプログラム
US8661216B2 (en) * 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7693884B2 (en) * 2006-01-02 2010-04-06 International Business Machines Corporation Managing storage systems based on policy-specific proability
US8838620B2 (en) * 2006-02-03 2014-09-16 International Business Machines Corporation Predictive data object retrieval
US7930265B2 (en) * 2007-01-08 2011-04-19 International Business Machines Corporation Method for threshold migration based on fuzzy logic triggers
US7552152B2 (en) * 2007-03-05 2009-06-23 International Business Machines Corporation Risk-modulated proactive data migration for maximizing utility in storage systems
JP4375435B2 (ja) 2007-05-23 2009-12-02 株式会社日立製作所 予知型データ移行を行う階層ストレージシステム
JP2010257094A (ja) * 2009-04-23 2010-11-11 Hitachi Ltd 階層ストレージ管理システムにおける移動候補ファイルの抽出方法
US20110145525A1 (en) * 2009-12-14 2011-06-16 International Business Machines Corporation Method and System for Storing and Operating on Advanced Historical Access Data

Also Published As

Publication number Publication date
JP2008293233A (ja) 2008-12-04
US8762995B2 (en) 2014-06-24
CN101311912A (zh) 2008-11-26
GB2449515B (en) 2011-03-09
GB0803851D0 (en) 2008-04-09
DE102008011708A1 (de) 2008-11-27
CN101311912B (zh) 2012-10-03
GB2449515A (en) 2008-11-26
US20080295102A1 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
JP5081498B2 (ja) 計算機システム、および、その制御方法
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5490093B2 (ja) ストレージシステムおよびその制御方法
JP5437373B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
JP4749255B2 (ja) 複数種類の記憶デバイスを備えたストレージシステムの制御装置
US8543786B2 (en) Computer system and computer system management method for adding an unused real volume to a pool
JP5028381B2 (ja) ストレージ装置およびキャッシュ制御方法
US10846231B2 (en) Storage apparatus, recording medium, and storage control method
JP2018041245A (ja) ストレージ装置、及びストレージ制御装置
JP2008276626A (ja) 記憶制御装置及び記憶制御装置の制御方法
JP4862067B2 (ja) キャッシュ制御装置及び方法
WO2015068299A1 (ja) 管理計算機および計算機システムの管理方法
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
JP5602564B2 (ja) 計算機システム及び計算機システムの管理方法
JP2008299559A (ja) ストレージシステム及びストレージシステムにおけるデータ移行方法
CN101609430B (zh) 内存储存空间管理方法
JP2017037501A (ja) ストレージ制御装置およびストレージ制御プログラム
JP5594647B2 (ja) ストレージ装置及びその制御方法
WO2014147786A1 (ja) ストレージシステム及びデータ管理方法
JP5597266B2 (ja) ストレージシステム
JP5768118B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
JP2011242862A (ja) ストレージサブシステム及びその制御方法
WO2016006072A1 (ja) 管理計算機およびストレージシステム
JP6696220B2 (ja) データ移行装置、データ移行システム、方法およびプログラム
JP6138318B2 (ja) 複数のフラッシュパッケージを有するストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120713

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120803

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: 20120828

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: 20120903

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

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees