JP2010181980A - File-managing device and file-managing method - Google Patents
File-managing device and file-managing method Download PDFInfo
- Publication number
- JP2010181980A JP2010181980A JP2009023119A JP2009023119A JP2010181980A JP 2010181980 A JP2010181980 A JP 2010181980A JP 2009023119 A JP2009023119 A JP 2009023119A JP 2009023119 A JP2009023119 A JP 2009023119A JP 2010181980 A JP2010181980 A JP 2010181980A
- Authority
- JP
- Japan
- Prior art keywords
- driver
- information
- file
- ioctl
- logical volume
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、1または複数の物理ディスクを用いて構築された論理ボリュームに対するファイルの入出力を管理するファイル管理装置およびファイル管理方法に関する。 The present invention relates to a file management apparatus and a file management method for managing file input / output with respect to a logical volume constructed using one or a plurality of physical disks.
近年、ディスク容量の最適化などを目的として、複数の物理ディスクを用いて1つの仮想的な論理ディスクを形成し、その論理ディスクに対してファイル入出力を行うディスクシステムが導入されている。このようなディスクシステムの一例に、RAID(Redundant Arrays of Inexpensive Disks)が搭載されたディスクアレイ装置がある。このディスクアレイ装置は、装置単独で物理ディスク媒体面の定期的な読み出しを行うことにより、不良ブロックを早めに検出し、RAIDの冗長化機能を用いて、不良ブロックが別セクタに割り付けられてデータを復旧する。すなわち、RAIDが搭載されたディスクアレイ装置では、物理ディスクの媒体不良に対し、冗長化機能によりリカバリ可能な仕組みが構築されている。 In recent years, for the purpose of optimizing disk capacity, etc., a disk system has been introduced in which one virtual logical disk is formed using a plurality of physical disks and file input / output is performed on the logical disk. As an example of such a disk system, there is a disk array device equipped with RAID (Redundant Arrays of Inexpensive Disks). This disk array device detects the bad block early by reading the physical disk medium surface periodically by the device alone, and assigns the bad block to another sector using the RAID redundancy function. To recover. In other words, in a disk array device equipped with RAID, a mechanism is constructed that can recover a medium failure of a physical disk by a redundancy function.
しかしながら、RAIDが搭載されたディスクアレイ装置においても、物理ディスクに発生した障害の規模が大きすぎ、冗長性が不十分な状態に陥ることがある。このような場合には、RAIDの冗長化機能によるデータの復旧(リカバリ)が困難となるので、障害が発生した物理ディスクを交換した後、データ(ファイル)をバックアップ媒体からリストアして復旧(リカバリ)する必要がある。このリカバリ作業においては、物理ディスクの不良ブロックがどのファイルに該当するかを調べるために、全ファイルを実際に読み出しているのが現状である。 However, even in a disk array device equipped with RAID, the scale of a failure that has occurred in a physical disk may be too large and the redundancy may be insufficient. In such a case, data recovery (recovery) by the RAID redundancy function becomes difficult. Therefore, after replacing the failed physical disk, the data (file) is restored from the backup medium and recovered (recovery). )There is a need to. In this recovery operation, all files are actually read in order to find out which file a bad block of the physical disk corresponds to.
また、特許文献1には、RAID機能を搭載したディスクアレイ装置において、設定情報を専用のインタフェースを介して保存および参照することにより、ユーザによる操作ミスやソフトウェアのバグ等による不正アクセスから設定情報をガードする手法が開示されている。 In Patent Document 1, in a disk array device equipped with a RAID function, the setting information is stored and referred to via a dedicated interface, so that the setting information is obtained from an unauthorized access due to a user operation error or a software bug. A method for guarding is disclosed.
また、特許文献2には、ストレージネットワークにおける実ボリュームと仮想ボリュームの対応関係を管理するとともに、障害情報に基づいて仮想ボリュームを実ボリュームに関連付ける手法が開示されている。
また、特許文献3には、入出力装置を制御するデバイスドライバにエラー情報を格納するエラー情報格納域を設け、エラーが検出されたときにエラー情報をエラー情報格納域に退避させ、アプリケーションテストプログラムから送られてくるエラー情報獲得のためのioctlシステムコールに応じて、上記エラー情報格納域に退避させたエラー情報をアプリケーションテストプログラムに転送する手法が開示されている。この手法を用いれば、OS(Operating System)の中核となる基本カーネルには手を加えることなく、かつソースプログラムの互換性を保ちながら、アプリケーションテストプログラムによりエラー情報を得ることができる。 Patent Document 3 also provides an error information storage area for storing error information in a device driver that controls the input / output device, and saves the error information in the error information storage area when an error is detected. A method is disclosed in which error information saved in the error information storage area is transferred to an application test program in response to an ioctl system call for acquiring error information sent from. If this method is used, error information can be obtained by an application test program without changing the basic kernel as the core of the OS (Operating System) and maintaining the compatibility of the source program.
最近のディスクシステムでは、その仮想化を実現しているソフトウェア(ドライバ)が階層化され、その階層がますます深くなっている。ソフトウェアの階層が深くなると、最下層の物理ディスクの不良ブロック箇所から、影響を受ける最上位層のファイルを特定することが困難となる。 In recent disk systems, the software (drivers) that realizes the virtualization is hierarchized, and the hierarchy is getting deeper. As the software hierarchy becomes deeper, it becomes difficult to identify the affected uppermost layer file from the bad block location on the lowermost physical disk.
上述のように、RAIDの冗長化機能によりリカバリが困難な場合には、物理ディスクの不良ブロックがどのファイルに対応するのかを、全ファイルを実際に読み出して調査していたが、このような読み出しは、ディスクの大容量化により、極めて長い時間を要するものとなっている。このような背景から、全ファイルを読み出さなくても、最下層の物理ディスク不良ブロックの情報から、最上位層のファイルを特定する方法の立案が望まれている。 As described above, when recovery is difficult due to the RAID redundancy function, all files are actually read to investigate which file the bad block of the physical disk corresponds to. Has a very long time due to the large capacity of the disk. From such a background, there is a demand for a method for identifying a top layer file from information on a physical disk bad block in the bottom layer without reading all the files.
特許文献1の手法では、専用のインタフェースを介してのみ設定情報を保存または参照することはできるが、ディスクの不良箇所に対応するファイルを特定することはできない。また、特許文献2の手法では、障害情報に基づいて実ボリュームと仮想ボリュームとを関連付けることはできるが、ディスクの不良箇所に対応するファイルを特定することはできない。さらに、特許文献3の手法では、専用のioctlシステムコールを用いて、入出力装置の診断結果をデバイスドライバとアプリケーションテストプログラム間で受け渡すことはできるが、デバイスドライバのみがioctlシステムコールを受信し応答する機能を有しているため、デバイスドライバが複数の階層からなる場合、ディスクの不良箇所に対応するファイルを特定することはできない。
In the method of Patent Document 1, setting information can be stored or referenced only through a dedicated interface, but a file corresponding to a defective portion of a disk cannot be specified. In the method of
本発明は、上記問題点に鑑みてなされたものであり、複数の階層化されたソフトウェアを介してファイル単位でストレージにアクセスするサーバにおいて、全ファイルを読み出さなくても、最下層の物理ディスクの不良ブロック等の情報から、その不良ブロックに対応する最上位層のファイルを特定することができるファイル管理装置及びファイル管理方法を提供することを目的とする。 The present invention has been made in view of the above problems, and in a server that accesses storage in units of files via a plurality of layered software, even if all the files are not read out, It is an object of the present invention to provide a file management apparatus and a file management method capable of specifying a top layer file corresponding to a defective block from information such as a defective block.
上記目的を達成するため、本発明の第1の観点に係るファイル管理装置は、
1または複数の物理ディスクを用いて構築された論理ボリュームに対するファイルの入出力を管理するファイル管理装置であって、
階層的に実装された複数のドライバソフトウェアを実行することにより、前記論理ボリュームに対するファイルの入出力を行うファイルサーバと、
各階層の前記ドライバソフトウェアにそれぞれ設けられ、前記物理ディスクの不良ブロック領域に関する情報の取得を指示するためのコマンドを下位層に伝達し、前記物理ディスクの不良ブロック領域に関する情報を上位層に伝達する伝達部と、
前記伝達部により伝達された前記コマンドに従って、前記物理ディスクの不良ブロック領域に関する情報を検出して、前記伝達部に出力する検出部と、
を備える。
In order to achieve the above object, a file management apparatus according to the first aspect of the present invention provides:
A file management apparatus for managing file input / output to / from a logical volume constructed using one or more physical disks,
A file server that performs input and output of files to and from the logical volume by executing a plurality of driver software implemented in a hierarchy; and
Provided in each of the driver software in each hierarchy, and transmits a command for instructing acquisition of information on the bad block area of the physical disk to the lower layer, and transmits information on the bad block area of the physical disk to the upper layer. A transmission part;
In accordance with the command transmitted by the transmission unit, a detection unit that detects information on a bad block area of the physical disk and outputs the information to the transmission unit;
Is provided.
また、本発明の第2の観点に係るファイル管理方法は、
1または複数の物理ディスクを用いて構築された論理ボリュームに対するファイルの入出力を管理するファイル管理方法であって、
前記論理ボリュームに対するファイルの入出力を行うためにファイルサーバに階層的に実装された複数のドライバソフトウェアにそれぞれ設けられた伝達部を用いて、前記物理ディスクの不良ブロック領域に関する情報の取得を指示するためのコマンドを下位層に向かって伝達する第1の伝達ステップと、
前記伝達された前記コマンドに従って、前記物理ディスクの不良ブロック領域に関する情報を検出して、前記伝達部に出力する検出ステップと、
検出された前記物理ディスクの不良ブロック領域に関する情報を、前記伝達部を用いて上位層の前記ドライバソフトウェアに伝達する第2の伝達ステップと、
を含む。
The file management method according to the second aspect of the present invention is:
A file management method for managing file input / output to / from a logical volume constructed using one or more physical disks,
Instructing acquisition of information on the bad block area of the physical disk using a transmission unit provided in each of a plurality of driver software installed hierarchically in a file server to input / output files to / from the logical volume A first transmission step for transmitting a command for the transmission to a lower layer;
A detection step of detecting information on a bad block area of the physical disk according to the transmitted command and outputting the information to the transmission unit;
A second transmission step of transmitting information relating to the detected bad block area of the physical disk to the driver software of an upper layer using the transmission unit;
including.
本発明によれば、階層化されたドライバソフトウェアに設けられた伝達部を用いて、階層間で、物理ディスクの不良ブロック領域に関する情報の取得を指示するためのコマンドや不良ブロック領域に関する情報を受け渡すことができるので、最下層の物理ディスクの不良ブロック領域等の情報から、その不良ブロック領域に対応する最上位層のファイルを容易に特定することができる。 According to the present invention, a command for instructing acquisition of information on a bad block area of a physical disk between layers and information on a bad block area are received between the hierarchies using a transmission unit provided in the hierarchized driver software. Since the data can be transferred, it is possible to easily specify the file of the highest layer corresponding to the defective block area from information such as the defective block area of the physical disk of the lowest layer.
以下、本発明の実施の形態に係る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クライアントや管理コンピュータ等が接続されている。
A NAS (Network Attached Storage) system 100 according to an embodiment of the present invention will be described below. As shown in FIG. 1, the NAS system 100 includes a NAS server 200 and a SAN (Storage Area Network) storage 300. The NAS server 200 and the SAN storage 300 are connected by an FC (Fibre Channel)
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に実装されている。
The NAS server 200 includes a
ネットワークドライバ210は、上位のコンピュータ(NASクライアントや管理コンピュータ等)との間のネットワーク網1を介した通信を制御する。ファイルシステム220は、SANストレージ300における、後述する論理ディスク320に格納されるファイルを操作する。LVMドライバ230は、論理ディスク320における論理ボリュームを管理する。SCSIドライバ240は、SCSI規格に従って、SANストレージ300の物理ディスク330−1乃至330−Nに対するアクセスを制御する。FC HBAドライバ250は、FCケーブル2のファイバーチャネル制御を行う。
The
ネットワークドライバ210は、ネットワークドライバioctl211を有する。ファイルシステム220は、ファイルシステムioctl221を有する。LVMドライバ230は、LVMドライバioctl231を有する。SCSIドライバ240はSCSIドライバioctl241を有する。これらは、後述する物理ディスク330−1乃至330−Nの不良ブロックの情報を取得するために、各ドライバに実装されている。
The
SANストレージ300は、コントローラ310と、論理ディスク320と、を備えている。
The SAN storage 300 includes a
論理ディスク320は、物理ディスク330−1乃至330−N(Nは任意の自然数)を備えている。論理ディスク320の実体は、物理ディスク330−1乃至330−Nである。コントローラ310は、NASサーバ200の指示の下で、論理ディスク320(論理ボリューム)に対するファイルの入出力を制御するとともに、物理ディスク330−1乃至330−Nの不良ブロックに関する情報を検出し、FCケーブル2を介してNASサーバ200に送信する。
The
ここでは、RAID(Redundant Arrays of Inexpensive Disks)等の技術によって、複数の物理ディスク330−1乃至330−Nから仮想的な1つの論理ディスク320が構築されている。この論理ディスク320上に、論理ボリュームが形成される。
Here, one virtual
次に、NASサーバ200において、各階層に設けられた共通のインタフェース(この例の場合、ネットワークドライバioctl211、ファイルシステムioctl221、LVMドライバioctl231、SCSIドライバioctl241)を用いて、コマンドや情報を各階層間で伝達することにより、物理ディスク330−1乃至330−Nの不良ブロックに対応するファイルを特定する手順について説明する。
Next, in the NAS server 200, commands and information are transferred between layers using a common interface (in this example,
ネットワーク網1に接続されたNASクライアントまたは管理コンピュータ等において、物理ディスク330−1乃至330−Nの不良ブロック領域に関する情報の取得を指示するためコマンドであるioctlコマンドが発行されると、このioctlコマンドは、NASクライアントまたは管理コンピュータから発信され、ネットワーク網1を経由してNASシステム100を構成するNASサーバ200内のネットワークドライバ210に到達する。
When an ioctl command, which is a command for instructing acquisition of information regarding a bad block area of the physical disks 330-1 to 330-N, is issued in a NAS client or a management computer connected to the network 1, the ioctl command Is transmitted from the NAS client or the management computer and reaches the
ネットワークドライバ210は、ネットワークドライバ210に設けられたネットワークドライバioctl211によりioctlコマンドを受信し、そのioctlコマンドをそのままファイルシステム220に設けられたファイルシステムioctl221に伝達する。
The
ファイルシステム220は、ファイルシステムioctl221によって受信されたioctlコマンドを下位層のLVMドライバ230に対して発行する。LVMドライバ230のLVMドライバioctl231は、上位層のファイルシステム220のファイルシステムioctl221によって発行されたioctlコマンドを、下位層のSCSIドライバ240に対して発行する。
The
SCSIドライバ240のSCSIドライバioctl241は、受信したioctlコマンドを、SANストレージ300の物理ディスク330−1乃至330−Nの不良ブロックに関する情報を取得可能なSCSIコマンド(Read Buffer)に変換し、このSCSIコマンド(Read Buffer)をFC HBAドライバ250に対して発行する。
The SCSI driver ioctl 241 of the
FC HBAドライバ250は、SCSIドライバioctl241により発行されたSCSIコマンド(Read Buffer)を、FCケーブル2を経由してSANストレージ300内のコントローラ310に伝達する。
The
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に送信する。
The
FC HBAドライバ250は、FCケーブル2経由で送られてきた物理ディスク330−1乃至330−Nの不良ブロックに対応する論理ディスク320上のファイルを特定する情報を、SCSIドライバ240のSCSIドライバioctl241に伝達する。
The
SCSIドライバ240に設けられたSCSIドライバioctl241は、FC HBAドライバ250より伝達されてきた物理ディスク330−1乃至330−Nの不良ブロックに対応する論理ディスク320上のファイルを特定する情報をLVMドライバ230に対応する所定の形式に変換し、LVMドライバ230のLVMドライバioctl231に伝達する。
The SCSI driver ioctl 241 provided in the
LVMドライバ230のLVMドライバioctl231は、SCSIドライバioctl241より伝達されてきた物理ディスク330−1乃至330−Nの不良ブロックに対応する論理ディスク320上のファイルを特定する情報に基づき、物理ディスク330−1乃至330−Nの不良ブロックの領域を対応する論理ディスク320上の論理ボリューム領域に変換し、この論理ボリューム領域をファイルシステム220のファイルシステムioctl221に伝達する。
The LVM driver ioctl 231 of the
ファイルシステム220のファイルシステムioctl221は、LVMドライバ230より伝達されてきた論理ボリューム領域に基づき、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータ(例えば、ファイルの位置、ファイル名、更新日時、アクセス権限等のファイルを管理するための情報)を取得し、ネットワークドライバ210のネットワークドライバioctl211に伝達する。
The file system ioctl 221 of the
ネットワークドライバ210のネットワークドライバioctl211は、この物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータを、ネットワーク網1を経由して、NASクライアントまたは管理コンピュータ等に送信する。
The network driver ioctl 211 of the
NASクライアントまたは管理コンピュータ等は、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータから、このファイルを特定することができる。 The NAS client, management computer, or the like can specify this file from the data portion and metadata of the file corresponding to the bad block area of the physical disks 330-1 to 330-N.
以下、図2乃至図7のフローチャートを参照して、各階層の詳細な処理手順について説明する。 Hereinafter, the detailed processing procedure of each layer will be described with reference to the flowcharts of FIGS.
まず、ネットワークドライバ210の処理手順について説明する。図2に示すように、ネットワークドライバ210は、ネットワーク網1を介してNASクライアントや管理コンピュータ等から送信されてくるioctlコマンドを、ネットワークドライバioctl211によが受信したか否かを判定する(ステップS1)。
First, the processing procedure of the
ネットワーク網1を介して送信されてくるioctlコマンドを受信したと判定した場合(ステップS1でYes)、ネットワークドライバ210は、ネットワークドライバioctl211に、受信したioctlコマンドを、ファイルシステム220のファイルシステムioctl221へそのまま伝達させる(ステップS3)。
When it is determined that an ioctl command transmitted via the network 1 has been received (Yes in step S1), the
一方、ネットワーク網1を介して送信されてくるioctlコマンドを受信していないと判定した場合(ステップS1でNo)、ネットワークドライバ210は、下位層のファイルシステム220のファイルシステムioctl221から伝達されてくる情報を、ネットワークドライバioctl211が、受信したか否かを判定する(ステップS2)。下位層のファイルシステム220のファイルシステムioctl221から伝達されてくる情報を受信していないと判定した場合(ステップS2でNo)、ネットワークドライバ210は、ステップS1に戻り、ステップS1以降の処理を繰り返し実行する。
On the other hand, when it is determined that the ioctl command transmitted via the network 1 is not received (No in step S1), the
一方、ステップS2において下位層のファイルシステム220のファイルシステムioctl221から伝達される情報を受信したと判定した場合(ステップS2でYes)、ネットワークドライバ210は、ネットワークドライバioctl211に、下位層にあるファイルシステム220から受信した情報(この例では、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータ)を、ネットワーク網1を経由してNASクライアントや管理コンピュータに送信させる。
On the other hand, when it is determined in step S2 that the information transmitted from the file system ioctl 221 of the lower
ステップS3またはステップS4の処理が終了すると、本処理を終了する。本処理は、ネットワークドライバ210によって繰り返し実行される。
When the process of step S3 or step S4 ends, this process ends. This process is repeatedly executed by the
次に、ファイルシステム220の処理手順について説明する。図3に示すように、まず、ファイルシステム220は、上位層のネットワークドライバ210から伝達されてくるioctlコマンドを、ファイルシステムioctl221が受信したか否かを判定する(ステップS11)。
Next, the processing procedure of the
上位層のネットワークドライバ210のネットワークドライバioctl211から伝達されてくるioctlコマンドを受信したと判定した場合(ステップS11でYes)、ファイルシステム220は、ファイルシステムioctl221に、受信したioctlコマンドをLVMドライバ230に対して発行させる(ステップS13)。
When it is determined that the ioctl command transmitted from the network driver ioctl 211 of the upper
一方、上位層のネットワークドライバ210のネットワークドライバioctl211から伝達されてくるioctlコマンドを受信していないと判定した場合(ステップS11でNo)、ファイルシステム220は、下位層のLVMドライバ230のLVMドライバioctl231から伝達されてくる情報を、ファイルシステムioctl221が受信したか否かを判定する(ステップ12)。
On the other hand, if it is determined that the ioctl command transmitted from the network driver ioctl 211 of the upper
下位層のLVMドライバ230のLVMドライバioctl231から伝達されてくる情報を受信していないと判定した場合(ステップS12でNo)、ファイルシステム220は、ステップS11に戻り、ステップS11以降の処理を繰り返し実行する。
If it is determined that the information transmitted from the LVM driver ioctl 231 of the lower-
一方、下位層のLVMドライバ230のLVMドライバioctl231から伝達されてくる情報を受信したと判定した場合(ステップS12でYes)、ファイルシステム220は、ファイルシステムioctl221に、LVMドライバ230のLVMドライバioctl231から伝達されてくる情報(物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の論理ボリューム領域)に基づいて取得した情報(物理ディスク330−1乃至330−Nの不良ブロックの領域に対応するファイルのデータ部およびメタデータ)を、ネットワークドライバ210のネットワークドライバioctl211へ伝達させる(ステップS14)。
On the other hand, when it is determined that the information transmitted from the LVM driver ioctl 231 of the lower
ステップS13またはステップS14の処理が終了すると、本処理を終了する。本処理は、ファイルシステム220によって繰り返し実行される。
When the process of step S13 or step S14 ends, this process ends. This process is repeatedly executed by the
次に、LVMドライバ230の処理手順について説明する。図4に示すように、まず、LVMドライバ230は、上位層のファイルシステム220のファイルシステムioctl221から伝達されてくるioctlコマンドを、LVMドライバioctl231が、受信したか否かを判定する(ステップS21)。
Next, the processing procedure of the
上位層のファイルシステム220のファイルシステムioctl221から伝達されてくるioctlコマンドを受信したと判定した場合(ステップS21でYes)、LVMドライバ230は、LVMドライバioctl231に、受信したioctlコマンドを、下位層のSCSIドライバ240に対して発行させる(ステップS23)。
When it is determined that the ioctl command transmitted from the file system ioctl 221 of the upper
一方、上位層のファイルシステム220のファイルシステムioctl221から伝達されてくるioctlコマンドを受信していないと判定した場合(ステップS21でNo)、LVMドライバ230は、下位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくる情報を、LVMドライバioctl231が受信したか否かを判定する(ステップS22)。
On the other hand, if it is determined that the ioctl command transmitted from the file system ioctl 221 of the upper
下位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくる情報を受信していないと判定した場合(ステップS22でNo)、LVMドライバ230は、ステップS21に戻り、ステップS21以降の処理を繰り返し実行する。
If it is determined that the information transmitted from the SCSI driver ioctl 241 of the lower
一方、下位層の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)。
On the other hand, when it is determined that the information transmitted from the SCSI driver ioctl 241 of the lower
ステップS23またはステップS24の処理が終了すると、本処理を終了する。本処理は、LVMドライバ230によって繰り返し実行される。
When the process of step S23 or step S24 ends, this process ends. This process is repeatedly executed by the
次に、SCSIドライバ240の処理手順について説明する。図5に示すように、まず、SCSIドライバ240は、上位層のLVMドライバ230のLVMドライバioctl231から伝達されてくるioctlコマンドを、SCSIドライバioctl241が、受信したか否かを判定する(ステップS31)。
Next, the processing procedure of the
上位層のLVMドライバ230のLVMドライバioctl231から伝達されてくるioctlコマンドを受信したと判定した場合(ステップS31でYes)、SCSIドライバ240は、SCSIドライバioctl241に、受信したioctlコマンドをSCSIコマンド(Read Buffer)に変換させた後、下位層のFC HBAドライバ250に対して発行させる(ステップS33)。
If it is determined that the ioctl command transmitted from the LVM driver ioctl 231 of the upper
一方、上位層のLVMドライバ230のLVMドライバioctl231から伝達されてくるioctlコマンドを受信していないと判定した場合(ステップS31でNo)、SCSIドライバ240は、下位層のFC HBAドライバ250から伝達されてくる情報をSCSIドライバioctl241が受信したか否かを判定する(ステップS32)。
On the other hand, when it is determined that the ioctl command transmitted from the LVM driver ioctl 231 of the upper
下位層のFC HBAドライバ250から伝達されてくる情報を受信していないと判定した場合(ステップS32でNo)、SCSIドライバ240は、ステップS31に戻り、ステップS31以降の処理を繰り返し実行する。
If it is determined that the information transmitted from the lower layer
一方、下位層のFC HBAドライバ250から伝達されてくる情報を受信したと判定した場合(ステップS32でYes)、SCSIドライバ240は、SCSIドライバioctl241に、FC HBAドライバ250から伝達されてくる情報をLVMドライバ230の対応する形式に変換させた後、変換した情報を、LVMドライバ230のLVMドライバioctl231に伝達させる(ステップS34)。
On the other hand, when it is determined that the information transmitted from the lower layer
ステップS33またはステップS34の処理が終了すると、本処理を終了する。本処理は、SCSIドライバ240によって繰り返し実行される。
When the process of step S33 or step S34 ends, this process ends. This process is repeatedly executed by the
次に、FC HBAドライバ250の処理手順について説明する。図6に示すように、まず、FC HBAドライバ250は、上位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくるSCSIコマンド(Read Buffer)を受信したか否かを判定する(ステップS41)。
Next, the processing procedure of the
上位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくるSCSIコマンド(Read Buffer)を受信したと判定した場合(ステップS41でYes)、FC HBAドライバ250は、受信したSCSIコマンド(Read Buffer)を、FCケーブル2を経由してSANストレージ300のコントローラ310に伝達する(ステップS43)。
If it is determined that the SCSI command (Read Buffer) transmitted from the SCSI driver ioctl 241 of the upper
一方、上位層のSCSIドライバ240のSCSIドライバioctl241から伝達されてくるSCSIコマンド(Read Buffer)を受信していないと判定した場合(ステップS41でNo)、FC HBAドライバ250は、SANストレージ300のコントローラ310から、物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の領域を特定するための情報を受信したか否かを判定する(ステップS42)。
On the other hand, when it is determined that the SCSI command (Read Buffer) transmitted from the SCSI driver ioctl 241 of the upper
その結果、FCケーブル2を経由してSANストレージ300のコントローラ310から送信されてくる物理ディスク330−1乃至330−Nの不良ブロックの領域に対応する論理ディスク320上の領域を特定するための情報を受信していないと判定した場合(ステップS42でNo)、FC HBAドライバ250は、ステップS41に戻り、ステップS41以降の処理を繰り返し実行する。
As a result, information for specifying an area on the
一方、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)。
On the other hand, information for specifying an area on the
ステップS43またはステップS44の処理が終了すると、本処理を終了する。本処理は、FC HBAドライバ250によって繰り返し実行される。
When the process of step S43 or step S44 ends, this process ends. This process is repeatedly executed by the
次に、SANストレージ300のコントローラ310の処理手順について説明する。図7に示すように、コントローラ310は、NASサーバ200のFC HBAドライバ250からFCケーブル2を経由して伝達されてきたSCSIコマンド(Read Buffer)を受信したと判定されるまで待つ(ステップS51)。
Next, a processing procedure of the
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によって繰り返し実行される。
When it is determined that the SCSI command (Read Buffer) transmitted from the
このようにして、ネットワーク網1経由で送られてくるioctlコマンド(最下層の物理ディスクの不良ブロックの情報を取得するためのコマンド)は、図2のステップS3、図3のステップS13、図4のステップS23、図5のステップS33、図6のステップS43、図7のステップS52の処理により最終的にSCSIコマンドに変換された後、コントローラ310に伝達される。 In this way, the ioctl command (command for obtaining information on the bad block of the physical disk at the lowest layer) sent via the network 1 is the step S3 in FIG. 2, the step S13 in FIG. 3, and the step S13 in FIG. 5 is finally converted into a SCSI command by the processing of step S23 of FIG. 5, step S33 of FIG. 5, step S43 of FIG. 6, and step S52 of FIG.
さらに、コントローラ310に伝達された情報(最下層の物理ディスクの不良ブロックの情報)は、図7のステップS52、図6のステップS44、図5のステップS34、図4のステップS24、図3のステップS14、図2のステップS4の処理により、最終的にファイルのデータ部およびメタデータに変換された後、ネットワーク網1経由でNASクライアントや管理コンピュータに送信される。 Further, the information transmitted to the controller 310 (information on the defective block of the lowermost physical disk) includes step S52 in FIG. 7, step S44 in FIG. 6, step S34 in FIG. 5, step S24 in FIG. The data is finally converted into a file data part and metadata by the processing in step S14 and step S4 in FIG. 2, and then transmitted to the NAS client and management computer via the network 1.
以上説明したように、本実施の形態により、階層化されたドライバソフトウェア210220、230、240に設けられた各ドライバのioctl211,221、231、241等を用いて、階層間で、物理ディスク330−1乃至330−Nの不良ブロック領域に関する情報の取得を指示するためのioctlコマンドや不良ブロック領域に関する情報を受け渡す。不良ブロック領域に関する情報は、上位層に伝達される間に、その不良ブロック領域に対応するファイルに関する情報に変換されるので、全ファイルを読み出さなくても、最下層の物理ディスクの不良ブロック領域等の情報から、その不良ブロック領域に対応する最上位層のファイルを容易に特定することができる。
As described above, according to the present embodiment, the physical disk 330-between the tiers can be obtained using the
また、ioctlコマンドを発行することにより、ファイルにアクセスする前にファイルがアクセス可能か否かを認識することができるので、バックアップ等を行う場合、アクセス不能なファイルを迂回することができる。 In addition, by issuing an ioctl command, it is possible to recognize whether or not a file can be accessed before accessing the file. Therefore, when performing backup or the like, an inaccessible file can be bypassed.
さらに、ネットワーク網1に接続されたNASクライアントや管理コンピュータのアプリケーションプログラムにより監視や通報が可能となるため、アクセス不能なファイルの自動復旧を実現することができる。 Furthermore, since monitoring and reporting can be performed by an NAS client connected to the network 1 or an application program of a management computer, automatic recovery of inaccessible files can be realized.
なお、本発明は上記実施の形態に限定されず、種々の変形及び応用が可能である。例えば、上記実施の形態では、本発明をNASサーバ200に適用する場合について説明したが、その他の各種サーバに適用することができる。 In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible. For example, in the above embodiment, the case where the present invention is applied to the NAS server 200 has been described. However, the present invention can be applied to various other servers.
また、上記実施の形態では、SCSIインタフェースを用いるようにしたが、その他のインタフェースを用いることもできる。 In the above embodiment, the SCSI interface is used, but other interfaces can be used.
本発明は、ストレージ装置を接続して仮想ファイルを使用するファイルシステムに適用することができる。 The present invention can be applied to a file system that uses a virtual file by connecting storage devices.
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 物理ディスク
1
211 Network driver ioctl
220 File system (driver software)
221 File system ioctl
230 LVM driver (driver software)
231 LVM driver ioctl
240 SCSI driver (driver software)
241 SCSI driver ioctl
250 FC HBA driver 300
Claims (4)
階層的に実装された複数のドライバソフトウェアを実行することにより、前記論理ボリュームに対するファイルの入出力を行うファイルサーバと、
各階層の前記ドライバソフトウェアにそれぞれ設けられ、前記物理ディスクの不良ブロック領域に関する情報の取得を指示するためのコマンドを下位層に伝達し、前記物理ディスクの不良ブロック領域に関する情報を上位層に伝達する伝達部と、
前記伝達部により伝達された前記コマンドに従って、前記物理ディスクの不良ブロック領域に関する情報を検出して、前記伝達部に出力する検出部と、
を備えるファイル管理装置。 A file management apparatus for managing file input / output to / from a logical volume constructed using one or more physical disks,
A file server that performs input and output of files to and from the logical volume by executing a plurality of driver software implemented in a hierarchy; and
Provided in each of the driver software in each hierarchy, and transmits a command for instructing acquisition of information on the bad block area of the physical disk to the lower layer, and transmits information on the bad block area of the physical disk to the upper layer. A transmission part;
In accordance with the command transmitted by the transmission unit, a detection unit that detects information on a bad block area of the physical disk and outputs the information to the transmission unit;
A file management apparatus comprising:
上位のコンピュータとの間のネットワークを介した通信を制御するネットワークドライバと、
前記ファイルを操作するためのファイルシステムと、
前記論理ボリュームを管理する論理ボリュームドライバと、
前記論理ボリュームを構成する前記物理ディスクに対するアクセスを制御するSCSIドライバと、
を含むことを特徴とする請求項1に記載のファイル管理装置。 The plurality of driver software includes:
A network driver for controlling communication with a host computer via a network;
A file system for manipulating the file;
A logical volume driver for managing the logical volume;
A SCSI driver for controlling access to the physical disks constituting the logical volume;
The file management apparatus according to claim 1, further comprising:
ことを特徴とする請求項2に記載のファイル管理装置。 The transmission means provided in the logical volume driver converts the bad block area of the physical disk transmitted from the lower layer into a corresponding logical volume area and transmits the converted area to the upper layer. The file management apparatus according to claim 2, wherein:
前記論理ボリュームに対するファイルの入出力を行うためにファイルサーバに階層的に実装された複数のドライバソフトウェアにそれぞれ設けられた伝達部を用いて、前記物理ディスクの不良ブロック領域に関する情報の取得を指示するためのコマンドを下位層に向かって伝達する第1の伝達ステップと、
前記伝達された前記コマンドに従って、前記物理ディスクの不良ブロック領域に関する情報を検出して、前記伝達部に出力する検出ステップと、
検出された前記物理ディスクの不良ブロック領域に関する情報を、前記伝達部を用いて上位層の前記ドライバソフトウェアに伝達する第2の伝達ステップと、
を含むファイル管理方法。 A file management method for managing file input / output to / from a logical volume constructed using one or more physical disks,
Instructing the acquisition of information on the bad block area of the physical disk using a transmission unit provided in each of a plurality of driver software installed hierarchically on a file server to input / output files to / from the logical volume A first transmission step for transmitting a command for the transmission to a lower layer;
A detection step of detecting information related to a bad block area of the physical disk according to the transmitted command and outputting the detected information to the transmission unit;
A second transmission step of transmitting information on the detected bad block area of the physical disk to the driver software of an upper layer using the transmission unit;
File management method including.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009023119A JP5392819B2 (en) | 2009-02-03 | 2009-02-03 | File management apparatus and file management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009023119A JP5392819B2 (en) | 2009-02-03 | 2009-02-03 | File management apparatus and file management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010181980A true JP2010181980A (en) | 2010-08-19 |
JP5392819B2 JP5392819B2 (en) | 2014-01-22 |
Family
ID=42763540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009023119A Active JP5392819B2 (en) | 2009-02-03 | 2009-02-03 | File management apparatus and file management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5392819B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11573913B2 (en) | 2014-09-19 | 2023-02-07 | Alab Inc. | Device proxy and control method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0713884A (en) * | 1993-06-22 | 1995-01-17 | Pfu Ltd | Method for diagnosing input/output device |
JP2002288014A (en) * | 2001-03-27 | 2002-10-04 | Fujitsu Ltd | File control system and file data writing method |
JP2005267530A (en) * | 2004-03-22 | 2005-09-29 | Nec System Technologies Ltd | Nas disk array apparatus |
JP2006276965A (en) * | 2005-03-28 | 2006-10-12 | Oki Electric Ind Co Ltd | Defective block detecting method and defective block detecting device |
-
2009
- 2009-02-03 JP JP2009023119A patent/JP5392819B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0713884A (en) * | 1993-06-22 | 1995-01-17 | Pfu Ltd | Method for diagnosing input/output device |
JP2002288014A (en) * | 2001-03-27 | 2002-10-04 | Fujitsu Ltd | File control system and file data writing method |
JP2005267530A (en) * | 2004-03-22 | 2005-09-29 | Nec System Technologies Ltd | Nas disk array apparatus |
JP2006276965A (en) * | 2005-03-28 | 2006-10-12 | Oki Electric Ind Co Ltd | Defective block detecting method and defective block detecting device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11573913B2 (en) | 2014-09-19 | 2023-02-07 | Alab Inc. | Device proxy and control method |
Also Published As
Publication number | Publication date |
---|---|
JP5392819B2 (en) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7660946B2 (en) | Storage control system and storage control method | |
US9715436B2 (en) | System and method for managing raid storage system having a hot spare drive | |
EP2849048B1 (en) | Data sending method, data receiving method and storage device | |
US8732521B2 (en) | Detection of logical corruption in persistent storage and automatic recovery therefrom | |
US7620794B2 (en) | Storage system with storage apparatuses including virtual switches | |
JP4646574B2 (en) | Data processing system | |
US7975171B2 (en) | Automated file recovery based on subsystem error detection results | |
EP1903427A2 (en) | Storage apparatus and configuration setting method | |
JP5712713B2 (en) | Control device, control method, and storage device | |
US9792056B1 (en) | Managing system drive integrity in data storage systems | |
US10620843B2 (en) | Methods for managing distributed snapshot for low latency storage and devices thereof | |
US20130145209A1 (en) | Disk system, data retaining device, and disk device | |
WO2021217023A1 (en) | Methods for handling input-output operations in zoned storage systems and devices thereof | |
JP2006227856A (en) | Access controller and interface mounted on the same | |
JP2008269469A (en) | Storage system and management method therefor | |
CN106528338A (en) | Remote data replication method, storage equipment and storage system | |
US8346721B2 (en) | Apparatus and method to replicate remote virtual volumes to local physical volumes | |
JP2006313410A (en) | Management information management method for storage network, storage management system and storage management software | |
KR20100095519A (en) | Apparatus and method for managing storage copy services systems | |
US20060112220A1 (en) | Disk array apparatus, information processing apparatus, data management system, method for issuing command from target side to initiator side, and computer product | |
US10915405B2 (en) | Methods for handling storage element failures to reduce storage device failure rates and devices thereof | |
JP5392819B2 (en) | File management apparatus and file management method | |
US8078905B1 (en) | Restoring configurations of data storage systems | |
US20150046601A1 (en) | Network system, maintenance work management method, processing apparatus, and non-transitory computer-readable recording medium recording program | |
JP2007257667A (en) | Data processing system |
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 |