JP2009211584A - ファイルシステム制御装置 - Google Patents

ファイルシステム制御装置 Download PDF

Info

Publication number
JP2009211584A
JP2009211584A JP2008055779A JP2008055779A JP2009211584A JP 2009211584 A JP2009211584 A JP 2009211584A JP 2008055779 A JP2008055779 A JP 2008055779A JP 2008055779 A JP2008055779 A JP 2008055779A JP 2009211584 A JP2009211584 A JP 2009211584A
Authority
JP
Japan
Prior art keywords
input
output
file
disk array
file system
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
JP2008055779A
Other languages
English (en)
Other versions
JP5125624B2 (ja
Inventor
Yusuke Ogaki
雄介 大垣
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008055779A priority Critical patent/JP5125624B2/ja
Publication of JP2009211584A publication Critical patent/JP2009211584A/ja
Application granted granted Critical
Publication of JP5125624B2 publication Critical patent/JP5125624B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データ入出力の高速化を図ること。
【解決手段】ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御装置であって、予め設定された各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルと、各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付手段と、ファイル特定情報に基づいて当該ファイルが記憶されるディスクアレイを特定するディスクアレイ特定手段と、特定されたディスクアレイの入出力サイズを入出力データテーブルから取得すると共に、当該取得した入出力サイズをファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得手段と、を備えた。
【選択図】図1

Description

本発明は、ファイルシステム制御装置にかかり、特に、複数のディスク装置にデータを分散して記憶するファイルシステムに対する入出力を制御するファイルシステム制御装置に関する。
HPC(High Performance Computing)におけるアプリケーションの入出力では、一回の計算で大量のデータを扱うため、データの一回の入出力サイズが大きくなることと、大量の入出力が行われるといった特徴がある。また、大量のデータの入出力を行うと、ファイルシステムの持つキャッシュ機能の動作がオーバーヘッドとなり、入出力性能の低下を招くため、ファイルシステムのキャッシュを使用しない入出力が行われるといった特徴がある。なお、特許文献1は、参考技術として、キャッシュメモリが存在することを前提としたディスクアレイ装置が開示している。
以上のように、HPCにおいては、大量の入出力が行われるため、アプリケーションの実行時間は入出力の性能に大きく左右されることになり、入出力性能の向上が大きな課題となっている。このため、データを一つのディスク装置に出力するのではなく、ソフトウェアRAIDや、UNIX(登録商標)またはLinuxシステムのLVM(Logical Volume Manager)などを使用して複数のディスク装置をストライピングすることにより、データの入出力を複数のディスク装置に分散し、性能を向上させることが行われている。
このとき、アプリケーションからファイルシステムへのデータの入出力を行う際に、ディスク装置の構成に合わせた入出力サイズで入出力を行うことにより、性能を向上させることができる。
一方で、近年では、ユーザデータ量の増大に伴い、大容量の単一ファイルシステムへの要求が高まっている。これを実現するために、種類の異なるディスク装置や、複数のディスク装置をストライピングしたソフトウェアRAIDをリニアに結合(コンカチネート)し、単一のファイルシステムを構成することが行われるようになった。
また、ファイルシステム容量の動的拡張のため、構成済みのファイルシステムに対して種類の異なるディスク装置や、構成の異なるソフトウェアRAIDを追加することも行われるようになった。特に、近年では、初期投資を抑えるためにスモールスタートによるストレージの運用が行われるようになっている。この場合、必要なときに必要なだけディスク装置をファイルシステムに追加するため、既設のディスク装置と同種のディスク装置が追加できるとは限らず、既に構成されているソフトウェアRAIDと同じ構成が組めるとは限らない。
この例として、図2に示すように、ディスク装置101からディスク装置108の8台をストライピングしたソフトウェアRAID100と、ディスク装置111からディスク装置115の5台をストライピングしたソフトウェアRAID110と、ディスク装置121からディスク装置127の7台をストライピングしたソフトウェアRAID120をリニアに結合し、この上に単一のファイルシステム10を構成されている場合を考える。このとき、図3を参照すると、ファイルシステム10に存在するファイル11からファイル13のデータは、ソフトウェアRAID100またはソフトウェアRAID110のどちらかに保存されている。ソフトウェアRAID100およびソフトウェアRAID110はストライピング数が異なっているため、前述のようにそれぞれの最適な入出力サイズも異なる。
そして、アプリケーションからファイルシステムの最適なデータの入出力サイズを取得する方法の例として、UNIX(登録商標)やLinuxシステムでは、ファイルシステムに対するstatfsシステムコールや、ファイルに対するstatシステムコールが存在している。これらのシステムコールが実行されると、ファイルシステムはアプリケーションに対して、一回の入出力を行う場合の最適な入出力サイズを返却する。
そして、ファイルシステムが一つのソフトウェアRAIDで構成されている場合、ファイルシステムはこのソフトウェアRAIDに対する最適な入出力サイズをstatfsシステムコールやstatシステムコールでアプリケーションに返却すれば良い。しかし、前述のように異なる種類のディスク装置や、構成の異なるソフトウェアRAIDをリニアに結合し、単一のファイルシステムを構成している場合、ディスク装置毎やソフトウェアRAID毎によって最適な入出力サイズが異なるため、従来のstatやstatfsシステムコールでは最適な入出力サイズを取得することができない。そのため、既存のファイルシステムは、別々のソフトウェアRAIDにデータが保存されているファイルに対するstatシステムコールであっても、ファイルシステムごとに一つの入出力サイズをアプリケーションに返却していた。
特開2004−326759号公報 特開平11−154057号公報
以上のように、単一のファイルシステムが、特性の異なる複数のディスク装置や、複数の構成の異なるソフトウェアRAIDから構成されている場合に、各ディスク装置やソフトウェアRAIDに対する最適な入出力サイズを特定できない。従って、アプリケーションから最適な設定におけるデータの入出力を行うことができず、データ入出力処理の高速化を図ることができない、という問題があった。一方で、特許文献2では、ディスクアクセスの傾向に応じて、ディスクアクセスの効率化を図るべく、論理ディスクを再構成するという技術を開示している。しかし、かかる場合であっても、当該論理ディスクを再構成する処理に時間がかかり、既に記憶されているデータのアクセスについては処理の高速化を図ることができない。
このため、本発明では、上述した課題である、データ入出力の高速化を図る、ことにある。
そこで、本発明の一形態であるファイルシステム制御装置は、
ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御装置であって、
予め設定された各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルと、
各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付手段と、
ファイル特定情報に基づいて当該ファイルが記憶されるディスクアレイを特定するディスクアレイ特定手段と、
特定されたディスクアレイの入出力サイズを入出力データテーブルから取得すると共に、当該取得した入出力サイズをファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得手段と、
を備えた、という構成を採る。
また、本発明の他の形態であるプログラムは、
ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御装置に、
各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付手段と、
ファイル特定情報に基づいて当該ファイルが記憶されるディスクアレイを特定するディスクアレイ特定手段と、
予め設定された各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルから、特定されたディスクアレイの入出力サイズを取得すると共に、当該取得した入出力サイズをファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得手段と、
を実現させる、という構成を採る。
さらに、本発明の他の形態であるファイルシステム制御方法は、
ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御方法であって、
各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付工程と、
ファイル特定情報に基づいて当該ファイルが記憶されるディスクアレイを特定するディスクアレイ特定工程と、
予め設定された各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルから、特定されたディスクアレイの入出力サイズを取得すると共に、当該取得した入出力サイズをファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得工程と、
を有する、という構成を採る。
本発明は、以上のように構成されることにより、ディスクアレイに対するデータの入出力を、当該ディスクアレイ毎に適した入出力サイズにて実行することができ、データ入出力の高速化を図ることができる、という優れた効果を有する。
本発明は、ハードウェアRAIDあるいはソフトウェアRAIDが複数形成された単一のファイルシステムを備えたディスク装置に対して、データの入出力を行うホストコンピュータに装備されたファイルシステム制御装置に関するものである。そして、このようなファイルシステムでは、ディスク数が異なることによって、RAIDの単位毎に最適な入出力サイズが異なる。従って、このような場合であっても、入出力を行うアプリケーションが、最適な入出力サイズを取得することが可能となる機能を提供する点に特徴を有する。
そして、本発明の一形態であるファイルシステム制御装置は、ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御装置であって、予め設定された各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルと、各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付手段と、ファイル特定情報に基づいて当該ファイルが記憶されるディスクアレイを特定するディスクアレイ特定手段と、特定されたディスクアレイの入出力サイズを前記入出力データテーブルから取得すると共に、当該取得した入出力サイズをファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得手段と、を備えた、という構成を採る。
また、上記構成に加え、上記各ディスクアレイの予め設定された構成情報を取得する構成情報取得手段と、取得した構成情報に基づいて各ディスクアレイの入出力サイズを算出する入出力サイズ算出手段と、算出した入出力サイズを、各ディスクアレイ毎に入出力データテーブルに記憶する入出力データ記憶手段と、を備えた、という構成を採る。
また、上記構成情報取得手段は、各ディスクアレイのストライピングサイズとストライピング数とを構成情報として取得し、入出力サイズ算出手段は、ストライピングサイズとストライピング数との積、あるいは、それを整数倍した値を、入出力サイズとして算出する。
上記発明によると、まず、ファイルシステム制御装置は、ファイルシステム内にRAID構成されたディスクアレイの構成情報を取得する。そして、取得した構成情報に基づいて、ディスクアレイに対するデータの入出力サイズを算出して、各ディスクアレイ毎に記憶しておく。あるいは、上記各ディスクアレイごとの入出力サイズが、予め入出力データテーブルに設定されて記憶されている。
そして、ファイルシステム制御装置は、アプリケーションからファイル特定情報を受けると、そのファイルが格納されるディスクアレイを特定し、上述したように記憶されている当該ディスクアレイの入出力サイズを取得して、アプリケーションに通知する。アプリケーションは、この通知された入出力サイズにて、ディスクアレイに対してデータの入出力処理を実行する。
これにより、ディスクアレイに対するデータの入出力を、当該ディスクアレイ毎に適した入出力サイズにて実行することができる。従って、データ入出力の高速化を図ることができる。このとき、例えば、各ディスクアレイのストライピングサイズとストライピング数との積を入出力サイズとして設定することで、より最適な入出力サイズを設定することができ、更なるデータ入出力の高速化を図ることができる。
さらに、上記入出力データテーブルは、各ディスクアレイに対して同時に入出力できる入出力データ数を表す予め設定された並列度情報を記憶しており、上記入出力データ取得手段は、ディスクアレイ特定手段にて特定されたディスクアレイの入出力サイズ及び並列度情報を入出力データテーブルから取得すると共に、当該取得した入出力サイズ及び並列度情報をファイル特定情報を受け付けたアプリケーションに通知する、という構成を採る。
これにより、ファイルシステム制御装置は、アプリケーションからデータの入出力要求があると、ファイルが格納されるディスクアレイの上述した入出力サイズ及び並列度情報を取得して、アプリケーションに通知する。そして、アプリケーションは、通知を受けた入出力サイズで、かつ、並列度の数だけ並列に、ディスクアレイに対するデータの入出力を実行する。その結果、各ディスクアレイに対するデータ入出力の最適化を図ることができ、データ入出力のさらなる高速化を図ることができる。
また、本発明の他の形態であるプログラムは、ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御装置に、各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付手段と、ファイル特定情報に基づいて当該ファイルが記憶されるディスクアレイを特定するディスクアレイ特定手段と、予め設定された各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルから、特定されたディスクアレイの入出力サイズを取得すると共に、当該取得した入出力サイズをファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得手段と、を実現させる、という構成を採る。また、上記プログラムは、ファイルシステム制御装置に、各ディスクアレイの予め設定された構成情報を取得する構成情報取得手段と、取得した構成情報に基づいて各ディスクアレイの前記入出力サイズを算出する入出力サイズ算出手段と、算出した入出力サイズを、各ディスクアレイ毎に入出力データテーブルに記憶する入出力データ記憶手段と、をさらに実現させる、という構成を採る。
さらに、本発明の他の形態であるファイルシステム制御方法は、ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御方法であって、各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付工程と、ファイル特定情報に基づいて当該ファイルが記憶されるディスクアレイを特定するディスクアレイ特定工程と、予め設定された各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルから、特定されたディスクアレイの入出力サイズを取得すると共に、当該取得した入出力サイズをファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得工程と、を有する、という構成を採る。また、上記ファイルシステム制御方法は、各ディスクアレイの予め設定された構成情報を取得する構成情報取得工程と、取得した構成情報に基づいて各ディスクアレイの前記入出力サイズを算出する入出力サイズ算出工程と、算出した前記入出力サイズを、各ディスクアレイ毎に入出力データテーブルに記憶する入出力データ記憶工程と、を有する、という構成を採る。
上述した構成のプログラム、ファイルシステム制御方法であっても、上記ファイルシステム制御装置と同様の作用を有するため、上述した本発明の目的を達成することができる。
<実施形態1>
本発明の第1の実施形態を、図1乃至図9を参照して説明する。図1は、ホストコンピュータの構成を示す機能ブロック図である。図2は、ファイルシステムの構成を示すブロック図である。図3は、ファイルシステムへのファイルの記憶状況を示す図である。図4は、ファイル配置情報の一例を示す図であり、図5は、入出力最適化情報テーブルの一例を示す図である。図6乃至図7は、ホストコンピュータにおけるファイルシステムの制御時の動作を示すフローチャートである。図8乃至図9は、入出力サイズの決定についての説明図である。
[構成]
本発明であるファイルシステム制御装置は、ディスク装置7内に構成されたファイルシステム10を制御すべく、当該ディスク装置7に接続されたホストコンピュータ1にて構成されている。具体的に、ホストコンピュータ1は、図1に示すように、オペレーティングシステムの一部であるファイルシステム処理部2と、オペレーティングシステム上で作動する各種アプリケーション4と、ディスク装置7内に形成された各ソフトウェアRAIDを管理するソフトウェアRAID機構5と、ディスク装置7に対するデータの入出力を行うディスク装置アクセス機構6と、メモリ3と、を備えている。なお、上記ファイルシステム処理部2と、アプリケーション4と、ソフトウェアRAID機構5と、ディスク装置アクセス機構6とは、ホストコンピュータ1に装備された演算装置に、所定のプログラムが組み込まれることによって実現される。以下、各構成について詳述する。
まず、ディスク装置7は、図2に示すように、複数のディスク装置101〜108,111〜115,121〜127を備えている。そして、これら複数のディスク装置は、当該ディスク装置に対してそれぞれデータを分散して記憶可能なよう、ソフトウェアにてRAID構成されたソフトウェアRAID(ディスクアレイ)を構成している。具体的には、ディスク装置101からディスク装置108は、上記ソフトウェアRAID機構5により、ストライピングサイズを1メガバイトとしてストライピングを構成しており、ソフトウェアRAID100としてファイル管理機能22からアクセス可能なよう構成されている。同様に、ディスク装置111からディスク装置115は、ソフトウェアRAID機構5により、ストライピングサイズを1メガバイトとしてストライピングを構成しており、ソフトウェアRAID110としてファイル管理機能22からアクセス可能なよう構成されている。同様に、ディスク装置121からディスク装置127は、ソフトウェアRAID機構5により、ストライピングサイズを1メガバイトとしてストライピングを構成しており、ソフトウェアRAID120としてファイル管理機能22からアクセス可能なよう構成されている。
また、図2に示すように、上記ソフトウェアRAID100、ソフトウェアRAID110およびソフトウェアRAID120は、リニアに結合されて1つのファイルシステム10を構成している。そして、図3に示すように、各ソフトウェアRAID100,110,120にはファイルを記憶することが可能であり、各ファイルの配置状況を表すファイル配置情報20を、ファイルシステム10が有している。ここで、例えば、図3に示すように、ファイルシステム10の上にファイル11、ファイル12、ファイル13が記憶されており、特に、ファイル11およびファイル13のデータは、RAID100に保存され、また、ファイル12のデータはRAID110に保存されていることとする。この場合には、ファイル配置情報20は、図4に示すように、ファイルを特定する情報と、当該ファイルが格納されているソフトウェアRAIDを特定する情報(番号)とが、関連付けられたテーブルとなっている。
そして、図1に示すように、上記ファイルシステム処理部2は、上記アプリケーション4から参照される入出力最適化情報アクセス部21と、アプリケーション4がファイルの入出力を行う際にアクセスするファイル入出力部23と、を備える。また、ファイルシステム処理部2は、メタデータの管理とソフトウェアRAID機構5への入出力を行うことにより、ファイルシステムの更新を行うファイル管理部22を備える。また、ファイルシステム機能2は、入出力最適化情報設定部24と、ファイルシステム作成部25と、を備える。
そして、上記構成のファイルシステム処理部2が管理するファイルシステム10は、ファイルシステム作成部25にアクセスすることにより、ソフトウェアRAIDを新規に作成することができる。あるいは、ファイルシステム10は、ファイルシステム作成部25にアクセスして、ソフトウェアRAIDを追加することにより、既存のファイルシステム10の拡張を行うことができる。なお、ソフトウェアRADIの作成及び拡張については、既存の技術であるため、その詳細な説明は省略する。
また、上記入出力最適化情報設定部24(構成情報取得手段)は、例えば、上述したファイルシステムの作成あるいは拡張時に、ソフトウェアRAID機構5にアクセスすることにより、特定のソフトウェアRAIDのストライピング数及びストライピングサイズを表す情報、つまり、上述したように構成されたソフトウェアRAID(ディスクアレイ)について設定されたその構成情報を取得する。そして、入出力最適化情報設定部24(入出力サイズ算出手段)は、上記取得したストライピング数及びストライピングサイズから、最適な入出力サイズを計算する。そして、その計算結果である入出力サイズを、入出力最適化情報アクセス部21(入出力データ記憶手段)を介して、メモリ3内に形成された入出力最適化情報テーブル31(入出力データテーブル)に記憶する。なお、入出力最適化情報テーブルの一例を図5に示す。この図に示すように、入出力最適化情報テーブル31は、各ソフトウェアRAID毎に最適であると計算された入出力サイズを記憶している。
ここで、ソフトウェアRAIDの構成に応じて算出する最適な入出力サイズについて説明する。まず、図8及び図9に示すように、ディスク装置201からディスク装置204の4台をストライピングして、ソフトウェアRAID200を構成している例を挙げる。ソフトウェアRAID200は、各ディスク装置を先頭から一定サイズごとに分割したブロック(201−1,202−1等)を、交互に並べた仮想的なディスクアレイである。ここで、ディスク装置を分割した各ブロックのサイズを、ストライピングサイズと呼び、ストライピングを構成するディスク装置の台数をストライピング数と呼ぶ。すると、図8の例の場合には、一回の入出力サイズ=(ストライピングサイズ)×(ストライピング数)の整数倍(1,2,・・・)、としてアプリケーションからデータの入出力を行うと、それ以外での入出力サイズで入出力を行うよりも、高い性能を得ることができる。
この理由は、(ストライピングサイズ)×(ストライピング数)の整数倍の入出力サイズで入出力を行った場合、ストライピングを構成している全てのディスク装置に対して並列に、かつ、同量の入出力が行われるためである。例えば、図8において、ストライピングサイズを1メガバイトとして、8メガバイトの入出力および5メガバイトの入出力を行った場合を考える。8メガバイトの入出力を行った場合、各ディスク装置では2メガバイトずつ入出力が行われるため、ソフトウェアRAID200へ8メガバイトの入出力を行う場合のTAT(Turn Around Time)は、一台のディスク装置に2メガバイトの入出力を行う時間となる。一方、5メガバイトの入出力を行った場合、ディスク装置202、203、204には1メガバイトの入出力が行われるが、ディスク装置201には2メガバイトの入出力が行われる。よって、ソフトウェアRAID200への5メガバイトの入出力を行う場合のTATは、8メガバイトの入出力を行ったときと同じく、一台のディスク装置に2メガバイトの入出力を行う時間となる。そのため、5メガバイトの入出力を行ったときのスループットは、8メガバイトの入出力を行った場合と比較して低くなる。つまり、入出力サイズは大きければ大きいほど良いわけではなく、(ストライピングサイズ)×(ストライピング数)の整数倍であることが重要となる。
以上より、上述した入出力最適化情報設定部24では、各ソフトウェアRAIDの(ストライピングサイズ)×(ストライピング数)の整数倍を、最適な入出力サイズとして算出する。
また、上記入出力最適化情報アクセス部21(ファイル特定情報受付手段、ディスクアレイ特定手段)は、ファイル管理部22を使用して、ファイルシステム10上の各ファイルについて、当該ファイルの配置されているソフトウェアRAIDを特定する。つまり、ファイル管理部22は、アプリケーションからのファイルの入出力要求に先立って当該ファイルを特定する情報を受け付けて、当該ファイルが格納されているソフトウェアRAIDを、ファイル配置情報20を参照して特定する。そして、入出力最適化情報アクセス部21(入出力データ取得手段)は、入出力最適化情報テーブル31にアクセスすることにより、上記特定したソフトウェアRAIDに最適な入出力サイズを取得する。さらに、この取得した入出力サイズを、問い合わせしてきたアプリケーション4に通知する。これにより、アプリケーション4は、ファイルの保存されている構成の異なるソフトウェアRAIDごとに最適な入出力サイズを取得して、当該入出力サイズにてデータ入出力を実行する。従って、高速なデータ入出力ができる。
[動作]
次に、上記ホストコンピュータ1によるファイルシステムの制御動作を、図6乃至図7のフローチャート、及び、その他の図を参照して説明する。
最初に、入出力最適化情報テーブル31の設定方法について説明する。まず、ファイルシステム作成部25は、ファイルシステム10の作成要求または拡張要求を受け付けると(ステップS1)、入出力最適化情報設定部24を呼び出す。そして、入出力最適化情報設定部24は、ファイルシステム10を構成するソフトウェアRAID100、ソフトウェアRAID110、ソフトウェアRAID120のストライピングサイズおよびストライピング数の情報(ディスクアレイの構成情報)を、ソフトウェアRAID機構5から取得する(ステップS2、構成情報取得工程)。
このとき、図2を参照すると、ソフトウェアRAID100について、ストライピングサイズ(斜線に示すブロック100aのサイズ)として1メガバイトを取得し、ストライピング数として8を取得する。そして、入出力最適化情報設定部24は、この2数の乗算結果である8メガバイトを、ソフトウェアRAID100の最適な入出力サイズとして得る(ステップS3、入出力サイズ算出工程)。つまり、図2で二点鎖線にて囲った部分100bが、最小の最適な入出力サイズとなる。その後、入出力最適化情報設定部24は、入出力最適化情報アクセス部21を使用して、図5に示すように、入出力最適化情報テーブル31にソフトウェアRAID100およびその最適な入出力サイズ8メガバイトを設定する(ステップS4、入出力データ記憶工程)。
同様に、ソフトウェアRAID110について、ストライピングサイズ(斜線に示すブロック110aのサイズ)として1メガバイトと、ストライピング数として5を取得し、これらの乗算結果である5メガバイトを、入出力最適化情報テーブル31にソフトウェアRAID110の最適な入出力サイズ(図2で二点鎖線にて囲った部分110bのサイズ)として設定する。さらに、同様に、ソフトウェアRAID120について、ストライピングサイズ(斜線に示すブロック120aのサイズ)として1メガバイトと、ストライピング数として7を取得し、これらの乗算結果である7メガバイトを、入出力最適化情報テーブル31にソフトウェアRAID120の最適な入出力サイズ(図2で二点鎖線にて囲った部分120bのサイズ)として設定する。
次に、ホスト1で動作するアプリケーション4が、既存のファイル11にデータを入出力する場合を説明する。まず、アプリケーション4は、ファイル11への入出力を行う前に、入出力最適化情報アクセス部21に対し、入出力を行うファイル11を特定して、当該ファイル11の最適な入出力サイズの問い合わせを行う。入出力最適化情報アクセス部21は、上記問い合わせを受け付けて、入力情報として与えられたファイル11がどのソフトウェアRAIDに配置されているのかを、ファイル管理部22に問い合わせる(ステップS11,ファイル特定情報受付工程)。すると、ファイル管理部22は、図4に示すファイル配置情報20を読み取り、アプリケーション4が入出力要求したファイル11が配置されているソフトウェアRAIDとしてソフトウェアRAID100を取得し(ステップS12、ディスクアレイ特定工程)、入出力最適化情報アクセス部21に応答する。
続いて、入出力最適化情報アクセス部21は、図5に示す入出力最適化情報テーブル31からソフトウェアRAID100を検索し、その結果として、当該ソフトウェアRAID100に最適な入出力サイズである8メガバイトを得る(ステップS13、入出力データ取得工程)。最後に、入出力最適化情報アクセス部21は、アプリケーション4にファイル11の最適な入出力サイズとして8メガバイトを回答する(ステップS14)。これにより、アプリケーション4は、入出力サイズを8メガバイトとしてファイル11の入出力を行う。そして、アプリケーション4からファイルの入出力要求を受け取ったファイル入出力部23は、ファイル管理部22を使用して、データの入出力を行う(ステップS15)。
別の動作例として、ホスト1で動作するアプリケーション4が、新規にファイル12を作成してデータを入出力する場合を説明する。まず、アプリケーション4は、ファイル入出力部23に、新規ファイル12の作成を要求する。ファイル入出力部23はファイルの作成をファイル管理部22に要求する。ファイル管理部22は、ファイル12の配置されるソフトウェアRAIDをソフトウェアRAID110と決定し、ファイルシステム10へのファイル12の作成を行う。また、図4に示すファイル配置情報20の更新を行う。
次に、アプリケーション4は、上述同様に、入出力最適化情報アクセス部21に対し、ファイル12の最適な入出力サイズの問い合わせを行う。入出力最適化情報アクセス部21は、問い合わせを受け付けて、そのファイル12がどのソフトウェアRAIDに配置されているのかを、ファイル管理部22に問い合わせる。すると、ファイル管理部22は、図4に示すファイル配置情報20を読み取り、ファイル12が配置されているソフトウェアRAIDとしてソフトウェアRAID110を取得し、入出力最適化情報アクセス部21に応答する。
次に、入出力最適化情報アクセス部21は、図5に示す入出力最適化情報テーブル31からソフトウェアRAID110を検索し、その結果として最適な入出力サイズとして5メガバイトを得る。最後に、入出力最適化情報アクセス部21は、アプリケーション4にファイル12の最適な入出力サイズとして5メガバイトを回答し、アプリケーション4は入出力サイズを5メガバイトとしてファイル12の入出力を行う。アプリケーション4からファイルの入出力要求を受け取ったファイル入出力部23は、ファイル管理部22を使用して、データの入出力を行う。
次に、さらに、別の動作例として、ホスト1で動作するアプリケーション4が、ファイル13の削除を行う場合を説明する。まず、アプリケーション4は、ファイル入出力部23に、ファイル13の削除を要求する。ファイル入出力部23は、ファイルの削除をファイル管理部22に要求する。すると、ファイル管理部22は、図5に示すファイル配置情報20からファイル13の情報を削除するとともに、ファイルシステム10からファイル13の削除を行う。
以上のように、本実施形態によると、複数のディスク装置、つまり、複数のソフトウェアRAIDで構成された単一のファイルシステムについて、各ファイルが格納されているソフトウェアRAIDごとの最適な入出力サイズを設定できる。そして、アプリケーションによるファイルの入出力の際には、当該アプリケーションが、入出力を行うファイルが格納されている各ソフトウェアRAIDに最適な入出力サイズを取得できるため、最適なサイズでのデータの入出力を行うことができ、データ入出力の高速化を図ることができる。
ここで、上記では、入出力最適化情報テーブル31に、各ソフトウェアRAIDの最適な入出力サイズを算出して記憶する場合を例示したが、予め各ソフトウェアRAID毎に設定された入出力サイズが、入出力最適化情報テーブル31に記憶されていてもよい。
<実施形態2>
次に、本発明の第2の実施形態を、図10を参照して説明する。図10は、実施形態2におけるホストコンピュータの構成を示す図である。
本実施形態では、ファイルシステムがソフトウェアRAIDを使用せず構成されており、つまり、ハードウェアにてRAID構成されている。この場合に、ファイルシステムの作成や拡張を行う際に、ディスク装置にアクセスして、ディスク装置のハードウェアRAID構成などの構成情報を取得することにより、最適な入出力サイズを自動的に設定する。
具体的には、本実施形態におけるホストコンピュータ1は、上述した実施形態1の図1に示す構成に加えて、入出力最適化情報計算部26を備えている。この入出力最適化情報計算部26は、予め設定されて記憶されているディスク装置のハードウェアRAID構成などの情報に基づいて、そのディスク装置への最適な入出力サイズを計算する機能を持つ。例えば、ファイルシステム作成部25は、ファイルシステムの作成要求または拡張要求を受け付けると、入出力最適化情報設定部24を呼び出す。そして、入出力最適化情報設定部24は、ディスク装置アクセス機構6にアクセスし、ディスク装置のハードウェアRAID構成などの情報を取得する。このとき、取得するハードウェアRAID情報は、例えば、上述同様に、予め設定されているストライピングサイズとストライピング数である。次に、入出力最適化情報設定部24は、入出力最適化情報計算部26を呼び出し、各ハードウェアRAIDにおけるストライピングサイズとストライピング数とを乗算して、当該ハードウェアRAIDに最適な入出力サイズを計算する。そして、上述同様に、入出力最適化情報アクセス部21を使用して、入出力最適化情報テーブル31にハードウェアRAIDごとに最適な入出力サイズをそれぞれ記憶しておく。
なお、上記入出力最適化情報テーブル31には、予め各ハードウェアRAID毎に設定された入出力サイズが記憶されていてもよい。
<実施形態3>
次に、本発明の第3の実施形態を説明する。本実施形態では、上述した図5に示す入出力最適化情報テーブル31に、さらに、各ソフトウェアRAID(あるいはハードウェアRAID)毎に、予め設定された並列度情報を記憶している。この並列度情報とは、例えば、各ソフトウェアRAIDに対して複数の入出力を並列に実行する際において、同時に並列に入出力できるデータ数である。
そして、本実施形態では、上述したファイルシステム処理部2が有する入出力最適化情報アクセス部21が、アプリケーション4からのファイル入出力に先立つ問い合わせに対して、問い合わせにかかるファイルが格納されたソフトウェアRAIDの入出力サイズと共に並列度情報を、上記入出力最適化情報テーブル31から取得する。そして、取得した入出力サイズと並列度情報を、アプリケーション4に通知する。
これにより、アプリケーションは、通知を受けた入出力サイズで、かつ、並列度の数だけ並列に、ソフトウェアRAID(あるいはハードウェアRAID)に対するデータの入出力を実行する。その結果、1つのファイルシステム内に複数のRAIDが構成されている場合であっても、各RAIDに対するデータ入出力の最適化を図ることができ、データ入出力のさらなる高速化を図ることができる。
ここで、上記では、ファイルシステムが構成されているホストとアプリケーションが実行されるホストを同一のものとして説明したが、ネットワークファイルシステム(NFS)などの複数ホストで単一のファイルシステムを共有するようなファイルシステムに対しても実施可能である。
また、上記では、入出力最適化情報テーブル31の内容は、ファイルシステムが作成または拡張されるときに自動的に設定される場合を説明したが、ホスト1の管理者が、入出力最適化情報設定部24を使用して手動で設定することも可能である。
本発明は、アプリケーションサーバやファイルサーバなど、ファイルシステムを有するコンピュータに利用可能であり、産業上の利用可能性を有する。
ホストコンピュータの構成を示す機能ブロック図である。 ファイルシステムの構成を示すブロック図である。 ファイルシステムへのファイルの記憶例を示す図である。 ファイル配置情報の一例を示す図である。 入出力最適化情報テーブルの一例を示す図である。 ホストコンピュータにおけるファイルシステムの制御時の動作を示すフローチャートである。 ホストコンピュータにおけるファイルシステムの制御時の動作を示すフローチャートである。 入出力サイズの決定についての説明図である。 入出力サイズの決定についての説明図である。 実施形態2におけるホストコンピュータの構成を示す図である。
符号の説明
1 ホストコンピュータ
2 ファイルシステム処理部
3 メモリ
4 アプリケーション
5 ソフトウェアRAID機構
6 ディスク装置アクセス機構
7 ディスク装置
10 ファイルシステム
11,12,13 ファイル
20 ファイル配置情報
21 入出力最適化情報アクセス部
22 ファイル管理部
23 ファイル入出力部
24 入出力最適化情報設定部
25 ファイルシステム作成部
26 入出力最適化情報計算部
100,110,120 ソフトウェアRAID

Claims (10)

  1. ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御装置であって、
    予め設定された前記各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルと、
    前記各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付手段と、
    前記ファイル特定情報に基づいて当該ファイルが記憶される前記ディスクアレイを特定するディスクアレイ特定手段と、
    前記特定されたディスクアレイの前記入出力サイズを前記入出力データテーブルから取得すると共に、当該取得した入出力サイズを前記ファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得手段と、
    を備えたことを特徴とするファイルシステム制御装置。
  2. 前記各ディスクアレイの予め設定された構成情報を取得する構成情報取得手段と、
    前記取得した構成情報に基づいて前記各ディスクアレイの前記入出力サイズを算出する入出力サイズ算出手段と、
    前記算出した前記入出力サイズを、前記各ディスクアレイ毎に前記入出力データテーブルに記憶する入出力データ記憶手段と、
    を備えたことを特徴とするファイルシステム制御装置。
  3. 前記RAID構成されたディスクアレイは、ハードウェアあるいはソフトウェアにてRAID構成されている、
    ことを特徴とする請求項1又は2記載のファイルシステム制御装置。
  4. 前記構成情報取得手段は、前記各ディスクアレイのストライピングサイズとストライピング数とを前記構成情報として取得し、
    前記入出力サイズ算出手段は、前記ストライピングサイズと前記ストライピング数との積を整数倍した値を、前記入出力サイズとして算出する、
    ことを特徴とする請求項2又は3記載のファイルシステム制御装置。
  5. 前記入出力サイズ算出手段は、前記ストライピングサイズと前記ストライピング数との積の値を、前記入出力サイズとして設定する、
    ことを特徴とする請求項4記載のファイルシステム制御装置。
  6. 前記入出力データテーブルは、前記各ディスクアレイに対して同時に入出力できる入出力データ数を表す予め設定された並列度情報を記憶しており、
    前記入出力データ取得手段は、前記ディスクアレイ特定手段にて特定されたディスクアレイの前記入出力サイズ及び前記並列度情報を前記入出力データテーブルから取得すると共に、当該取得した入出力サイズ及び並列度情報を前記ファイル特定情報を受け付けたアプリケーションに通知する、
    ことを特徴とする請求項1,2,3,4又は5記載のファイルシステム制御装置。
  7. ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御装置に、
    前記各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付手段と、
    前記ファイル特定情報に基づいて当該ファイルが記憶される前記ディスクアレイを特定するディスクアレイ特定手段と、
    予め設定された前記各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルから、前記特定されたディスクアレイの前記入出力サイズを取得すると共に、当該取得した入出力サイズを前記ファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得手段と、
    を実現させるためのプログラム。
  8. 前記ファイルシステム制御装置に、
    前記各ディスクアレイの予め設定された構成情報を取得する構成情報取得手段と、
    前記取得した構成情報に基づいて前記各ディスクアレイの前記入出力サイズを算出する入出力サイズ算出手段と、
    前記算出した前記入出力サイズを、前記各ディスクアレイ毎に前記入出力データテーブルに記憶する入出力データ記憶手段と、
    をさらに実現させるための請求項7記載のプログラム。
  9. ディスク装置に対してデータを分散して記憶するようRAID構成されたディスクアレイを複数備えたファイルシステムに対する入出力を制御するファイルシステム制御方法であって、
    前記各ディスクアレイに対して入出力されるファイルを特定するファイル特定情報を所定のアプリケーションから受け付けるファイル特定情報受付工程と、
    前記ファイル特定情報に基づいて当該ファイルが記憶される前記ディスクアレイを特定するディスクアレイ特定工程と、
    予め設定された前記各ディスクアレイに対するデータの入出力サイズを記憶する入出力データテーブルから、前記特定されたディスクアレイの前記入出力サイズを取得すると共に、当該取得した入出力サイズを前記ファイル特定情報を受け付けたアプリケーションに通知する入出力データ取得工程と、
    を有することを特徴とするファイルシステム制御方法。
  10. 前記各ディスクアレイの予め設定された構成情報を取得する構成情報取得工程と、
    前記取得した構成情報に基づいて前記各ディスクアレイの前記入出力サイズを算出する入出力サイズ算出工程と、
    前記算出した前記入出力サイズを、前記各ディスクアレイ毎に前記入出力データテーブルに記憶する入出力データ記憶工程と、
    を有することを特徴とする請求項9記載のファイルシステム制御方法。
JP2008055779A 2008-03-06 2008-03-06 ファイルシステム制御装置 Expired - Fee Related JP5125624B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008055779A JP5125624B2 (ja) 2008-03-06 2008-03-06 ファイルシステム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008055779A JP5125624B2 (ja) 2008-03-06 2008-03-06 ファイルシステム制御装置

Publications (2)

Publication Number Publication Date
JP2009211584A true JP2009211584A (ja) 2009-09-17
JP5125624B2 JP5125624B2 (ja) 2013-01-23

Family

ID=41184639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008055779A Expired - Fee Related JP5125624B2 (ja) 2008-03-06 2008-03-06 ファイルシステム制御装置

Country Status (1)

Country Link
JP (1) JP5125624B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328759A (ja) * 1995-05-29 1996-12-13 Mitsubishi Electric Corp 入出力処理システム
JPH08335146A (ja) * 1995-06-07 1996-12-17 Mitsubishi Electric Corp ディスクシステム変更方式
JPH11203055A (ja) * 1998-01-09 1999-07-30 Alps Electric Co Ltd ディスクアレイ装置
JP2001290681A (ja) * 2000-04-05 2001-10-19 Nec Corp ファイルデータ格納装置及び方法並びに記録媒体
JP2003521759A (ja) * 1999-05-03 2003-07-15 3ウェア カンパニー ミラーリング・ディスク・アレイのための方法およびシステム
JP2005322020A (ja) * 2004-05-10 2005-11-17 Hitachi Ltd ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328759A (ja) * 1995-05-29 1996-12-13 Mitsubishi Electric Corp 入出力処理システム
JPH08335146A (ja) * 1995-06-07 1996-12-17 Mitsubishi Electric Corp ディスクシステム変更方式
JPH11203055A (ja) * 1998-01-09 1999-07-30 Alps Electric Co Ltd ディスクアレイ装置
JP2003521759A (ja) * 1999-05-03 2003-07-15 3ウェア カンパニー ミラーリング・ディスク・アレイのための方法およびシステム
JP2001290681A (ja) * 2000-04-05 2001-10-19 Nec Corp ファイルデータ格納装置及び方法並びに記録媒体
JP2005322020A (ja) * 2004-05-10 2005-11-17 Hitachi Ltd ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNH200100115003; 関戸一紀、水野聡: 'RAID高速化技術 RAID BOOSTER' 東芝レビュー 第54巻 第12号 第54巻 第12号, 19991201, P.13-17, 株式会社東芝 *
JPN6011038340; 関戸一紀、水野聡: 'RAID高速化技術 RAID BOOSTER' 東芝レビュー 第54巻 第12号 第54巻 第12号, 19991201, P.13-17, 株式会社東芝 *

Also Published As

Publication number Publication date
JP5125624B2 (ja) 2013-01-23

Similar Documents

Publication Publication Date Title
US11082206B2 (en) Layout-independent cryptographic stamp of a distributed dataset
JP6019513B2 (ja) 記憶リソースを共有する方法およびシステム
JP6544386B2 (ja) ストレージ制御装置、ストレージ制御プログラムおよびストレージシステム
RU2658886C1 (ru) Способ управления файлами, распределенная система хранения и узел управления
US20240004834A1 (en) Directory structure for a distributed storage system
US11847098B2 (en) Metadata control in a load-balanced distributed storage system
JP7467593B2 (ja) リソース割振り方法、記憶デバイス、および記憶システム
CN110908609B (zh) 一种磁盘处理的方法、系统、设备及可读存储介质
JP6211631B2 (ja) ボリューム複製を目的としたワークロードの特定およびバッファのサイズ設定
JP2005322020A (ja) ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法
WO2016157274A1 (ja) ストレージ管理計算機
JP2008033500A (ja) 計算機、計算機システム、及びディスクイメージ配布方法
JP2019191951A (ja) 情報処理システム及びボリューム割当て方法
JP6115575B2 (ja) データセット多重度変更装置、サーバ、データセット多重度変更方法、およびコンピュータ・プログラム
US11188258B2 (en) Distributed storage system
JP4838054B2 (ja) ディスクアレイ装置及びその負荷分散方法
US10768844B2 (en) Internal striping inside a single device
JP5125624B2 (ja) ファイルシステム制御装置
JP2011070464A (ja) 計算機システム及び計算機システムの性能管理方法
KR101754713B1 (ko) 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법
JP2004157644A (ja) ディスクサブシステム、計算機システム、それを管理するためのストレージ管理方法、および、管理プログラム
US11853317B1 (en) Creating replicas using queries to a time series database
JP7021742B2 (ja) 情報処理装置、情報処理方法、プログラム
JP6650850B2 (ja) 計算装置および計算方法
JP2019128699A (ja) ファイル管理システム、ファイル管理方法、ファイル配置決定装置、ファイル配置決定方法、及びプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120405

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120712

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121015

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees