JP2013525869A - サーバ装置及びサーバ装置の制御方法 - Google Patents

サーバ装置及びサーバ装置の制御方法 Download PDF

Info

Publication number
JP2013525869A
JP2013525869A JP2012546280A JP2012546280A JP2013525869A JP 2013525869 A JP2013525869 A JP 2013525869A JP 2012546280 A JP2012546280 A JP 2012546280A JP 2012546280 A JP2012546280 A JP 2012546280A JP 2013525869 A JP2013525869 A JP 2013525869A
Authority
JP
Japan
Prior art keywords
file
quota
user
server device
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012546280A
Other languages
English (en)
Other versions
JP5439607B2 (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
Publication of JP2013525869A publication Critical patent/JP2013525869A/ja
Application granted granted Critical
Publication of JP5439607B2 publication Critical patent/JP5439607B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0653Monitoring storage devices or systems
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices

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)

Abstract

マイグレーションによって生じる他のユーザへの影響を抑えつつ、マイグレーションを適切に行えるようにする。第1ストレージ装置10a、及び第2ストレージ装置10bが接続する第2サーバ装置3bとが接続する第1サーバ装置3aにおいて、使用量がユーザクオータに基づく閾値を超えているユーザが所有するファイルを第2ストレージ装置10bへのマイグレーション対象とするユーザクオータに基づく管理を行い、マイグレーション対象とされているファイルのうち複数ユーザによって使用されているファイルをユーザクオータに基づく管理対象から外し、そのファイルを使用している複数ユーザのユーザクオータから供出されるファイルクオータに基づく管理の対象とするようにする。ファイルの容量がファイルクオータを超えた場合はそのファイルを再びユーザクオータに基づく管理対象とする。
【選択図】 図12

Description

