JP3776769B2 - File server system and control method thereof - Google Patents

File server system and control method thereof Download PDF

Info

Publication number
JP3776769B2
JP3776769B2 JP2001240725A JP2001240725A JP3776769B2 JP 3776769 B2 JP3776769 B2 JP 3776769B2 JP 2001240725 A JP2001240725 A JP 2001240725A JP 2001240725 A JP2001240725 A JP 2001240725A JP 3776769 B2 JP3776769 B2 JP 3776769B2
Authority
JP
Japan
Prior art keywords
directory
file
file server
lookup operation
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.)
Expired - Fee Related
Application number
JP2001240725A
Other languages
Japanese (ja)
Other versions
JP2003050733A (en
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001240725A priority Critical patent/JP3776769B2/en
Publication of JP2003050733A publication Critical patent/JP2003050733A/en
Application granted granted Critical
Publication of JP3776769B2 publication Critical patent/JP3776769B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は仮想ファイルシステムを提供するためのファイルサーバシステムおよびその制御方法に関する。
【0002】
【従来の技術】
近年、分散ファイルシステムに代表されるように、複数のサーバにデータを分散して記憶するシステムが開発されている。このような分散ファイルシステムにはいくつかの実現方法あり、それは集中管理方式と分散管理方式とに大別される。
【0003】
集中管理方式は、例えば特開平10−3421号公報にも記載されているように、分散ファイルシステムのすべてのデータの所在を一つの管理サーバにて一元管理する方法である。一方、分散管理方式は複数のサーバそれぞれに管理情報を持たせる方式である。
【0004】
前者は制御が簡単である反面、管理サーバにクライアントからのアクセスが集中することになるため、その管理サーバがボトルネックとなって十分なシステム性能を期待することができない。また、もしも管理サーバに障害が発生すると、全ての管理情報が失われてしまい、これによってシステムのサービスが停止されてしまうことになる。
【0005】
これに対し、後者の方法は、複数のサーバそれぞれに管理情報が配置されているので、アクセスの集中が無くなり、また同一データのコピーを複数のサーバで持ち合うことで耐障害性を向上させることができる。しかし、管理情報およびデータに関する一貫性保持のための特別な仕組みを実装することが必要となり、特に、あるファイルサーバが故障したときや、新たに追加されたファイルサーバへのデータや管理情報の設定などを考慮すると、大規模な分散データベースシステムで使用されているような、チェックポイント、トランザクションのログ管理、ロールフォーワード等といった複雑な障害回復制御が必要とされることになる。
【0006】
【発明が解決しようとする課題】
ところで、最近ではオフィス等においてもネットワーク化が進められているので、低コストで且つ十分な性能を持つ分散ファイルシステムの開発が必要とされている。もちろん、この場合でもシステムの可用性を犠牲にすることはできず、システムを停止することなく、サーバの故障やサーバの動的な追加等に柔軟に対応できるようにすることが要求される。
【0007】
本発明は上述の事情を考慮してなされたものであり、一貫性保持のための複雑な制御を用いることなく、しかもサーバの故障やサーバの動的な追加等にも柔軟に対応することが可能な高可用性のファイルサーバシステムおよびその制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、互いに協調して動作する複数のファイルサーバを有し、前記複数のファイルサーバそれぞれのローカルファイルシステムを1つの仮想ファイルシステムとしてクライアントに提供するファイルサーバシステムにおいて、前記各ファイルサーバは、ディレクトリ名から当該ディレクトリに対応する管理情報を参照するためのルックアップ操作要求をクライアントから受けた際、自ファイルサーバ上に構築されている、前記複数のファイルサーバそれぞれのローカルファイルシステムの要素と前記仮想ファイルシステムのディレクトリツリーの要素との対応関係を示す対応付け情報を参照し、前記ルックアップ操作要求で指定されたディレクトリが前記対応付け情報で管理されている場合、前記対応付け情報に基づいて前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を前記クライアントに提供する手段と、前記ルックアップ操作要求で指定されたディレクトリが前記対応付け情報で管理されていない場合、前記自ファイルサーバのローカルファイルシステムから前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を取得するためのルックアップ操作を実行すると共に、前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を他の各ファイルサーバに問い合わせるルックアップ操作手段と、前記ルックアップ操作手段によって得られた管理情報を前記クライアントに提供する手段と、前記ルックアップ操作手段によって得られた管理情報を前記対応付け情報に反映することによって前記対応付け情報を構築する手段と、前記ルックアップ操作手段による前記問い合わせ結果に基づき、前記自ファイルサーバのローカルファイルシステムに存在するディレクトリツリーを補完する補完手段であって、前記ルックアップ操作要求で指定されたディレクトリに関する管理情報が前記自ファイルサーバのローカルファイルシステムから取得されず、且つ前記問い合わせによって他のファイルサーバから取得された場合、当該ディレクトリを前記自ファイルサーバのローカルファイルシステムに新規作成する手段を含む補完手段とを具備することを特徴とする。
【0009】
このファイルサーバシステムにおいては、あるファイルサーバがクライアントからのルックアップ操作要求を受け付けると、そのファイルサーバは、自ファイルサーバ上に構築されている対応付け情報でルックアップ操作要求で指定されたディレクトリが管理されている場合は、対応付け情報に基づいて前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を前記クライアントに提供し、また管理されていない場合には、ルックアップ操作要求で指定されたディレクトリに関する管理情報を取得するためのルックアップ操作を自身のローカルファイルシステムに対して実行するのみならず、そのルックアップ操作要求で指定されたディレクトリに関する管理情報を他の各ファイルサーバに問い合わせる。これにより、自身のローカルファイルシステムの内容が障害等によって不十分な状態であっても、ルックアップ操作という通常のファイルシステムに設けられた一般的な操作のみで、必要な情報を他のファイルサーバから取得することが出来る。また、クライアントからのルックアップ操作要求を受け付けたファイルサーバについては、オンデマンドでそのローカルファイルシステムのディレクトリツリーが自動的に補完(ディレクトリの追加、変更等)されていく。よって、ディレクトリツリーを変更中にあるファイルサーバが故障した場合や、空のローカルファイルシステムを持つファイルサーバが、互いに協調しているファイルサーバのグループに新たに追加されたときなどのように、いずれかのファイルサーバのローカルファイルシステムのディレクトリツリーが不完全な状態となっても、そのファイルサーバがクライアントからのルックアップ操作要求を受け付けるたびにオンデマンドで必要な環境がそのローカルファイルシステムに構築されるので、分散データベース等で用いられるロールフォワード等の複雑な方法を用いず、クライアントからファイルサーバへディレクトリのルックアップ操作が行われたときに、オンデマンドで補完するという単純な方法で、仮想ファイルシステムのディレクトリツリーをローカルファイルシステムに保持することができ、またシステムを停止することなしにサービスを継続して行うことが可能となる。また、ルックアップ操作手段によって得られた管理情報を対応付け情報に反映することで、対応付け情報も自動的に構築される。これにより、ルックアップ操作要求に対して即座に応答することが可能となると共に、障害によって対応付け情報が消失された場合でもその後のシステム運用に伴って徐々に対応付け情報を回復することが出来る。また、新たなファイルサーバを追加した場合でも、そのファイルサーバに予め対応付け情報をコピーするなどの処理は不要となる。
【0012】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図1には、本発明の一実施形態に係るファイルサーバシステムの構成が示されている。このファイルサーバシステムは複数のファイルサーバ21,22,…から構成される分散システムであり、複数のファイルサーバ21,22,…それぞれのローカルファイルシステムの内容を一つの仮想ファイルシステムとして各クライアント端末11(ただし、図1には1台のみ記載)に提供する。
【0013】
複数のファイルサーバ21,22,…の各々は、ファイルサーバシステムを構成する他のファイルサーバの存在を互いに認識しており、例えばLAN,WANなどのネットワーク10を介してメッセージ交換などを行うことにより、互いに他のフィルサーバと協調して動作する。
【0014】
ファイルサーバ21,22,…の各々には同一の機能が搭載されており、どのファイルサーバもクライアント端末11からの要求の受付けおよび処理をすることが出来るが、本例では、ファイルサーバ21,22,…の内の予め決められた1台を、クライアント端末11からの要求の受け付けおよび処理を行うマスタとして使用する場合を想定する。この場合、マスタは固定ではなく、例えばマスタに障害が発生した場合やマスタの負荷状況、あるいは他の条件によって、マスタの機能を別のファイルサーバに動的に変更することができる。現在マスタとして動作しているファイルサーバの障害発生や負荷状況などは、例えばメッセージの受け渡し等によって複数のファイルサーバ21,22,…が互いに相手の動作状態を監視することによって、他のファイルサーバが検知することが出来る。もちろん、障害発生等に関係なく、予め決められた順番でファイルサーバ21,22,…間でサイクリックにマスタを変更してもよい。また、全てのファイルサーバ21,22,…がネットワーク1上のパケットを監視し、クライアント端末11からのパケットに最初に応答したファイルサーバがマスタとして機能するといった制御を用いることもできる。
【0015】
さらに、複数のサイトにファイルサーバ21,22,…が分散配置されている場合等には、複数のファイルサーバ21,22,…それぞれが、そのサイトにおけるマスタとして動作し、当該サイトに対して要求を発行したクライアントからの要求を受付け・処理するようにしてもよい。
【0016】
いずれの場合も、複数のファイルサーバ21,22,…の各々に仮想ファイルシステムの全ての情報を持たせる必要はなく、ファイルサーバ21,22,…それぞれのローカルファイルシステム全体で1つの仮想ファイルシステムを構成すればよい。
【0017】
この場合、仮想ファイルシステムで管理されるデータの実体であるファイルについてはファイルサーバ21,22,…に分散配置されており、同一ファイルを複数のファイルサーバで持ち合うことはない。これにより、ファイルサーバ21,22,…それぞれのローカルファイルシステムの記憶資源を効率よく利用することが出来る。
【0018】
また、ファイルサーバ21,22,…それぞれのローカルファイルシステムには、そこに分散配置されているファイルを格納するためのディレクトリが少なくとも存在する。この場合、マスタについては、クライアント端末11からディレクトリ情報に関するルックアップ操作要求があったときに最新のディレクトリ情報を他のファイルサーバから取得するので、マスタのローカルファイルシステムには、自身のローカルファイルシステムに存在するファイルに関係するディレクトリのみならず、仮想ファイルシステム内の全てのディレクトリツリーが徐々に構築されていくことになる。よって、例えばマスタ以外の他のファイルサーバのローカルファイルシステムのディレクトリが障害によって不完全な状態となった場合でも、マスタが管理している情報によってそれを復元したり、また新たに追加されたファイルサーバ等に対して、マスタ機能を容易に引き継がせることなどが可能となる。さらに、マスタ以外の他の各ファイルサーバも少なくも自身のローカルファイルシステムの情報については管理しているので、マスタに障害が発生しても全ての管理情報が失われる危険はない。
【0019】
このように、本実施形態のファイルサーバシステムでは、いずれかのファイルサーバのローカルファイルシステムのディレクトリツリーが障害等によって不完全な状態となった場合には、そのディレクトリツリーの情報を他のファイルサーバのローカルファイルシステムの内容から補完(ディレクトリの追加、変更等)するという制御が用いられる。この補完は、クライアント端末11から当該ディレクトリに関する要求が発行されたときに自動的に実行される。また、このようなオンデマンド方式の補完制御の信頼性をより高めるため、本実施形態では、あるファイルサーバのローカルファイルシステムに対してディレクトリの作成・変更等を行った場合には、そのディレクトリの作成・変更を他の各ファイルサーバのローカルファイルシステムにも自動的に反映する処理が行われる。
【0020】
(ファイルサーバの構成)
次に、ファイルサーバ21,22,…それぞれの機能構成について説明する。
【0021】
ファイルサーバ21(ファイルサーバ#1)には、図示のように、リクエスト受信部211、リクエスト解析・実行手順部212、ファイルシステム213、ローカルファイルシステム214、およびディスクシステム215が設けられている。
【0022】
クライアント端末11からのルックアップ操作要求などはリクエスト受信部21を介してリクエスト解析・実行手順部212に送られ、そこで受付および処理される。ここでルックアップ操作要求とは、ディレクトリ名またはファイル名からファイルシステムが管理するそのディレクトリまたはファイルに対応する管理情報を求める要求である。このルックアップ操作要求によって実行される操作がルックアップ操作と呼ばれるものであり、これは通常のファイルシステムに一般的に備わっている操作手順である。
【0023】
リクエスト解析・実行手順部212は、例えばNFS(Network File System)等のネットワークファイルシステムにおけるサーバ機能部に相当する。このリクエスト解析・実行手順部212は、クライアント端末11からのファイルアクセス要求(ルックアップ操作要求)をリクエスト受信部211から受け、それを解析することにより実行すべきルックアップ操作を決定して、ファイルシステム213に指示する。ファイルシステム213は仮想ファイルシステムを提供するための主機能部であり、ローカルファイルシステム214を通じてディスクシステム215をアクセスしたり、他の各ファイルサーバに対する問い合わせなどを行う。ディスクシステム215には、ローカルファイルシステム214によって管理されているディレクトリツリー(ディレクトリ、ファイル、およびそれらの管理情報等)が保存されている。
【0024】
ファイルシステム213には、図示のように、仮想ファイルシステム操作部301、対応付け情報302、操作実行手順部303、および操作要求手順部304が設けられている。仮想ファイルシステム操作部301は、対応付け情報302の構築操作を初め、他のファイルサーバに存在するファイルシステムに対して操作を要求したり、他のファイルサーバに存在するファイルシステムからの要求を処理する等の手順を体系化したものであり、図示のように、第1および第2のルックアップ操作手順部(#1,#2)311,312、第1および第2のディレクトリ作成手順部(#1,#2)313,314等から構成されている。
【0025】
第1のルックアップ操作手順部(#1)311はクライアント端末11からのルックアップ操作要求を処理するための操作手順であり、また第2のルックアップ操作手順部(#1)311は他のファイルサーバからのルックアップ操作の問い合わせを処理するための操作手順である。第1のディレクトリ作成手順部(#1)313はクライアント端末11からのディレクトリ作成要求を処理するための操作手順であり、また第2のディレクトリ作成手順部(#2)314は他のファイルサーバからのディレクトリ作成要求を処理するための操作手順である。
【0026】
対応付け情報302は、仮想ファイルシステムのディレクトリツリーの各要素(ディレクトリ、ファイル)と各ファイルサーバ21,21,…それぞれのローカルファイルシステムのディレクトリツリーの各要素(ディレクトリ、ファイル)との対応関係を示す。この対応付け情報302により、仮想ファイルシステム上のどのディレクトリおよびファイルがどのファイルサーバに存在するかが管理され、ファイルサーバ21,22,…それぞれのローカルファイルシステムの内容が仮想ファイルシステムのディレクトリツリーに対応付けられることになる。対応付け情報302は、ファイルサーバ21のメモリ上に保持されている。
【0027】
操作実行手順部303は仮想ファイルシステム操作部301の機能を用いて他のファイルサーバからの要求を実行する。また操作要求手順部304は仮想ファイルシステム操作部301から他のファイルサーバへの要求を受付け、それを他のファイルサーバへ送る。
【0028】
ファイルサーバ21以外の他のファイルサーバ22,…についても上述のファイルサーバ21と同様の機能を有しており、例えばファイルサーバ22には、図示のように、リクエスト受信部411、リクエスト解析・実行手順部412、ファイルシステム413、ローカルファイルシステム414、およびディスクシステム415が設けられている。これらリクエスト受信部411、リクエスト解析・実行手順部412、ファイルシステム413、ローカルファイルシステム414、およびディスクシステム415は、それぞれ上述したリクエスト受信部211、リクエスト解析・実行手順部212、ファイルシステム213、ローカルファイルシステム214、およびディスクシステム215にそれぞれ相当する。また、ファイルシステム413に設けられた仮想ファイルシステム操作部501、対応付け情報502、操作実行手順部503、操作要求手順部504は、ファイルサーバ21における仮想ファイルシステム操作部301、対応付け情報302、操作実行手順部303、操作要求手順部304にそれぞれ相当する。
【0029】
さらに、仮想ファイルシステム操作部501に設けられている第1および第2のルックアップ操作手順部(#1,#2)511,512、第1および第2のディレクトリ作成手順部(#1,#2)513,514も、上述したファイルサーバ21における第1および第2のルックアップ操作手順部(#1,#2)311,312、第1および第2のディレクトリ作成手順部(#1,#2)313,314にそれぞれ相当する。
【0030】
(仮想ファイルシステム)
次に、本実施形態で実現される仮想ファイルシステムについて説明する。
【0031】
図2には、ファイルサーバ(#1,#2)21,22それぞれのローカルファイルシステム214,414で管理されるディレクトリツリーの各要素と仮想ファイルシステムのディレクトリツリーの各要素との関係の一例が示されている。
【0032】
ここでは、ファイルサーバ(#1)21のローカルファイルシステム214には、ルートディレクトリ“/”の直下にディレクトリ“dirA”とファイル“fileX”とが存在しており、またファイルサーバ(#2)22のローカルファイルシステム414には、ルートディレクトリ“/”の直下にディレクトリ“dirA”とファイル“fileY”が存在している場合を想定している。
【0033】
この場合、各クライアント端末11に提供される仮想ファイルシステムのディレクトリツリーは、図示のように、ファイルサーバ(#1)21およびファイルサーバ(#2)22それぞれのローカルファイルシステム214,415をマージしたものとなり、これは、図示のように、ルートディレクトリ“/”と、その直下に存在するディレクトリ“dirA”とファイル“fileX”,“fileY”とから構成される。
【0034】
マスタとして機能しているファイルサーバの対応付け情報には、このようなファイルサーバ(#1,#2)21,22それぞれのローカルファイルシステム214,414のディレクトリツリーの各要素と仮想ファイルシステムのディレクトリツリーの各要素との対応関係が管理されることになる。
【0035】
今、ファイルサーバ(#1)21がマスタであると想定すると、そのファイルサーバ(#1)21で管理される対応付け情報302の内容は図3のようになる。
【0036】
図示のように、対応付け情報302には、仮想ファイルシステムを構成するディレクトリツリーの各要素について、その種類(ディレクトリ/ファイル)、アクセス権限を示すパーミッション情報、名前(ディレクトリ名/ファイル名)、その要素が存在しているサーバ名、変更日時、および下位階層のディレクトリ名やファイル名を示す下位エントリが管理される。ルートディレクトリ“/”、ディレクトリ“dirA”、ファイル“fileX”についてはファイルサーバ(#1)21のローカルファイルシステム214に存在しているので、それらの位置は自サーバ(ファイルサーバ21)となっている。また、ファイル“fileY”についてはファイルサーバ(#2)22にのみ存在しているので、その位置はファイルサーバ#2(ファイルサーバ22)となっている。
【0037】
また、ファイルサーバ(#2)22についても、少なくともそのローカルファイルシステム414に存在するディレクトリやファイルについては対応付け情報502で管理されている。ファイルサーバ(#2)22のローカルファイルシステム414には、ルートディレクトリ“/”、ディレクトリ“dirA”、ファイル“fileY”が存在するので、それらの位置は自サーバ(ファイルサーバ22)となる。また、もしファイルサーバ(#2)22がマスタとして機能する場合には、ファイルサーバ(#1)21のみに存在するファイル“fileX”についても対応付け情報502で管理され、その位置はファイルサーバ#1(ファイルサーバ21)となる。
【0038】
(ルックアップ操作)
次に、図4を参照して、クライアント端末11からディレクトリまたはファイルのルックアップ操作要求を受け付けたファイルサーバ(マスタ)によって実行されるルックアップ操作の原理について説明する。
【0039】
図4には、本ファイルサーバシステムが3台のファイルサーバ21,22,23によって実現されており、第1のファイルサーバ(#1)21がマスタとして動作する場合を示している。今、図示のように、ファイルサーバ(#1)21のローカルファイルシステムのディレクトリツリーがルートディレクトリ“/”とその直下のディレクトリ“dirA”とファイル“fileX”とから構成されており、また、ファイルサーバ(#2)22のローカルファイルシステムのディレクトリツリーがルートディレクトリ“/”とその直下のディレクトリ“dirA”とファイル“fileY”とから構成され、ファイルサーバ(#3)23のローカルファイルシステムのディレクトリツリーがルートディレクトリ“/”とその直下のディレクトリ“dirA”とファイル“fileZ”とから構成されているとする。
【0040】
ファイルサーバ(#1)21は、通常は、クライアント端末11からのルックアップ操作要求で要求されたディレクトリやファイルの管理情報の提供や、要求されたファイルが存在するファイルサーバから当該ファイルを取得して提供するといったファイルアクセスに関するサービスを、前述の対応付け情報302を用いて行うが、対応付け情報302に該当するディレクトリやファイルが存在しない場合には、以下のようなルックアップ操作を実行する。
【0041】
例えば、ルートディレクトリ“/”の直下の管理情報を要求するルックアップ操作要求をクライアント端末11から受けると、ファイルサーバ(#1)21は、ルックアップ操作要求で指定されたディレクトリ/ファイルに関する管理情報を自ファイルサーバ21のローカルファイルシステム214から取得するためのルックアップ操作を実行すると共に、他の各ファイルサーバ22,23に対してルックアップ操作要求で指定されたディレクトリに関する管理情報を問い合わる。これにより、ファイルサーバ(#1)21は、各ファイルサーバ21,22,23それぞれの現在のローカルファイルシステムの内容を認識し、その認識結果に基づいて、自身のローカルファイルシステムにおけるディレクトリツリーの補完、および対応付け情報302の形成を行う。そして、ルートディレクトリ“/”の直下にディレクトリ“dirA”とファイル“fileX”,“fileY”,“fileZ”が存在すること、さらには各要素のパーミッション情報や更新日時などを、ルックアップ操作要求に対する応答としてクライアント端末11に返す。
【0042】
このように、マスタとして機能するファイルサーバ(#1)21においては、ルックアップ操作要求を処理するたびに、自身のローカルファイルシステムに存在するディレクトリやファイルのみならず、他のファイルサーバ22,23にのみ存在するディレクトリやファイルに関する情報についても対応付け情報302として形成されていく。
【0043】
(対応付け情報の形成処理)
ここで、通常動作時に対応付け情報がどのように構築されていくかについて具体的に説明する。
【0044】
ここでは、簡単のために本ファイルサーバシステムがファイルサーバ(#1)21とファイルサーバ(#2)22の2台によって構成されている場合を想定する。また例として、上述の場合と同様に、ファイルサーバ(#1)21のローカルファイルシステム214にはルートディレクトリ“/”とディレクトリ“dirA”、ファイル“fileX”とが存在するとし、ファイルサーバ(#2)22のローカルファイルシステムにはルートディレクトリ“/”とディレクトリ“dirA”、ファイル“fileY”とが存在するとする。また、ファイルサーバ21,22それぞれの対応付け情報302,502には、ルートディレクトリ“/”に関する情報だけが存在しているものとする。
【0045】
クライアント端末11のユーザが仮想ファイルシステムのルートディレクトリ“/”下の各エントリの情報を得ようとして、例えば“dir”等のコマンド操作を実行すると、それを示すルックアップ操作要求がクライアント端末11から発行される。このルックアップ操作要求は、現在マスタとして機能しているファイルサーバ(ここではファイルサーバ(#1)21)のリクエスト解析・実行手順部212にて受け付けられる。そして、ファイルシステム213の制御の下、そのローカルファイルシステム214を通じてディスクシステム215の内容を参照するルックアップ操作が実行されると共に、ファイルサーバ(#2)22のファイルシステム413に対してルックアップ操作を実行させるための問い合わせが発行される。
【0046】
これにより、自ファイルサーバ(#1)21のローカルファイルシステム214からはルートディレクトリ“/”の直下に存在するディレクトリ“dirA”とファイル“fileX”に関する情報が得られ、またファイルサーバ(#2)22のファイルシステム413からは、そのルートディレクトリ“/”直下に存在するディレクトリ“dirA”とファイル“fileY”に関する情報が得られる。これら情報を基にファイルシステム213では対応付け情報302の形成が行われ、図3で説明した様な構成の対応付け情報302が構築される。そして、ファイルシステム213は、対応付け情報302に基づいて仮想ファイルシステムのルートディレクトリ“/”直下の各エントリの情報を認識し、それをリクエスト解析・実行手順部212を通じて要求元のクライアント端末11に返す。
【0047】
なお、このような他のファイルサーバへの問い合わせ等の処理は、前述したように、クライアント端末11からのルックアップ操作要求で要求されたディレクトリの情報が対応付け情報302に存在しない場合にのみ行えばよい。つまり、クライアント端末11からのルックアップ操作要求で要求されたエントリの情報が対応付け情報302に存在する場合には、マスタは、その対応付け情報302からルックアップ操作要求で要求されたエントリのディレクトリ/ファイルに関する情報を認識して、それを即座にクライアント端末11に返却することが出来る。
【0048】
また、他のファイルサーバへの問い合わせによってファイルサーバ(#1)21のローカルファイルシステム214には存在しない新たなディレクトリに関する情報が得られた場合には、ファイルサーバ(#1)21のローカルファイルシステム214に当該ディレクトリを作成するといったローカルファイルの補完処理も自動的に行われる。
【0049】
(障害対策)
以上のように、本ファイルサーバシステムにおいては、クライアント端末11からのルックアップ操作要求を受け付けたファイルサーバ(マスタ)は、自身のローカルファイルシステムを参照するのみならず、他のファイルサーバに対しても問い合わせを発行し、その問い合わせ結果をもとに、自身のローカルファイルシステムにおけるディレクトリツリーの補完を行い、同時にその部分に対応するディレクトリの対応付け情報を構築していくという仕組みが用いられている。よって、一貫性保持のための特別な制御無しで、十分な可用性を実現することが出来る。
【0050】
以下、図5を参照して、障害回復に関わる処理について具体例を挙げて説明する。
【0051】
<ケース1>
ケース1は、例えばファイルサーバ(#1,#2)21,22それぞれのローカルファイルシステム214,414にディレクトリ“dirB”を作成する操作処理の実行中に、ファイルサーバ(#1)21に何らかの障害が発生し、これによりディレクトリ“dirB”がファイルサーバ(#1)21には作成されず、ファイルサーバ(#2)22にのみ作成された場合を示している。このような状況は例えば次のような場合に発生する。
【0052】
ファイルサーバ(#1,#2)21,22それぞれのローカルファイルシステム214,414に、既にルートディレクトリ“/”と、ディレクトリ“dirA”が存在していたとする。例えばファイルサーバ(#2)22がマスタとして動作し、クライアント端末11からのディレクトリ“dirB”の作成要求を受け付ける。この場合、ファイルサーバ(#2)22は自身のローカルファイルシステム414にディレクトリ“dirB”を作成した後、ファイルサーバ(#1)21にディレクトリ“dirB”の作成を要求する。このとき、もしファイルサーバ(#1)21に何らかの障害が発生すると、ファイルサーバ(#1)21のローカルファイルシステム214にはディレクトリ“dirB”は作成されない。
【0053】
ファイルサーバ(#1)21に故障が起きた後、ファイルサーバ(#1)21が再起動により無事に起動したとする。ファイルサーバ(#1)21の対応付け情報302はそのメモリ上にあるので、既に失われている。これがケース1の状況である。
【0054】
ここで、ファイルサーバ(#2)22においても、例えばディレクトリ“dirB”の作成要求に対する応答がファイルサーバ(#1)21から得られなかった等の要因により、対応付け情報502が不完全なものであると認識し、その解放を行う。対応付け情報502を解放するのは誤った管理情報等がクライアント端末11に提供されるのを未然に防止するためである。これによって、ファイルサーバ(#1,#2)21,22は共に対応付け情報を持たない状態となる。
【0055】
ファイルサーバ(#2)22のローカルファイルシステム414のディレクトリツリーは完全であるが、ファイルサーバ(#1)21のローカルファイルシステム214は不完全な状態となっている。これを本実施形態ではルックアップ操作時に回復する。
【0056】
クライアント端末11からのルックアップ操作要求によってルートディレクトリ“/”の直下のディレクトリ情報、またはディレクトリ“dirB”に関するディレクトリ情報が要求され、その要求がファイルサーバ(#1)21によって受け付けられたとする。この場合、ファイルサーバ(#1)21が新たなマスタとして動作していることが前提となるが、これは、例えば、再起動されたファイルサーバが常に自身をマスタとして機能させるといった簡単な制御等で容易に実現できる。なお、ファイルサーバ(#1)21が再起動された直後のルックアップ操作要求でディレクトリツリーを回復する必要はなく、ファイルサーバ(#1)21が後にマスタとなってルックアップ操作要求を受け付けた時点で、回復処理が実行されればよい。
【0057】
ルートディレクトリ“/”の直下のディレクトリ情報、またはディレクトリ“dirB”に関するディレクトリ情報を要求するルックアップ操作要求を受け付ると、ファイルサーバ(#1)21は、自ファイルサーバのローカルファイルシステム214に対してルックアップ操作を行うと共に、ファイルサーバ(#2)22に問い合わせを行う。これにより、ファイルサーバ(#1)21は、自ファイルサーバのローカルファイルシステム214のディレクトリツリーと、ファイルサーバ(#2)22のローカルファイルシステム414のディレクトリツリーとから、ルートディレクトリ“/”直下のディレクトリ情報や、ディレクトリ“dirB”に関するディレクトリ情報を認識する。そして、ファイルサーバ(#1)21は、自ファイルサーバのローカルファイルシステム214にディレクトリ“dirB”を新規作成すると共に、それに合わせて対応付け情報302を生成する。これにより、ファイルサーバ(#1)21のローカルファイルシステム214の内容が正常な状態に補完されると共に、失われた対応付け情報302も回復される。
【0058】
<ケース2>
ケース2は、ファイルサーバ(#1)21が新たに追加されたり、あるいは障害等によってローカルファイルシステムの全ての情報が失われた後の動作を示している。
【0059】
クライアント端末11からのルックアップ操作要求によってルートディレクトリ“/”直下のディレクトリ情報、またはディレクトリ“dirA”あるいは“dirB”に関するディレクトリ情報が要求され、その要求がファイルサーバ(#1)21によって受け付けられたとする。
【0060】
ファイルサーバ(#1)21は、ファイルサーバ(#2)22のローカルファイルシステムのディレクトリツリーから、ルートディレクトリ“/”直下のディレクトリ情報や、ディレクトリ“dirA”,ディレクトリ“dirB”に関するディレクトリ情報を認識する。そして、ファイルサーバ(#1)21は、自ファイルサーバのローカルファイルシステムに該当するディレクトリを作成する。これにより、ルートディレクトリ“/”直下のディレクトリ情報が要求された場合にはディレクトリ“dirA”およびディレクトリ“dirB”がそれぞれ作成され、またディレクトリ“dirA”あるいはディレクトリ“dirB”に関するディレクトリ情報が要求された場合には、その都度、該当するディレクトリ“dirA”あるいは“dirB”が回復されることになる。同様にして、対応付け情報302の内容も回復されていく。
【0061】
<ケース3>
ケース3は、ファイルサーバ(#1,#2)21,22それぞれのローカルファイルシステムに存在しているディレクトリ“dirA”のパーミッション等に関する属性の更新操作処理の実行中などにおいてファイルサーバ(#1)21に何らかの障害が発生し、これによりディレクトリ“dirA”の属性の更新がファイルサーバ(#2)22についてのみ行われ、ファイルサーバ(#1)21についてはディレクトリ“dirA”の属性の更新が行われなかった場合を示している。
【0062】
クライアント端末11からのルックアップ操作要求によってルートディレクトリ“/”直下のディレクトリ情報、またはディレクトリ“dirB”に関するディレクトリ情報が要求され、その要求がファイルサーバ(#1)21によって受け付けられたとする。
【0063】
ファイルサーバ(#1)21は、自ファイルサーバのローカルファイルシステムのディレクトリツリーと、ファイルサーバ(#2)22のローカルファイルシステムのディレクトリツリーとから、ディレクトリ“dirA”に関するディレクトリ情報を自ファイルサーバおよびファイルサーバ(#2)22それぞれのローカルファイルシステムから取得する。そして、ファイルサーバ(#1)21は、2つの情報から更新日時が新しいものを選ぶ。本例ではファイルサーバ(#2)22の情報が新しい(大きい値を新しいとする)ので、この情報をローカルファイルシステム上の“dirA”に設定する。それと同時にこの情報をもとに対応付け情報302を更新する。以上で、ローカルファイルシステム内の“dirA”の属性が最新の内容に更新され、同時に対応付け情報302も更新される。
【0064】
(ディレクトリに関するルックアップ操作手順)
次に、図6および図7のフローチャートを参照して、クライアント端末11からのディレクトリに関するルックアップ操作要求に応答して実行されるルックアップ操作手順の具体例について説明する。
【0065】
図6はクライアント端末11からのルックアップ操作要求を受け付けたファイルサーバ(#1)21(マスタ)によって実行されるルックアップ操作の手順を示している。
例えば、ディレクトリ“dirA”に関するルックアップ操作要求がクライアント端末11から発行されると、それがファイルサーバ(#1)21のリクエスト受信部211によって受け付けられ、そしてリクエスト解析・実行手順部212を介してファイルシステム213にルックアップ操作要求の内容が伝えられる(ステップS101)。ファイルシステム213のルックアップ操作手順部311は、まず、操作実行手順部303を通じて自ファイルサーバ21のローカルファイルシステム214にアクセスし、要求されたディレクトリ“dirA”がローカルファイルシステム214に存在するか否かを判断する(ステップS102)。
【0066】
要求されたディレクトリ“dirA”がローカルファイルシステム214に存在する場合(ステップS102のYES)、ルックアップ操作手順部311は、操作実行手順部303を通じてローカルファイルシステム214からディレクトリ“dirA”に関するディレクトリ情報を取得する。この後、ルックアップ操作手順部311は、操作要求手順部304を通じてディレクトリ“dirA”に関するディレクトリ情報の問い合わせを他の各ファイルサーバそれぞれに発行し、その問い合わせに対する応答に基づいて、他の各ファイルサーバに該当するディレクトリ“dirA”が存在するか否かを判断する(ステップS104)。
【0067】
存在する場合には(ステップS104のYES)、ルックアップ操作手順部311は、ディレクトリ“dirA”がローカルファイルシステムに存在している他の各ファイルサーバからそのディレクトリ“dirA”に関する情報を取得する(ステップS105)。そして、ルックアップ操作手順部311は、ステップS103で自ファイルサーバのローカルファイルシステム214から取得したディレクトリ情報の更新日時と、ステップS105で他の各ファイルサーバから取得したディレクトリ情報それぞれの更新日時とを比較することにより、本ファイルサーバで管理されているディレクトリ“dirA”に関するディレクトリ情報の内で最新のディレクトリ情報を選択する(ステップS106)。もし、自ファイルサーバのローカルファイルシステム214から取得したディレクトリ“dirA”のディレクトリ情報が最新であれば、自ファイルサーバのローカルファイルシステム214の補完処理は行われないが、ディレクトリ“dirA”の最新のディレクトリ情報が他のファイルサーバから取得された場合には、自ファイルサーバのローカルファイルシステム214におけるディレクトリ“dirA”のディレクトリ情報にその内容を反映する処理が行われ、これによりローカルファイルシステム214の補完処理が実行される(ステップS107)。
【0068】
この後、ルックアップ操作手順部311は、ステップS106で選択したディレクトリ“dirA”に関する最新のディレクトリ情報の内容を対応付け情報302に反映する(ステップS108)。
【0069】
一方、ディレクトリ“dirA”が自ファイルサーバのローカルファイルシステム214にのみ存在し、他のファイルサーバには存在しない場合には(ステップS104のNO)、ステップS103で自ファイルサーバのローカルファイルシステム214から取得したディレクトリ“dirA”に関するディレクトリ情報の内容を、対応付け情報302に反映する処理が実行される(ステップS108)。
【0070】
また、クライアント端末11から要求されたディレクトリ“dirA”が自ファイルサーバのローカルファイルシステム214に存在しない場合(ステップS102のNO)、ルックアップ操作手順部311は、操作要求手順部304を通じてディレクトリ“dirA”に関するディレクトリ情報の問い合わせを他の各ファイルサーバそれぞれに発行し、その問い合わせに対する応答に基づいて、他の各ファイルサーバに該当するディレクトリ“dirA”が存在するか否かを判断する(ステップS109)。
【0071】
存在する場合には(ステップS109のYES)、ルックアップ操作手順部311は、ディレクトリ“dirA”がローカルファイルシステムに存在している他の各ファイルサーバからそのディレクトリ“dirA”に関する情報を取得する(ステップS110)。そして、ルックアップ操作手順部311は、他のファイルサーバそれぞれから取得したディレクトリ情報の更新日時同士を比較することにより、最新のディレクトリ情報を選択する(ステップS111)。そして、選択した最新のディレクトリ情報に基づき、自ファイルサーバのローカルファイルシステム214にディレクトリ“dirA”を作成した後(ステップS112)、ルックアップ操作手順部311は、ディレクトリ“dirA”に関するディレクトリ情報の内容を対応付け情報302に反映する(ステップS108)。
【0072】
このように、ディレクトリ“dirA”に関するディレクトリ情報を対応付け情報302に反映することにより、要求された最新のディレクトリ情報を要求元のクライアント端末11に返すことが可能となる。
【0073】
図7はマスタからの問い合わせを受けた他の各ファイルサーバによって実行されるルックアップ操作を示している。
【0074】
例えばファイルサーバ(#2)22を例示して説明すると、マスタからのディレクトリ情報の問い合わせ要求がファイルサーバ(#2)22のリクエスト受信部411によって受け付けられ、そしてリクエスト解析・実行手順部412を介してファイルシステム413にルックアップ操作要求の内容が伝えられる(ステップS121)。ファイルシステム413のルックアップ操作手順部512は、まず、操作実行手順部503を通じて自ファイルサーバ(#2)22のローカルファイルシステム414にアクセスし、要求されたディレクトリ“dirA”がローカルファイルシステム414に存在するか否かを判断する(ステップS122)。ディレクトリ“dirA”がローカルファイルシステム414に存在しない場合には(ステップS122のNO)、ルックアップ操作手順部512は処理を終了する。一方、存在する場合には(ステップS122のYES)、ルックアップ操作手順部512は操作実行手順部503を通じてローカルファイルシステム414からディレクトリ“dirA”に関するディレクトリ情報を取得し(ステップS123)、それを要求元のマスタに送信する(ステップS124)。
【0075】
以上の手順は、マスタ以外の全てのファイルサーバそれぞれによって実行される。
【0076】
(ファイルに関するルックアップ操作手順)
次に、図8および図9のフローチャートを参照して、ファイルに関するルックアップ操作要求に応答して実行されるルックアップ操作の具体例について説明する。
【0077】
図8はクライアント端末11からのルックアップ操作要求を受け付けたファイルサーバ(#1)21(マスタ)によって実行されるルックアップ操作を示している。
所定のファイルに関するルックアップ操作要求がクライアント端末11から発行されると、それがファイルサーバ(#1)21のリクエスト受信部211によって受け付けられ、そしてリクエスト解析・実行手順部212を介してファイルシステム213にルックアップ操作要求の内容が伝えられる(ステップS201)。ファイルシステム213のルックアップ操作手順部311は、まず、操作実行手順部303を通じて自ファイルサーバ21のローカルファイルシステム214にアクセスし、要求されたファイルがローカルファイルシステム214に存在するか否かを判断する(ステップS202)。
【0078】
要求されたファイルがローカルファイルシステム214に存在する場合(ステップS202のYES)、ルックアップ操作手順部311は、操作実行手順部303を通じてローカルファイルシステム214から当該ファイルに関する情報を取得し(ステップS203)、その取得したファイル情報に基づいて対応付け情報302の更新を実行する(ステップS204)。
【0079】
一方、要求されたファイルがローカルファイルシステム214に存在しない場合には(ステップS202のNO)、ルックアップ操作手順部311は、操作要求手順部304を通じて当該要求されたファイルに関する問い合わせを他の各ファイルサーバそれぞれに発行し、その問い合わせに対する応答に基づいて、他のファイルサーバに当該ファイルを存在するか否かを判断する(ステップS205)。
【0080】
存在する場合には(ステップS205のYES)、ルックアップ操作手順部311は、そのファィルに関する情報を当該他のファイルサーバから取得し(ステップS205)、その取得したファイル情報に基づいて対応付け情報302の更新を実行する(ステップS204)。
【0081】
このように、要求されたファイルに関する情報を対応付け情報302に反映することにより、要求されたファイルの情報を要求元のクライアント端末11に返すことが可能となる。なお、そのファイルの取得が要求された場合には、対応付け情報302によって当該ファイルの所在が分かるので、マスタは、そのファイルを有するファイルサーバのローカルファイルシステムから当該ファイルを取得し、それをクライアント端末11に返すことができる。
【0082】
図9はマスタからの問い合わせを受けた他の各ファイルサーバによって実行されるファイルに関するルックアップ操作を示している。
【0083】
例えば、ファイルサーバ(#2)22を例示して説明すると、マスタ(ファイルサーバ(#1)21)からのディレクトリ情報の問い合わせ要求がファイルサーバ(#2)22のリクエスト受信部411によって受け付けられ、そしてリクエスト解析・実行手順部412を介してファイルシステム413にルックアップ操作要求の内容が伝えられる(ステップS211)。ファイルシステム413のルックアップ操作手順部512は、まず、操作実行手順部503を通じて自ファイルサーバ22のローカルファイルシステム414にアクセスし、要求されたファイルがローカルファイルシステム414に存在するか否かを判断する(ステップS122)。要求されたファイルがローカルファイルシステム414に存在しない場合には(ステップS212のNO)、ルックアップ操作手順部512は処理を終了する。一方、存在する場合には(ステップS212のYES)、ルックアップ操作手順部512は操作実行手順部503を通じてローカルファイルシステム414から当該ファイルに関する情報を取得し(ステップS213)、それを要求元のマスタに送信する(ステップS214)。
【0084】
以上の手順は、マスタ以外の全てのファイルサーバそれぞれによって実行される。
【0085】
(ディレクトリ作成時の手順)
次に、図10および図11のフローチャートを参照して、ディレクトリ作成時に実行される処理について説明する。
【0086】
図10はクライアント端末11からのディレクトリ作成要求を受け付けたファイルサーバ(#1)21(マスタ)によって実行されるディレクトリ作成手順を示している。
例えばディレクトリ“dirB”の作成要求がクライアント端末11から発行されると、それがファイルサーバ(#1)21のリクエスト受信部211によって受け付けられ、そしてリクエスト解析・実行手順部212を介してファイルシステム213に対してその要求の内容が伝えられる(ステップS301)。ファイルシステム213のディレクトリ作成手順部313は、まず、操作実行手順部303を通じて自ファイルサーバ21のローカルファイルシステム214に対してディレクトリ“dirB”の作成を要求して、ディレクトリ“dirB”をディスクシステム215上に作成する(ステップS302)。次いで、ディレクトリ作成手順部313は、ローカルファイルシステム214に新たに作成したディレクトリ“dirB”に関する情報を対応付け情報302に反映した後(ステップS303)、操作要求手順部304を通じてディレクトリ“dirB”の作成要求を他の各ファイルサーバそれぞれに発行する(ステップS304)。
【0087】
図11はマスタからの要求を受けた他の各ファイルサーバによって実行されるディレクトリ作成手順を示している。
【0088】
例えば、ファイルサーバ(#2)22を例示して説明すると、マスタからのディレクトリ“dirB”の作成要求がファイルサーバ(#2)22のリクエスト受信部411によって受け付けられ、そしてリクエスト解析・実行手順部412を介してファイルシステム413に要求の内容が伝えられる(ステップS311)。ファイルシステム413のディレクトリ作成手順部514は、まず、操作実行手順部503を通じて自ファイルサーバ(#2)22のローカルファイルシステム414に対してディレクトリ“dirB”の作成を要求して、ディレクトリ“dirB”をディスクシステム415上に作成する(ステップS312)。次いで、ディレクトリ作成手順部514は、ローカルファイルシステム414に新たに作成したディレクトリ“dirB”に関する情報を対応付け情報502に反映した後(ステップS304)、処理を終了する。
【0089】
以上の手順は、マスタ以外の全てのファイルサーバそれぞれによって実行される。
【0090】
なお、ディレクトリの作成のみならず、ディレクトリの属性変更やディレクトリの削除等がクライアント端末11から要求された場合も、その要求を受け付けたファイルサーバから他のファイルサーバそれぞれに対して同様の要求が発行され、すべてのファイルサーバのローカルファイルシステムに反映されると共に、それらの対応付け情報の更新が行われる。
【0091】
以上のように、本実施形態のファイルサーバシステムによれば、クライアント端末11からディレクトリツリーのルックアップ操作要求を受け付けたファイルサーバが、自身のローカルファイルシステムを参照するのみならず、他の全てのファイルサーバから当該ディレクトリツリーに関する情報を取得して、自身のローカルファイルシステムの補完、さらには対応付け情報の形成を行うので、オンデマンドでローカルファイルシステムおよび対応付け情報の構築を行うことが可能となる。
【0092】
なお、各ファイルサーバ21,22,…に設けた機能は全てコンピュータプログラムによって実現されているので、そのコンピュータプログラムをコンピュータ読み取り可能な記憶媒体に記憶しておき、その記憶媒体をファイルサーバシステムを構成する各サーバコンピュータに導入して実行させるだけで、本実施形態と同様の機能を容易に実現することが可能となる。
【0093】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。例えば、上記実施形態においては、複数のファイルサーバ21,22,…の内でマスタとして機能しているファイルサーバのローカルファイルシステムのみを補完する場合について説明したが、マスタは、他の各ファイルサーバのローカルファイルシステムの内容を問い合わせによって認識できるので、そのときにマスタからの明示的な指示で他のファイルサーバそれぞれのローカルファイルシステムの補完を実行させるようにしても良い。
【0094】
更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0095】
【発明の効果】
以上説明したように、本発明によれば、簡単な制御で、しかもファイルサーバの故障やファイルサーバの動的な追加等に柔軟に対応することが可能なファイルサーバシステムを実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るファイルサーバシステムの構成を示すブロック図。
【図2】同実施形態のファイルサーバシステムによって提供される仮想ファイルシステムを説明するための図。
【図3】同実施形態のファイルサーバシステムで用いられる対応付け情報の例を説明するための図。
【図4】同実施形態のファイルサーバシステムの動作原理を説明するための図。
【図5】同実施形態のファイルサーバシステムにおける障害回復処理を説明するための図。
【図6】同実施形態のクライアントからディレクトリのルックアップ操作要求を受け付けたファイルサーバによって実行されるルックアップ操作手順を示すフローチャート。
【図7】同実施形態のマスタからディレクトリに関する問い合わせを受けた他の各ファイルサーバによって実行されるルックアップ操作手順を示すフローチャート。
【図8】同実施形態のクライアントからファイルのルックアップ操作要求を受け付けたファイルサーバによって実行されるルックアップ操作手順を示すフローチャート。
【図9】同実施形態のマスタからファイルに関する問い合わせを受けた他の各ファイルサーバによって実行されるルックアップ操作手順を示すフローチャート。
【図10】同実施形態のクライアントからディレクトリ作成要求を受け付けたファイルサーバによって実行されるディレクトリ作成手順を示すフローチャート。
【図11】同実施形態のマスタからディレクトリ作成要求を受け付けた他の各ファイルサーバによって実行されるディレクトリ作成手順を示すフローチャート。
【符号の説明】
11…クライアント端末
21,22…ファイルサーバ
211,411…リクエスト受信部
212,412…リクエスト解析・実行手順部
213,413…ファイルシステム
214,414…ローカルファイルシステム
215,415…ディスクシステム
302,502…対応付け情報
303,503…操作実行手順部
304,504…操作要求手順部
311,511…第1のルックアップ操作手順部
312,512…第2のルックアップ操作手順部
313,513…第1のディレクトリ作成手順部
314,514…第2のディレクトリ作成手順部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a file server system for providing a virtual file system and a control method thereof.
[0002]
[Prior art]
In recent years, as represented by a distributed file system, a system for distributing and storing data in a plurality of servers has been developed. There are several implementation methods for such a distributed file system, which are roughly divided into a centralized management system and a distributed management system.
[0003]
The centralized management method is a method of centrally managing the location of all data in a distributed file system with a single management server, as described in, for example, JP-A-10-3421. On the other hand, the distributed management method is a method in which each server has management information.
[0004]
Although the former is easy to control, since access from clients is concentrated on the management server, the management server becomes a bottleneck, and sufficient system performance cannot be expected. In addition, if a failure occurs in the management server, all management information is lost, which causes system services to be stopped.
[0005]
In contrast, the latter method eliminates the concentration of access because management information is allocated to each of a plurality of servers, and improves fault tolerance by holding copies of the same data among a plurality of servers. Can do. However, it is necessary to implement a special mechanism for maintaining consistency of management information and data, especially when a file server fails or when data or management information is set to a newly added file server. In view of the above, complicated failure recovery control such as checkpoints, transaction log management, rollforward, and the like as used in a large-scale distributed database system is required.
[0006]
[Problems to be solved by the invention]
By the way, recently, networking is also being promoted in offices and the like, and therefore, it is necessary to develop a distributed file system having low cost and sufficient performance. Of course, even in this case, the availability of the system cannot be sacrificed, and it is required to be able to flexibly cope with a server failure or a dynamic addition of a server without stopping the system.
[0007]
The present invention has been made in consideration of the above-described circumstances, and can flexibly cope with a server failure or a dynamic addition of a server without using complicated control for maintaining consistency. An object of the present invention is to provide a highly available file server system and a control method thereof.
[0008]
[Means for Solving the Problems]
  In order to solve the above problems, the present invention provides a file server system having a plurality of file servers operating in cooperation with each other, and providing a local file system of each of the plurality of file servers to a client as one virtual file system. In each of the above file servers,When a lookup operation request for referring to the management information corresponding to the directory from the directory name is received from the client, the local file system elements of each of the plurality of file servers, With reference to the association information indicating the correspondence relationship with the elements of the directory tree of the virtual file system, when the directory specified in the lookup operation request is managed by the association information, based on the association information Means for providing management information relating to the directory specified in the lookup operation request to the client; and the directory specified in the lookup operation request is not managed in the association information,A lookup operation for acquiring management information related to the directory specified in the lookup operation request from the local file system of the local file server is executed, and the management information related to the directory specified in the lookup operation request Lookup operation means for inquiring each file server,Means for providing management information obtained by the lookup operation means to the client; means for constructing the association information by reflecting the management information obtained by the lookup operation means in the association information; , Based on the inquiry result by the lookup operation means,Complementing means for complementing a directory tree existing in the local file system of the file serverWhen the management information related to the directory specified by the lookup operation request is not acquired from the local file system of the local file server and is acquired from another file server by the inquiry, the directory is Complementary means including means for creating a new file server local file systemIt is characterized by comprising.
[0009]
  In this file server system, when a file server receives a lookup operation request from a client, the file serverWhen the directory specified in the lookup operation request is managed by the association information constructed on the local file server, management information related to the directory specified in the lookup operation request is stored based on the association information. If provided to the client and not managed,In addition to executing the lookup operation for acquiring the management information related to the directory specified in the lookup operation request on its own local file system, other management information related to the directory specified in the lookup operation request is also stored. Queries each of the file servers. As a result, even if the contents of its own local file system are inadequate due to a failure or the like, the necessary information can be transferred to another file server only by a general operation provided in the normal file system called a lookup operation. Can be obtained from In addition, for the file server that has received the lookup operation request from the client, the directory tree of the local file system is automatically complemented (addition, change, etc. of the directory) on demand. Therefore, such as when a file server that is changing the directory tree fails or when a file server with an empty local file system is newly added to a group of file servers cooperating with each other. Even if the directory tree of a file server's local file system is incomplete, every time that file server accepts a lookup operation request from a client, the required environment is built on the local file system. Therefore, a virtual file can be complemented on demand when a directory lookup operation is performed from the client to the file server without using a complicated method such as roll forward used in a distributed database. System delay Toritsuri can be held in a local file system, also it becomes possible to perform continuously the service without stopping the system.Also, the association information is automatically constructed by reflecting the management information obtained by the lookup operation means in the association information. As a result, it is possible to immediately respond to the lookup operation request, and even if the association information is lost due to a failure, the association information can be gradually recovered with the subsequent system operation. . Even when a new file server is added, processing such as copying the association information in advance to the file server is not necessary.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows the configuration of a file server system according to an embodiment of the present invention. This file server system is a distributed system composed of a plurality of file servers 21, 22,..., And each client terminal 11 uses the contents of each of the plurality of file servers 21, 22,. (However, only one unit is shown in FIG. 1).
[0013]
Each of the plurality of file servers 21, 22,... Recognizes the existence of other file servers that make up the file server system, and exchanges messages via the network 10 such as a LAN or WAN. , Operate in cooperation with other fill servers.
[0014]
Each of the file servers 21, 22,... Has the same function, and any file server can accept and process a request from the client terminal 11. In this example, the file servers 21, 22 ,... Are assumed to be used as a master for receiving and processing requests from the client terminal 11. In this case, the master is not fixed, and the function of the master can be dynamically changed to another file server, for example, when a failure occurs in the master, the load status of the master, or other conditions. A failure occurrence or load status of a file server currently operating as a master can be determined by, for example, a plurality of file servers 21, 22,. It can be detected. Of course, the master may be cyclically changed between the file servers 21, 22,... In a predetermined order regardless of the occurrence of a failure or the like. It is also possible to use such a control that all the file servers 21, 22,... Monitor the packet on the network 1, and the file server that first responds to the packet from the client terminal 11 functions as a master.
[0015]
Further, when file servers 21, 22,... Are distributed in a plurality of sites, each of the plurality of file servers 21, 22,. It is also possible to accept and process a request from the client that issued.
[0016]
In any case, it is not necessary for each of the plurality of file servers 21, 22,... To have all the information on the virtual file system, and one virtual file system for each of the file servers 21, 22,. May be configured.
[0017]
In this case, files that are data entities managed by the virtual file system are distributed and arranged in the file servers 21, 22,..., And the same file is not held by a plurality of file servers. As a result, the storage resources of the respective file servers 21, 22,... Can be used efficiently.
[0018]
Further, each of the local file systems of the file servers 21, 22,... Has at least a directory for storing files distributed and arranged there. In this case, for the master, the latest directory information is acquired from another file server when a lookup operation request regarding the directory information is received from the client terminal 11, so that the local file system of the master includes its own local file system. All directory trees in the virtual file system are gradually built up, not just the directories related to the files existing in. Therefore, even if the local file system directory of a file server other than the master is in an incomplete state due to a failure, for example, it can be restored using information managed by the master, or a newly added file It is possible to easily take over the master function for a server or the like. Further, since each file server other than the master manages at least information on its own local file system, there is no risk that all management information will be lost even if a failure occurs in the master.
[0019]
As described above, in the file server system according to the present embodiment, when a directory tree of a local file system of any file server becomes incomplete due to a failure or the like, information on the directory tree is transferred to another file server. The control of complementing (adding or changing directories, etc.) from the contents of the local file system is used. This complementation is automatically executed when a request for the directory is issued from the client terminal 11. In order to further improve the reliability of such on-demand complementary control, in this embodiment, when a directory is created or changed for a local file system of a file server, the directory A process of automatically reflecting the creation / change in the local file system of each other file server is performed.
[0020]
(File server configuration)
Next, the functional configuration of each of the file servers 21, 22,.
[0021]
The file server 21 (file server # 1) is provided with a request reception unit 211, a request analysis / execution procedure unit 212, a file system 213, a local file system 214, and a disk system 215, as shown.
[0022]
A lookup operation request or the like from the client terminal 11 is sent to the request analysis / execution procedure unit 212 via the request reception unit 21, and is received and processed there. Here, the lookup operation request is a request for obtaining management information corresponding to the directory or file managed by the file system from the directory name or file name. The operation executed by this lookup operation request is called a lookup operation, which is an operation procedure that is generally provided in a normal file system.
[0023]
The request analysis / execution procedure unit 212 corresponds to a server function unit in a network file system such as NFS (Network File System). The request analysis / execution procedure unit 212 receives a file access request (lookup operation request) from the client terminal 11 from the request reception unit 211 and analyzes the request to determine a lookup operation to be executed. Instruct the system 213. The file system 213 is a main functional unit for providing a virtual file system, and accesses the disk system 215 through the local file system 214 and makes inquiries to other file servers. The disk system 215 stores a directory tree (directories, files, management information thereof, etc.) managed by the local file system 214.
[0024]
As shown, the file system 213 includes a virtual file system operation unit 301, association information 302, an operation execution procedure unit 303, and an operation request procedure unit 304. The virtual file system operation unit 301 starts an operation for constructing the association information 302, requests an operation to a file system existing in another file server, or processes a request from a file system existing in another file server. The first and second lookup operation procedure parts (# 1, # 2) 311 and 312 and the first and second directory creation procedure parts ( # 1, # 2) 313, 314, etc.
[0025]
The first lookup operation procedure part (# 1) 311 is an operation procedure for processing a lookup operation request from the client terminal 11, and the second lookup operation procedure part (# 1) 311 This is an operation procedure for processing an inquiry about a lookup operation from a file server. The first directory creation procedure part (# 1) 313 is an operation procedure for processing a directory creation request from the client terminal 11, and the second directory creation procedure part (# 2) 314 is sent from another file server. This is an operation procedure for processing a directory creation request.
[0026]
The association information 302 indicates the correspondence between each element (directory, file) of the directory tree of the virtual file system and each element (directory, file) of the directory tree of each file server 21, 21,... Show. This association information 302 manages which directory and file on the virtual file system exist in which file server, and the contents of the local file systems of the file servers 21, 22,... Are stored in the directory tree of the virtual file system. It will be associated. The association information 302 is held on the memory of the file server 21.
[0027]
The operation execution procedure unit 303 executes a request from another file server using the function of the virtual file system operation unit 301. The operation request procedure unit 304 receives a request from the virtual file system operation unit 301 to another file server, and sends it to the other file server.
[0028]
The other file servers 22 other than the file server 21 have the same function as the above-described file server 21. For example, the file server 22 includes a request receiving unit 411, request analysis / execution as shown in the figure. A procedure unit 412, a file system 413, a local file system 414, and a disk system 415 are provided. The request receiving unit 411, the request analysis / execution procedure unit 412, the file system 413, the local file system 414, and the disk system 415 are respectively the request reception unit 211, the request analysis / execution procedure unit 212, the file system 213, and the local system. It corresponds to the file system 214 and the disk system 215, respectively. Further, the virtual file system operation unit 501, the association information 502, the operation execution procedure unit 503, and the operation request procedure unit 504 provided in the file system 413 are the virtual file system operation unit 301, association information 302, It corresponds to the operation execution procedure part 303 and the operation request procedure part 304, respectively.
[0029]
Furthermore, first and second lookup operation procedure units (# 1, # 2) 511, 512 provided in the virtual file system operation unit 501 and first and second directory creation procedure units (# 1, #) 2) 513 and 514 are also the first and second lookup operation procedure sections (# 1, # 2) 311 and 312 in the file server 21 described above, and the first and second directory creation procedure sections (# 1, #). 2) Corresponds to 313 and 314, respectively.
[0030]
(Virtual file system)
Next, a virtual file system realized in this embodiment will be described.
[0031]
FIG. 2 shows an example of the relationship between each element of the directory tree managed by the local file systems 214 and 414 of the file servers (# 1, # 2) 21 and 22 and each element of the directory tree of the virtual file system. It is shown.
[0032]
Here, in the local file system 214 of the file server (# 1) 21, a directory “dirA” and a file “fileX” exist immediately below the root directory “/”, and the file server (# 2) 22 It is assumed that the local file system 414 includes a directory “dirA” and a file “fileY” immediately below the root directory “/”.
[0033]
In this case, the directory tree of the virtual file system provided to each client terminal 11 merges the local file systems 214 and 415 of the file server (# 1) 21 and the file server (# 2) 22 as shown in the figure. As shown in the figure, this is composed of a root directory “/”, a directory “dirA” and files “fileX” and “fileY” immediately below it.
[0034]
The association information of the file server functioning as the master includes each element of the directory tree of the local file systems 214 and 414 of the file servers (# 1, # 2) 21 and 22 and the directory of the virtual file system. The correspondence with each element of the tree is managed.
[0035]
Now, assuming that the file server (# 1) 21 is a master, the contents of the association information 302 managed by the file server (# 1) 21 are as shown in FIG.
[0036]
As shown in the figure, the association information 302 includes, for each element of the directory tree constituting the virtual file system, the type (directory / file), permission information indicating access authority, name (directory name / file name), The server name in which the element exists, the modification date and time, and the lower entries indicating the directory name and file name of the lower hierarchy are managed. Since the root directory “/”, the directory “dirA”, and the file “fileX” exist in the local file system 214 of the file server (# 1) 21, their positions are the own server (file server 21). Yes. Further, since the file “fileY” exists only in the file server (# 2) 22, the position thereof is the file server # 2 (file server 22).
[0037]
As for the file server (# 2) 22, at least directories and files existing in the local file system 414 are managed by the association information 502. Since the root directory “/”, the directory “dirA”, and the file “fileY” exist in the local file system 414 of the file server (# 2) 22, their positions are the own server (file server 22). Further, if the file server (# 2) 22 functions as a master, the file “fileX” existing only in the file server (# 1) 21 is also managed by the association information 502, and the location is the file server #. 1 (file server 21).
[0038]
(Lookup operation)
Next, the principle of the lookup operation executed by the file server (master) that has received the directory or file lookup operation request from the client terminal 11 will be described with reference to FIG.
[0039]
FIG. 4 shows a case where this file server system is realized by three file servers 21, 22, and 23, and the first file server (# 1) 21 operates as a master. As shown in the figure, the directory tree of the local file system of the file server (# 1) 21 is composed of a root directory “/”, a directory “dirA” immediately below it, and a file “fileX”. The directory tree of the local file system of the server (# 2) 22 is composed of a root directory “/”, a directory “dirA” and a file “fileY” immediately below it, and a directory of the local file system of the file server (# 3) 23 It is assumed that the tree is composed of a root directory “/”, a directory “dirA” immediately below it, and a file “fileZ”.
[0040]
The file server (# 1) 21 normally provides management information for the directory and file requested by the lookup operation request from the client terminal 11, and obtains the file from the file server where the requested file exists. A service related to file access such as providing is provided using the association information 302 described above. If there is no directory or file corresponding to the association information 302, the following lookup operation is executed.
[0041]
For example, when a lookup operation request for requesting management information directly under the root directory “/” is received from the client terminal 11, the file server (# 1) 21 manages information regarding the directory / file specified by the lookup operation request. Is searched for from the local file system 214 of the own file server 21, and the management information regarding the directory specified by the lookup operation request is inquired to each of the other file servers 22 and 23. . As a result, the file server (# 1) 21 recognizes the contents of the current local file system of each of the file servers 21, 22, and 23, and complements the directory tree in its own local file system based on the recognition result. And the association information 302 are formed. Then, the directory “dirA” and the files “fileX”, “fileY”, “fileZ” exist immediately below the root directory “/”, and the permission information and the update date / time of each element for the lookup operation request. It returns to the client terminal 11 as a response.
[0042]
As described above, in the file server (# 1) 21 functioning as the master, every time the lookup operation request is processed, not only the directory and file existing in its own local file system, but also the other file servers 22 and 23. Information relating to directories and files existing only in the file is also formed as association information 302.
[0043]
(Correspondence information formation process)
Here, how the association information is constructed during the normal operation will be specifically described.
[0044]
Here, for the sake of simplicity, it is assumed that the present file server system is configured by two files server (# 1) 21 and file server (# 2) 22. As an example, as in the case described above, it is assumed that the local file system 214 of the file server (# 1) 21 includes a root directory “/”, a directory “dirA”, and a file “fileX”, and the file server (# 2) Assume that the local file system 22 includes a root directory “/”, a directory “dirA”, and a file “fileY”. Further, it is assumed that only the information related to the root directory “/” exists in the association information 302 and 502 of the file servers 21 and 22, respectively.
[0045]
When the user of the client terminal 11 tries to obtain information on each entry under the root directory “/” of the virtual file system and executes a command operation such as “dir”, for example, a lookup operation request indicating that is sent from the client terminal 11. publish. This lookup operation request is accepted by the request analysis / execution procedure unit 212 of the file server (here, the file server (# 1) 21) currently functioning as a master. Under the control of the file system 213, a lookup operation for referring to the contents of the disk system 215 is executed through the local file system 214, and the lookup operation is performed on the file system 413 of the file server (# 2) 22. A query is issued to execute
[0046]
As a result, the local file system 214 of the local file server (# 1) 21 obtains information on the directory “dirA” and the file “fileX” that are immediately below the root directory “/”, and the file server (# 2). The file system 413 of 22 obtains information on the directory “dirA” and the file “fileY” that exist immediately below the root directory “/”. Based on these pieces of information, the file system 213 forms the association information 302, and the association information 302 having the configuration described with reference to FIG. 3 is constructed. Then, the file system 213 recognizes information of each entry immediately under the root directory “/” of the virtual file system based on the association information 302, and sends it to the requesting client terminal 11 through the request analysis / execution procedure unit 212. return.
[0047]
Note that processing such as inquiry to other file servers is performed only when the directory information requested by the lookup operation request from the client terminal 11 does not exist in the association information 302 as described above. Just do it. That is, when the information of the entry requested by the lookup operation request from the client terminal 11 exists in the association information 302, the master stores the directory of the entry requested by the lookup operation request from the association information 302. / Recognizes information about a file and can immediately return it to the client terminal 11.
[0048]
In addition, when information about a new directory that does not exist in the local file system 214 of the file server (# 1) 21 is obtained by an inquiry to another file server, the local file system of the file server (# 1) 21 Completion processing of the local file such as creating the directory in 214 is automatically performed.
[0049]
(Failure measures)
As described above, in this file server system, the file server (master) that has received the lookup operation request from the client terminal 11 refers not only to its own local file system but also to other file servers. Also uses a mechanism that issues a query, complements the directory tree in its local file system based on the query result, and builds the directory mapping information corresponding to that part at the same time. . Therefore, sufficient availability can be realized without special control for maintaining consistency.
[0050]
Hereinafter, with reference to FIG. 5, processing related to failure recovery will be described with a specific example.
[0051]
<Case 1>
In case 1, for example, the file server (# 1) 21 has some trouble during the execution of the operation process for creating the directory “dirB” in the local file systems 214 and 414 of the file servers (# 1 and # 2) 21 and 22, respectively. Thus, the directory “dirB” is not created in the file server (# 1) 21 but is created only in the file server (# 2) 22. Such a situation occurs, for example, in the following case.
[0052]
It is assumed that the root directory “/” and the directory “dirA” already exist in the local file systems 214 and 414 of the file servers (# 1 and # 2) 21 and 22, respectively. For example, the file server (# 2) 22 operates as a master and accepts a request for creating the directory “dirB” from the client terminal 11. In this case, the file server (# 2) 22 creates the directory “dirB” in its own local file system 414 and then requests the file server (# 1) 21 to create the directory “dirB”. At this time, if any failure occurs in the file server (# 1) 21, the directory “dirB” is not created in the local file system 214 of the file server (# 1) 21.
[0053]
Assume that after a failure occurs in the file server (# 1) 21, the file server (# 1) 21 is successfully started up by restarting. Since the association information 302 of the file server (# 1) 21 is on that memory, it has already been lost. This is the case 1 situation.
[0054]
Here, in the file server (# 2) 22 as well, the correspondence information 502 is incomplete due to factors such as the response to the request for creating the directory “dirB” not being obtained from the file server (# 1) 21. And release it. The association information 502 is released in order to prevent erroneous management information and the like from being provided to the client terminal 11 beforehand. As a result, both the file servers (# 1, # 2) 21, 22 have no association information.
[0055]
The directory tree of the local file system 414 of the file server (# 2) 22 is complete, but the local file system 214 of the file server (# 1) 21 is in an incomplete state. In the present embodiment, this is recovered during the lookup operation.
[0056]
It is assumed that directory information directly under the root directory “/” or directory information related to the directory “dirB” is requested by a lookup operation request from the client terminal 11, and the request is accepted by the file server (# 1) 21. In this case, it is assumed that the file server (# 1) 21 is operating as a new master. This is, for example, simple control in which the restarted file server always functions as a master. Can be realized easily. Note that it is not necessary to restore the directory tree with a lookup operation request immediately after the file server (# 1) 21 is restarted, and the file server (# 1) 21 later accepted the lookup operation request as a master. At that time, the recovery process may be executed.
[0057]
When receiving the lookup operation request for requesting the directory information immediately under the root directory “/” or the directory information related to the directory “dirB”, the file server (# 1) 21 sends to the local file system 214 of the own file server. A lookup operation is performed on the file server and an inquiry is made to the file server (# 2) 22. As a result, the file server (# 1) 21 is directly under the root directory “/” from the directory tree of the local file system 214 of its own file server and the directory tree of the local file system 414 of the file server (# 2) 22. Recognizes directory information and directory information related to the directory “dirB”. Then, the file server (# 1) 21 creates a new directory “dirB” in the local file system 214 of the own file server, and generates the association information 302 accordingly. As a result, the contents of the local file system 214 of the file server (# 1) 21 are complemented to a normal state, and the lost association information 302 is also recovered.
[0058]
<Case 2>
Case 2 shows an operation after the file server (# 1) 21 is newly added or all information of the local file system is lost due to a failure or the like.
[0059]
It is assumed that directory information directly under the root directory “/” or directory information related to the directory “dirA” or “dirB” is requested by the lookup operation request from the client terminal 11 and the request is accepted by the file server (# 1) 21. To do.
[0060]
The file server (# 1) 21 recognizes directory information directly under the root directory “/” and directory information regarding the directories “dirA” and “dirB” from the directory tree of the local file system of the file server (# 2) 22. To do. Then, the file server (# 1) 21 creates a directory corresponding to the local file system of the own file server. As a result, when the directory information directly under the root directory “/” is requested, the directory “dirA” and the directory “dirB” are respectively created, and the directory information related to the directory “dirA” or the directory “dirB” is requested. In each case, the corresponding directory “dirA” or “dirB” is recovered. Similarly, the contents of the association information 302 are recovered.
[0061]
<Case 3>
Case 3 is the case where the file server (# 1) is being executed while the attribute update operation processing relating to the permission of the directory “dirA” existing in the local file system of each of the file servers (# 1, # 2) 21 and 22 is being executed. 21 causes some trouble, and the attribute of the directory “dirA” is updated only for the file server (# 2) 22, and the attribute of the directory “dirA” is updated for the file server (# 1) 21. The case where it was not shown is shown.
[0062]
It is assumed that directory information directly under the root directory “/” or directory information related to the directory “dirB” is requested by a lookup operation request from the client terminal 11, and the request is accepted by the file server (# 1) 21.
[0063]
The file server (# 1) 21 obtains directory information regarding the directory “dirA” from the local file system directory tree of the self file server and the local file system directory tree of the file server (# 2) 22 and the self file server and Obtained from each local file system of the file server (# 2) 22. Then, the file server (# 1) 21 selects the one with the latest update date / time from the two pieces of information. In this example, since the information of the file server (# 2) 22 is new (assuming a large value is new), this information is set to “dirA” on the local file system. At the same time, the association information 302 is updated based on this information. As described above, the attribute “dirA” in the local file system is updated to the latest content, and the association information 302 is also updated at the same time.
[0064]
(Directory lookup procedure)
Next, a specific example of the lookup operation procedure executed in response to the lookup operation request regarding the directory from the client terminal 11 will be described with reference to the flowcharts of FIGS. 6 and 7.
[0065]
FIG. 6 shows the procedure of the lookup operation executed by the file server (# 1) 21 (master) that has accepted the lookup operation request from the client terminal 11.
For example, when a lookup operation request regarding the directory “dirA” is issued from the client terminal 11, it is received by the request reception unit 211 of the file server (# 1) 21, and via the request analysis / execution procedure unit 212. The contents of the lookup operation request are transmitted to the file system 213 (step S101). The lookup operation procedure unit 311 of the file system 213 first accesses the local file system 214 of the own file server 21 through the operation execution procedure unit 303, and determines whether or not the requested directory “dirA” exists in the local file system 214. Is determined (step S102).
[0066]
When the requested directory “dirA” exists in the local file system 214 (YES in step S102), the lookup operation procedure unit 311 obtains directory information regarding the directory “dirA” from the local file system 214 through the operation execution procedure unit 303. get. Thereafter, the lookup operation procedure unit 311 issues an inquiry about directory information related to the directory “dirA” to each of the other file servers through the operation request procedure unit 304, and each of the other file servers based on a response to the inquiry. It is determined whether or not the directory “dirA” corresponding to the above exists (step S104).
[0067]
If it exists (YES in step S104), the lookup operation procedure unit 311 acquires information on the directory “dirA” from each of the other file servers in which the directory “dirA” exists in the local file system ( Step S105). Then, the lookup operation procedure unit 311 obtains the update date / time of the directory information acquired from the local file system 214 of the own file server in step S103 and the update date / time of each directory information acquired from each other file server in step S105. By comparing, the latest directory information is selected from the directory information related to the directory “dirA” managed by the file server (step S106). If the directory information of the directory “dirA” acquired from the local file system 214 of the local file server is the latest, the complementary processing of the local file system 214 of the local file server is not performed, but the latest of the directory “dirA” is not performed. When the directory information is obtained from another file server, a process for reflecting the contents of the directory information of the directory “dirA” in the local file system 214 of the local file server is performed, thereby complementing the local file system 214. Processing is executed (step S107).
[0068]
Thereafter, the lookup operation procedure unit 311 reflects the contents of the latest directory information regarding the directory “dirA” selected in step S106 in the association information 302 (step S108).
[0069]
On the other hand, when the directory “dirA” exists only in the local file system 214 of the own file server and does not exist in the other file servers (NO in step S104), the local file system 214 of the own file server in step S103. A process of reflecting the contents of the directory information regarding the acquired directory “dirA” in the association information 302 is executed (step S108).
[0070]
When the directory “dirA” requested from the client terminal 11 does not exist in the local file system 214 of the own file server (NO in step S102), the lookup operation procedure unit 311 passes the directory “dirA” through the operation request procedure unit 304. Is issued to each of the other file servers, and based on the response to the inquiry, it is determined whether the directory “dirA” corresponding to each of the other file servers exists (step S109). .
[0071]
If it exists (YES in step S109), the lookup operation procedure unit 311 acquires information on the directory “dirA” from each of the other file servers in which the directory “dirA” exists in the local file system ( Step S110). Then, the lookup operation procedure unit 311 selects the latest directory information by comparing the update dates and times of the directory information acquired from each of the other file servers (step S111). Then, after creating the directory “dirA” in the local file system 214 of the own file server based on the selected latest directory information (step S112), the lookup operation procedure unit 311 includes the contents of the directory information related to the directory “dirA”. Is reflected in the association information 302 (step S108).
[0072]
In this way, by reflecting the directory information relating to the directory “dirA” in the association information 302, it is possible to return the requested latest directory information to the client terminal 11 that made the request.
[0073]
FIG. 7 shows a lookup operation executed by each other file server that has received an inquiry from the master.
[0074]
For example, the file server (# 2) 22 will be described as an example. A directory information inquiry request from the master is received by the request reception unit 411 of the file server (# 2) 22, and the request analysis / execution procedure unit 412 is used. Then, the contents of the lookup operation request are transmitted to the file system 413 (step S121). The lookup operation procedure unit 512 of the file system 413 first accesses the local file system 414 of the own file server (# 2) 22 through the operation execution procedure unit 503, and the requested directory “dirA” is transferred to the local file system 414. It is determined whether or not it exists (step S122). If the directory “dirA” does not exist in the local file system 414 (NO in step S122), the lookup operation procedure unit 512 ends the process. On the other hand, if it exists (YES in step S122), the lookup operation procedure unit 512 acquires directory information regarding the directory “dirA” from the local file system 414 through the operation execution procedure unit 503 (step S123), and requests it. Transmit to the original master (step S124).
[0075]
The above procedure is executed by each of all file servers other than the master.
[0076]
(Lookup procedure for file)
Next, a specific example of the lookup operation executed in response to the lookup operation request regarding the file will be described with reference to the flowcharts of FIGS. 8 and 9.
[0077]
FIG. 8 shows a lookup operation executed by the file server (# 1) 21 (master) that has accepted the lookup operation request from the client terminal 11.
When a lookup operation request relating to a predetermined file is issued from the client terminal 11, it is accepted by the request reception unit 211 of the file server (# 1) 21, and the file system 213 is passed through the request analysis / execution procedure unit 212. The contents of the lookup operation request are transmitted to (step S201). The lookup operation procedure unit 311 of the file system 213 first accesses the local file system 214 of the own file server 21 through the operation execution procedure unit 303 to determine whether the requested file exists in the local file system 214. (Step S202).
[0078]
When the requested file exists in the local file system 214 (YES in step S202), the lookup operation procedure unit 311 acquires information about the file from the local file system 214 through the operation execution procedure unit 303 (step S203). Then, the association information 302 is updated based on the acquired file information (step S204).
[0079]
On the other hand, when the requested file does not exist in the local file system 214 (NO in step S202), the lookup operation procedure unit 311 makes an inquiry about the requested file through the operation request procedure unit 304 to each of the other files. Based on the response to the inquiry issued to each server, it is determined whether or not the file exists in another file server (step S205).
[0080]
If it exists (YES in step S205), the lookup operation procedure unit 311 acquires information about the file from the other file server (step S205), and the association information 302 is based on the acquired file information. Is updated (step S204).
[0081]
As described above, by reflecting the information on the requested file in the association information 302, it is possible to return the requested file information to the client terminal 11 that is the request source. When the acquisition of the file is requested, the location of the file is known by the association information 302, so the master acquires the file from the local file system of the file server having the file, and stores it in the client It can be returned to the terminal 11.
[0082]
FIG. 9 shows a lookup operation for a file executed by each other file server that has received an inquiry from the master.
[0083]
For example, exemplifying the file server (# 2) 22, a directory information inquiry request from the master (file server (# 1) 21) is received by the request receiving unit 411 of the file server (# 2) 22, Then, the contents of the lookup operation request are transmitted to the file system 413 via the request analysis / execution procedure unit 412 (step S211). The lookup operation procedure unit 512 of the file system 413 first accesses the local file system 414 of the own file server 22 through the operation execution procedure unit 503 to determine whether the requested file exists in the local file system 414. (Step S122). If the requested file does not exist in the local file system 414 (NO in step S212), the lookup operation procedure unit 512 ends the process. On the other hand, if it exists (YES in step S212), the lookup operation procedure unit 512 acquires information about the file from the local file system 414 through the operation execution procedure unit 503 (step S213), and uses it as the requesting master. (Step S214).
[0084]
The above procedure is executed by each of all file servers other than the master.
[0085]
(Procedure for creating a directory)
Next, processing executed at the time of directory creation will be described with reference to the flowcharts of FIGS. 10 and 11.
[0086]
FIG. 10 shows a directory creation procedure executed by the file server (# 1) 21 (master) that has received a directory creation request from the client terminal 11.
For example, when a request for creating the directory “dirB” is issued from the client terminal 11, it is accepted by the request receiving unit 211 of the file server (# 1) 21, and the file system 213 is passed through the request analysis / execution procedure unit 212. The contents of the request are transmitted to (step S301). The directory creation procedure unit 313 of the file system 213 first requests the local file system 214 of the own file server 21 to create the directory “dirB” through the operation execution procedure unit 303, and creates the directory “dirB” as the disk system 215. Created above (step S302). Next, the directory creation procedure unit 313 reflects the information about the newly created directory “dirB” in the local file system 214 in the association information 302 (step S303), and then creates the directory “dirB” through the operation request procedure unit 304. A request is issued to each of the other file servers (step S304).
[0087]
FIG. 11 shows a directory creation procedure executed by each other file server that receives a request from the master.
[0088]
For example, the file server (# 2) 22 will be described as an example. A request for creating the directory “dirB” from the master is received by the request receiving unit 411 of the file server (# 2) 22, and the request analysis / execution procedure unit The contents of the request are transmitted to the file system 413 via 412 (step S311). The directory creation procedure unit 514 of the file system 413 first requests the local file system 414 of the own file server (# 2) 22 to create the directory “dirB” through the operation execution procedure unit 503, and then creates the directory “dirB”. Is created on the disk system 415 (step S312). Next, the directory creation procedure unit 514 reflects the information about the directory “dirB” newly created in the local file system 414 in the association information 502 (step S304), and ends the process.
[0089]
The above procedure is executed by each of all file servers other than the master.
[0090]
When the client terminal 11 requests not only directory creation but also directory attribute change or directory deletion, the same request is issued from the file server that has accepted the request to each of the other file servers. This is reflected in the local file systems of all the file servers, and the corresponding information is updated.
[0091]
As described above, according to the file server system of the present embodiment, the file server that has received the directory tree lookup operation request from the client terminal 11 not only refers to its own local file system, but also to all other file systems. Since information about the directory tree is acquired from the file server and complemented with its own local file system, as well as association information is formed, it is possible to construct a local file system and association information on demand. Become.
[0092]
The functions provided in each file server 21, 22,... Are all realized by a computer program. Therefore, the computer program is stored in a computer-readable storage medium, and the storage medium constitutes a file server system. The functions similar to those of the present embodiment can be easily realized simply by being introduced into each server computer and executed.
[0093]
Further, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. For example, in the above embodiment, a case has been described in which only the local file system of a file server functioning as a master among a plurality of file servers 21, 22,... Is supplemented. Since the contents of the local file system can be recognized by an inquiry, the local file system of each of the other file servers may be complemented by an explicit instruction from the master at that time.
[0094]
Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention Can be obtained as an invention.
[0095]
【The invention's effect】
As described above, according to the present invention, it is possible to realize a file server system that can flexibly cope with a failure of a file server, a dynamic addition of a file server, etc. with simple control. Become.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a file server system according to an embodiment of the present invention.
FIG. 2 is an exemplary view for explaining a virtual file system provided by the file server system according to the embodiment;
FIG. 3 is an exemplary view for explaining an example of association information used in the file server system of the embodiment.
FIG. 4 is an exemplary view for explaining an operation principle of the file server system according to the embodiment;
FIG. 5 is a view for explaining failure recovery processing in the file server system of the embodiment;
FIG. 6 is an exemplary flowchart illustrating a lookup operation procedure which is executed by the file server which has received a directory lookup operation request from the client according to the embodiment;
FIG. 7 is an exemplary flowchart illustrating a lookup operation procedure which is executed by each other file server which has received a directory inquiry from the master according to the embodiment;
FIG. 8 is an exemplary flowchart illustrating a lookup operation procedure which is executed by the file server which has received a file lookup operation request from the client according to the embodiment;
FIG. 9 is an exemplary flowchart illustrating a lookup operation procedure which is executed by each other file server which has received an inquiry about a file from the master according to the embodiment;
FIG. 10 is an exemplary flowchart illustrating a directory creation procedure which is executed by the file server which has received a directory creation request from the client according to the embodiment;
FIG. 11 is an exemplary flowchart illustrating a directory creation procedure which is executed by each other file server which has received a directory creation request from the master according to the embodiment;
[Explanation of symbols]
11 ... Client terminal
21, 22 ... File server
211, 411 ... Request receiver
212, 412 ... Request analysis / execution procedure part
213, 413 ... File system
214, 414 ... Local file system
215, 415 ... Disk system
302, 502 ... association information
303, 503 ... Operation execution procedure part
304, 504 ... Operation request procedure part
311, 511... First lookup operation procedure part
312, 512... Second lookup operation procedure part
313, 513 ... First directory creation procedure part
314, 514 ... Second directory creation procedure part

Claims (7)

互いに協調して動作する複数のファイルサーバを有し、前記複数のファイルサーバそれぞれのローカルファイルシステムを1つの仮想ファイルシステムとしてクライアントに提供するファイルサーバシステムにおいて、
前記各ファイルサーバは、
ディレクトリ名から当該ディレクトリに対応する管理情報を参照するためのルックアップ操作要求をクライアントから受けた際、自ファイルサーバ上に構築されている、前記複数のファイルサーバそれぞれのローカルファイルシステムの要素と前記仮想ファイルシステムのディレクトリツリーの要素との対応関係を示す対応付け情報を参照し、前記ルックアップ操作要求で指定されたディレクトリが前記対応付け情報で管理されている場合、前記対応付け情報に基づいて前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を前記クライアントに提供する手段と、
前記ルックアップ操作要求で指定されたディレクトリが前記対応付け情報で管理されていない場合、前記自ファイルサーバのローカルファイルシステムから前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を取得するためのルックアップ操作を実行すると共に、前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を他の各ファイルサーバに問い合わせるルックアップ操作手段と、
前記ルックアップ操作手段によって得られた管理情報を前記クライアントに提供する手段と、
前記ルックアップ操作手段によって得られた管理情報を前記対応付け情報に反映することによって前記対応付け情報を構築する手段と、
前記ルックアップ操作手段による前記問い合わせ結果に基づき、前記自ファイルサーバのローカルファイルシステムに存在するディレクトリツリーを補完する補完手段であって、前記ルックアップ操作要求で指定されたディレクトリに関する管理情報が前記自ファイルサーバのローカルファイルシステムから取得されず、且つ前記問い合わせによって他のファイルサーバから取得された場合、当該ディレクトリを前記自ファイルサーバのローカルファイルシステムに新規作成する手段を含む補完手段とを具備することを特徴とするファイルサーバシステム。
In a file server system having a plurality of file servers operating in cooperation with each other, and providing a local file system of each of the plurality of file servers as a virtual file system to a client,
Each of the file servers is
When a lookup operation request for referring to the management information corresponding to the directory from the directory name is received from the client, the local file system elements of each of the plurality of file servers, With reference to the association information indicating the correspondence relationship with the elements of the directory tree of the virtual file system, when the directory specified in the lookup operation request is managed by the association information, based on the association information Means for providing the client with management information related to the directory specified in the lookup operation request;
If the directory specified in the lookup operation request is not managed by the association information, a look for acquiring management information related to the directory specified in the lookup operation request from the local file system of the local file server. A lookup operation means for executing a lookup operation and inquiring each other file server for management information relating to the directory specified in the lookup manipulation request;
Means for providing the client with management information obtained by the lookup operation means;
Means for constructing the association information by reflecting the management information obtained by the lookup operation means in the association information;
Complementing means for complementing a directory tree existing in the local file system of the local file server based on the inquiry result by the lookup operation means, wherein management information relating to the directory specified by the lookup operation request is stored in the local file system. Supplementary means including means for newly creating the directory in the local file system of the own file server when the directory is not obtained from the local file system of the file server and obtained from another file server by the inquiry. A file server system characterized by
前記補完手段は、The supplement means is
前記ルックアップ操作要求で指定されたディレクトリの管理情報が前記自ファイルサーバのローカルファイルシステムおよび前記他のファイルサーバからそれぞれ取得されたとき、それらディレクトリの更新日時を比較することによって最新のディレクトリを決定する手段と、When the management information of the directory specified in the lookup operation request is acquired from the local file system of the local file server and the other file server, the latest directory is determined by comparing the update date and time of the directories. Means to
前記他のファイルサーバから取得されたディレクトリが最新である場合、前記自ファイルサーバのローカルファイルシステム上に存在する当該ディレクトリの属性値を、前記他のファイルサーバから取得されたディレクトリの属性値に更新する手段とを含み、When the directory acquired from the other file server is the latest, the attribute value of the directory existing on the local file system of the local file server is updated to the attribute value of the directory acquired from the other file server. Means to
前記対応付け情報を構築する手段は、The means for constructing the association information includes:
前記属性値が変更されたディレクトリに関する情報を前記対応付け情報に反映させる手段を含むことを特徴とする請求項1記載のファイルサーバシステム。2. The file server system according to claim 1, further comprising means for reflecting information relating to the directory in which the attribute value has been changed to the association information.
前記クライアントからのルックアップ操作要求の受付は、前記複数のファイルサーバの中で現在マスタとして機能しているファイルサーバによって行われ、Acceptance of the lookup operation request from the client is performed by a file server currently functioning as a master among the plurality of file servers,
前記ファイルサーバシステムは、前記複数のファイルサーバ間の協調動作によって前記マスタとして機能するファイルサーバが前記複数のファイルサーバ間で動的に変更されるように構成されていることを特徴とする請求項1記載のファイルサーバシステム。The file server system is configured such that a file server functioning as the master is dynamically changed between the plurality of file servers by a cooperative operation between the plurality of file servers. 1. The file server system according to 1.
複数のファイルサーバそれぞれのローカルファイルシステムを1つの仮想ファイルシステムとしてクライアントに提供するファイルサーバシステムを制御するための制御方法であって、A control method for controlling a file server system that provides a local file system of each of a plurality of file servers as one virtual file system to a client,
前記各ファイルサーバは、Each of the file servers is
ディレクトリ名から当該ディレクトリに対応する管理情報を参照するためのルックアップ操作要求をクライアントから受けた際、自ファイルサーバ上に構築されている、前記複When the client receives a lookup operation request for referring to management information corresponding to the directory from the directory name, 数のファイルサーバそれぞれのローカルファイルシステムの要素と前記仮想ファイルシステムのディレクトリツリーの要素との対応関係を示す対応付け情報を参照し、前記ルックアップ操作要求で指定されたディレクトリが前記対応付け情報で管理されている場合、前記対応付け情報に基づいて前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を前記クライアントに提供するステップと、The correspondence information indicating the correspondence between the elements of the local file system of each of the file servers and the elements of the directory tree of the virtual file system is referred to, and the directory specified in the lookup operation request is the correspondence information. If managed, providing management information about the directory specified in the lookup operation request to the client based on the association information;
前記ルックアップ操作要求で指定されたディレクトリが前記対応付け情報で管理されていない場合、前記自ファイルサーバのローカルファイルシステムから前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を取得するためのルックアップ操作を実行すると共に、前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を他の各ファイルサーバに問い合わせるルックアップ操作ステップと、If the directory specified in the lookup operation request is not managed by the association information, a look for acquiring management information related to the directory specified in the lookup operation request from the local file system of the local file server. A lookup operation step of performing a lookup operation and inquiring each other file server for management information related to the directory specified in the lookup manipulation request;
前記ルックアップ操作ステップによって得られた管理情報を前記クライアントに提供するステップと、Providing management information obtained by the lookup operation step to the client;
前記ルックアップ操作ステップによって得られた管理情報を前記対応付け情報に反映することによって前記対応付け情報を構築するステップと、Constructing the association information by reflecting the management information obtained by the lookup operation step in the association information;
前記ルックアップ操作手段による前記問い合わせ結果に基づき、前記自ファイルサーバのローカルファイルシステムに存在するディレクトリツリーを補完する補完ステップであって、前記ルックアップ操作要求で指定されたディレクトリに関する管理情報が前記自ファイルサーバのローカルファイルシステムから取得されず、且つ前記問い合わせによって他のファイルサーバから取得された場合、当該ディレクトリを前記自ファイルサーバのローカルファイルシステムに新規作成する手段を含む補完ステップとを具備することを特徴とする制御方法。Complementing step for complementing a directory tree existing in the local file system of the local file server based on the inquiry result by the lookup operation means, wherein management information relating to the directory specified by the lookup operation request is stored in the local file system. A complementing step including means for newly creating the directory in the local file system of the own file server when it is not obtained from the local file system of the file server and is obtained from another file server by the inquiry. A control method characterized by the above.
前記補完ステップは、The completion step includes
前記ルックアップ操作要求で指定されたディレクトリの管理情報が前記自ファイルサーバのローカルファイルシステムおよび前記他のファイルサーバからそれぞれ取得されたとき、それらディレクトリの更新日時を比較することによって最新のディレクトリを決定するステップと、When the management information of the directory specified in the lookup operation request is acquired from the local file system of the local file server and the other file server, the latest directory is determined by comparing the update date and time of the directories. And steps to
前記他のファイルサーバから取得されたディレクトリが最新である場合、前記自ファイルサーバのローカルファイルシステム上に存在する当該ディレクトリの属性値を、前記他のファイルサーバから取得されたディレクトリの属性値に更新するステップとを含み、When the directory acquired from the other file server is the latest, the attribute value of the directory existing on the local file system of the local file server is updated to the attribute value of the directory acquired from the other file server. Including the steps of:
前記対応付け情報を構築するステップは、The step of constructing the association information includes:
前記属性値が変更されたディレクトリに関する情報を前記対応付け情報に反映させるステップを含むことを特徴とする請求項4記載の制御方法。5. The control method according to claim 4, further comprising a step of reflecting information on the directory whose attribute value has been changed in the association information.
前記クライアントからのルックアップ操作要求の受付は、前記複数のファイルサーバの中で現在マスタとして機能しているファイルサーバによって行われ、Acceptance of the lookup operation request from the client is performed by a file server currently functioning as a master among the plurality of file servers,
前記ファイルサーバシステムは、前記複数のファイルサーバ間の協調動作によって前記マスタとして機能するファイルサーバが前記複数のファイルサーバ間で動的に変更されるように構成されていることを特徴とする請求項4記載の制御方法。The file server system is configured such that a file server functioning as the master is dynamically changed between the plurality of file servers by a cooperative operation between the plurality of file servers. 4. The control method according to 4.
複数のファイルサーバそれぞれのローカルファイルシステムを1つの仮想ファイルシステムとしてクライアントに提供するファイルサーバシステムを構成する前記各ファイルサーバによって実行されるコンピュータプログラムであって、A computer program executed by each file server constituting a file server system that provides a local file system of each of a plurality of file servers to a client as one virtual file system,
ディレクトリ名から当該ディレクトリに対応する管理情報を参照するためのルックアップ操作要求をクライアントから受けた際、自ファイルサーバ上に構築されている、前記複数のファイルサーバそれぞれのローカルファイルシステムの要素と前記仮想ファイルシステムのディレクトリツリーの要素との対応関係を示す対応付け情報を参照し、前記ルックアップ操作要求で指定されたディレクトリが前記対応付け情報で管理されている場合、前記対応付け情報に基づいて前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を前記クライアントに提供する手順と、When a lookup operation request for referring to the management information corresponding to the directory from the directory name is received from the client, the local file system elements of each of the plurality of file servers, With reference to the association information indicating the correspondence relationship with the elements of the directory tree of the virtual file system, when the directory specified in the lookup operation request is managed by the association information, based on the association information Providing management information about the directory specified in the lookup operation request to the client;
前記ルックアップ操作要求で指定されたディレクトリが前記対応付け情報で管理されていない場合、前記自ファイルサーバのローカルファイルシステムから前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を取得するためのルックアップ操作をIf the directory specified in the lookup operation request is not managed by the association information, a look for acquiring management information related to the directory specified in the lookup operation request from the local file system of the local file server. Up operation 実行すると共に、前記ルックアップ操作要求で指定されたディレクトリに関する管理情報を他の各ファイルサーバに問い合わせるルックアップ操作手順と、A lookup operation procedure that executes and queries other file servers for management information relating to the directory specified in the lookup operation request;
前記ルックアップ操作手段によって得られた管理情報を前記クライアントに提供する手順と、Providing management information obtained by the lookup operation means to the client;
前記ルックアップ操作手順によって得られた管理情報を前記対応付け情報に反映することによって前記対応付け情報を構築する手順と、A procedure for constructing the association information by reflecting the management information obtained by the lookup operation procedure in the association information;
前記ルックアップ操作手段による前記問い合わせ結果に基づき、前記自ファイルサーバのローカルファイルシステムに存在するディレクトリツリーを補完する補完手順であって、前記ルックアップ操作要求で指定されたディレクトリに関する管理情報が前記自ファイルサーバのローカルファイルシステムから取得されず、且つ前記問い合わせによって他のファイルサーバから取得された場合、当該ディレクトリを前記自ファイルサーバのローカルファイルシステムに新規作成する手段を含む補完手順とを前記各ファイルサーバに実行させることを特徴とするコンピュータプログラム。A complementing procedure for complementing a directory tree existing in the local file system of the local file server based on the inquiry result by the lookup operation means, wherein management information related to the directory specified by the lookup operation request is stored in the local file system. If each file is not acquired from the local file system of the file server and is acquired from another file server by the inquiry, the complementary procedure including means for newly creating the directory in the local file system of the own file server A computer program that is executed by a server.
JP2001240725A 2001-08-08 2001-08-08 File server system and control method thereof Expired - Fee Related JP3776769B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001240725A JP3776769B2 (en) 2001-08-08 2001-08-08 File server system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001240725A JP3776769B2 (en) 2001-08-08 2001-08-08 File server system and control method thereof

Publications (2)

Publication Number Publication Date
JP2003050733A JP2003050733A (en) 2003-02-21
JP3776769B2 true JP3776769B2 (en) 2006-05-17

Family

ID=19071289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001240725A Expired - Fee Related JP3776769B2 (en) 2001-08-08 2001-08-08 File server system and control method thereof

Country Status (1)

Country Link
JP (1) JP3776769B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716187B2 (en) * 2003-05-21 2010-05-11 Microsoft Corporation System and method for transparent storage reorganization
JP4460235B2 (en) 2003-07-10 2010-05-12 富士通株式会社 Archive device management program, archive device management method, and archive device
JP4856966B2 (en) * 2006-01-27 2012-01-18 株式会社日立製作所 Backup system, file server, and backup method
JP2008234264A (en) * 2007-03-20 2008-10-02 Nec Software Chubu Ltd Load balancing device for file server, program for load balancing, and load balancing method
WO2012060276A1 (en) * 2010-11-01 2012-05-10 かもめエンジニアリング株式会社 Access control method, access control apparatus, and access control program
CN110389868B (en) * 2019-06-24 2022-08-12 苏州浪潮智能科技有限公司 Method and system for optimizing complete machine diagnosis process of server manufacturing factory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1323448C (en) * 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
JPH05233417A (en) * 1992-02-20 1993-09-10 Fujitsu Ltd Directory control method for distributed filing system
JPH05250249A (en) * 1992-03-06 1993-09-28 Kobe Nippon Denki Software Kk System for managing remote file system by super root directory
JP3335801B2 (en) * 1995-07-05 2002-10-21 株式会社日立製作所 Information processing system enabling access to different types of files and control method thereof
JPH11282741A (en) * 1998-03-27 1999-10-15 Hitachi Ltd Mounting method, film access method for directory and access authority decision method

Also Published As

Publication number Publication date
JP2003050733A (en) 2003-02-21

Similar Documents

Publication Publication Date Title
US11349949B2 (en) Method of using path signatures to facilitate the recovery from network link failures
CN110502507B (en) Management system, method, equipment and storage medium of distributed database
US6014686A (en) Apparatus and methods for highly available directory services in the distributed computing environment
US7085819B2 (en) System and method for distributed network data storage
US7313579B2 (en) Network storage system and handover method between plurality of network storage devices
US20170132265A1 (en) Distributed system for application processing
US7725588B2 (en) Switching method and switch device
US20100161657A1 (en) Metadata server and metadata management method
CN111274310A (en) Distributed data caching method and system
US6910150B2 (en) System and method for state preservation in a stretch cluster
US20030140051A1 (en) System and method for virtualizing a distributed network storage as a single-view file system
JP4545943B2 (en) Web server content replication
JP2001518663A (en) Highly available cluster configuration database
US11514000B2 (en) Data mesh parallel file system replication
US8417679B1 (en) Fast storage writes
EP1480130A2 (en) Method and apparatus for moving data between storage devices
JP3776769B2 (en) File server system and control method thereof
JP5416490B2 (en) Distributed data management system, data management apparatus, data management method, and program
US6519610B1 (en) Distributed reference links for a distributed directory server system
CN101207503A (en) Automated wide area software distribution with reduced network bandwidth requirements
US8089987B2 (en) Synchronizing in-memory caches while being updated by a high rate data stream
JP4129353B2 (en) Distributed data management system, distributed data management method, and distributed data management program
KR100492167B1 (en) Shared-nothing database cluster server system and On-line scaling method
JPH06274432A (en) System and method for managing distributed computer system
CN112732530B (en) LVS operation and maintenance control system, method and device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060223

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

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120303

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140303

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees