以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態の計算機システムの構成のブロック図である。
計算機システムは、親NAS、NAS、クライアント計算機4、管理計算機5及びLAN(Local Area Network)7を備える。
親NASは、親NASサーバ9及びディスクサブシステム3を備える。また、NASは、NASサーバ1、FC(Fibre Channel)スイッチ2及びディスクサブシステム3を備える。
LAN7は、親NASサーバ9、NASサーバ1、クライアント計算機4及び管理計算機5を相互に接続する。FCスイッチ2は、NASサーバ1とディスクサブシステム3とを接続する。
NASサーバ1は、FCスイッチ2を介して一つ以上のディスクサブシステム3に接続される。また、本説明図では、親NASサーバ9は、一つのディスクサブシステム3に接続されているが、複数のディスクサブシステム3に接続されていてもよい。
ディスクサブシステム3は、クライアント計算機4から書き込みを要求されたデータを記憶する。なお、ディスクサブシステム3については、図2で詳細を説明する。
計算機システムは、ディスクサブシステム3の代わりに、半導体記憶装置を備えてもよい。半導体記憶装置には、例えば、フラッシュメモリがメモリ素子として用いられる。
NASサーバ1は、ファイル共有サービスをクライアント計算機4に提供する。例えば、NASサーバ1は、ファイル入出力要求を受信する。すると、NASサーバ1は、受信したファイル入出力要求を、ブロック入出力要求に変換する。そして、NASサーバ1は、変換されたブロック入出力要求をディスクサブシステム3に送信する。なお、NASサーバ1については、図3で詳細を説明する。
親NASサーバ9は、NASサーバ1と同一の機能に加えて、GNS(Global Name Space)機能を備える。GNSについては、図5で詳細を説明する。
クライアント計算機4には、親NASサーバ9及びNASサーバ1によってファイル共有サービスが提供される。そのため、クライアント計算機4は、ファイル入出力要求を親NASサーバ9に送信する。
管理計算機5は、当該計算機システムの全体を管理する。
図2は、本発明の実施の形態の計算機システムに備わるディスクサブシステム3の構成のブロック図である。
ディスクサブシステム3は、ディスクコントローラ(DKC)及び物理ディスクを備える。
物理ディスクは、クライアント計算機4から書き込みを要求されたデータを記憶する。ディスクコントローラは、物理ディスクの記憶領域を一つ以上の論理ボリューム(LU)35として、NASサーバ1又は親NASサーバ9に提供する。
ディスクコントローラは、FCポート31、CPU32及びメモリ33を備える。FCポート31は、FC8を介して、NASサーバ1又は親NASサーバ9に接続されるインタフェースである。CPU32は、メモリ33に記憶されるプログラムを実行することによって、各種処理を行う。
メモリ33は、CPU32に実行されるプログラム及びCPU32に必要とされる情報等を記憶する。例えば、メモリ33は、IOPを記憶する。IOPは、NASサーバ1又は親NASサーバ9から受信したブロック入出力要求に応じて、物理ディスクに対してデータを入出力する。
また、メモリ33の一部は、キャッシュメモリとして使用される。キャッシュメモリは、物理ディスクに書き込まれるデータ及び物理ディスクから読み出されるデータを一時的に記憶する。
なお、親NASサーバ9に接続されるディスクサブシステム3のLU35には、GNS定義テーブル91、ファイル分割ポリシー92、分割ファイル管理テーブル93、分散格納方式管理テーブル94、分散格納方式変更管理テーブル95、分散格納方式変更履歴テーブル96、分散格納方式適用状況履歴テーブル97及び分散格納方式選択ポリシー138が記憶される。
GNS定義テーブル91は、ファイルシステム134を当該計算機システムにおいて一意に特定するために使用されるグローバルパスと、ファイルシステム134をNASサーバ1において一意に特定するために使用されるローカルパスとの対応を示す。なお、GNS定義テーブル91については、図4で詳細を説明する。
ファイル分割ポリシー92は、一つのファイルをいくつに分割すべきかを示す。なお、ファイル分割ポリシー92については、図8で詳細を説明する。
分割ファイル管理テーブル93は、分散格納方式Bが適用されたファイルの格納先を管理する。なお、分割ファイル管理テーブル93については、図9で詳細を説明する。また、分散格納方式Bについては、図7で詳細を説明する。
分散格納方式管理テーブル94は、NASサーバ1に備わるファイルシステム134が現在対応している分散格納方式及び対応可能な分散格納方式を示す。なお、分散格納方式管理テーブル94については、図13で詳細を説明する。
分散格納方式変更管理テーブル95は、分散格納方式を変更すべきファイルを管理する。なお、分散格納方式変更管理テーブル95については、図14で詳細を説明する。
分散格納方式変更履歴テーブル96は、分散格納方式の変更に関する履歴を管理する。なお、分散格納方式変更履歴テーブル96については、図15で詳細を説明する。
分散格納方式適用状況履歴テーブル97は、それぞれの分散格納方式が適用されているファイルの数に関する履歴を管理する。なお、分散格納方式適用状況履歴テーブル97については、図16で詳細を説明する。
分散格納方式選択ポリシー138は、ファイルに適用されている分散格納方式を変更する必要があるか否かを判断するための情報である。なお、分散格納方式選択ポリシー138は、NASサーバ1にも記憶される。分散格納方式選択ポリシー138については、図12で詳細を説明する。
図3は、本発明の実施の形態の計算機システムに備わるNASサーバ1の構成のブロック図である。
NASサーバ1は、FCポート11、CPU12、メモリ13及びLANポート14を備える。
FCポート11は、FCスイッチ2を介して、ディスクサブシステム3に接続されるインタフェースである。LANポート14は、LAN7を介して、クライアント計算機4及び管理計算機5に接続されるインタフェースである。
CPU12は、メモリ13に記憶されるプログラムを実行することによって、各種処理を行う。
メモリ13は、CPU12に実行されるプログラム及びCPU12に必要とされる情報等を記憶する。具体的には、メモリ13は、ファイル共有プログラム131及びOS137を記憶する。
ファイル共有プログラム131は、ファイル共有サービスをクライアント計算機4に提供する。なお、NASサーバ1とクライアント計算機4との間では、NFS(Network File System)又はCIFS(Common Internet File System)等のファイル共有プロトコルが使用される。また、ファイル共有プログラム131は、読出要求受付サブプログラム1311及び書込要求受付サブプログラム1312を含む。
読出要求受付サブプログラム1311は、クライアント計算機4から発行された読出要求を受信し、受信した読出要求に対する処理を行う。なお、読出要求受付サブプログラム1311が実行する読出処理については、図17で詳細を説明する。
書込要求受付サブプログラム1312は、クライアント計算機4から発行された書込要求を受信し、受信した書込要求に対する処理を行う。なお、書込要求受付サブプログラム1312が実行する書込処理については、図19で詳細を説明する。
OS137は、NASサーバ1の処理の全体を制御する。また、OS137は、ファイルシステム134、LVM(Logical Volume Manager)135及びデバイスドライバ136を含む。
ファイルシステム134は、ディスクサブシステム3に記憶されるデータをファイルとして、クライアント計算機4等に提供する。例えば、ファイルシステム134は、ファイル入出力要求を、ブロック入出力要求に変換する。
LVM135は、ディスクサブシステム3から提供される複数のLU35を一つのLUとして、ファイルシステム134に提供する。
デバイスドライバ136は、ブロック入出力要求をディスクサブシステム3に送信する。これによって、デバイスドライバ136は、ディスクサブシステム3に対して、データを入出力する。
なお、親NASサーバ9の構成は、NASサーバ1と同一なので説明を省略する。
図4は、本発明の実施の形態のGNS定義テーブル91の構成図である。
GNS定義テーブル91は、グローバルパス911、NAS名912及びローカルパス913を含む。
グローバルパス911は、NASサーバ1に備わるファイルシステム134を当該計算機システムにおいて一意に特定するために使用されるパスである。
NAS名912は、当該レコードのグローバルパス911によって特定されるファイルシステム134を備えるNASサーバ1の一意な識別子である。なお、当該レコードのグローバルパス911によって特定されるファイルシステム134に分散格納方式Bが適用されている場合には、NAS名912には値が格納されない。
ローカルパス913は、当該レコードのグローバルパス911によって特定されるファイルシステム134を、当該レコードのNAS名912によって識別されるNASサーバ1において一意に特定するために使用されるパスである。
図5は、本発明の実施の形態の計算機システムにおけるGNSの説明図である。
親NASサーバ9は、複数のNASサーバ1に備わる複数のファイルシステム134を、一つのツリービューとして、クライアント計算機4に提供する。
例えば、親NASサーバ9に接続されるディスクサブシステム3のLU35に、図4に示すGNS定義テーブル91が格納されている場合を説明する。
この場合、「NAS−01」によって識別されるNASサーバ1は、「FS1」によって識別されるファイルシステム134を備える。また、「NAS−02」によって識別されるNASサーバ1は、「FS2」によって識別されるファイルシステム134を備える。また、「NAS−03」によって識別されるNASサーバ1は、「FS3」によって識別されるファイルシステム134を備える。「NAS−04」によって識別されるNASサーバ1は、「FS4」によって識別されるファイルシステム134を備える。更に、ファイルシステム134は、NASサーバ1のローカルディレクトリである「/mnt」下にマウントされている。
クライアント計算機4は、親NASサーバ9にアクセスすることによって、図5の吹き出し内に示すようなツリービューを参照できる。
ここで、クライアント計算機4が、「/GNS-Root/Dir-01/FS2/a.txt」をアクセスしようとする。この場合、クライアント計算機4は、「/GNS-Root/Dir-01/FS2/a.txt」をアクセス先として含むアクセス要求を、親NASサーバ9に送信する。なお、アクセス要求は、書込要求又は読出要求などである。
親NASサーバ9は、アクセス要求を受信する。すると、親NASサーバ9は、受信したアクセス要求に含まれるグローバルパスの「/GNS-Root/Dir-01/FS2」とGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ9は、選択したレコードから、NAS名912及びローカルパス913を抽出する。
これによって、親NASサーバ9は、「/GNS-Root/Dir-01/FS2/a.txt」を、抽出したローカルパス913の「/mnt/FS2」によって特定されるファイルシステム134によって提供されるファイルとして認識する。なお、抽出されたローカルパス913の「/mnt/FS2」によって特定されるファイルシステム134は、抽出されたNAS名912の「NAS−02」によって識別されるNASサーバ1に備わる。
そこで、親NASサーバ9は、受信したアクセス要求に含まれる「/GNS-Root/Dir-01/FS2/a.txt」を、「/mnt/FS2/a.txt」に変換する。そして、親NASサーバ9は、抽出したNAS名912の「NAS−02」によって識別されるNASサーバ1に、変換したアクセス要求を送信する。
また、親NASサーバ9は、以下のような処理を行ってもよい。
親NASサーバ9は、アクセス要求を受信する。すると、親NASサーバ9は、受信したアクセス要求に含まれるグローバルパスとGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ9は、選択したレコードから、NAS名912及びローカルパス913を抽出する。
次に、親NASサーバ9は、抽出したNAS名912及びローカルパス913を、クライアント計算機4に送信する。クライアント計算機4は、受信したNAS名912及びローカルパス913をアクセス先として含むアクセス要求を、受信したNAS名912によって識別されるNASサーバ1に送信する。
これによって、クライアント計算機4は、親NASサーバ9を経由せずに、ファイルにアクセスできる。そのため、親NASサーバ9の負荷を軽減できる。
次に、本発明の実施の形態で使用される三つの分散格納方式について説明する。ファイルには、分散格納方式A、分散格納方式B又は分散格納方式Cのいずれかが適用される。
図6は、本発明の実施の形態の分散格納方式Aの説明図である。
分散格納方式Aでは、一つのファイルは、一つのディスクサブシステム3に格納される。つまり、分散格納方式Aでは、一つのファイルは、分割されることはない。
図7は、本発明の実施の形態の分散格納方式Bの説明図である。
分散格納方式Bでは、一つのファイルは、複数に分割されて、複数のNASに格納される。つまり、一つのファイルは、分割されて、それぞれ異なるNASサーバ1に接続される複数のディスクサブシステム3に格納される。
親NASサーバ9は、ファイルの分割を管理する。そのため、親NASサーバ9に接続されるディスクサブシステム3のLU35は、ファイル分割ポリシー92及び分割ファイル管理テーブル93を記憶する。
図8は、本発明の実施の形態のファイル分割ポリシー92の構成図である。
ファイル分割ポリシー92は、サイズ921及び分割数922を含む。サイズ921は、分散格納方式Bが適用されているファイルのサイズを示す。分割数922は、当該レコードのサイズ921に該当するファイルを分割すべき個数を示す。
図9は、本発明の実施の形態の分割ファイル管理テーブル93の構成図である。
分割ファイル管理テーブル93は、ローカルパス931、NAS名932及び分割ファイルパス933を含む。
ローカルパス931は、分散格納方式Bが適用されたファイルが特定されるために使用されるパスである。NAS名932は、当該レコードのローカルパス931によって特定されるファイルの一部を記憶するディスクサブシステム3に接続されるNASサーバ1の一意な識別子である。分割ファイルパス933は、当該レコードのローカルパス931によって特定されるファイルの一部を、当該レコードのNAS名932によって識別されるNASサーバ1において一意に特定するために使用されるパスである。
図10は、本発明の実施の形態の分散格納方式Cの説明図である。
分散格納方式Cでは、一つのファイルは、分割されて、同一のNASサーバ1に接続される複数のディスクサブシステム3に格納される。
NASサーバ1に備わるLVM135は、複数のディスクサブシステム3から提供される複数のLU35を一つのLUとして、ファイルシステム134に提供する。これによって、一つのファイルは、分割されて、当該NASサーバ1に接続される複数のディスクサブシステム3に格納される。
図11は、本発明の実施の形態の分散格納方式A〜Cの特徴の説明図である。
分散格納方式Aでは、一つのファイルは、一つのディスクサブシステム3に格納される。そのため、サイズが大きいファイルの格納には、分散格納方式Aは適さない。なぜなら、サイズが大きいファイルを格納しているNASにアクセスが集中してしまうからである。
一方、サイズが小さいファイルの格納には、分散格納方式Aが適している。なぜなら、サイズが小さいファイルを複数のディスクサブシステム3に分散して格納すると、ファイルの分散によるオーバヘッドが生じてしまうからである。
分散格納方式Bでは、一つのファイルは、複数に分割されて、複数のNASに格納される。そのため、サイズが大きいファイルの格納には、分散格納方式Bが適している。なぜなら、一つのNASサーバ1へのアクセス集中を回避できるからである。
一方、サイズが小さいファイルの格納には、分散格納方式Bは適さない。なぜなら、サイズが小さいファイルを複数のNASに分散して格納すると、ファイルの分散によるオーバヘッドが生じてしまうからである。
また、分散格納方式Bでは、ファイルの分散粒度が変更可能である。よって、サイズの変更頻度が多いファイルの格納には、分散格納方式Bが適している。
分散格納方式Cでは、一つのファイルは、分割されて、同一のNASサーバ1に接続される複数のディスクサブシステム3に格納される。そのため、サイズが大きいファイルの格納には、分散格納方式Cが適している。なぜなら、一つのディスクサブシステム3へのアクセス集中を回避できるからである。
また、分散格納方式Cでは、ファイルの分散粒度が変更できない。よって、サイズの変更頻度が多いファイルの格納には、分散格納方式Cは適していない。
分散格納方式A〜Cのそれぞれの特徴を生かすように、ファイルには分散格納方式A〜Cのいずれかが適用される。
図12は、本発明の実施の形態の分散格納方式選択ポリシー138の説明図である。
NASサーバ1は、書込要求を親NASサーバ9から受信すると、データの書き込みをディスクサブシステム3に要求する。このとき、NASサーバ1は、分散格納方式選択ポリシー138に基づいて、データの書き込みが要求されたファイルに適用されている分散格納方式を変更する必要があるか否かを判断する。
分散格納方式を変更する必要がある場合、NASサーバ1は、分散格納方式の変更要求を、親NASサーバ9に送信する。なお、分散格納方式の変更要求では、変更後の分散格納方式が指定される。
分散格納方式選択ポリシー138は、分散格納方式A〜Cのそれぞれの特徴を生かすように設定される。例えば、分散格納方式選択ポリシー138によると、分散格納方式Aは、ファイルサイズが第1の閾値未満のファイルに適用される。また、分散格納方式Bは、ファイルサイズが第1の閾値以上且つ書込頻度が第2の閾値以上のファイルに適用される。また、分散格納方式Cは、ファイルサイズが第1の閾値以上且つ書込頻度が第2の閾値未満のファイルに適用される。
このため、NASサーバ1は、ファイルごとに書込頻度を測定し、測定した書込頻度の履歴を記憶する。
図13は、本発明の実施の形態の分散格納方式管理テーブル94の構成図である。
分散格納方式管理テーブル94は、NAS名941、現在対応している分散格納方式942及び対応可能な分散格納方式943を含む。
NAS名941は、NASサーバ1の一意な識別子である。現在対応している分散格納方式942は、当該レコードのNAS名941によって識別されるNASサーバ1に備わるファイルシステム134が現在管理しているファイルに適用されている分散格納方式の識別子である。対応可能な分散格納方式943は、当該レコードのNAS名941によって識別されるNASサーバ1に備わるファイルシステム134が管理可能なファイルに適用される分散格納方式の識別子である。
図14は、本発明の実施の形態の分散格納方式変更管理テーブル95の構成図である。
分散格納方式変更管理テーブル95は、グローバルパス951、ファイル名952及び次に適用される分散格納方式953を含む。
グローバルパス951は、NASサーバ1に備わるファイルシステム134を当該計算機システムにおいて一意に特定するために使用されるパスである。ファイル名952は、当該レコードのグローバルパス951によって特定されるファイルシステム134が管理するファイルの一意な識別子である。
次に適用される分散格納方式953は、当該レコードのグローバルパス951及びファイル名952によって識別されるファイルに次に適用される分散格納方式の一意な識別子である。
図15は、本発明の実施の形態の分散格納方式変更履歴テーブル96の構成図である。
分散格納方式変更履歴テーブル96は、日時961、ファイルパス962、変更前の分散格納方式963及び変更後の分散格納方式964を含む。
日時961は、ファイルの分散格納方式が変更された日付及び時刻である。ファイルパス962は、当該レコードの日時961において分散格納方式が変更されたファイルを当該計算機システムにおいて一意に特定するために使用されるパスである。
変更前の分散格納方式963は、分散格納方式変更前において、当該レコードのファイルパス962によって特定されるファイルに適用されていた分散格納方式の識別子である。変更後の分散格納方式964は、分散格納方式変更後において、当該レコードのファイルパス962によって特定されるファイルに適用された分散格納方式の識別子である。
図16は、本発明の実施の形態の分散格納方式適用状況履歴テーブル97の構成図である。
分散格納方式適用状況履歴テーブル97は、日時971、分散格納方式Aの適用個数972、分散格納方式Bの適用個数973及び分散格納方式Cの適用個数974を含む。
日時971は、ファイルの分散格納方式が変更された日付及び時刻である。分散格納方式Aの適用個数972は、当該レコードの日時971において、分散格納方式Aが適用されているファイルの数である。分散格納方式Bの適用個数973は、当該レコードの日時971において、分散格納方式Bが適用されているファイルの数である。分散格納方式Cの適用個数974は、当該レコードの日時971において、分散格納方式Cが適用されているファイルの数である。
図17は、本発明の実施の形態のNASサーバ1及び親NASサーバ9によって実行される読出処理のフローチャートである。
NASサーバ1又は親NASサーバ9は、読出要求を受信すると、当該読出処理を実行する。まず、NASサーバ1又は親NASサーバ9は、受信した読出要求から送信元のIPアドレスを抽出する(S601)。次に、NASサーバ1又は親NASサーバ9は、抽出した送信元のIPアドレスに基づいて、自身が親NASサーバ9であるか否かを判定する(S602)。
なお、親NASサーバ9は、親NASサーバ9又はNASサーバ1のいずれにも割り当てられていないIPアドレスを送信元とする読出要求を受信する。一方、NASサーバ1は、親NASサーバ9に割り当てられているIPアドレスを送信元とする読出要求を受信する。
自身が親NASサーバ9であると判定すると、ステップS603に進む。つまり、親NASサーバ9は、ステップS603に進む。一方、自身が親NASサーバ9でないと判定すると、ステップS607に進む。つまり、NASサーバ1は、ステップS607に進む。
親NASサーバ9は、受信した読出要求から、アクセス先のグローバルパスを抽出する。次に、親NASサーバ9は、抽出したグローバルパスのうちファイル名以外の部分とGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ9は、選択したレコードから、NAS名912及びローカルパス913を抽出する。
次に、親NASサーバ9は、抽出したNAS名912に基づいて、受信した読出要求によって読み出しが要求されるファイル(読み出し対象のファイル)に、分散格納方式Bが適用されているか否かを判定する(S603)。なお、抽出されたNAS名912に識別子が格納されていない場合、当該読み出し対象のファイルには分散格納方式Bが適用されている。一方、抽出されたNAS名912に識別子が格納されている場合、当該読み出し対象のファイルには分散格納方式Bが適用されていない。
読み出し対象のファイルに分散格納方式Bが適用されている場合、親NASサーバ9は、分散格納方式Bの場合の読出処理を実行する(S606)。なお、分散格納方式Bの場合の読出処理については、図18で詳細を説明する。
一方、読み出し対象のファイルに分散格納方式Bが適用されていない場合、親NASサーバ9は、受信した読出要求に含まれるグローバルパスのうちファイル名以外の部分を、抽出したローカルパス913に変換する。そして、親NASサーバ9は、変換した読出要求を、抽出したNAS名912によって識別されるNASサーバ1に送信する(S604)。
次に、親NASサーバ9は、NASサーバ1からファイルを受信するまで待機する。親NASサーバ9は、NASサーバ1からファイルを受信すると、受信したファイルを、読出要求の送信元であるクライアント計算機4に送信する(S605)。そして、親NASサーバ9は、当該読出処理を終了する。
一方、NASサーバ1は、受信した読出要求に含まれるローカルパスによって特定されるファイルを、ディスクサブシステム3から取得する(S607)。次に、NASサーバ1は、取得したファイルを、親NASサーバ9へ送信する(S608)。そして、NASサーバ1は、当該読出処理を終了する。
図18は、本発明の実施の形態の親NASサーバ9によって実行される分散格納方式Bの場合の読出処理のフローチャートである。
分散格納方式Bの場合の読出処理は、図17に示す読出処理のステップS606において実行される。
まず、親NASサーバ9は、図17に示す読出処理のステップS603で抽出したローカルパス913と分割ファイル管理テーブル93のローカルパス931とが一致するレコードが、分割ファイル管理テーブル93に存在するか否かを判定する。これによって、親NASサーバ9は、読み出し対象のファイルが複数に分割されているか否かを判定する(S611)。
二つのローカルパスが一致するレコードが分割ファイル管理テーブル93に存在しない場合、当該読み出し対象のファイルは分割されていない。一方、二つのローカルパスが一致するレコードが分割ファイル管理テーブル93に存在する場合、当該読み出し対象のファイルは分割されている。
読み出し対象のファイルが分割されていない場合、親NASサーバ9は、受信した読出要求に含まれるグローバルパスのうちファイル名以外の部分を、抽出したローカルパス913に変換する。そして、親NASサーバ9は、変換した読出要求を、NASサーバ1に送信する(S612)。
次に、親NASサーバ9は、NASサーバ1からファイルを受信するまで待機する。親NASサーバ9は、NASサーバ1からファイルを受信すると、受信したファイルを、読出要求の送信元であるクライアント計算機4に送信する(S613)。そして、親NASサーバ9は、当該分散格納方式Bの場合の読出処理を終了する。
一方、読み出し対象のファイルが分割されている場合、親NASサーバ9は、図17に示す読出処理のステップS603で抽出したローカルパス913と分割ファイル管理テーブル93のローカルパス931とが一致するすべてのレコードを、分割ファイル管理テーブル93から選択する。
次に、親NASサーバ9は、選択したレコードを順番に特定する。次に、親NASサーバ9は、特定したレコードから、NAS名932及び分割ファイルパス933を抽出する。次に、親NASサーバ9は、受信した読出要求に含まれるグローバルパスを、抽出した分割ファイルパス933に変換する。次に、親NASサーバ9は、変換した読出要求を、抽出したNAS名932によって識別されるNASサーバ1に送信する(S614)。
親NASサーバ9は、分割ファイル管理テーブル93から選択したレコードをすべて特定するまで処理を繰り返す。これによって、親NASサーバ9は、読み出し対象のファイルの一部である分割ファイルを記憶するすべてのNASに、読出要求を送信する。
次に、親NASサーバ9は、読出要求の送信先となったすべてのNASサーバ1から分割ファイルを受信するまで待機する。親NASサーバ9は、読出要求の送信先となったすべてのNASサーバ1から分割ファイルを受信すると、受信した分割ファイルを合成する。これによって、親NASサーバ9は、読出し対象のファイルを作成する。そして、親NASサーバ9は、作成したファイルを読出要求の送信元であるクライアント計算機4に送信する(S615)。そして、親NASサーバ9は、当該分散格納方式Bの場合の読出処理を終了する。
図19は、本発明の実施の形態のNASサーバ1及び親NASサーバ9によって実行される書込処理のフローチャートである。
NASサーバ1又は親NASサーバ9は、書込要求を受信すると、当該書込処理を実行する。まず、NASサーバ1又は親NASサーバ9は、受信した書込要求から送信元のIPアドレスを抽出する(S621)。次に、NASサーバ1又は親NASサーバ9は、抽出した送信元のIPアドレスに基づいて、自身が親NASサーバ9であるか否かを判定する(S622)。
なお、親NASサーバ9は、親NASサーバ9又はNASサーバ1のいずれにも割り当てられていないIPアドレスを送信元とする書込要求を受信する。一方、NASサーバ1は、親NASサーバ9に割り当てられているIPアドレスを送信元とする書込要求を受信する。
自身が親NASサーバ9であると判定すると、ステップS623に進む。つまり、親NASサーバ9は、ステップS623に進む。一方、自身が親NASサーバ9でないと判定すると、ステップS641に進む。つまり、NASサーバ1は、ステップS641に進む。
親NASサーバ9は、受信した書込要求から、アクセス先のグローバルパスを抽出する。次に、親NASサーバ9は、抽出したグローバルパスのうちファイル名以外の部分とGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ9は、選択したレコードから、NAS名912及びローカルパス913を抽出する。
次に、親NASサーバ9は、抽出したNAS名912に基づいて、受信した書込要求によって書き込みが要求されるファイル(書き込み対象のファイル)に、分散格納方式Bが適用されているか否かを判定する(S623)。なお、抽出されたNAS名912に識別子が格納されていない場合、当該書き込み対象のファイルには分散格納方式Bが適用されている。一方、抽出されたNAS名912に識別子が格納されている場合、当該書き込み対象のファイルには分散格納方式Bが適用されていない。
書き込み対象のファイルに分散格納方式Bが適用されている場合、親NASサーバ9は、分散格納方式Bの場合の書込処理を実行する(S624)。なお、分散格納方式Bの場合の書込処理については、図21で詳細を説明する。
一方、書き込み対象のファイルに分散格納方式Bが適用されていない場合、親NASサーバ9は、抽出したグローバルパスと分散格納方式変更管理テーブル95のグローバルパス951及びファイル名952の組み合わせとが一致するレコードが分散格納方式変更管理テーブル95に存在するか否かを判定する(S625及びS626)。
該当レコードが分散格納方式変更管理テーブル95に存在しない場合、書き込み対象のファイルに適用されている分散格納方式は変更される必要がない。そこで、親NASサーバ9は、受信した書込要求に含まれるグローバルパスのうちファイル名以外の部分を、ステップS623で抽出したローカルパス913に変換する。そして、親NASサーバ9は、変換した書込要求を、ステップS623で抽出したNAS名912によって識別されるNASサーバ1に送信する(S627)。
次に、親NASサーバ9は、NASサーバ1から書込完了通知を受信するまで待機する。親NASサーバ9は、書込完了通知を受信すると、受信した書込要求に対する応答を、クライアント計算機4に送信する。
次に、親NASサーバ9は、受信した書込完了通知に、格納方式変更要求が含まれるか否かを判定する(S628)。なお、格納方式変更要求では、変更後の分散格納方式が指定される。
書込完了通知に格納方式変更要求が含まれない場合、NASサーバ1は、書き込み対象のファイルに適用されている分散格納方式の変更を親NASサーバ9に要求していない。よって、親NASサーバ9は、当該書込処理をそのまま終了する。
一方、書込完了通知に格納方式変更要求が含まれる場合、NASサーバ1は、書き込み対象のファイルに適用されている分散格納方式の変更を親NASサーバ9に要求している。
そこで、親NASサーバ9は、分散格納方式変更管理テーブル95を更新する(S629)。具体的には、親NASサーバ9は、分散格納方式変更管理テーブル95に、新たなレコードを作成する。次に、親NASサーバ9は、新たなレコードのグローバルパス951に、受信した書込要求から抽出したグローバルパスのうちファイル名以外の部分を格納する。次に、親NASサーバ9は、新たなレコードのファイル名952に、受信した書込要求から抽出したグローバルパスに含まれるファイル名を格納する。更に、親NASサーバ9は、新たなレコードの次に適用される分散格納方式953に、受信した格納方式変更要求で指定された分散格納方式の識別子を格納する。
このようにして、親NASサーバ9は、分散格納方式変更管理テーブル95を更新する。これによって、親NASサーバ9は、分散格納方式の変更が要求されたファイルに対する書込要求を次に受信した時に、当該ファイルに適用されている分散格納方式を変更できる。そして、親NASサーバ9は、当該書込処理を終了する。
一方、ステップS626で該当レコードが分散格納方式変更管理テーブル95に存在する場合、親NASサーバ9は、書き込み対象のファイルに適用されている分散格納方式を変更する必要がある。
この場合、親NASサーバ9は、該当レコードを分散格納方式変更管理テーブル95から選択する。次に、親NASサーバ9は、選択したレコードから、次に適用される分散格納方式953を抽出する。次に、親NASサーバ9は、抽出した次に適用される分散格納方式953と分散格納方式管理テーブル94の対応可能な分散格納方式943とが一致するレコードを分散格納方式管理テーブル94から選択する。なお、当該レコードを分散格納方式管理テーブル94から複数選択できる場合、親NASサーバ9は、任意の方法で一つのレコードを選択する。
次に、親NASサーバ9は、選択したレコードから、NAS名941を抽出する。次に、親NASサーバ9は、抽出したNAS名941とGNS定義テーブル91のNAS名912とが一致するレコードを選択する。次に、親NASサーバ9は、選択したレコードから、ローカルパス913を抽出する(S630)。
次に、親NASサーバ9は、抽出した次に適用される分散格納方式953に「B」が格納されているか否かを判定する。
次に適用される分散格納方式953に「B」が格納されていない場合、親NASサーバ9は、受信した書込要求に含まれるグローバルパスのうちファイル名以外の部分を、抽出したローカルパス913に変換する。そして、親NASサーバ9は、変換した書込要求を、抽出したNAS名941によって識別されるNAS サーバ1に送信する(S631)。
次に、親NASサーバ9は、NASサーバ1から書込完了通知を受信するまで待機する。親NASサーバ9は、書込完了通知を受信すると、受信した書込要求に対する応答を、クライアント計算機4に送信する。
一方、次に適用される分散格納方式953に「B」が格納されている場合、親NASサーバ9は、書き込み対象のファイルのサイズがファイル分割ポリシー92のサイズ921に適合するレコードを、ファイル分割ポリシー92から選択する。次に、親NASサーバ9は、選択したレコードから、分割数922を抽出する。
次に、親NASサーバ9は、書き込み対象のファイルを、抽出した分割数922に分割する。これによって、親NASサーバ9は、書き込み対象の一つのファイルを複数の分割ファイルに分割する。
次に、親NASサーバ9は、分割ファイルが格納される記憶領域を特定するための分割ファイルパスを設定する。
次に、親NASサーバ9は、設定した分割ファイルパスによって特定される記憶領域への分割ファイルの格納を要求する書込要求を、NASサーバ1に送信する(S631)。更に、親NASサーバ9は、分割ファイル管理テーブル93を更新する。
具体的には、親NASサーバ9は、分割ファイル管理テーブル93に新たなレコードを作成する。次に、親NASサーバ9は、新たなレコードのローカルパス931に、書込処理のステップS623で抽出したローカルパス913を格納する。次に、親NASサーバ9は、設定した分割ファイルパスによって特定される分割ファイルを管理するNASサーバ1の識別子を、新たなレコードのNAS名932に格納する。更に、親NASサーバ9は、設定した分割ファイルパスを、新たなレコードの分割ファイルパス933に格納する。
親NASサーバ9は、書込要求を送信すると、書込要求の送信先となったすべてのNASサーバ1から書込完了通知を受信するまで待機する。親NASサーバ9は、書込要求の送信先となったすべてのNASサーバ1から書込完了通知を受信すると、受信した書込要求に対する応答を、クライアント計算機4に送信する。
次に、親NASサーバ9は、GNS定義テーブル91を更新する(S632)。具体的には、親NASサーバ9は、受信した書込要求から抽出したグローバルパスのうちファイル名以外の部分とGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ9は、選択したレコードのNAS名912に、抽出したNAS名941を格納する。但し、次に適用される分散格納方式953に「2」が格納されている場合には、親NASサーバ9は、選択したレコードのNAS名912には値を格納しない。次に、親NASサーバ9は、選択したレコードのローカルパス913に、抽出したローカルパス913を格納する。
これによって、親NASサーバ9は、書き込み対象のファイルに適用されている分散格納方式の変更を完了する。
次に、親NASサーバ9は、分散格納方式変更履歴テーブル96を更新する。具体的には、親NASサーバ9は、分散格納方式変更履歴テーブル96に、新たなレコードを追加する。
次に、親NASサーバ9は、新たなレコードの日時961に、現在の日時を格納する。次に、親NASサーバ9は、受信した書込要求から抽出したグローバルパスを、新たなレコードのファイルパス962に格納する。次に、親NASサーバ9は、新たなレコードの変更前の分散格納方式963に、受信した書込要求から抽出したグローバルパスによって特定されるファイルに適用されていた分散格納方式の識別子を格納する。更に、親NASサーバ9は、新たなレコードの変更後の分散格納方式964に、抽出した次に適用される分散格納方式953を格納する。
以上のように、親NASサーバ9は、分散格納方式変更履歴テーブル96を更新する。
次に、親NASサーバ9は、分散格納方式適用状況履歴テーブル97を更新する。具体的には、親NASサーバ9は、分散格納方式Aが適用されているファイルの個数、分散格納方式Bが適用されているファイルの個数及び分散格納方式Cが適用されているファイルの個数を求める。
次に、親NASサーバ9は、分散格納方式適用状況履歴テーブル97に、新たなレコードを追加する。次に、親NASサーバ9は、新たなレコードの日時971に、現在の日時を格納する。
次に、親NASサーバ9は、新たなレコードの分散格納方式Aの適用個数972に、分散格納方式Aが適用されているファイルの個数を格納する。次に、親NASサーバ9は、新たなレコードの分散格納方式Bの適用個数973に、分散格納方式Bが適用されているファイルの個数を格納する。次に、親NASサーバ9は、新たなレコードの分散格納方式Cの適用個数974に、分散格納方式Cが適用されているファイルの個数を格納する。
以上のように、親NASサーバ9は、分散格納方式適用状況履歴テーブル97を更新する。
なお、親NASサーバ9は、分散格納方式変更通知を管理計算機5に送信してもよい。管理計算機5は、分散格納方式変更通知を受信すると、図20に示す分散格納方式変更通知画面を表示する。
そして、親NASサーバ9は、当該書込処理を終了する。
図20は、本発明の実施の形態の管理計算機5に表示される分散格納方式変更通知画面の説明図である。
分散格納方式変更通知画面は、ファイルに適用されている分散格納方式が変更されたことを示す。
ここで、図19に戻る。
ステップS622で自身が親NASサーバ9でないと判定した場合の処理を説明する。NASサーバ1は、受信した書込要求に含まれるファイルを、ディスクサブシステム3に格納する(S641)。次に、NASサーバ1は、格納したファイルに分散格納方式Bが適用されているか否かを判定する(S642)。
当該ファイルに分散格納方式Bが適用されている場合、NASサーバ1は、書込完了通知を親NASサーバ9へ送信する。そして、NASサーバ1は、当該書込処理を終了する。
一方、当該ファイルに分散格納方式Bが適用されていない場合、NASサーバ1は、分散格納方式選択ポリシー138に基づいて、格納したファイルに適用すべき分散格納方式を特定する(S643)。次に、NASサーバ1は、特定した分散格納方式と当該ファイルに現在適用されている分散格納方式とを比較することによって、当該ファイルに適用されている分散格納方式を変更する必要があるか否かを判定する。
分散格納方式の変更が必要ない場合、NASサーバ1は、書込完了通知を親NASサーバ9へ送信する。そして、NASサーバ1は、当該書込処理を終了する。
一方、分散格納方式の変更が必要な場合、NASサーバ1は、格納方式変更要求を含む書込完了通知を親NASサーバ9へ送信する(S644)。なお、格納方式変更要求では、変更後の分散格納方式が指定される。そして、NASサーバ1は、当該書込処理を終了する。
図21は、本発明の実施の形態の親NASサーバ9によって実行される分散格納方式Bの場合の書込処理のフローチャートである。
分散格納方式Bの場合の書込処理は、図19に示す書込処理のステップS624において実行される。
まず、親NASサーバ9は、ステップS623で抽出したグローバルパスと分散格納方式変更管理テーブル95のグローバルパス951及びファイル名952の組み合わせとが一致するレコードが分散格納方式変更管理テーブル95に存在するか否かを判定する(S651及びS652)。
該当レコードが分散格納方式変更管理テーブル95に存在しない場合、書き込み対象のファイルに適用されている分散格納方式は変更される必要がない。そこで、親NASサーバ9は、書き込み対象のファイルのサイズがファイル分割ポリシー92のサイズ921に適合するレコードを、ファイル分割ポリシー92から選択する。次に、親NASサーバ9は、選択したレコードから、分割数922を抽出する。
次に、親NASサーバ9は、書き込み対象のファイルを、抽出した分割数922に分割する(S653)。これによって、親NASサーバ9は、書き込み対象の一つのファイルを複数の分割ファイルとする。
次に、親NASサーバ9は、図19に示す書込処理のステップS623で抽出したローカルパス913と分割ファイル管理テーブル93のローカルパス931とが一致するすべてのレコードを、分割ファイル管理テーブル93から選択する。
次に、親NASサーバ9は、選択したレコードを順番に特定する。次に、親NASサーバ9は、特定したレコードから、NAS名932及び分割ファイルパス933を抽出する。次に、親NASサーバ9は、抽出した分割ファイルパス933によって特定される記憶領域への分割ファイルの格納を要求する書込要求を、抽出したNAS名932によって識別されるNASサーバ1に送信する(S654)。
親NASサーバ9は、分割ファイル管理テーブル93から選択したレコードをすべて特定するまで処理を繰り返す。これによって、親NASサーバ9は、一つの分割ファイルを含む書込要求を、それぞれ異なるNASに送信する。
なお、抽出したローカルパス913と分割ファイル管理テーブル93のローカルパス931とが一致するレコードを選択できなかった場合、親NASサーバ9は、分割ファイルが格納される記憶領域を特定するための分割ファイルパスを設定する。
次に、親NASサーバ9は、設定した分割ファイルパスによって特定される記憶領域への分割ファイルの格納を要求する書込要求を、NASサーバ1に送信する。
更に、親NASサーバ9は、分割ファイル管理テーブル93を更新する。
具体的には、親NASサーバ9は、分割ファイル管理テーブル93に新たなレコードを作成する。次に、親NASサーバ9は、新たなレコードのローカルパス931に、書込処理のステップS623で抽出したローカルパス913を格納する。次に、親NASサーバ9は、設定した分割ファイルパスによって特定される分割ファイルを管理するNASサーバ1の識別子を、新たなレコードのNAS名932に格納する。更に、親NASサーバ9は、設定した分割ファイルパスを、新たなレコードの分割ファイルパス933に格納する。
親NASサーバ9は、書込要求を送信すると、書込要求の送信先となったすべてのNASサーバ1から書込完了通知を受信するまで待機する。親NASサーバ9は、書込要求の送信先となったすべてのNASサーバ1から書込完了通知を受信すると、受信した書込要求に対する応答を、クライアント計算機4に送信する。
次に、親NASサーバ9は、分散格納方式選択ポリシー138に基づいて、書き込み対象のファイルに適用すべき分散格納方式を特定する。次に、親NASサーバ9は、特定した分散格納方式と当該ファイルに現在適用されている分散格納方式とを比較することによって、当該ファイルに適用されている分散格納方式を変更する必要があるか否かを判定する(S665)。
分散格納方式の変更が必要ない場合、親NASサーバ9は、そのまま当該書込処理を終了する。
一方、分散格納方式の変更が必要な場合、親NASサーバ9は、分散格納方式管理テーブル95を更新する(S656)。
具体的には、親NASサーバ9は、分散格納方式変更管理テーブル95に、新たなレコードを作成する。次に、親NASサーバ9は、新たなレコードのグローバルパス951に、受信した書込要求から抽出したグローバルパスのうちファイル名以外の部分を格納する。次に、親NASサーバ9は、新たなレコードのファイル名952に、受信した書込要求から抽出したグローバルパスに含まれるファイル名を格納する。更に、親NASサーバ9は、新たなレコードの次に適用される分散格納方式953に、特定した分散格納方式の識別子を格納する。
このようにして、親NASサーバ9は、分散格納方式変更管理テーブル95を更新する。これによって、親NASサーバ9は、分散格納方式の変更が必要なファイルに対する書込要求を次に受信した時に、当該ファイルに適用されている分散格納方式を変更できる。そして、親NASサーバ9は、当該書込処理を終了する。
一方、ステップS652で該当レコードが分散格納方式変更管理テーブル95に存在する場合、親NASサーバ9は、書き込み対象のファイルに適用されている分散格納方式を変更する必要がある。ここでは、親NASサーバ9は、分散格納方式Bから、分散格納方式A又は分散格納方式Cへ変更する。
この場合、親NASサーバ9は、該当レコードを分散格納方式変更管理テーブル95から選択する。次に、親NASサーバ9は、選択したレコードから、次に適用される分散格納方式953を抽出する。次に、親NASサーバ9は、抽出した次に適用される分散格納方式953と分散格納方式管理テーブル94の対応可能な分散格納方式943とが一致するレコードを分散格納方式管理テーブル94から選択する。なお、当該レコードを分散格納方式管理テーブル94から複数選択できる場合、親NASサーバ9は、任意の方法で一つのレコードを選択する。
次に、親NASサーバ9は、選択したレコードから、NAS名941を抽出する。次に、親NASサーバ9は、抽出したNAS名941とGNS定義テーブル91のNAS名912とが一致するレコードを選択する。次に、親NASサーバ9は、選択したレコードから、ローカルパス913を抽出する(S657)。
次に、親NASサーバ9は、受信した書込要求に含まれるグローバルパスのうちファイル名以外の部分を、抽出したローカルパス913に変換する。そして、親NASサーバ9は、変換した書込要求を、抽出したNAS名941によって識別されるNASサーバ1に送信する(S658)。
次に、親NASサーバ9は、NASサーバ1から書込完了通知を受信するまで待機する。親NASサーバ9は、書込完了通知を受信すると、受信した書込要求に対する応答を、クライアント計算機4に送信する。
更に、親NASサーバ9は、GNS定義テーブル91を更新する(S659)。具体的には、親NASサーバ9は、受信した書込要求から抽出したグローバルパスのうちファイル名以外の部分とGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ9は、選択したレコードのNAS名912に、抽出したNAS名941を格納する。次に、親NASサーバ9は、選択したレコードのローカルパス913に、抽出したローカルパス913を格納する。
これによって、親NASサーバ9は、書き込み対象のファイルに適用されている分散格納方式の変更を完了する。
次に、親NASサーバ9は、分散格納方式変更履歴テーブル96を更新する。更に、親NASサーバ9は、分散格納方式適用状況履歴テーブル97を更新する。
なお、親NASサーバ9は、分散格納方式の変更を管理計算機5に通知してもよい。この場合、管理計算機5は、図20に示す分散格納方式変更通知画面を表示する。
そして、親NASサーバ9は、当該書込処理を終了する。
図22は、本発明の実施の形態のファイルの移動の説明図である。
なお、本説明図は、読出処理におけるファイルの流れを破線で示す。また、書込処理におけるファイルの流れを実線で示す。
親NASサーバ9は、クライアント計算機4から読出要求を受信する。すると、親NASサーバ9は、読み出し対象のファイルを記憶するNASに、当該読出要求を転送する。これによって、親NASサーバ9は、読み出し対象のファイルをNASから受信し、受信したファイルをクライアント計算機4に転送する。
また、親NASサーバ9は、クライアント計算機4から書込要求を受信する。すると、親NASサーバ9は、書き込み対象のファイルに適用されている分散格納方式を変更する必要があるか否かを判定する。
分散格納方式の変更が不要な場合、親NASサーバ9は、書き込み対象のファイルを記憶するNASに、当該書込要求を転送する。
一方、分散格納方式の変更が必要な場合、親NASサーバ9は、変更後の分散格納方式に対応するNASに、書き込み対象のファイルの一部又は全部を含む書込要求を送信する。このようにして、親NASサーバ9は、ファイルの格納先を変更する。つまり、親NASサーバ9は、書き込み対象のファイルをコピーレスで移動できる。更に、親NASサーバ9は、ファイルに適用される分散格納方式を変更できる。
次に、分散格納方式に対応するファイルシステム又はNASサーバ1の追加について説明する。
親NASサーバ9は、所定の契機となると、必要な分散格納方式に対応するファイルシステムを自動的に追加する。
例えば、親NASサーバ9は、書込処理のステップS630において、次に適用される分散格納方式953と分散格納方式管理テーブル94の対応可能な分散格納方式943とが一致するレコードを分散格納方式管理テーブル94から選択できなかった場合、必要な分散格納方式に対応するファイルシステムを自動的に追加する。
他にも、親NASサーバ9は、特定の分散格納方式が適用されているファイルの増加数が所定の値を超えた場合に、当該分散格納方式に対応するファイルシステムを自動的に追加する。なお、親NASサーバ9は、分散格納方式適用状況履歴テーブル97に基づいて、特定の分散格納方式が適用されているファイルの増加数を算出する。
そして、親NASサーバ9は、ファイルシステムを自動的に追加すると、GNS環境変更通知を管理計算機5に送信する。管理計算機5は、GNS環境変更通知を受信すると、図23に示すGNS環境変更通知画面を表示する。
図23は、本発明の実施の形態の管理計算機5に表示されるGNS環境変更通知画面の説明図である。
GNS環境変更通知画面は、分散格納方式に対応するファイルシステムが追加されたことを示す。
なお、親NASサーバ9は、ファイルシステムを自動的に追加するのでなく、必要な分散格納方式に対応するファイルシステム又はNASの追加を管理者に要求してもよい。この場合、親NASサーバ9は、GNS環境変更要求を管理計算機5に送信する。管理計算機5は、GNS環境変更要求を受信すると、図24に示すGNS環境変更要求画面を表示する。
図24は、本発明の実施の形態の管理計算機5に表示されるGNS環境変更要求画面の説明図である。
GNS環境変更通知画面は、分散格納方式に対応するファイルシステムの追加を管理者に要求する。管理者は、サイズを指定してから、当該ファイルシステムの追加を管理計算機5に指示する。すると、管理計算機5は、指定されたサイズを含むファイルシステム追加要求を親NASサーバ9に送信する。親NASサーバ9は、ファイルシステム追加要求を受信すると、要求された分散格納方式に対応するファイルシステムを追加する。
次に、分散格納方式Bが適用されたファイルのスナップショットの取得について説明する。分散格納方式Bが適用されたファイルのスナップショットは、普通に取得できない。なぜなら、普通にスナップショットを取得しようとすると、書込要求によってデータの一部が更新された状態のファイルのスナップショットが取得されてしまう。
これを防止するために、親NASサーバ9は、分散格納方式Bが適用されたファイルのスナップショットを取得する場合、分散格納方式Bの場合のスナップショット処理を実行する。
図25は、本発明の実施の形態の親NASサーバ9によって実行される分散格納方式Bの場合のスナップショット処理のフローチャートである。
まず、親NASサーバ9は、スナップショット取得要求を、管理計算機5などから受信する(S661)。すると、親NASサーバ9は、すべてのNASサーバ1への書込要求の転送を停止する。つまり、親NASサーバ9は、受信した書込要求を一時的に保留しておく(S662)。
次に、親NASサーバ9は、分散格納方式Bが適用されたファイルを管理するすべてのNASサーバ1に、書込処理の最中であるか否かを問い合わせる(S663)。
書込処理の最中のNASサーバ1が一つでも存在する場合、書込要求によるデータの更新が終了していない。そこで、すべてのNASサーバ1が書込処理の最中でなくなるまで、親NASサーバ9は待機する。
一方、すべてのNASサーバ1が書込処理の最中でない場合、書込要求によるデータの更新が終了している。そこで、親NASサーバ9は、すべてのNASサーバ1に、スナップショット取得要求を送信する(S664)。これによって、親NASサーバ9は、NASサーバ1からスナップショットを取得する(S665)。
次に、親NASサーバ9は、取得したスナップショットを、要求元の管理計算機5などに送信する。そして、親NASサーバ9は、分散格納方式Bの場合のスナップショット処理を終了する。
次に、分散格納方式Bの変形例を説明する。
図26は、本発明の実施の形態の分散格納方式Bの変形例の説明図である。
分散格納方式Bでは、一つのファイルは、複数に分割されて、複数のNASに格納される。そのため、分割されたファイルを管理するNASサーバ1の一つにでも障害が発生すると、クライアント計算機4は、当該ファイルにアクセスできなくなってしまう。
この問題を解決するために、分散格納方式Bの変形例では、分散格納方式Bにクラスタファイルシステムが適用される。クラスタファイルシステムでは、複数のNASサーバ1が、ディスクサブシステム3を共有する。本説明図では、四台のNASサーバ1が、三台のディスクサブシステム3を共有している。
クラスタファイルシステムが適用されることによって、分割されたファイルを管理するNASサーバ1のいずれかに障害が発生しても、障害が発生していないNASサーバ1が、ディスクサブシステム3から分割ファイルを取得する。そのため、NASサーバ1に障害が発生しても、クライアント計算機4はファイルにアクセスできる。