この発明は、サーバ装置及びサーバ装置の制御方法に関し、特にファイルをマイグレーションすることによって生じる他のユーザへの影響を抑えつつ、マイグレーションを適切に行えるようにするための技術に関する。
特許文献1には、2つのサーバ(ファイルサーバ)間でファイルのデータをマイグレーション(Migration)する技術に関し、クライアント、1次ストレージを有する第1サーバ、2次ストレージを有する第2サーバ、及び制御装置を含むシステムにおいて、1次ストレージから2次ストレージにマイグレーションされた実ファイルの位置情報を記録したスタブファイルを1次ストレージに配置し、制御装置が、クライアントから第1のサーバの1次ストレージへのファイルアクセス要求を受けた場合にアクセス対象のファイルがスタブファイルであるか否か判定し、判定の結果、アクセス対象のファイルがスタブファイルであり、かつ、ファイルアクセス要求が実ファイルへのアクセスを必要とする場合に、スタブファイルの情報に基づき2次ストレージの実ファイルにアクセスしてクライアントに応答を返すことが記載されている。
また同文献には、ファイルをスタブ化するトリガーとして、ストレージ容量が閾値に達した場合にスタブ化を行うこと、スタブ化はアクセスがないファイルから行うこと、クオータ設定値に応じてアクセスの古いファイルを下階層に移動することなどが記載されている。
特開2006−164211号公報
ところで、上記のように、ストレージ容量が閾値に達した場合にスタブ化を行うようにした場合、ファイルサーバを利用するあるユーザが所有するファイルのファイルサイズ(データサイズ)が大きくなると他のユーザが所有するファイルについてもスタブ化の対象となり、他のユーザが実ファイルにアクセスする際にリコール(第2サーバからの実ファイルを取得)が発生し、アクセス性能が低下するなど他のユーザのサービスにも影響が生じてしまう。またクオータ設定値に応じてスタブ化を行うようにした場合でも、あるユーザが所有するファイルが他のユーザによっても使用(共用)されている場合には、あるユーザが所有するファイルがマイグレーションされてスタブ化されることにより、そのファイルにアクセスしている他のユーザに影響が生じてしまうことになる。
本発明はこのような背景に鑑みてなされたもので、マイグレーションを適切に行うとともに、マイグレーションによって生じる他のユーザへの影響を抑えることが可能な、サーバ装置及びサーバ装置の制御方法の制御方法を提供することを主たる目的とする。
上記目的を達成するための本発明の一つは、クライアント装置と、第1ストレージ装置と、第2ストレージ装置が通信可能に接続する第2サーバ装置と、が通信可能に接続する第1サーバ装置であって、前記クライアント装置から前記ファイルに対するアクセス要求を受け付けると、前記第1ストレージ装置に格納されている前記ファイルのデータに対して書き込み又は読み出しを行い、ユーザごとの記憶資源の使用量の制限を規定した情報であるユーザクオータを管理し、あるユーザの使用量が前記ユーザクオータに基づく閾値を超えている場合に、そのユーザが所有するファイルを前記第2ストレージ装置へのマイグレーションの対象とする、ユーザクオータに基づく管理を行い、マイグレーションの対象として特定された前記ファイルのうち、複数のユーザによって使用されているファイルを前記ユーザクオータに基づく管理の対象から外すとともに、当該ファイルを、そのファイルを使用している複数のユーザの前記ユーザクオータから供出される、ファイルごとの容量の制限を規定した情報であるファイルクオータに基づく管理の対象とし、前記ファイルクオータに基づく管理対象とされているあるファイルの容量が、前記ファイルクオータに基づく閾値を超えている場合に、そのファイルを前記ファイルクオータに基づく管理対象から外すとともに、当該ファイルを前記ユーザクオータに基づく管理対象とすることとする。
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
本発明によれば、ファイルをマイグレーションすることによって生じる他のユーザへの影響を抑えつつ、マイグレーションを適切に行うことができる。
情報処理システム1の概略的な構成を示す図である。 クライアント装置2のハードウエアの一例である。 第1サーバ装置3a又は第2サーバ装置3bとして利用可能な情報処理装置のハードウエアの一例である。 第1ストレージ装置10a又は第2ストレージ装置10bのハードウエアの一例である。 チャネル基板11のハードウエアの一例である。 プロセッサ基板12のハードウエアの一例である。 ドライブ基板13のハードウエアの一例である。 ストレージ装置10の基本的な機能を示す図である。 書き込み処理S900を説明するフローチャートである。 読み出し処理S1000を説明するフローチャートである。 クライアント装置2が備える主な機能を示す図である。 第1サーバ装置3aが備える主な機能、及び第1サーバ装置3aにおいて管理される主な情報(データ)を示す図である。 ユーザクオータ管理テーブル331の一例である。 ファイルクオータ管理テーブル332の一例である。 ファイルアクセスログ335の一例である。 第2サーバ装置3bが備える主な機能、及び第2サーバ装置3bにおいて管理される主な情報(データ)を示す図である。 ファイルシステム構造1700を説明する図である。 inodeを説明する図である。 inodeの概念を説明する図である。 inode管理テーブル1712の一例である。 本実施形態のinode管理テーブル1712の構成を示す図である。 レプリケーション開始処理S2200を説明する図である。 マイグレーション候補設定処理S2300を説明する図である。 クオータ管理方式変更処理S2400を説明する図である。 マイグレーション実施処理S2500を説明する図である。 レプリケーションファイル更新処理S2600を説明する図である。 同期処理S2700を説明する図である。 メタデータアクセス処理S2800を説明する図である。 マイグレーションファイル参照処理S2900を説明する図である。 マイグレーションファイル更新処理S3000を説明する図である。 ユーザクオータ管理テーブル331の一例である。 ファイルアクセスログ335に基づき把握される情報の一例である。 ファイルクオータ管理テーブル332の一例である。 ユーザクオータ管理テーブル331の一例である。 ユーザクオータ管理テーブル331の一例である。 ファイルアクセス時処理S3600を説明するフローチャートである。 スタブ化フラグOFF時処理S3660を説明するフローチャートである。 参照、更新以外処理S3670を説明するフローチャートである。 参照、更新以外処理S3900を説明するフローチャートである。 レプリケーション処理S4000を説明するフローチャートである。 同期処理S4100を説明するフローチャートである。 ファイル格納処理S4200を説明するフローチャートである。 ユーザクオータ超過検出処理S4300を説明するフローチャートである。 ファイルクオータ管理方式移行処理S4400を説明するフローチャートである。 ファイルクオータ返却処理S4500を説明するフローチャートである。 ファイルクオータ徴収処理S4600を説明するフローチャートである。 監視処理S4700を説明するフローチャートである。 監視処理S4800を説明するフローチャートである。
以下、図面を参照しつつ実施形態について説明する。
図1に実施形態として説明する情報処理システム1の概略的な構成を示している。同図に示すように、この情報処理システム1は、第1サーバ装置3a、第1ストレージ装置10a、クライアント装置2(サーバ装置)、第2サーバ装置3b、及び第2ストレージ装置10bを含む。
このうち第1サーバ装置3aは、例えば、クライアント装置2に対してファイル単位でのデータ管理機能を提供するファイルシステムを備えたファイルストレージ装置である。また第2サーバ装置3bは、例えば、第1サーバ装置3aが第1ストレージ装置10aに管理するデータのアーカイブ(書庫)先として機能するアーカイブ装置である。
第1サーバ装置3a、第1ストレージ装置10a、及びクライアント装置2は、例えば、企業における支点や事業所などのユーザが実際に業務を行う拠点(エッジ(Edge))に設けられる。また第2サーバ装置3b及び第2ストレージ装置10bは、例えば、データセンタなどの、企業等において使用される情報処理システム(アプリケーションサーバ/ストレージシステム等)の管理やクラウドサービスの提供などを行う拠点(コア(Core))に設けられる。
同図に示すように、クライアント装置2と第1サーバ装置3aとは、通信ネットワーク5を介して通信可能に接続されている。また第1サーバ装置3aと第1ストレージ装置10aとは、第1ストレージネットワーク6aを介して通信可能に接続している。また第2サーバ装置3bと第2ストレージ装置10bとは、第2ストレージネットワーク6bを介して通信可能に接続している。また第1サーバ装置3aと第2サーバ装置3bとは、通信ネットワーク7を介して通信可能に接続している。
通信ネットワーク5並びに通信ネットワーク7は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、公衆通信網、専用線等である。また第1ストレージネットワーク6a並びに第2ストレージネットワーク6bは、例えば、LAN、WAN、SAN(Storage Area Network)、インターネット、公衆通信網、専用線等である。
通信ネットワーク5、通信ネットワーク7、第1ストレージネットワーク6a、及び第2ストレージネットワーク6bを介して行われる通信は、例えば、TCP/IP、iSCSI(internet Small Computer System Interface)、ファイバーチャネルプロトコル(Fibre Channel Protocol)、FICON(Fibre Connection)(登録商標)、ESCON(Enterprise System Connection) (登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fibre Connection Architecture)(登録商標)などの所定のプロトコルに従って行われる。
クライアント装置2は、第1サーバ装置3aを介して第1ストレージ装置10aが提供する記憶領域を利用する情報処理装置(コンピュータ)であって、例えば、パーソナルコンピュータ、オフィスコンピュータ等である。クライアント装置2では、ファイルシステム、カーネル/ドライバ等のソフトウエアモジュールを実行することにより実現されるオペレーティングシステム(Operating System)、及びアプリケーション等が機能している。
図2にクライアント装置2のハードウエアの一例を示している。同図に示すように、この装置は、CPU21、揮発性または不揮発性のメモリ22(RAMまたはROM)、記憶装置23(例えばハードディスクドライブ、半導体記憶装置(SSD(Solid State Drive)))、キーボードやマウス等の入力装置24、液晶モニタやプリンタ等の出力装置25、及びNIC(Network Interface Card)(以下、LANアダプタ261と称する。)等の通信インタフェース(通信I/F26と称する。)を備えている。
第1サーバ装置3aは、第1ストレージ装置10aが提供する記憶領域(データの記憶領域)を利用する情報処理装置である。第1サーバ装置3aは、パーソナルコンピュータ、メインフレーム(Mainframe)、オフィスコンピュータ等を用いて構成されている。第1サーバ装置3aは、上記記憶領域へのアクセスに際し、第1ストレージネットワーク6aを介して、データI/O要求(データ書き込み要求、データ読み出し要求等)を含んだデータフレーム(以下、フレームと略記する。)を第1ストレージ装置10aに送信する。フレームは、例えばファイバーチャネルのフレーム(FCフレーム(FC: Fibre Channel))である。
第2サーバ装置3bは、第2ストレージ装置10bが提供する記憶領域(データの記憶領域)を利用する情報処理装置である。第2サーバ装置3bは、パーソナルコンピュータ、メインフレーム、オフィスコンピュータ等を用いて構成されている。第2サーバ装置3bは、上記記憶領域へのアクセスに際し、第2ストレージネットワーク6bを介して、データI/O要求を含んだフレームを第2ストレージ装置10bに送信する。
図3は、第1サーバ装置3a又は第2サーバ装置3bとして利用可能な情報処理装置のハードウエアの一例である。同図に示すように、この装置は、CPU31、揮発性または不揮発性のメモリ32(RAMまたはROM)、記憶装置33(例えばハードディスクドライブ、半導体記憶装置(SSD))、キーボードやマウス等の入力装置34、液晶モニタやプリンタ等の出力装置35、NIC(以下、LANアダプタ361と称する。)やHBA(以下、FCアダプタ362と称する。)等の通信インタフェース(通信I/F36と表記する。)、及びタイマ回路やRTC等を用いて構成される計時装置37を備えている。
図4は、第1ストレージ装置10a又は第2ストレージ装置10bのハードウエアの一例である。第1ストレージ装置10a又は第2ストレージ装置10bは、例えば、ディスクアレイ装置である。同図に示すように、このストレージ装置10は、サーバ装置3(第1サーバ装置3a又は第2サーバ装置3b。以下同様)から送られてくるデータI/O要求に応じて記録媒体にアクセスし、サーバ装置3にデータやレスポンスを送信する。
同図に示すように、ストレージ装置10は、一つ以上のチャネル基板11、一つ以上のプロセッサ基板12(Micro Processor)、一つ以上のドライブ基板13、キャッシュメモリ14(Cache Memory)、共有メモリ15(Shared Memory)、内部スイッチ16、記憶装置17、及び保守装置18(SVP: SerVice Processor)を備えている。尚、チャネル基板11、プロセッサ基板12、ドライブ基板13、キャッシュメモリ14、及び共有メモリ15は、内部スイッチ16を介して互いに通信可能に接続されている。
チャネル基板11は、サーバ装置3から送られてくるフレームを受信し、受信したフレームに含まれているデータI/O要求についての処理の応答(例えば読み出したデータ、読み出し完了報告、書き込み完了報告)を含んだフレームをサーバ装置3に送信する。
プロセッサ基板12は、チャネル基板11が受信したフレームに含まれている上記データI/O要求に応じて、チャネル基板11、ドライブ基板13、及びキャッシュメモリ14の間で行われるデータ転送(DMA(Direct Memory Access)等を用いた高速大容量のデータ転送)に関する処理を行う。プロセッサ基板12は、キャッシュメモリ14を介して行われる、チャネル基板11とドライブ基板13との間のデータ(記憶装置17から読み出したデータ、記憶装置17に書き込むデータ)の転送(引き渡し)や、キャッシュメモリ14に格納されるデータのステージング(記憶装置17からのデータの読み出し)及びデステージング(記憶装置17への書き出し)等を行う。
キャッシュメモリ14は、高速アクセスが可能なRAM(Random Access Memory)を用いて構成されている。キャッシュメモリ14には、記憶装置17に書き込まれるデータ(以下、書き込みデータと称する。)や記憶装置17から読み出されたデータ(以下、読み出しデータと記載する。)等が格納される。共有メモリ15には、ストレージ装置10の制御に用いられる様々な情報が格納される。
ドライブ基板13は、記憶装置17からのデータの読み出しや記憶装置17へのデータの書き込みに際して記憶装置17と通信を行う。内部スイッチ16は、例えば高速クロスバースイッチ(Cross Bar Switch)を用いて構成される。尚、内部スイッチ16を介して行われる通信は、例えば、ファイバーチャネル、iSCSI、TCP/IP等のプロトコルに従って行われる。
記憶装置17は、複数の記憶ドライブ171を備えて構成されている。記憶ドライブ171は、例えば、SAS(Serial Attached SCSI)、SATA(Serial ATA)、FC(Fibre Channel)、PATA(Parallel ATA)、SCSI等のタイプのハードディスクドライブ、半導体記憶装置(SSD)等である。
記憶装置17は、記憶ドライブ171を、例えば、RAID(Redundant Arrays of Inexpensive (or Independent) Disks)等の方式で制御することによって提供される論理的な記憶領域を単位としてサーバ装置3に記憶装置17の記憶領域を提供する。この論理的な記憶領域は、例えばRAIDグループ(パリティグループ(Parity Group))を用いて構成される論理装置(LDEV172(LDEV: Logical Device))である。
またストレージ装置10は、サーバ装置3に対してLDEV172を用いて構成される論理的な記憶領域(以下、LU(Logical Unit、Logical Volume、論理ボリューム)と称する。)を提供する。ストレージ装置10は、LUとLDEV172との対応(関係)を管理しており、ストレージ装置10は、この対応に基づきLUに対応するLDEV172の特定、もしくは、LDEV172に対応するLUの特定を行う。
図5にチャネル基板11のハードウエア構成を示している。同図に示すように、チャネル基板11は、サーバ装置3と通信するためのポート(通信ポート)を有する外部通信インタフェース(以下、外部通信I/F111と表記する。)、プロセッサ112(フレーム処理チップ及びフレーム転送チップを含む)、メモリ113、プロセッサ基板12と通信するためのポート(通信ポート)を有する内部通信インタフェース(以下、内部通信I/F114と表記する。)を備えている。
外部I/F111は、NIC(Network Interface Card)やHBA(Host Bus Adaptor)等を用いて構成されている。プロセッサ112は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等を用いて構成されている。メモリ113は、RAM(Random Access Memory)、ROM(Read Only Memory)である。メモリ113にはマイクロプログラムが格納されている。プロセッサ112が、メモリ113から上記マイクロプログラムを読み出して実行することにより、チャネル基板11が提供する各種の機能が実現される。内部通信I/F114は、内部スイッチ16を介してプロセッサ基板12、ドライブ基板13、キャッシュメモリ14、共有メモリ15と通信する。
図6にプロセッサ基板12のハードウエア構成を示している。プロセッサ基板12は、内部通信インタフェース(以下、内部通信I/F121と表記する。)、プロセッサ122、及び共有メモリ15に比べてプロセッサ122からのアクセス性能が高い(高速アクセスが可能な)メモリ123(ローカルメモリ)を備えている。メモリ123にはマイクロプログラムが格納されている。プロセッサ122が、メモリ123から上記マイクロプログラムを読み出して実行することにより、プロセッサ基板12が提供する各種の機能が実現される。
内部通信I/F121は、内部スイッチ16を介してチャネル基板11、ドライブ基板13、キャッシュメモリ14、及び共有メモリ15と通信を行う。プロセッサ122は、CPU、MPU、DMA(Direct Memory Access)等を用いて構成されている。メモリ123は、RAM又はROMである。プロセッサ122は、メモリ123及び共有メモリ15のいずれにもアクセスすることができる。
図7にドライブ基板13のハードウエア構成を示している。ドライブ基板13は、内部通信インタフェース(以下、内部通信I/F131と表記する。)、プロセッサ132、メモリ133、及びドライブインタフェース(以下、ドライブI/F134と表記する。)を備えている。メモリ133にはマイクロプログラムが格納されている。プロセッサ132が、メモリ133から上記マイクロプログラムを読み出して実行することにより、ドライブ基板13が提供する各種の機能が実現される。内部通信I/F131は、内部スイッチ16を介して、チャネル基板11、プロセッサ基板12、キャッシュメモリ14、及び共有メモリ15と通信する。プロセッサ132は、CPU、MPU等を用いて構成されている。メモリ133は、例えば、RAM、ROMである。ドライブI/F134は、記憶装置17との間で通信を行う。
図4に示した保守装置18は、ストレージ装置10の各構成要素の制御や状態監視を行う。保守装置18は、パーソナルコンピュータやオフィスコンピュータ等である。保守装置18は、内部スイッチ16又はLAN等の通信手段を介してチャネル基板11、プロセッサ基板12、ドライブ基板13、キャッシュメモリ14、共有メモリ15、及び内部スイッチ16等のストレージ装置10の構成要素と随時通信を行い、各構成要素から稼働情報等を取得して管理装置19に提供する。また保守装置18は管理装置19から送られてくる制御情報や稼働情報に基づき、各構成要素の設定や制御、保守(ソフトウエアの導入や更新を含む)を行う。
管理装置19は、保守装置18とLAN等を介して通信可能に接続されるコンピュータである。管理装置19はストレージ装置10の制御や監視のためのGUI(Graphical User Interface)やCLI(Command Line Interface)等を用いたユーザインタフェースを備える。
図8にストレージ装置10の基本的な機能を示している。同図に示すように、ストレージ装置10は、基本的な機能としてI/O処理部811を備えている。I/O処理部811は、記憶装置17への書き込みに関する処理を行うデータ書き込み処理部8111、記憶装置17からのデータの読み出しに関する処理を行うデータ読み出し処理部8112を備えている。尚、I/O処理部811の機能は、ストレージ装置10のチャネル基板11やプロセッサ基板12、ドライブ基板13が備えるハードウエアにより、又はプロセッサ112,122,132が、メモリ113,123,133に格納されているマイクロプログラムを読み出して実行することにより実現される。
図9は、ストレージ装置10(第1ストレージ装置10a又は第2ストレージ装置10b。以下同様。)が、サーバ装置3(第1サーバ装置3a又は第2サーバ装置3b)からデータ書き込み要求を含んだフレームを受信した場合に、I/O処理部811のデータ書き込み処理部8111によって行われる基本的な処理(以下、書き込み処理S900と称する。)を説明するフローチャートである。以下、同図とともに書き込み処理S900について説明する。尚、以下の説明において、符号の前に付している「S」の文字はステップを意味する。
同図に示すように、まずサーバ装置3から送信されてくるデータ書き込み要求のフレームが、ストレージ装置10のチャネル基板11によって受信される(S911,S912)。
チャネル基板11は、サーバ装置3からデータ書き込み要求を含んだフレームを受信すると、その旨をプロセッサ基板12に通知する(S913)。
プロセッサ基板12は、チャネル基板11から上記通知を受信すると(S921)、当該フレームのデータ書き込み要求に基づくドライブ書き込み要求を生成し、書き込みデータをキャッシュメモリ14に格納し、チャネル基板11に上記通知の受信通知を応答する(S922)。またプロセッサ基板12は、生成したドライブ書き込み要求をドライブ基板13に送信する(S923)。
一方、チャネル基板11は、プロセッサ基板12からの上記応答を受信すると、サーバ装置3に完了報告を送信し(S914)、サーバ装置3は、チャネル基板11から完了報告を受信する(S915)。
ドライブ基板13は、プロセッサ基板12からドライブ書き込み要求を受信すると、受信したドライブ書き込み要求を書き込み処理待ちキューに登録する(S924)。
ドライブ基板13は、書き込み処理待ちキューからドライブ書き込み要求を随時読み出し(S925)、読み出したドライブ書き込み要求に指定されている書き込みデータをキャッシュメモリ14から読み出して、読み出した書き込みデータを物理ドライブ171に書き込む(S926)。そしてドライブ基板13は、ドライブ書き込み要求について書き込みデータの書き込みが完了した旨の報告(完了報告)をプロセッサ基板12に通知する(S927)。
プロセッサ基板12は、ドライブ基板13から送られてきた完了報告を受信する(S928)。
図10は、ストレージ装置10が、サーバ装置3からデータ読み出し要求を含んだフレームを受信した場合に、ストレージ装置10のI/O処理部811の読み出し処理部8112によって行われるI/O処理(以下、読み出し処理S1000と称する。)を説明するフローチャートである。以下、同図とともに読み出し処理S1000について説明する。
同図に示すように、まずサーバ装置3から送信されてくるフレームが、ストレージ装置10のチャネル基板11によって受信される(S1011,S1012)。
チャネル基板11は、サーバ装置3からデータ読み出し要求を含んだフレームを受信すると、その旨をプロセッサ基板12及びドライブ基板13に通知する(S1013)。
ドライブ基板13は、チャネル基板11から上記通知を受信すると(S1014)、当該フレームに含まれているデータ読み出し要求に指定されているデータ(例えばLBA(Logical Block Address)によって指定される)を、記憶装置17(物理ドライブ171)から読み出す(S1015)。尚、キャッシュメモリ14に読み出しデータが存在する場合(キャッシュヒットした場合)には、記憶装置17からの読み出し処理(S1015)は省略される。
プロセッサ基板12は、ドライブ基板13によって読み出されたデータをキャッシュメモリ14に書き込む(S1016)。そしてプロセッサ基板12は、キャッシュメモリ14に書き込んだデータを通信I/Fに随時転送する(S1017)。
チャネル基板11は、プロセッサ基板12から随時送られてくる読み出しデータを受信すると、それらをサーバ装置3に順次送信する(S1018)。読み出しデータの送信が完了すると、チャネル基板11は、サーバ装置3に完了報告を送信する(S1019)。サーバ装置3は、読み出しデータ及び完了報告を受信する(S1020,S1021)。
図11は、クライアント装置2が備える主な機能を説明する図である。同図に示すように、クライアント装置2は、アプリケーション211、ファイルシステム212、及びカーネル/ドライバ213の各機能を備える。尚、これらの機能は、クライアント装置2のCPU21が、メモリ22や記憶装置23に格納されているプログラムを読み出して実行することにより実現される。
ファイルシステム212は、クライアント装置2に対してファイル単位又はディレクトリ単位での論理ボリューム(LU)へのI/O機能を実現する。ファイルシステム213は、例えば、FAT(File Allocation Table)、NTFS、HFS(Hierarchical File System)、ext2(second extended file system)、ext3(third extended file system)、ext4(fourth extended file system)、UDF(Universal Disk Format)、HPFS(High Performance File system)、JFS(Journaled File System)、UFS(Unix File System)、VTOC(Volume Table Of Contents)、XFS等である。
カーネル/ドライバ213は、オペレーティングシステムのソフトウエアを構成しているカーネルモジュールやドライバモジュールを実行することにより実現される。カーネルモジュールには、クライアント装置2において実行されるソフトウエアについて、プロセスの管理、プロセスのスケジューリング、記憶領域の管理、ハードウエアからの割り込み要求のハンドリング等、オペレーティングシステムが備える基本的な機能を実現するためのプログラムが含まれる。ドライバモジュールには、クライアント装置2を構成しているハードウエアやクライアント装置2に接続して用いられる周辺機器とカーネルモジュールとが通信するためのプログラム等が含まれる。
図12に第1サーバ装置3aが備える主な機能、及び第1サーバ装置3aにおいて管理される主な情報(データ)を示している。同図に示すように、第1サーバ装置3aは、ファイル共有処理部311、ファイルシステム312、データ操作要求受付部313、データ複製/移動処理部314、ユーザクオータ管理部315、ファイルクオータ管理部316、ファイルアクセスログ取得部317、及びカーネル/ドライバ318の各機能を備える。
尚、データ操作要求受付部313、データ複製/移動処理部314、ユーザクオータ管理部315、ファイルクオータ管理部316、ファイルアクセスログ取得部317の各機能は、ファイルシステム312の機能として実現してもよいし、ファイルシステム312とは独立した機能として実現してもよい。
また同図に示すように、第1サーバ装置3aは、ユーザクオータ管理テーブル331、ファイルクオータ管理テーブル332、ファイルリスト333、メタデータ334(第1ストレージ装置10a又は第2ストレージ装置10bに管理されているファイルのメタデータ)、及びファイルアクセスログ335などの情報(データ)を管理している。これらの情報は、例えば、第1サーバ装置3aのメモリ32や記憶装置33に記憶されている。またこれらの情報は、第1ストレージ10aから第1サーバ装置3aに随時読み出されて第1サーバ装置3aのメモリ32や記憶装置33に格納される。
ファイル共有処理部311は、クライアント装置2に対してファイルの共有環境を提供する。ファイル共有処理部311は、例えばNFS(Network File System)、CIFS(Common Internet File System)、AFS(Andrew File System)等のプロトコルに規定される機能を提供する。
ファイルシステム312は、クライアント装置2に対して、第1ストレージ装置10aによって提供される論理ボリューム(LU)に管理されるファイルやディレクトリに対するI/O機能を提供する。ファイルシステム312は、例えばFAT(File Allocation Table)、NTFS、HFS(Hierarchical File System)、ext2(second extended file system)、ext3(third extended file system)、ext4(fourth extended file system)、UDF(Universal Disk Format)、HPFS(High Performance File system)、JFS(Journaled File System)、UFS(Unix File System)、VTOC(Volume Table Of Contents)、XFS等である。
データ操作要求受付部313は、クライアント装置2から送信されてくる、第1ストレージ装置10aと第2ストレージ装置10bとの間でのデータの操作要求(主に後述する、レプリケーション(Replication)による管理方式やマイグレーション(Migration)による管理方式に関する操作要求。以下、データ操作要求と称する。)を受け付ける。またデータ操作要求受付部313は、第1サーバ装置3a内で発生したデータ操作要求を受け付ける。
データ複製/移動処理部314は、データ操作要求受付部313が受け付けたデータ操作要求に応じて、第1ストレージ装置10aと第2ストレージ装置10bとの間でのデータの複製や移動を行う。
ユーザクオータ管理部315は、個々のユーザや個々のユーザグループに対して設定されるユーザ(又はユーザグループ)ごとの記憶資源(第1サーバ装置3aのファイルシステム312に提供されている第1ストレージ装置10aの記憶領域)の使用量の制限を規定した情報(以下、ユーザクオータと称する。)の管理、並びに上記制限に関する処理を
行う。ユーザクオータ管理部315は、ユーザクオータに基づき上記記憶資源を管理する。以下、この管理方式のことをユーザクオータ管理方式と称する。尚、ユーザクオータ管理方式の一例として、UNIX(登録商標)ベースのオペレーティングシステムが備えるクオータ(quota)管理方式がある。
ユーザクオータ管理部315は、ユーザクオータを、ユーザクオータ管理テーブル331に管理する。図13にユーザクオータ管理テーブル331の一例を示している。同図に示すように、ユーザクオータ管理テーブル331は、ユーザ名3311、ユーザクオータ3312、及び使用量3313の各項目からなる一つ以上のレコードで構成されている。このうちユーザ名331には、ファイルシステム312のユーザ(又はユーザグループ)を一意に特定する識別子(ユーザID又はグループID)が設定される。ユーザクオータ3312には、ユーザクオータが設定される。尚、本実施形態では、ユーザクオータとして、そのユーザ(又はユーザグループ)が使用可能な容量の上限値(ユーザクオータに基づく閾値)が設定されるものとする。但し、ユーザクオータは、安全率を見込む等、情報処理システム1の構成、性質、運用状況、情報処理システム1に対するユーザニーズ、その他の環境や状況に応じて適切に設定することができる。使用量3313には、そのユーザの現在の記憶資源の使用量が設定される。
図12に示すファイルクオータ管理部316は、ファイルシステム312によって管理されるファイル(又はディレクトリ(フォルダ))ごとに設定される記憶容量の制限を規定した情報(以下、ファイルクオータと称する。)の管理、並びに上記制限に関する処理を行う。ファイルクオータ管理部316は、ファイルクオータに基づき、ファイル(又はディレクトリ(フォルダ))を管理する。以下、この管理方式のことをファイルクオータ管理方式と称する。尚、以下の説明において、ユーザクオータ管理方式及びファイルクオータ管理方式のことを総称してクオータ管理方式と称する。
ファイルクオータ管理部316は、ファイルクオータを、ファイルクオータ管理テーブル332に管理する。図14にファイルクオータ管理テーブル332の一例を示している。同図に示すように、ファイルクオータ管理テーブル332は、ファイル名3321、ファイルクオータ3322、ユーザ数3323、ユーザID/提供クオータ3324〜3326、及び使用量3327の各項目からなるレコードで構成されている。
ファイル名3321には、ファイルシステム312によって管理されるファイルの識別子であるパス名(ファイルパス名、ディレクトリパス名)が設定される。
ファイルクオータ3322には、ファイルクオータが設定される。尚、本実施形態では、ファイルクオータとして、そのファイルについて使用可能な容量の上限値(ファイルクオータに基づく閾値)が設定されるものとする。但し、ファイルクオータは、安全率を見込む等、情報処理システム1の構成、性質、運用状況、情報処理システム1に対するユーザニーズ、その他の環境や状況に応じて適切に設定することができる。
ユーザ数3323には、そのファイル(又はディレクトリ)を現在使用しているユーザの数が設定される。尚、このユーザ数は、例えば、ファイルアクセスログ335から取得される。
ユーザID/提供クオータ3324〜3326には、ファイルクオータ3322に設定されているファイルクオータを負担している(供出)しているユーザのユーザID及びそのユーザが負担している記憶資源の容量(クオータ)を示す情報が設定される。尚、同図では、ユーザID/提供クオータ3324〜3326として3つの項目が設けられているが、この項目の数はファイルを使用するユーザ数に応じて変化する。
使用量3327には、そのファイルの現在の容量(ファイルサイズ(データサイズ))(スラッシュ記号「/」の左側の値)と、クオータ管理方式の変更時(後述)における、そのファイルの容量(スラッシュ記号「/」の右側の値)が設定される。
図12に示すファイルアクセスログ取得部317は、ストレージ装置10の論理ボリューム(LU)に格納されているファイルへのアクセス(ファイルの更新(Write, Update)、ファイルの読み出し(Read)、ファイルのオープン(Open)、ファイルのクローズ(Close)等)が行われると、そのアクセスの内容(履歴)を示す情報(以下、アクセスログと称する。)を、計時装置37から取得される日時情報に基づくタイムスタンプを付与してファイルアクセスログ335として記憶する。
図15にファイルアクセスログ335の一例を示している。同図に示すように、ファイルアクセスログ335には、アクセス日時3351、ファイル名3352、及びユーザID3353の各項目からなる一つ以上のレコードで構成されるアクセスログが記録される。このうちアクセス日時3351には、そのファイルに対するアクセスがされた日時が設定される。ファイル名3352には、アクセス対象となったファイルのファイル名が設定される。ユーザID3353には、そのファイルにアクセスしたユーザのユーザIDが設定される。
図12に示すカーネル/ドライバ318は、オペレーティングシステムのソフトウエアを構成しているカーネルモジュールやドライバモジュールを実行することにより実現される。カーネルモジュールには、第1サーバ装置3aにおいて実行されるソフトウエアについて、プロセスの管理、プロセスのスケジューリング、記憶領域の管理、ハードウエアからの割り込み要求のハンドリング等、オペレーティングシステムが備える基本的な機能を実現するためのプログラムが含まれる。ドライバモジュールには、第1サーバ装置3aを構成しているハードウエアや第1サーバ装置3aに接続して用いられる周辺機器とカーネルモジュールとが通信するためのプログラムが含まれる。
図16に第2サーバ装置3bが備える主な機能、及び第2サーバ装置3bにおいて管理される主な情報(データ)を示している。同図に示すように、第2サーバ装置3bは、ファイル共有処理部351、ファイルシステム352、データ複製/移動処理部354、及びカーネル/ドライバ358の各機能を備える。尚、データ複製/移動処理部354の機能は、ファイルシステム352の機能として実現してもよいし、ファイルシステム352とは独立した機能として実現してもよい。
また同図に示すように、第2サーバ装置3bは、メタデータ364(第1ストレージ装置10a又は第2ストレージ装置10bに格納されているファイルのメタデータ)を管理している。
ファイル共有処理部351は、第1サーバ装置3aに対してファイルの共有環境を提供する。ファイル共有処理部351は、例えばNFS、CIFS、AFS等のプロトコルを用いて実現される。
ファイルシステム352は、第2ストレージ装置10bによって提供される論理ボリューム(LU)を用い、第1サーバ装置3aに対してファイル単位又はディレクトリ単位での論理ボリューム(LU)へのI/O機能を提供する。ファイルシステム352は、例えばFAT、NTFS、HFS、ext2、ext3、ext4、UDF、HPFS、JFS、UFS、VTOC、XFSなどである。
データ複製/移動処理部354は、受け付けたデータ操作要求に応じて、第1ストレージ装置10aと第2ストレージ装置10bとの間でのデータの移動や複製に関する処理を行う。
カーネル/ドライバ358は、オペレーティングシステムのソフトウエアを構成しているカーネルモジュールやドライバモジュールを実行することにより実現される。カーネルモジュールには、第2サーバ装置3bにおいて実行されるソフトウエアについて、プロセスの管理、プロセスのスケジューリング、記憶領域の管理、ハードウエアからの割り込み要求のハンドリング等、オペレーティングシステムが備える基本的な機能を実現するためのプログラムが含まれる。ドライバモジュールには、第2サーバ装置3bを構成しているハードウエアや第2サーバ装置3bに接続して用いられる周辺機器とカーネルモジュールとが通信するためのプログラムが含まれる。
次に第1サーバ3aが備えるファイルシステム312(第2サーバ3bが備えるファイルシステム352も同様である。)について詳細に説明する。
図17は、ファイルシステム312が論理ボリューム(LU)上に管理するデータの構造(以下、ファイルシステム構造1700と称する。)の一例である。同図に示すように、ファイルシステム構造1700には、スーパーブロック1711、inode管理テーブル1712、ファイルの実体(データ)が格納されるデータブロック1713の各記憶領域が含まれている。
このうちスーパーブロック1711には、ファイルシステムに関する情報(ファイルシステムが取り扱う記憶領域の容量、使用量、空き容量等)が格納される。スーパーブロック1711は、原則としてディスク区画(論理ボリューム(LU)上に設定されるパーティション)ごとに設けられる。スーパーブロック1711に格納される上記情報の具体例として、区画内のデータブロック数、ブロックサイズ、空きブロック数、空きinode数、当該区画のマウント数、最新の整合性チェック時からの経過時間等がある。
inode管理テーブル1712には、論理ボリューム(LU)に格納されるファイルの管理情報(以下、inodeと称する。)が格納される。ファイルシステム312は、1つのファイル(又はディレクトリ)に対して1つのinodeを対応させて管理している。inodeのうちディレクトリに関する情報のみを含むものはディレクトリエントリと称される。ファイルに対するアクセスが行われる場合にはディレクトリエントリを参照してアクセス対象のファイルのデータブロックにアクセスする。例えば、「/home/user-01/a.txt」というファイルにアクセスする場合には、図18に示すように、inode番号2→10→15→100とディレクトリエントリを順に辿ってアクセス対象ファイルのデータブロックにアクセスする。
図19に一般的なファイルシステム(例えば、UNIX(登録商標)系のオペレーティングシステムが備えるファイルシステム)におけるinodeの概念を示している。また図20に、inode管理テーブル1712の例を示している。これらの図に示すように、inodeには、個々のinodeを区別する識別子であるinode番号2011、当該ファイル(又はディレクトリ)の所有者2012、当該ファイル(又はディレクトリ)について設定されているアクセス権2013、当該ファイル(又はディレクトリ)のファイルサイズ2014、当該ファイル(又はディレクトリ)の最終更新日時2015、当該inodeがディレクトリエントリである場合に設定される当該ディレクトリの親ディレクトリ2016、当該inodeがディレクトリエントリである場合に設定される当該ディレクトリの子ディレクトリ2017、当該ファイルのデータの実体が格納されるデータブロックを特定する情報(以下、ブロックアドレス2018と称する。)などの情報が含まれる。
図21に示すように、本実施形態のファイルシステム312は、inode管理テーブル1712に、上記一般的なファイルシステムにおけるinode管理テーブル1712の内容に加えて更にスタブ化フラグ2111、メタデータ同期要フラグ2112、データ実体同期要フラグ2113、レプリケーションフラグ2114、及びリンク先2115を管理している。
同図において、スタブ化フラグ2111には、当該inodeに対応するファイルがスタブ化されているか否かを示す情報が設定される。ここでスタブ化とは、第1ストレージ装置10aから第2ストレージ装置10bにファイルを移動(マイグレーション)するに際し、移動元の第1ストレージ装置10aからそのファイルのデータのうち実体のみ削除し、そのファイルのデータのうちメタデータについては削除せずに移動元の第1ストレージ装置10aに残すことをいう。尚、スタブ(stub)とは、その場合に第1ストレージ装置10aに残留するメタデータのことをいう。当該inodeに対応するファイルがスタブ化されていればスタブ化フラグ2111にONが設定され、スタブ化されていない場合はスタブ化フラグ2111にOFFが設定される。
メタデータ同期要フラグ2112には、複製元の第1ストレージ装置10aのファイルのメタデータと複製先の第2ストレージ装置10bのファイルのメタデータとの間で同期をとる必要(内容を一致させる必要)が有るか否かを示す情報が設定される。メタデータの同期が必要な状態ではメタデータ同期要フラグ2112にONが設定され、同期が不要な状態ではメタデータ同期要フラグ2112にOFFが設定される。
データ実体同期要フラグ2113には、複製元の第1ストレージ装置10aのファイルのデータの実体と複製先の第2ストレージ装置10bのファイルのデータの実体との間で同期をとる必要(内容を一致させる必要)が有るか否かを示す情報が設定される。ファイルのデータの実体について同期が必要な状況ではデータ実体同期要フラグ2113にONが設定され、同期が不要な状況ではデータ実体同期要フラグ2113にOFFが設定される。
レプリケーションフラグ2114には、そのinodeに対応するファイルが、現在、後述するレプリケーション管理方式による管理の対象になっているか否かを示す情報が設定される。当該inodeに対応するファイルが、現在、レプリケーション管理方式による管理の対象になっている場合はレプリケーションフラグ2114にONが設定され、レプリケーションによる管理の対象になっていない場合はレプリケーションフラグ2114にOFFが設定される。
リンク先2115には、そのinodeに対応するファイルが、後述するレプリケーション管理方式で管理されている場合は、そのファイルの複製先を示す情報(例えば、格納先を特定するパス名、URL(Uniform Resource Locator)、LU等)が設定される。またそのinodeに対応するファイルが、後述するマイグレーションによる管理方式で管理されている場合は、リンク先2115にそのファイルの移動先を示す情報(例えば、パス名、URL、LU等)が設定される。
<機能説明>
以下、以上の構成からなる情報処理システム1にて行われる機能について説明する。
図22は、第1サーバ装置3aのデータ操作要求受付部313が、第1ストレージ装置10aに格納されているファイルについてのレプリケーションによる管理方式を開始する旨の要求(以下、レプリケーション開始要求と称する。)を受け付けた場合に、情報処理システム1にて行われる処理(以下、レプリケーション開始処理S2200と称する)の概要を説明する図である。
ここでレプリケーションによる管理方式とは、ファイル(メタデータ及び実体)を、第1ストレージ装置10a及び第2ストレージ装置10bの双方において管理する方式である。レプリケーションによる管理方式では、第1ストレージ装置10aのファイルの実体又はメタデータが更新されると、第2ストレージ装置10b側のファイルのメタデータ又は実体が同期又は非同期に更新される。
第1サーバ装置3aのデータ操作要求受付部313は、例えば、通信ネットワーク5を介してクライアント装置2から上記レプリケーション実施要求を受け付ける。またデータ操作要求受付部313は、例えば、第1サーバ装置3aの内部(ファイル共有処理部311、ファイルシステム312、カーネル/ドライバ318等)で発生した上記レプリケーション実施要求を受け付ける。
同図に示すように、第1サーバ装置3aのデータ操作要求受付部313が上記レプリケーション実施要求を受け付けると(S2211)、第1サーバ装置3aのデータ複製移動処理部314は、受け付けたレプリケーション実施要求に指定されているファイルのデータ(メタデータ及び実体)を第1ストレージ装置10aから読み出し、読み出したファイルのデータを第2サーバ装置10bに転送する(S2212)。
第2サーバ3bのデータ複製移動処理部354は、第1サーバ装置3aから送られてくる上記ファイルのデータを受信すると、受信したデータを第2ストレージ装置10bに格納する(S2213)。また上記転送に際し、第1サーバ装置3aのデータ複製移動処理部314は、転送元ファイルのレプリケーションフラグ2114をONに設定する(S2214)。
図23は、第1ストレージ装置10aに格納されている、レプリケーション管理方式により管理されている第2ストレージ装置10bに複製済のファイル(レプリケーションフラグ2114がONに設定されているファイル。以下、レプリケーションファイルと称する。)をマイグレーションによる管理方式の候補に設定する処理(以下、マイグレーション候補設定処理S2300と称する。)を説明する図である。
ここでマイグレーションによる管理方式とは、第1ストレージ装置10aにおいてはファイルのデータのうちメタデータは管理(記憶)するが、ファイルの実体については管理(記憶)せず、実体については第2ストレージ装置10bにおいて管理するという管理方式である。第1サーバ装置3aは、レプリケーションファイルが、所定の条件を満たした場合、そのファイルをマイグレーションによる管理方式による管理の対象に設定する(マイグレーション管理方式の対象とされても、そのファイルについて直ちにマイグレーションによる管理方式が実施されるわけではない。)。
図23に示すように、第1サーバ装置3aのデータ複製/移動処理部314は、ユーザクオータ管理テーブル331の各ユーザの使用量3313を随時(定期的、リアルタイム等)監視している(S2311)。この監視において、データ複製/移動処理部314は、使用量3313がユーザクオータ3312を超過しているユーザの存在を検知すると、そのユーザが所有しているファイルのうち、レプリケーションファイルの一部又は全部をマイグレーションによる管理方式の候補として設定する(S2312)。ここでこの設定は、具体的には、設定対象のレプリケーションファイルのスタブ化フラグ2111をONに設定し、かつ、レプリケーションファイルのレプリケーションフラグをOFFに設定することにより行われる(S2312)。
図24は、第1ストレージ装置10aに格納されているレプリケーションファイルのうち、複数のユーザによって共用されているファイルのクオータ管理方式を変更する処理(以下、クオータ管理方式変更処理S2400と称する。)を説明する図である。
第1サーバ装置3aのデータ複製/移動処理部314は、ユーザクオータ管理テーブル331を随時(定期的、リアルタイム等)監視している(S2411)。データ複製/移動処理部314は、ユーザクオータ管理テーブル331の使用量3313が、ユーザクオータ3312を超過しているユーザが存在し、かつ、そのユーザが所有するレプリケーションファイルが複数のユーザによって使用(共用)されているという条件を満たす場合、そのレプリケーションファイルについてファイルクオータ管理方式による管理を開始する(S2412)。尚、ファイルクオータ管理方式による管理対象になっているレプリケーションファイルは、ユーザクオータ管理方式においてマイグレーション管理方式の対象から外される(図23のS2312における候補から除外される)。
またデータ複製/移動処理部314は、上記レプリケーションファイルが上記条件を満たさなくなった場合、上記レプリケーションファイルについてのファイルクオータ管理方式による管理を終了する。
ここでファイルが複数のユーザによって使用(共用)されているか否かは、例えば、ファイルアクセスログ335の内容(例えば、所定時間前から現在までの間に複数のユーザがアクセスしたか否か)やファイルに設定されているアクセス権(そのファイルに複数ユーザのアクセスを可能とするアクセス権が設定されているか否か)に基づき判断する。尚、ファイルクオータ管理方式による管理対象にならなくなったレプリケーションファイルは、再びユーザクオータ管理方式におけるマイグレーション管理方式の対象となり得る(図23のS2312における候補とされる可能性がある。)。
図25は、第1ストレージ装置10aに格納されているレプリケーションファイルの実体を第1ストレージ装置10aから削除する際、即ち、マイグレーションを実施(開始)する際、情報処理システム1にて行われる処理(以下、マイグレーション実施処理S2500と称する。)を説明する図である。
同図に示すように、第1サーバ装置3aのファイルシステム312(データ複製/移動処理部314でもよい)は、レプリケーションファイルが所定の条件を満たしているか否かを随時(定期的、リアルタイム等)判断する。ファイルシステム312は、レプリケーションファイルが所定の条件を満たしていることを検知すると、そのレプリケーションファイルの実体を第1ストレージ装置10aから削除する(S2511)。尚、複製済ファイルのメタデータについては第1ストレージ装置10aにスタブとしてそのまま残される(スタブ化)。
ここで上記所定の条件としては、例えば、そのレプリケーションファイルの使用量がファイルクオータ管理テーブル332に管理されているファイルクオータ3322の値を超えた場合、クライアント装置2等からの、そのレプリケーションファイルに対するアクセスが終了した場合などがある。尚、後者における、レプリケーションファイルに対するアクセスが終了したことは、例えば、ファイルの参照カウンタ(ファイルがオープン(Open)される度にインクリメントされ、ファイルがクローズ(Close)される度にデクリメントされるカウンタ)の値がゼロになったことをもって判断する。
図26は、クライアント装置2からレプリケーションファイルに対する更新要求(ファイルのメタデータ又は実体の変更を生じさせる要求)を受け付けた場合に、情報処理システム1にて行われる処理(以下、レプリケーションファイル更新処理S2600と称する。)を説明する図である。
第1サーバ装置3aのファイルシステム312は、クライアント装置2からレプリケーションファイルに対する更新要求を受け付けると(S2611)、そのレプリケーションファイルのデータのメタデータ、又はファイルのデータの実体を更新要求に従って更新する(S2612)。ファイルシステム312は、メタデータを更新した場合、そのレプリケーションファイルのメタデータ同期要フラグ2112をONに設定する。またファイルシステム312は、ファイルの実体を更新した場合、そのレプリケーションファイルのデータ実体同期要フラグ2113をONに設定する(S2613)。
図27は、第1サーバ装置3aのデータ操作要求受付部313が、第1ストレージ装置10aに格納されているレプリケーションファイルとその第2ストレージ装置10b側のファイル(以下、アーカイブファイルと称する。)との内容を一致させる旨の要求(以下、同期要求と称する。)を受け付けた際に情報処理システム1にて行われる処理(以下、同期処理S2700と称する。)を説明する図である。尚、データ操作要求受付部313は、例えば、通信ネットワーク5を介してクライアント装置2から上記同期要求を受け付ける。またデータ操作要求受付部313は、例えば、第1サーバ装置3aの内部(ファイル共有処理部311、ファイルシステム312、カーネル/ドライバ318等)から上記同期要求を受け付ける。
同図に示すように、第1サーバ装置3aのデータ操作要求受付部313が同期要求を受け付けると(S2711)、第1サーバ装置3aのデータ複製/移動処理部314は、第1ストレージ装置10aに格納されているレプリケーションファイルのうち、メタデータ同期要フラグ2112又はデータ実体同期要フラグ2113がONに設定されているファイルを取得する(S2712)。そしてデータ複製/移動処理部314は、取得したファイルのデータのメタデータ又はファイルのデータの実体を第2サーバ装置3bに転送し、転送したレプリケーションファイルのメタデータ同期要フラグ2112又はデータ実体同期要フラグ2113をOFFに設定する(S2713)。第2サーバ装置3bのデータ複製/移動処理部354は、メタデータ又は実体を受信すると(S2714)、第2ストレージ装置10bに格納されている該当のアーカイブファイルのメタデータ又は実体を受信したメタデータ又は実体の内容に更新する(S2715)。
図28は、第1サーバ装置3aのファイルシステム312が、スタブ化フラグがONに設定されているファイル(以下、マイグレーションファイルと称する。)のメタデータに対するアクセス要求(参照要求又は更新要求)を受け付けた場合に情報処理システム1にて行われる処理(以下、メタデータアクセス処理S2800と称する。)を説明する図である。尚、ファイルシステム312は、例えば、通信ネットワーク5を介してクライアント装置2から上記アクセス要求を受け付ける。またファイルシステム312は、例えば、第1サーバ装置3aの内部(ファイル共有処理部311、ファイルシステム312、カーネル/ドライバ318等)から上記アクセス要求を受け付ける。
同図に示すように、ファイルシステム312は、マイグレーションファイルのメタデータに対するアクセスを受け付けると(S2811)、アクセス要求の対象になっている第1ストレージ装置10aのマイグレーションファイルのメタデータを取得し、アクセス要求の内容に従って処理(参照、更新)を行う(S2812)。またメタデータの内容を更新した場合には、そのマイグレーションファイルのメタデータ同期要フラグ2112にONを設定する(S2813)。
このように、第1サーバ装置3aは、第2ストレージ装置10bに管理されているマイグレーションファイルに対するアクセス要求があった場合でも、そのアクセス要求がメタデータを対象とする場合には、第1ストレージ装置10aに格納されているメタデータを用いてアクセス要求に対応する。
図29は、第1サーバ装置3aのファイルシステム312が、クライアント装置2からマイグレーションファイルの実体に対する参照要求を受け付けた場合に、情報処理システム1にて行われる処理(以下、マイグレーションファイル参照処理S2900と称する。)を説明する図である。
ファイルシステム312は、クライアント装置2からマイグレーションファイルの実体に対する参照要求を受け付けると(S2911)、対象のマイグレーションファイルのメタデータを取得し、取得したメタデータに基づき当該マイグレーションファイルの実体が第1ストレージ装置10aに格納されているか否かを判断する(S2912)。
上記判断は、例えば、取得したメタデータに、マイグレーションファイルの実体の格納先を示す情報(例えばブロックアドレス)が有効な状態で設定されているか否かを調べることにより行う。例えば、先行して他の更新要求が行われている状況では、そのマイグレーションファイルの実体が既に第1ストレージ装置10aに格納されている状態となる。
上記判断の結果、マイグレーションファイルの実体が第1ストレージ装置10aに格納されている場合には、ファイルシステム312は、第1ストレージ装置10aから当該マイグレーションファイルの実体を読み出し、読み出した内容をクライアント装置2に応答する(S2913)。
一方、上記判断の結果、マイグレーションファイルの実体が第1ストレージ装置10aに格納されていない場合には、ファイルシステム312は、第2サーバ装置3bに対し、当該マイグレーションファイルに対応するアーカイブファイルの取得要求(リコール)を送信する(S2914)。そしてファイルシステム312は、上記取得要求に応じて第2サーバ装置3bから送られてくるアーカイブファイルを受信すると(S2915)、受信したアーカイブファイルの内容をクライアント装置2に応答する(S2916)。
尚、第2サーバ装置3bからのアーカイブファイルの取得要求は、必ずしも一度の取得要求でアーカイブファイルの全体を取得しなくてもよい。例えば、上記取得要求は、アーカイブファイルの一部を要求するものであってもよい。またその場合、アーカイブファイルの一部の実体ごとに上記判断(第1ストレージ装置10aに実体が格納されているか否かの判断)を行うようにしてもよい。
図30は、第1サーバ装置3aのファイルシステム312が、クライアント装置2からマイグレーションファイルの実体に対する更新要求を受け付けた場合に、情報処理システム1にて行われる処理(以下、マイグレーションファイル更新処理S3000と称する。)を説明する図である。
ファイルシステム312は、マイグレーションファイルの実体に対する更新要求を受け付けると(S3011)、更新要求の対象になっているマイグレーションファイルのメタデータを取得し、取得したメタデータに基づき当該マイグレーションファイルの実体が第1ストレージ装置10aに格納されているか否かを判断する(S3012)。尚、この判断方法についてはマイグレーションファイル参照処理S2900の場合と同様である。
上記判断の結果、マイグレーションファイルの実体が第1ストレージ装置10aに格納されている場合には、ファイルシステム312は、第1ストレージ装置10aに格納されている当該マイグレーションファイルの実体を、更新要求の内容に従って更新し、当該マイグレーションファイルのデータ実体同期要フラグ2113をONに設定する(S3013)。
一方、上記判断の結果、マイグレーションファイルの実体が第1ストレージ装置10aに格納されていない場合には、ファイルシステム312は、第2サーバ装置3bに対し、当該マイグレーションファイルに対応するアーカイブファイルの取得要求を送信し(S3014)、これに応じて第2サーバ装置3bから送られてくるアーカイブファイルを受信する(S3015)。そしてファイルシステム312は、受信したアーカイブファイルの内容を更新要求の内容に従って更新し、更新後のアーカイブファイルを当該マイグレーションファイルの実体として第1ストレージ装置10aに格納する(S3016)。
またファイルシステム312は、当該マイグレーションファイルのスタブ化フラグ2111をオフに設定し、レプリケーションフラグ2114をONに設定し(つまりレプリケーション管理方式に戻す。)、当該マイグレーションファイルのメタデータ同期要フラグ2112をONに設定し、当該マイグレーションファイルのデータ実体同期要フラグ2113をONに設定する。尚、当該マイグレーションファイルがファイルクオータ管理方式で管理されており、この更新処理によって当該マイグレーションファイルの使用量(ファイルサイズ(データサイズ))が増加した場合には、その増分についてユーザからクオータを徴収する。
次に、図24に示したクオータ管理方式変更処理S2400において、ユーザクオータ管理テーブル331及びファイルクオータ管理テーブル332の設定方法について具体的に説明する。
図31はユーザクオータ管理テーブル331の一例である。同図に示すように、このユーザクオータ管理テーブル331には、ユーザIDが「User01」というユーザのクオータが2000[MB]、ユーザIDが「User02」というユーザのクオータが2000[MB]、ユーザIDが「User03」というユーザのクオータが2000[MB]との内容が設定されている。
またこのユーザクオータ管理テーブル331には、ユーザIDが「User01」というユーザの現在の使用量が1000[MB]、ユーザIDが「User02」というユーザの現在の使用量が1500[MB]、ユーザIDが「User03」というユーザの現在の使用量が1100[MB]であるとの設定がされている。
図32は、ファイルアクセスログ335に基づき把握される、ファイル名(ファイルパス名)が「/home/User01/a.txt」というファイルに対する各ユーザのアクセス回数の一例である。同図に示すように、このファイルアクセスログ335には、上記ファイルに対し、所定時間前から現在までの間に、ユーザIDが「User01」であるユーザが25回、ユーザIDが「User02」であるユーザが35回、ユーザIDが「User03」であるユーザが40回アクセスしたことが記録されている。
ここで上記ファイル(ファイル名が「/home/User01/a.txt」というファイル)についてファイルクオータ管理方式による管理を開始する場合、第1サーバ装置3aのファイルクオータ管理部316は、以下のようにしてファイルクオータ管理テーブル332の内容を設定する。
まずファイルクオータ管理部316は、ファイルアクセスログ335の内容に基づき、各ユーザについて次のように重み付けを行う。
User01の重み=25/(25+35+40)=0.25
User02の重み=35/(25+35+40)=0.35
User03の重み=40/(25+35+40)=0.40
次にファイルクオータ管理部316は、上記ファイルの現在のファイルサイズ(ここでは100[MB]であるものとする。)と、余裕係数(ここでは1.5とする。)と、上記重みとに基づき、各ユーザが負担すべきクオータの値を次のようにして求め、求めた値を用いて、図33に示すような上記ファイルについてのファイルクオータ管理テーブル332を生成する。
User01が負担すべきクオータ値=100[MB] * 1.5 * 0.25 =37.5[MB]
User02が負担すべきクオータ値=100[MB] * 1.5 * 0.35 =52.5[MB]
User03が負担すべきクオータ値=100[MB] * 1.5 * 0.40 =60.0[MB]
尚、上記余裕係数は1.0以上の任意の値であり、情報処理システム1の運用状態やユーザニーズ等に応じて適切な値に設定される。
このように、各ユーザから上記ファイルへの夫々のアクセス頻度に応じたユーザクオータを徴収するようにすることで、各ユーザから公平にユーザクオータを徴収することができる。またこの例では各ユーザに重み付けを行って各ユーザが負担すべきクオータ値を求めているが、上記ファイルの現在のファイルサイズ(100[MB])を各ユーザに均等に負担させるようにしてもよい(例えば、余裕計数を1.5とした場合には、各ユーザに100[MB]*1.5/3=50[MB]という均等なクオータ値を負担させる。)。各ユーザから均等にユーザクオータを徴収するようにすれば、各ユーザから平等にユーザクオータを徴収することができる。
ファイルクオータ管理テーブル332が生成されると、第1サーバ装置3aのユーザクオータ管理部315は、各ユーザが負担(供出)したクオータ値をユーザクオータ管理テーブル331の各ユーザのクオータ値から差し引く。図34に、図33のファイルクオータ管理テーブル332が生成された場合における、差し引き後のユーザクオータ管理テーブル331の内容を示す。
図33に示すファイルクオータ管理テーブル332が生成されて上記ファイルについてのファイルクオータ管理方式による管理が開始された後、当該管理を終了する場合には、上記ファイルについてファイルクオータ管理方式で管理するために各ユーザに負担させていたクオータ値を各ユーザに返却する。またファイルクオータ管理方式による管理がされている間に上記ファイルのファイルサイズが増加した場合には、その増分をユーザクオータ管理テーブル331の各ユーザの使用量3313に所定の比率で分配する。
例えば図35に示すように、ファイルクオータ管理方式による管理がされている間に上記ファイルのファイルサイズが50[MB]増加して150[MB]になった場合には、50[MB]を所定の比率(例えば、同図に示すように前述の比率(0.25:0.35:0.40)や均等な比率(0.33:0.33:0.33))で各ユーザの使用量3313に分配する。
尚、このようにファイルクオータ管理方式による管理を終了する時点において按分計算を行って増分を各ユーザに配分するのではなく、上記ファイルの前記増分についての各ユーザの寄与分をファイルクオータ管理テーブル332に予め記録しておき、記録しておいた各ユーザの寄与分をファイルクオータ管理方式による管理を終了する時点で各ユーザの使用量3313に反映させるようにしてもよい。そのようにすれば、各ユーザにより公平にファイルクオータを負担させることができる。
<処理説明>
次に情報処理システム1にて行われる処理の詳細について説明する。
図36は、第1サーバ装置3aが、クライアント装置2から、ファイルに対するアクセス要求を受け付けた際に行われる処理(以下、ファイルアクセス時処理S3600と称する。)を説明するフローチャートである。以下、同図とともに説明する。
第1サーバ装置3aは、クライアント装置2からファイルに対するアクセス要求を受け付けると(S3611)、アクセス要求に指定されているアクセス先のファイル(以下、対象ファイルと称する。)のスタブ化フラグ2111の内容を調べる(S3612)。
スタブ化フラグ2111がONである場合は(S3612:ON)、S3621に進み、スタブ化フラグ2111がOFFである場合は(S3612:OFF)、S3660に進む。
S3621では、第1サーバ装置3aは、受け付けたアクセス要求に指定されている処理内容を判断する。処理内容がファイルの参照(Read)であれば(S3621:参照)、S3622に進み、処理内容がファイルの参照以外であれば(S3621:参照以外)、S3631に進む。
S3622では、第1サーバ装置3aは、対象ファイルの実体が第1ストレージ装置10aに存在するか否かを判断する。対象ファイルの実体が存在するか否かは、例えば対象ファイルのメタデータに、第1ストレージ装置10aの有効な格納先(論理ボリュームの識別子やブロックアドレス)が設定されているか否かに基づき判断する。対象ファイルの実体が第1ストレージ装置10aに存在する場合は(S3622:YES)、S3623に進み、存在しない場合は(S3622:NO)、S3624に進む。
S3623では、第1サーバ装置3aは、第1ストレージ装置10aから対象ファイルの実体を取得する。その後はS3625に進む。S3624では、第1サーバ装置3aは、第2ストレージ装置10bからファイルの実体を取得する。その後はS3625に進む。S3625では、第1サーバ装置3aは、取得したファイルの実体を要求元に返す。
S3626では、第1サーバ装置3aは、対象ファイルについて行った参照に関する以上の処理の履歴をファイルアクセスログ335に記録する。その後はS3611に戻り、再びクライアント装置2から送られてくるアクセス要求を待機する。
S3631では、第1サーバ装置3aは、アクセス要求に指定されている処理内容を判断する。処理内容がファイルの更新(Write)であれば(S3631:更新)、S3641に進み、処理内容がファイルの更新以外であれば(S3631:更新以外)、S3670に進む。
S3641では、第1サーバ装置3aは、第2ストレージ装置10bからファイルの実体を取得する。
続いて第1サーバ装置3aは、ファイルクオータ管理テーブル332を参照し、当該アクセス要求に従って対象ファイルを更新することにより、対象ファイルの容量(ファイルサイズ)がファイルクオータ3322を超過するか否かを判断する(S3642)。対象ファイルの容量がファイルクオータ3322を超過する場合は(S3642:YES)、S3651に進み、超過しない場合は(S3642:NO)、S3643に進む。
S3643では、第1サーバ装置3aは、ユーザクオータ管理テーブル331を参照し、当該アクセス要求に従って対象ファイルを更新することにより、対象ファイルの所有者(ユーザ)の記憶資源の使用量3313が、当該ユーザのユーザクオータ3312を超過するか否かを判断する。当該ユーザの記憶資源の使用量3313が、当該ユーザのユーザクオータ3312を超過する場合は(S3643:YES)、S3644に進み、超過しない場合は(S3643:NO)、S3653に進む。
S3644では、第1サーバ装置3aは、対象ファイルのスタブ化フラグ2111をONに設定し、対象ファイルをマイグレーション管理方式の候補に設定する。またこれに伴い、第1サーバ装置3aは、対象ファイルのレプリケーションフラグ2114をOFFに設定する(S3645)。その後はS3626に進む。
一方、S3651では、第1サーバ装置3aは、更新によるファイルクオータの超過分(=更新後の対象ファイルのファイルサイズ−対象ファイルのファイルクオータ)を、当該ユーザのユーザクオータから徴収(減算)し、ユーザクオータ管理テーブル3313の当該ユーザのユーザクオータ3312の値を徴収後の値に更新する。また第1サーバ装置3aは、徴収したユーザクオータを、対象ファイルのファイルクオータに加算し、ファイルクオータ管理テーブル332のファイルクオータ3322の値を加算後の値に更新する(S3652)。
このように、ファイルの更新によってファイルの容量がファイルクオータを超える場合には、当該ファイルを使用するユーザから随時ユーザクオータを徴収してファイルクオータに追加するので、更新によって当該ファイルがファイルクオータによる管理から頻繁に外されてしまうのを防ぐことができる。
続いて第1サーバ装置3aは、対象ファイルの実体をアクセス要求に従って実際に更新し(S3653)、対象ファイルのメタデータ同期要フラグ2112及びデータ実体同期要フラグ2113をいずれもONに設定する(S3654)。またこのとき第1サーバ装置3aは、対象ファイルのスタブ化フラグ2111をOFFに設定し(S3655)、対象ファイルのレプリケーションフラグ2114をONに設定する(S3656)。その後はS3626に進む。
図37は図36のS3660の処理(以下、スタブ化フラグOFF時処理S3660と称する。)を説明するフローチャートである。以下、同図とともに説明する。
まず第1サーバ装置3aは、アクセス要求に指定されている処理内容を判断する(S3711)。処理内容がファイルの更新(Write)であれば(S3711:更新)、S3721に進み、処理内容がファイルの更新以外であれば(S3711:更新以外)、S3712に進む。
S3712では、第1サーバ装置3aは、対象ファイルについて更新以外の処理(例えば、対象ファイルの参照処理、対象ファイルのファイルオープン、対象ファイルのファイルクローズ)を行う。その後は図36のS3626に戻る。
S3721では、第1サーバ装置3aは、ユーザクオータ管理テーブル331を参照し、当該アクセス要求に従って対象ファイルを更新することにより、対象ファイルの所有者(ユーザ)の使用量3313が、当該ユーザのユーザクオータ3312を超過するか否かを判断する。当該ユーザの使用量3313が、当該ユーザのユーザクオータ3312を超過する場合は(S3721:YES)、要求元のクライアント装置2にエラー(クオータを超過した旨のエラー)を返し(S3731)、その後は図36のS3626に戻る。
一方、対象ファイルの所有者(ユーザ)の使用量3313が、当該ユーザのユーザクオータ3312を超過しない場合は(S3721:NO)、S3722に進む。
S3722では、第1サーバ装置3aは、対象ファイルの実体をアクセス要求に従って実際に更新する。また対象ファイルのレプリケーションフラグ2114がONに設定されている場合(S2723:ON)、第1サーバ装置3aは、対象ファイルのメタデータ同期要フラグ2112及びデータ実体同期要フラグ2113をいずれもONに設定する(S3724)。その後は図36のS3626に戻る。
図38は、図36のS3670の処理を説明するフローチャートである。
参照、更新以外処理S3670では、第1サーバ装置3aは、対象ファイルについて更新以外の処理(例えば、対象ファイルのオープンやクローズ)を行う(S3811)。その後は図36のS3626に戻る。
図39は、図36のS3670の処理(以下、参照、更新以外処理S3900と称する。)の他の態様を説明するフローチャートである。図38の場合と異なり、この態様では対象ファイルのオープンに際してインクリメントされファイルのクローズに際してデクリメントされる参照カウンタの値がゼロになったことを契機として、対象ファイルの実体を第1ストレージ装置10aから削除し、対象ファイルをスタブ化するようにしている。
同図に示すように、まず第1サーバ装置3aは、アクセス要求に指定されている処理内容を判断する(S3911)。処理内容がファイルのオープンであれば(S3911:OPEN)、S3912に進み、処理内容がファイルのクローズであれば(S3911:CLOSE)、S3921に進む。
S3912では、第1サーバ装置3aは、対象ファイルの参照カウンタをインクリメント(+1)し、対象ファイルをオープンする(S3913)。その後は図36のS3626に戻る。
S3921では、第1サーバ装置3aは、対象ファイルの参照カウンタをデクリメント(−1)し、対象ファイルをクローズする(S3922)。
続いて第1サーバ装置3aは、対象ファイルの使用者が、対象ファイルの所有者のみであるか否かを判断する(S3923)。対象ファイルの使用者が、対象ファイルの所有者のみでなければ(S3923:NO)、図36のS3626に戻る。対象ファイルの使用者が、対象ファイルの所有者のみであれば(S3923:YES)、S3924に進む。
S3924では、第1サーバ装置3aは、対象ファイルの参照カウンタの値がゼロであり、かつ、対象ファイルのメタデータ同期要フラグ2112及びデータ実体同期要フラグ2113がいずれもOFFであるか否かを判断する。上記条件を満たさない場合は(S3924:NO)、図36のS3626に戻る。上記条件を満たす場合は(S3924:YES)、S3925に進む。
S3925では、第1サーバ装置3aは、対象ファイルの実体を第1ストレージ装置10aから削除し、対象ファイルをスタブ化する。またそれに伴い、第1サーバ装置3aは、ユーザクオータ管理テーブル331の対象ファイルの所有者の使用量3313をスタブ化後の値に更新する(S3926)。その後は図36のS3626に戻る。
このように、マイグレーションの実施は、ファイルの参照カウンタが0となり、メタデータ及び実体の同期が不要となったタイミングで行うことで、適切かつ安全にマイグレーションを行うことができる。
図40は、第1サーバ装置3aが、第1ストレージ装置10aに格納されているファイルについてレプリケーション管理方式に移行する旨の要求(以下、レプリケーション要求と称する。)を受け付けた場合に第1サーバ装置3aによって行われる処理(以下、レプリケーション処理S4000と称する。)を説明するフローチャートである。
第1サーバ装置3aは、レプリケーション要求を受け付けると(S4011:YES)、レプリケーション要求に指定されているファイル(以下、レプリケーション対象ファイルと称する。)についてのレプリケーション先(複製ファイルの格納場所)を、第2サーバ装置3bから取得する(S4012)。尚、第1サーバ装置3aは、例えば、クライアント装置2から上記レプリケーション要求を受け付ける。また第1サーバ装置3aは、例えば、第1サーバ装置3aの内部(ファイル共有処理部311、ファイルシステム312、カーネル/ドライバ318等)から上記レプリケーション要求を受け付ける。
次に第1サーバ装置3aは、レプリケーション対象ファイルのメタデータ及び実体を第1ストレージ装置10aから取得し(S4013)、取得したメタデータ及び実体の複製を第2サーバ装置3bに転送し(S4014)、レプリケーション対象ファイルのレプリケーションフラグ2114をONに設定する(S4015)。その後はS4011に戻り、第1サーバ装置3aは、次のレプリケーション要求を待機する。
図41は、第1サーバ装置3aが、第1ストレージ装置10aに格納されているファイルについて前述した同期要求を受け付けた場合に、第1サーバ装置3aによって行われる処理(以下、同期処理S4100と称する。)を説明するフローチャートである。
第1サーバ装置3aは、同期要求を受け付けると(S4111:YES)、第1ストレージ装置10aに格納されているファイルのうち、メタデータ同期要フラグ2112がONに設定されているファイルのメタデータ、及びデータ実体同期要フラグ2113がONに設定されているファイルの実体を取得し、取得したメタデータ及び実体を第2サーバ装置3bに転送する(S4113)。また第1サーバ装置3aは、転送したファイルのメタデータ同期要フラグ2112及びデータ実体同期要フラグ2113をOFFに設定する(S4114)。
図42は、第2サーバ装置3bが、前述したレプリケーション処理S4000又は前述した同期処理S4100が実行されることにより第1サーバ装置3aから送信されてきたメタデータ又は実体を受信した場合に、第2サーバ装置3bにて行われる処理(以下、ファイル格納処理S4200と称する。)を説明するフローチャートである。
第2サーバ装置3bは、第1サーバ装置3aからメタデータ又は実体を受信すると(S4211)、受信したメタデータ又は実体を第2ストレージ装置10bに格納する(S4212)。
図43は、第1サーバ装置3aが、ユーザの使用量がユーザクオータ3312を超過していることを検出した場合に第1サーバ装置3aによって行われる処理(以下、ユーザクオータ超過検出処理S4300と称する。)を説明するフローチャートである。
第1サーバ装置3aは、ユーザクオータ管理テーブル331を参照し、ユーザの使用量3313がユーザクオータ3312を超過しているか否かを随時(定期的、リアルタイム等)監視している(S4311)。あるユーザの使用量3312がユーザクオータ3312を超過していることを検知すると(S4311:YES)、第1サーバ装置3aは、そのユーザが所有しているファイルのスタブ化フラグ2111をONに設定し、また当該ファイルのレプリケーションフラグ2114をOFFに設定する(S4312)。
次に第1サーバ装置3aは、ファイルアクセスログ335を参照し、そのユーザが所有しているファイルのうち、他のユーザも使用(共用)しているファイルを抽出し(S4313)、抽出したファイルを対象として、ファイルクオータ管理方式への移行を行う(S4314)。その後はS4311に戻り、使用量3313がユーザクオータ3312を超過しているか否かの監視を開始する。
図44は、図43のS4314における処理(以下、ファイルクオータ管理方式移行処理S4400と称する。)を説明するフローチャートである。尚、同図に示す処理は、図43のS4313にて抽出したファイルの夫々について行われる。以下、同図とともに説明する。
まず第1サーバ装置3aは、抽出したファイルをファイルクオータ管理方式に移行するに際し、そのファイルについてのファイルクオータの負担割合の決定方式を取得する(S4411)。負担割合の決定方式には、例えば、前述した重み付けによる方法や、均等に割り付ける方法等がある。ここではこれら2通りの決定方式があるものとして説明する。尚、上記決定方式の取得は、例えば、予めファイルの所有者ごとに設定された情報を参照する等して行われる。取得した決定方式が重み付けによる方法である場合には(S4411:重み付け)、S4412に進み、均等割付である場合には(S4411:均等)、S4413に進む。
S4412では、第1サーバ装置3aは、抽出したファイルについて、各ユーザの負担割合を算出する(S4412)。
S4413では、第1サーバ装置3aは、各ユーザに負担させるファイルクオータを算出する。決定方式が重み付けである場合はS4412にて算出した負担割合を用いて各ユーザに負担させるファイルクオータを算出する。決定方式が均等割付である場合は、抽出したファイルのファイルサイズを、当該ファイルを使用しているユーザ数で按分することにより各ユーザに負担させるファイルクオータを算出する。
S4414では、第1サーバ装置3aは、ユーザクオータ管理テーブル331に管理されている各ユーザのユーザクオータ3312から、夫々に負担させるファイルクオータ分を減算する。
S4415では、第1サーバ装置3aは、抽出したファイルをファイルクオータ管理方式で管理するための情報をファイルクオータ管理テーブル332に登録する。
図45は、第1サーバ装置3aが、ファイルクオータ管理方式にて管理されているファイルのファイルクオータを負担しているユーザのうち、当該ファイルに対するアクセスが少ないユーザのファイルクオータの負担を返却(ファイルクオータをユーザクオータに変更)する処理(以下、ファイルクオータ返却処理S4500と称する。)を示している。尚、ファイルクオータ返却処理S4500は、随時(定期的、リアルタイム等)に行われる。また同図に示す処理は、ファイルクオータ管理テーブル332に管理されている個々のファイルについて個別に行われる。
まず第1サーバ装置3aは、ファイルアクセスログ335を参照し、ファイルクオータ管理テーブル332に管理されているファイルについて、そのファイルへのアクセス数が少ないユーザ(所定時間前から現在までの当該ファイルへのアクセス数が予め設定された閾値以下であるユーザ)を特定する(S4511)。
次に第1サーバ装置3aは、特定したユーザが負担しているファイルクオータを、ユーザクオータに返却する(S4512)。この返却は、具体的には、ファイルクオータ管理テーブル332の当該ユーザの負担するファイルクオータ(全部又は一部)をユーザクオータ管理テーブル331の当該ユーザのユーザクオータ3312に加算し、加算した分をファイルクオータ管理テーブル332の当該ユーザの負担分から減算し、その分、当該ファイルについての他のユーザの負担分を増加させる(減算前のファイルクオータ3322の値が維持されるように増加させる)ことにより行う。
このように、ファイルクオータ管理方式で管理されているファイルへのアクセス頻度が少ないユーザに対しては、ユーザクオータが自動的に返却されるので、ファイルクオータを公平にユーザに負担させることができる。
図46は、第1サーバ装置3aが、ファイルクオータ管理方式にて管理されているファイルを使用しているにも拘わらずファイルクオータを現在負担していないユーザをファイルアクセスログ335に基づき抽出し、抽出したユーザからそのファイルのファイルクオータを徴収する処理(以下、ファイルクオータ徴収処理S4600と称する。)を説明するフローチャートである。尚、ファイルクオータ徴収処理S4600は、随時(定期的、リアルタイム等)に行われる。また同図に示す処理は、ファイルクオータ管理テーブル332に管理されている個々のファイルについて個別に行われる。
まず第1サーバ装置3aは、ファイルアクセスログ335とファイルクオータ管理テーブル332とを対照し、ファイルクオータ管理方式にて管理されているファイルを使用しているにも拘わらずファイルクオータを現在負担していないユーザ(以下、徴収候補ユーザと称する。)をファイルアクセスログ335に基づき特定する(S4611)。具体的には、例えば、第1サーバ装置3aは、所定時間前から現在までの間に当該ファイルを使用した回数が予め設定された閾値を超えているユーザを徴収候補ユーザとして抽出する。
次に第1サーバ装置3aは、徴収候補ユーザが負担すべきファイルクオータを算出し(例えば、前述した重み付けや均等割付により算出する。)、算出した結果に基づきファイルクオータ管理テーブル332及びユーザクオータ管理テーブル331を更新する(S4612)。
このように、ファイルクオータ管理方式で管理されているファイルについては、ファイルクオータを供出していないユーザのアクセス頻度が高くなると、自動的にそのユーザからファイルクオータを徴収するので、ファイルクオータを公平にユーザに負担させることができる。
図47は、ファイルクオータ管理方式で管理されているファイルのユーザクオータ管理方式による管理への移行、及び、ユーザクオータ管理方式で管理されているファイルのマイグレーションの実行に関する処理(以下、監視処理S4700と称する。)を説明するフローチャートである。
第1サーバ装置3aは、ファイルクオータ管理方式で管理されているファイル(以下、対象ファイルと称する。)のファイルサイズが、ファイルクオータを超過しているか否かを随時(定期的、リアルタイム、予め設定された時機等)判断する(S4711)。第1サーバ装置3aが、対象ファイルのファイルサイズが、ファイルクオータを超過していると判断した場合は(S4711:YES)、S4712に進む。
S4712では、第1サーバ装置3aは、対象ファイルのファイルクオータをユーザクオータに全て返却し、当該ファイルについてのファイルクオータ管理方式による管理を終了する。尚、第1サーバ装置3aは、ユーザクオータ管理テーブル331及びファイルクオータ管理テーブル332の内容を返却後の状態に更新する。
次に第1サーバ装置3aは、マイグレーションを実施するか否かを判断する(S4313)。ここでマイグレーションを実施するか否かの判断は、例えば、ユーザクオータ管理テーブル331を参照し、使用量3313がユーザクオータ3312の所定の閾値を超えているか否かに基づき行う。マイグレーションを実施する場合には(S4713:YES)、S4714に進み、マイグレーションを実施しない場合には(S4713:NO)、S4711に戻る。
S4714では、第1サーバ装置3aは、対象ファイルの実体を第1ストレージ装置10aから削除し、当該ファイルのマイグレーションを実施(スタブ化)する。また第1サーバ装置3aは、ユーザクオータ管理テーブル331を削除後の状態に更新する(S4715)。
図48は、所有者のみが使用しているファイルについてマイグレーションを実施(スタブ化)する処理(以下、監視処理S4800と称する。)を説明するフローチャートである。尚、監視処理S4800は、第1サーバ装置3aによって随時(定期的、リアルタイム等)に行われる。
第1サーバ装置3aは、第1ストレージ装置10aに格納されているファイルのうち、所有者のみが使用しているファイル(所定時間前から現在までの間に他のユーザによってアクセスされていないファイル。)であり、スタブ化フラグ2111がONに設定され、メタデータ同期要フラグ2112及びデータ実体同期要フラグ2113がいずれもOFFに設定され、かつ、所定期間以上アクセスがされていないファイルを抽出する(S4811)。
次に第1サーバ装置3aは、抽出したファイルの実体を第1ストレージ装置10aから削除(マイグレーションの実施)し(S4812)、ユーザクオータ管理テーブル331をファイル削除後の状態に更新する(S4813)。
以上に説明したように、本実施形態の情報処理システム1にあっては、ユーザクオータに基づく管理においてマイグレーションの対象とされたファイル(尚、マイグレーションの対象とされても、そのファイルについて直ちにマイグレーションが実行されるわけではない)のうち、複数のユーザによって使用されているファイルをファイルクオータに基づく管理の対象とする。そのため、あるファイルがユーザクオータに基づく管理においてマイグレーションの対象とされていても、そのファイルが複数のユーザによって使用(共用)されているファイルであれば、そのファイルはユーザクオータに基づく管理の対象から外されてファイルクオータに基づく管理下に置かれることになる(図43)。
このように、本実施形態の情報処理システム1にあっては、ファイルシステム312に提供されている記憶資源の枯渇を防ぐべく、基本的にはユーザクオータに基づく管理を行うが、ユーザクオータを超えるファイルであっても、複数のユーザによって使用されているファイルについては、特定のユーザ(所有者ユーザ)の都合のみによってマイグレーションの要否が判断されてしまう可能性があるユーザクオータ管理方式から外されて、複数のユーザのユーザクオータによって供出されるファイルクオータ管理方式による管理対象とされる。このため、ファイルクオータ管理方式による管理対象とされている間は、特定のユーザの都合のみによってマイグレーションが実施されてしまい、他のユーザのサービスに影響が生じるのを防ぐことができる。
またファイルクオータに基づく管理対象とされているあるファイルの容量がファイルクオータに基づく閾値を超えている場合は、そのファイルはファイルクオータに基づく管理対象から外されて再びユーザクオータに基づく管理対象とされるので(図47)、ファイルシステム312に提供されている記憶資源の確保が疎かにされることはない。このように本実施形態の情報処理システム1によれば、ファイルをマイグレーションすることによって生じる他のユーザへの影響を抑えつつ、記憶資源の確保のためのマイグレーションを適切に行うことができる。
またファイルの更新によってファイルの容量がファイルクオータを超える場合には、当該ファイルを使用するユーザから随時ユーザクオータを徴収してファイルクオータに追加するので(図36)、更新によって当該ファイルがファイルクオータによる管理から頻繁に外されてしまうのを防ぐことができる(ファイルクオータによる管理から外されてユーザクオータによる管理に戻るのは、原則として監視処理(図47)による判断時に限られる)。
またファイルクオータ管理方式で管理されているファイルへのアクセス頻度が少ないユーザに対しては、ユーザクオータが自動的に返却されるので(図45)、ファイルクオータを公平にユーザに負担させることができる。またファイルクオータ管理方式で管理されているファイルについては、ファイルクオータを供出していないユーザのアクセス頻度が高くなると、自動的にそのユーザからファイルクオータを徴収するので、ファイルクオータを公平にユーザに負担させることができる(図46)。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。

