JP2002049575A - ファイルシステム - Google Patents

ファイルシステム

Info

Publication number
JP2002049575A
JP2002049575A JP2000233291A JP2000233291A JP2002049575A JP 2002049575 A JP2002049575 A JP 2002049575A JP 2000233291 A JP2000233291 A JP 2000233291A JP 2000233291 A JP2000233291 A JP 2000233291A JP 2002049575 A JP2002049575 A JP 2002049575A
Authority
JP
Japan
Prior art keywords
path
file
disk
node
management table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000233291A
Other languages
English (en)
Other versions
JP3992427B2 (ja
Inventor
Akihiro Ito
昭博 伊藤
Naoki Utsunomiya
直樹 宇都宮
Koji Sonoda
浩二 薗田
Hiroyuki Kumazaki
裕之 熊▲崎▼
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000233291A priority Critical patent/JP3992427B2/ja
Priority to EP00127995A priority patent/EP1179770B1/en
Priority to US09/746,608 priority patent/US6654769B2/en
Publication of JP2002049575A publication Critical patent/JP2002049575A/ja
Priority to US10/695,149 priority patent/US7130868B2/en
Priority to US11/527,363 priority patent/US20070016751A1/en
Application granted granted Critical
Publication of JP3992427B2 publication Critical patent/JP3992427B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

(57)【要約】 【課題】 IOパス切り替えのために要する時間を短縮
し、一般ユーザからIOパス切り替え処理を隠蔽するこ
とのできるファイルシステム。 【解決手段】 ファイル毎にファイルIDが定義されて
いるシステムにおいて、ユーザアプリケーションUAP
からのファイルIDを指定したアクセス要求に対して、
ファイルサーバFSはファイル管理テーブルを参照し、
そのファイルをアクセスするための論理ディスクIDを
求める。ファイルサーバは、さらに、論理ディスク管理
テーブルを参照し、論理ディスクIDに対応するIOパ
スを求め、そのIOパスを使って物理ディスク装置にア
クセスする。運用系のIOパスに障害発生時、全ノード
の論理ディスク管理テーブルを書き換えることによって
IOパスの切り替えを行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のディスク装
置に分散管理されたファイルの処理を行うファイルシス
テムに係り、特に、1つのディスク装置へアクセスする
ためのIOパスが複数存在する場合に、IOパスの切り
替えを制御を行って一方のパスからディスク装置へアク
セスすることができるファイルシステムに関する。
【0002】
【従来の技術】従来技術によるファイルシステムの1つ
であるUNIX(登録商標)ファイルシステムは、各フ
ァイル毎にユニークに決まる番号(ファイルID)が定
義されており、ファイルサーバがファイルIDを指定す
ることによって、リード・ライト処理を行うファイルを
特定することができる。そして、ファイルサーバは、フ
ァイルIDとそのファイルが格納されているディスク装
置にアクセスするためのIOパス(IOパスを決定する
情報は、ノード番号、IOインターフェイス番号、装置
番号などである)との対応関係をメモリ上のファイル管
理テーブル(UNIXではinodeと呼ばれる)に登
録して管理している。この管理方法については、例え
ば、(The Design of The Unix Operating System; Maur
ice J. Bach; p60-p72)に述べられている。
【0003】ファイルIDを指定したリード・ライトア
クセス要求に対して、ファイルサーバは、前述のファイ
ル管理テーブルを参照し、ファイルIDからディスク装
置にアクセスするためのIOパス名を決定し、そのIO
パスを用いてディスク装置にアクセスを行う。ファイル
管理テーブルには、IOパス情報の他に、ファイルサイ
ズやファイルの更新日付などのファイル管理情報が登録
されており、このファイル管理情報は、ファイルがオー
プンされたとき、ディスク装置から読み出され、定期的
あるいはファイルをクローズしたときに、ディスク装置
に書き戻される。ユーザがファイルにアクセスするとき
指定するファイル名からファイルIDへの変換は、ファ
イルサーバが行っている。
【0004】また、複数のディスク装置をシステムで取
り扱う場合、あるディスク装置Aで管理されるディレク
トリネームツリー内のいずれかのディレクトリ、例え
ば、Xに別のディスク装置Bで管理されるネームツリー
を組み込むという操作によって、複数のディスク装置を
1つのネームツリー内に見せるという方法が知られてい
る。この方法によれば、ユーザは、ディレクトリXにア
クセスすればディスク装置B内のファイルにアクセスす
ることができる。この方法は、マウント処理と呼ばれて
いるものである。ファイルサーバは、起動時にある特定
のディスク装置(ルートデバイス)を起点として前述し
たマウント処理を次々に行い、ユーザには複数のディス
ク装置を1つのネームツリーとして見せるようにしてい
る。この起動時におけるマウント処理を行うためのディ
スク装置とネームツリー上のディレクトリ名(マウント
ポイント)との対応関係を記述した情報は、ルートデバ
イスにマウント構成ファイルとして記録されており、フ
ァイルサーバは、起動時にこのマウント構成ファイルに
記載された情報に従ってマウント処理を行う。
【0005】マウント構成ファイルには、ディスク装置
を特定する情報として、そのディスク装置にアクセスす
るためのIOパスの情報が記載されている。ファイルサ
ーバは、マウント処理の実行時に、マウント構成ファイ
ルに記載されたIOパスとマウントポイントとの対応関
係をメモリ上のマウント構成情報に読み込む。そして、
ファイルサーバは、ユーザがファイル名を指定してファ
イルをオープンするとき、前述のマウント構成情報を元
にファイルが格納されている物理ディスク装置にアクセ
スするためのIOパスを求め、ファイル管理テーブルを
作成する。従って、システム管理者は、システムに新し
いディスク装置を接続するなどしてシステムの構成を変
更したとき、マウント構成ファイルを書き換えることに
よって、新しい構成情報を計算機システムに設定する必
要がある。
【0006】一方、計算機システムの信頼性を向上させ
るため、異なる2つのノードを1つのディスク装置に物
理的に接続し、異なる2通りのIOパスからディスク装
置にアクセスすることができる構成にしておき、通常の
運用時に一方のIOパスを使用し、ノード障害が発生し
て使用中のIOパスが使用できなくなったとき、もう一
方のIOパスを用いて別のノードからディスク装置にア
クセスするようにすることによって、障害発生時におい
てもディスク装置の可用性(アベイラビリティ)を保つ
方法が、例えば、特開平10−275090号公報等に
記載されて知られている。
【0007】また、ディスク装置の信頼性を向上するた
めに、ファイルを複数のディスクに多重化して記録する
方法(ミラーリング)がよく知られている。ミラーリン
グを行う場合、一般に、論理ボリュームという概念が用
いられる。ミラーリングは、複数の物理ディスク装置
を、1つの論理ボリュームとしてユーザに見せる仕組み
である。ユーザは、予め複数の物理ディスク装置の情報
を登録した「論理ボリューム」を作成しておく。そし
て、ユーザがこの論理ボリュームに対して、物理ディス
ク装置と同様にアクセスすると、複数の物理ディスクへ
のファイルのミラーリングが行われる。論理ボリューム
を使用することにより、ファイルを複数のディスク装置
に分散記録するストライピングを行うことも可能とな
る。
【0008】
【発明が解決しようとする課題】前述で説明した使用中
のIOパスが使用不可能になったとき、物理ディスク装
置にアクセスするためのIOパスを別のIOパスに切り
替える処理を、従来のUNIXのファイルシステムに適
用して動的に行おうとすると、ファイル管理テーブル及
びマウント構成情報を検索し、使用できなくなったIO
パス名を新しいIOパス名に書き換える操作を行う必要
がある。前述のファイル管理テーブルのエントリを書き
換える処理は、オープンされているファイルの個数だけ
全てについて行わなければならない。この結果、従来の
UNIXのファイルシステムに、前述したIOパスの切
り替えの技術を適用した場合、ファイル管理テーブルの
エントリを書き換える処理に時間がかかり、その間その
物理ディスク装置にIO処理を行うことができないとい
う問題点を生じることになる。
【0009】また、IOパスに障害が発生したときに、
単純にIOパスを切り替えるだけでは、障害発生前に物
理ディスク装置にアクセスを行っていたノードが持って
いたバッファキャッシュ(物理ディスク装置にリード・
ライトするときにデータを一時的に蓄えておき、メモリ
に比べて処理速度の遅い物理ディスク装置への入出力回
数を削減するためのメモリ領域)やファイル管理テーブ
ル、及び、ディスク装置上のディスクキャッシュ(バッ
ファキャッシュと同様の目的のために物理ディスク装置
が備えるキャッシュメモリ)の内容が正常に物理ディス
ク装置に書き戻されず、大切なデータが消えてしまうと
いう問題点をも生じる。しかも、これが原因でファイル
システムの整合性が異常となるため、物理ディスク装置
に冗長に記録されたファイルシステムの情報を元にファ
イルシステムの整合性を正常状態に戻す操作が必要とな
る。この操作は、ディスク装置全体をチェックする必要
があるため、長い時間を要する。この結果、この間、そ
の物理ディスク装置に対するIO処理を行うことはでき
ないという問題点を生じさせてしまう。
【0010】さらに、IOパス切り替え後、新しいIO
パスを用いてディスク装置にアクセスを行うので、IO
パス切り替え後にシステムを再起動したときにマウント
処理が正常に行われるようにするには、システム管理者
がマウント構成ファイルを更新し、ディスク装置への新
しいIOパスとマウントポイントとの対応関係をマウン
ト構成ファイルに登録しなおす必要がある。また、ファ
イルのミラーリングを行う場合、論理ボリュームを作成
する必要があるが、論理ボリュームの管理は、システム
管理者に対して煩雑な作業を行わせることになる。
【0011】本発明の第1の目的は、IOパスの切り替
え処理のために要する時間を短縮し、一般ユーザからI
Oパス切り替え処理をできるだけ隠蔽することができる
ファイルシステムを提供することにある。また、本発明
の第2の目的は、IOパスの切り替え時に、バッファキ
ャッシュやファイル管理テーブル及びディスク装置上の
ディスクキャッシュに保存されたデータを失うことなく
IOパスの切り替え処理を行い、ファイルの整合性のチ
ェックを不要とすることができるファイルシステムを提
供することにある。また、本発明の第3の目的は、IO
パスを切り替えたとき自動的にマウント構成ファイルを
更新し、システム管理者の負担を軽減することのできる
ファイルシステムを提供することある。さらに、本発明
の第4の目的は、ユーザに論理ボリュームを意識させず
にファイルのミラーリングを行う方法を備えたファイル
システムを提供することにある。
【0012】
【課題を解決するための手段】本発明によれば前記目的
は、ファイル毎にファイルIDが定義されており、複数
の物理ディスク装置に分散管理されたファイルの処理を
行う1または複数のファイルサーバを有するファイルシ
ステムにおいて、ファイルID及び該ファイルIDに対
応するファイルが格納されている論理ディスクの論理デ
ィスクIDを含むファイル管理テーブルと、論理ディス
クID及び前記論理ディスクに対応する1つ以上の物理
ディスク装置にアクセスするための1つ以上のIOパス
を含む論理ディスク管理テーブルとを備え、ユーザから
のファイルIDを指定したファイルへのアクセス要求を
受信したファイルサーバは、ファイル管理テーブルを参
照し、前記ファイルIDから前記ファイルが格納されて
いる論理ディスクの論理ディスクIDを決定し、論理デ
ィスク管理テーブルを参照して前記論理ディスクIDか
ら前記論理ディスクに対応する物理ディスク装置にアク
セスするためのIOパス(IOパスを決定する情報は、
ノード番号、IOインターフェイス番号、ディスクコン
トローラ番号である)を決定し、決定したIOパスを使
用して物理ディスク装置にアクセスすることにより達成
される。
【0013】前述において、論理ディスク管理テーブル
は、該論理ディスク管理テーブルに登録されているIO
パス毎に稼働状態(「使用中」、「待機中」、「使用不
可」)を保持する状態フラグを含み、通常運用時、ファ
イルサーバは状態フラグが「使用中」状態のIOパス
(運用系IOパス)を用いて物理ディスク装置にアクセ
スする。前記運用系IOパスの障害発生時、障害を検出
したノードのファイルサーバは、前記ノードの論理ディ
スク管理テーブルを更新し、前記障害発生IOパスの状
態フラグを「使用不可」とし、状態フラグが「待機中」
状態であるIOパスの状態フラグを「使用中」として新
運用系IOパスとした後、全リモートノードのファイル
サーバと通信を行い、前記論理ディスク管理テーブルの
内容を全ノードの論理ディスク管理テーブルに複写する
ことによって、前記物理ディスク装置にアクセスするた
めのIOパスを旧運用系IOパスから新運用系IOパス
に切り替える。
【0014】このIOパス切り替え処理の間、前記障害
発生IOパスに含まれるノードのファイルサーバは、旧
運用系IOパスへのアクセス要求を保留し、IOパス切
り替え処理終了時、保留していたアクセス要求を前記新
運用系IOパスが含むノードに送信する。これによっ
て、IOパス切り替え処理を動的に行うことが可能とな
り、IOパス切り替え時ファイル管理テーブルを検索・
更新する必要をなくし、IOパス切り替え処理に要する
時間を短縮することができる。
【0015】また、前述において、IOパスの切り替え
処理時、使用できなくなった旧運用系IOパスを使って
アクセスしていた物理ディスク装置内に設けられたディ
スクコントローラが有するディスクキャッシュに格納さ
れたデータのうち、前記物理ディスク装置に書き戻す必
要のあるデータを、前記物理ディスク装置内に設けられ
た別のディスクコントローラを使用して前記物理ディス
ク装置に書き戻し、前記旧運用系IOパスに含まれるノ
ードのファイルサーバと新運用系IOパスに含まれるノ
ードのファイルサーバが通信を行うことによって、前記
旧運用系IOパスに含まれるノードの主記憶内に存在
し、前記物理ディスク装置に書き戻す必要があるバッフ
ァキャッシュ及びファイル管理テーブルを前記新運用系
IOパスに含まれるノードに転送する。本発明は、これ
によって、ディスク装置上のディスクキャッシュに存在
していたデータや、バッファキャッシュや、ファイル管
理テーブルが消失するのを防ぎ、ファイルシステムの整
合性のチェックを不要とすることができる。
【0016】また、前述において、マウント構成ファイ
ルは、IOパス毎にそのIOパスが使用できるか否かを
登録する使用可否情報を含み、ファイルサーバは、シス
テム起動時に前記マウント構成ファイルを読み込み、前
記使用可否情報に「使用可」と記載されたIOパスにつ
いて、対応する論理ディスク管理テーブルの状態フラグ
を「使用中」または「待機中」と登録し、前記使用可否
情報に「使用不可」と記載されたIOパスについて、対
応する論理ディスク管理テーブルの状態フラグを「使用
不可」と登録することにより、マウント構成ファイルに
「使用可」と記載されたIOパスだけを使用して物理デ
ィスク装置にアクセスをする設定を行っている。IOパ
ス切り替え・切り離し処理終了後、ファイルサーバは、
前記マウント構成ファイルを更新し、使用できなくなっ
た旧運用系IOパスの使用可否情報を「使用不可」に書
き換える。また、使用不可能となったIOパスが再び使
用できるようになったとき、ファイルサーバは、マウン
ト構成ファイルを更新し、使用可能になった前記IOパ
スの使用可否情報を「使用可」に書き換える。このよう
に、本発明は、IOパスが切り替わったときや復旧した
ときのマウント構成ファイルの書き換え処理を自動化す
ることにより、システム管理者の負担を軽減することが
できる。
【0017】また、本発明は、マウント構成ファイルの
1つのエントリに書かれた複数のIOパスからアクセス
される複数のディスク装置に対して、ファイルのミラー
リングを行うことができ、これにより、ユーザが論理ボ
リュームを使用することなくファイルのミラーリングを
行うことができる。
【0018】
【発明の実施の形態】以下、本発明によるファイルシス
テムの実施形態を図面により詳細に説明する。
【0019】図1は本発明の第1の実施形態によるファ
イルシステムの構成を示すブロック図、図2はシステム
内に設けられる各種のテーブルの具対的な構成例を説明
する図、図3はマウント構成ファイルの具体的な構成例
を説明する図である。図1〜図3において、1はネット
ワーク、10、20、30は物理ディスク装置、11、
12、21、22はディスクコントローラ、24はマウ
ント構成ファイル、100、200、300はノード、
110、210、310はCPU、120、220、3
20はメモリ、130、230はユーザアプリケーショ
ン(UAP)、140、240はファイルサーバ(F
S)、250はディスクドライバ、160、260はフ
ァイル管理テーブル、170、270は論理ディスク管
理テーブル、180、280はバッファキャッシュ、2
90、390はIOインタフェースである。
【0020】本発明の第1の実施形態によるファイルシ
ステムは、図1に示すように、超並列計算機システムを
構成するノード100、200、300(図1では3つ
のノードのみを示しているが、ノードは多数設けられ
る)がネットワーク1によって相互に接続されて構成さ
れている。ノード200とノード300とには、両ノー
ドからアクセス可能な共用物理ディスク装置10、20
が接続されている。物理ディスク装置10、20は、そ
れらのディスク装置内に設けられたディスクコントロー
ラ11、12及びノード200内に設けられたIOイン
ターフェイス290によってノード200と接続される
と共に、ディスクコントローラ12、22及びノード3
00内に設けられたIOインターフェイス390によっ
てノード300と接続されている。ノード100に接続
されている物理ディスク装置30は、物理ディスク装置
10、20と比べて障害発生率が極めて低い高信頼ディ
スク装置である。
【0021】ノード200は、CPU210とメモリ2
20とから構成される。メモリ220は、ユーザアプリ
ケーション230と、ファイル制御を行うファイルサー
バ240と、ディスクIO処理を行うディスクドライバ
250と、ファイル管理テーブル260と、論理ディス
クを定義している論理ディスク管理テーブル270と、
バッファキャッシュ280とを含む。ノード100及び
ノード300は、ノード200と同様に構成されてい
る。
【0022】物理ディスク装置にアクセスするための入
出力経路をIOパスと呼び、このIOパスは、ノード番
号、IOインターフェイス番号、ディスクコントローラ
番号の3つの情報で決定され、IOパスを決めると物理
ディスク装置を一意に決めることができる。例えば、
(ノード番号、IOインターフェイス番号、コントロー
ラ番号)=(200,290,11)というIOパスか
らは、物理ディスク装置10にアクセスされる。以後の
説明において、IOパスは、前述のような形式で記載す
ることとする。
【0023】論理ディスクは、1つ以上の物理ディスク
装置を組み合わせたものとして構成される。その物理デ
ィスクの組み合わせは、IOパスを指定することによっ
て行われる。例えば、(200,290,11)、(3
00,390,22)という2つのIOパスを組み合わ
せると、物理ディスク装置10、20を纏めた論理ディ
スクを構成することができる。その際、物理ディスク装
置10、20に同一の内容を記録するようにすれば、論
理ディスクをミラー化することができる。また、(20
0,290,11)、(300,390,12)という
2つのIOパスを組み合わせると、これらのIOパスか
らは共に物理ディスク装置10にアクセスされるため、
物理ディスク装置10に対応する論理ディスクが構成さ
れる。但し、この場合、物理ディスク装置10にアクセ
スするためのIOパスが2通り存在するので、片方のI
Oパスに障害が発生した場合でも、別のIOパスから物
理ディスク装置10にアクセスすることができ、これに
よって、ディスク装置の信頼性の向上を図ることができ
る。説明する本発明の第1の実施形態は、論理ディスク
が1つの物理ディスク装置に対応する後者の場合を例と
して取り扱う。
【0024】論理ディスク管理テーブル270は、図2
(b)に示すように、論理ディスクID271と、ノー
ド番号272、276と、IOインターフェイス番号2
73、277と、ディスクコントローラ番号274、2
78と、状態フラグ275、279とから構成される。
272〜274は、論理ディスクID271に対応する
物理ディスク装置にアクセスするための第1のIOパス
を決定し、状態フラグ275には、このIOパスの稼働
状態(「使用中」、「待機中」、「使用不可」のいずれ
か)が登録される。276〜278は、物理ディスク装
置にアクセスするための第2のIOパスを決定し、この
IOパスの稼働状態が状態フラグ279に登録される。
このように論理ディスク管理テーブル270には、1つ
の論理ディスクIDに対して2通りのIOパスとそれぞ
れのIOパスの状態フラグを登録できるようになってい
る。
【0025】本発明の第1の実施形態において、前述の
2つのIOパスからアクセスされる物理ディスク装置は
同一のものであり、通常運用時は2つのIOパスのうち
1つを使用し(状態フラグが「使用中」状態になってい
る)、もう一方のIOパスを「待機中」状態としてお
き、ディスクコントローラやIOインターフェイスの障
害等の原因により、使用中のIOパスが使用できなくな
ったとき、ファイルサーバが物理ディスク装置にアクセ
スするためのIOパスを「待機中」状態のIOパスに切
り替える。このように、論理ディスク管理テーブルは、
論理ディスクIDと物理ディスク装置にアクセスするた
めのIOパスとを対応付けることによって、仮想的なデ
ィスク装置として論理ディスクを定義している。論理デ
ィスクIDはこの論理ディスクを識別するための番号で
ある。
【0026】また、システムを構成する各ノードが持つ
論理ディスク管理テーブルの内容は常に同一となってい
る。例えば、図1において、ノード100が持つ論理デ
ィスク管理テーブル170と、ノード200が持つ論理
ディスク管理テーブル270と、ノード300が持つ論
理ディスク管理テーブル370は常に同一の内容を有す
る。
【0027】ファイル管理テーブル260は、図2
(a)に示すように、ファイルID261と論理ディス
クID262とファイル管理情報263とにより構成さ
れる。ファイルID261には、現在オープンされてい
るファイルのファイルIDが登録され、論理ディスクI
D262には、前述のファイルが格納されている論理デ
ィスクの論理ディスクIDが登録される。ファイル管理
情報263には、前述のファイルのファイルサイズや更
新日付等の情報が登録される。このファイル管理テーブ
ル260の各エントリは、ノード200上で動作するプ
ログラムがファイルをオープンする度に、物理ディスク
装置上から各ファイル固有の情報として読み出される。
従って、ファイル管理テーブル260のエントリは、少
なくともオープンされているファイルの個数分存在す
る。
【0028】バッファキャッシュ280は、物理ディス
ク装置にアクセスを行うときにリード・ライトするデー
タを一時的に蓄えておき、メモリに比べて処理速度の遅
い物理ディスク装置への入出力処理回数を削減するため
に使用される。バッファキャッシュ280は、図2
(c)に示すように、論理ディスクID281とブロッ
ク番号282とキャッシュデータ283とから構成され
る。キャッシュデータ283には、論理ディスクID2
81のブロック番号282で指定されるディスク領域の
データの内容が格納される。
【0029】高信頼な物理ディスク装置30内には、マ
ウント構成ファイル24が格納されている。マウント構
成ファイル24のエントリは、図3に示すように、シス
テムに接続される物理ディスク装置にアクセスするため
のIOパス名51、53と、そのIOパスが使用可能か
否かを示す使用可否情報52、54と、前述の物理ディ
スク装置に対応する論理ディスクをマウントするマウン
トポイント55との3つの情報を含んでいる。マウント
構成ファイル24には、IOパス名が“(ノード番号,
IOインターフェイス番号,ディスクコントローラ番
号)=(200,290,11)”のような形式で記述
され、そのIOパスが使用可能な場合、マウント構成フ
ァイル24の対応するIOパスの使用可否情報に“avai
lable” と記述され、そのIOパスが使用不可能な場
合、使用可否情報に“unavailable”と記述される。図
3に示した例では、IOパス(200,290,11)
と(300,390,12)との両者がマウントポイン
ト /mntに対応付けされており、共に使用可能となって
いる。この記述によって、ユーザが /mntディレクトリ
以下のディレクトリツリー内のファイルにアクセスした
とき、物理ディスク装置10にアクセスできるようにな
る。このとき、物理ディスク装置10にアクセスするた
めのIOパスは、前述のいずれかのIOパスが使用され
る。使用していない方のIOパスは「待機中」状態とし
てスタンバイしている。
【0030】前述のように、物理ディスク装置にアクセ
スするためのIOパスが2つ存在する場合、その2つの
IOパスを同じエントリに記載することにより、2つの
IOパスを1つのマウントポイントに対応付けることが
できる。マウント構成ファイル24は、通常のエディタ
などで編集することが可能であり、システム管理者は、
システムの構成を変更したとき、マウント構成ファイル
24の内容が新しいシステム構成と一致するように、マ
ウント構成ファイル24を編集し、システムをリブート
させる。システムの起動時、ファイルサーバ140は、
修正後のマウント構成ファイル24に従ってマウント処
理を行うので、リブート後、新しいシステム構成が使用
可能となる。例えば、図1に示した物理ディスク装置装
置20をシステムに追加したとき、システム管理者は
“((200,290,21) available) ((30
0,390,22) available) /mnt1”という行を
マウント構成ファイル24に追加してシステムをリブー
トする。この記述によって、ユーザが /mnt1 ディレク
トリにアクセスしたとき、前述の追加行に記載したいず
れかのIOパスから物理ディスク装置20にアクセスで
きるようになる。
【0031】図4はシステムの起動時のファイルサーバ
の処理動作を説明するフローチャート、図5はシステム
全体のノードの論理ディスク管理テーブルを更新する処
理動作を説明するフローチャートであり、次に、これら
のフローを参照して、システムの起動時にファイルサー
バ140がマウント構成ファイル24を読み込み、論理
ディスク管理テーブルを設定してマウント処理を行うま
での処理手順及び全ノードでの論理ディスク管理テーブ
ルの更新の処理手順を説明する。
【0032】(1)システムの起動時、ノード100内
のファイルサーバ140は、高信頼ディスク装置30上
に格納されているマウント構成ファイル24の1つのエ
ントリを読み込む(ステップ401、402)。
【0033】(2)ファイルサーバ140は、マウント
構成ファイル24に記載されたIOパス名に対して論理
ディスクIDを自動的に設定する。マウント構成ファイ
ル24の1つのエントリに複数のIOパス名が記載され
ていた場合、ファイルサーバ140は、その複数のIO
パスに対して1つの論理ディスクIDを設定する。例え
ば、図3に示した例の場合、ファイルサーバ140は、
IOパス名51“(200,290,11)”及びIO
パス名53“(300,390,12)”に対して論理
ディスクID“123”を設定する。ファイルサーバ1
40は、これにより、設定した論理ディスクIDを論理
ディスク管理テーブル170の論理ディスクID171
に登録する(ステップ403)。
【0034】(3)前述の第1のIOパス名をノード番
号172、IOインターフェイス番号173、ディスク
コントローラ番号174に登録し、第2のIOパス名を
ノード番号176、IOインターフェイス番号177、
ディスクコントローラ番号178に登録する。図3に示
した例の場合、論理ディスクID171には“12
3”、ノード番号172には“200”、IOインター
フェイス番号173には“290”、ディスクコントロ
ーラ番号174には“11”、ノード番号176には
“300”、IOインターフェイス番号177には“3
90”、ディスクコントローラ番号178には“12”
が登録される(ステップ404)。
【0035】(4)そして、ファイルサーバ140は、
マウント構成ファイル24の使用可否情報に “availab
le”と記載されている最初のIOパス“(200,39
0,11)”について、論理ディスク管理テーブル17
0の対応する状態フラグを「使用中」状態と登録し、
“available” と記載されている残りのIOパス“(3
00,390,12)”について、対応する状態フラグ
を「待機中」状態と登録する。また、ファイルサーバ1
40は、マウント構成ファイル24の使用可否情報に、
“unavailable” と記載されているIOパスについては
対応する状態フラグを「使用不可」状態と登録する。こ
の結果、論理ディスク管理テーブル170の内容は、図
2に示したようなものとなる(ステップ405)。
【0036】(5)ファイルサーバ140は、マウント
構成ファイル24に記載された全てのエントリについ
て、論理ディスク管理テーブル170への登録が終了し
たか否かをチェックし、終了していない場合、ステップ
402からの処理を繰り返し実行して論理ディスク管理
テーブルへの登録を続ける(ステップ406)。
【0037】(6)ステップ406で、マウント構成フ
ァイル24に記載された全てのエントリについて、論理
ディスク管理テーブル170への登録が終了していた場
合、ファイルサーバ140は、全ての他のノード20
0、300であるリモートノードのファイルサーバと通
信を行い、システムを構成する全ノードの論理ディスク
管理テーブルの更新を行わせる(ステップ407)。
【0038】(7)ファイルサーバ140は、全リモー
トノードから論理ディスク管理テーブルの更新完了の通
知を受信したら、マウント構成ファイル24に記載され
ているIOパス名(“(200,290,11)”及び
“(300,390,12)”)とマウントポイント /
mnt との対応関係、及び、論理ディスク管理テーブル1
70に登録した上記IOパス名と論理ディスクID“1
23”との対応関係から、マウントポイント /mnt と上
記論理ディスクID“123”との対応関係を作り、論
理ディスクID“123”に対応する論理ディスクをマ
ウントポイント /mnt にマウントする(ステップ40
8)。
【0039】次に、図5に示すフローを参照して前述し
たステップ407の処理時のファイルサーバ140及び
リモートノードのファイルサーバの処理動作を説明す
る。
【0040】(1)ファイルサーバ140は、自ノード
100の論理ディスク管理テーブルの設定を終了した
後、全リモートノードのファイルサーバに論理ディスク
管理テーブル140の内容を送信し、論理ディスク管理
テーブルを更新するように要求する(ステップ901、
902)。
【0041】(2)この通知を受けたリモートノードの
ファイルサーバは、送信されてきた論理ディスク管理テ
ーブル170の内容を、そのノードの論理ディスク管理
テーブルに複写して論理ディスク管理テーブルの更新を
行い、ファイルサーバ140に論理ディスク管理テーブ
ルの更新終了を通知する(ステップ905〜907)。
【0042】(3)ファイルサーバ140は、全リモー
トノードからそれぞれのノードの論理ディスク管理テー
ブルの更新完了通知を受信するのを待ち、図4により説
明したステップ408のマウント処理を実行して処理を
終了する(ステップ903、904)。
【0043】図6は通常運用時のファイルサーバの処理
動作を説明するフローチャートであり、次に、このフロ
ーを参照して、通常運用時のファイルアクセスの手順に
ついて説明する。ここでは、ファイル管理テーブル16
0、260及び論理ディスク管理テーブル170、27
0の設定が図2に示すようになっているとして、ローカ
ルノードとしてのノード200に接続された物理ディス
ク装置にアクセスする場合について、ノード200上で
動作するユーザアプリケーション230が、ファイルI
D“100”を指定したファイルアクセス要求をファイ
ルサーバ240に発行した場合を例に説明する。
【0044】(1)ファイルサーバ240は、ユーザア
プリケーション230からの要求を受信すると、この要
求が他のノードであるリモートノードからの要求である
か否かを判定する(ステップ501、502)。
【0045】(2)説明している例では、自ノードであ
るローカルノードのユーザアプリケーションからのアク
セスであるとしているので、ファイルサーバ240は、
ファイル管理テーブル260を検索し、ファイルID
“100”からそのファイルIDで定義されるファイル
が格納されている論理ディスクの論理ディスクID“1
23”を求める(ステップ503)。
【0046】(3)そして、ファイルサーバ240は、
論理ディスク管理テーブル270を検索し、論理ディス
クIDから状態フラグが「使用中」状態のIOパス名
“(200,290,11)”を求め、そのIOパス名
に含まれるノード番号“200”がローカルノードであ
るか否かを判定する(ステップ504、505)。
【0047】(4)前述のIOパス名に含まれるノード
番号“200”がローカルノードであるとして説明して
いるので、ステップ505で、前述のIOパス名に含ま
れるノード番号“200”がローカルノードであると判
定され、ファイルサーバ240は、自ローカルノードの
ディスクドライバ250にIOパスを指定したIOアク
セス要求を送る。この要求を受けたディスクドライバ2
50は、IOインターフェイス290を介してディスク
コントローラ11に制御信号を送る(ステップ50
7)。
【0048】次に、他のノードであるリモートノードに
接続された物理ディスク装置にアクセスする場合につい
て説明する。ここで説明する例は、ノード100上で動
作するユーザアプリケーション130が、ファイルID
“100”を指定したファイルアクセス要求をファイル
サーバ140に発行した場合であるとする。
【0049】(1)ファイルサーバ140は、ユーザア
プリケーション130からの要求を受信すると、ローカ
ルノードに接続された物理ディスク装置にアクセスする
場合と同様に、ファイル管理テーブルを160を検索し
ファイルID“100”から論理ディスクID“12
3”を求め、論理ディスク管理テーブル170を検索し
て論理ディスクID“123”からIOパス名“(20
0,290,11)”を求める(ステップ501〜50
4)。
【0050】(2)ファイルサーバ140は、上記IO
パス名に含まれるノード番号“200”がリモートノー
ドであることを確認すると、そのノード(ノード20
0)のファイルサーバ240に上記論理ディスクIDを
指定したIOアクセス要求を送る(ステップ505、5
06)。
【0051】(3)この要求を受けたファイルサーバ2
40は、論理ディスク管理テーブル270を検索し論理
ディスクID“123”から状態フラグが「使用中」状
態のIOパス名“(200,290,11)”を求める
(ステップ501、502、504)。
【0052】(4)ファイルサーバ240は、IOパス
に含まれるノード番号“200”が自ノードであるロー
カルノードであることを確認して、ディスクドライバ2
50にIOパスを指定したIOアクセス要求を送る。こ
の要求を受けたディスクドライバ250は、IOインタ
ーフェイス290を介してディスクコントローラ11に
制御信号を送る(ステップ505、507)。
【0053】前述した処理動作の説明から判るように、
ファイルサーバが自ノードであるローカルノードからア
クセス要求を受ける場合、その要求は、全てユーザアプ
リケーションからの要求であり、他のノードであるリモ
ートノードからの要求を受ける場合、その要求は、全て
リモートノードのファイルサーバからの要求である。
【0054】実際のファイルアクセス処理は、バッファ
キャッシュを経由して行われる。ファイルサーバ240
は、論理ディスクIDを指定したIOアクセス要求に対
する処理を、バッファキャッシュ280に対するリード
・ライト処理と、バッファキャッシュ280と物理ディ
スク装置10との間でのリード・ライト処理とに分けて
行う。ファイルサーバ240は、バッファキャッシュ2
80と物理ディスク装置10との間のリード・ライトア
クセス処理との実行時に、論理ディスクIDからIOパ
ス名への変換を行う。ノード100で動作するプログラ
ムが、リモートノードに接続された物理ディスク装置1
0にアクセスする場合、ノード100上のバッファキャ
ッシュ180とノード200上のバッファキャッシュ2
80とを経由してアクセスが行われる。すなわち、ライ
ト処理を行う場合のデータの流れは、バッファキャッシ
ュ180→バッファキャッシュ280→物理ディスク装
置10となる。リード処理の場合、この逆の順序とな
る。
【0055】ユーザアプリケーションがファイルを更新
し、ファイルの更新日付が変わるなどして、ファイル管
理テーブルの内容が変更されたとき、ファイル管理テー
ブルの変更を物理ディスク装置に書き戻す必要がある。
次に、この書き戻し処理について説明する。
【0056】ファイル管理テーブルの内容が変更され、
その内容をローカルノードに接続された物理ディスク装
置に書き戻す場合、ローカルノードのファイルサーバが
ローカルノードのファイル管理テーブルの内容を直接そ
の物理ディスク装置に書き戻す。また、リモートノード
に接続された物理ディスク装置に書き戻す場合、ローカ
ルノードのファイルサーバは、物理ディスク装置が接続
されたノードにローカルノードのファイル管理テーブル
の内容を一旦転送する。その後、物理ディスク装置が接
続されたノードのファイルサーバが物理ディスク装置に
その内容を書き戻す。例えば、ノード100のファイル
サーバ140がファイル管理テーブル160の内容を物
理ディスク装置10に書き戻す場合、まず、ファイルサ
ーバ140は、物理ディスク装置への書き戻し処理を行
いたいファイル管理テーブル160のエントリ中の、論
理ディスクID162(“123”)を参照して、書き
戻す先の論理ディスクIDを求める。そして、論理ディ
スク管理テーブル170を検索して上記論理ディスクI
Dに対応する物理ディスク装置にアクセスするためのI
Oパス(“200,290,11”)を求め、そのIO
パス名に含まれるノード番号(“200”)に対応する
ノード(ノード200)のファイルサーバ240に書き
戻しを行いたいファイル管理テーブルのエントリを送信
する。ファイルサーバ240は、受信したデータを一旦
ファイル管理テーブル260に書き込む。その後、ファ
イルサーバ240は、ファイル管理テーブルに保存され
ている他のデータと纏めて、ファイル管理テーブル26
0の更新内容を物理ディスク装置10に書き込む。ファ
イルサーバ240が物理ディスク装置10にアクセスす
るためのIOパスは、論理ディスク管理テーブル270
を検索し、論理ディスクID262をIOパス名に変換
することによって求められる。
【0057】前述したように、最終的な物理ディスク装
置へのデータの書き戻しは、物理ディスク装置が接続さ
れたノードに存在するファイル管理テーブル及びバッフ
ァキャッシュから行っており、物理ディスク装置が接続
されたノードのファイル管理テーブル及びバッファキャ
ッシュには、ローカルノードのユーザアプリケーション
に関係するもの以外にリモートノードのユーザアプリケ
ーションに関係するものが存在する。
【0058】図7はIOパスの切り替えの処理動作を説
明するフローチャート、図8〜図10はIOパスに障害
が発生しIOパスの切り替えを行う処理について説明す
る図である。図8〜図10において、13はディスクキ
ャッシュ、340はファイルサーバ、350はディスク
ドライバ、360はバッファキャッシュであり、他の符
号は図1の場合と同一である。以下、これらの図を参照
して、ディスクコントローラ11で障害が発生し、通常
使用しているIOパス“(200,290,11)”が
使用不可能になったとき、物理ディスク装置10にアク
セスするためのIOパスを“(200,290,1
1)”から“(300,390,12)”に切り替える
処理について説明する。
【0059】図9において、ディスクキャッシュ13
は、ディスク装置10が備えるディスクコントローラ1
1の内部に設けられたディスクキャッシュであり、ディ
スクコントローラ11に対してリード・ライト処理要求
が発行されたときに使用される。そして、実際のリード
・ライト処理は、このディスクキャッシュ13を経由し
て行われる。また、ディスクコントローラ12は、ディ
スクコントローラ11に障害が発生したときに、ディス
クキャッシュ13がディスク媒体に書き戻す必要のある
データを保持している場合、そのデータをディスク媒体
に書き戻し、ディスクコントローラ11をディスク装置
から切り放す機能を持つ。
【0060】図8は図7により説明するステップ100
3でのリクエストの保留の処理を行うときの各ノードの
動作を示し、図9は図7により説明するステップ100
4でのディスクキャッシュの書き戻しの処理と、ステッ
プ1005でのバッファキャッシュの転送の処理を行う
ときの各ノードの動作を示し、図10は図7により説明
するステップ1006でのリクエストの保留解除及び転
送の処理を行うときの各ノードの動作を示している。
【0061】以下、ディスクコントローラ11で障害が
発生した時、物理ディスク装置10にアクセスするため
のIOパスを“(200,290,11)”から“(3
00,390,12)”に切り替える処理を図8〜図1
0を併用しながら図7に示すフローを参照して説明す
る。なお、論理ディスク管理テーブル270の設定は図
2に示すようになっているものとする。
【0062】障害検出の処理(ステップ1001) ディスクコントローラ11に障害が発生すると、ディス
クドライバ250は、IOパス(200,290,1
1)を使って物理ディスク装置10にアクセスを行うこ
とができなくなる。これをもって障害検出とし、ディス
クドライバ250は、IOパス(200,290,1
1)の障害発生をファイルサーバ240に通知する。ま
た、ディスクドライバ250がローカルノードとしての
ノード200のノード番号を含むIOパスのうち、論理
ディスク管理テーブル270の状態フラグが、「使用
中」状態及び「待機中」状態のIOパスを定期的に監視
することによって障害を検出してもよい。これによっ
て、「待機中」状態のIOパスの障害検出が可能とな
る。
【0063】切り替え対象IOパスの検索の処理(ステ
ップ1002) 障害発生通知を受けたファイルサーバ240は、図2に
示した論理ディスク管理テーブル270を参照し、障害
発生IOパス“(200,290,11)”を含むエン
トリを検索する。そして、障害発生IOパスの状態フラ
グが「待機中」状態であるか否かをチェックし(ステッ
プ1010)、もし、障害発生IOパスの状態フラグが
「待機中」状態であれば、IOパスの切り替え処理は必
要なく、ステップ1011の処理に進む。そうでない場
合、IOパスの切り替えが必要になりステップ1103
の処理に進む。前述の検索によって見つかったエントリ
には、障害発生IOパス以外に、状態フラグ279(2
75)が「待機中」状態のIOパス“(300,39
0,12)”と論理ディスクID“123”が登録され
ている。この「待機中」状態のIOパス“(300,3
90,12)”が切り替え先のIOパスとなる。ファイ
ルサーバ240は、障害発生IOパス名と切り替え先の
IOパス名とそれらに対応する論理ディスクID(以
後、IOパス切り替え処理を行う論理ディスクIDと呼
ぶ)を、ファイルサーバ240が管理するメモリ内に保
存し、ファイルサーバ240が論理ディスク管理テーブ
ル270を検索することなくいつでも得られるようにし
ておく。
【0064】リクエストの保留の処理(ステップ100
3) この処理について、図8を参照して説明する。ファイル
サーバ240は、現在処理中あるいは今後受理するIO
アクセス要求の中で、IOパスの切り替え処理を行う論
理ディスクID“123”あるいは障害発生IOパス
“(200,290,11)”を指定したIOアクセス
要求を保留し、その内容を後で取り出すことができるよ
うにファイルサーバ240が管理するメモリ上に記録す
る。図8に示す例では、ファイルサーバ140は、ディ
スクコントローラ11で障害が発生したことを知らず
に、論理ディスク“123”を指定したライト要求をフ
ァイルサーバ240に送信している。ファイルサーバ2
40は、このライト要求と、現在処理中のIOパス名
“(200,290,11)”を指定したリード要求を
保留している。
【0065】次に、ファイルサーバ240は、切り替え
先のIOパス“(300,390,12)”に含まれる
ノード番号“300”に対応するノード(以後、切り替
え先のノードと呼ぶ)のファイルサーバ340に、障害
発生IOパス名“(200,290,11)”と切り替
え先のIOパス名“(300,390,12)”と対応
する論理ディスクID“123”とを送信し、論理ディ
スクIDを指定したIOアクセス要求を保留するように
要求する。この要求を受信したファイルサーバ340
は、前述の2つのIOパス名と論理ディスクIDとをフ
ァイルサーバ340が管理するメモリ上に保存し、これ
らの情報をいつでも得られるようにした後、論理ディス
クID“123”を指定したIOアクセス要求を保留
し、その内容を後で取り出せるようにファイルサーバ3
40が管理するメモリ上に保存する。図8に示す例で
は、ファイルサーバ340は、論理ディスクID“12
3”を指定したリード要求を保留している。
【0066】ディスクキャッシュの書き戻しの処理(ス
テップ1004) この処理について、図9を参照して説明する。ファイル
サーバ340は、リクエストの保留の設定を行った後、
障害発生IOパスが含むディスクコントローラ番号“1
1”に対応するディスクコントローラ11が備えるディ
スクキャッシュ13を、切り替え先のIOパスが含むデ
ィスクコントローラ番号“12”に対応するディスクコ
ントローラ12を使ってディスク装置に書き戻すように
ディスクドライバ350に要求する。この要求を受けた
ディスクドライバ350は、IOインターフェイス39
0を介してディスクコントローラ12に制御信号を送り
ディスクキャッシュ13に保存されているdirtyな
データをディスク領域に書き戻し、ディスクコントロー
ラ11をディスク装置10から切り放す。これらの処理
の終了後、ディスクドライバ350は、ファイルサーバ
340に終了通知を送る。
【0067】バッファキャッシュの転送の処理(ステッ
プ1005) この処理について、図9を用いて説明する。ファイルサ
ーバ340は、ディスクドライバ350からの終了通知
を受けると、障害発生IOパス“(200,290,1
1)”に含まれるノード番号“200”に対応するノー
ド(以後、障害発生ノードと呼ぶ)のファイルサーバ2
40にファイル管理テーブル260及びバッファキャッ
シュ280の転送を要求する。ファイルサーバ340か
らの要求を受信したファイルサーバ240は、dirt
yな(物理ディスク装置に書き戻す必要のある)ファイ
ル管理テーブル260とdirtyなバッファキャッシ
ュ280の中で、論理ディスクID262や論理ディス
クID281が、IOパス切り替え処理を行う論理ディ
スクID“123”であるデータを、ファイルサーバ3
40に送信する。この送信が成功したら、ファイルサー
バ240は、ノード200内に存在する前述のデータを
消去可能とし、バッファキャッシュ280をしばらくの
間、読み出し用のキャッシュとして使用するが、バッフ
ァキャッシュ280やファイル管理テーブル260のた
めのメモリ領域が不足してきたらこれらを消去する。フ
ァイルサーバ340は、受け取ったデータを、ノード3
00上のファイル管理テーブル360及びバッファキャ
ッシュ380にマージする。ノード300上のこれらの
データはdirtyであるので、IOパスの切り替え処
理が終了し通常運用状態となったら、ファイルサーバ3
40が切り替え先のIOパス“(300,390,1
2)”を使用して物理ディスク装置10に書き込む。ま
た、前述の上記データは、読み出し用のキャッシュとし
て使用される可能性もある。
【0068】論理ディスク管理テーブルの更新の処理
(ステップ1006) この処理は、図5により説明したフローの手順で実行さ
れる。図5に示したローカルノードは、ここでは障害発
生ノード200である。ファイル管理テーブル260及
びバッファキャッシュ280の転送が終了すると、ファ
イルサーバ240は、論理ディスク管理テーブル270
に登録されている障害発生IOパス“(200,29
0,11)”の状態フラグ275を「使用中」状態から
「使用不可」状態に、切り替え先のIOパス“(30
0,390,12)”の状態フラグ279を「待機中」
状態から「使用中」状態に更新する。ファイルサーバ2
40は、論理ディスク管理テーブル270の更新の終了
後(図5のステップ901)、全リモートノードのファ
イルサーバに論理ディスク管理テーブル270の更新情
報を送り、論理ディスク管理テーブルの更新を要求し
(図5のステップ902)、リプライを待つ。例えば、
ファイルサーバ240からの要求を受信したノード10
0のファイルサーバ140は、受信した論理ディスク管
理テーブル270の更新情報に基づいて、ノード100
の論理ディスク管理テーブル170のIOパス“(20
0,290,11)”に対応する状態フラグ175を
「使用不可」状態に、IOパス“(300,390,1
2)”に対応する状態フラグ179を「使用中」状態に
更新する(図5のステップ906)。この更新の後、フ
ァイルサーバ140は、ファイルサーバ240に論理デ
ィスク管理テーブル370の更新終了の通知を送る(図
5のステップ907)。ファイルサーバ240が、全リ
モートノードのファイルサーバから論理ディスク管理テ
ーブルの更新終了の通知を受信すれば(図5のステップ
903)、システムを構成するすべてのノードの論理デ
ィスク管理テーブルの更新が完了したことになる。
【0069】リクエストの保留解除及び転送の処理(ス
テップ1007) この処理について、図10を参照して説明する。ファイ
ルサーバ240は、切り替え先のノードのファイルサー
バ340にリクエストの保留を解除する要求を送る。こ
の要求を受けたファイルサーバ340は、ステップ10
03で行ったIOアクセス要求の保留を解除し、保留し
ていたIOアクセス要求の処理を行い、通常運用時の処
理を開始する。また、ファイルサーバ240は、ステッ
プ1003で行ったIOアクセス要求の保留を解除し、
保留していたIOアクセス要求のうち、障害発生IOパ
スを指定したIOアクセス要求を、切り替え先のIOパ
スを指定したIOアクセス要求に変換した後、保留中の
すべてのIOアクセス要求を、切り替え先のノードのフ
ァイルサーバ340に転送する。図10に示す例では、
ファイルサーバ240は、IOパス“(200,29
0,11)”を指定したリード要求を、IOパス“(3
00,390,12)”を指定したリード要求に変換
し、前述の要求と論理ディスクID“123”を指定し
たライト要求とをノード300のファイルサーバ340
に転送している。転送されたIOアクセス要求は、ファ
イルサーバ340によって処理される。
【0070】マウント構成ファイルの更新の処理(ステ
ップ1008) 最後に、ファイルサーバ240は、高信頼ディスク装置
30が接続されているノード100のファイルサーバ1
40に障害発生IOパス“(200,290,11)”
が「使用不可」状態になったことをマウント構成ファイ
ル24に記載するように要求し、通常運用時の処理を開
始する。この要求を受けたファイルサーバ140は、高
信頼ディスク装置30上のマウント構成ファイル24を
参照し、障害発生IOパス“(200,290,1
1)”の使用可否情報52を“unavailable”(使用不
可)に書き換える。以上により、IOパスの切り替え処
理が終了する。
【0071】論理ディスク管理テーブルの更新の処理
(ステップ1011) ステップ1010のチェックで、IOパスの切り替え処
理を行う必要がなかった場合、障害発生ノードのファイ
ルサーバ240は、ステップ1006の処理と同様の手
順でシステム全体の論理ディスク管理テーブルを更新す
る。但し、障害発生IOパス“(200,290,1
1)”の状態フラグを「待機中」から「使用不可」に書
き換える処理だけを行う。システム全体の論理ディスク
管理テーブルの更新が終了した後前述したステップ10
08の処理に進む。
【0072】図11はIOパスが障害から復旧したと
き、IOパスをシステムに復旧させる処理手順を説明す
るフローチャートであり、これについて説明する。ここ
では、物理ディスク装置10のディスクコントローラ1
1の障害などの原因により「使用不可」状態になってい
たIOパス“(200,290,11)”がディスクコ
ントローラ11の交換などによって再び使用可能になっ
たとき、システムに上記のIOパスを復旧させる方法を
例に説明する。また、ここでは、IOパスの復旧処理中
に使用中のIOパスに障害が発生することはないと仮定
する。
【0073】(1)障害が発生したディスクコントロー
ラの交換等により、今まで使用不可能となっていたIO
パス“(200,290,11)”が使用可能な状態に
なると、システム管理者は、管理用のプログラムを使っ
て、このIOパスをシステムに復旧させる要求を、高信
頼ディスク装置が接続されているノード100のファイ
ルサーバ140に送信する。ファイルサーバ140は、
この要求を受信する(ステップ601)。
【0074】(2)復旧要求を自したファイルサーバ1
40は、論理ディスク管理テーブル170を参照して、
前述のIOパス“(200,290,11)”の状態フ
ラグ175を「使用不可」状態から「待機中」状態に更
新する。また、ファイルサーバ140は、論理ディスク
管理テーブル170の更新が終了したら、全ての稼働中
のノードのファイルサーバと通信を行い、全ノードの論
理ディスク管理テーブルを論理ディスク管理テーブル1
70と同じ内容にする。この処理は、図7によるIOパ
スの切り替えのフローにより説明したステップ1006
での処理と同様な処理により行われる(ステップ60
2)。
【0075】(3)そして、ファイルサーバ140は、
高信頼ディスク装置30上のマウント構成ファイル24
を参照し、前述のIOパス“(200,290,1
1)”の使用可否情報52を“unavailable”(使用不
可)から“available”(使用可)に変更する。前述の
処理により、IOパス“(200,290,11)”を
「待機中」状態としてシステムに復旧させることができ
る(ステップ603)。
【0076】前述した本発明の実施形態は、ファイル管
理テーブル260及びバッファキャッシュ270をノー
ド200からノード300に転送するとして説明した
(図7のステップ1005)が、これは次のような理由
による。すなわち、物理ディスク装置へのアクセスは、
ローカルノードからのアクセスでもリモートノードから
のアクセスでも、最終的に、その物理ディスク装置が接
続されたノードのファイル管理テーブル及びバッファキ
ャッシュを経由して行われる。従って、物理ディスク装
置が接続されたノードは、そのノード(ローカルノー
ド)で動作するプログラムに関係するファイル管理テー
ブル及びバッファキャッシュの他に、リモートノードで
動作するプログラムに関係するファイル管理テーブル及
びバッファキャッシュを持つ。前述した本発明の実施形
態に示したようなIOパス切り替え処理は、物理ディス
ク装置が接続されているノードがノード200からノー
ド300に切り替わるので、ノード300がノード20
0に代わって、ノード200が保持していたファイル管
理テーブル260及びバッファキャッシュ280を持つ
必要がある。そこで、IOパス切り替え処理時にファイ
ル管理テーブルやバッファキャッシュをノード300に
転送するようにしている。このとき、dirtyなデー
タのみを転送するようにして、データの転送量をなるべ
く少なく済むようにしている。
【0077】また、前述した本発明の実施形態は、物理
ディスク装置10、20を共にノード200から使用し
ているときに、IOインターフェイス290に障害が発
生した場合、IOパス(200,290,11)及び
(200,290,21)の両方が使用できなくなる
が、この場合、ディスクドライバ250が、各々のIO
パスに対して障害検出を行い、各々のIOパスに対して
前述の各ステップで示されるIOパスの切り替え処理を
行うようにすればよい。また、ディスクドライバ250
がIOインターフェイス290で障害が起こったことを
検出する機能を持つ場合、ステップ1001で、ディス
クドライバ250がファイルサーバ240にIOインタ
ーフェイス290の障害を通知し、ステップ1002
で、ファイルサーバ240が論理ディスク管理テーブル
270を検索し、障害発生IOインターフェイス番号
“290”から、障害発生IOパス(200,290,
11)、(200,290,21)と対応する切り替え
先のIOパスと論理ディスクIDを探し出し、これら2
組のIOパスについて、前述の各ステップで示される切
り替え処理を同時に行うようにしてもよい。
【0078】前述した本発明の実施形態において、ノー
ド200が2つのIOインターフェイスを有し、物理デ
ィスク装置10がこれら2つのIOインターフェイスに
よってノード200と接続されており、物理ディスク装
置10とノード200との間のIOパスが2つ存在し、
通常運用時これらのIOパスのうち1つを利用している
ような場合、ディスクコントローラやIOインターフェ
イスの障害発生により、今まで使用していたIOパスが
使用できなくなったとき、物理ディスク装置10にアク
セスするためのIOパスをもう片方のIOパスに前述し
たの方法で切り替えることができる。この場合、ステッ
プ1003でノード300のファイルサーバ340がI
Oアクセス要求を保留する処理と、ステップ1005で
ノード200が持つバッファキャッシュ280及びファ
イル管理テーブル260をIOパス切り替え先のノード
300に転送する処理が不要となる。
【0079】また、本発明は、物理ディスク装置にアク
セスするためのIOパスが3つ以上存在する場合にも適
用することができる。この場合、論理ディスク管理テー
ブル及びマウント構成ファイル24の各エントリに3つ
以上のIOパスの組を登録できるようにし、システムの
起動時にファイルサーバ140がマウント構成ファイル
24に記載されたIOパスの組に対して、1つの論理デ
ィスクIDを設定し、IOパスと論理ディスクIDとの
対応関係を論理ディスク管理テーブルに登録するように
すればよい。そして、この場合、通常運用時、複数のI
Oパスが「待機中」状態としてスタンバイするため、障
害発生時のIOパスの切り替え処理を行う際に、複数の
「待機中」状態のIOパスの中から切り替え先のIOパ
スを選択する必要がある。この切り替え先のIOパスの
決定は、前述した実施形態におけるステップ1002で
障害を検出したノードのファイルサーバがそのノードの
論理ディスク管理テーブルを検索し、障害発生IOパス
名を含むエントリを見つけたときに、そのエントリのな
るべく最初の方のフィールドに登録されている「待機
中」状態のIOパスを切り替え先のIOパスとして選び
出すことによって行うようにすればよい。また、論理デ
ィスク管理テーブルに登録されている各IOパス毎に使
用時間(状態フラグが「使用中」状態となっていた時
間)を上記論理ディスク管理テーブルに登録できるよう
にし、IOパスの切り替え処理時、使用時間の短いIO
パスに切り替えるようにしてもよい。これによって、複
数のIOパスをまんべんなく使用することができる。
【0080】さらに、本発明は、LAN等のネットワー
クにより接続された疎結合計算機システムによるファイ
ルシステムに対しても適用することができる。この場
合、前述のノード番号の代わりにネットワークアドレス
を使用すればよい。
【0081】また、前述した本発明の実施形態におい
て、ディスクキャッシュ13をディスクコントローラ1
2から制御し、ディスク装置10に書き戻す機能を物理
ディスク装置10が持たない場合、ノード200のディ
スクドライバ250が、ディスクキャッシュ13に保存
されたdirtyなキャッシュを少なくとも含むデータ
を予め保持しておいて、障害発生時、前述のステップ1
004でディスクドライバ250がディスクドライバ3
50と通信を行い、dirtyなディスクキャッシュを
少なくとも含むようなデータをノード200からノード
300に転送し、ディスクコントローラ12を通してデ
ィスク装置10に書き戻すようにしてもよい。
【0082】前述した本発明の実施形態は、IOパス切
り替え処理中、障害発生ノード及び切り替え先のノード
に送信されてきたIOアクセス要求は、保留するように
していたが、IOアクセス要求を保留しないようにする
こともできる。以下、この場合のファイルサーバの動作
について図面により説明する。
【0083】図12はIOパス切り替え時の障害発生ノ
ードの処理動作の他の例について説明するフローチャー
ト、図13は障害発生ノード以外のノードの処理動作の
他の例を説明するフローチャートである。以下、障害発
生ノードがノード200、切り替え先のノードがノード
300の場合を例として、図12、図13に示すフロー
を参照して、IOパス切り替え処理中に各ノードに送信
されてきたIOアクセス要求の処理の方法を説明する。
まず、障害発生ノードのファイルサーバの動作を図12
のフローにより説明する。
【0084】(1)障害発生ノードのファイルサーバ2
40は、IOパス切り替え処理中に、IOアクセス要求
を受信すると、その要求が他のノードであるリモートノ
ードからの要求が否かを判定する(ステップ701、7
02)。
【0085】(2)ステップ702の判定で、受信した
IOアクセス要求がローカルノード(自ノード)のユー
ザアプリケーション230からのものであると判定する
と、ファイルサーバ240は、前述した実施形態で説明
したと同様に、IOパス切り替え処理の間、その要求を
保留する。この要求は、IOパスの切り替え処理終了時
に、切り替え先のノードに送信される(ステップ70
3)。
【0086】(3)ステップ702の判定で、受信した
IOアクセス要求がリモートノードからのものであると
判定すると、ファイルサーバ240は、その要求に対し
てリプライを返さずに無視する(ステップ704)。
【0087】次に、障害発生ノード以外のノードのファ
イルサーバの動作を図13に示すフローを参照して説明
する。障害発生ノード以外のファイルサーバは、基本的
に図4により説明した通常運用時と同様の動作をするの
で、ここでは図4の処理と重なる部分については説明を
省略する。
【0088】(1)障害発生ノード以外のファイルサー
バがIOパス切り替え中に障害発生ノード(ノード20
0)に送信したIOアクセス要求はタイムアウトとなる
(ステップ808)。
【0089】(2)IOアクセス要求がタイムアウトに
なったら、IOアクセス要求を送信したファイルサーバ
は、一定時間(例えば1秒)待った後、論理ディスク管
理テーブルを参照して、論理ディスクIDからIOパス
名を求める処理から処理をやり直す。このとき、IOパ
スの切り替え処理が終了していれば、全ノードの論理デ
ィスク管理テーブルが更新されているので、ステップ8
04の処理によって切り替え先のIOパスが求まる(ス
テップ804)。
【0090】(3)IOアクセス要求を送信しようとし
ているファイルサーバは、求められたIOパス名が含む
ノードがローカルノードであるか否かを判定し、切り替
え先のIOパス名が含むノードがローカルノードでなか
った場合、IOアクセス要求を切り替え先のノード(ノ
ード300)に送信する(ステップ805、806)。
【0091】(4)ステップ805の判定で、切り替え
先のIOパスがローカルノードであれば、IOアクセス
要求を送信しようとしているファイルサーバは、IOア
クセス要求をローカルノードのディスクドライバに送信
する(ステップ807)。
【0092】前述したステップ804の処理において、
もし、論理ディスクIDからIOパス名を求めなおした
ときに、IOパスの切り替え処理が終了していない場
合、IOアクセス要求は、障害発生ノード(ノード20
0)に送信され、上記IOアクセス要求は再びタイムア
ウトとなり、IOアクセス要求が成功するまで前述した
処理が繰り返される。
【0093】この方法を使用することにより、図7によ
り説明したステップ1003のリクエストの保留処理で
リモートノードからのアクセス要求を保留する必要がな
くなるので、IOアクセス要求を保留するためのメモリ
を節約することができる。また、IOアクセス要求の再
送回数に制限(例えば5回)を設け、もし制限回数だけ
再送を行ってもタイムアウトになり続ければ、そのIO
アクセス要求をエラーとしてもよい。また、IOパス切
り替え処理中、障害発生ノードのファイルサーバ240
は、リモートノードからのIOアクセス要求を無視する
かわりに、「IOパス切り替え処理中なので、IOアク
セス要求を処理できない」という意味の通知をアクセス
要求を送信したリモートノードのファイルサーバに送信
するようにしてもよい。これにより、リモートノードの
ファイルサーバは、IOパスで障害が発生した場合とノ
ード200で障害が発生した場合とを区別することがで
きるようになる。
【0094】前述までに説明した本発明の第1の実施形
態によるIOパス切り替え方法は、ノード200でOS
の障害が発生したとき、ネットワーク1を通じてバッフ
ァキャッシュ280やファイル管理テーブル260をノ
ード300に転送することができなくなるため、同じ方
法でIOパスの切り替えを行うことは不可能である。
【0095】これを解決するため、本発明は、バッファ
キャッシュ280やファイル管理テーブル260をノー
ド300に転送するための専用のハードウェアを使う方
法を取ることができる。以下、これを第2の実施形態と
して説明する。
【0096】図14は本発明の第2の実施形態によるデ
ィスクキャッシュの書き戻しの処理とバッファキャッシ
ュの転送の処理とを説明する図である。
【0097】本発明の実施形態におけるIOパス切り替
え処理の手順は、前述までに説明した第1の実施形態の
場合の図7に示すフローと同様に行われる。但し、第2
の実施形態では、ステップ1003及びステップ100
7の処理は行わない。そして、図14には、ステップ1
004でのディスクキャッシュの書き戻しの処理とステ
ップ1005でのバッファキャッシュの転送の処理につ
いてしめしている。
【0098】図14において、メモリアクセス手段29
9(399)は、ノード200(300)に付属してお
り、メモリアクセス手段299とメモリアクセス手段3
99とは専用通信線2によって互いに接続されている。
メモリアクセス手段299は、ノード200でOSの障
害が発生しノード200上で動作するプログラムの全て
が停止した場合にも、メモリ220にアクセスし、その
内容を専用通信線2を使用してメモリアクセス手段39
9との通信によりノード300に送信することが可能な
ハードウェアである。
【0099】通常運用時、図14に示す各ノードのファ
イルサーバは、図13により説明した動作を行う。ここ
で例えば、ノード200でOSの障害が発生したとする
と、あるファイルサーバがノード200に送信したIO
アクセス要求のリプライが戻ってこないので、IOアク
セスを送信したファイルサーバは、上記IOアクセス要
求をタイムアウトにする(ステップ808)。ファイル
サーバは、一定時間待った後、ローカルノードの論理デ
ィスク管理テーブルを参照し、論理ディスクIDからI
Oパスを求める処理から処理の再実行を行うことになる
(ステップ804)。IOパス切り替え処理中、前述の
要求は、障害発生ノード(ノード200)に送信されタ
イムアウトとなるが、IOパス切り替え終了後、要求は
切り替え先のノードに送信される。
【0100】以下、ノード200で障害が発生しノード
200で動作する全てのプログラムが停止した場合に、
物理ディスク装置10にアクセスするためのIOパスを
(200,290,11)から(300,390,1
2)に切り替えるものとして、その処理を図1、図2、
図14を併用しながら図7に示すフローを参照して説明
する。
【0101】障害検出の処理(ステップ1001) ノード200で障害が発生すると、ノード200は、リ
クエストを一切受け付けなくなる。従って、ノード20
0にIOアクセス要求を送信したリモートノードのファ
イルサーバは、IOアクセス要求をタイムアウトとす
る。IOアクセス要求を送信したファイルサーバは、こ
のタイムアウトによってノード200で障害が発生した
ことを検出する。前述したように、IOアクセス要求を
送信したファイルサーバは、IO処理要求がタイムアウ
トになったらその要求を再送するので、何度も障害発生
ノード(ノード200)に上記要求を再送し、そのたび
に要求をタイムアウトにする可能性がある。上記ファイ
ルサーバは、あるノードへの要求が最初にタイムアウト
になったとき、次のステップ1002の処理に進み、2
回目以降、ステップ1002以降の処理は行わない。
【0102】切り替え対象IOパスの検索の処理(ステ
ップ1002) IOアクセス要求を送信したファイルサーバは、ローカ
ルノードの論理ディスク管理テーブルを参照し、障害が
発生したノードのノード番号“200”から障害発生I
Oパス名と切り替え先のIOパス名とを探し出し、切り
替え先のIOパスが含むノード番号に対応するノード
(切り替え先のノード)のファイルサーバに、障害発生
IOパスから切り替え先のIOパスにIOパスを切り替
えるように要求する。切り替え先のノードがローカルノ
ード(自ノード)であれば、IOアクセスを送信したフ
ァイルサーバは、直ちにIOパスの切り替えの処理を開
始する。但し、障害発生IOパスの状態フラグが「待機
中」状態の場合(ステップ1010)、IOパスの切り
替え処理は必要なくステップ1011の処理に進む。例
えば、ノード100のファイルサーバ140がノード2
00のファイルサーバ240に送信したIO処理要求が
タイムアウトとなった場合、ファイルサーバ140は、
図2に示した論理ディスク管理テーブル170を検索
し、ノード番号“200”を含むエントリを探す。見つ
かったエントリには複数のIOパスが記載されている
が、ノード番号“200”を含むIOパス“(200,
290,11)”が障害発生IOパスであり、状態フラ
グが「待機中」状態でノード番号“200”を含まない
IOパス“(300,390,12)”が切り替え先の
IOパスである。障害発生IOパスの状態フラグ275
が「使用中」状態であるので、ファイルサーバ140
は、切り替え先のノード300のファイルサーバ340
に“(200,290,11)”から“(300,39
0,12)”にIOパスを切り替えるように要求する。
もし、上記障害発生IOパスの状態フラグが「待機中」
状態であれば、IOパスの切り替え処理は必要なく、ス
テップ1011の処理に進む。
【0103】前述した検索処理で、切り替え処理を行う
IOパスの組が複数個見つかった場合、障害を検出した
ファイルサーバは、IOパス毎に対応する切り替え先の
ノードのファイルサーバにIOパスの切り替え要求を送
信する。但し、複数のIOパスの切り替え要求を1つの
ノードに送る必要がある場合、それらのIOパスの切り
替え要求を一括して送り、切り替え先のノードのファイ
ルサーバが、それらのIOパスの切り替え処理を同時に
行う。例えば、物理ディスク装置10と物理ディスク装
置20とをノード200から使用していた場合、ノード
200の障害を検出したファイルサーバは、ノード30
0のファイルサーバ340に上記2つの物理ディスク装
置にアクセスするための2組のIOパスを切り替える要
求を発行し、ファイルサーバ340は、前述した2組の
IOパスの切り替え処理を同時に行う(ステップ100
4〜1008)。
【0104】ディスクキャッシュの書き戻しの処理(ス
テップ1004) 障害発生IOパス“(200,290,11)”から切
り替え先のIOパス“(300,390,12)”にI
Oパスを切り替えるように要求されたファイルサーバ3
40は、IOパスの切り替えモードに入り、その後再び
同じIOパス切り替え要求が送られてきても受理しな
い。これによって、IOパスの切り替え処理が二重に行
われることを防止する。このステップの処理の後の処理
内容は、第1の実施形態の場合と同様に行われる。ファ
イルサーバ340は、図14に示すように、ディスクド
ライバ350にディスクキャッシュの書き戻し要求を送
信することにより、ディスクキャッシュ13の内容をデ
ィスク領域に書き戻して、ディスクコントローラ11を
物理ディスク装置から切り放す。
【0105】バッファキャッシュの移動の処理(ステッ
プ1005) ファイルサーバ340は、次に、図14に示すように、
メモリアクセス手段399に、障害が発生したノード2
00のファイル管理テーブル260とバッファキャッシ
ュ280との内容をローカルノード(ノード300)に
転送するように要求する。メモリアクセス手段399
は、メモリアクセス手段299と通信を行い、専用通信
線2を介して、dirtyなバッファキャッシュ280
及びdirtyなファイル管理テーブル260の内容を
ノード300のファイルサーバ340に転送する。ファ
イルサーバ340は、ノード300上のファイル管理テ
ーブル360及びバッファキャッシュ380にメモリア
クセス手段399から送られてきたデータをマージす
る。マージされたデータは、IOパスの切り替え終了
後、ファイルサーバ340によって切り替え先のIOパ
スから物理ディスク装置10に書き込まれる。また、こ
れらデータは、読み出し用のキャッシュとしても使われ
る可能性もある。
【0106】論理ディスク管理テーブルの更新の処理
(ステップ1006) データの転送処理が終了した後、ファイルサーバ340
は、論理ディスク管理テーブル370に登録されている
IOパスの状態フラグを、障害発生IOパス“(20
0,290,11)”について、「使用不可」状態に、
切り替え先のIOパス“(300,390,12)”に
ついて、「使用中」状態に登録し直す。ファイルサーバ
340は、論理ディスク管理テーブル370の更新の終
了後、第1の実施形態の場合と同様な方法により、全て
の稼働中のノードのファイルサーバと通信を行うことに
より、全ての稼働中のノードの論理ディスク管理テーブ
ルに登録されている、障害発生IOパスの状態フラグを
「使用不可」状態に、切り替え先のIOパスの状態フラ
グを「使用中」状態に更新する。
【0107】マウント構成ファイルの更新の処理(ステ
ップ1008) ファイルサーバ340は、全ての稼働中のノードの論理
ディスク管理テーブルの更新が終了した後、高信頼ディ
スク装置30が接続されているノード100のファイル
サーバ140に、IOパス“(200,290,1
1)”が「使用不可」状態になったことをマウント構成
ファイル24に記載するように要求し、IOパスの切り
替えモードから抜け、通常運用時の処理を開始する。前
述の要求を受けたファイルサーバ140は、「使用不
可」状態となったIOパス“(200,290,1
1)”の使用可否情報52を“available”(使用可)
から“unavailable”(使用不可)に更新する。以上に
よりIOパスの切り替え処理が終了する。
【0108】論理ディスク管理テーブルの更新の処理
(ステップ1011) ステップ1010で、障害発生パスが「待機中」状態に
あると判定され、IOパスの切り替え処理を行う必要が
ない場合、ステップ1001の処理で障害を検出したフ
ァイルサーバは、ステップ1006の処理と同様の手順
でシステム全体の論理ディスク管理テーブルを更新す
る。但し、障害発生IOパスの状態フラグを「使用不
可」に書き換える処理だけを行う。システム全体の論理
ディスク管理テーブルの更新が終了した後、前述のファ
イルサーバがファイルサーバ140に対してマウント構
成ファイルの更新を要求し、この要求を受けたファイル
サーバ140は、ステップ1008の処理を行う。
【0109】図15は本発明の第3の実施形態によるフ
ァイルシステムの構成を示すブロック図、図16は本発
明の第3の実施形態におけるマウント構成ファイルの具
体的な構成例を説明する図であり、図15における符号
は図1の場合と同一である。図15に示す本発明の第3
の実施形態は、同一のファイルを物理ディスク装置10
と物理ディスク装置20とに二重化(ミラーリング)し
て記録する例である。
【0110】図示本発明第3の実施形態において、マウ
ント構成ファイルの1つのエントリには、図16に示す
ように、物理ディスクにアクセスするためのIOパス名
51、53、各IOパスの使用可否情報52、54、マ
ウントポイント55が記載されている。この第3の実施
形態は、マウントポイントの1つのエントリに記載され
たIOパスからアクセスされる物理ディスク装置にファ
イルが多重化して記録される。従って、前述のIOパス
からアクセスされる物理ディスク装置は異なるものであ
る必要がある。図16に示す例では、/mnt ディレクト
リ以下のディレクトリに格納されたファイルは、IOパ
ス“(200,290,11)”、“(300,39
0,22)”からアクセスされる物理ディスク装置(物
理ディスク装置10、20)にミラーリングされる。こ
のような指定方法を採用することにより、システム管理
者が論理ボリュームの設定を行う必要がなくなる。
【0111】システム立ち上げ時、ファイルサーバ14
0は、マウント構成ファイル24を読み込んで、第1の
実施形態の場合と同様の手順で、全てのノードの論理デ
ィスク管理テーブルを設定する。但し、第3の実施形態
では、ファイルサーバ140は、マウント構成ファイル
24の使用可否情報に“available”(使用可)と記載
されているすべてのIOパスについて、論理ディスク管
理テーブルの対応する状態フラグに「使用中」と登録す
る。
【0112】次に、通常運用時のファイルサーバの動作
を、ノード100のユーザアプリケーション130がフ
ァイルID“100”を指定したファイルアクセス要求
をファイルサーバ140に発行した場合を例に、図1
5、図16を参照し、図6に示すフローに基づいて説明
する。なお、ファイル管理テーブルの設定は図2、論理
ディスク管理テーブルの設定は図16に示すようになっ
ているものとする。
【0113】(1)ファイルサーバ140は、ユーザア
プリケーション130からファイルIDを指定したアク
セス要求を受けると、その要求がリモートノードからの
要求であるか否かを判定し、自ノードからの要求である
場合、ファイル管理テーブル160を検索し、ファイル
ID“100”から論理ディスクID“123”を求め
る(ステップ501〜503)。
【0114】(2)そして、ファイルサーバ140は、
論理ディスク管理テーブル170を検索し、論理ディス
クID“123”から状態フラグが「使用中」状態のI
Oパス名“(200,290,11)”、“(300,
390,22)”を求める(ステップ504)。
【0115】(3)アクセス要求がライト要求の場合
は、前述の両方のIOパスに対して同一内容の書き込み
を行う。このため、ファイルサーバ140は、前記2つ
のIOパス名が含むノードがローカルノードか否かを判
定し、ローカルノードでない場合、すなわちリモートノ
ードである場合、2つのIOパスが含むノード番号に対
応するノード(ノード200、ノード300)のファイ
ルサーバ240、340にIOパス名を指定したライト
要求を送信する(ステップ505、506)。
【0116】(4)ステップ505での判定が、ノード
がローカルノードであった場合、ローカルノードのディ
スクドライバにIOパスを指定したライト要求を送信す
る(ステップ507)。
【0117】図15に示す例の場合、前述の処理で、フ
ァイルサーバ140は、ファイルサーバ240にIOパ
ス“(200,290,11)”を指定したライト要求
を送信し、ファイルサーバ340にIOパス“(30
0,390,22)”を指定したライト要求を送信す
る。これらのライト要求を受信したファイルサーバ24
0、340は、それぞれのノードのディスクドライバに
IOパスを指定したライト要求を送信する。
【0118】受信したアクセス要求がリード要求の場
合、ファイルサーバ140は、前述したIOパスのうち
で、論理ディスク管理テーブルの最も最初のフィールド
に登録されていたIOパス“(200,290,1
1)”を使用してアクセスを行う。もし、IOパスの障
害などの理由により、このIOパスを使用してアクセス
することができない場合、順に次のフィールドに登録さ
れているIOパスを使用してアクセスを試みる。また、
前述のIOパスの中で、ローカルノードのノード番号を
含むものがあれば、そのIOパスを最初に使うようにし
てもよい。このように、なるべくリモートアクセスを減
らすことによって、ネットワークの負荷を減らすことが
できる。リード処理に使用するIOパスが決定した後の
処理は、ライト要求の場合と同様である。
【0119】次に、障害発生時、障害が発生したIOパ
スを切り放す処理を説明する。ここでは、ディスクコン
トローラやIOインターフェイスの障害により、ノード
200に接続されていた物理ディスク装置20にアクセ
スするためのIOパス“(200,290,11)”が
使用不可能になったものとして説明する。
【0120】障害の発生により、IOパス“(200,
290,11)”が使用できなくなった場合、ノード2
00のデバイスドライバ250は、このIOパスの障害
を検出し、障害発生をファイルサーバ240に通知す
る。
【0121】この通知を受けたファイルサーバ240
は、論理ディスク管理テーブル270を更新し、障害発
生IOパスの状態フラグを「使用不可」状態にする。フ
ァイルサーバ240は、図5に示したフローによる方法
により、全てのリモートノードのファイルサーバと通信
を行い、全てのノードの論理ディスク管理テーブルを論
理ディスク管理テーブル270と同一の内容に更新す
る。
【0122】最後に、ファイルサーバ240は、高信頼
ディスク装置30が接続されたノード100のファイル
サーバ140に、障害発生IOパス“(200,29
0,11)”が「使用不可」状態になったことを、マウ
ント構成ファイル24に記載するように要求する。この
要求を受けたファイルサーバは、マウント構成ファイル
24を更新し、上記障害発生IOパスの使用可否情報を
“unavailable”(使用不可)に書き換える。以上により
IOパスの切り離しが終了する。
【0123】IOパスの切り離し処理中に、あるノード
のファイルサーバ(例えば、ファイルサーバ140)
が、ファイルサーバ240に前述の障害発生IOパスを
指定したアクセス要求を送るとその要求は失敗する。し
かし、ライト処理の場合、データは、同時に複数の物理
ディスク装置に書き込まれるので、アクセス可能な物理
ディスク装置(物理ディスク装置20)の方に無事に記
録されている。また、リード処理の場合、アクセス要求
を行ったファイルサーバは、アクセスに失敗したら別の
IOパス“(300,390,22)”を指定したIO
アクセス要求をファイルサーバ340に送信する。この
ため、データは、アクセス可能な物理ディスク装置から
無事に読み込まれる。従って、IOパス切り替え中もユ
ーザは、それを意識することなくファイルにアクセスす
ることができる。
【0124】前述した本発明の実施形態において、ノー
ド200で障害が発生したことにより、IOパス“(2
00,290,11)”が使用できなくなった場合、ノ
ード200にIOアクセス要求を送信したリモートノー
ドのファイルサーバが、送信したアクセス要求のタイム
アウトによってノード200の障害を検出し、障害を検
出したこのファイルサーバが上記のIOパスの切り離し
処理を行うようにすればよい。
【0125】また、前述した本発明の実施形態におい
て、論理ディスク管理テーブルに、論理ディスクの使用
方法(切り替え、ミラーリングなど)を指定するための
ディスクタイプ情報を論理ディスクID毎に登録できる
ようにし、マウント構成ファイル24に上記ディスクタ
イプ情報を登録できるようにし、システム起動時にファ
イルサーバ140がマウント構成情報24に記載された
ディスクタイプ情報を、論理ディスク管理テーブルのデ
ィスクタイプ情報に登録し、通常運用時及び障害発生
時、ファイルサーバが論理ディスク管理テーブルのディ
スクタイプ情報によって、ディスクタイプを判別し各デ
ィスクタイプ毎の処理を行うようにすることもできる。
例えば、図15に示す例の場合、マウント構成ファイル
24には“((200,290,11) available)
((300,390,22) available) /mnt mirro
r”と記載する。“mirror”は、前述2つのIOパスか
らアクセスされる物理ディスク装置に対して、ミラーリ
ングを行うことを示す。ファイルサーバ140は、起動
時に前述のエントリを読み込んで、ディスクタイプが
「ミラーリング」であることを判別し、論理ディスク管
理テーブルの対応するディスクタイプ情報に、「ミラー
リング」であることを登録する。通常運用時、ファイル
サーバは、論理ディスク管理テーブルのディスクタイプ
情報を参照して、前述のIOパスの組が「ミラーリン
グ」を行うものであることを判別すると、前述した実施
形態により説明した「ミラーリング」の処理を行う。デ
ィスクタイプが「切り替え」の場合も同様である。これ
により、IOパスの切り替えとミラーリングをシステム
で共存させることができる。
【0126】前述した本発明の第3の実施形態は、ファ
イルのミラーリングを行うものとして説明したが、論理
ディスク管理テーブルの1つのエントリに登録されたI
Oパスからアクセスされる物理ディスク装置に、ファイ
ルを分散して記録するようにすれば、ファイルのストラ
イピングを行うことができる。
【0127】
【発明の効果】以上説明したように本発明によれば、I
Oパス切り替え・復旧処理のためにかかる時間を短縮す
ることができ、また、IOパス切り替え時にファイルの
整合性のチェックを不要にすることができる。また、本
発明によれば、IOパスの切り替え・切り離し処理が発
生しても、一般ユーザはそれを意識することなく作業を
続けることができる。さらに、本発明によれば、IOパ
ス切り替え・切り離し処理後あるいは障害発生IOパス
復旧後、システムを再起動する際にシステム管理者がマ
ウント構成ファイルを設定しなおす必要をなくすことが
でき、システム管理者の負担を軽減することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態によるファイルシステ
ムの構成を示すブロック図である。
【図2】システム内に設けられる各種のテーブルの具対
的な構成例を説明する図である。
【図3】マウント構成ファイルの具体的な構成例を説明
する図である。
【図4】システムの起動時のファイルサーバの処理動作
を説明するフローチャートである。
【図5】システム全体のノードの論理ディスク管理テー
ブルを更新する処理動作を説明するフローチャートであ
る。
【図6】通常運用時のファイルサーバの処理動作を説明
するフローチャートである。
【図7】IOパスの切り替えの処理動作を説明するフロ
ーチャートである。
【図8】IOパスに障害が発生しIOパスの切り替えを
行う処理について説明する図(その1)である。
【図9】IOパスに障害が発生しIOパスの切り替えを
行う処理について説明する図(その2)である。
【図10】IOパスに障害が発生しIOパスの切り替え
を行う処理について説明する図(その3)である。
【図11】IOパスが障害から復旧したとき、IOパス
をシステムに復旧させる処理手順を説明するフローチャ
ートである。
【図12】IOパス切り替え時の障害発生ノードの処理
動作の他の例について説明するフローチャートである。
【図13】障害発生ノード以外のノードの処理動作の他
の例を説明するフローチャートである。
【図14】本発明の第2の実施形態によるディスクキャ
ッシュの書き戻しの処理とバッファキャッシュの転送の
処理とを説明する図である。
【図15】本発明の第3の実施形態によるファイルシス
テムの構成を示すブロック図である。
【図16】本発明の第3の実施形態におけるマウント構
成ファイルの具体的な構成例を説明する図である。
【符号の説明】
1 ネットワーク 10、20、30 物理ディスク装置 11、12、21、22 ディスクコントローラ 13 ディスクキャッシュ 24 マウント構成ファイル 100、200、300 ノード 110、210、310 CPU 120、220、320 メモリ 130、230 ユーザアプリケーション(UAP) 140、240、340 ファイルサーバ(FS) 160、260 ファイル管理テーブ 170、270 論理ディスク管理テーブル 180、280、360 バッファキャッシュ 250、350 ディスクドライバ 290、390 IOインタフェース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 薗田 浩二 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 熊▲崎▼ 裕之 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5B014 HA09 HA13 HB01 HB26 5B018 GA10 HA40 KA11 MA12 QA01 5B065 CC01 EA12 5B082 EA01 FA05 5B083 AA08 BB03 CC04 CD11 EE08

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 ファイル毎にファイルIDが定義されて
    おり、複数の物理ディスク装置に分散管理されたファイ
    ルの処理を行う1または複数のファイルサーバを有する
    ファイルシステムにおいて、ファイルID及び該ファイ
    ルIDに対応するファイルが格納されている論理ディス
    クの論理ディスクIDを含むファイル管理テーブルと、
    論理ディスクID及び前記論理ディスクに対応する1つ
    以上の物理ディスク装置にアクセスするための1つ以上
    のIOパスを含む論理ディスク管理テーブルとを備え、
    ユーザからのファイルIDを指定したファイルへのアク
    セス要求を受信したファイルサーバは、ファイル管理テ
    ーブルを参照し、前記ファイルIDから前記ファイルが
    格納されている論理ディスクの論理ディスクIDを決定
    し、論理ディスク管理テーブルを参照して前記論理ディ
    スクIDから前記論理ディスクに対応する物理ディスク
    装置にアクセスするためのIOパスを決定し、決定した
    IOパスを使用して物理ディスク装置にアクセスするこ
    とを特徴とするファイルシステム。
  2. 【請求項2】 ネットワークに接続されたそれぞれの内
    部にファイルサーバが構成された複数のノードと、複数
    のノードの少なくとも2つのノードに共通に接続された
    物理ディスク装置とを備え、ファイル毎にファイルID
    が定義されており、前記複数の物理ディスク装置に分散
    管理されたファイルの処理を行うファイルシステムにお
    いて、複数のノードのそれぞれは、ファイルID及び前
    記ファイルIDに対応するファイルが格納されている論
    理ディスクの論理ディスクIDを含むファイル管理テー
    ブルと、論理ディスクID及び前記論理ディスクに対応
    する1つ以上の物理ディスク装置にアクセスするための
    1つ以上のIOパスを含む論理ディスク管理テーブルと
    を備え、ユーザからのファイルIDを指定したファイル
    へのアクセス要求を受信したファイルサーバは、ファイ
    ル管理テーブルを参照し、前記ファイルIDから前記フ
    ァイルが格納されている論理ディスクの論理ディスクI
    Dを決定し、論理ディスク管理テーブルを参照して前記
    論理ディスクIDから前記論理ディスクに対応する物理
    ディスク装置にアクセスするためのIOパスを決定し、
    決定したIOパスを使用して物理ディスク装置にアクセ
    スすることを特徴とするファイルシステム。
  3. 【請求項3】 前記IOパスを特定する情報は、ノード
    番号、IOインターフェイス番号及びディスクコントロ
    ーラ番号からなることを特徴とする請求項2記載のファ
    イルシステム。
  4. 【請求項4】 前記ファイルIDから決定した論理ディ
    スクIDに対応する物理ディスク装置が、他のノードで
    あるリモートノードに接続されている場合、自ノードの
    ファイルサーバは、前記リモートノードにアクセス要求
    を送信し、前記アクセス要求を受信した前記リモートノ
    ードのファイルサーバが前記物理ディスク装置に格納さ
    れた該当ファイルにアクセスすることを特徴とする請求
    項3記載のファイルシステム。
  5. 【請求項5】 ネットワークに接続されたそれぞれの内
    部にファイルサーバが構成された複数のノードと、複数
    のノードの少なくとも2つのノードに共通に接続された
    物理ディスク装置とを備え、ファイル毎にファイルID
    が定義されており、前記複数の物理ディスク装置に分散
    管理されたファイルの処理を行うファイルシステムにお
    いて、前記物理ディスク装置の少なくとも1つは、1つ
    のマウントポイントに対して物理ディスク装置にアクセ
    スするための1つ以上のIOパスを対応づける情報を1
    つのエントリに含むマウント構成ファイルを格納してお
    り、システム立ち上げ時、前記マウント構成ファイルを
    格納するディスク装置が接続されたノードのファイルサ
    ーバは、前記マウント構成ファイルを読み出し、前記マ
    ウント構成ファイルの1つのエントリに記載された1つ
    以上のIOパスに対して1つの論理ディスクIDを自動
    設定し、前記論理ディスクIDと前記IOパスとの対応
    関係を論理ディスク管理テーブルに登録し、他の全ての
    ノードのファイルサーバと通信を行うことによって、前
    記論理ディスク管理テーブルの内容を全てのノードの論
    理ディスク管理テーブルに複写し、前記マウント構成フ
    ァイルによって前記IOパスに対応づけられたマウント
    ポイントに前記論理ディスクIDに対応する論理ディス
    クをマウントし、複数のノードのそれぞれは、ファイル
    ID及び前記ファイルIDに対応するファイルが格納さ
    れている論理ディスクの論理ディスクIDを含むファイ
    ル管理テーブルと、論理ディスクID及び前記論理ディ
    スクに対応する1つ以上の物理ディスク装置にアクセス
    するための1つ以上のIOパスを含む論理ディスク管理
    テーブルとを備え、ユーザからのファイルIDを指定し
    たファイルへのアクセス要求を受信したファイルサーバ
    は、ファイル管理テーブルを参照し、前記ファイルID
    から前記ファイルが格納されている論理ディスクの論理
    ディスクIDを決定し、論理ディスク管理テーブルを参
    照して前記論理ディスクIDから前記論理ディスクに対
    応する物理ディスク装置にアクセスするためのIOパス
    を決定し、決定したIOパスを使用して物理ディスク装
    置にアクセスすることを特徴とするファイルシステム。
  6. 【請求項6】 前記マウント構成ファイルは、IOパス
    毎に前記IOパスが使用できるか否かを登録する使用可
    否情報を含み、論理ディスク管理テーブルは、前記論理
    ディスク管理テーブルに登録されているIOパス毎に稼
    働状態を保持する状態フラグを含み、マウント処理を行
    うファイルサーバは、システム立ち上げ時に、前記マウ
    ント構成ファイルの1つのエントリに記載された複数の
    IOパスのうち、前記マウント構成ファイルの使用可否
    情報に「使用可」と登録されたIOパスの1つについ
    て、論理ディスク管理テーブルの前記IOパスに対応す
    る状態フラグに「使用中」状態と登録し、前記マウント
    構成ファイルの使用可否情報に「使用可」と登録された
    残りのIOパスについて、前記論理ディスク管理テーブ
    ルの前記IOパスに対応する状態フラグに「待機中」状
    態と登録し、前記マウント構成ファイルの使用可否情報
    に「使用不可」と登録されたIOパスについて、前記論
    理ディスク管理テーブルの前記IOパスに対応する状態
    フラグに「使用不可」状態と登録し、各ノードのファイ
    ルサーバは、通常運用時、前記論理ディスク管理テーブ
    ルの状態フラグが「使用中」状態となっている運用系の
    IOパスを用いて、物理ディスク装置にアクセスするこ
    とを特徴とする請求項5記載のファイルシステム。
  7. 【請求項7】 前記物理ディスク装置のディスクコント
    ローラ、前記物理ディスク装置が接続されたノードのI
    Oインターフェイスなどの障害によって、運用系IOパ
    スが使用不可能になったとき、前記障害を検出したノー
    ドのファイルサーバは、前記ノードの論理ディスク管理
    テーブルを更新し、前記使用不可能になったIOパスの
    状態フラグを「使用不可」とし、前記使用不可能になっ
    たIOパスと同じ論理ディスクIDに対応付けられてい
    るIOパスのうち状態フラグが「待機中」である1つの
    IOパスの状態フラグを「使用中」として新運用系IO
    パスとした後、全ての他のリモートノードのファイルサ
    ーバと通信を行い、前記論理ディスク管理テーブルの内
    容を全ノードの論理ディスク管理テーブルに複写するこ
    とによって、前記物理ディスク装置へアクセスするため
    のIOパスを前記使用不可能となったIOパスから前記
    新運用系IOパスに切り替えることを特徴とする請求項
    6記載のファイルシステム。
  8. 【請求項8】 前記IOパスの切り替え処理の間、使用
    不可能となったIOパスに含まれるノードのファイルサ
    ーバは、使用不可能になったIOパスへのアクセス要求
    を保留し、IOパスの切り替え処理終了時、保留してい
    た前記アクセス要求を新運用系IOパスに含まれるノー
    ドに転送することを特徴とする請求項7記載のファイル
    システム。
  9. 【請求項9】 前記IOパスの切り替え処理の間、使用
    不可能となったIOパスに含まれるノードにアクセス要
    求を発行したファイルサーバは、前記アクセス要求がタ
    イムアウトになった場合、論理ディスク管理テーブルを
    参照し論理ディスクIDからIOパスを求め直し、新し
    く求め直したIOパスを使用して、物理ディスク装置に
    アクセスし直すことを特徴とする請求項7記載のファイ
    ルシステム。
  10. 【請求項10】 前記複数のノードのそれぞれは、物理
    ディスク装置との間に転送されるデータを一時的に保持
    するバッファキャッシュを備え、IOパスの切り替え処
    理時、使用不可能になったIOパスに含まれるノードの
    ファイルサーバと、新運用系IOパスに含まれるノード
    のファイルサーバとが通信を行い、前記使用不可能にな
    ったIOパスに含まれるノードの主記憶内に存在し、物
    理ディスク装置に書き戻す必要があるバッファキャッシ
    ュ及びファイル管理テーブルを前記新運用系IOパスに
    含まれるノードに転送することを特徴とする請求項7記
    載のファイルシステム。
  11. 【請求項11】 前記物理ディスク装置内のディスクコ
    ントローラは、ディスク領域との間で転送されるデータ
    を一時的に保持するディスクキャッシュを備え、前記物
    理ディスク装置内の別のディスクコントローラが備える
    ディスクキャッシュに格納されたデータをディスク領域
    に書き戻す機能を有し、IOパスの切り替え処理時、前
    記使用不可能になったIOパスを使ってアクセスしてい
    た物理ディスク装置内に設けられた前記使用不可能にな
    ったIOパスに含まれるディスクコントローラが備える
    ディスクキャッシュに格納されたデータのうち、前記物
    理ディスク装置に書き戻す必要のあるデータを、前記物
    理ディスク装置内に存在し、新運用系IOパスに含まれ
    るディスクコントローラを使用して、前記物理ディスク
    装置に書き戻すことを特徴とする請求項7記載のファイ
    ルシステム。
  12. 【請求項12】 IOパスの切り替え終了時、マウント
    構成ファイルを格納するディスク装置が接続されたノー
    ドのファイルサーバが前記マウント構成ファイルを更新
    し、前記使用不可能となったIOパスの使用可否情報を
    「使用不可」に書き換えることを特徴とする請求項7記
    載のファイルシステム。
  13. 【請求項13】 使用不可能となっていたIOパスが再
    び使用できるようになったとき、前記複数のノードのあ
    る1つのノードのファイルサーバが、自ノードの論理デ
    ィスク管理テーブルに登録された前記IOパスの状態フ
    ラグを「使用不可」状態から「待機中」状態に更新し、
    前記ファイルサーバが他の全てのノードのファイルサー
    バと通信を行うことにより、全てのノードの論理ディス
    ク管理テーブルに前記更新内容を複写した後、マウント
    構成ファイルを格納するディスク装置が接続されたノー
    ドのファイルサーバが、前記マウント構成ファイルに登
    録された前記IOパスの使用可否情報を「使用可」に書
    き換えることにより、前記IOパスを待機系IOパスと
    してシステムに復旧させることを特徴とする請求項7記
    載のファイルシステム。
  14. 【請求項14】 物理ディスク装置が接続されたノード
    に障害が発生したとき、前記ノードの障害を検出した他
    のノードのファイルサーバは、自ノードの論理ディスク
    管理テーブルを検索し、障害発生ノード番号から障害発
    生IOパス及び前記障害発生IOパスと同じ論理ディス
    クIDに対応付けられているIOパスのうち状態フラグ
    が「待機中」であるIOパスの1つを新運用系IOパス
    として求め、この新運用系IOパスに含まれるノードの
    ファイルサーバにIOパスの切り替え処理を行うように
    要求し、前記要求を受けた前記ファイルサーバは、自ノ
    ードの論理ディスク管理テーブルを更新し、前記障害発
    生IOパスの状態フラグを「使用不可」とし、前記新運
    用系IOパスの状態フラグを「使用中」とした後、他の
    全てのノードのファイルサーバと通信を行い、前記論理
    ディスク管理テーブルの内容を全ノードの論理ディスク
    管理テーブルに複写することによって、前記物理ディス
    ク装置へアクセスするためのIOパスを前記障害発生I
    Oパスから前記新運用系IOパスに切り替えることを特
    徴とする請求項6記載のファイルシステム。
  15. 【請求項15】 IOパスの切り替え処理の間、前記障
    害発生IOパスに含まれるノードにアクセス要求を発行
    したファイルサーバは、前記アクセス要求がタイムアウ
    トになった場合、論理ディスク管理テーブルを参照し論
    理ディスクIDからIOパスを求め直し、新しく求め直
    したIOパスを使用して、物理ディスク装置にアクセス
    し直すことを特徴とする請求項14記載のファイルシス
    テム。
  16. 【請求項16】 前記物理ディスク装置が接続されてい
    るノードは、自ノードの状態にかかわりなく自ノードが
    備えるメモリ内のデータを読み出し、読み出したデータ
    を他のノードに転送する機能を持ったハードウェアを有
    し、IOパスの切り替え処理時、前記ハードウェアを用
    いて、前記障害発生IOパスに含まれるノードの主記憶
    内に存在し、物理ディスク装置に書き戻す必要があるバ
    ッファキャッシュ及びファイル管理テーブルを前記新運
    用系IOパスに含まれるノードに転送することを特徴と
    する請求項14記載のファイルシステム。
  17. 【請求項17】 前記物理ディスク装置内のディスクコ
    ントローラは、ディスク領域との間で転送されるデータ
    を一時的に保持するディスクキャッシュを備え、前記物
    理ディスク装置内の別のディスクコントローラが備える
    ディスクキャッシュに格納されたデータをディスク領域
    に書き戻す機能を有し、IOパスの切り替え処理時、前
    記障害発生IOパスを使ってアクセスしていた物理ディ
    スク装置内に設けられた前記障害発生IOパスに含まれ
    るディスクコントローラが備えるディスクキャッシュに
    格納されたデータのうち、前記物理ディスク装置に書き
    戻す必要のあるデータを、前記物理ディスク装置内に存
    在し、新運用系IOパスに含まれるディスクコントロー
    ラを使用して、前記物理ディスク装置に書き戻すことを
    特徴とする請求項14記載のファイルシステム。
  18. 【請求項18】 IOパスの切り替え終了時、マウント
    構成ファイルを格納するディスク装置が接続されたノー
    ドのファイルサーバが前記マウント構成ファイルを更新
    し、使用できなくなった運用系IOパスの使用可否情報
    を「使用不可」に書き換えることを特徴とする請求項1
    4記載のファイルシステム。
  19. 【請求項19】 前記マウント構成ファイルは、IOパ
    ス毎に前記IOパスが使用できるか否かを登録する使用
    可否情報を含み、前記論理ディスク管理テーブルは、該
    論理ディスク管理テーブルに登録されているIOパス毎
    に稼働状態を保持する状態フラグを含み、前記マウント
    処理を行うファイルサーバは、システム立ち上げ時に、
    前記マウント構成ファイルの使用可否情報に「使用可」
    と登録されたIOパスについて、論理ディスク管理テー
    ブルの前記IOパスに対応する状態フラグに「使用中」
    状態と登録し、前記マウント構成ファイルの使用可否情
    報に「使用不可」と登録されたIOパスについて、論理
    ディスク管理テーブルの前記IOパスに対応する状態フ
    ラグに「使用不可」状態と登録し、通常運用時、ファイ
    ルサーバは、前記論理ディスク管理テーブルの状態フラ
    グが「使用中」状態のIOパスからアクセスされる物理
    ディスク装置にファイルをミラーリングすることを特徴
    とする請求項5記載のファイルシステム。
  20. 【請求項20】 前記使用中IOパスの1つに障害が発
    生したとき、この障害を検出したノードのファイルサー
    バは、自ノードの論理ディスク管理テーブルを更新し、
    障害が発生した前記IOパスの状態フラグを「使用不
    可」とした後、他の全てのノードのファイルサーバと通
    信を行い、前記論理ディスク管理テーブルの内容を全ノ
    ードの論理ディスク管理テーブルに複写し、マウント構
    成ファイルを格納するディスク装置が接続されたノード
    のファイルサーバが、前記マウント構成ファイルを更新
    し、前記障害が発生したIOパスの使用可否情報を「使
    用不可」に書き換えることによって、障害が発生したI
    Oパスを切り放すことを特徴とする請求項19記載のフ
    ァイルシステム。
JP2000233291A 2000-08-01 2000-08-01 ファイルシステム Expired - Fee Related JP3992427B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2000233291A JP3992427B2 (ja) 2000-08-01 2000-08-01 ファイルシステム
EP00127995A EP1179770B1 (en) 2000-08-01 2000-12-20 File system
US09/746,608 US6654769B2 (en) 2000-08-01 2000-12-20 File system for creating switched logical I/O paths for fault recovery
US10/695,149 US7130868B2 (en) 2000-08-01 2003-10-27 File system for creating switched logical I/O paths for fault recovery
US11/527,363 US20070016751A1 (en) 2000-08-01 2006-09-25 File system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000233291A JP3992427B2 (ja) 2000-08-01 2000-08-01 ファイルシステム

Publications (2)

Publication Number Publication Date
JP2002049575A true JP2002049575A (ja) 2002-02-15
JP3992427B2 JP3992427B2 (ja) 2007-10-17

Family

ID=18725830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000233291A Expired - Fee Related JP3992427B2 (ja) 2000-08-01 2000-08-01 ファイルシステム

Country Status (3)

Country Link
US (3) US6654769B2 (ja)
EP (1) EP1179770B1 (ja)
JP (1) JP3992427B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256147A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd クラスタ型ディスクアレイ装置およびクラスタ型ディスクアレイ装置の運用方法
US7093155B2 (en) 2003-11-18 2006-08-15 Hitachi, Ltd. Information processing system and method for path failover
JP2008065616A (ja) * 2006-09-07 2008-03-21 Casio Comput Co Ltd コンピュータ、周辺機器接続管理方法及びプログラム
WO2008139521A1 (ja) * 2007-04-27 2008-11-20 Fujitsu Limited リモートファイルシステム、端末装置およびサーバ装置
JP2009223702A (ja) * 2008-03-17 2009-10-01 Fujitsu Ltd 入出力制御方法、制御装置及びプログラム
JP2010003061A (ja) * 2008-06-19 2010-01-07 Hitachi Ltd 計算機システム及びそのi/o構成変更方法
JP2010146087A (ja) * 2008-12-16 2010-07-01 Hitachi Ltd 系切替計算機システムの管理方法
JP2012208896A (ja) * 2011-03-30 2012-10-25 Nec Corp ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム
JP2014519100A (ja) * 2011-05-18 2014-08-07 アリババ・グループ・ホールディング・リミテッド 分散キャッシングおよびキャッシュ分析
JP2019507409A (ja) * 2015-12-30 2019-03-14 アリババ グループ ホウルディング リミテッド 従来のファイルシステムインターフェースを使用することによってクラウドストレージサービスにアクセスする方法及び装置

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100424481B1 (ko) * 2000-06-24 2004-03-22 엘지전자 주식회사 디지털 방송 부가서비스 정보의 기록 재생장치 및 방법과그에 따른 기록매체
KR100910972B1 (ko) * 2002-12-07 2009-08-05 엘지전자 주식회사 대화형 광디스크 장치에서의 재생 제어방법
US6725393B1 (en) * 2000-11-06 2004-04-20 Hewlett-Packard Development Company, L.P. System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area network transients
US7512635B1 (en) * 2000-12-18 2009-03-31 Bmc Software, Inc. System and method for updating information on a computer system using a limited amount of space
US7028079B2 (en) * 2001-05-25 2006-04-11 Lenovo (Singapore) Pte, Ltd. Method and apparatus for the automatic migration of applications and their associated data and configuration files
US6976039B2 (en) 2001-05-25 2005-12-13 International Business Machines Corporation Method and system for processing backup data associated with application, querying metadata files describing files accessed by the application
US7016920B2 (en) * 2001-05-25 2006-03-21 International Business Machines Corporation Method for tracking relationships between specified file name and particular program used for subsequent access in a database
US20030033354A1 (en) * 2001-08-08 2003-02-13 Schulz Kenneth Joseph System and method for caching entitlement sets
US6832297B2 (en) * 2001-08-09 2004-12-14 International Business Machines Corporation Method and apparatus for managing data in a distributed buffer system
JP2003296290A (ja) * 2002-04-02 2003-10-17 Hitachi Ltd 記憶装置システム及びデータ転送方法
KR100930354B1 (ko) * 2002-06-18 2009-12-08 엘지전자 주식회사 대화형 광디스크 장치에서의 콘텐츠 정보 재생방법과,콘텐츠 제공서버에서의 콘텐츠 정보 제공방법
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
KR100920654B1 (ko) * 2002-12-09 2009-10-09 엘지전자 주식회사 대화형 광디스크 장치에서의 재생 제어방법
US20050010610A1 (en) * 2003-07-08 2005-01-13 Konica Minolta Business Technologies, Inc. File management system, file management apparatus and image forming apparatus
JP4291077B2 (ja) * 2003-07-29 2009-07-08 株式会社日立製作所 分散ストレージ装置のファイル管理方法及び分散ストレージシステム
US7457828B2 (en) * 2003-08-29 2008-11-25 Sap Ag System and method for synchronizing distributed buffers when committing data to a database
JP4383132B2 (ja) * 2003-09-02 2009-12-16 株式会社日立製作所 仮想化制御装置及び計算機システム
JP4349871B2 (ja) * 2003-09-09 2009-10-21 株式会社日立製作所 ファイル共有装置及びファイル共有装置間のデータ移行方法
JP4267421B2 (ja) * 2003-10-24 2009-05-27 株式会社日立製作所 リモートサイト及び/又はローカルサイトのストレージシステム及びリモートサイトストレージシステムのファイル参照方法
US7313719B1 (en) * 2004-02-06 2007-12-25 Symantec Operating Corporation Restore of backup to computer system with filesystem/volume attribute modification
US7322010B1 (en) 2004-02-06 2008-01-22 Symantec Operating Corporation Graphical user interface for mapping computer resources
JP4859348B2 (ja) * 2004-02-18 2012-01-25 大日本印刷株式会社 コンピュータシステム
US20050262296A1 (en) * 2004-05-20 2005-11-24 International Business Machines (Ibm) Corporation Selective dual copy control of data storage and copying in a peer-to-peer virtual tape server system
US8131674B2 (en) * 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US7991783B2 (en) * 2004-10-05 2011-08-02 International Business Machines Corporation Apparatus, system, and method for supporting storage functions using an embedded database management system
JP4448005B2 (ja) * 2004-10-22 2010-04-07 株式会社日立製作所 記憶システム
JP2006134207A (ja) * 2004-11-09 2006-05-25 Fujitsu Ltd ストレージ仮想化装置およびそれを用いたコンピュータシステム
US20060117008A1 (en) * 2004-11-17 2006-06-01 Kabushiki Kaisha Toshiba File management apparatus and file management program
JP4451293B2 (ja) * 2004-12-10 2010-04-14 株式会社日立製作所 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
US7543305B2 (en) * 2005-03-24 2009-06-02 International Business Machines Corporation Selective event registration
US20070106700A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Hierarchical file system naming
JP4472646B2 (ja) * 2006-02-10 2010-06-02 エヌイーシーコンピュータテクノ株式会社 システム制御装置、システム制御方法及びシステム制御プログラム
JP4585463B2 (ja) * 2006-02-15 2010-11-24 富士通株式会社 仮想計算機システムを機能させるためのプログラム
US7882539B2 (en) * 2006-06-02 2011-02-01 Microsoft Corporation Abstracting security policy from, and transforming to, native representations of access check mechanisms
US8132186B1 (en) 2007-03-23 2012-03-06 Symantec Corporation Automatic detection of hardware and device drivers during restore operations
US7886185B1 (en) 2007-03-23 2011-02-08 Symantec Corporation Creation of a device database and synthesis of device driver information during dissimilar system restore
US7769990B1 (en) 2007-03-23 2010-08-03 Symantec Corporation Using a monitoring process to update system configuration settings during restore operations
US9075809B1 (en) * 2007-09-29 2015-07-07 Symantec Corporation Methods and systems for application cluster virtual nodes
US9152817B1 (en) 2007-10-31 2015-10-06 Symantec Corporation Methods and systems for performing data protection operations
US7844757B2 (en) * 2008-06-12 2010-11-30 International Machines Business Corporation Method and system for providing multiple paths to user data stored on a SCSI disk
JP4743282B2 (ja) * 2009-01-26 2011-08-10 横河電機株式会社 冗長化入出力モジュール
US8326802B2 (en) 2009-06-11 2012-12-04 International Business Machines Corporation File system location verification using a sentinel
US8346721B2 (en) * 2009-07-15 2013-01-01 International Business Machines Corporation Apparatus and method to replicate remote virtual volumes to local physical volumes
US8554994B2 (en) * 2009-09-29 2013-10-08 Cleversafe, Inc. Distributed storage network utilizing memory stripes
US8484256B2 (en) * 2010-01-13 2013-07-09 International Business Machines Corporation Transformation of logical data objects for storage
US9122711B1 (en) 2012-05-24 2015-09-01 Symantec Corporation Simplified system backup protection and recovery
JP6005446B2 (ja) * 2012-08-31 2016-10-12 富士通株式会社 ストレージシステム、仮想化制御装置、情報処理装置、および、ストレージシステムの制御方法
KR101718254B1 (ko) * 2012-09-05 2017-03-20 미쓰비시덴키 가부시키가이샤 입출력 응답 제어 설정 장치
US9430545B2 (en) * 2013-10-21 2016-08-30 International Business Machines Corporation Mechanism for communication in a distributed database
US9992237B1 (en) 2014-03-28 2018-06-05 Amazon Technologies, Inc. Determining feature unavailability
WO2016174764A1 (ja) * 2015-04-30 2016-11-03 株式会社日立製作所 管理装置および管理方法
US11223537B1 (en) 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
US20180095788A1 (en) * 2016-10-04 2018-04-05 Pure Storage, Inc. Scheduling operations for a storage device
CN106708445B (zh) * 2017-01-19 2019-09-17 北京腾凌科技有限公司 链路选择方法及装置
US11003372B2 (en) * 2018-05-31 2021-05-11 Portworx, Inc. Protecting volume namespaces from corruption in a distributed container orchestrator
CN110914796B (zh) * 2018-07-17 2021-11-19 华为技术有限公司 处理i/o请求的方法及设备
US10802717B2 (en) * 2018-08-20 2020-10-13 Dell Products L.P. Systems and methods for efficient firmware inventory of storage devices in an information handling system

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0680492B2 (ja) * 1984-09-29 1994-10-12 株式会社日立製作所 エラー回復方法
US5197069A (en) * 1989-10-20 1993-03-23 International Business Machines Corp. Method and system for detecting and recovering from switching errors
JPH0792733B2 (ja) 1990-07-10 1995-10-09 富士通株式会社 磁気ディスクシステム
JP3300399B2 (ja) 1992-02-28 2002-07-08 株式会社東芝 計算機システムおよびファイル管理方法
JP2953639B2 (ja) 1992-12-02 1999-09-27 株式会社日立製作所 バックアップ装置及びその方法
US5548724A (en) * 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
JPH06332782A (ja) 1993-03-22 1994-12-02 Hitachi Ltd ファイルサーバシステム及びそのファイルアクセス制御方法
US5367669A (en) * 1993-03-23 1994-11-22 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
JPH086839A (ja) 1994-06-20 1996-01-12 Nec Corp 分散ファイルシステム
US5941955A (en) * 1994-08-12 1999-08-24 British Telecommunications Public Limited Company Recovery of distributed hierarchical data access routing system upon detected failure of communication between nodes
US5845061A (en) * 1994-10-31 1998-12-01 Hitachi, Ltd. Redundant client server system
DE69521101T2 (de) * 1994-10-31 2001-10-18 Ibm Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung
JPH08314843A (ja) 1995-05-22 1996-11-29 Hitachi Ltd 計算機システム
US5680640A (en) * 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
JP2912221B2 (ja) 1996-03-27 1999-06-28 日本電気通信システム株式会社 分散ネットワーク化ストライプド・ファイルシステム
US6044367A (en) * 1996-08-02 2000-03-28 Hewlett-Packard Company Distributed I/O store
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US5845081A (en) * 1996-09-03 1998-12-01 Sun Microsystems, Inc. Using objects to discover network information about a remote network having a different network protocol
US5922077A (en) * 1996-11-14 1999-07-13 Data General Corporation Fail-over switching system
JPH10187516A (ja) 1996-12-24 1998-07-21 Canon Inc 電子ファイリング方法及び装置並びに記憶媒体
JP3085239B2 (ja) 1997-03-28 2000-09-04 日本電気株式会社 基本処理装置の二重化方式
US6151684A (en) * 1997-03-28 2000-11-21 Tandem Computers Incorporated High availability access to input/output devices in a distributed system
US5944838A (en) * 1997-03-31 1999-08-31 Lsi Logic Corporation Method for fast queue restart after redundant I/O path failover
US6366988B1 (en) * 1997-07-18 2002-04-02 Storactive, Inc. Systems and methods for electronic data storage management
US6219693B1 (en) * 1997-11-04 2001-04-17 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
US6145028A (en) * 1997-12-11 2000-11-07 Ncr Corporation Enhanced multi-pathing to an array of storage devices
US6105122A (en) * 1998-02-06 2000-08-15 Ncr Corporation I/O protocol for highly configurable multi-node processing system
US6317844B1 (en) * 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
JP3726484B2 (ja) * 1998-04-10 2005-12-14 株式会社日立製作所 記憶サブシステム
US5964886A (en) 1998-05-12 1999-10-12 Sun Microsystems, Inc. Highly available cluster virtual disk system
US6353878B1 (en) * 1998-08-13 2002-03-05 Emc Corporation Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
JP3918394B2 (ja) * 2000-03-03 2007-05-23 株式会社日立製作所 データ移行方法
US6629189B1 (en) * 2000-03-09 2003-09-30 Emc Corporation Method and apparatus for managing target devices in a multi-path computer system
US6643795B1 (en) * 2000-03-30 2003-11-04 Hewlett-Packard Development Company, L.P. Controller-based bi-directional remote copy system with storage site failover capability

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256147A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd クラスタ型ディスクアレイ装置およびクラスタ型ディスクアレイ装置の運用方法
US7093155B2 (en) 2003-11-18 2006-08-15 Hitachi, Ltd. Information processing system and method for path failover
JP2008065616A (ja) * 2006-09-07 2008-03-21 Casio Comput Co Ltd コンピュータ、周辺機器接続管理方法及びプログラム
WO2008139521A1 (ja) * 2007-04-27 2008-11-20 Fujitsu Limited リモートファイルシステム、端末装置およびサーバ装置
JPWO2008139521A1 (ja) * 2007-04-27 2010-07-29 富士通株式会社 リモートファイルシステム、端末装置およびサーバ装置
JP2009223702A (ja) * 2008-03-17 2009-10-01 Fujitsu Ltd 入出力制御方法、制御装置及びプログラム
JP2010003061A (ja) * 2008-06-19 2010-01-07 Hitachi Ltd 計算機システム及びそのi/o構成変更方法
JP2010146087A (ja) * 2008-12-16 2010-07-01 Hitachi Ltd 系切替計算機システムの管理方法
JP2012208896A (ja) * 2011-03-30 2012-10-25 Nec Corp ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム
JP2014519100A (ja) * 2011-05-18 2014-08-07 アリババ・グループ・ホールディング・リミテッド 分散キャッシングおよびキャッシュ分析
JP2017168143A (ja) * 2011-05-18 2017-09-21 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 分散キャッシングおよびキャッシュ分析
JP2019507409A (ja) * 2015-12-30 2019-03-14 アリババ グループ ホウルディング リミテッド 従来のファイルシステムインターフェースを使用することによってクラウドストレージサービスにアクセスする方法及び装置

Also Published As

Publication number Publication date
EP1179770A3 (en) 2007-03-14
US20070016751A1 (en) 2007-01-18
US6654769B2 (en) 2003-11-25
JP3992427B2 (ja) 2007-10-17
EP1179770A2 (en) 2002-02-13
US20020016792A1 (en) 2002-02-07
EP1179770B1 (en) 2012-08-29
US7130868B2 (en) 2006-10-31
US20040093358A1 (en) 2004-05-13

Similar Documents

Publication Publication Date Title
JP3992427B2 (ja) ファイルシステム
US6862632B1 (en) Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written
US9037816B1 (en) Reversing a communication path between storage devices
US7519851B2 (en) Apparatus for replicating volumes between heterogenous storage systems
US6789122B1 (en) Mechanism for reliable update of virtual disk device mappings without corrupting data
US7404051B2 (en) Method for replicating snapshot volumes between storage systems
US7386598B2 (en) Computer system with virtualization function
US7836162B2 (en) Transaction processing system and transaction processing method
US20040123068A1 (en) Computer systems, disk systems, and method for controlling disk cache
JP2005537530A (ja) 仮想記憶装置
US20080005288A1 (en) Storage system and data replication method
JP2005004719A (ja) ロールバックによるデータレプリケーション方式
JP4278452B2 (ja) 計算機システム
JP2002244817A (ja) ミラーリング・エージェント
US8745342B2 (en) Computer system for controlling backups using wide area network
JP2003162439A (ja) ストレージシステム及びその制御方法
JP2007133471A (ja) ストレージ装置及びスナップショットのリストア方法
US6029231A (en) Retrieval of data stored on redundant disks across a network using remote procedure calls
US6810447B2 (en) Hierarchical approach to identifying changing device characteristics
JP2008084264A (ja) ネットワークストレージコンピュータシステム、ネットワークストレージ管理方法、管理サーバ、およびそのためのプログラム
EP1507207B1 (en) Hierarchical approach to identifying changing device characteristics

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061204

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070724

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120803

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130803

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees