JP2016071601A - 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション - Google Patents

特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション Download PDF

Info

Publication number
JP2016071601A
JP2016071601A JP2014199974A JP2014199974A JP2016071601A JP 2016071601 A JP2016071601 A JP 2016071601A JP 2014199974 A JP2014199974 A JP 2014199974A JP 2014199974 A JP2014199974 A JP 2014199974A JP 2016071601 A JP2016071601 A JP 2016071601A
Authority
JP
Japan
Prior art keywords
access
storage
file
hsm
secondary storage
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
JP2014199974A
Other languages
English (en)
Other versions
JP6005116B2 (ja
Inventor
博志 荒木
Hiroshi Araki
博志 荒木
浩之 三好
Hiroyuki Miyoshi
浩之 三好
聡 高井
Satoshi Takai
聡 高井
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2014199974A priority Critical patent/JP6005116B2/ja
Priority to US14/831,890 priority patent/US9946488B2/en
Publication of JP2016071601A publication Critical patent/JP2016071601A/ja
Application granted granted Critical
Publication of JP6005116B2 publication Critical patent/JP6005116B2/ja
Priority to US15/713,735 priority patent/US10013206B2/en
Priority to US15/796,215 priority patent/US10055165B2/en
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/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/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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

【課題】非同期コピーがrecallしたファイルを、ユーザの側から透過的に、コピー完了後になるべく早くmigrateする方法を提供すること。
【解決手段】階層型ストレージ(HSM)において、特定のアプリケーションによってrecallされたファイルを、アプリケーションの処理が完了次第なるべく早くmigrateする。具体的には、あらかじめ特定のプロセスの実効UIDをHSMクライアントに登録しておき、そのユーザIDからあるファイルにrecall操作があった後、当該UIDからそのファイルへのアクセスが一定時間無かった場合に、そのファイルをmigrateする、というものである。このことで、非同期コピー以外からのアクセスによってpremigratedになったファイルも同様に扱われてしまうようなことがなく、それらの(premigratedな)ファイルを優先的にmigrateしたくないような場合に生じてしまう不都合な問題が解消される。
【選択図】 図6

Description

本発明は、階層型ストレージにおけるマイグレーションに関する。
= HSMについて =
ストレージシステムにおいて、費用対効果を高めるために、データのアクセス頻度などに応じて使用するストレージデバイスを動的に選択して選択的に使用する、階層型ストレージ(以下HSM)というアーキテクチャが近年広く使われている。
図1は、階層型ストレージ(以下、HSM)における操作(operation)を示す図である。
階層型ストレージにおいては、アクセス頻度の高いデータを(相対的に)高速・高コスト・小容量なディスク(HDD)などに保存し、そうではないデータを(相対的に)低速・低コスト・大容量なテープ(Tape)などに保存することによって、「アクセス頻度」に応じて最適な記憶装置デバイスにデータを保存することができる。
この例の設定では、ディスク(HDD)がプライマリーにアクセスに対応するプライマリーストレージとして、テープ(Tape)がセカンダリーにアクセスに対応するセカンダリーストレージとして、2種類の記憶装置デバイスが設定されている。
通常、これらの記憶装置デバイスの選択は、ユーザがあらかじめ設定したポリシーによって自動的に行われる。
「ポリシー」とは、どのようなデータをどの記憶装置デバイスに保存するか、を定めたルールであり、例えば「過去90日間にアクセスのないファイルをテープに移動する」といったルールがポリシーにあたる。
HSMにおいては、これら記憶装置デバイスである、HDDとテープとの間におけるデータの実体の移動は、ユーザの側から透過的に行われる。
以下では、(相対的に)高速な記憶装置としてディスクを、(相対的に)低速な記憶装置としてテープを用いて説明する。
HSMにおいては、一般的に、以下のような複数の種類の操作(operation)が利用可能である。
migrate: ディスクからテープへデータを移動させること。
recall: テープからディスクへデータを移動させること。
図2は、HSMにおけるファイルの状態を示す模式図である。
また、一般に、上記の操作に伴い、HSMにおけるファイルは、以下の(A)(B)(C)の何れかの状態を持つことになる。
図2においては、ファイルがある(存在する)状態を太線で、ファイルがない状態を破線で、模式的に示している。
(A) resident: ファイルのデータがディスクのみにある状態。
(B) migrated: ファイルのデータがテープのみにある状態。
(C) premigrated: ファイルのデータがディスクとテープの両方にある状態。
(C) の状態は、一般的には、migrateする前にpremigrate処理を実行してディスクとテープの両方にデータを残した場合、もしくは、recall直後におけるファイルの状態である。
recallが行なわれた直後には、一般的にはテープ上のデータは直ぐに削除されるようなことはないため、一時的に、ディスクとテープとの両方にデータが存在していることになるからである。
図3は、HSMにおけるサーバ・クライアントモデルの実装を示す模式図である。
操作を実行する主体は、HSMにおいてはしばしば、ここに模式的に示すようなサーバ・クライアントモデルとして実装される。
HSMクライアント: ディスク(HDD)などのプライマリストレージに接続されたマシンおよびその上で動くプログラム。
HSMサーバ: テープなどのセカンダリストレージに接続されたマシンおよびその上で動くプログラム。
HSMクライアントは、ファイルへのアクセスなどを受け取り、またはアクセスなどを観察し、ポリシーに応じてHSMサーバへmigrate/recallの要求を送る。
HSMサーバは、HSMクライアントから送られたデータをテープに書き込んだり、テープから読み出したデータをHSMクライアントに送ったりする。
通常、ユーザの側からは、migrate/recallを意識することはない。
HSMを実現するソフトウェアとして、例えばIBM (IBM Corporationの商標) TSM HSMがある。
= 非同期コピーについて =
一方、ストレージシステムにおいて、ホストからのI/Oとは非同期に、運用サイトのデータをバックアップサイトへコピーする「非同期コピー」というアプリケーションが存在する。
非同期コピーにおいては通常、ある時点でのコピーでは、前回のコピー時以降に変更のあったファイルのみを転送するインクリメンタルコピーを行うのが普通である。
非同期コピー機能を持ったストレージとして、例えばIBM SONASがある。
= HSM上での非同期コピーについて =
通常、非同期コピーとHSMとは、独立して実装・運用されており、HSMで運用管理を行うストレージシステムにおいて同期コピーを実行するということは珍しくない。
実際、例えばIBM SONASは、HSMと非同期コピーの両方をサポートしている。
このようなシステムにおいては通常、非同期コピーは、あるファイルがmigrateされているのかどうか分からない。
そのため、migrateされているファイルがコピー対象になった場合、非同期コピーはそのファイルを読み出そうとし、その結果として、HSMが当該ファイルをrecallすることになる。
非同期コピーではファイルの中身を読んで、バックアップサイトに読取ったファイルの中身を送る必要が生じる。
従って、非同期コピーでは、ファイルがmigratedな場合にrecallする操作を行なうことを避けることができない。
しかし、階層型ストレージの目的を考えると、非同期コピーがrecallしたファイルは、ユーザによってrecallされたファイルとは異なり、今後アクセスされる可能性が増えたりするといったアクセス頻度の増加が見込まれる訳ではない。
従って、非同期コピーがそのファイルのデータを読み取り次第、なるべく早く、再びmigrateすることが望ましい。
これは特に、プライマリーストレージであるディスクの容量が比較的小さい場合などにおいて重要となってくる。
非同期コピーによってrecallされたファイルをコピー終了後になるべく早くmigrateする方法として、premigratedの状態にあることを利用する方法が考えられる。
一般にrecallされたファイルは、その直後にpremigrated状態になる。
非同期コピーがrecallを実行させた場合もこの状態を生じさせてしまうため、HSMポリシーに「premigratedの状態にあるファイルをmigrateする」と設定しておくと、非同期コピー実行後には適時migrateされていくと考えられる。
しかしこのような手法では、非同期コピー以外からのアクセスによってpremigratedになったファイルも同様に扱われてしまう。
これは、それらの(premigratedな)ファイルを優先的にmigrateしたくないような場合には不都合な問題となり、実際にそのような事例に遭遇した。
特許文献1〜6はいずれもデータのマイグレーションについて記載がある。
また特許文献1〜特許文献6には、階層型ストレージの記憶制御について記載がある。
ただし、これらの各文献には、本発明が解決しようとする手段の構成が断片的に開示されているにすぎない。
特に、これらいずれの文献にも、「アプリケーションの処理が完了次第なるべく早くmigrateする」ことについては記載がない。
特許文献7〜11は、参考事例にすぎない。
従来技術には、本発明が解決しようとする問題に着目しているものは見あたらず、そのような問題を解決することができる既存の手法は存在しない。
特開2003−296151 特開2010−257020 特開平5−81090 特開2012−98965 特開2008−112291 特開2006−252247 特開平6−44107 特開2010−257094 特開2011−186794 特開2006−99763 特開2014−38463
本発明の目的は、非同期コピーがrecallしたファイルを、ユーザの側から透過的に、コピー完了後になるべく早くmigrateする方法を提供することにある。
階層型ストレージにおいて、特定のアプリケーションによってrecallされたファイルを、アプリケーションの処理が完了次第なるべく早くmigrateする。
具体的には、あらかじめ特定のプロセスの実効UIDをHSMクライアントに登録しておき、そのユーザIDからあるファイルにrecall操作があった後、当該UIDからそのファイルへのアクセスが一定時間にわたって無かった場合に、そのファイルをmigrateする、というものである。
非同期コピー以外からのアクセスによってpremigratedになったファイルも同様に扱われてしまうようなことがなく、それらの(premigratedな)ファイルを優先的にmigrateしたくないような場合に生じてしまう不都合な問題が解消される。
図1は、階層型ストレージ(以下、HSM)における操作(operation)を示す図である。 図2は、HSMにおけるファイルの状態を示す模式図である。 図3は、HSMにおけるサーバ・クライアントモデルの実装を示す模式図である。 図4は、HSMにおけるアプリケーションのアクセスの状況を示す模式図である。 図5は、複数のアプリケーションに本発明を適用する場合の登録例を示す図である。 図6は、あるアプリケーションが、ファイルfへのアクセスをする動作例を示す図である。 図7は、あるアプリケーションが、ファイルfへのアクセスをする場合に、HSMクライアントにおいてtimerを動作させる例を示す図である。
本発明の一実施形態では、新規に以下の構成要素を管理・使用することで、recallされたファイルをなるべく早いタイミングでmigrateし直す手法を提案する。:
− recallを発生させたユーザID
− recallからの経過時間
− 上記ユーザIDと,タイムアウト値の組からなる、timeout table
それぞれの構成要素の詳細と、これらを利用する新規手法については後述する。
本発明は、基本的にHSMクライアントにのみ変更を加えることで実現できる。
つまり、本発明は、既存のアプリケーション自体には変更を加えることなく適用できるような場合がほとんどである。
以下で、まず本発明の手法の大まかな流れを説明し、その後詳細について実施例を挙げながら説明していく。
<< 本発明の手法の大まかな流れ >>
ここでは、本手法の全体の大まかな流れを説明する.
図4は、HSMにおけるアプリケーションのアクセスの状況を示す模式図である。
HSMが構成されているシステム上で、あるアプリケーションAが動いている状況を想定する。
アプリケーションAは、migrateされているファイルFにアクセスすることになる。
このファイルFへのアクセスの際recallを伴い、Fはpre-migratedないしresident状態となるが、AによるFへのアクセスが終わり次第、なるべく早くFをmigrateし直せるように、以下のように動作する。
1.あらかじめ、Aの実効ユーザID Uと、タイムアウトTとを登録しておく。
2.UによるFへのアクセス時にtimerをスタートする。このtimerはUからFへのアクセスがある度にリセットする。
3.U以外によるFへのアクセス時には、timerを削除する。
4.timerの値がTを超えたとき、Fをmigrateしtimerを削除する。
<< 本手法の詳細な説明 >>
ここでは本手法の詳細について説明する。
説明のため、アプリケーションが非同期コピーである場合の動作について例を示しながら説明するが、本発明はアプリケーションによらず適用可能である。
= 1.準備 =
以下のステップは、アプリケーションの使用を開始する前に一度だけ実行する。
1-1. 専用ユーザの作成
対象システムのOSに応じて、任意の方法で専用ユーザを作成する。
この専用ユーザのUIDをuとする。
1-2. ユーザとタイムアウト値の登録
非同期コピーを実行するマシン上のHSMクライアントに、uとタイムアウト値tを組にして、timeoutテーブルに登録する。
tは、「非同期コピーにおいて、あるファイルに対する処理を完了するまでに行われる連続したI/O命令の最大間隔」とする。
このtは、アプリケーションや、アプリケーションを実行するマシン、その他、環境に依存する。
例えば、ある1GBのファイルを非同期コピーする場合を考える。
その際、コピー元のマシンでこのファイルを読み込み、それをsshなどのプロトコルを用いてコピー先へネットワーク転送するが、通常は、より小さい単位(例えば512KB)ずつreadし、それをバッファに溜めていき、ある程度バッファに溜まったときに(例えば16MB)、それをネットワーク転送する。
つまり、read単位が512KBであるなら、1GB分のデータを読むのに2048回のread system callが呼び出される。
この場合、tは、これらの各read system callの呼び出し間隔として十分な時間とする。
逆に言えば、アプリケーションからこのファイルへのreadがt秒以上なければ、このファイルに関する処理が完了したものとみなせるようなtを設定する。
tの具体的な値を決める際に、例えば以下のように考えることができる。
− 実行環境のcpu,disk,networkなどの帯域が十分にあり、かつ、単にファイルデータを読み込みそれらを一気にネットワーク転送するだけなら、各readの間隔は十分小さい(1秒以下)はずである。
したがってtとして(十分な余裕を持たせて)900秒 (=15分)という値を設定できる。
− 上記と異なり、ファイルデータを読み込んだ後、データの圧縮を行い、その圧縮データをネットワーク転送するような場合を考えると、上記の場合よりもreadの間隔は長くなることが予想される。
このような場合は、上記よりもさらに余裕を持たせて、t=1800秒 としても良い。
ここでtの値は15分程度と考えているが、一方で、本手法を適用しない場合にポリシーによるmigrateが行われる場合には、通常「最後にアクセスされてから60日以上経っているファイルをmigrateする」などの、非常に長い期間をしきい値とする。
15分と60日を比較し、本手法によるmigrateが非常に早いタイミングで行われることが分かる。
適切なtの値は環境に依存するが、ファイルの入出力状況(file I/O)をモニターしながら実際にアプリケーションを実行してみることで、適当なtを決定できる。
もし複数のアプリケーションに本発明を適用する場合には、アプリケーションごとに異なるUIDそれぞれに対して、timeout値を登録する。
図5は、複数のアプリケーションに本発明を適用する場合の登録例を示す図である。
ここでは例として、timeout tableを用いる。
ここで、非同期アプリケーションの実効UIDは10とし、もうひとつ、本発明を用いる別のアプリケーションのUIDを20とする。
1-3. 非同期コピープログラムへの変更
本発明を適用するために、非同期コピー中にデータのI/O処理を行う部分で、実効ユーザIDがuとなるようにしなければならない。
これを実現する方法はシステムに応じて処理が異なるが、例えばLinux (Linus Torvaldsの商標)では、実効ユーザIDがuであるプロセスから、非同期コピーを実行すれば良い。
また、必要に応じてseteuid system callを使うこともできる。
= 2. 非同期コピーが、あるmigratedなファイルfへのアクセスを開始するとき =
以下の処理は、非同期コピーが、migrateされているファイルfへのアクセスを開始するときに、そのファイルfについて一度だけ行う。
ここでは、説明のため、ファイルfがコピー元にある場合を考えるが、コピー先にある場合にも本発明を適用できる。
もしfがresident/premigratedな状態にあるような場合、非同期コピーはディスク上のデータを、HSMクライントを介さずそのまま読み込むことができる。
このような場合、ファイルfに対して本発明は一切適用されない。
fがmigratedな状態にある場合、非同期コピーがfのデータを読み込もうとすると、HSMクライアントはHSMサーバにrecall処理を要求する。
この際、HSMクライアントは、fを読み込もうとしているプロセスのUIDを調べ、それがtimeoutテーブルに載っているものかどうかを判定する。
図6は、あるアプリケーションが、ファイルfへのアクセスをする動作例を示す図である。
動作は、次の1〜3のようになる。
1. 非同期コピー(UID=10)が、ストレージ上のファイルfを読み込もうとする。
2. fはmigratedであるため,HSMクライアントはHSMサーバに対して、fのrecallを要求する。
3. テープなどにあるファイルfの実体データが,ストレージ上のファイルfに展開(もしくはメモリ上に展開)される。
ここで、ファイルfにアクセスしているプロセスの実効UIDがtimeout tableに存在する場合、recallをHSMサーバへ要求する前に、HSMクライアントにて以下の処理を行う。
2-1. access timerのスタート
ファイルfへのRecall処理が発生したときに、内部的にファイルf用のaccess timerに0をセットしtimerをスタートする。
このtimerは、uからfへのアクセスが発生する度に0にリセットし直される(後述)。
すなわち、timerは「非同期コピーが最後にファイルfにアクセスしてからの経過時間」を表す。
2-2. DMAPIで、read/writeをフック
ファイルfへのファイルアクセス(メタデータ、データのIO)時にフック関数hookが呼ばれるようにする。
この関数hookは、「非同期コピーがファイルfへのアクセスを終えた」とみなせるタイミングで削除されることになる(後述)。
この関数hookの登録は、例えばSNIAで標準化されているDMAPI (Data Management API)を使用することによって実現できる。
DMAPIは、XFS, JFS, GPFS (IBM Corporationの商標)などにおいてサポートされており、SONASにおいても使用することができる。
対象ファイルシステムがDMAPIをサポートしていない場合の手法は後述する。
この関数hook内で以下の処理を行う。
− fにアクセスするプロセスのUIDがuのとき、timerを0でリセットする。
− fにアクセスするプロセスのUIDがu以外のとき、timerおよびhook関数を削除する。
後者は、非同期コピー以外の、例えばユーザプロセスがファイルfにアクセスしてきた場合などを意味する。
この場合は、fをmigrate するかどうかは、本発明ではなく既存のポリシーに従うようにする。
したがって、UID=uのアプリケーションがfの処理を完了する前に、timeout tableに載っていない別のアプリケーションがfにアクセスした場合、従来のHSMポリシーの通り今後fにさらなるアクセスがあるものとし、fのmigrateを行わない。
図7は、あるアプリケーションが、ファイルfへのアクセスをする場合に、HSMクライアントにおいてtimerを動作させる例を示す図である。
上記の2-1と2-2の処理を図示すると、図7のようになる。
1. HSMクライアントが「UID=10のファイルf用のtimer」をスタートさせる。
2. DMAPIを用いて「ファイルf用のフック関数hook」をセットする。この関数は、fへのアクセスがある度に呼び出される。
= 3. 非同期コピーが、ファイルfを用いた処理を開始してから完了するまで =
ステップ2においてrecallが完了すると、非同期コピープロセスはファイルfのreadを始める。
このfへのread中,HSMクライアントで以下のことを行う。
3-1. timerのタイムアウト検出
fのtimerのタイムアウトを検知したら、非同期コピーがfへの処理を完了したとみなし、タイムアウト・ルーチンにより、関数hookを削除し、fをmigrateする。
ただし、fに関するtimerが複数ある場合(つまり,複数のアプリケーションに対して本発明を適用している場合)は、すべてのtimerがタイムアウトしたときだけmigrateするようにし、関数hookも削除しない。
= 対象ファイルシステムがDMAPIを実装していない場合 =
対象ファイルシステムがDMAPIを実装していない場合は、以下の処理を行うことで本発明を実現できる。
− 2-1において、timerをkickしたときのatimeを覚えておく。
− 3-1において、その時点のfのatimeを取得し、覚えておいたatimeと比較する。
atimeがupdateされていたら、timerをリセットする。
ただしこの方法だと、非同期コピーがfを処理している間に、別のプロセスがfにアクセスした場合でも、一定時間経過後にはfがmigrateされてしまう。
本発明では、説明のため、アプリケーションとして非同期コピーを例として述べているが、本発明の技術的思想はアプリケーションによらず適用が可能である。
また、記憶装置デバイスとして、プライマリーストレージとしてはディスクを、セカンダリーストレージとしてはテープを例として説明してきたが、当業者であれば様々な記憶装置に対して、記憶装置の種類によらず適用が可能である。

Claims (27)

  1. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)において、プライマリーストレージとセカンダリーストレージとの間においてデータを移動する方法であって、
    アプリケーションからのアクセスであって、プライマリーストレージまたはセカンダリーストレージに記憶されているファイル(F)へのアクセスを受け取るステップと、
    アクセスが、非同期コピーとしてのアクセスであるかどうかを判断するステップと、
    非同期コピーとしてのアクセスであるものと判断される場合には、タイムアウト(T)をセットするステップと、
    セカンダリーストレージから、プライマリーストレージへと、ファイル(F)をリコールするステップと、
    セットされたタイムアウト(T)が経過したら、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートするステップと、を有する、
    方法。
  2. 非同期コピーとしてのアクセスがあるアプリケーションを、ユーザID(UID)によって区別することを特徴とする、
    請求項1に記載の方法。
  3. ユーザID(UID)ごとに、タイムアウト(T)がセットされていることを特徴とする、
    請求項2に記載の方法。
  4. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)において、プライマリーストレージとセカンダリーストレージとの間においてデータを移動する方法であって、
    アプリケーションからのアクセスであって、プライマリーストレージまたはセカンダリーストレージに記憶されているファイル(F)へのアクセスを観察するステップと、
    アクセスが、特定のアプリケーションからのアクセスであるかどうかを判断するステップと、
    特定のアプリケーションからのアクセスであるものと判断される場合には、セカンダリーストレージから、プライマリーストレージへと、ファイル(F)をリコールした後、特定のアプリケーション以外のアプリケーションからのアクセスとは異なる扱いをするために、セットされている所定の時間が経過したら、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートするステップと、を有する、
    方法。
  5. 特定のアプリケーションが、非同期コピーとしてのアクセスを伴うアプリケーションである、
    請求項4に記載の方法。
  6. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)において、プライマリーストレージとセカンダリーストレージとの間においてデータを移動するHSMクライアントであって、
    アプリケーションからのアクセスであって、プライマリーストレージまたはセカンダリーストレージに記憶されているファイル(F)へのアクセスを受け取り、
    アクセスが、非同期コピーとしてのアクセスであるかどうかを判断し、
    非同期コピーとしてのアクセスであるものと判断される場合には、タイムアウト(T)をセットし、
    セカンダリーストレージから、プライマリーストレージへと、ファイル(F)のリコールを要求し、
    セットされたタイムアウト(T)が経過したら、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートする、
    HSMクライアント。
  7. 非同期コピーとしてのアクセスがあるアプリケーションを、ユーザID(UID)によって区別することを特徴とする、
    請求項6に記載のHSMクライアント。
  8. ユーザID(UID)ごとに、タイムアウト(T)がセットされていることを特徴とする、
    請求項7に記載のHSMクライアント。
  9. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)において、プライマリーストレージとセカンダリーストレージとの間においてデータを移動するHSMクライアントであって、
    アプリケーションからのアクセスであって、プライマリーストレージまたはセカンダリーストレージに記憶されているファイル(F)へのアクセスを観察し、
    アクセスが、特定のアプリケーションからのアクセスであるかどうかを判断し、
    特定のアプリケーションからのアクセスであるものと判断される場合には、セカンダリーストレージから、プライマリーストレージへと、ファイル(F)をリコールした後、特定のアプリケーション以外のアプリケーションからのアクセスとは異なる扱いをするために、セットされている所定の時間が経過したら、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートする、
    HSMクライアント。
  10. 特定のアプリケーションが、非同期コピーとしてのアクセスを伴うアプリケーションである、
    請求項9に記載のHSMクライアント。
  11. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)として、プライマリーストレージとセカンダリーストレージとの間においてデータを移動するHSMであって、
    アプリケーションからのアクセスであって、プライマリーストレージまたはセカンダリーストレージに記憶されているファイル(F)へのアクセスを受け取り、
    アクセスが、非同期コピーとしてのアクセスであるかどうかを判断し、
    非同期コピーとしてのアクセスであるものと判断される場合には、タイムアウト(T)をセットし、
    セカンダリーストレージから、プライマリーストレージへと、ファイル(F)のリコールを要求し、
    セットされたタイムアウト(T)が経過したら、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートする、
    HSM。
  12. 非同期コピーとしてのアクセスがあるアプリケーションを、ユーザID(UID)によって区別することを特徴とする、
    請求項11に記載のHSM。
  13. ユーザID(UID)ごとに、タイムアウト(T)がセットされていることを特徴とする、
    請求項12に記載のHSM。
  14. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)として、プライマリーストレージとセカンダリーストレージとの間においてデータを移動するHSMであって、
    アプリケーションからのアクセスであって、プライマリーストレージまたはセカンダリーストレージに記憶されているファイル(F)へのアクセスを観察し、
    アクセスが、特定のアプリケーションからのアクセスであるかどうかを判断し、
    特定のアプリケーションからのアクセスであるものと判断される場合には、セカンダリーストレージから、プライマリーストレージへと、ファイル(F)をリコールした後、特定のアプリケーション以外のアプリケーションからのアクセスとは異なる扱いをするために、セットされている所定の時間が経過したら、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートする、
    HSM。
  15. 特定のアプリケーションが、非同期コピーとしてのアクセスを伴うアプリケーションである、
    請求項14に記載のHSM。
  16. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)において、プライマリーストレージとセカンダリーストレージとの間においてデータを移動することを実行する、プライマリーストレージに接続されるか、または、プライマリーストレージの上で動く、プログラムであって、
    アプリケーションからのアクセスであって、プライマリーストレージまたはセカンダリーストレージに記憶されているファイル(F)へのアクセスを受け取るステップと、
    アクセスが、非同期コピーとしてのアクセスであるかどうかを判断するステップと、
    非同期コピーとしてのアクセスであるものと判断される場合には、タイムアウト(T)をセットするステップと、
    セカンダリーストレージから、プライマリーストレージへと、ファイル(F)をリコールするステップと、
    セットされたタイムアウト(T)が経過したら、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートするステップと、を有していて、
    これらのステップをコンピュータに実行させる、
    プログラム。
  17. 非同期コピーとしてのアクセスがあるアプリケーションを、ユーザID(UID)によって区別することを特徴とする、
    請求項16に記載のプログラム。
  18. ユーザID(UID)ごとに、タイムアウト(T)がセットされていることを特徴とする、
    請求項17に記載のプログラム。
  19. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)において、プライマリーストレージとセカンダリーストレージとの間においてデータを移動することを実行する、プライマリーストレージに接続されるか、または、プライマリーストレージの上で動く、プログラムであって、
    アプリケーションからのアクセスであって、プライマリーストレージまたはセカンダリーストレージに記憶されているファイル(F)へのアクセスを観察するステップと、
    アクセスが、特定のアプリケーションからのアクセスであるかどうかを判断するステップと、
    特定のアプリケーションからのアクセスであるものと判断される場合には、セカンダリーストレージから、プライマリーストレージへと、ファイル(F)をリコールした後、特定のアプリケーション以外のアプリケーションからのアクセスとは異なる扱いをするために、セットされている所定の時間が経過したら、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートするステップと、、を有していて、
    これらのステップをコンピュータに実行させる、
    プログラム。
  20. 特定のアプリケーションが、非同期コピーとしてのアクセスを伴うアプリケーションである、
    請求項19に記載のプログラム。
  21. タイムアウト(T)または所定の時間が、リコールからの経過時間としてセットされる、
    請求項1または4に記載の方法。
  22. タイムアウト(T)または所定の時間が、リコールからの経過時間としてセットされる、
    請求項6または9に記載のHSMクライアント。
  23. タイムアウト(T)または所定の時間が、リコールからの経過時間としてセットされる、
    請求項11または14に記載のHSM。
  24. タイムアウト(T)または所定の時間が、リコールからの経過時間としてセットされる、
    請求項16または19に記載のプログラム。
  25. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)において、プライマリーストレージとセカンダリーストレージとの間においてデータを移動することを実行するHSMクライアントによって使用される、タイムアウトテーブルであって、
    非同期コピーとしてのアクセスがあるアプリケーションを、ユーザID(UID)によって区別していて、かつ、
    ユーザID(UID)ごとに、タイムアウト(T)をセットしているが、HSMクライアントが、セカンダリーストレージから、プライマリーストレージへと、ファイル(F)のリコールを要求したこととの関係で、タイムアウト(T)をセットしていて、
    HSMクライアントによって、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートするためのタイミングとして、セットされているタイムアウト(T)が参照して使用される、
    タイムアウトテーブル。
  26. データのアクセス頻度またはポリシーに応じてプライマリーストレージまたはセカンダリーストレージの何れかを選択的に使用する階層型ストレージ(HSM)において、プライマリーストレージとセカンダリーストレージとの間においてデータを移動することを実行するHSMクライアントによって使用される、タイムアウトテーブルであって、
    特定のアプリケーションと、特定のアプリケーション以外のアプリケーションとを、ユーザID(UID)によって区別していて、かつ、
    ユーザID(UID)ごとに、タイムアウト(T)をセットしているが、HSMクライアントが、セカンダリーストレージから、プライマリーストレージへと、ファイル(F)のリコールを要求したこととの関係で、タイムアウト(T)をセットしていて、
    HSMクライアントによって、プライマリーストレージから、セカンダリーストレージへと、ファイル(F)をマイグレートするためのタイミングとして、セットされているタイムアウト(T)が参照して使用される、
    タイムアウトテーブル。
  27. 特定のアプリケーションが、非同期コピーとしてのアクセスを伴うアプリケーションである、
    請求項26に記載のタイムアウトテーブル。