Claims (15)

  1. クライアント装置と、第1ストレージ装置と、第2ストレージ装置が通信可能に接続する第2サーバ装置と、が通信可能に接続する第1サーバ装置であって、
    前記クライアント装置から前記ファイルに対するアクセス要求を受け付けると、前記第1ストレージ装置に格納されているファイルのデータに対して書き込み又は読み出しを行い、
    ユーザごとの記憶資源の使用量の制限を規定した情報であるユーザクオータを管理し、
    あるユーザの使用量が前記ユーザクオータに基づく閾値を超えている場合に、そのユーザが所有するファイルを前記第2ストレージ装置へのマイグレーションの対象とする、ユーザクオータに基づく管理を行い、
    マイグレーションの対象として特定された前記ファイルのうち、複数のユーザによって使用されているファイルを前記ユーザクオータに基づく管理の対象から外すとともに、当該ファイルを、そのファイルを使用している複数のユーザの前記ユーザクオータから供出される、ファイルごとの容量の制限を規定した情報であるファイルクオータに基づく管理の対象とし、
    前記ファイルクオータに基づく管理対象とされているあるファイルの容量が、前記ファイルクオータに基づく閾値を超えている場合に、そのファイルを前記ファイルクオータに基づく管理対象から外すとともに、当該ファイルを前記ユーザクオータに基づく管理対象とする
    サーバ装置。
  2. 請求項1に記載のサーバ装置であって、
    前記ファイルを前記ファイルクオータに基づく管理の対象とするに際し、当該ファイルを使用しているユーザの夫々から、各ユーザの当該ファイルに対するアクセス頻度に応じたユーザクオータを徴収し、徴収したユーザクオータを前記ファイルクオータとし、
    前記ファイルを前記ファイルクオータに基づく管理の対象とするに際し、当該ファイルを使用しているユーザの夫々から、均等にユーザクオータを徴収し、徴収したユーザクオータを前記ファイルクオータとする
    前記クライアント装置から、前記第1ストレージに格納されているファイルに対する更新要求を受信すると、その更新要求に基づく更新により当該ファイルの容量が前記ファイルクオータに基づく閾値を超えるか否かを判断し、閾値を超える場合は、当該ファイルを使用しているユーザの前記ユーザクオータを新たに徴収して前記ファイルクオータに追加し、
    前記ファイルクオータに基づく管理の対象であるファイルに前記ユーザクオータを供出しているユーザの当該ファイルに対するアクセス頻度が、予め設定された閾値以下である場合、そのユーザがそのファイルに供出しているファイルクオータをそのユーザのユーザクオータに返却し、
    前記ファイルクオータに基づく管理の対象であるファイルに前記ユーザクオータを供出していないユーザの当該ファイルに対するアクセス頻度が、予め設定された閾値を超えている場合、そのユーザからユーザクオータを徴収して前記ファイルの前記ファイルクオータに追加し、
    前記クライアント装置から、前記第1ストレージに格納されているファイルについてのオープン要求を受信すると、そのファイルをオープンするとともに、当該ファイルの参照カウンタをインクリメントし、
    前記クライアント装置から、前記第1ストレージに格納されているファイルについてのクローズ要求を受信すると、そのファイルをクローズするとともに、当該ファイルの参照カウンタをデクリメントし、
    前記クライアント装置から、前記第1ストレージに格納されているファイルについてのクローズ要求を受信したのに応じてそのファイルをクローズし、その結果、前記参照カウンタの値がゼロとなった場合に、当該ファイルがその所有者のみが使用するファイルであるならば、前記第1ストレージ装置から当該ファイルの実体のみを削除して当該ファイルのメタデータのみを残すことにより、当該ファイルをスタブ化し、
    前記第1ストレージ装置に格納されているあるファイルについてレプリケーション要求が発生すると、当該ファイルのデータを、前記第2サーバ装置を介して前記第2ストレージ装置に転送して当該ファイルについてのレプリケーションによる管理の対象とし、
    前記レプリケーションによる管理の対象とされており、かつ、前記ユーザクオータに基づく管理においてマイグレーションの対象とされている前記ファイルを、前記第2ストレージ装置にマイグレーションするに際し、前記第1ストレージ装置から当該ファイルの実体のみを削除して当該ファイルのメタデータのみを残すことにより、当該ファイルをスタブ化し、
    前記レプリケーションによる管理の対象になっているファイルについて、前記第1ストレージ装置に格納されているファイルのデータの内容と前記第2ストレージ装置に格納されているファイルのデータの内容とが不一致である場合に、両者について同期処理が必要である旨の情報を管理し、
    前記情報により前記同期処理が必要であるとされているファイルについては、前記マイグレーションの対象から外す
    サーバ装置。
  3. 請求項1に記載のサーバ装置であって、
    前記ファイルを前記ファイルクオータに基づく管理の対象とするに際し、当該ファイルを使用しているユーザの夫々から、各ユーザの当該ファイルに対するアクセス頻度に応じたユーザクオータを徴収し、徴収したユーザクオータを前記ファイルクオータとする
    サーバ装置。
  4. 請求項1に記載のサーバ装置であって、
    前記ファイルを前記ファイルクオータに基づく管理の対象とするに際し、当該ファイルを使用しているユーザの夫々から、均等にユーザクオータを徴収し、徴収したユーザクオータを前記ファイルクオータとする
    サーバ装置。
  5. 請求項1に記載のサーバ装置であって、
    前記クライアント装置から、前記第1ストレージに格納されているファイルに対する更新要求を受信すると、その更新要求に基づく更新により当該ファイルの容量が前記ファイルクオータに基づく閾値を超えるか否かを判断し、閾値を超える場合は、当該ファイルを使用しているユーザの前記ユーザクオータを新たに徴収して前記ファイルクオータに追加する
    サーバ装置。
  6. 請求項1に記載のサーバ装置であって、
    前記ファイルクオータに基づく管理の対象であるファイルに前記ユーザクオータを供出しているユーザの当該ファイルに対するアクセス頻度が、予め設定された閾値以下である場合、そのユーザがそのファイルに供出しているファイルクオータをそのユーザのユーザクオータに返却する
    サーバ装置。
  7. 請求項1に記載のサーバ装置であって、
    前記ファイルクオータに基づく管理の対象であるファイルに前記ユーザクオータを供出していないユーザの当該ファイルに対するアクセス頻度が、予め設定された閾値を超えている場合、そのユーザからユーザクオータを徴収して前記ファイルの前記ファイルクオータに追加する
    サーバ装置。
  8. 請求項1に記載のサーバ装置であって、
    前記クライアント装置から、前記第1ストレージに格納されているファイルについてのオープン要求を受信すると、そのファイルをオープンするとともに、当該ファイルの参照カウンタをインクリメントし、
    前記クライアント装置から、前記第1ストレージに格納されているファイルについてのクローズ要求を受信すると、そのファイルをクローズするとともに、当該ファイルの参照カウンタをデクリメントし、
    前記クライアント装置から、前記第1ストレージに格納されているファイルについてのクローズ要求を受信したのに応じてそのファイルをクローズし、その結果、前記参照カウンタの値がゼロとなった場合に、当該ファイルがその所有者のみが使用するファイルであるならば、前記第1ストレージ装置から当該ファイルの実体のみを削除して当該ファイルのメタデータのみを残すことにより、当該ファイルをスタブ化する
    サーバ装置。
  9. 請求項1に記載のサーバ装置であって、
    前記第1ストレージ装置に格納されているあるファイルについてレプリケーション要求が発生すると、当該ファイルのデータを、前記第2サーバ装置を介して前記第2ストレージ装置に転送して当該ファイルについてのレプリケーションによる管理の対象とし、
    前記レプリケーションによる管理の対象とされており、かつ、前記ユーザクオータに基づく管理においてマイグレーションの対象とされている前記ファイルを、前記第2ストレージ装置にマイグレーションするに際し、前記第1ストレージ装置から当該ファイルの実体のみを削除して当該ファイルのメタデータのみを残すことにより、当該ファイルをスタブ化する
    サーバ装置。
  10. 請求項9に記載のサーバ装置であって、
    前記レプリケーションによる管理の対象になっているファイルについて、前記第1ストレージ装置に格納されているファイルのデータの内容と前記第2ストレージ装置に格納されているファイルのデータの内容とが不一致である場合に、両者について同期処理が必要である旨の情報を管理し、
    前記情報により前記同期処理が必要であるとされているファイルについては、前記マイグレーションの対象から外す
    サーバ装置。
  11. クライアント装置と、第1ストレージ装置と、第2ストレージ装置が通信可能に接続する第2サーバ装置と、が通信可能に接続する第1サーバ装置の制御方法であって、
    前記第1サーバ装置が、
    前記クライアント装置からファイルに対するアクセス要求を受け付けると、前記第1ストレージ装置に格納されている前記ファイルのデータに対して書き込み又は読み出しを行い、
    ユーザごとの記憶資源の使用量の制限を規定した情報であるユーザクオータを管理し、
    あるユーザの使用量が前記ユーザクオータに基づく閾値を超えている場合に、そのユーザが所有するファイルを前記第2ストレージ装置へのマイグレーションの対象とする、ユーザクオータに基づく管理を行い、
    マイグレーションの対象として特定された前記ファイルのうち、複数のユーザによって使用されているファイルを前記ユーザクオータに基づく管理の対象から外すとともに、当該ファイルを、そのファイルを使用している複数のユーザの前記ユーザクオータから供出される、ファイルごとの容量の制限を規定した情報であるファイルクオータに基づく管理の対象とし、
    前記ファイルクオータに基づく管理対象とされているあるファイルの容量が、前記ファイルクオータに基づく閾値を超えている場合に、そのファイルを前記ファイルクオータに基づく管理対象から外すとともに、当該ファイルを前記ユーザクオータに基づく管理対象とする
    サーバ装置の制御方法。
  12. 請求項11に記載のサーバ装置の制御方法であって、
    前記ファイルをファイルクオータに基づく管理の対象とするに際し、当該ファイルを使用しているユーザの夫々から、各ユーザの当該ファイルに対するアクセス頻度に応じたユーザクオータを徴収し、徴収したユーザクオータを前記ファイルクオータとする
    サーバ装置の制御方法。
  13. 請求項11に記載のサーバ装置の制御方法であって、
    前記ファイルをファイルクオータに基づく管理の対象とするに際し、当該ファイルを使用しているユーザの夫々から、均等にユーザクオータを徴収し、徴収したユーザクオータを前記ファイルクオータとする
    サーバ装置の制御方法。
  14. 請求項11に記載のサーバ装置の制御方法であって、
    前記クライアント装置から、前記第1ストレージに格納されているファイルに対する更新要求を受信すると、その更新要求に基づく更新により当該ファイルの容量が前記ファイルクオータに基づく閾値を超えるか否かを判断し、閾値を超える場合は、当該ファイルを使用しているユーザの前記ユーザクオータを新たに徴収して前記ファイルクオータに追加する
    サーバ装置の制御方法。
  15. 請求項11に記載のサーバ装置の制御方法であって、
    前記ファイルクオータに基づく管理の対象であるファイルに前記ユーザクオータを供出しているユーザの当該ファイルに対するアクセス頻度が、予め設定された閾値以下である場合、そのユーザがそのファイルに供出しているファイルクオータをそのユーザのユーザクオータに返却する
    サーバ装置の制御方法。
