JP2001014201A - 共有ファイルシステム - Google Patents
共有ファイルシステムInfo
- Publication number
- JP2001014201A JP2001014201A JP11183218A JP18321899A JP2001014201A JP 2001014201 A JP2001014201 A JP 2001014201A JP 11183218 A JP11183218 A JP 11183218A JP 18321899 A JP18321899 A JP 18321899A JP 2001014201 A JP2001014201 A JP 2001014201A
- Authority
- JP
- Japan
- Prior art keywords
- file
- server
- registered
- distributed control
- list
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
(57)【要約】
【課題】スプリットブレインが起こっても、ファイルシ
ステムを破壊しない共有システムを提供すること。 【解決手段】 各サーバ102には分散制御装置20
2、ファイル操作モジュール201およびハートビート
アダプタ204が設けられる。アプリケーションからの
更新データ書き込み要求をに対して、分散制御装置20
2は、共有ディスク装置101上の空き領域の番地をフ
ァイル操作モジュール201に出力する。ファイル操作
モジュール201は、共有ディスク装置101上の前記
分散制御装置202から得た空き領域の番地に更新デー
タを書き込む。分散制御装置202は、ハートビートア
ダプタ204を介して、サーバ102の故障を検知し、
故障サーバリスト304に故障したサーバを登録する。
この故障したサーバ102から書き込み完了通知が分散
制御装置202に出されると、分散制御装置202は、
このサーバ102が故障サーバリスト304に登録され
ているため、このサーバ102が書き込んだ領域をファ
イルインデックス401に登録しない。
ステムを破壊しない共有システムを提供すること。 【解決手段】 各サーバ102には分散制御装置20
2、ファイル操作モジュール201およびハートビート
アダプタ204が設けられる。アプリケーションからの
更新データ書き込み要求をに対して、分散制御装置20
2は、共有ディスク装置101上の空き領域の番地をフ
ァイル操作モジュール201に出力する。ファイル操作
モジュール201は、共有ディスク装置101上の前記
分散制御装置202から得た空き領域の番地に更新デー
タを書き込む。分散制御装置202は、ハートビートア
ダプタ204を介して、サーバ102の故障を検知し、
故障サーバリスト304に故障したサーバを登録する。
この故障したサーバ102から書き込み完了通知が分散
制御装置202に出されると、分散制御装置202は、
このサーバ102が故障サーバリスト304に登録され
ているため、このサーバ102が書き込んだ領域をファ
イルインデックス401に登録しない。
Description
【0001】
【発明の属する技術分野】この発明は、共有ファイルシ
ステムに関し、特に分散環境における共有ファイルシス
テムに関する。
ステムに関し、特に分散環境における共有ファイルシス
テムに関する。
【0002】
【従来の技術】近年、分散システムは急速に進歩しつつ
ある。分散システムは、1)負荷分散に基づく並列処理
による処理能率および応答時間特性の改善、2)負荷の
機能分散による処理能率および応答時間特性の改善、
3)複数の計算機が利用可能なことによる信頼性および
可用性の増大、4)負荷の増大に対し、計算機の増設で
容易に対処できる高い機能拡張性等の利点があり、特に
地理的分散システムでは、5)データの処理要求が発生
した地点(サイト)で処理を行えるため、通信回線コス
トの低減と応答時間特性の改善も可能になる。
ある。分散システムは、1)負荷分散に基づく並列処理
による処理能率および応答時間特性の改善、2)負荷の
機能分散による処理能率および応答時間特性の改善、
3)複数の計算機が利用可能なことによる信頼性および
可用性の増大、4)負荷の増大に対し、計算機の増設で
容易に対処できる高い機能拡張性等の利点があり、特に
地理的分散システムでは、5)データの処理要求が発生
した地点(サイト)で処理を行えるため、通信回線コス
トの低減と応答時間特性の改善も可能になる。
【0003】このような分散制御システムとして、ネッ
トワークファイルシステムが知られている。ネットワー
クファイルシステムは、LAN(Local Area Network)上
でファイルを共有するシステムである。このようなネッ
トワークシステムにおいては、LAN上に接続された複
数のサーバのうちのいずれか1台がマスタサーバとし
て、共有ディスクをアクセスできるように構成されてい
る。従って、他のサーバが共有ディスクをアクセスする
場合には、マスタサーバを介してデータの授受が行われ
る。
トワークファイルシステムが知られている。ネットワー
クファイルシステムは、LAN(Local Area Network)上
でファイルを共有するシステムである。このようなネッ
トワークシステムにおいては、LAN上に接続された複
数のサーバのうちのいずれか1台がマスタサーバとし
て、共有ディスクをアクセスできるように構成されてい
る。従って、他のサーバが共有ディスクをアクセスする
場合には、マスタサーバを介してデータの授受が行われ
る。
【0004】ところで、従来のファイルシステムは、
1)データ領域および2)ファイルアロケーションテー
ブル(FAT)の2つの要素から構成される。データ領
域は、ファイルの内容を記録する領域であり、数Kバイ
ト毎に区切られたブロックで構成され、各ブロックには
番地がつけられてる。また、FATは、目的のファイル
がデータ領域のどの番地に記録されているかを記録する
テーブルである。あるファイルからデータを読み込む際
には、FATを参照し、実際のデータがある番地を取得
して、その番地のデータを読取る。同様に、あるファイ
ルにデータを書き込む際には、FATを参照し、データ
を書き込む番地を取得して、その番地にデータを書き込
む。
1)データ領域および2)ファイルアロケーションテー
ブル(FAT)の2つの要素から構成される。データ領
域は、ファイルの内容を記録する領域であり、数Kバイ
ト毎に区切られたブロックで構成され、各ブロックには
番地がつけられてる。また、FATは、目的のファイル
がデータ領域のどの番地に記録されているかを記録する
テーブルである。あるファイルからデータを読み込む際
には、FATを参照し、実際のデータがある番地を取得
して、その番地のデータを読取る。同様に、あるファイ
ルにデータを書き込む際には、FATを参照し、データ
を書き込む番地を取得して、その番地にデータを書き込
む。
【0005】
【発明が解決しようとする課題】このようなファイルシ
ステムにおいては、スプリットブレインが起きたとき、
ファイルが壊されてしまう恐れがある。スプリットブレ
インとは、ネットワークにより同期を取って動いていた
複数台のコンピュータが、ネットワークの故障や高負荷
により同期が取れなくなり、2つの組に別れてしまうこ
とを言う。このような状態になったとき、お互いの組が
同じファイルをアクセスすると、一方のコンピュータが
書き換えた内容を他方のコンピュータが書き換えてしま
い、データが破壊されてしまうという問題が起きる。
ステムにおいては、スプリットブレインが起きたとき、
ファイルが壊されてしまう恐れがある。スプリットブレ
インとは、ネットワークにより同期を取って動いていた
複数台のコンピュータが、ネットワークの故障や高負荷
により同期が取れなくなり、2つの組に別れてしまうこ
とを言う。このような状態になったとき、お互いの組が
同じファイルをアクセスすると、一方のコンピュータが
書き換えた内容を他方のコンピュータが書き換えてしま
い、データが破壊されてしまうという問題が起きる。
【0006】この発明は、上記事情に鑑みてなされたも
ので、その目的は、スプリットブレインが起こってもフ
ァイルシステムを破壊しないようにした共有ファイルシ
ステムを提供することである。
ので、その目的は、スプリットブレインが起こってもフ
ァイルシステムを破壊しないようにした共有ファイルシ
ステムを提供することである。
【0007】
【課題を解決するための手段】この発明によれば、ネッ
トワークを介して接続された複数のコンピュータと、前
記複数のコンピュータとバスを介して接続された共有デ
ィスク装置とを有する共有ファイルシステムにおいて、
任意のファイルが格納される前記共有ディスク装置上の
位置を記録するファイルインデックスと、前記共有ディ
スク装置上の空き領域を記録する空き領域リストとを少
なくとも有し、アプリケーションからの前記共有ディス
ク装置への更新データの書き込み要求に対し、前記空き
領域リストを参照して前記共有ディスク装置上の空き領
域の番地を出力する分散制御装置と、前記分散制御装置
から出力された空き領域の番地に基づいて前記共有ディ
スク装置に更新データを書き込むファイル操作モジュー
ルとを具備したことを特徴とする。
トワークを介して接続された複数のコンピュータと、前
記複数のコンピュータとバスを介して接続された共有デ
ィスク装置とを有する共有ファイルシステムにおいて、
任意のファイルが格納される前記共有ディスク装置上の
位置を記録するファイルインデックスと、前記共有ディ
スク装置上の空き領域を記録する空き領域リストとを少
なくとも有し、アプリケーションからの前記共有ディス
ク装置への更新データの書き込み要求に対し、前記空き
領域リストを参照して前記共有ディスク装置上の空き領
域の番地を出力する分散制御装置と、前記分散制御装置
から出力された空き領域の番地に基づいて前記共有ディ
スク装置に更新データを書き込むファイル操作モジュー
ルとを具備したことを特徴とする。
【0008】この発明によれば、アプリケーションから
更新データの書き込み要求がファイル操作モジュールに
出力される。ファイル操作モジュールは、サーバ番号を
引数として空き領域取得要求を分散制御装置に出力す
る。分散制御装置は、サーバ番号を引数として、故障サ
ーバリストを参照し、引数で示されるサーバが故障サー
バリストに登録されているか否かチェックする。登録さ
れていれば、分散制御装置は、エラー情報をファイル操
作モジュールに返す。この結果、更新データは共有ディ
スク装置に書き込まれない。一方、故障サーバリストに
登録されていなければ、空き領域リストを参照して、共
有ディスク装置上の空き領域の番地をファイル操作モジ
ュールに返す。この結果、ファイル操作モジュールは、
分散制御装置から得た番地に更新データを書き込む。こ
のように、この発明によれば、更新データは、更新前の
データが書かれた領域に上書きするのではなく、共有デ
ィスク装置上の空き領域に順次書き込むように構成した
ので、例え、スプリットブレインが起こってもファイル
を破壊する恐れが無い。しかも、更新データの書き込み
完了後、ファイル操作モジュールは、書き込み完了通知
を、分散制御装置に送り、分散制御装置はその段階にお
いても、故障サーバからの書き込み完了通知か否かを故
障サーバリストを参照してチェックし、故障サーバから
の書き込み完了通知である場合には、書き込んだ領域を
ファイルインデックスに登録しないので、その領域は次
に再利用される領域とはなり得ないので、スプリットブ
レインを起こしたサーバが書き込む領域に、他のサーバ
が書き込みを行う可能性はない。従って、ファイルの破
壊を防止することができる。
更新データの書き込み要求がファイル操作モジュールに
出力される。ファイル操作モジュールは、サーバ番号を
引数として空き領域取得要求を分散制御装置に出力す
る。分散制御装置は、サーバ番号を引数として、故障サ
ーバリストを参照し、引数で示されるサーバが故障サー
バリストに登録されているか否かチェックする。登録さ
れていれば、分散制御装置は、エラー情報をファイル操
作モジュールに返す。この結果、更新データは共有ディ
スク装置に書き込まれない。一方、故障サーバリストに
登録されていなければ、空き領域リストを参照して、共
有ディスク装置上の空き領域の番地をファイル操作モジ
ュールに返す。この結果、ファイル操作モジュールは、
分散制御装置から得た番地に更新データを書き込む。こ
のように、この発明によれば、更新データは、更新前の
データが書かれた領域に上書きするのではなく、共有デ
ィスク装置上の空き領域に順次書き込むように構成した
ので、例え、スプリットブレインが起こってもファイル
を破壊する恐れが無い。しかも、更新データの書き込み
完了後、ファイル操作モジュールは、書き込み完了通知
を、分散制御装置に送り、分散制御装置はその段階にお
いても、故障サーバからの書き込み完了通知か否かを故
障サーバリストを参照してチェックし、故障サーバから
の書き込み完了通知である場合には、書き込んだ領域を
ファイルインデックスに登録しないので、その領域は次
に再利用される領域とはなり得ないので、スプリットブ
レインを起こしたサーバが書き込む領域に、他のサーバ
が書き込みを行う可能性はない。従って、ファイルの破
壊を防止することができる。
【0009】また、正常なサーバからの書き込み完了通
知を受けた場合には、分散制御装置は、更新前のデータ
が書き込まれている領域を新たな空き領域として、空き
領域リストに登録し、再利用を図るので、空き領域が不
足するという恐れはない。
知を受けた場合には、分散制御装置は、更新前のデータ
が書き込まれている領域を新たな空き領域として、空き
領域リストに登録し、再利用を図るので、空き領域が不
足するという恐れはない。
【0010】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。
施形態を説明する。
【0011】図1は、この発明の共有ファイルシステム
の一実施形態を示すブロック図である。同図において、
複数のコンピュータ(以下、サーバと呼ぶ)102が例
えばEthernet等のローカルエリアネットワーク(LA
N)を介して接続されている。さらに、これらの複数の
サーバ102は、例えばSCSI(Small Computer Syst
em Interface)のバス112を介して共有ディスク装置
101に接続されている。各サーバ102はそれぞれ独
立して、共有ディスク装置101をアクセスすることが
できる。但し、複数のサーバ102が同時に共有ディス
ク装置101をアクセスすることはできないので、排他
制御が行われる。この排他制御は各サーバ102内に組
込まれた後述する分散制御装置202により制御され
る。
の一実施形態を示すブロック図である。同図において、
複数のコンピュータ(以下、サーバと呼ぶ)102が例
えばEthernet等のローカルエリアネットワーク(LA
N)を介して接続されている。さらに、これらの複数の
サーバ102は、例えばSCSI(Small Computer Syst
em Interface)のバス112を介して共有ディスク装置
101に接続されている。各サーバ102はそれぞれ独
立して、共有ディスク装置101をアクセスすることが
できる。但し、複数のサーバ102が同時に共有ディス
ク装置101をアクセスすることはできないので、排他
制御が行われる。この排他制御は各サーバ102内に組
込まれた後述する分散制御装置202により制御され
る。
【0012】図2はサーバ102の内部構成を示すブロ
ック図である。図2に示すように、各サーバ102は、
ハートビートアダプタ204、分散制御装置202、分
散制御装置202と内部ネットワーク211を介して接
続されたファイル操作モジュール201およびファイル
操作モジュール201と内部ネットワーク211を介し
て接続されたアプリケーション203を有する。なお、
図面の簡単のために、1台のサーバ102についてのみ
その内部構成を示しているが、他のサーバ102も同様
の構成を有する。
ック図である。図2に示すように、各サーバ102は、
ハートビートアダプタ204、分散制御装置202、分
散制御装置202と内部ネットワーク211を介して接
続されたファイル操作モジュール201およびファイル
操作モジュール201と内部ネットワーク211を介し
て接続されたアプリケーション203を有する。なお、
図面の簡単のために、1台のサーバ102についてのみ
その内部構成を示しているが、他のサーバ102も同様
の構成を有する。
【0013】ハートビートアダプタ204は各サーバ1
02の対応するハートビートアダプタ204と通信し合
うことにより、各サーバ102が互いに連携してあたか
も1つの装置であるかのように動作することができる。
このハートビートアダプタ204により、通信できなく
なったサーバ102は、故障と判断される。
02の対応するハートビートアダプタ204と通信し合
うことにより、各サーバ102が互いに連携してあたか
も1つの装置であるかのように動作することができる。
このハートビートアダプタ204により、通信できなく
なったサーバ102は、故障と判断される。
【0014】分散制御装置202は、複数台のサーバ1
02を連携する装置である。各サーバ102の分散制御
装置202は、ハートビートアダプタ204により、互
いに通信し合い、あたかも1つの装置であるかのように
動作する。すなわち、分散制御装置202上におかれる
情報はもちろん、実行されるプログラムについても1つ
の装置202上で実行しているかのように動作する。分
散制御装置202は、例えば、ネットワーク環境におい
て、分散ノードを連携し、高信頼、高可用、かつスケー
ラブルなシステムを構築するためのミドルウエアで構成
される。各サーバ102は、多重化されているので、ど
のサーバ102が故障しても、共有ファイルシステムは
全体として動作しつづける。また、前記ハートビートア
ダプタ204により、連動しているサーバ102の故障
を検知するので、障害に対する対処が容易に行える。
02を連携する装置である。各サーバ102の分散制御
装置202は、ハートビートアダプタ204により、互
いに通信し合い、あたかも1つの装置であるかのように
動作する。すなわち、分散制御装置202上におかれる
情報はもちろん、実行されるプログラムについても1つ
の装置202上で実行しているかのように動作する。分
散制御装置202は、例えば、ネットワーク環境におい
て、分散ノードを連携し、高信頼、高可用、かつスケー
ラブルなシステムを構築するためのミドルウエアで構成
される。各サーバ102は、多重化されているので、ど
のサーバ102が故障しても、共有ファイルシステムは
全体として動作しつづける。また、前記ハートビートア
ダプタ204により、連動しているサーバ102の故障
を検知するので、障害に対する対処が容易に行える。
【0015】図3に分散制御装置202の内部構成を示
す。
す。
【0016】同図において、分散制御装置202上は、
共通制御モジュール301、およびそれぞれ内部ネット
ワーク211を介して接続された、ファイルインデック
ス302、空き領域リスト303、および故障サーバリ
スト304を有する。共通制御モジュール301は、す
べてのサーバ102で同じ動作をする。ファイルインデ
ックス302は、任意のファイルが共有ディスク装置1
01上のどの位置に格納されているかを記録する。ファ
イルインデックス302は複数のインデックスリストか
ら構成され、各インデックスリストはファイル毎に作ら
れる。
共通制御モジュール301、およびそれぞれ内部ネット
ワーク211を介して接続された、ファイルインデック
ス302、空き領域リスト303、および故障サーバリ
スト304を有する。共通制御モジュール301は、す
べてのサーバ102で同じ動作をする。ファイルインデ
ックス302は、任意のファイルが共有ディスク装置1
01上のどの位置に格納されているかを記録する。ファ
イルインデックス302は複数のインデックスリストか
ら構成され、各インデックスリストはファイル毎に作ら
れる。
【0017】共有ディスク装置101は、図5に示すよ
うに例えば、4Kバイト毎のデータブロック502に分
割されている。各データブロック502には、それぞれ
ディスク番地501が割り付けられている。今、図4
(a)に示すように、ファイルインデックス302の中
の符号401で示されるファイル番号が「1」で、かつ
符号402で示されるファイル位置が「1」のデータが
「11」である場合、図5において、符号501で示す
ディスク番地が「11」番地のデータブロック502に
ファイルが記録されているということを表す。
うに例えば、4Kバイト毎のデータブロック502に分
割されている。各データブロック502には、それぞれ
ディスク番地501が割り付けられている。今、図4
(a)に示すように、ファイルインデックス302の中
の符号401で示されるファイル番号が「1」で、かつ
符号402で示されるファイル位置が「1」のデータが
「11」である場合、図5において、符号501で示す
ディスク番地が「11」番地のデータブロック502に
ファイルが記録されているということを表す。
【0018】空き領域リスト303は、共有ディスク装
置101上のどの領域が空き領域かを記録するもので、
図4(b)に示すように、ファイルインデックス302
と同様、ディスク番地501を記録する。また、故障サ
ーバリスト304は、故障したサーバを記録するもの
で、図4(c)に示すように、各サーバにあらかじめ与
えられたサーバ番号403を記録する。
置101上のどの領域が空き領域かを記録するもので、
図4(b)に示すように、ファイルインデックス302
と同様、ディスク番地501を記録する。また、故障サ
ーバリスト304は、故障したサーバを記録するもの
で、図4(c)に示すように、各サーバにあらかじめ与
えられたサーバ番号403を記録する。
【0019】図2のアプリケーション203は、共有デ
ィスク装置101に格納されたファイルに対するアクセ
スを行うプログラムである。ファイル操作モジュール2
01は、アプリケーション203からの読み込みおよび
書き込み要求に応答して、分散制御装置202と連携を
取りながら、共有ディスク装置101をアクセスするモ
ジュールである。
ィスク装置101に格納されたファイルに対するアクセ
スを行うプログラムである。ファイル操作モジュール2
01は、アプリケーション203からの読み込みおよび
書き込み要求に応答して、分散制御装置202と連携を
取りながら、共有ディスク装置101をアクセスするモ
ジュールである。
【0020】以下、この発明の一実施形態の動作につい
て説明する。
て説明する。
【0021】アプリケーション203は、ファイル操作
モジュール201に対してファイルへの読み込みおよび
書き込みを要求する。すなわち、読み出し動作の場合、
アプリケーション203は、引数として、1)読み込む
ファイルの番号および2)ファイル内の読み込む位置を
設定し、ファイル操作モジュール201に読み込みを要
求する。これに対し、ファイル操作モジュール201
は、サーバ番号、読み込むファイルの番号および読み込
む位置を引数として、分散制御装置202にディスク番
地取得要求を出力する。分散制御装置202の共通制御
モジュール301は、ディスク番地取得要求に応答し
て、まず、サーバ番号を引数として故障サーバリスト3
04を参照して、引数で示されるサーバ番号が記録され
ているか否かチェックする。記録されている場合には、
そのサーバは故障していると他のサーバ102に認識さ
れているので、アクセスを認めると共有ディスク装置1
01上のデータが破壊される恐れがある。このため、共
通制御モジュール301は、アクセスエラーを示す情報
をファイル操作モジュール201に返す。一方、引数で
示されるサーバ番号が故障サーバリスト304に記録さ
れていなければ、共通制御モジュール301は、ファイ
ルインデックス302を参照し、引数で指定されたファ
イル番号で示されるファイルの指定された読み込み位置
がどのディスク番地に書き込まれているかを調べ、その
ディスク番地をファイル操作モジュール201に返す。
ファイル操作モジュール201は、共有ディスク装置1
01をリードアクセスし、分散制御装置202から得た
ディスク番地からファイルデータをリードし、戻り値と
して、アプリケーション203に出力する。
モジュール201に対してファイルへの読み込みおよび
書き込みを要求する。すなわち、読み出し動作の場合、
アプリケーション203は、引数として、1)読み込む
ファイルの番号および2)ファイル内の読み込む位置を
設定し、ファイル操作モジュール201に読み込みを要
求する。これに対し、ファイル操作モジュール201
は、サーバ番号、読み込むファイルの番号および読み込
む位置を引数として、分散制御装置202にディスク番
地取得要求を出力する。分散制御装置202の共通制御
モジュール301は、ディスク番地取得要求に応答し
て、まず、サーバ番号を引数として故障サーバリスト3
04を参照して、引数で示されるサーバ番号が記録され
ているか否かチェックする。記録されている場合には、
そのサーバは故障していると他のサーバ102に認識さ
れているので、アクセスを認めると共有ディスク装置1
01上のデータが破壊される恐れがある。このため、共
通制御モジュール301は、アクセスエラーを示す情報
をファイル操作モジュール201に返す。一方、引数で
示されるサーバ番号が故障サーバリスト304に記録さ
れていなければ、共通制御モジュール301は、ファイ
ルインデックス302を参照し、引数で指定されたファ
イル番号で示されるファイルの指定された読み込み位置
がどのディスク番地に書き込まれているかを調べ、その
ディスク番地をファイル操作モジュール201に返す。
ファイル操作モジュール201は、共有ディスク装置1
01をリードアクセスし、分散制御装置202から得た
ディスク番地からファイルデータをリードし、戻り値と
して、アプリケーション203に出力する。
【0022】一方、書き込み動作の場合、アプリケーシ
ョン203は、引数として1)書き込むファイルの番
号、2)書き込む位置、および3)書き込むデータを指
定し、ファイル操作モジュール201に書き込み要求を
行う。
ョン203は、引数として1)書き込むファイルの番
号、2)書き込む位置、および3)書き込むデータを指
定し、ファイル操作モジュール201に書き込み要求を
行う。
【0023】ファイル操作モジュール201は、サーバ
番号を引数として、分散制御装置202に対して空き領
域取得要求を出力する。分散制御装置202の共通制御
モジュール301は空き領域取得要求に応答して、ま
ず、サーバ番号を引数として、故障サーバリスト304
を参照し、引数で示されるサーバ番号が記録されている
か否か調べる。記録されていれば、上述したようにエラ
ー情報をファイル操作モジュール201に返す。
番号を引数として、分散制御装置202に対して空き領
域取得要求を出力する。分散制御装置202の共通制御
モジュール301は空き領域取得要求に応答して、ま
ず、サーバ番号を引数として、故障サーバリスト304
を参照し、引数で示されるサーバ番号が記録されている
か否か調べる。記録されていれば、上述したようにエラ
ー情報をファイル操作モジュール201に返す。
【0024】一方、引数で示されるサーバ番号が、サー
バ故障リスト304に記録されていなければ、次に、空
き領域リスト303を参照し、空き領域のディスク番地
を得た後、空き領域リストからこの空き領域を削除し、
空き領域のディスク番地をファイル操作モジュール20
1に出力する。ファイル操作モジュール201は、共有
ディスク装置101にアクセスし、共通制御モジュール
301から得た空き領域のディスク番地に目的のデータ
を書き込み、書き込みを完了すると、書き込み完了通知
を共通制御モジュール301に出力する。
バ故障リスト304に記録されていなければ、次に、空
き領域リスト303を参照し、空き領域のディスク番地
を得た後、空き領域リストからこの空き領域を削除し、
空き領域のディスク番地をファイル操作モジュール20
1に出力する。ファイル操作モジュール201は、共有
ディスク装置101にアクセスし、共通制御モジュール
301から得た空き領域のディスク番地に目的のデータ
を書き込み、書き込みを完了すると、書き込み完了通知
を共通制御モジュール301に出力する。
【0025】共通制御モジュール301は、書き込み完
了通知に応答して、サーバ番号を引数として故障サーバ
リスト304を参照し、引数のサーバ番号が故障サーバ
リスト304に記録されているか否かチェックする。記
録されている場合には、上述したように、エラーを示す
情報をファイル操作モジュール201に返す。一方、故
障サーバリスト304に記録されていなければ、次に、
共通制御モジュール301は、引数で示されるファイル
番号のファイル位置の内容が引数で示されるディスク番
地に格納されていることをファイルインデックス302
に登録する。そして、共通制御モジュール301は、元
のディスク番地、すなわち更新前のデータが書き込まれ
ていたディスク番地を空き領域リスト303に追加す
る。そして、共通制御モジュール301は、書き込み完
了通知に対する処理が完了したことを示す情報をファイ
ル操作モジュール201に返す。
了通知に応答して、サーバ番号を引数として故障サーバ
リスト304を参照し、引数のサーバ番号が故障サーバ
リスト304に記録されているか否かチェックする。記
録されている場合には、上述したように、エラーを示す
情報をファイル操作モジュール201に返す。一方、故
障サーバリスト304に記録されていなければ、次に、
共通制御モジュール301は、引数で示されるファイル
番号のファイル位置の内容が引数で示されるディスク番
地に格納されていることをファイルインデックス302
に登録する。そして、共通制御モジュール301は、元
のディスク番地、すなわち更新前のデータが書き込まれ
ていたディスク番地を空き領域リスト303に追加す
る。そして、共通制御モジュール301は、書き込み完
了通知に対する処理が完了したことを示す情報をファイ
ル操作モジュール201に返す。
【0026】ファイル操作とは非同期に、分散制御装置
202は常に各サーバ102が動作しているかをハート
ビートアダプタ204により監視している。ハートビー
トアダプタ204は、各サーバ102に信号(ハートビ
ート)を出すことにより、自分が動作していることを示
し、それぞれのサーバから信号(ハートビート)を受け
取ることにより、そのサーバが動作していることを知
る。サーバからの信号が途絶え、そのサーバが故障した
と判断したときは、そのサーバ(サーバ番号)を故障サ
ーバリスト304に追加する。
202は常に各サーバ102が動作しているかをハート
ビートアダプタ204により監視している。ハートビー
トアダプタ204は、各サーバ102に信号(ハートビ
ート)を出すことにより、自分が動作していることを示
し、それぞれのサーバから信号(ハートビート)を受け
取ることにより、そのサーバが動作していることを知
る。サーバからの信号が途絶え、そのサーバが故障した
と判断したときは、そのサーバ(サーバ番号)を故障サ
ーバリスト304に追加する。
【0027】いま、スプリットブレインが起こり、ある
サーバ102がある共有ディスク装置101のある領域
にファイルデータを書き込もうとした瞬間に一時停止
し、このサーバがいつ再始動し、この領域に書き込みを
するかはわからないとする。一時停止しているサーバ1
02はハートビートを出せなくなるので、分散制御装置
202は、そのサーバが故障したと判断し、故障サーバ
リスト304に追加し、以降このサーバからの要求は受
け付けられない。他のサーバ102は平常通りファイル
へ読み書きを行う。もちろん、一時停止しているサーバ
102が書き込もうとしているファイルに対しても読み
書きを行う。この状態において、一時停止していたサー
バ102が再始動して、共有ディスク装置101に書き
込みを行ったとする。このサーバ102が書き込んだ領
域は、まだ空き領域リスト303に追加されていないの
で、他のサーバ102が、この領域にデータを書き込ん
でいる可能性はない。すなわち、上述したように、この
サーバ102が空き領域取得要求を出した時点で、この
領域は空き領域リスト303から削除されているので、
他のサーバがデータを書き込むために、空き領域取得要
求を出しても、この領域を取得する可能性は無い。書き
込みが完了し、分散制御装置202に書き込み番地を返
しても、このサーバはすでに故障サーバリスト304に
登録されているため、この要求は受け付けられない。そ
のため、ファイルインデックス302にこの領域が登録
されることはない。すなわち、ファイルが書き込まれて
いるデータを書き換える可能性は無く、またファイルイ
ンデックス302を書き換える可能性も無い。
サーバ102がある共有ディスク装置101のある領域
にファイルデータを書き込もうとした瞬間に一時停止
し、このサーバがいつ再始動し、この領域に書き込みを
するかはわからないとする。一時停止しているサーバ1
02はハートビートを出せなくなるので、分散制御装置
202は、そのサーバが故障したと判断し、故障サーバ
リスト304に追加し、以降このサーバからの要求は受
け付けられない。他のサーバ102は平常通りファイル
へ読み書きを行う。もちろん、一時停止しているサーバ
102が書き込もうとしているファイルに対しても読み
書きを行う。この状態において、一時停止していたサー
バ102が再始動して、共有ディスク装置101に書き
込みを行ったとする。このサーバ102が書き込んだ領
域は、まだ空き領域リスト303に追加されていないの
で、他のサーバ102が、この領域にデータを書き込ん
でいる可能性はない。すなわち、上述したように、この
サーバ102が空き領域取得要求を出した時点で、この
領域は空き領域リスト303から削除されているので、
他のサーバがデータを書き込むために、空き領域取得要
求を出しても、この領域を取得する可能性は無い。書き
込みが完了し、分散制御装置202に書き込み番地を返
しても、このサーバはすでに故障サーバリスト304に
登録されているため、この要求は受け付けられない。そ
のため、ファイルインデックス302にこの領域が登録
されることはない。すなわち、ファイルが書き込まれて
いるデータを書き換える可能性は無く、またファイルイ
ンデックス302を書き換える可能性も無い。
【0028】なお、ファイルに対する更新データは、元
のデータに上書きするのではなく、ディスクの空き領域
に書き込まれるため、ディスク領域が足りなくなるので
はないかという懸念が生じるが、更新データを空き領域
に書き込み後、更新前のデータが書かれていた領域は、
空き領域リスト303に加えられ、空き領域として再利
用される。このため、使用中のディスク領域は、実際に
データが入っている領域と、現在書き込み中の領域のみ
であり、利用できるディスク領域が足りなくなるという
ことはない。
のデータに上書きするのではなく、ディスクの空き領域
に書き込まれるため、ディスク領域が足りなくなるので
はないかという懸念が生じるが、更新データを空き領域
に書き込み後、更新前のデータが書かれていた領域は、
空き領域リスト303に加えられ、空き領域として再利
用される。このため、使用中のディスク領域は、実際に
データが入っている領域と、現在書き込み中の領域のみ
であり、利用できるディスク領域が足りなくなるという
ことはない。
【0029】
【発明の効果】この発明によれば、分散制御装置202
は、ハートビートアダプタ204によりサーバ102の
故障を検知し、故障サーバリスト304に登録する。こ
のため、仮に、サーバ102が、例えば過負荷等の何ら
かの原因で一時的に停止した状態となり、その後再始動
し、空き領域にデータを書き込み、書き込み完了通知を
分散制御装置202に出力しても、分散制御装置20
2、故障サーバリスト304にこのサーバ102が登録
されているため、エラーをサーバ102に返す。従っ
て、スプリットブレインが起こっても、ファイルシステ
ムを破壊する恐れがない。
は、ハートビートアダプタ204によりサーバ102の
故障を検知し、故障サーバリスト304に登録する。こ
のため、仮に、サーバ102が、例えば過負荷等の何ら
かの原因で一時的に停止した状態となり、その後再始動
し、空き領域にデータを書き込み、書き込み完了通知を
分散制御装置202に出力しても、分散制御装置20
2、故障サーバリスト304にこのサーバ102が登録
されているため、エラーをサーバ102に返す。従っ
て、スプリットブレインが起こっても、ファイルシステ
ムを破壊する恐れがない。
【図1】この発明の順次記録型共有ファイルシステムの
一実施形態を示すシステムブロック図である。
一実施形態を示すシステムブロック図である。
【図2】図1に示すサーバの内部構成を示すブロック図
である。
である。
【図3】図2に示す分散制御装置の内部構成を示すブロ
ック図である。
ック図である。
【図4】分散制御装置上に保持される情報を示し、
(a)は、ファイルインデックスを、(b)は空き領域
リストを、(c)は故障サーバリストをそれぞれ示す。
(a)は、ファイルインデックスを、(b)は空き領域
リストを、(c)は故障サーバリストをそれぞれ示す。
【図5】図1に示す共有ディスク装置101の領域の構
成を示す概念図である。
成を示す概念図である。
101…共有ディスク装置 102…サーバ 111…LAN 112…SCSI 201…ファイル操作モジュール 202…分散制御装置 203…アプリケーション 204…ハートビートアダプタ 211…内部ネットワーク 301…共通制御モジュール 302…ファイルインデックス 303…空き領域リスト 304…故障サーバリスト 401…ファイル番号 402…ファイル位置 403…サーバ番号 501…ディスク番地 502…データブロック
Claims (6)
- 【請求項1】 ネットワークを介して接続された複数の
コンピュータと、前記複数のコンピュータとバスを介し
て接続された共有ディスク装置とを有する共有ファイル
システムにおいて、 任意のファイルが格納される前記共有ディスク装置上の
位置を記録するファイルインデックスと、前記共有ディ
スク装置上の空き領域を記録する空き領域リストとを少
なくとも有し、アプリケーションからの前記共有ディス
ク装置への更新データの書き込み要求に対し、前記空き
領域リストを参照して前記共有ディスク装置上の空き領
域の番地を出力する分散制御装置と、 前記分散制御装置から出力された空き領域の番地に基づ
いて前記共有ディスク装置に更新データを書き込むファ
イル操作モジュールと、 を具備したことを特徴とする共有ファイルシステム。 - 【請求項2】 前記各コンピュータは、各々他のコンピ
ュータの故障を検知するためのハートビートアダプタを
有し、 前記分散制御装置はさらに故障したコンピュータを記録
する故障コンピュータリストを更に有し、 前記分散制御装置は、前記ハートビートアダプタにより
前記コンピュータの故障を検知すると、故障したコンピ
ュータを示す情報を前記故障サーバリストに登録するこ
とを特徴とする請求項1記載の共有ファイルシステム。 - 【請求項3】 前記ファイル操作モジュールは、アプリ
ケーションからの要求に応答して、前記分散制御装置に
対してコンピュータ同定情報を引数として空き領域取得
要求を出力し、 前記分散制御装置は、前記空き領域取得要求に対し、前
記取得コンピュータリストに、前記引数で与えられた故
障コンピュータが登録されているか否かを調べ、登録さ
れている場合には、エラー情報を前記ファイル操作モジ
ュールに返し、登録されていない場合には、前記空き領
域を参照して空き領域の番地を前記ファイル操作モジュ
ールに返すことを特徴とする請求項2記載のファイル共
有システム。 - 【請求項4】 前記ファイル操作モジュールは、アプリ
ケーションからの書き込み要求に対して、前記共有ディ
スク装置上の空き領域に書き込みを行ない、書き込みが
完了すると、サーバ情報を引数として書き込み完了通知
を前記分散制御装置に出力し、 前記分散制御装置は、前記故障コンピュータリストを参
照して、前記引数で与えられたコンピュータが登録され
ているか否か調べ、登録されている場合には、その故障
コンピュータが書き込んだ前記共有ディスク装置上の書
き込み領域を示す位置情報を前記ファイルインデックス
に登録せず、エラー情報を前記ファイル操作モジュール
に返し、登録されていない場合には、書き込んだ領域を
示す共有ディスク装置上の位置を前記ファイルインデッ
クスに登録することを特徴とする請求項2記載のファイ
ル共有システム。 - 【請求項5】 前記分散制御装置は、前記書き込んだ領
域を前記ファイルインデックスに登録した後、さらに、
更新前のデータが書き込まれている前記共有ディスク装
置上の領域を前記空き領域リストに登録することを特徴
とする請求項2記載のファイル共有システム。 - 【請求項6】 前記ファイル操作モジュールは、アプリ
ケーションからの読み込み要求に応答して、前記分散制
御装置にコンピュータ同定情報、ファイル番号、および
ファイル位置情報を引数として番地取得要求を前記分散
制御装置に出力し、 前記分散制御装置は、前記番地取得要求に応答して、前
記故障コンピュータリストに、前記引数で与えられたコ
ンピュータが登録されているか否か調べ、登録されてい
る場合には、エラー情報を前記ファイル操作モジュール
に返し、登録されていない場合には、前記ファイルイン
デックスを参照し、引数として与えられたファイル番号
のファイル位置の内容が書かれている前記共有ディスク
装置上の番地を前記ファイル操作モジュールに返すこと
を特徴とする請求項2記載のファイル共有システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11183218A JP2001014201A (ja) | 1999-06-29 | 1999-06-29 | 共有ファイルシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11183218A JP2001014201A (ja) | 1999-06-29 | 1999-06-29 | 共有ファイルシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001014201A true JP2001014201A (ja) | 2001-01-19 |
Family
ID=16131863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11183218A Pending JP2001014201A (ja) | 1999-06-29 | 1999-06-29 | 共有ファイルシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001014201A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003323263A (ja) * | 2002-04-30 | 2003-11-14 | Hitachi Ltd | 共有メモリ制御方法および制御システム |
US7353352B2 (en) | 2002-05-31 | 2008-04-01 | International Business Machines Corporation | Backup technique for recording devices employing different storage forms |
JP2009176284A (ja) * | 2007-12-25 | 2009-08-06 | Fuji Xerox Co Ltd | ファイル共有システム |
US7739541B1 (en) | 2003-07-25 | 2010-06-15 | Symantec Operating Corporation | System and method for resolving cluster partitions in out-of-band storage virtualization environments |
CN111488324A (zh) * | 2020-04-14 | 2020-08-04 | 浪潮商用机器有限公司 | 一种基于消息中间件的分布式网络文件***及其工作方法 |
-
1999
- 1999-06-29 JP JP11183218A patent/JP2001014201A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003323263A (ja) * | 2002-04-30 | 2003-11-14 | Hitachi Ltd | 共有メモリ制御方法および制御システム |
US7353352B2 (en) | 2002-05-31 | 2008-04-01 | International Business Machines Corporation | Backup technique for recording devices employing different storage forms |
US7739541B1 (en) | 2003-07-25 | 2010-06-15 | Symantec Operating Corporation | System and method for resolving cluster partitions in out-of-band storage virtualization environments |
JP2009176284A (ja) * | 2007-12-25 | 2009-08-06 | Fuji Xerox Co Ltd | ファイル共有システム |
CN111488324A (zh) * | 2020-04-14 | 2020-08-04 | 浪潮商用机器有限公司 | 一种基于消息中间件的分布式网络文件***及其工作方法 |
CN111488324B (zh) * | 2020-04-14 | 2023-12-29 | 浪潮商用机器有限公司 | 一种基于消息中间件的分布式网络文件***及其工作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6363462B1 (en) | Storage controller providing automatic retention and deletion of synchronous back-up data | |
US7603533B1 (en) | System and method for data protection on a storage medium | |
US9110909B2 (en) | File level hierarchical storage management system, method, and apparatus | |
CN108701048B (zh) | 数据加载方法及装置 | |
EP1179770B1 (en) | File system | |
JP4199993B2 (ja) | スナップショット取得方法 | |
US8498967B1 (en) | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome | |
KR100306456B1 (ko) | 오퍼레이팅시스템의재기동방법 | |
JP3704573B2 (ja) | クラスタシステム | |
US20050138312A1 (en) | Method for acquiring snapshot | |
US20030105767A1 (en) | Storage system and control method | |
US8843602B2 (en) | Network boot system | |
US6711559B1 (en) | Distributed processing system, apparatus for operating shared file system and computer readable medium | |
US8433888B2 (en) | Network boot system | |
US20110145243A1 (en) | Sharing of Data Across Disjoint Clusters | |
JP2003516582A (ja) | スケーラブルな記憶アーキテクチャ | |
JP2002229837A (ja) | 共有ディスク・パラレル・データ・ファイル内のデータに対するアクセスを制御する方法 | |
US8612495B2 (en) | Computer and data management method by the computer | |
CN106357703B (zh) | 集群切换方法与设备 | |
US9262289B2 (en) | Storage apparatus and failover method | |
US6851023B2 (en) | Method and system for configuring RAID subsystems with block I/O commands and block I/O path | |
CN117170820A (zh) | 集群节点的配置共享方法、***、终端及存储介质 | |
US9003129B1 (en) | Techniques for inter-storage-processor cache communication using tokens | |
JP2001014201A (ja) | 共有ファイルシステム | |
JP4394467B2 (ja) | ストレージシステム、サーバ装置及び先行コピーデータ生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070911 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080205 |