JP2014199974A 2014-09-30 2014-09-30 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション Active JP6005116B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014199974A JP6005116B2 (ja) 2014-09-30 2014-09-30 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション
US14/831,890 US9946488B2 (en) 2014-09-30 2015-08-21 Automated migration of file recalled by specific application
US15/713,735 US10013206B2 (en) 2014-09-30 2017-09-25 Automated migration of file recalled by specific application
US15/796,215 US10055165B2 (en) 2014-09-30 2017-10-27 Automated migration of file recalled by specific application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014199974A JP6005116B2 (ja) 2014-09-30 2014-09-30 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション

Publications (2)

Publication Number Publication Date
JP2016071601A true JP2016071601A (ja) 2016-05-09
JP6005116B2 JP6005116B2 (ja) 2016-10-12

Family

ID=55584436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014199974A Active JP6005116B2 (ja) 2014-09-30 2014-09-30 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション

Country Status (2)

Country Link
US (3) US9946488B2 (ja)
JP (1) JP6005116B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107621927A (zh) * 2017-09-29 2018-01-23 南京宏海科技有限公司 一种基于超融合系统的纵向扩展方法及其装置
CN111208934A (zh) * 2018-11-21 2020-05-29 华为技术有限公司 一种数据存储方法及装置
US11010081B2 (en) 2017-03-17 2021-05-18 Fujitsu Limited Information processing apparatus and storage control method therefor
US11847097B2 (en) 2021-06-17 2023-12-19 International Business Machines Corporation Optimizing file recall for multiple users

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6005116B2 (ja) 2014-09-30 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション
US9513827B1 (en) * 2015-05-21 2016-12-06 Intetrnational Business Machines Corporation Determining adjustments of storage device timeout values based on synchronous or asynchronous remote copy state
US10044556B2 (en) * 2015-06-23 2018-08-07 International Business Machines Corporation Identifying performance-degrading hardware components in computer storage systems
US10521143B2 (en) * 2017-03-23 2019-12-31 Netapp Inc. Composite aggregate architecture
JP2020201574A (ja) * 2019-06-06 2020-12-17 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびアプリケーション実行方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014515840A (ja) * 2011-07-22 2014-07-03 株式会社日立製作所 情報処理システム及び情報処理システムの制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581090A (ja) 1991-09-19 1993-04-02 Nec Corp フアイルリコール制御方式
JPH0644107A (ja) 1992-04-20 1994-02-18 Nec Corp ファイルマイグレーション制御方式
JP3727896B2 (ja) 2002-03-29 2005-12-21 株式会社東芝 Hsmシステムおよび同システムのマイグレーション制御方法
US7062624B2 (en) 2004-09-29 2006-06-13 Hitachi, Ltd. Method for managing volume groups considering storage tiers
JP4671720B2 (ja) 2005-03-11 2011-04-20 株式会社日立製作所 ストレージシステム及びデータ移動方法
JP2008112291A (ja) 2006-10-30 2008-05-15 Hitachi Ltd 記憶制御装置及び記憶制御装置のデータ移動方法
US8170990B2 (en) 2008-05-30 2012-05-01 Hitachi, Ltd. Integrated remote replication in hierarchical storage systems
JP2010257020A (ja) 2009-04-22 2010-11-11 Hitachi Ltd データマイグレーション管理装置及び管理方法
JP2010257094A (ja) 2009-04-23 2010-11-11 Hitachi Ltd 階層ストレージ管理システムにおける移動候補ファイルの抽出方法
JP5586892B2 (ja) 2009-08-06 2014-09-10 株式会社日立製作所 階層化ストレージシステム及び階層化ストレージシステムにおけるファイルのコピー制御方法
CN102667772B (zh) 2010-03-01 2015-05-20 株式会社日立制作所 文件级分级存储管理系统、方法和设备
JP2011186794A (ja) 2010-03-09 2011-09-22 Hitachi Ltd ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法
US8983910B1 (en) * 2010-04-01 2015-03-17 Symantec Corporation Systems and methods for adaptively selecting file-recall modes
JP5617540B2 (ja) 2010-11-02 2014-11-05 富士通株式会社 仮想テープ装置および仮想テープ装置における物理テープ選択方法
JP6035991B2 (ja) 2012-08-15 2016-11-30 富士通株式会社 ストレージ制御方法、およびストレージ制御装置
WO2015151258A1 (ja) * 2014-04-03 2015-10-08 株式会社日立製作所 非同期リモートコピーを行うリモートコピーシステムを含んだ計算機システムの管理システム及び管理方法
JP6005116B2 (ja) 2014-09-30 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014515840A (ja) * 2011-07-22 2014-07-03 株式会社日立製作所 情報処理システム及び情報処理システムの制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010081B2 (en) 2017-03-17 2021-05-18 Fujitsu Limited Information processing apparatus and storage control method therefor
CN107621927A (zh) * 2017-09-29 2018-01-23 南京宏海科技有限公司 一种基于超融合系统的纵向扩展方法及其装置
CN107621927B (zh) * 2017-09-29 2020-08-14 南京宏海科技有限公司 一种基于超融合系统的纵向扩展方法及其装置
CN111208934A (zh) * 2018-11-21 2020-05-29 华为技术有限公司 一种数据存储方法及装置
US11550486B2 (en) 2018-11-21 2023-01-10 Huawei Technologies Co., Ltd. Data storage method and apparatus
US11847097B2 (en) 2021-06-17 2023-12-19 International Business Machines Corporation Optimizing file recall for multiple users