JP2012546280A 2010-09-14 2010-09-14 サーバ装置及びサーバ装置の制御方法 Expired - Fee Related JP5439607B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/005593 WO2012035574A1 (en) 2010-09-14 2010-09-14 Server apparatus and control method of the same for migrating file based on user quota and file quota

Publications (2)

Publication Number Publication Date
JP2013525869A true JP2013525869A (ja) 2013-06-20
JP5439607B2 JP5439607B2 (ja) 2014-03-12

Family

ID=43734005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012546280A Expired - Fee Related JP5439607B2 (ja) 2010-09-14 2010-09-14 サーバ装置及びサーバ装置の制御方法

Country Status (3)

Country Link
US (1) US8612395B2 (ja)
JP (1) JP5439607B2 (ja)
WO (1) WO2012035574A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016038700A1 (ja) * 2014-09-10 2016-03-17 株式会社日立製作所 ファイルサーバ装置、方法、及び、計算機システム

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US8768510B2 (en) * 2011-01-18 2014-07-01 Spectra Logic, Corporation System and method for directing a robotic storage system
US8577934B2 (en) * 2011-03-24 2013-11-05 Spectra Logic Corporation System and method for a storage system response with data migration
US20120254555A1 (en) * 2011-03-31 2012-10-04 Hitachi, Ltd. Computer system and data management method
US8423624B2 (en) * 2011-06-30 2013-04-16 International Business Machines Corporation Maintaining referential integrity
US10067940B2 (en) * 2012-03-02 2018-09-04 International Business Machines Corporation Enhanced storage quota management for cloud computing systems
US10146791B2 (en) * 2012-09-07 2018-12-04 Red Hat, Inc. Open file rebalance
US9092446B2 (en) * 2012-11-29 2015-07-28 Hitachi, Ltd. Storage system and file management method
US20140173499A1 (en) * 2012-12-14 2014-06-19 Chevron U.S.A. Inc. Systems and methods for integrating storage usage information
US10248670B1 (en) 2013-03-14 2019-04-02 Open Text Corporation Method and system for migrating content between enterprise content management systems
DE112013006414T5 (de) * 2013-05-15 2015-10-01 Hitachi, Ltd. Computersystem und Betriebsmittelmanagementverfahren
US20150004928A1 (en) * 2013-07-01 2015-01-01 Alcatel-Lucent Usa Inc. Group data plan quota allocation for mobile devices
US9507614B2 (en) * 2013-07-24 2016-11-29 Netapp, Inc. Method and system for presenting and managing storage shares
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
US9798791B1 (en) * 2013-12-04 2017-10-24 Ca, Inc. System and method for filtering files during data replication
US10459892B2 (en) 2014-04-23 2019-10-29 Qumulo, Inc. Filesystem hierarchical aggregate metrics
US10095704B2 (en) 2014-08-26 2018-10-09 Ctera Networks, Ltd. Method and system for routing data flows in a cloud storage system
US9836480B2 (en) 2015-01-12 2017-12-05 Qumulo, Inc. Filesystem capacity and performance metrics and visualizations
US9563511B1 (en) * 2015-03-19 2017-02-07 EMC IP Holding Company LLC Performing input/output operations on a set of storage devices based on scalable input/output credits
US9881038B2 (en) 2015-04-20 2018-01-30 International Business Machines Corporation Archive migration system
US10776030B2 (en) 2016-01-29 2020-09-15 Hewlett Packard Enterprise Development Lp Quota arbitration of a distributed file system
US10095729B2 (en) * 2016-12-09 2018-10-09 Qumulo, Inc. Managing storage quotas in a shared storage system
US11461279B2 (en) * 2018-03-26 2022-10-04 Apple Inc. Share pools for sharing files via a storage service
CN112055849B (zh) * 2018-04-19 2024-01-16 村田机械株式会社 排他控制系统以及排他控制方法
US11360936B2 (en) 2018-06-08 2022-06-14 Qumulo, Inc. Managing per object snapshot coverage in filesystems
US10534758B1 (en) 2018-12-20 2020-01-14 Qumulo, Inc. File system cache tiers
US11151092B2 (en) 2019-01-30 2021-10-19 Qumulo, Inc. Data replication in distributed file systems
US10614033B1 (en) 2019-01-30 2020-04-07 Qumulo, Inc. Client aware pre-fetch policy scoring system
US11689475B2 (en) * 2019-08-09 2023-06-27 Oracle International Corporation System and method for tag based resource limits or quotas in a cloud infrastructure environment
US11646975B2 (en) 2019-08-09 2023-05-09 Oracle International Corporation System and method for compartment quotas in a cloud infrastructure environment
US10725977B1 (en) 2019-10-21 2020-07-28 Qumulo, Inc. Managing file system state during replication jobs
US10860372B1 (en) 2020-01-24 2020-12-08 Qumulo, Inc. Managing throughput fairness and quality of service in file systems
US10795796B1 (en) 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
US11151001B2 (en) 2020-01-28 2021-10-19 Qumulo, Inc. Recovery checkpoints for distributed file systems
US10860414B1 (en) 2020-01-31 2020-12-08 Qumulo, Inc. Change notification in distributed file systems
US10936538B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Fair sampling of alternate data stream metrics for file systems
US10936551B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Aggregating alternate data stream metrics for file systems
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
US11157458B1 (en) 2021-01-28 2021-10-26 Qumulo, Inc. Replicating files in distributed file systems using object-based data storage
US11461241B2 (en) 2021-03-03 2022-10-04 Qumulo, Inc. Storage tier management for file systems
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US20230066835A1 (en) * 2021-08-27 2023-03-02 Keysight Technologies, Inc. Methods, systems and computer readable media for improving remote direct memory access performance
US11294604B1 (en) 2021-10-22 2022-04-05 Qumulo, Inc. Serverless disk drives based on cloud storage
US11354273B1 (en) 2021-11-18 2022-06-07 Qumulo, Inc. Managing usable storage space in distributed file systems
US11599508B1 (en) 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313631A (en) * 1991-05-21 1994-05-17 Hewlett-Packard Company Dual threshold system for immediate or delayed scheduled migration of computer data files
US5946686A (en) * 1997-07-11 1999-08-31 International Business Machines Corporation Parallel file system and method with quota allocation
US6092163A (en) * 1998-12-04 2000-07-18 W. Quinn Associates, Inc. Pageable filter driver for prospective implementation of disk space quotas
JP4049525B2 (ja) * 2000-08-16 2008-02-20 富士通株式会社 分散処理システム
US6981005B1 (en) * 2000-08-24 2005-12-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system
US20040039891A1 (en) * 2001-08-31 2004-02-26 Arkivio, Inc. Optimizing storage capacity utilization based upon data storage costs
AU2003262964A1 (en) 2002-08-30 2004-03-19 Arkivio, Inc. Optimizing storage capacity utilization based upon data storage costs
JP4400126B2 (ja) * 2003-08-08 2010-01-20 株式会社日立製作所 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法
JP4349301B2 (ja) * 2004-11-12 2009-10-21 日本電気株式会社 ストレージ管理システムと方法並びにプログラム
US7523286B2 (en) 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US7913053B1 (en) * 2005-02-15 2011-03-22 Symantec Operating Corporation System and method for archival of messages in size-limited containers and separate archival of attachments in content addressable storage
US8170985B2 (en) * 2006-01-31 2012-05-01 Emc Corporation Primary stub file retention and secondary retention coordination in a hierarchical storage system
US7552182B2 (en) * 2006-11-07 2009-06-23 International Business Machines Corporation Method, apparatus, and computer program product for lending e-mail space
WO2008126297A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited バックアップ制御装置
US7783666B1 (en) * 2007-09-26 2010-08-24 Netapp, Inc. Controlling access to storage resources by using access pattern based quotas
US8170990B2 (en) 2008-05-30 2012-05-01 Hitachi, Ltd. Integrated remote replication in hierarchical storage systems
US8447942B2 (en) * 2008-06-09 2013-05-21 Microsoft Corporation Content storage using quotas
US7937453B1 (en) * 2008-09-24 2011-05-03 Emc Corporation Scalable global namespace through referral redirection at the mapping layer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016038700A1 (ja) * 2014-09-10 2016-03-17 株式会社日立製作所 ファイルサーバ装置、方法、及び、計算機システム
JPWO2016038700A1 (ja) * 2014-09-10 2017-04-27 株式会社日立製作所 ファイルサーバ装置、方法、及び、計算機システム

