JP5392819B2 - ファイル管理装置およびファイル管理方法 - Google Patents

ファイル管理装置およびファイル管理方法 Download PDF

Info

Publication number
JP5392819B2
JP5392819B2 JP2009023119A JP2009023119A JP5392819B2 JP 5392819 B2 JP5392819 B2 JP 5392819B2 JP 2009023119 A JP2009023119 A JP 2009023119A JP 2009023119 A JP2009023119 A JP 2009023119A JP 5392819 B2 JP5392819 B2 JP 5392819B2
Authority
JP
Japan
Prior art keywords
driver
file
logical volume
disk
information
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.)
Active
Application number
JP2009023119A
Other languages
English (en)
Other versions
JP2010181980A (ja
Inventor
剛 大石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies 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 NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2009023119A priority Critical patent/JP5392819B2/ja
Publication of JP2010181980A publication Critical patent/JP2010181980A/ja
Application granted granted Critical
Publication of JP5392819B2 publication Critical patent/JP5392819B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、1または複数の物理ディスクを用いて構築された論理ボリュームに対するファイルの入出力を管理するファイル管理装置およびファイル管理方法に関する。
近年、ディスク容量の最適化などを目的として、複数の物理ディスクを用いて1つの仮想的な論理ディスクを形成し、その論理ディスクに対してファイル入出力を行うディスクシステムが導入されている。このようなディスクシステムの一例に、RAID(Redundant Arrays of Inexpensive Disks)が搭載されたディスクアレイ装置がある。このディスクアレイ装置は、装置単独で物理ディスク媒体面の定期的な読み出しを行うことにより、不良ブロックを早めに検出し、RAIDの冗長化機能を用いて、不良ブロックが別セクタに割り付けられてデータを復旧する。すなわち、RAIDが搭載されたディスクアレイ装置では、物理ディスクの媒体不良に対し、冗長化機能によりリカバリ可能な仕組みが構築されている。
しかしながら、RAIDが搭載されたディスクアレイ装置においても、物理ディスクに発生した障害の規模が大きすぎ、冗長性が不十分な状態に陥ることがある。このような場合には、RAIDの冗長化機能によるデータの復旧(リカバリ)が困難となるので、障害が発生した物理ディスクを交換した後、データ(ファイル)をバックアップ媒体からリストアして復旧(リカバリ)する必要がある。このリカバリ作業においては、物理ディスクの不良ブロックがどのファイルに該当するかを調べるために、全ファイルを実際に読み出しているのが現状である。
また、特許文献1には、RAID機能を搭載したディスクアレイ装置において、設定情報を専用のインタフェースを介して保存および参照することにより、ユーザによる操作ミスやソフトウェアのバグ等による不正アクセスから設定情報をガードする手法が開示されている。
また、特許文献2には、ストレージネットワークにおける実ボリュームと仮想ボリュームの対応関係を管理するとともに、障害情報に基づいて仮想ボリュームを実ボリュームに関連付ける手法が開示されている。
また、特許文献3には、入出力装置を制御するデバイスドライバにエラー情報を格納するエラー情報格納域を設け、エラーが検出されたときにエラー情報をエラー情報格納域に退避させ、アプリケーションテストプログラムから送られてくるエラー情報獲得のためのioctlシステムコールに応じて、上記エラー情報格納域に退避させたエラー情報をアプリケーションテストプログラムに転送する手法が開示されている。この手法を用いれば、OS(Operating System)の中核となる基本カーネルには手を加えることなく、かつソースプログラムの互換性を保ちながら、アプリケーションテストプログラムによりエラー情報を得ることができる。
特開2005−267530号公報 特開2007−172003号公報 特開平07−013884号公報
最近のディスクシステムでは、その仮想化を実現しているソフトウェア(ドライバ)が階層化され、その階層がますます深くなっている。ソフトウェアの階層が深くなると、最下層の物理ディスクの不良ブロック箇所から、影響を受ける最上位層のファイルを特定することが困難となる。
上述のように、RAIDの冗長化機能によりリカバリが困難な場合には、物理ディスクの不良ブロックがどのファイルに対応するのかを、全ファイルを実際に読み出して調査していたが、このような読み出しは、ディスクの大容量化により、極めて長い時間を要するものとなっている。このような背景から、全ファイルを読み出さなくても、最下層の物理ディスク不良ブロックの情報から、最上位層のファイルを特定する方法の立案が望まれている。
特許文献1の手法では、専用のインタフェースを介してのみ設定情報を保存または参照することはできるが、ディスクの不良箇所に対応するファイルを特定することはできない。また、特許文献2の手法では、障害情報に基づいて実ボリュームと仮想ボリュームとを関連付けることはできるが、ディスクの不良箇所に対応するファイルを特定することはできない。さらに、特許文献3の手法では、専用のioctlシステムコールを用いて、入出力装置の診断結果をデバイスドライバとアプリケーションテストプログラム間で受け渡すことはできるが、デバイスドライバのみがioctlシステムコールを受信し応答する機能を有しているため、デバイスドライバが複数の階層からなる場合、ディスクの不良箇所に対応するファイルを特定することはできない。
本発明は、上記問題点に鑑みてなされたものであり、複数の階層化されたソフトウェアを介してファイル単位でストレージにアクセスするサーバにおいて、全ファイルを読み出さなくても、最下層の物理ディスクの不良ブロック等の情報から、その不良ブロックに対応する最上位層のファイルを特定することができるファイル管理装置及びファイル管理方法を提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るファイル管理装置は、
1または複数の物理ディスクを用いて構築された論理ボリュームに対するファイルの入出力を管理するファイル管理装置であって、
階層的に実装された複数のドライバソフトウェアを実行することにより、前記論理ボリュームに対するファイルの入出力を行うファイルサーバと、
前記複数のドライバソフトウェアとしての、上位のコンピュータとの間のネットワークを介した通信を制御するネットワークドライバと、前記ファイルを操作するためのファイルシステムと、前記論理ボリュームを管理する論理ボリュームドライバと、前記論理ボリュームを構成する前記物理ディスクに対するアクセスを制御するSCSIドライバと、にそれぞれ設けられ、前記物理ディスクにおいてアクセス不能な不良箇所に対応する不良ブロック領域に関する情報の取得を指示するためのコマンドを下位層に伝達し、前記物理ディスクの前記不良ブロック領域に対応する論理ディスク上のファイルを特定する情報を上位層に伝達する伝達部と、
前記伝達部により伝達された前記コマンドに従って、前記物理ディスクの前記不良ブロック領域に対応する論理ディスク上のファイルを特定する情報を検出して、前記伝達部に出力する検出部と、
を備え
前記論理ボリュームドライバに設けられた前記伝達部は、下位層から伝達されてきた情報に基づいて、前記物理ディスクの前記不良ブロック領域を、対応する論理ボリューム領域に変換し、上位層に向けて伝達し、
前記ファイルシステムに設けられた前記伝達部は、下位層から伝達されてきた論理ボリューム領域に基いて、前記不良ブロック領域に対応するファイルのデータ部およびメタデータを取得して、上位層に向けて伝達する
また、本発明の第2の観点に係るファイル管理方法は、
1または複数の物理ディスクを用いて構築された論理ボリュームに対するファイルの入出力を管理するファイル管理方法であって、
前記論理ボリュームに対するファイルの入出力を行うためにファイルサーバに階層的に実装された複数のドライバソフトウェアとしての、上位のコンピュータとの間のネットワークを介した通信を制御するネットワークドライバと、前記ファイルを操作するためのファイルシステムと、前記論理ボリュームを管理する論理ボリュームドライバと、前記論理ボリュームを構成する前記物理ディスクに対するアクセスを制御するSCSIドライバと、にそれぞれ設けられた伝達部を用いて、前記物理ディスクにおいてアクセス不能な不良箇所に対応する不良ブロック領域に関する情報の取得を指示するためのコマンドを下位層に向かって伝達する第1の伝達ステップと、
前記伝達された前記コマンドに従って、前記物理ディスクの前記不良ブロック領域に対応する論理ディスク上のファイルを特定する情報を検出して、前記伝達部に出力する検出ステップと、
検出された前記物理ディスクの不良ブロック領域に対応する論理ディスク上のファイルを特定する情報を、前記伝達部を用いて上位層の前記ドライバソフトウェアに伝達する第2の伝達ステップと、
を含み、
前記第2の伝達ステップでは、
前記論理ボリュームドライバに設けられた前記伝達部が、下位層から伝達されてきた情報に基づいて、前記物理ディスクの前記不良ブロック領域を、対応する論理ボリュームの領域に変換し、上位層に向けて伝達し、
前記ファイルシステムに設けられた前記伝達部が、下位層から伝達されてきた論理ボリューム領域に基いて、前記不良ブロック領域に対応するファイルのデータ部およびメタデータを取得して、上位層に向けて伝達する
本発明によれば、階層化されたドライバソフトウェアに設けられた伝達部を用いて、階層間で、物理ディスクの不良ブロック領域に関する情報の取得を指示するためのコマンドや不良ブロック領域に関する情報を受け渡すことができるので、最下層の物理ディスクの不良ブロック領域等の情報から、その不良ブロック領域に対応する最上位層のファイルを容易に特定することができる。
本発明の実施の形態に係るNASシステムの構成例を示すブロック図である。 ネットワークドライバの処理手順を説明するためのフローチャートである。 ファイルシステムの処理手順を説明するためのフローチャートである。 LVMドライバの処理手順を説明するためのフローチャートである。 SCSIドライバの処理手順を説明するためのフローチャートである。 FC HBAドライバの処理手順を説明するためのフローチャートである。 コントローラの処理手順を説明するためのフローチャートである。
以下、本発明の実施の形態に係るNAS(Network Attached Storage)システム100について説明する。図1に示すように、NASシステム100は、NASサーバ200と、SAN(Storage Area Network)ストレージ300と、を備えている。NASサーバ200とSANストレージ300とは、FC(Fibre Channel)ケーブル2によって接続されている。また、NASシステム100には、ネットワーク網1を介して、図示しないNASクライアントや管理コンピュータ等が接続されている。
NASサーバ200は、ネットワークドライバ210と、ファイルシステム220と、LVM(Logical Volume Manager)ドライバ230と、SCSI(Small Computer System Interface)ドライバ240と、FC HBA(Fibre Channel Host Bus Adapter)ドライバ250とを備えている。これらのドライバ210、220,230、240、250は、階層化されてNASサーバ200に実装されている。
ネットワークドライバ210は、上位のコンピュータ(NASクライアントや管理コンピュータ等)との間のネットワーク網1を介した通信を制御する。ファイルシステム220は、SANストレージ300における、後述する論理ディスク320に格納されるファイルを操作する。LVMドライバ230は、論理ディスク320における論理ボリュームを管理する。SCSIドライバ240は、SCSI規格に従って、SANストレージ300の物理ディスク330−1乃至330−Nに対するアクセスを制御する。FC HBAドライバ250は、FCケーブル2のファイバーチャネル制御を行う。
ネットワークドライバ210は、ネットワークドライバioctl211を有する。ファイルシステム220は、ファイルシステムioctl221を有する。LVMドライバ230は、LVMドライバioctl231を有する。SCSIドライバ240はSCSIドライバioctl241を有する。これらは、後述する物理ディスク330−1乃至330−Nの不良ブロックの情報を取得するために、各ドライバに実装されている。
SANストレージ300は、コントローラ310と、論理ディスク320と、を備えている。
論理ディスク320は、物理ディスク330−1乃至330−N(Nは任意の自然数)を備えている。論理ディスク320の実体は、物理ディスク330−1乃至330−Nである。コントローラ310は、NASサーバ200の指示の下で、論理ディスク320(論理ボリューム)に対するファイルの入出力を制御するとともに、物理ディスク330−1乃至330−Nの不良ブロックに関する情報を検出し、FCケーブル2を介してNASサーバ200に送信する。
ここでは、RAID(Redundant Arrays of Inexpensive Disks)等の技術によって、複数の物理ディスク330−1乃至330−Nから仮想的な1つの論理ディスク320が構築されている。この論理ディスク320上に、論理ボリュームが形成される。
次に、NASサーバ200において、各階層に設けられた共通のインタフェース(この例の場合、ネットワークドライバioctl211、ファイルシステムioctl221、LVMドライバioctl231、SCSIドライバioctl241)を用いて、コマンドや情報を各階層間で伝達することにより、物理ディスク330−1乃至330−Nの不良ブロックに対応するファイルを特定する手順について説明する。
ネットワーク網1に接続されたNASクライアントまたは管理コンピュータ等において、物理ディスク330−1乃至330−Nの不良ブロック領域に関する情報の取得を指示するためコマンドであるioctlコマンドが発行されると、このioctlコマンドは、NASクライアントまたは管理コンピュータから発信され、ネットワーク網1を経由してNASシステム100を構成するNASサーバ200内のネットワークドライバ210に到達する。
ネットワークドライバ210は、ネットワークドライバ210に設けられたネットワークドライバioctl211によりioctlコマンドを受信し、そのioctlコマンドをそのままファイルシステム220に設けられたファイルシステムioctl221に伝達する。
ファイルシステム220は、ファイルシステムioctl221によって受信されたioctlコマンドを下位層のLVMドライバ230に対して発行する。LVMドライバ230のLVMドライバioctl231は、上位層のファイルシステム220のファイルシステムioctl221によって発行されたioctlコマンドを、下位層のSCSIドライバ240に対して発行する。
SCSIドライバ240のSCSIドライバioctl241は、受信したioctlコマンドを、SANストレージ300の物理ディスク330−1乃至330−Nの不良ブロックに関する情報を取得可能なSCSIコマンド(Read Buffer)に変換し、このSCSIコマンド(Read Buffer)をFC HBAドライバ250に対して発行する。
FC HBAドライバ250は、SCSIドライバioctl241により発行されたSCSIコマンド(Read Buffer)を、FCケーブル2を経由してSANストレージ300内のコントローラ310に伝達する。
SANストレージ300内のコントローラ310は、SCSIコマンド(Read Buffer)に従って、物理ディスク330−1乃至330−Nの不良ブロックに関する情報を取得する。そして、その情報をSCSIコマンド(Read Buffer)で指示された論理ディスク320に関する情報(物理ディスク330−1乃至330−Nの不良ブロックに対応する論理ディスク320上のファイルを特定する情報)に変換する。その後、その情報をFCケーブル2経由で、NASサーバ200のFC HBAドライバ250に送信する。
FC HBAドライバ250は、FCケーブル2経由で送られてきた物理ディスク330−1乃至330−Nの不良ブロックに対応する論理ディスク320上のファイルを特定する情報を、SCSIドライバ240のSCSIドライバioctl241に伝達する。
SCSIドライバ240に設けられたSCSIドライバioctl241は、FC HBAドライバ250より伝達されてきた物理ディスク330−1乃至330−Nの不良ブロックに対応する論理ディスク320上のファイルを特定する情報をLVMドライバ230に対応する所定の形式に変換し、LVMドライバ230のLVMドライバioctl231に伝達する。
LVMドライバ230のLVMドライバioctl231は、SCSIドライバioctl241より伝達されてきた物理ディスク330−1乃至330−Nの不良ブロックに対応する論理ディスク320上のファイルを特定する情報に基づき、物理ディスク330−1乃至330−Nの不良ブロックの領域を対応する論理ディスク320上の論理ボリューム領域に変換し、この論理ボリューム領域をファイルシステム220のファイルシステムioctl221に伝達する。
ファイルシステム220のファイルシステムioctl221は、LVMドライバ230より伝達されてきた論理ボリューム領域に基づき、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータ(例えば、ファイルの位置、ファイル名、更新日時、アクセス権限等のファイルを管理するための情報)を取得し、ネットワークドライバ210のネットワークドライバioctl211に伝達する。
ネットワークドライバ210のネットワークドライバioctl211は、この物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータを、ネットワーク網1を経由して、NASクライアントまたは管理コンピュータ等に送信する。
NASクライアントまたは管理コンピュータ等は、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータから、このファイルを特定することができる。
以下、図2乃至図7のフローチャートを参照して、各階層の詳細な処理手順について説明する。
まず、ネットワークドライバ210の処理手順について説明する。図2に示すように、ネットワークドライバ210は、ネットワーク網1を介してNASクライアントや管理コンピュータ等から送信されてくるioctlコマンドを、ネットワークドライバioctl211によが受信したか否かを判定する(ステップS1)。
ネットワーク網1を介して送信されてくるioctlコマンドを受信したと判定した場合(ステップS1でYes)、ネットワークドライバ210は、ネットワークドライバioctl211に、受信したioctlコマンドを、ファイルシステム220のファイルシステムioctl221へそのまま伝達させる(ステップS3)。
一方、ネットワーク網1を介して送信されてくるioctlコマンドを受信していないと判定した場合(ステップS1でNo)、ネットワークドライバ210は、下位層のファイルシステム220のファイルシステムioctl221から伝達されてくる情報を、ネットワークドライバioctl211が、受信したか否かを判定する(ステップS2)。下位層のファイルシステム220のファイルシステムioctl221から伝達されてくる情報を受信していないと判定した場合(ステップS2でNo)、ネットワークドライバ210は、ステップS1に戻り、ステップS1以降の処理を繰り返し実行する。
一方、ステップS2において下位層のファイルシステム220のファイルシステムioctl221から伝達される情報を受信したと判定した場合(ステップS2でYes)、ネットワークドライバ210は、ネットワークドライバioctl211に、下位層にあるファイルシステム220から受信した情報(この例では、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータ)を、ネットワーク網1を経由してNASクライアントや管理コンピュータに送信させる。
ステップS3またはステップS4の処理が終了すると、本処理を終了する。本処理は、ネットワークドライバ210によって繰り返し実行される。
次に、ファイルシステム220の処理手順について説明する。図3に示すように、まず、ファイルシステム220は、上位層のネットワークドライバ210から伝達されてくるioctlコマンドを、ファイルシステムioctl221が受信したか否かを判定する(ステップS11)。
上位層のネットワークドライバ210のネットワークドライバioctl211から伝達されてくるioctlコマンドを受信したと判定した場合(ステップS11でYes)、ファイルシステム220は、ファイルシステムioctl221に、受信したioctlコマンドをLVMドライバ230に対して発行させる(ステップS13)。
一方、上位層のネットワークドライバ210のネットワークドライバioctl211から伝達されてくるioctlコマンドを受信していないと判定した場合(ステップS11でNo)、ファイルシステム220は、下位層のLVMドライバ230のLVMドライバioctl231から伝達されてくる情報を、ファイルシステムioctl221が受信したか否かを判定する(ステップ12)。
下位層のLVMドライバ230のLVMドライバioctl231から伝達されてくる情報を受信していないと判定した場合(ステップS12でNo)、ファイルシステム220は、ステップS11に戻り、ステップS11以降の処理を繰り返し実行する。
一方、下位層のLVMドライバ230のLVMドライバioctl231から伝達されてくる情報を受信したと判定した場合(ステップS12でYes)、ファイルシステム220は、ファイルシステムioctl221に、LVMドライバ230のLVMドライバioctl231から伝達されてくる情報(物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の論理ボリューム領域)に基づいて取得した情報(物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータ)を、ネットワークドライバ210のネットワークドライバioctl211へ伝達させる(ステップS14)。
ステップS13またはステップS14の処理が終了すると、本処理を終了する。本処理は、ファイルシステム220によって繰り返し実行される。
次に、LVMドライバ230の処理手順について説明する。図4に示すように、まず、LVMドライバ230は、上位層のファイルシステム220のファイルシステムioctl221から伝達されてくるioctlコマンドを、LVMドライバioctl231が、受信したか否かを判定する(ステップS21)。
上位層のファイルシステム220のファイルシステムioctl221から伝達されてくるioctlコマンドを受信したと判定した場合(ステップS21でYes)、LVMドライバ230は、LVMドライバioctl231に、受信したioctlコマンドを、下位層のSCSIドライバ240に対して発行させる(ステップS23)。
一方、上位層のファイルシステム220のファイルシステムioctl221から伝達されてくるioctlコマンドを受信していないと判定した場合(ステップS21でNo)、LVMドライバ230は、下位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくる情報を、LVMドライバioctl231が受信したか否かを判定する(ステップS22)。
下位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくる情報を受信していないと判定した場合(ステップS22でNo)、LVMドライバ230は、ステップS21に戻り、ステップS21以降の処理を繰り返し実行する。
一方、下位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくる情報を受信したと判定した場合(ステップS22でYes)、LVMドライバ230は、LVMドライバioctl231に、SCSIドライバ240のSCSIドライバioctl241から伝達されてくる情報(物理ディスク330−1乃至330−Nの不良ブロックに対応する論理ディスク320上のファイルを特定する情報)を、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の論理ボリューム領域に変換させる(ステップS24)。そして、LVMドライバ230は、LVMドライバioctl231に、この論理ボリューム領域をファイルシステム220のファイルシステムioctl221へ伝達させる(ステップS24)。
ステップS23またはステップS24の処理が終了すると、本処理を終了する。本処理は、LVMドライバ230によって繰り返し実行される。
次に、SCSIドライバ240の処理手順について説明する。図5に示すように、まず、SCSIドライバ240は、上位層のLVMドライバ230のLVMドライバioctl231から伝達されてくるioctlコマンドを、SCSIドライバioctl241が、受信したか否かを判定する(ステップS31)。
上位層のLVMドライバ230のLVMドライバioctl231から伝達されてくるioctlコマンドを受信したと判定した場合(ステップS31でYes)、SCSIドライバ240は、SCSIドライバioctl241に、受信したioctlコマンドをSCSIコマンド(Read Buffer)に変換させた後、下位層のFC HBAドライバ250に対して発行させる(ステップS33)。
一方、上位層のLVMドライバ230のLVMドライバioctl231から伝達されてくるioctlコマンドを受信していないと判定した場合(ステップS31でNo)、SCSIドライバ240は、下位層のFC HBAドライバ250から伝達されてくる情報をSCSIドライバioctl241が受信したか否かを判定する(ステップS32)。
下位層のFC HBAドライバ250から伝達されてくる情報を受信していないと判定した場合(ステップS32でNo)、SCSIドライバ240は、ステップS31に戻り、ステップS31以降の処理を繰り返し実行する。
一方、下位層のFC HBAドライバ250から伝達されてくる情報を受信したと判定した場合(ステップS32でYes)、SCSIドライバ240は、SCSIドライバioctl241に、FC HBAドライバ250から伝達されてくる情報をLVMドライバ230の対応する形式に変換させた後、変換した情報を、LVMドライバ230のLVMドライバioctl231に伝達させる(ステップS34)。
ステップS33またはステップS34の処理が終了すると、本処理を終了する。本処理は、SCSIドライバ240によって繰り返し実行される。
次に、FC HBAドライバ250の処理手順について説明する。図6に示すように、まず、FC HBAドライバ250は、上位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくるSCSIコマンド(Read Buffer)を受信したか否かを判定する(ステップS41)。
上位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくるSCSIコマンド(Read Buffer)を受信したと判定した場合(ステップS41でYes)、FC HBAドライバ250は、受信したSCSIコマンド(Read Buffer)を、FCケーブル2を経由してSANストレージ300のコントローラ310に伝達する(ステップS43)。
一方、上位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくるSCSIコマンド(Read Buffer)を受信していないと判定した場合(ステップS41でNo)、FC HBAドライバ250は、SANストレージ300のコントローラ310から、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の領域を特定するための情報を受信したか否かを判定する(ステップS42)。
その結果、FCケーブル2を経由してSANストレージ300のコントローラ310から送信されてくる物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の領域を特定するための情報を受信していないと判定した場合(ステップS42でNo)、FC HBAドライバ250は、ステップS41に戻り、ステップS41以降の処理を繰り返し実行する。
一方、FCケーブル2を経由してSANストレージ300のコントローラ310から送信されてくる物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の領域を特定するための情報を受信したと判定した場合(ステップS42でYes)、FC HBAドライバ250は、SANストレージ300のコントローラ310から受信した情報(物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の領域を特定するための情報)を、上位層のSCSIドライバ240のSCSIドライバioctl241に伝達する(ステップS44)。
ステップS43またはステップS44の処理が終了すると、本処理を終了する。本処理は、FC HBAドライバ250によって繰り返し実行される。
次に、SANストレージ300のコントローラ310の処理手順について説明する。図7に示すように、コントローラ310は、NASサーバ200のFC HBAドライバ250からFCケーブル2を経由して伝達されてきたSCSIコマンド(Read Buffer)を受信したと判定されるまで待つ(ステップS51)。
NASサーバ200のFC HBAドライバ250からFCケーブル2を経由して伝達されてきたSCSIコマンド(Read Buffer)を受信したと判定した場合(ステップS51でYes)、コントローラ310は、NASサーバ200のFC HBAドライバ250からFCケーブル2を経由して伝達されてきたSCSIコマンド(Read Buffer)を実行する(ステップS52)。続いて、コントローラ310は、それによって得られた物理ディスク330−1乃至330−Nの不良ブロックの領域に関する情報を、論理ディスク320上の領域を特定するための情報に変換する。続いて、コントローラ310は、その情報をFCケーブル2経由でFC HBAドライバ250に伝達する。その後、本処理を終了する。本処理は、コントローラ310によって繰り返し実行される。
このようにして、ネットワーク網1経由で送られてくるioctlコマンド(最下層の物理ディスクの不良ブロックの情報を取得するためのコマンド)は、図2のステップS3、図3のステップS13、図4のステップS23、図5のステップS33、図6のステップS43、図7のステップS52の処理により最終的にSCSIコマンドに変換された後、コントローラ310に伝達される。
さらに、コントローラ310に伝達された情報(最下層の物理ディスクの不良ブロックの情報)は、図7のステップS52、図6のステップS44、図5のステップS34、図4のステップS24、図3のステップS14、図2のステップS4の処理により、最終的にファイルのデータ部およびメタデータに変換された後、ネットワーク網1経由でNASクライアントや管理コンピュータに送信される。
以上説明したように、本実施の形態により、階層化されたドライバソフトウェア210220、230、240に設けられた各ドライバのioctl211,221、231、241等を用いて、階層間で、物理ディスク330−1乃至330−Nの不良ブロック領域に関する情報の取得を指示するためのioctlコマンドや不良ブロック領域に関する情報を受け渡す。不良ブロック領域に関する情報は、上位層に伝達される間に、その不良ブロック領域に対応するファイルに関する情報に変換されるので、全ファイルを読み出さなくても、最下層の物理ディスクの不良ブロック領域等の情報から、その不良ブロック領域に対応する最上位層のファイルを容易に特定することができる。
また、ioctlコマンドを発行することにより、ファイルにアクセスする前にファイルがアクセス可能か否かを認識することができるので、バックアップ等を行う場合、アクセス不能なファイルを迂回することができる。
さらに、ネットワーク網1に接続されたNASクライアントや管理コンピュータのアプリケーションプログラムにより監視や通報が可能となるため、アクセス不能なファイルの自動復旧を実現することができる。
なお、本発明は上記実施の形態に限定されず、種々の変形及び応用が可能である。例えば、上記実施の形態では、本発明をNASサーバ200に適用する場合について説明したが、その他の各種サーバに適用することができる。
また、上記実施の形態では、SCSIインタフェースを用いるようにしたが、その他のインタフェースを用いることもできる。
本発明は、ストレージ装置を接続して仮想ファイルを使用するファイルシステムに適用することができる。
1 ネットワーク網
2 FCケーブル
100 NASシステム
200 NASサーバ
210 ネットワークドライバ(ドライバソフトウェア)
211 ネットワークドライバioctl
220 ファイルシステム(ドライバソフトウェア)
221 ファイルシステムioctl
230 LVMドライバ(ドライバソフトウェア)
231 LVMドライバioctl
240 SCSIドライバ(ドライバソフトウェア)
241 SCSIドライバioctl
250 FC HBA ドライバ
300 SANストレージ
310 コントローラ
320 論理ディスク
330−1〜330−N 物理ディスク

Claims (2)

  1. 1または複数の物理ディスクを用いて構築された論理ボリュームに対するファイルの入出力を管理するファイル管理装置であって、
    階層的に実装された複数のドライバソフトウェアを実行することにより、前記論理ボリュームに対するファイルの入出力を行うファイルサーバと、
    前記複数のドライバソフトウェアとしての、上位のコンピュータとの間のネットワークを介した通信を制御するネットワークドライバと、前記ファイルを操作するためのファイルシステムと、前記論理ボリュームを管理する論理ボリュームドライバと、前記論理ボリュームを構成する前記物理ディスクに対するアクセスを制御するSCSIドライバと、にそれぞれ設けられ、前記物理ディスクにおいてアクセス不能な不良箇所に対応する不良ブロック領域に関する情報の取得を指示するためのコマンドを下位層に伝達し、前記物理ディスクの前記不良ブロック領域に対応する論理ディスク上のファイルを特定する情報を上位層に伝達する伝達部と、
    前記伝達部により伝達された前記コマンドに従って、前記物理ディスクの前記不良ブロック領域に対応する論理ディスク上のファイルを特定する情報を検出して、前記伝達部に出力する検出部と、
    を備え
    前記論理ボリュームドライバに設けられた前記伝達部は、下位層から伝達されてきた情報に基づいて、前記物理ディスクの前記不良ブロック領域を、対応する論理ボリューム領域に変換し、上位層に向けて伝達し、
    前記ファイルシステムに設けられた前記伝達部は、下位層から伝達されてきた論理ボリューム領域に基いて、前記不良ブロック領域に対応するファイルのデータ部およびメタデータを取得して、上位層に向けて伝達する、
    ァイル管理装置。
  2. 1または複数の物理ディスクを用いて構築された論理ボリュームに対するファイルの入出力を管理するファイル管理方法であって、
    前記論理ボリュームに対するファイルの入出力を行うためにファイルサーバに階層的に実装された複数のドライバソフトウェアとしての、上位のコンピュータとの間のネットワークを介した通信を制御するネットワークドライバと、前記ファイルを操作するためのファイルシステムと、前記論理ボリュームを管理する論理ボリュームドライバと、前記論理ボリュームを構成する前記物理ディスクに対するアクセスを制御するSCSIドライバと、にそれぞれ設けられた伝達部を用いて、前記物理ディスクにおいてアクセス不能な不良箇所に対応する不良ブロック領域に関する情報の取得を指示するためのコマンドを下位層に向かって伝達する第1の伝達ステップと、
    前記伝達された前記コマンドに従って、前記物理ディスクの前記不良ブロック領域に対応する論理ディスク上のファイルを特定する情報を検出して、前記伝達部に出力する検出ステップと、
    検出された前記物理ディスクの不良ブロック領域に対応する論理ディスク上のファイルを特定する情報を、前記伝達部を用いて上位層の前記ドライバソフトウェアに伝達する第2の伝達ステップと、
    を含み、
    前記第2の伝達ステップでは、
    前記論理ボリュームドライバに設けられた前記伝達部が、下位層から伝達されてきた情報に基づいて、前記物理ディスクの前記不良ブロック領域を、対応する論理ボリュームの領域に変換し、上位層に向けて伝達し、
    前記ファイルシステムに設けられた前記伝達部が、下位層から伝達されてきた論理ボリューム領域に基いて、前記不良ブロック領域に対応するファイルのデータ部およびメタデータを取得して、上位層に向けて伝達する、
    ァイル管理方法。
JP2009023119A 2009-02-03 2009-02-03 ファイル管理装置およびファイル管理方法 Active JP5392819B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009023119A JP5392819B2 (ja) 2009-02-03 2009-02-03 ファイル管理装置およびファイル管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009023119A JP5392819B2 (ja) 2009-02-03 2009-02-03 ファイル管理装置およびファイル管理方法

Publications (2)

Publication Number Publication Date
JP2010181980A JP2010181980A (ja) 2010-08-19
JP5392819B2 true JP5392819B2 (ja) 2014-01-22

Family

ID=42763540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009023119A Active JP5392819B2 (ja) 2009-02-03 2009-02-03 ファイル管理装置およびファイル管理方法

Country Status (1)

Country Link
JP (1) JP5392819B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016043041A1 (ja) 2014-09-19 2016-03-24 株式会社aLab デバイスプロキシ装置及びその制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2796041B2 (ja) * 1993-06-22 1998-09-10 株式会社ピーエフユー 入出力装置の診断方法
JP2002288014A (ja) * 2001-03-27 2002-10-04 Fujitsu Ltd ファイル管理システム及びファイルデータ書込方法
JP4572082B2 (ja) * 2004-03-22 2010-10-27 Necシステムテクノロジー株式会社 Nasディスクアレイ装置
JP2006276965A (ja) * 2005-03-28 2006-10-12 Oki Electric Ind Co Ltd 不良ブロック検出方法および不良ブロック検出装置

Also Published As

Publication number Publication date
JP2010181980A (ja) 2010-08-19

Similar Documents

Publication Publication Date Title
US7660946B2 (en) Storage control system and storage control method
US9542272B2 (en) Write redirection in redundant array of independent disks systems
CN101571815B (zh) 信息系统及i/o处理方法
EP2849048B1 (en) Data sending method, data receiving method and storage device
US6757778B1 (en) Storage management system
US7620794B2 (en) Storage system with storage apparatuses including virtual switches
JP4646574B2 (ja) データ処理システム
US20130055018A1 (en) Detection of logical corruption in persistent storage and automatic recovery therefrom
US7975171B2 (en) Automated file recovery based on subsystem error detection results
US8839026B2 (en) Automatic disk power-cycle
JP2005326935A (ja) 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
EP1903427A2 (en) Storage apparatus and configuration setting method
US9792056B1 (en) Managing system drive integrity in data storage systems
US20060184823A1 (en) Access control device and interface installed in same
WO2001029647A1 (fr) Systeme de reseau de zone a memoire
US10620843B2 (en) Methods for managing distributed snapshot for low latency storage and devices thereof
WO2021217023A1 (en) Methods for handling input-output operations in zoned storage systems and devices thereof
US20130145209A1 (en) Disk system, data retaining device, and disk device
JP2012198639A (ja) 制御装置、制御方法およびストレージ装置
JP2006313410A (ja) ストレージネットワークの管理情報管理方法、ストレージ管理システム及びストレージ管理ソフトウェア
US20060112220A1 (en) Disk array apparatus, information processing apparatus, data management system, method for issuing command from target side to initiator side, and computer product
KR20100095519A (ko) 스토리지 복사 서비스 시스템들을 관리하기 위한 장치 및 방법
US20090228672A1 (en) Remote copy system and check method
US10915405B2 (en) Methods for handling storage element failures to reduce storage device failure rates and devices thereof
JP5392819B2 (ja) ファイル管理装置およびファイル管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131010

R150 Certificate of patent or registration of utility model

Ref document number: 5392819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350