(57)【要約】      （修正有）【課題】耐障害性を高めることが出来るようにしたファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法を提供する。【解決手段】第１サイト１は、第１サイト１内の各ノード３を跨って構成される論理的ディレクトリ８をクライアント６に提供する。第１サイト１と第２サイト２との間では、リモートコピーが実行されており、両サイト１，２のデータは同期している。論理的ディレクトリ８の生成とリモートコピーの管理のために、共通の管理テーブルＴが使用され、この管理テーブルＴは全ノード３で保持される。第１サイトが障害で停止した場合、第２サイトは、管理テーブルＴ内のリモートコピーに関する情報を論理的ディレクトリ８の構築に利用し、第２サイト２内に論理的ディレクトリ８を再現する。【選択図】図１
2009003499.tif 000002
【特許請求の範囲】
【請求項１】
第１サイト及び第２サイトを有するファイル共有システムであって、
前記第１サイト内の複数の第１ファイル共有装置と前記第２サイト内の複数の第２ファイル共有装置とは、ファイル単位でのデータ通信が可能な第１通信経路を介して、それぞれ相互通信可能に接続されており、
前記各第１ファイル共有装置に跨って生成される単一の論理的ディレクトリ構成と前記各第１ファイル共有装置がそれぞれ有する第１ディレクトリ構成との対応関係を管理するための第１管理情報を用いることにより、前記各第１ディレクトリ構成を仮想的に一元化してなる前記論理的ディレクトリ構成を、クライアント装置に提供する論理的ディレクトリ提供部と、
前記各第１ファイル共有装置でそれぞれ管理されるデータの記憶位置と前記各第２ファイル共有装置でそれぞれ管理されるデータの記憶位置との対応関係を管理するための第２管理情報を用いることにより、前記各第１ファイル共有装置に記憶されるデータのうちコピー対象のデータを、前記各第１ファイル共有装置に対応づけられている第２ファイル共有装置に送信してコピーさせるコピー制御部と、
前記第１サイトに障害が発生した場合には、前記第１管理情報及び前記第２管理情報を用いることにより、前記各第２ファイル共有装置がそれぞれ有する第２ディレクトリ構成によって前記論理的ディレクトリ構成を再現する再現部と、
を備えるファイル共有システム。
【請求項２】
前記各第１ファイル共有装置がデータを入出力するために使用するボリュームの構成と、前記各第２ファイル共有装置がデータを入出力するために使用するボリュームの構成とが相違している、請求項１に記載のファイル共有システム。
【請求項３】
前記第１管理情報には、前記論理的ディレクトリ構成の各ディレクトリ名と、これら各ディレクトリ名をそれぞれ担当する所定の第１ファイル共有装置を特定するための担当情報と、前記所定の各第１ファイル共有装置で管理されるデータの記憶位置を示すための第１記憶位置情報とがそれぞれ含まれており、
前記第２管理情報には、前記第１記憶位置情報と、前記各第２ファイル共有装置でそれぞれ管理されるデータの記憶位置を示すための第２記憶位置情報と、前記所定の第１ファイル共有装置に対応付けられる第２ファイル共有装置を特定するためのコピー先装置情報とがそれぞれ含まれている、請求項１に記載のファイル共有システム。
【請求項４】
前記第１管理情報と前記第２管理情報とは、共通の管理テーブルに記憶されており、
前記管理テーブルは、前記論理的ディレクトリ構成の各ディレクトリ名と、これら各ディレクトリ名をそれぞれ担当する所定の第１ファイル共有装置を特定するための担当情報と、前記各所定の第１ファイル共有装置で管理されるデータの記憶位置を示す第１記憶位置情報と、前記各所定の第１ファイル共有装置にそれぞれ対応する所定の第２ファイル共有装置を特定するためのコピー先装置情報と、前記各所定の第２ファイル共有装置で管理されるデータの記憶位置を示す第２記憶位置情報とを含んで構成され、
前記再現部は、前記障害が発生した場合に、前記コピー先装置情報を前記担当情報として取り扱うことにより、前記論理的ディレクトリ構成を再現する、請求項１に記載のファイル共有システム。
【請求項５】
前記コピー制御部は、前記第１通信経路を介して、前記コピー対象データを前記第１ファイル共有装置から前記第２ファイル共有装置に送信してコピーさせる、請求項１に記載のファイル共有システム。
【請求項６】
前記各第１ファイル共有装置は、前記第１サイト内の第１ストレージ装置が提供する第１ボリュームにデータを記憶して管理し、
前記各第２ファイル共有装置は、前記第２サイト内の第２ストレージ装置が提供する第２ボリュームにデータを記憶して管理し、
前記第１ストレージ装置と前記第２ストレージ装置とは、ブロック単位でのデータ通信が可能な第２通信経路を介して相互通信可能に接続されており、
前記コピー制御部は、前記第２通信経路を介して、前記コピー対象データを前記第１ボリュームから前記第２ボリュームに転送してコピーさせる、請求項１に記載のファイル共有システム。
【請求項７】
前記第２ボリュームには、コピー元として対応付けられている前記第１ボリュームを識別するためのコピー元ボリューム識別情報が記憶されており、
前記再現部は、前記コピー元ボリューム識別情報と前記第１管理情報及び前記第２管理情報を用いることにより、前記各第２ファイル共有装置がそれぞれ有する第２ディレクトリ構成によって前記論理的ディレクトリ構成を再現する、請求項６に記載のファイル共有システム。
【請求項８】
前記各第１ファイル共有装置及び前記各第２ファイル共有装置は、前記第１管理情報及び前記第２管理情報をそれぞれ保持しており、
前記第１サイトまたは前記第２サイトのいずれかで、前記論理的ディレクトリ構成または前記コピーに関する構成が変更された場合には、この構成変更に関わる差分情報が前記各第１ファイル共有装置及び前記各第２ファイル共有装置にそれぞれ通知され、前記各第１ファイル共有装置及び前記各第２ファイル共有装置でそれぞれ保持される前記第１管理情報または前記第２管理情報に前記差分情報が反映される、請求項１に記載のファイル共有システム。
【請求項９】
ファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法であって、
前記ファイル共有システムは、複数の第１ファイル共有装置を有する第１サイトと、複数の第２ファイル共有装置を有する第２サイトと、前記各第１ファイル共有装置と前記各第２ファイル共有装置とがファイル単位のデータ通信を行えるように接続する第１通信経路とを備えており、
前記各第１ファイル共有装置に跨って生成される単一の論理的ディレクトリ構成と前記各第１ファイル共有装置がそれぞれ有する第１ディレクトリ構成との対応関係を管理するための第１管理情報を設定するステップと、
前記第１管理情報を用いて、前記各第１ディレクトリ構成を仮想的に一元化してなる前記論理的ディレクトリ構成を、前記クライアント装置に提供するステップと、
前記各第１ファイル共有装置でそれぞれ管理されるデータの記憶位置と前記各第２ファイル共有装置でそれぞれ管理されるデータの記憶位置との対応関係を管理するための第２管理情報を設定するステップと、
前記第２管理情報を用いることにより、前記各第１ファイル共有装置に記憶されるデータのうちコピー対象のデータを、前記各第１ファイル共有装置に対応づけられている第２ファイル共有装置に送信してコピーさせるステップと、
前記第１サイトに障害が発生したか否かを検出するステップと、
前記障害の発生が検出された場合には、前記第１管理情報及び前記第２管理情報を用いることにより、前記各第２ファイル共有装置がそれぞれ有する第２ディレクトリ構成によって前記論理的ディレクトリ構成を再現するステップと、
をそれぞれ実行する、
ファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法。
【請求項１０】
第１サイト及び第２サイトを有するファイル共有システムであって、
（１）前記第１サイトは、
（1-1）それぞれ第１ディレクトリ構成を有する複数の第１ファイル共有装置と、
（1-2）前記各第１ファイル共有装置に第１のサイト内通信ネットワークを介して接続されており、前記各第１ファイル共有装置にそれぞれ第１ボリュームを提供する第１ストレージ装置と、
（1-3）前記各第１ファイル共有装置に所定の通知を行うマスタ装置と、
を備え、
（２）前記第２サイトは、
（2-1それぞれ第２ディレクトリ構成を有し、かつ、前記第１ファイル共有装置の数と異なる数の複数の第２ファイル共有装置と、
（2-2）前記各第２ファイル共有装置に第２のサイト内通信ネットワークを介して接続されており、前記各第２ファイル共有装置にそれぞれ第２ボリュームを提供する第２ストレージ装置と、
（2-3）前記各第２ファイル共有装置に所定の通知を行うサブマスタ装置と、
を備え、
（３）前記各第１ファイル共有装置と前記各第２ファイル共有装置とは、ファイル単位でのデータ通信が可能な第１通信経路を介して接続されており、前記第１ストレージ装置と前記第２ストレージ装置とは、ブロック単位でのデータ通信が可能な第２通信経路を介して接続されており、
（４）前記各第１ファイル共有装置、前記各第２ファイル共有装置、前記マスタ装置及び前記サブマスタ装置は、それぞれ管理テーブルを保持しており、この管理テーブルは、前記論理的ディレクトリ構成の各ノード名に相当する各ディレクトリ名と、これら各ディレクトリ名をそれぞれ担当する所定の第１ファイル共有装置を特定するための担当情報と、前記各所定の第１ファイル共有装置で管理されるデータの記憶位置を示す第１記憶位置情報と、前記各所定の第１ファイル共有装置にそれぞれ対応する所定の第２ファイル共有装置を特定するためのコピー先装置情報と、前記各所定の第２ファイル共有装置で管理されるデータの記憶位置を示す第２記憶位置情報とを含んで構成され、
（５）前記マスタ装置は、前記管理テーブルを用いることにより、前記各第１ファイル共有装置に跨って生成される単一の論理的ディレクトリ構成を生成して、クライアント装置に提供し、
（６）前記各第１ファイル共有装置は、前記管理テーブルを用いることにより、前記第１ボリュームに記憶されたデータを、前記第１通信経路を介して前記各第２ファイル共有装置に送信して前記第２ボリュームに記憶させ、
（７）前記サブマスタ装置は、ファイルオーバの実行が指示された場合、前記管理テーブル中の前記コピー先装置情報を前記担当情報として取り扱うことにより、前記各第２ファイル共有装置がそれぞれ有する第２ディレクトリ構成によって前記論理的ディレクトリ構成を再現させる、
ファイル共有システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法に関する。
【背景技術】
【０００２】
ネットワーク上に分散された複数のコンピュータ間でデータを共有するために、ＮＡＳ（Network Attached Storage）と呼ばれるファイル共有装置が用いられる。データは日々生産され、データを利用するクライアント端末も増大する一方である。このため、複数のＮＡＳを用いて多量のデータを管理する必要がある。
【０００３】
しかし、ユーザは、所望のファイルにアクセスする場合、そのファイルが記憶されている物理的なＮＡＳを特定し、そのＮＡＳにアクセスする必要がある。即ち、ユーザは、ファイル名がわかっていても、ファイルの物理的保管場所を知らなければ、そのファイルにアクセスすることはできない。
【０００４】
従って、あるファイルを一方のＮＡＳから他方のＮＡＳに移動させただけでも、各ユーザにファイルの移動を通知する必要がある。さらに、例えば、性能向上のためにＮＡＳを増設したり、老朽化したＮＡＳを新型のＮＡＳに入れ替えたり、クライアント端末の数が増加したりした場合等も、これらの構成変更に伴って膨大な管理工数が発生し、システム管理者の手間がかかる。そこで、近年では、各ＮＡＳのディレクトリ構成を仮想化して、単一の論理的なディレクトリ構成を生成するシステムが提案されている（特許文献１，特許文献２、特許文献３）。
【特許文献１】特開２００７−３５０３０号公報
【特許文献２】特開２００３−５８４０８号公報
【特許文献３】米国特許出願公開番号第２００６／００１０１６９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来技術では、複数のＮＡＳのディレクトリ構成を単一の論理的ディレクトリ構成に仮想化してクライアント端末に提供するため、物理的なＮＡＳの増減等が発生した場合でも、論理的ディレクトリ構成に影響を与えることがない。これにより、ユーザは、物理的構成変更を意識することなく、今まで通りの論理的なディレクトリ名を用いて、所望のファイルにアクセスすることができる。
【０００６】
しかし、上記文献には、ディザスタリカバリに関する観点が欠けている。ディザスタリカバリを意識したシステムでは、複数のサイトでデータを同期させておき、一方のサイトが障害で停止した場合でも、他方のサイトでファイルへのアクセスを可能とする。上記文献には、ディザスタリカバリを意識したシステム構成について開示されていないため、耐障害性の点で改善の余地がある。
【０００７】
本発明は、上記の問題点に鑑みてなされたもので、その目的は、耐障害性を高めることができるようにしたファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法を提供することにある。本発明の他の目的は、互いに構成の異なる複数のサイト間でデータを同期させ、障害発生時には予備サイトで単一の論理的ディレクトリ構成を再現することができるようにしたファイル共有システム及び及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法を提供することにある。本発明のさらに別の目的は、単一の論理的ディレクトリ構成を生成するために使用する管理情報とコピー制御に使用する管理情報とを統合することにより、障害の発生時に、物理的構成の異なるサイトで単一の論理的ディレクトリ構成を比較的速やかに再現できるようにしたファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００８】
上記課題を解決すべく、本発明に従う、第１サイト及び第２サイトを有するファイル共有システムは、第１サイト内の複数の第１ファイル共有装置と第２サイト内の複数の第２ファイル共有装置とは、ファイル単位でのデータ通信が可能な第１通信経路を介して、それぞれ相互通信可能に接続されており、各第１ファイル共有装置に跨って生成される単一の論理的ディレクトリ構成と各第１ファイル共有装置がそれぞれ有する第１ディレクトリ構成との対応関係を管理するための第１管理情報を用いることにより、各第１ディレクトリ構成を仮想的に一元化してなる論理的ディレクトリ構成を、クライアント装置に提供する論理的ディレクトリ提供部と、各第１ファイル共有装置でそれぞれ管理されるデータの記憶位置と各第２ファイル共有装置でそれぞれ管理されるデータの記憶位置との対応関係を管理するための第２管理情報を用いることにより、各第１ファイル共有装置に記憶されるデータのうちコピー対象のデータを、各第１ファイル共有装置に対応づけられている第２ファイル共有装置に送信してコピーさせるコピー制御部と、第１サイトに障害が発生した場合には、第１管理情報及び第２管理情報を用いることにより、各第２ファイル共有装置がそれぞれ有する第２ディレクトリ構成によって論理的ディレクトリ構成を再現する再現部と、を備える。
【０００９】
本発明の実施形態では、各第１ファイル共有装置がデータを入出力するために使用するボリュームの構成と、各第２ファイル共有装置がデータを入出力するために使用するボリュームの構成とが相違している。
【００１０】
本発明の実施形態では、第１管理情報には、論理的ディレクトリ構成の各ディレクトリ名と、これら各ディレクトリ名をそれぞれ担当する所定の第１ファイル共有装置を特定するための担当情報と、所定の各第１ファイル共有装置で管理されるデータの記憶位置を示すための第１記憶位置情報とがそれぞれ含まれており、第２管理情報には、第１記憶位置情報と、各第２ファイル共有装置でそれぞれ管理されるデータの記憶位置を示すための第２記憶位置情報と、所定の第１ファイル共有装置に対応付けられる第２ファイル共有装置を特定するためのコピー先装置情報とがそれぞれ含まれている。
【００１１】
本発明の実施形態では、第１管理情報と第２管理情報とは、共通の管理テーブルに記憶されており、管理テーブルは、論理的ディレクトリ構成の各ディレクトリ名と、これら各ディレクトリ名をそれぞれ担当する所定の第１ファイル共有装置を特定するための担当情報と、各所定の第１ファイル共有装置で管理されるデータの記憶位置を示す第１記憶位置情報と、各所定の第１ファイル共有装置にそれぞれ対応する所定の第２ファイル共有装置を特定するためのコピー先装置情報と、各所定の第２ファイル共有装置で管理されるデータの記憶位置を示す第２記憶位置情報とを含んで構成され、再現部は、障害が発生した場合に、コピー先装置情報を担当情報として取り扱うことにより、論理的ディレクトリ構成を再現する。
【００１２】
本発明の実施形態では、コピー制御部は、第１通信経路を介して、コピー対象データを第１ファイル共有装置から第２ファイル共有装置に送信してコピーさせる。
【００１３】
本発明の実施形態では、各第１ファイル共有装置は、第１サイト内の第１ストレージ装置が提供する第１ボリュームにデータを記憶して管理し、各第２ファイル共有装置は、第２サイト内の第２ストレージ装置が提供する第２ボリュームにデータを記憶して管理し、第１ストレージ装置と第２ストレージ装置とは、ブロック単位でのデータ通信が可能な第２通信経路を介して相互通信可能に接続されており、コピー制御部は、第２通信経路を介して、コピー対象データを第１ボリュームから第２ボリュームに転送してコピーさせるようになっている。
【００１４】
本発明の実施形態では、第２ボリュームには、コピー元として対応付けられている第１ボリュームを識別するためのコピー元ボリューム識別情報が記憶されており、再現部は、コピー元ボリューム識別情報と第１管理情報及び第２管理情報を用いることにより、各第２ファイル共有装置がそれぞれ有する第２ディレクトリ構成によって論理的ディレクトリ構成を再現する。
【００１５】
本発明の実施形態では、各第１ファイル共有装置及び各第２ファイル共有装置は、第１管理情報及び第２管理情報をそれぞれ保持しており、第１サイトまたは第２サイトのいずれかで、論理的ディレクトリ構成またはコピーに関する構成が変更された場合には、この構成変更に関わる差分情報が各第１ファイル共有装置及び各第２ファイル共有装置にそれぞれ通知され、各第１ファイル共有装置及び各第２ファイル共有装置でそれぞれ保持される第１管理情報または第２管理情報に差分情報が反映される。
【００１６】
本発明の他の観点に従う、ファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法は、ファイル共有システムは、複数の第１ファイル共有装置を有する第１サイトと、複数の第２ファイル共有装置を有する第２サイトと、各第１ファイル共有装置と各第２ファイル共有装置とがファイル単位のデータ通信を行えるように接続する第１通信経路とを備えており、各第１ファイル共有装置に跨って生成される単一の論理的ディレクトリ構成と各第１ファイル共有装置がそれぞれ有する第１ディレクトリ構成との対応関係を管理するための第１管理情報を設定するステップと、第１管理情報を用いて、各第１ディレクトリ構成を仮想的に一元化してなる論理的ディレクトリ構成を、クライアント装置に提供するステップと、各第１ファイル共有装置でそれぞれ管理されるデータの記憶位置と各第２ファイル共有装置でそれぞれ管理されるデータの記憶位置との対応関係を管理するための第２管理情報を設定するステップと、第２管理情報を用いることにより、各第１ファイル共有装置に記憶されるデータのうちコピー対象のデータを、各第１ファイル共有装置に対応づけられている第２ファイル共有装置に送信してコピーさせるステップと、第１サイトに障害が発生したか否かを検出するステップと、障害の発生が検出された場合には、第１管理情報及び第２管理情報を用いることにより、各第２ファイル共有装置がそれぞれ有する第２ディレクトリ構成によって論理的ディレクトリ構成を再現するステップと、をそれぞれ実行する。
【００１７】
本発明のさらに別の観点に従う、第１サイト及び第２サイトを有するファイル共有システムは、（１）第１サイトは、（1-1）それぞれ第１ディレクトリ構成を有する複数の第１ファイル共有装置と、（1-2）各第１ファイル共有装置に第１のサイト内通信ネットワークを介して接続されており、各第１ファイル共有装置にそれぞれ第１ボリュームを提供する第１ストレージ装置と、（1-3）各第１ファイル共有装置に所定の通知を行うマスタ装置と、を備え、（２）第２サイトは、（2-1それぞれ第２ディレクトリ構成を有し、かつ、第１ファイル共有装置の数と異なる数の複数の第２ファイル共有装置と、（2-2）各第２ファイル共有装置に第２のサイト内通信ネットワークを介して接続されており、各第２ファイル共有装置にそれぞれ第２ボリュームを提供する第２ストレージ装置と、（2-3）各第２ファイル共有装置に所定の通知を行うサブマスタ装置と、を備え、（３）各第１ファイル共有装置と各第２ファイル共有装置とは、ファイル単位でのデータ通信が可能な第１通信経路を介して接続されており、第１ストレージ装置と第２ストレージ装置とは、ブロック単位でのデータ通信が可能な第２通信経路を介して接続されており、（４）各第１ファイル共有装置、各第２ファイル共有装置、マスタ装置及びサブマスタ装置は、それぞれ管理テーブルを保持しており、この管理テーブルは、論理的ディレクトリ構成の各ノード名に相当する各ディレクトリ名と、これら各ディレクトリ名をそれぞれ担当する所定の第１ファイル共有装置を特定するための担当情報と、各所定の第１ファイル共有装置で管理されるデータの記憶位置を示す第１記憶位置情報と、各所定の第１ファイル共有装置にそれぞれ対応する所定の第２ファイル共有装置を特定するためのコピー先装置情報と、各所定の第２ファイル共有装置で管理されるデータの記憶位置を示す第２記憶位置情報とを含んで構成され、（５）マスタ装置は、管理テーブルを用いることにより、各第１ファイル共有装置に跨って生成される単一の論理的ディレクトリ構成を生成して、クライアント装置に提供し、（６）各第１ファイル共有装置は、管理テーブルを用いることにより、第１ボリュームに記憶されたデータを、第１通信経路を介して各第２ファイル共有装置に送信して第２ボリュームに記憶させ、（７）サブマスタ装置は、ファイルオーバの実行が指示された場合、管理テーブル中のコピー先装置情報を担当情報として取り扱うことにより、各第２ファイル共有装置がそれぞれ有する第２ディレクトリ構成によって論理的ディレクトリ構成を再現させる。
【００１８】
本発明の各部、各ステップの少なくとも一部は、コンピュータプログラムにより実現可能な場合がある。このようなコンピュータプログラムは、例えば、記憶デバイスに記憶されて、あるいは、通信ネットワークを介して、流通される。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明の実施形態の概要を示す説明図である。図１（ａ）に示すファイル共有システムは、例えば、第１サイト１と第２サイト２とを備え、各サイト１，２内には、「ファイル共有装置」としてのＮＡＳノード（以下、ノードと略す場合がある）３とボリューム４とがそれぞれ設けられている。各ＮＡＳノード３と、管理装置５と、クライアント装置（以下、クライアント）６とは、ファイル単位でデータ通信が可能な第１通信経路９を介してそれぞれ相互通信可能に接続されている。
【００２０】
第１サイト１は、ローカルサイトまたはメインサイトと呼ぶことができ、各クライアント６に単一の論理的ディレクトリ８を提供する。論理的ディレクトリ８は、第１サイト１内の各ＮＡＳノード３が有するディレクトリツリーを仮想的に一元化したものであり、クライアント６は、ファイルの実際の記憶場所を意識することなく、論理的ディレクトリ８上のファイルにアクセスすることができる。例えば、論理的ディレクトリのノード名に相当する名称を「経理部」、「開発本部」等のような部署名とすることにより、ユーザは、実際のファイル群がどのＮＡＳノードに記憶されているのかを全く意識することなく、必要なファイルにアクセスすることができる。このような単一の論理的ディレクトリを生成する技術は、ＧＮＳ（Global Name Space）として知られている。なお、ＧＮＳに関しては、ＵＳ２００６−００１０１６９Ａ１（米国出願番号１０／８８６８９２）に開示された技術を援用することができる。
【００２１】
第１サイト１は、上述のように、各クライアント６に論理的ディレクトリ８を提供するサイトであり、第２サイト２は第１サイト１が停止した場合に備えて設けられているリモートサイト（またはバックアップサイト）である。第１サイト１内の各ノード３（Ｎ１，Ｎ２）は、それぞれボリューム４を使用可能である。このボリューム４は、後述の実施例から明らかとなるように、例えば、ディスクアレイ装置のようなストレージ装置によって提供される。
【００２２】
例えば、第１サイト１内の各ノード３のうち少なくとも一つのノード３（例えば、Ｎ１）をマスタノードとして使用できる。マスタノード３（Ｎ１）は、テーブルＴを用いることにより、クライアント６から発行されたファイルアクセス要求を、その要求されたファイルを実際に記憶している記憶先ノード３（例えば、Ｎ２）へのファイルアクセス要求に変換して、記憶先ノード３（Ｎ２）に転送する。
【００２３】
ファイルアクセス要求がライトアクセスの場合、記憶先ノード３（Ｎ２）は、クライアント６からライトデータを直接受領し、記憶先ノード３（Ｎ２）の管理下にあるボリューム４に書き込む。
【００２４】
このように、マスタノード３（Ｎ１）は、クライアント６からのアクセス要求を代表して受け付け、アクセス先のファイルを実際に記憶するノード（担当ノードとも呼ぶ）に転送する機能を備える。これにより、クライアント６に単一の論理的ディレクトリ８が提供される。ファイルアクセス要求の実際の処理は、担当ノード３（Ｎ２）によって行われ、その処理結果は担当ノード３（Ｎ２）からクライアント６に直接送信される。アクセス先のファイルが、マスタノード３（Ｎ１）のボリューム４に記憶されている場合、マスタノード３（Ｎ１）自身が担当ノードとして、ファイルアクセスを処理する。
【００２５】
マスタノード３（Ｎ１）は、クライアント６からのファイルアクセス要求（アクセスパス）と実際の担当ノード３（Ｎ２）との関係を管理し、アクセス要求を担当ノード３（Ｎ２）に振り分ける作業を行う。このため、例えば、クライアント６の数やノードの処理性能等によっても相違するが、マスタノード３（Ｎ１）の処理負荷は、他のノード３（Ｎ２）よりも高くなると考えられる。従って、マスタノード３（Ｎ１）は、ボリューム４を備える必要はなく、論理的ディレクトリ８の提供に専念してもよい。また、マスタノード３（Ｎ１）に障害が発生した場合に備えて、第１サイト１内の他のノード３（Ｎ２）を、第２マスタノードとして予め設定しておくこともできる。
【００２６】
第２サイト２は、第１サイト１と同様に、ＮＡＳノード３と、ボリューム４とを備えている。紙面の都合上、第２サイト２には、１つのノード３（Ｎ３）のみを示すが、後述の実施例からも明らかなように、実際には、第２サイト２内に複数のノード３を設けることができる。
【００２７】
第２サイト２は、第１サイト１が停止した場合に備える予備のサイトであり、第１サイト１内の各ノード３（Ｎ１，Ｎ２）で管理されているファイル群と同一のファイル群を、第２サイト２内のボリューム４内に記憶している。即ち、第１サイト１内の各ノード３（Ｎ１，Ｎ２）をコピー元ノードとし、第２サイト２内のノード３（Ｎ３）をコピー先ノードとして、リモートコピーが行われる。
【００２８】
リモートコピーは、例えば、インターネットやＬＡＮ（Local Area Network）のような第１通信経路９を介して、ファイル単位で行われる。コピー先ノード３（Ｎ３）は、一つのボリューム４内に複数のディレクトリを作成することにより、複数のコピー元ディレクトリを一つのボリューム４内にまとめることができる。
【００２９】
即ち、図１に示す例では、一方のコピー元ノード３（Ｎ１）のディレクトリは、コピー先ノード３（Ｎ３）の一方のディレクトリ（/Home/001）に対応付けられ、他方のコピー元ノード３（Ｎ２）のディレクトリは、コピー先ノード３（Ｎ３）の他方のディレクトリ（/Home/002）に対応付けられる。コピー先ノード３（Ｎ３）は、コピー先ディレクトリを複数用意することにより、複数のコピー元ノード３（Ｎ１，Ｎ２）からのデータを受け入れて保存することができる。
【００３０】
つまり、第１サイト１内の物理的資源の構成と第２サイト２内の物理的資源の構成とは、異なっている。一般的には、第２サイト２の方が第１サイト１よりも、物理的資源の量が少なくなるように設定される。第２サイト２は、予備のサイトであり、システム全体のコストを低減するためである。
【００３１】
各サイト１，２の各ノード３は、管理テーブルＴを共有している。即ち、システム内の全ノード３は、同一の管理テーブルＴをそれぞれ保持している。管理テーブルＴの概略構成が、図１（ｂ）に示されている。
【００３２】
管理テーブルＴは、例えば、ＧＮＳ管理情報とコピー管理情報とを備えている。ＧＮＳ管理情報は、論理的ディレクトリ８を構築するために必要な情報であり、例えば、論理的ディレクトリのディレクトリ名、そのディレクトリを担当するノードを特定するための情報、そのディレクトリで管理されるファイル群が実際に記憶されている位置（図中「実体」と示す）を示す情報を含んで構成される。
【００３３】
コピー管理情報は、第１サイト１内のコピー対象のファイル群を第２サイト２内にコピーして記憶させるために必要な情報である。コピー管理情報は、例えば、コピー元ノードを特定するための情報と、コピー対象データの所在を特定するための情報と、コピー先ノードを特定するための情報と、コピー対象データの記憶先を示す情報（図中、「実体」と示す）とを含んで構成される。
【００３４】
ＧＮＳ管理情報で使用される「担当ノード」は、コピー元ノードに相当する。コピー対象データの所在を示す情報とは、ＧＮＳ管理情報で使用される「実体」に相当する。従って、管理テーブルＴは、ＧＮＳ管理情報とコピー管理情報とを統合して管理する。
【００３５】
上述のように、マスタノード３（Ｎ１）は、管理テーブルＴ内のＧＮＳ管理情報に基づいて、クライアント６からのファイルアクセス要求を、担当ノード用のファイルアクセス要求に変換して転送する。第１サイト１内の各ノード３（Ｎ１，Ｎ２）は、管理テーブルＴを用いることにより、コピー先ノードの所定ディレクトリにコピー対象データを送信してコピーさせる。
【００３６】
もしも、第１サイト１に災害等が発生して停止した場合、第２サイト２を用いて、業務処理の継続を行う。第２サイト２内のサブマスタノード３（Ｎ３）は、例えば、管理装置５からの明示の指示基づいて、第２サイト２内で論理的ディレクトリ８を再現する。上述のように、論理的ディレクトリ８を構築するためには、論理的ディレクトリのディレクトリ名と、そのディレクトリを担当するノードを特定するための情報と、そのディレクトリで管理されるファイル群が実際に記憶されている位置を示す情報とが必要となる。
【００３７】
図１（ｂ）の下側に示すように、第１サイト１に障害が発生した場合、サブマスタノード３（Ｎ３）は、コピー管理情報の「コピー先ノード」を「担当ノード」と同等の情報であるとして取り扱う。これにより、クライアント６は、論理的ディレクトリ８に基づいてファイルアクセスを要求することができ、第２サイト２に保存されているファイル群を用いて、そのファイルアクセス要求を処理することができる。
【００３８】
つまり、ＧＮＳ管理とコピー管理との両方に使用される管理テーブルＴを用い、「コピー先ノード」を担当ノードとして取り扱うことにより、論理的ディレクトリ８の再現に必要な全ての情報を得ることができるようになっている。
【００３９】
このように構成される本実施形態では、各サイト１，２間で実行されるリモートコピーを利用することにより、第１サイト１の停止時に、第２サイト２に論理的ディレクトリ８を再現することができる。
【００４０】
即ち、本実施形態では、複数のサイト１，２を第１通信経路９で接続し、第１サイト１内のデータと第２サイト２内のデータを予め同期させ、かつ、第１サイト１に障害が発生した場合には、第２サイト２内で論理的ディレクトリ８を再現することができる。従って、各サイト１，２間で物理的資源の構成が異なる場合でも、耐障害性を向上させて論理的ディレクトリ８を提供することができる。
【００４１】
本実施形態では、ＧＮＳ管理情報とコピー管理情報とを統合する管理テーブルＴを用い、第１サイト１に障害が発生した場合には、コピー管理情報の一部（コピー先ノードを特定する情報及びコピー対象データの格納先を示す情報）を、ＧＮＳ管理情報の一部（担当ノードを特定するための情報及び実データの格納先を示す情報）として取り扱うことにより、比較的速やかに、第２サイト２内に論理的ディレクトリ８を再現できる。以下、本発明の実施例を詳細に説明する。
【実施例１】
【００４２】
図２は、本実施例によるファイル共有システムの全体構成を示す説明図である。このシステムでは、例えば、ローカルサイト１０とリモートサイト２０とを、ＬＡＮやインターネットのようなサイト間ネットワークＣＮ３を介して接続している。
【００４３】
各サイト１０，２０は、例えば、それぞれ複数のＮＡＳノード３０と、スイッチ４０と、管理装置５０と、ストレージ装置１００等を備えることができる。各ノード３０は、それぞれの位置するサイト内で、サイト内ネットワークＣＮ２を介して接続されている。そして、各サイト１０，２０内のサイト内ネットワークＣＮ２は、サイト間ネットワークＣＮ３を介して接続されている。
【００４４】
サイト間ネットワークＣＮ３には、論理的ディレクトリを用いてファイルにアクセスする複数のクライアント６０が接続される（１つのみ図示）。管理装置５０は、各サイト１０，２０内にそれぞれ個別に設けることもできるし、両サイト１０，２０から離れた場所に設けることもできる。管理装置５０の役割については後述する。
【００４５】
ここで、図１との対応関係を述べる。ローカルサイト１０は図１中の第１サイト１に、リモートサイト２０は図１中の第２サイト２に、ＮＡＳノード３０は図１中のＮＡＳノード３に、管理装置５０は図１中の管理装置５に、クライアント６０は図１中のクライアント６に、それぞれ該当する。論理ボリューム１２３は図１中のボリューム４に、後述の管理テーブルＴ１０は図１中の管理テーブルＴに、それぞれ該当する。
【００４６】
ローカルサイト１０を説明する。ローカルサイト１０は、通常時において、クライアント６０にＧＮＳを提供するものである。ローカルサイト１０内の各ノード３０（Ａ〜Ｄ）は、例えば、ファイバチャネルスイッチとして構成されるスイッチ４０を介して、ストレージ装置（図中、ＤＫＣ）１００にそれぞれ接続されている。各ノード３０は、ストレージ装置１００により提供されるボリューム１２３にそれぞれ対応付けられている。各ノード３０は、自分自身に割り当てられたボリューム１２３に対してデータを読み書きすることができる。
【００４７】
リモートサイト２０は、ローカルサイト１０に障害が発生した場合に備えて設けられているサイトである。リモートサイト２０内の各ノード３０（Ｆ，Ｇ）も、スイッチ４０を介して、ストレージ装置１００に接続されており、自分自身に割り当てられたボリューム１２３を使用するようになっている。
【００４８】
図３は、一つのサイト内の構成を詳細に示す説明図である。ＮＡＳノード３０は、例えば、マイクロプロセッサ（図中、ＣＰＵ）３１と、メモリ３２と、下位通信インターフェース部（図中、ＨＢＡ）３３と、上位通信インターフェース部（図中、I/F）３４と、ユーザインターフェース部（図中、ＵＩ）３５とを備え、これら各部３１〜３５はバス３６によって接続されている。
【００４９】
メモリ３２には、例えば、ＮＡＳ−ＯＳ３２Ａと、各種プログラム３２Ｂと、テーブルＴ１とを記憶させることができる。ＮＡＳ−ＯＳ３２Ａは、ファイル共有を行うためのオペレーティングシステムである。各種プログラム３２Ｂは、後述するＧＮＳ生成機能やリモートコピー機能等を実現するためのプログラムである。テーブルＴ１は、ＧＮＳの生成やリモートコピーに使用されるテーブルである。これらのＯＳ３２Ａやプログラム３２Ｂをマイクロプロセッサ３１が実行することにより、ＮＡＳノード３０は、ファイル共有サービス等を実現する。
【００５０】
下位通信インターフェース部３３は、例えば、ファイバチャネルプロトコルに基づいて、ストレージ装置１００とブロック単位の通信を行うためのものである。上位通信インターフェース部３４は、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）に基づいて、他のＮＡＳノード３０やクライアント６０と、ファイル単位の通信を行うためのものである。ユーザインターフェース部３５は、例えば、ディスプレイ装置等の情報出力装置と、キーボードスイッチ等の情報入力装置とを備えている。
【００５１】
管理装置５０は、各ノード３０やストレージ装置１００を管理するための管理ツール５０Ａを備えたコンピュータ装置である。管理装置５０は、各ノード３０に後述の各種指示を与えたり、あるいは、ストレージ装置１００の構成を変更させることができる。ストレージ装置１００の構成変更としては、例えば、ボリューム１２３の生成や削除、ボリューム１２３の接続先変更等を挙げることができる。
【００５２】
ストレージ装置１００は、例えば、コントローラ１１０と、記憶デバイス搭載部（図中、ＨＤＵ）１２０とを備えて構成される。コントローラ１１０は、ストレージ装置１００の動作を制御するものである。コントローラ１１０は、例えば、複数のチャネルアダプタ（以下、ＣＨＡ）１１１と、複数のディスクアダプタ（図中では一つのみ図示。以下、ＤＫＡ）１１２と、共有メモリ（図中、ＳＭ）１１３と、キャッシュメモリ（以下、ＣＭ）１１４と、接続制御部１１５と、サービスプロセッサ（以下、ＳＶＰ）１１６とを備えて構成される。
【００５３】
ＣＨＡ１１１は、例えば、ＦＣＰ（Fibre Channel Protocol）に基づいた通信を行うためのコンピュータ装置である。ＣＨＡ１１１は、例えば、マイクロプロセッサやメモリ等を搭載した一つまたは複数の基板から構成されており、そのメモリには、ＦＣＰに基づいたコマンドを解釈して実行するためのプログラム等が記憶されている。ＣＨＡ１１１は、少なくとも一つ以上のファイバチャネルインターフェース（図中、FC-I/Fと表示）１１１Ａを備えている。ファイバチャネルインターフェース１１１Ａは、ＷＷＮが予め設定されている。
【００５４】
ＤＫＡ１１２は、ＨＤＵ１２０が有するディスクドライブ１２１との間でデータ授受を行うものである。ＤＫＡ１１２は、ＣＨＡ１１１と同様に、マイクロプロセッサやメモリ等を備えたコンピュータ装置として構成される。図中では、便宜上、ＤＫＡ１１２を一つだけ示してるが、実際には、複数設けられる。
【００５５】
ＤＫＡ１１２は、ファイバチャネルを介して、ＨＤＵ１２０内の各ディスクドライブ１２１にそれぞれ接続されている。ＤＫＡ１１２は、各ＣＨＡ１１１により受信されてキャッシュメモリ１１４に記憶されたデータを、所定のディスクドライブ１２１内の所定のアドレスに書き込む。ＤＫＡ１１２は、各ＣＨＡ１１１から要求されたデータを、所定のディスクドライブ１２１から読み出して、キャッシュメモリ１１４に記憶させる。
【００５６】
ＤＫＡ１１２は、論理的なアドレスを物理的なアドレスに変換する。論理的なアドレスとは、論理ボリュームのブロック位置を示すアドレスであり、ＬＢＡ（Logical Block Address）と呼ばれる。物理的なアドレスとは、ディスクドライブ１２１における書込み位置を示すアドレスである。ＤＫＡ１１２は、ディスクドライブ１２１がＲＡＩＤに従って管理されている場合、ＲＡＩＤ構成に応じたデータアクセスを行う。例えば、ＤＫＡ１１２は、同一のデータを複数のディスクドライブ１２１にそれぞれ書き込んだり（ＲＡＩＤ１）、あるいは、パリティ計算を実行して、データ及びパリティを複数のディスクドライブ１２１に分散して書き込む（ＲＡＩＤ５等）。
【００５７】
共有メモリ１１３は、ストレージ装置１００の作動を制御するために用いられる各種の管理情報及び制御情報等を記憶するためのメモリである。キャッシュメモリ１１４は、ＣＨＡ１１１により受信されたデータを記憶したり、または、ＤＫＡ１１２によってディスクドライブ１２１から読み出されたデータを記憶したりするためのメモリである。
【００５８】
ディスクドライブ１２１のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。図示のように、キャッシュメモリ１１４と共有メモリ１１３とは、それぞれ別々のメモリとして構成してもよい。または、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用してもよい。
【００５９】
接続制御部１１５は、ＣＨＡ１１１，ＤＫＡ１１２，キャッシュメモリ１１４及び共有メモリ１１３を相互に接続させるものである。接続制御部１１５は、例えば、高速スイッチング動作によってデータ伝送を行うクロスバスイッチ等のように構成される。
【００６０】
ＳＶＰ１１６は、例えば、ＬＡＮのような通信ネットワークを介して、各ＣＨＡ１１１とそれぞれ接続されている。ＳＶＰ１１６は、例えば、ＣＨＡ１１１を介して、ＤＫＡ１１２やキャッシュメモリ１１４及び共有メモリ１１３にアクセスすることができる。ＳＶＰ１１６は、ストレージ装置１００内の各種状態に関する情報を収集して、管理装置５０に提供する。ユーザは、管理装置５０の画面を介して、ストレージ装置１００の各種状態を知ることができる。
【００６１】
ＳＶＰ１１６，各ノード３０内の上位通信インターフェース部３４，管理装置５０は、サイト内ネットワークＣＮ２を介して双方向通信可能に接続されている。ユーザは、管理装置５０からＳＶＰ１１６を介して、例えば、ＮＡＳ装置１０と論理ボリュームとの間のアクセス経路を設定したり、論理ボリューム１２２を生成したり、論理ボリューム１２２を削除することができる。
【００６２】
ＨＤＵ１２０は、複数のディスクドライブ１２１を備えている。本明細書では、ディスクドライブを例に挙げるが、本発明は、ハードディスクドライブに限定されない。例えば、半導体メモリドライブ（フラッシュメモリデバイスを含む）、ホログラフィックメモリ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、ＦＣ（Fibre Channel）ディスクやＳＡＴＡ（Serial AT Attachment）ディスク等のような、異種類のディスクをＨＤＵ１２０内に混在させることもできる。
【００６３】
複数のディスクドライブ１２１によって一つのＲＡＩＤグループ（パリティグループとも呼ばれる）を形成することができる。ＲＡＩＤグループは、各ディスクドライブ１２１の有する物理的記憶領域をＲＡＩＤレベルに従って仮想化したものであり、物理的記憶デバイスと呼ぶことができる。ＲＡＩＤグループの有する物理的な記憶領域には、所定サイズまたは任意サイズで、論理デバイス１２２を一つまたは複数設けることができる。論理デバイス１２２を図中では「ＬＵ」と表示する。一つまたは複数の論理デバイス１２２をＬＵＮ（Logical Unit Number）に対応付けることにより、論理ボリューム１２３が生成され、ＮＡＳノード３０に認識される。論理ボリューム１２３が常に一つの論理デバイス１２２を用いて生成される場合、論理ボリューム１２３と論理デバイス１２２とは、ほぼ同じものを意味する。しかし、複数の論理デバイス１２２から一つの論理ボリューム１２３を構成する場合もある。
【００６４】
ストレージ装置１００のデータ入出力動作を簡単に説明する。ＮＡＳノード３０から発行されるリードコマンドは、ＣＨＡ１１１によって受領される。ＣＨＡ１１１は、リードコマンドを共有メモリ１１３に記憶させる。
【００６５】
ＤＫＡ１１２は、共有メモリ１１３を随時参照している。ＤＫＡ１１２は、未処理のリードコマンドを発見すると、読出し先として指定された論理ボリューム１２２を構成するディスクドライブ１２１にアクセスし、要求されたデータを読み出す。ＤＫＡ１１２は、物理アドレスと論理アドレスの変換処理等を行い、ディスクドライブ１２１から読み出したデータをキャッシュメモリ１１４に記憶させる。
【００６６】
ＣＨＡ１１１は、キャッシュメモリ１１４に記憶されたデータを、ＮＡＳノード３０に送信する。なお、ＮＡＳノード３０により要求されたデータが、既にキャッシュメモリ１１４に記憶されている場合、ＣＨＡ１１１は、キャッシュメモリ１１４に記憶されているデータをＮＡＳノード３０に送信する。
【００６７】
ＮＡＳノード３０から発行されるライトコマンドは、リードコマンドの場合と同様に、ＣＨＡ１１１によって受領される。ＣＨＡ１１１は、ＮＡＳノード３０から送信されたライトデータを、キャッシュメモリ１１４に記憶させる。ＤＫＡ１１２は、キャッシュメモリ１１４に記憶されたライトデータを、書込先として指定された論理ボリューム１２２を構成するディスクドライブ１２１に記憶させる。
【００６８】
なお、ライトデータをキャッシュメモリ１１４に記憶させた時点で、ＮＡＳノード３０に処理完了を通知する構成でもよいし、あるいは、ライトデータをディスクドライブ１２１に書き込んだ後でＮＡＳノード３０に処理完了を通知する構成でもよい。
【００６９】
図４は、論理的ディレクトリ構成と各ノード３０との関係、及び、各サイト１０，２０間のリモートコピーの構成をそれぞれ示す説明図である。図４（ａ）は、論理的ディレクトリの構成を簡略化して示す説明図である。本実施例では、「/gns」というルートディレクトリの直下に「/a〜/d」の４つのディレクトリを設ける場合を例に挙げる。
【００７０】
図４（ｂ）は、ローカルサイト１０内の各ノード３０及びボリューム１２３を簡略化して示している。ローカルサイト１０内の各ノード３０（Ａ〜Ｄ）は、それぞれ論理的ディレクトリのディレクトリ（/a〜/d）に対応する。なお、本実施例では、ノード３０（Ａ）をマスタノードと、ノード３０（Ｆ）をサブマスタノードと、する。
【００７１】
図４（ｃ）は、リモートサイト２０の各ノード３０及びボリューム１２３を簡略化して示している。リモートサイト２０内の各ノード３０（Ｆ，Ｇ）は、コピー先ノードにそれぞれ該当する。ローカルサイト１０内のノード３０（Ａ〜Ｄ）は、コピー元ノードにそれぞれ該当する。各コピー先ノード３０（Ｆ，Ｇ）は、それぞれ複数のコピー元ノード３０に対応付けられている。
【００７２】
即ち、本実施例では、コピー先ノード３０（Ｆ）は、複数のコピー元ノード３０（Ａ，Ｂ）に対応付けられている。コピー先ノード３０（Ｆ）は、各コピー元ノード３０（Ａ，Ｂ）で管理されるデータと同一のデータを、コピー先ノード３０（Ｆ）に割り当てられているボリューム１２３に記憶させる。同様に、コピー先ノード３０（Ｇ）は、複数のコピー元ノード３０（Ｃ，Ｄ）に対応付けられている。コピー先ノード３０（Ｇ）は、各コピー元ノード３０（Ｃ，Ｄ）で管理されるデータと同一のデータを、コピー先ノード３０（Ｇ）に割り当てられているボリューム１２３に記憶させる。
【００７３】
コピー先ノードに割り当てられるボリューム１２３には、コピー元ノードの数に応じた数のディレクトリが作成される。コピー先ノード３０（Ｆ）により使用されるボリューム１２３において、「/Home/001」にはコピー元ノード３０（Ａ）で管理されるファイル群が記憶され、「/Home/002」にはコピー元ノード３０（Ｂ）で管理されるファイル群が記憶される。同様に、コピー先ノード３０（Ｇ）により使用されるボリューム１２３において、「/Home/001」にはコピー元ノード３０（Ｃ）で管理されるファイル群が、「/Home/002」にはコピー元ノード３０（Ｄ）で管理されるファイル群が、それぞれ記憶される。
【００７４】
コピー先のボリューム１２３には、コピー元のボリュームが複数対応付けられるため、リモートサイト２０内のコピー先ボリューム１２３を、複数の論理デバイス１２２を結合させることにより構成してもよい。この場合、実施例４で後述するように、アクセス負荷の分散を意図して、リモートサイトの構成を変更することができる。
【００７５】
図５は、論理的ディレクトリの生成（ＧＮＳ）及びリモートコピー（ＲＣ）のために使用される管理テーブルＴ１０の例を示す説明図である。管理テーブルＴ１０は、例えば、論理的ディレクトリ欄Ｃ１１と、担当ノード欄Ｃ１２と、実体位置欄Ｃ１３と、コピー先ノード欄Ｃ１４と、コピー先での実体位置欄Ｃ１５とを対応付けて管理する。
【００７６】
論理的ディレクトリ欄Ｃ１１は、論理ディレクトリのディレクトリ名を示す。担当ノード欄Ｃ１２は、そのディレクトリを担当するＮＡＳノード３０を示す。実体位置欄Ｃ１３は、その担当ノードにおいて管理されるデータが実際に記憶されている位置、つまり、データの格納場所を示す。コピー先ノード欄Ｃ１４は、ローカルサイト１０内の各コピー元ノード３０（Ａ〜Ｄ）のデータ（ファイル群）を記憶するためのノードを特定するものである。上述のように、コピー先ノード３０（Ｆ，Ｇ）は、複数のコピー元ノードに対応付けることができる。複数のコピー元ノードに対応付けられる場合、コピー先ノードには、各コピー元ノード毎にそれぞれディレクトリが用意される。
【００７７】
図５の中段に示すように、管理テーブルＴ１０を定義する場合、ローカルサイト１０からリモートサイト２０には、Ｃ１４及びＣ１５が空欄の状態で、管理テーブルＴ１０の全部または一部のレコードが送信される。システムの初期設定時には、管理テーブルＴ１０の全レコードがローカルサイト１０からリモートサイト２０に送信されるが、一部の構成変更に止まる場合は、その構成変更に関わるレコードのみがローカルサイト１０からリモートサイト２０に送信される。図５の下側に示す通り、リモートサイト２０側で、Ｃ１４及びＣ１５の欄が記入されて、リモートサイト２０からローカルサイト１０に管理テーブルＴ１０の全部または一部のレコードが送信される。
【００７８】
図６は、ローカルサイト１０に障害が発生した場合に管理テーブルＴ１０の取り扱いが変更される様子を模式的に示す説明図である。図６の上側に示すように、ローカルサイト１０側に災害が生じた場合、各担当ノード３０（Ａ〜Ｄ）は機能を停止し、クライアント６０からのファイルアクセス要求を処理することができなくなる。
【００７９】
そこで、図６の下側に示すように、リモートサイト２０では、コピー先ノード欄Ｃ１４を「担当ノード欄」と同等の情報を有するものとして取り扱うことにより、論理的ディレクトリ（ＧＮＳ）をリモートサイト２０内で再現する。より詳しくは、リモートサイト２０内のサブマスタノード３０（Ｆ）は、管理テーブルＴ１０内の担当ノード欄Ｃ１２及び実体位置欄Ｃ１３の使用を中止し、コピー先ノード欄Ｃ１４及びコピー先での実体位置欄Ｃ１５を、担当ノード欄Ｃ１２及び実体位置欄Ｃ１３として、使用する。
【００８０】
代替の担当ノード３０（Ｆ，Ｇ）は、本来の担当ノードであるコピー元ノード３０（Ａ〜Ｄ）で管理されているファイル群と同一のファイル群を保持している。従って、論理的ディレクトリのノード名に相当するディレクトリに対応する担当ノードを、本来の担当ノード３０（Ａ〜Ｄ）からコピー先ノード３０（Ｆ，Ｇ）に切り替えた場合でも、災害発生前と同一の論理的ディレクトリを再現することができる。
【００８１】
図７は、管理テーブルＴ１０の別の例を示す説明図である。上述した各欄Ｃ１１〜Ｃ１５に加えて、サイズ欄Ｃ１６やＩ／Ｏ（Input/Output）量の欄Ｃ１７を管理テーブルＴ１０で管理することもできる。
【００８２】
サイズ欄Ｃ１６は、論理的ディレクトリの各ディレクトリに格納されているファイル群の全容量を示す。Ｉ／Ｏ量の欄Ｃ１７は、論理的ディレクトリの各ディレクトリに対するクライアント６０からのファイルアクセスの頻度を示す。
【００８３】
図８は、システム構成管理テーブルＴ２０の例を示す説明図である。システム構成管理テーブルＴ２０は、ファイル共有システムの構成を管理するためのものである。管理テーブルＴ２０は、例えば、サイト名の欄Ｃ２１と、ノード名の欄Ｃ２２と、ＩＰアドレス欄Ｃ２３と、マスタ順位欄Ｃ２４と、サブマスタ順位欄Ｃ２５と、その他の欄Ｃ２６とを対応付けて管理する。
【００８４】
サイト名の欄Ｃ２１には、ローカルサイト１０またはリモートサイト２０のいずれかを示す情報が記憶される。ノード名の欄Ｃ２２には、各ノード３０を識別するための情報が記憶される。ＩＰアドレス欄Ｃ２３には、各ノード３０にアクセスするためのアドレス情報が記憶される。マスタ順位の欄Ｃ２４には、マスタノードとなるノードの順位が記憶される。同様に、サブマスタ順位の欄Ｃ２５には、サブマスタノードとなるノードの順位が記憶される。その他の欄Ｃ２６には、例えば、各ノードの処理性能等を記憶させることができる。マスタ順位またはサブマスタ順位の値が最も若いノードが、マスタノードまたはサブマスタノードとして作動する。保守作業等によって、マスタノードまたはサブマスタノードが停止した場合、次の順位のノードがマスタノードまたはサブマスタノードとして作動する。
【００８５】
図９は、システム構成管理テーブルＴ２０を定義し、各ノード３０間で共有させるための処理を示す。以下に示す各フローチャートは、本発明の理解及び実施に必要な範囲で、各処理の概要をそれぞれ示しており、実際のコンピュータプログラムとは相違する場合がある。いわゆる当業者であれば、図示されたステップの変更や削除、本質的ではない新たなステップの挿入等を行うことができるであろう。
【００８６】
ユーザは、管理装置５０を用いて、マスタノード内の管理テーブルＴ２０に、各項目Ｃ２１〜Ｃ２４及びＣ２６の値をそれぞれ設定する（Ｓ１０）。サブマスタ順位は、リモートサイト２０側で決定される場合を説明する。また、以下の説明では、ローカルサイト１０内のノード３０をローカルノードと、リモートサイト２０内のノードをリモートサイトと、呼ぶ場合がある。
【００８７】
マスタノードは、管理装置５０から入力された値をシステム構成管理テーブルＴ２０に登録し（Ｓ１１）、この管理テーブルＴ２０をリモートサイト２０内のサブマスタノードに送信する（Ｓ１３）。
【００８８】
サブマスタノードは、マスタノードから管理テーブルＴ２０を受信すると（Ｓ１３）、サブマスタ順位を決定して（Ｓ１４）、管理テーブルＴ２０に登録する（Ｓ１５）。サブマスタノードは、サブマスタ順位の記入された管理テーブルＴ２０をマスタノードに送信する（Ｓ１６）。さらに、サブマスタノードは、各リモートモードにも管理テーブルＴ２０を送信することにより、各リモートノードに同一の管理テーブルＴ２０を保持させる（Ｓ１７）。
【００８９】
マスタノードは、サブマスタノードから管理テーブルＴ２０を受信すると（Ｓ１８）、各ローカルノードに管理テーブルＴ２０を送信し、各ローカルノードに、同一の管理テーブルＴ２０を共有させる（Ｓ１９）。これにより、同一のシステム構成管理テーブルＴ２０がシステム内の全ノードに行き渡ったため、マスタノードは、管理装置５０にシステム構成の定義が完了した旨を通知する（Ｓ２０）。管理装置５０は、システム構成の定義が完了した旨を確認する（Ｓ２１）。なお、ユーザが、Ｓ１０において、サブマスタ順位を設定する構成としてもよい。この場合、Ｓ１４，Ｓ１５，Ｓ１６，Ｓ１８は、図９中のフローチャートから除かれる。
【００９０】
図１０は、論理的ディレクトリの構築（ＧＮＳ）及びリモートコピーを制御するための管理テーブルＴ１０を定義し、各ノード３０間で共有させるための処理を示すフローチャートである。
【００９１】
ユーザは、管理装置５０を用いて、マスタノード内の管理テーブルＴ１０に、論理的ディレクトリに関する各項目Ｃ１１〜Ｃ１３をそれぞれ定義する（Ｓ３０）。マスタノードは、ユーザによって定義された値を管理テーブルＴ１０に登録する（Ｓ３１）。同様に、ユーザは、管理装置５０を用いて、マスタノード内の管理テーブルＴ１０に、リモートコピーに関する各項目Ｃ１４，Ｃ１５をそれぞれ定義する（Ｓ３２）。マスタノードは、ユーザにより定義された値を管理テーブルＴ１０に登録する（Ｓ３３）。
【００９２】
ユーザは、ＧＮＳの設定を指示する（Ｓ３４）。ＧＮＳの設定とは、管理テーブルＴ１０の内容を全ノードに反映させることを意味する。そこで、マスタノードは、管理テーブルＴ１０をサブマスタノードに送信する（Ｓ３５）。
【００９３】
サブマスタノードは、マスタノードから管理テーブルＴ１０を受信すると（Ｓ３６）、コピー先ノード及びディレクトリ番号等を決定し（Ｓ３７）、管理テーブルＴ１０に登録する（Ｓ３８）。ここで、サブマスタノードは、例えば、各リモートノードの処理性能やボリューム１２３の空き容量、そのリモートノードをコピー先ノードとして使用した場合の予測される負荷等に基づいて、ローカルノードからのデータをコピーするためのリモートノード及びディレクトリ番号を決定することができる。あるいは、ユーザが手動で、ローカルノードに対応付けるリモートノードを決定する構成としてもよい。
【００９４】
サブマスタノードは、コピー先ノード等が記入されて完成した管理テーブルＴ１０を、マスタノードに送信する（Ｓ３９）。さらに、サブマスタノードは、この完成した管理テーブルＴ１０を各リモートノードにも送信し、各リモートノードで同一の管理テーブルＴ１０を共有させる（Ｓ４０）。
【００９５】
マスタノードは、サブマスタノードから管理テーブルＴ１０を受信すると（Ｓ４１）、各ローカルノードに管理テーブルＴ１０を送信し、各ローカルノードで同一の管理テーブルＴ１０を共有させる（Ｓ４２）。これにより、システム内の全ノードに管理テーブルＴ１０が配布されたため、マスタノードは、管理テーブルＴ１０の設定が完了した旨を管理装置に５０に通知する（Ｓ４３）。
【００９６】
管理装置５０は、設定完了を確認すると（Ｓ４４）、リモートコピーの開始をマスタノードに指示する（Ｓ４５）。上述の通り、管理テーブルＴ１０は、論理的ディレクトリの構築に関する情報のみならずリモートコピーに関する情報も含まれているため、管理テーブルＴ１０の設定完了後は、リモートコピーを開始させることができる。
【００９７】
管理装置５０から発行されたリモートコピーの開始指示は、マスタノードから各ローカルノードに通知され、コピーペアを形成するローカルノードとリモートノード毎に、それぞれリモートコピー処理が開始される（Ｓ４７）。
【００９８】
コピーペアを形成する各ローカルノードと各リモートノードの間でのリモートコピーが全て完了すると、コピー対象のデータについては、ローカルサイト１０内のデータとリモートサイト２０内のデータとが同期する。ローカルサイト１０内の全データをコピー対象としてリモートサイト２０にコピーしてもよいし、コピー不要なデータは、リモートコピーの対象から外すこともできる。
【００９９】
マスタノードは、各ローカルノードからデータが同期した旨の報告を受領すると（Ｓ４８）、管理装置５０にデータの同期が完了した旨を通知する（Ｓ４９）。管理装置５０は、データの同期処理が完了した旨を確認する（Ｓ５０）。以上述べた同期処理は、例えば、リモートコピーの初期コピー等で実施される。
【０１００】
図１１は、通常時のファイルアクセス処理を示すフローチャートである。クライアント６０が更新要求（即ち、ライトアクセスである）を発行すると（Ｓ６０）、この更新要求はマスタノードによって受け付けられる。
【０１０１】
マスタノードは、管理テーブルＴ１０を用いて、その更新要求を処理すべき担当ノードを特定する（Ｓ６２）。マスタノードは、クライアント６０からの更新要求を、担当ノード宛の更新要求に変換し（Ｓ６３）、この変換された更新要求を担当ノードに転送する（Ｓ６４）。
【０１０２】
担当ノード（図１１中のローカルノードである）は、マスタノードから更新要求を受信すると（Ｓ６５）、クライアント６０に処理可能である旨を通知する。クライアント６０は、担当ノードにライトデータ及び同時に更新されるべき属性を送信し（Ｓ６６）、担当ノードは、これらライトデータ等を受領する（Ｓ６７）。
【０１０３】
担当ノードは、クライアント６０から受領したライトデータ及び属性をボリューム１２３に書込み（Ｓ６８）、ログを更新させる（Ｓ６９）。このログは、ファイルアクセスの履歴を管理するためのものである。担当ノードは、クライアント６０に、更新要求の処理が完了した旨を報告する（Ｓ７０）。
【０１０４】
次に、担当ノードは、管理テーブルＴ１０を参照し（Ｓ７２）、ライトデータを転送すべきノード（コピー先ノード）を特定する（Ｓ７３）。担当ノードは、コピー先ノードにファイルの更新を要求する（Ｓ７４）。コピー先ノードは、コピー元ノードから更新要求を受信すると（Ｓ７５）、更新要求の処理が可能である旨を通知する。これにより、コピー元ノードは、ライトデータ及び属性をコピー先ノードに送信し（Ｓ７６）、コピー先ノードは、ライトデータ等を受信して（Ｓ７７）、リモートサイト２０内のボリューム１２３に書き込む（Ｓ７８）。
【０１０５】
コピー先ノード（コピー先のリモートノード）は、ライトデータ等をボリューム１２３に書き込んだ後、ログを更新し（Ｓ７９）、コピー元ノードに処理完了を通知する（Ｓ８０）。コピー元ノードは、リモートコピーが完了したことを確認する（Ｓ８１）。
【０１０６】
図１２は、図１０中にＳ４７で示すリモートコピー処理の詳細を示すフローチャートである。コピー元ノードであるローカルノードは、コピー対象として予め設定されているファイルのリストを特定する（Ｓ９０）。ローカルノードは、管理テーブルＴ１０を参照し（Ｓ９１）、コピー対象の各ファイル毎に、転送用パスを生成する（Ｓ９２）。
【０１０７】
ローカルノードは、各転送用パスを用いて、コピー先ノードであるリモートノードに更新要求やデータ及び属性を送信する（Ｓ９３，Ｓ９５）。リモートノードは、ローカルノードから更新要求やデータ等を受信すると（Ｓ９４，Ｓ９６）、管理テーブルＴ１０内のコピー先での実体位置欄Ｃ１５に登録されているディレクトリにデータを書込み、処理完了をローカルノードに通知する（Ｓ９８）。
【０１０８】
ローカルノードは、リモートノードから処理完了通知を受領すると、同期状態管理テーブルＴ３０を更新する（Ｓ９９）。同期状態管理テーブルＴ３０は、初期コピーの進捗状況を管理するためのテーブルである。
【０１０９】
同期状態管理テーブルＴ３０は、例えば、論理的ディレクトリのディレクトリ名を示す欄Ｃ３１と、そのディレクトリのデータが実際に記憶されている位置を示す欄Ｃ３２と、そのディレクトリ内に含まれるファイルを示す欄Ｃ３３と、そのファイルを転送するためのパスを示す欄Ｃ３４と、ファイルの同期が完了したか否かを示す欄Ｃ３５とを対応付けて管理している。コピー対象の各ファイル毎に、同期が完了したか否かを管理することにより、クライアント６０からのファイルアクセス要求を処理しながら、リモートコピー処理を並列動作させることができる。
【０１１０】
図１３は、ディザスタリカバリ処理を示すフローチャートである。ローカルサイト１０が災害等で停止した場合を想定する。クライアント６０がローカルノードに更新要求を発行しても（Ｓ１００）、ローカルノードから処理可能である旨の応答は返ってこないため、クライアント６０は処理を待機する（Ｓ１０１）。
【０１１１】
ローカルサイト１０の停止に気づいたユーザは、管理装置５０からサブマスタノードにフェイルオーバの開始を明示的に指示する（Ｓ１０２）。サブマスタノードは、この指示を受領すると（Ｓ１０３）、管理テーブルＴ１０のコピー先ノード欄Ｃ１４を「担当ノード欄Ｃ１２」として、実体位置欄Ｃ１５を実体位置欄Ｃ１３として、それぞれ取り扱うことにより、論理的ディレクトリをリモートサイト２０に再現し（Ｓ１０４）、論理的ディレクトリが再現された旨を管理装置５０に通知する（Ｓ１０５）。
【０１１２】
管理装置５０は、論理的ディレクトリの再現を確認すると（Ｓ１０６）、クライアント６０にアクセス先の切替を指示する（Ｓ１０７）。これにより、クライアント６０は、アクセス先をローカルサイト１０からリモートサイト２０に切り替える（Ｓ１０８）。
【０１１３】
クライアント６０がリモートサイト２０に更新要求を発行すると（Ｓ１０９）、サブマスタノードは、その更新要求を処理すべき担当ノードを特定し、担当ノード宛の更新要求に変換する（Ｓ１１０）。担当ノードは、変換された更新要求を受領すると（Ｓ１１１）、クライアント６０に処理可能である旨を通知する。これにより、クライアント６０は、担当ノードにライトデータ及び属性を送信する（Ｓ１１２）。
【０１１４】
担当ノードは、クライアント６０からライトデータ及び属性を受領すると（Ｓ１１３）、更新処理が完了した旨をクライアント６０に通知する（Ｓ１１４）。この通知により、クライアント６０は、更新処理の完了を確認する（Ｓ１１５）。担当ノードは、クライアント６０から受信したライトデータ及び属性をボリューム１２３に書込み、ログを更新させる（Ｓ１１７）。
【０１１５】
このように構成される本実施例によれば以下の効果を奏する。本実施例では、ローカルサイト１０とリモートサイト２０との間でリモートコピーを行うことにより、両サイト１０，２０間のデータを同期させ、ローカルサイト１０に障害が発生した場合には、リモートサイト２０内で論理的ディレクトリを再現することができる。従って、各サイト１０，２０間で物理的資源の構成が異なる場合でも、耐障害性を向上させた論理的ディレクトリ８を提供できる。
【０１１６】
本実施例では、ＧＮＳ管理情報とコピー管理情報とを統合する管理テーブルＴ１０を用い、コピー管理情報の一部を、ＧＮＳ管理情報の一部として取り扱うことにより、比較的速やかに、リモートサイト２０内に論理的ディレクトリを再現することができる。
【０１１７】
即ち、本実施例では、論理的ディレクトリを構築するための管理情報とリモートコピーを行うための管理情報とを統合することにより、リモートコピー用の管理情報を論理的ディレクトリの再現に利用することができる。従って、本実施例では、リモートサイト２０で論理的ディレクトリを再構築するための情報を特別に用意する必要がなく、各ノード３０のメモリ資源を有効に利用することができ、比較的簡単な制御で論理的ディレクトリを再構築することができる。これにより、ファイル共有システムの耐障害性が向上し、ユーザの使い勝手が向上する。
【実施例２】
【０１１８】
図１４〜図２３に基づいて本発明の第２実施例を説明する。以下に述べる各実施例は、前記第１実施例の変形例に相当する。本実施例では、ローカルサイト１０とリモートサイト２０との間のデータ同期を、ストレージ装置１００間のリモートコピーによって実現させる。以下、第１実施例と重複する説明は割愛し、第１実施例との相違部分を中心に説明する。
【０１１９】
図１４は、本実施例によるファイル共有システムの全体構成を示す説明図である。ローカルサイト１０内のストレージ装置１００とリモートサイト２０内のストレージ装置１００とは、「第２通信経路」としてのサイト間通信ネットワークＣＮ４を介して接続されている。
【０１２０】
図１５は、一つのサイト内の詳細な構成を示す説明図である。ストレージ装置１００に着目すると、本実施例では、図中右側に示すＣＨＡ１１１は、通信ネットワークＣＮ４を介して、他方のサイト内のストレージ装置１００に接続されている。本実施例では、ＮＡＳノード３０で実行されるファイルアクセス要求の処理とは非同期で、ブロック単位のリモートコピーを行い、データを同期させる。
【０１２１】
図１６は、ボリューム間（論理デバイス間）でブロック単位のリモートコピーを行うための、コピーペアの様子を示す説明図である。ローカルサイト１０内の各コピー元ボリューム１２３に対応する論理デバイス（コピー元論理デバイス）１２２は、リモートサイト２０内の各コピー先ボリュームに対応する論理デバイス（コピー先論理デバイス）１２２とコピーペアを形成する。
【０１２２】
図１７は、ストレージ装置１００間でリモートコピーを行うために使用される、ストレージ間コピー管理テーブルＴ４０を示す。このコピー管理テーブルＴ４０は、例えば、ストレージ装置１００の共有メモリ１１３またはキャッシュメモリ１１４に記憶させることができる。コピー管理テーブルＴ４０は、ローカルサイト１０内のストレージ装置１００及びリモートサイト２０内のストレージ装置１００の両方で保持される。
【０１２３】
管理テーブルＴ４０は、例えば、コピー元論理デバイス欄Ｃ４１と、コピー先論理デバイス欄Ｃ４２と、コピー状態欄Ｃ４３とを備えている。Ｃ４１及びＣ４２では、各ストレージ装置１００を識別する装置番号（図中、「ＳＳ＃」）と、各論理デバイス１２２を識別するための論理デバイス番号（図中、「ＬＵ＃」）との組合せによって、コピー元論理デバイス及びコピー先論理デバイスをそれぞれ特定する。Ｃ４３では、同期中であるか否かの状態を示す情報が設定される。
【０１２４】
図１７の下側に示すように、リモートコピー中またはリモートコピー完了後における、更新要求を差分ビットマップＴ４１で管理することもできる。例えば、初期コピーの完了後に発生した更新要求の位置を差分ビットマップＴ４１に記録しておくことにより、コピー元論理デバイスとコピー先論理デバイスとを再同期（リシンク）させる場合に、差分データのみを転送することができる。
【０１２５】
なお、図１７の下側に示すように、コピー先論理デバイス内の管理情報を記憶するための領域には、コピー元論理デバイスを識別するための識別情報（ＩＤ）を記憶させることができる。このＩＤは、例えば、コピー元論理デバイスが設けられているストレージ装置１００の装置番号（ＳＳ＃）とコピー元論理デバイスのデバイス番号（ＬＵ＃）とを組み合わせることにより構成される。
【０１２６】
図１８は、本実施例で使用される、ＧＮＳ及びリモートコピーのための管理テーブルＴ１０Ａを示す。本実施例では、上述の管理テーブルＴ１０で説明した各項目に加えて、実体の位置Ｃ１３Ａ，Ｃ１５Ａが設けられている。この実体の位置Ｃ１３Ａ，Ｃ１５Ａには、ストレージ装置１００の装置番号及び論理デバイスのデバイス番号が設定される。
【０１２７】
図１９は、管理テーブルＴ１０Ａを設定するための処理を示す。Ｓ３０Ａ及びＳ３２Ａでは、管理装置５０から管理テーブルＴ１０Ａに、論理的ディレクトリの生成及びリモートコピーに関する設定が入力される。サブマスタで実行されるＳ３７Ａでは、コピー先ノードや実体の位置が管理テーブルＴ１０に記入される。管理装置５０は、所定のタイミングで、ローカルサイト１０内のストレージ装置１００に対し、リモートコピーの開始を指示する（Ｓ１２０）。以下の説明では、ローカルサイト１０内のストレージ装置１００をローカルストレージ装置と、リモートサイト２０内のストレージ装置１００をリモートストレージ装置と、それぞれ呼ぶ場合がある。
【０１２８】
図２０は、ストレージ装置１００間で実行されるブロック単位のリモートコピー処理を示すフローチャートである。このリモートコピー処理は、ＮＡＳノード３０によるファイルアクセス要求の処理と非同期に実行される。
【０１２９】
図２０内では、図１９で述べたステップも理解のために含めている。管理装置５０は、ローカルストレージ装置にリモートコピーに関して設定する（Ｓ１２１）。ローカルストレージ装置は、管理装置５０から入力された値をストレージ間コピー管理テーブルＴ４０に登録する（Ｓ１２２）。
【０１３０】
管理装置５０がリモートコピーの開始を指示し（Ｓ１２３）、ローカルストレージ装置がこの指示を受領すると（Ｓ１２４）、ローカルストレージ装置は、コピー管理テーブルＴ４０の内容に基づいて、リモートコピーを開始する。即ち、コピー元論理デバイスからコピー先論理デバイスにブロック単位でデータが送信される（Ｓ１２５）。リモートストレージ装置は、ローカルストレージ装置から受信したブロックデータを、コピー先論理デバイスに記憶させる（Ｓ１２６）。
【０１３１】
コピー元論理デバイスからコピー先論理デバイスへのデータコピーが完了すると、ローカルストレージ装置は、管理装置５０にデータの同期が完了した旨を通知し（Ｓ１２７）、管理装置５０は、データの同期が完了したことを確認する（Ｓ１２８）。
【０１３２】
図２１は、図１９中にＳ３７Ａで示すコピー先ノードを決定するステップの一例を示すフローチャートである。この処理は、各論理ディレクトリのノード名に相当するディレクトリ毎に実行される（Ｓ１３０）。
【０１３３】
サブマスタノードは、管理テーブルＴ１０Ａを用いることにより、処理対象のディレクトリに対応するコピー元論理デバイスを特定する（Ｓ１３１）。サブマスタノードは、リモートストレージ装置内の各論理デバイス１２２の管理情報記憶領域を検索することにより、コピー元論理デバイスのＩＤを記憶しているコピー先論理デバイスを発見する（Ｓ１３２）。
【０１３４】
サブマスタノードは、発見されたコピー先論理デバイスにアクセス可能なリモートノードを検出し（Ｓ１３３）、予測される負荷等に応じて、検出されたリモートノードの中からコピー先ノードを１つ選択する（Ｓ１３４）。サブマスタノードは、選択されたコピー先ノードを管理テーブルＴ１０Ａに登録する（Ｓ１３５）。サブマスタノードは、選択されたコピー先ノード経由で発見されたコピー先論理デバイスへアクセスするための「実体の位置」及びディレクトリ番号を、管理テーブルＴ１０Ａに登録する（Ｓ１３５）。
【０１３５】
図２２は、ストレージ装置１００間でのデータ同期が完了した後に発生した差分データを、ローカルストレージ装置からリモートストレージ装置に送信する処理を示す。ローカルノードは、ストレージ装置１００の動作と基本的に無関係に、クライアント６０からのファイルアクセス要求を処理する。この結果、ローカルストレージ装置に記憶されるデータとリモートストレージ装置に記憶されるデータの間に、差分が生じる。この差分は、差分ビットマップＴ４１によって管理されている。
【０１３６】
ローカルストレージ装置は、差分データの発生を検出すると（Ｓ１４０）、差分データをリモートストレージ装置に送信する（Ｓ１４１）。リモートストレージ装置は、差分データを受信し（Ｓ１４２）、コピー先論理デバイスに記憶させる（Ｓ１４３）。リモートストレージ装置からの通知により（Ｓ１４４）、ローカルストレージ装置は、差分データがコピー先論理デバイスに書き込まれたことを確認する（Ｓ１４５）。
【０１３７】
なお、便宜上、Ｓ１４０では、差分データの発生を契機としてＳ１４１以下のステップが実行されるかのように説明した。しかし、これに限らず、例えば、差分データが所定量蓄積された場合、または、前回の差分データの転送から所定時間が経過した場合を、差分データのコピー開始契機としてもよい。
【０１３８】
図２３は、ディザスタリカバリ処理を示すフローチャートである。サブマスタノードは、管理装置５０からのフェイルオーバ開始指示を受領すると（Ｓ１０３）、リモートストレージ装置にファイルオーバの開始を指示する（Ｓ１５０）。リモートストレージ装置は、フェイルオーバに必要な処理を実行する（Ｓ１５１）。フェイルオーバに必要な処理としては、例えば、コピー先論理デバイスに設定されていたアクセス制御情報を書き換えて、読み書き可能な状態とする処理を挙げることができる。
【０１３９】
サブマスタノードは、各リモートノードにフェイルオーバの開始を指示し（Ｓ１５２）、コピー先論理デバイスに対応するボリュームをリモートノードにマウントさせる（Ｓ１５３）。ここで、各リモートノードは、ボリュームをマウントする前に、ファイルシステム（図中「ＦＳ」）の整合化を行う。ファイルシステムの整合化には、例えば、fsckコマンドのようなファイルシステムをチェックするためのコマンドを使用する。
【０１４０】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。さらに、本実施例では、ストレージ装置１００間でブロック単位のリモートコピーを行うため、コピー元またはコピー先となる各ＮＡＳノード３０の負荷を軽減することができ、ファイル共有システムの応答性能を高めることができる。
【実施例３】
【０１４１】
図２４，図２５に基づいて第３実施例を説明する。本実施例では、ローカルサイト１０の構成が変更された場合の対応方法を説明する。図２４に示すように、論理的ディレクトリに新たなディレクトリ「/e」が追加され、この新ディレクトリに対応する新たなローカルノード３０（Ｅ）がローカルサイト１０に追加された場合を例に挙げる。新たに追加されたローカルノード３０（Ｅ）で管理されるファイル群は、リモートサイト２０内のリモートノード３０（Ｇ）にコピーされるものとする。
【０１４２】
図２５は、ローカルサイト１０内の構成変更を各ノード３０内の管理テーブルＴ１０に反映させるための処理を示すフローチャートである。この処理は、管理テーブルＴ１０を全ノードに保持させる処理を利用して行うことができる。管理装置５０は、変更部分のＧＮＳに関する各項目を定義し（Ｓ３０Ｂ）、マスタノードは、変更（追加）されたレコードに記録する（Ｓ３１）。同様に、管理装置５０は、変更部分のリモートコピーに関する各項目を定義し（Ｓ３２Ｂ）、マスタノードは、それを変更（追加）されたレコードに追加する（Ｓ３３）。
【０１４３】
マスタノードは、管理テーブルＴ１０のうち変更部分のレコードをサブマスタノードに送信する（Ｓ３５Ｂ）。サブマスタノードは、変更部分のレコードを受信すると（Ｓ３６Ｂ）、この変更部分に対応するコピー先ノード等を決定してレコードに記入し（Ｓ３７，Ｓ３８）、変更部分のレコードをマスタノードに送信する（Ｓ３９Ｂ）。
【０１４４】
このように本実施例では、ローカルサイト１０の構成が変更された場合、その変更に関わる部分のレコードのみを各ノード３０に通知するだけで、各ノード３０で保持される管理テーブルＴ１０の内容を更新することができる。なお、説明を省略したが、システム構成管理テーブルＴ２０についても、上記同様に、変更部分のレコードのみを各ノード３０に送信すればよい。
【実施例４】
【０１４５】
図２６，図２７に基づいて第４実施例を説明する。本実施例では、リモートサイト２０の構成が変更された場合の対応方法を説明する。図２６の下側に示すように、リモートサイト２０内に新たなＮＡＳノード３０（Ｈ）が追加され、それまでノード３０（Ｇ）が担当していたボリューム（VOL１３）がノード３０（Ｈ）に移された場合を述べる。
【０１４６】
なお、リモートサイトにおいて、ノード３０（Ｇ）が担当していたボリューム（Vol13）は、予め複数の論理デバイスから構成しておくことができる。このボリューム（Vol13）が複数の論理デバイスから構成されていた場合、一部の論理デバイスをノード３０（Ｇ）からノード３０（Ｈ）に移すことができる。
【０１４７】
あるいは、別の新しい論理デバイスを準備し、この新しい論理デバイスをいったんノード３０（Ｇ）に割り当てて、ボリューム（Vol13）のディレクトリデータを新しい論理デバイスに移す。そして、ディレクトリデータが移された、その新しい論理デバイスをノード３０（Ｈ）に割り当て直す方法でもよい。
【０１４８】
図２７は、リモートサイトにおける構成変更を各ノード３０内の管理テーブルＴ１０に反映させるための処理を示すフローチャートである。変更（追加）された構成について管理装置５０から定義が入力されると（Ｓ１６０）、サブマスタノードは、この変更（追加）された構成に関する定義を管理テーブルＴ１０に登録し（Ｓ１６１）、変更部分のレコードのみをマスタノード３０に送信する（Ｓ１６２）。
【０１４９】
マスタノードは、変更部分のレコードを受信すると（Ｓ１６３）、管理テーブルＴ１０に登録し（Ｓ１６４）、設定完了をサブマスタノードに通知する（Ｓ１６５）。さらに、マスタノードは、各ローカルノードに変更部分のレコードを送信し、各ローカルノードの有する管理テーブルＴ１０を更新させる（Ｓ１６６）。
【０１５０】
サブマスタノードは、マスタノードによる設定完了通知を受信すると（Ｓ１６７）、各リモートノードに変更部分のレコードを送信し、各リモートノード内の管理テーブルＴ１０を更新させる（Ｓ１６８）。管理装置５０は、サブマスタノードからの設定完了通知を受信すると（Ｓ１６９）、リモートサイトの構成変更が各ノードに伝達されたことを確認する（Ｓ１７０）。
【０１５１】
このように本実施例では、リモートサイト２０の構成が変更された場合も、前記第３実施例と同様に、変更に関わる部分のレコードのみを各ノード３０に通知するだけで、各ノード３０で保持される管理テーブルＴ１０の内容を更新できる。
【０１５２】
なお、本発明は、上述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【０１５３】
【図１】本発明の実施形態によるファイル共有システムの全体概要を示す説明図である。
【図２】ファイル共有システムの全体構成を示す説明図である。
【図３】一つのサイト内のハードウェア構成を示す説明図である。
【図４】論理的ディレクトリと各ノードとの関係等を示す説明図である。
【図５】論理的ディレクトリの構築及びリモートコピーの実行に使用される管理テーブルの構成を示す説明図である。
【図６】ローカルサイトに障害が生じた場合に、管理テーブルの使用方法を変更する様子を示す説明図である。
【図７】管理テーブルの別の例を示す説明図である。
【図８】システム構成管理テーブルを示す説明図である。
【図９】システム構成管理テーブルを各ノードに記憶させるための処理を示すフローチャートである。
【図１０】論理的ディレクトリ及びリモートコピーを管理するテーブルを各ノードに記憶させるための処理を示すフローチャートである。
【図１１】ファイルアクセス要求処理を示すフローチャートである。
【図１２】図１０中のＳ４７で示す処理の詳細を示すフローチャートである。
【図１３】ディザスタリカバリ処理を示すフローチャートである。
【図１４】第２実施例に係るファイル共有システムの全体構成を示す説明図である。
【図１５】一つのサイト内の構成を示す説明図である。
【図１６】コピー元論理デバイスとコピー先論理デバイスの関係を示す説明図である。
【図１７】ストレージ装置間で行われるリモートコピーを制御するためのテーブルを示す説明図である。
【図１８】論理的ディレクトリの構築及びリモートコピーに使用される管理テーブルを示す説明図である。
【図１９】管理テーブルを各ノードに通知する処理を示すフローチャートである。
【図２０】ストレージ装置間でのリモートコピー処理を示すフローチャートである。
【図２１】図１９中にＳ３７Ａで示す処理の詳細を示すフローチャートである。
【図２２】ストレージ装置間で差分データをコピーする処理を示すフローチャートである。
【図２３】ディザスタリカバリ処理を示すフローチャートである。
【図２４】第３実施例に係るファイル共有システムにおいて、ローカルサイトの構成が変更された様子を示す説明図である。
【図２５】ローカルサイトの構成変更を各ノード内の管理テーブルに反映させる処理を示すフローチャートである。
【図２６】第４実施例に係るファイル共有システムにおいて、リモートサイトの構成が変更された様子を示す説明図である。
【図２７】ローカルサイトの構成変更を各ノード内の管理テーブルに反映させる処理を示すフローチャートである。
【符号の説明】
【０１５４】
１，２…サイト、３…NASノード、４…ボリューム、５…管理装置、６…クライアント装置、８…論理的ディレクトリ（GNS）、９…通信経路、１０…ローカルサイト、２０…リモートサイト、３０…NASノード、３１…マイクロプロセッサ、３２…メモリ、３２Ｂ…プログラム、３３…下位通信インターフェース部、３４…上位通信インターフェース部、３５…ユーザインターフェース部、４０…スイッチ、５０…管理装置、５０Ａ…管理ツール、６０…クライアント装置、１００…ストレージ装置、１１０…コントローラ、１１１…チャネルアダプタ（CHA）、１１１Ａ…ファイバチャネルインターフェース、１１２…ディスクアダプタ（DKA）、１１３…共有メモリ、１１４…キャッシュメモリ、１１５…接続制御部、１２０…記憶デバイス搭載部（HDU）、１２１…ディスクドライブ、１２２…論理デバイス、１２３…ボリューム、Ｔ，Ｔ１０〜Ｔ４０…管理テーブル
【図１】
2009003499.tif 000003
【図２】
2009003499.tif 000004
【図３】
2009003499.tif 000005
【図４】
2009003499.tif 000006
【図５】
2009003499.tif 000007
【図６】
2009003499.tif 000008
【図７】
2009003499.tif 000009
【図８】
2009003499.tif 000010
【図９】
2009003499.tif 000011
【図１０】
2009003499.tif 000012
【図１１】
2009003499.tif 000013
【図１２】
2009003499.tif 000014
【図１３】
2009003499.tif 000015
【図１４】
2009003499.tif 000016
【図１５】
2009003499.tif 000017
【図１６】
2009003499.tif 000018
【図１７】
2009003499.tif 000019
【図１８】
2009003499.tif 000020
【図１９】
2009003499.tif 000021
【図２０】
2009003499.tif 000022
【図２１】
2009003499.tif 000023
【図２２】
2009003499.tif 000024
【図２３】
2009003499.tif 000025
【図２４】
2009003499.tif 000026
【図２５】
2009003499.tif 000027
【図２６】
2009003499.tif 000028
【図２７】
2009003499.tif 000029