Also Published As

Publication number Publication date
US20120066179A1 (en) 2012-03-15
WO2012035574A1 (en) 2012-03-22
US8612395B2 (en) 2013-12-17
JP5439607B2 (ja) 2014-03-12

Similar Documents

Publication Publication Date Title
JP5439607B2 (ja) サーバ装置及びサーバ装置の制御方法
JP5716099B2 (ja) 情報処理システム及び情報処理システムの制御方法
JP5706966B2 (ja) 情報処理システム、及び、それを用いたファイル復元方法
JP5452765B2 (ja) 情報処理システムにおける障害復旧方法、及び情報処理システム
US9319265B2 (en) Read ahead caching of data from cloud storage and method thereof
WO2013001581A1 (en) Server system and method for controlling information system
Beaver et al. Finding a needle in haystack: Facebook's photo storage
US8495331B2 (en) Storage apparatus and storage management method for storing entries in management tables
WO2011145137A1 (en) Storage apparatus and control method thereof for dynamic migration of small storage areas
US20130159648A1 (en) Data selection for movement from a source to a target
WO2012147124A1 (en) Server apparatus and method of controlling information system
US11720525B2 (en) Flexible tiering of snapshots to archival storage in remote object stores
Salunkhe et al. In search of a scalable file system state-of-the-art file systems review and map view of new Scalable File system
JP5681783B2 (ja) 情報処理システムにおける障害復旧方法、及び情報処理システム
Ananthanarayanan et al. Panache: a parallel WAN cache for clustered filesystems
Appuswamy et al. File-level, host-side flash caching with loris
Bletsch ECE590-03 Enterprise Storage Architecture Fall 2017
Ma et al. Experiences with hierarchical storage management support in blue whale file system
Simha Efficient Implementation Techniques for Block-Level Cloud Storage Systems
Sendir Optimizing NoSQL Databases Through Coherently Attached Flash
Liu-Chao et al. Research on Implement Snapshot of pNFS Distributed File System

Legal Events

Date Code Title Description
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: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131216

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