Also Published As

Publication number Publication date
US20160092141A1 (en) 2016-03-31
US20180046407A1 (en) 2018-02-15
US10013206B2 (en) 2018-07-03
US10055165B2 (en) 2018-08-21
US9946488B2 (en) 2018-04-17
JP6005116B2 (ja) 2016-10-12
US20180011659A1 (en) 2018-01-11

Similar Documents

Publication Publication Date Title
JP6005116B2 (ja) 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション
US11816063B2 (en) Automatic archiving of data store log data
US20200278792A1 (en) Systems and methods for performing storage operations using network attached storage
US10635323B2 (en) Managing storage system
US9400611B1 (en) Data migration in cluster environment using host copy and changed block tracking
JP5586892B2 (ja) 階層化ストレージシステム及び階層化ストレージシステムにおけるファイルのコピー制御方法
US9116913B2 (en) File storage system and file cloning method
JP6270827B2 (ja) データ・マイグレーションのための方法、システム、およびコンピュータ・プログラム
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
US20040044698A1 (en) Method for rebalancing free disk space among network storages virtualized into a single file system view
JP5592493B2 (ja) ストレージネットワークシステム及びその制御方法
US10372547B1 (en) Recovery-chain based retention for multi-tier data storage auto migration system
CN106776147B (zh) 一种差异数据备份方法和差异数据备份装置
US9984139B1 (en) Publish session framework for datastore operation records
US20150293719A1 (en) Storage Space Processing Method and Apparatus, and Non-Volatile Computer Readable Storage Medium
US8832027B1 (en) Change tracking between snapshots of a source storage
US10705764B2 (en) Performing nearline storage of a file
WO2021104383A1 (zh) 数据备份的方法和装置、设备和存储介质
WO2018076633A1 (zh) 一种远程数据复制方法、存储设备及存储系统
US8966207B1 (en) Virtual defragmentation of a storage
US8285869B1 (en) Computer data backup operation with time-based checkpoint intervals
US11288238B2 (en) Methods and systems for logging data transactions and managing hash tables
US11755226B2 (en) Tracking changes of storage volumes during data transfers
US10146467B1 (en) Method and system for archival load balancing
US11880598B2 (en) Request manager framework

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160906

R150 Certificate of patent or registration of utility model

Ref document number: 6005116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150