JP6327028B2 - Object storage system, control method thereof, and control program thereof - Google Patents

Object storage system, control method thereof, and control program thereof Download PDF

Info

Publication number
JP6327028B2
JP6327028B2 JP2014143949A JP2014143949A JP6327028B2 JP 6327028 B2 JP6327028 B2 JP 6327028B2 JP 2014143949 A JP2014143949 A JP 2014143949A JP 2014143949 A JP2014143949 A JP 2014143949A JP 6327028 B2 JP6327028 B2 JP 6327028B2
Authority
JP
Japan
Prior art keywords
file
object identifier
storage
damaged
identifier
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
JP2014143949A
Other languages
Japanese (ja)
Other versions
JP2016021110A (en
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2014143949A priority Critical patent/JP6327028B2/en
Publication of JP2016021110A publication Critical patent/JP2016021110A/en
Application granted granted Critical
Publication of JP6327028B2 publication Critical patent/JP6327028B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、オブジェクトストレージシステムおよびその制御方法およびその制御プログラムに関する。   The present invention relates to an object storage system, a control method thereof, and a control program thereof.

オブジェクトストレージシステムは一連のデータをオブジェクトとして取り扱うシステムである。ファイルベースのオブジェクトストレージのオペレーティングシステム(OS)は、記憶装置へ記録したデータを制御するために、ファイルシステムを持つ。ファイルシステムは記憶装置内の記憶空間を分割し、分割した記憶空間にデータの格納先となるファイルを作成する。そしてファイルシステムはファイルおよび他の記憶空間をどのように使うか管理する。大容量のオブジェクトの場合、所定単位以下の大きさのデータに分割され、それぞれのデータがファイルに格納される。このようなファイルシステムの中には、障害からの復旧を速やかに行うため、処理のログを記録するものがある。このようなファイルシステムはジャーナリングファイルシステムと呼ばれる。ジャーナリングファイルシステムについての一般的な解説は、例えば非特許文献1に記載されている。   An object storage system is a system that handles a series of data as objects. An operating system (OS) of a file-based object storage has a file system for controlling data recorded in a storage device. The file system divides the storage space in the storage device and creates a file as a data storage destination in the divided storage space. And the file system manages how files and other storage spaces are used. In the case of a large-capacity object, the data is divided into data having a size of a predetermined unit or less, and each data is stored in a file. Some of these file systems record a processing log in order to quickly recover from a failure. Such a file system is called a journaling file system. A general description of the journaling file system is described in Non-Patent Document 1, for example.

また一般的なストレージシステムでは、例えば非特許文献2に記載されているように、ファイル検証プログラムが常駐し、格納されている全てのファイルの完全性を定期的に検証している。   In a general storage system, for example, as described in Non-Patent Document 2, a file verification program is resident and periodically verifies the integrity of all stored files.

ウィキペディア(登録商標)、“ジャーナリングファイルシステム”、[2014年3月25日検索]、インターネット<URL:http://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A3%E3%83%BC%E3%83%8A%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0>Wikipedia (registered trademark), “Journaling File System”, [March 25, 2014 search], Internet <URL: http://en.wikipedia.org/wiki/%E3%82%B8%E3%83%A3 % E3% 83% BC% E3% 83% 8A% E3% 83% AA% E3% 83% B3% E3% 82% B0% E3% 83% 95% E3% 82% A1% E3% 82% A4% E3 % 83% AB% E3% 82% B7% E3% 82% B9% E3% 83% 86% E3% 83% A0> ヴィーエー・リナックス・システムズ・ジャパン株式会社Webサイト、“OpenStack:分散オブジェクトストレージ Swift”、[2014年3月25日検索]、インターネット<URL:http://www.valinux.co.jp/technologylibrary/document/cloud/openstack0001>VNA Linux Systems Japan Co., Ltd. Website, “OpenStack: Distributed Object Storage Switch”, [Search March 25, 2014], Internet <URL: http://www.valinux.co.jp/technologylibrary/document / cloud / openstack0001>

しかしながら、非特許文献2のように、ファイル検証プログラムが常駐し全ファイルのデータ検証を行う方法では、格納するデータ量が多くなると、システムの負荷が大きくなるという問題がある。具体的には100万オブジェクトで数十%のCPU負荷や入出力負荷を消費する。   However, as in Non-Patent Document 2, a method in which a file verification program is resident and performs data verification of all files has a problem that the load on the system increases as the amount of data to be stored increases. Specifically, one million objects consume several tens of percent of CPU load and input / output load.

本発明は上記の問題に鑑みてなされたものであり、ファイル検証プログラムの常駐および全ファイルの検証を必要としないデータ検証方法を提供し、データ検証によるシステム負荷を削減することを目的としている。   The present invention has been made in view of the above problems, and provides a data verification method that does not require the residence of a file verification program and the verification of all files, and an object thereof is to reduce the system load due to data verification.

上記の課題を解決するため、本発明のオブジェクトストレージシステムは、オブジェクトを構成するデータをファイルとして記憶するオブジェクトストレージシステムであって、前記ファイルを記憶する記憶装置と、前記ストレージシステムを制御するオペレーティングシステムと、前記ファイルを前記オブジェクトと紐付けて管理するオブジェクト管理手段と、を有し、前記記憶装置は前記ファイルの更新履歴を保持するジャーナルを有し、前記オブジェクト管理手段は前記ファイルに前記オブジェクトとの対応を示すオブジェクト識別子を設定するオブジェクト識別子設定手段を有し、前記オペレーティングシステムは前記記憶装置および前記ファイルを制御するファイルシステムと前記オペレーティングシステムのマウント時に前記記憶装置で更新された前記ファイルを検証するマウント時更新ファイル検証手段を有し、前記ファイルシステムは前記ファイル検証手段が発見した破損ファイルを前記オブジェクト識別子と対応付けて格納するオブジェクト識別子付破損ファイル格納手段を有する、を有している。   In order to solve the above problems, an object storage system of the present invention is an object storage system that stores data constituting an object as a file, and a storage device that stores the file, and an operating system that controls the storage system And an object management unit that manages the file in association with the object, the storage device has a journal that holds an update history of the file, and the object management unit stores the object in the file. Object identifier setting means for setting an object identifier indicating the correspondence between the storage system, the operating system, the file system that controls the storage device and the file, and the recording when the operating system is mounted. A mount file update means for verifying the file updated by the apparatus, and the file system stores the damaged file found by the file verification means in association with the object identifier. Have.

本発明の効果は、データ検証のためのシステム負荷が軽減されることである。また破損ファイルの属性を速やかに特定し修復できることである。   The effect of the present invention is that the system load for data verification is reduced. In addition, the attribute of the damaged file can be quickly identified and repaired.

本発明第1の実施の形態を示すブロック図である。It is a block diagram which shows the 1st Embodiment of this invention. 本発明第1の実施の形態の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the 1st Embodiment of this invention. 本発明第2の実施の形態を示すブロック図である。It is a block diagram which shows the 2nd Embodiment of this invention. 本発明第2の実施の形態の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the 2nd Embodiment of this invention. 一般的な技術のメタデータを示す構成図である。It is a block diagram which shows the metadata of a general technique. 本発明第3の実施の形態のメタデータを示す構成図である。It is a block diagram which shows the metadata of the 3rd Embodiment of this invention. 本発明第4の実施の形態のファイル格納動作を示すシーケンス図である。It is a sequence diagram which shows the file storage operation | movement of the 4th Embodiment of this invention. 本発明第5の実施の形態を示すディレクトリ構成図の一例である。It is an example of the directory block diagram which shows the 5th Embodiment of this invention. 一般的な技術のディレクトリ構成図の一例である。It is an example of the directory structure figure of a general technique.

以下、図面を参照しながら本発明について詳細に説明する。
(第1の実施の形態)
本発明のオブジェクトストレージシステムは、オブジェクトを構成するデータをファイルとして記憶する、ファイルベースのオブジェクトストレージシステムに関する。
Hereinafter, the present invention will be described in detail with reference to the drawings.
(First embodiment)
The object storage system of the present invention relates to a file-based object storage system that stores data constituting an object as a file.

図1は本実施の形態のオブジェクトストレージシステム100を示すブロック図である。オブジェクトストレージシステム100は、ファイル11を記憶する記憶装置10と、オペレーティングシステム20と、ファイル11をオブジェクト1と紐付けて管理するオブジェクト管理手段30と、を有する。オペレーティングシステム20は、記憶装置10を含む接続装置を制御したり、アプリケーションプログラムとデバイス、アプリケーションプログラム間の仲立ちや制御を行ったりする。なお、オブジェクト管理手段30は、オペレーティングシステム20内で実装していてもよい。また、以降、オペレーティングシステム20をOS20とも称する。   FIG. 1 is a block diagram showing an object storage system 100 of this embodiment. The object storage system 100 includes a storage device 10 that stores a file 11, an operating system 20, and object management means 30 that manages the file 11 in association with the object 1. The operating system 20 controls connection devices including the storage device 10 and performs intermediation and control between application programs, devices, and application programs. Note that the object management means 30 may be implemented in the operating system 20. Hereinafter, the operating system 20 is also referred to as OS 20.

記憶装置10は、ファイル11の記憶領域の他に、ファイル11の更新履歴を保持するジャーナル12を有する。   The storage device 10 includes a journal 12 that holds an update history of the file 11 in addition to the storage area of the file 11.

オブジェクト管理手段30は、ファイル11にオブジェクト1との対応を示すオブジェクト識別子2を設定するオブジェクト識別子設定手段31を有する。一般的な形式では、ファイル11にはデータ3とメタデータ4とが含まれるが、オブジェクト識別子2は、例えばメタデータ4の一要素として設定される。   The object management unit 30 includes an object identifier setting unit 31 that sets an object identifier 2 indicating the correspondence with the object 1 in the file 11. In a general format, the file 11 includes data 3 and metadata 4, but the object identifier 2 is set as one element of the metadata 4, for example.

オペレーティングシステム20は、オブジェクトストレージシステム100の動作を制御する。そして、ファイルシステム40と、マウント時更新ファイル検証手段50とを有する。   The operating system 20 controls the operation of the object storage system 100. And it has the file system 40 and the update file verification means 50 at the time of mounting.

ファイルシステム40は、ファイル11を制御する。ここで、ファイル11の制御には、例えば、記憶装置10の記憶空間を分割してファイル11を配置したり、ファイル11が属するディレクトリの階層構造を制御したりすることが含まれる。   The file system 40 controls the file 11. Here, the control of the file 11 includes, for example, dividing the storage space of the storage device 10 to arrange the file 11 and controlling the hierarchical structure of the directory to which the file 11 belongs.

マウント時更新ファイル検証手段50は、ファイルシステム40のマウント時に、記憶装置10において更新されたファイル11を検証する。更新されたファイル11の特定は、ジャーナル12を参照することによって行う。   The mount update file verification means 50 verifies the file 11 updated in the storage device 10 when the file system 40 is mounted. The updated file 11 is specified by referring to the journal 12.

ファイルシステム40はまた、オブジェクト識別子付破損ファイル格納手段41を有する。識別子付破損ファイル格納手段41は、マウント時更新ファイル検証手段50から渡されたオブジェクト識別子付破損ファイル5を格納する。   The file system 40 also includes a damaged file storage unit 41 with an object identifier. The corrupted file with identifier storage unit 41 stores the corrupted file with object identifier 5 passed from the update file verification unit 50 at the time of mounting.

以上説明した構成によれば、破損したファイルがオブジェクト識別子付破損ファイル5として、オブジェクト識別子付破損ファイル格納手段41に格納される。このため破損したオブジェクトを容易に特定することができる。また、ファイルシステム40のマウント時に、更新されたファイルだけを検証するため、検証プログラムが常駐し、全ファイルを検証する方法に比べシステムの負荷を大幅に低減することができる。なお、更新ファイル以外は既に検証済みであるため、検証の必要は無い。またオブジェクトストレージシステム100は、OS20を利用するアプリケーションプログラム60を有していても良い。   According to the configuration described above, the damaged file is stored in the damaged file storage unit with object identifier 41 as the damaged file 5 with object identifier. For this reason, the damaged object can be easily identified. Further, since only the updated file is verified when the file system 40 is mounted, a verification program is resident, and the load on the system can be greatly reduced as compared with the method of verifying all the files. Since the update files have already been verified, there is no need for verification. The object storage system 100 may include an application program 60 that uses the OS 20.

次に各部の詳細について説明する。   Next, the detail of each part is demonstrated.

オブジェクト管理手段30は、一連のデータを一つのオブジェクトとして扱い、内部ではオブジェクトに対応したファイル11を入出力する。オブジェクト識別子設定手段31は、オブジェクトをファイル11として記憶装置10に格納する際に、メタデータ4にオブジェクト識別子2を設定する。そしてオブジェクト管理手段30は、個々のオブジェクト1を、オブジェクト識別子2で判別し管理する。   The object management unit 30 handles a series of data as one object, and internally inputs and outputs the file 11 corresponding to the object. The object identifier setting unit 31 sets the object identifier 2 in the metadata 4 when the object is stored in the storage device 10 as the file 11. Then, the object management means 30 discriminates and manages each object 1 with the object identifier 2.

ファイルシステム40は、記憶装置10の記憶空間を分割してデータ3の格納先となるファイル11を生成し制御する。またオブジェクト管理手段30あるいはアプリケーションプログラム60と記憶装置10との間でデータの入出力を行う。またファイルシステム40は、マウント時更新ファイル検証手段50から受信したオブジェクト識別子付破損ファイル5を格納するオブジェクト識別子付破損ファイル格納手段41を有する。   The file system 40 divides the storage space of the storage device 10 to generate and control the file 11 that is the storage destination of the data 3. Data is input / output between the object management means 30 or the application program 60 and the storage device 10. The file system 40 also includes a damaged file storage unit 41 with an object identifier for storing the damaged file 5 with an object identifier received from the update file verification unit 50 at the time of mounting.

マウント時更新ファイル検証手段50は、前述した通り、ファイルシステム40のマウント時に、記憶装置10において更新されたファイル11を検証する。更新されたファイル11の特定は、ジャーナル12を参照することによって行う。検証で破損が発見されたファイルは、オブジェクト識別子付破損ファイル5として、ファイルシステム40に渡され、オブジェクト識別子付破損ファイル格納手段41に格納される。またメタデータ4が破損していてオブジェクト識別子2が特定できない破損ファイル6は、別のフォルダに格納される。このフォルダは、例えば一般的な技術で用いるLOST+FOUND80とすることができる。   As described above, the mount-time updated file verification unit 50 verifies the file 11 updated in the storage device 10 when the file system 40 is mounted. The updated file 11 is specified by referring to the journal 12. The file in which the damage is found by the verification is transferred to the file system 40 as the damaged file 5 with the object identifier, and stored in the damaged file storing means 41 with the object identifier. A damaged file 6 in which the metadata 4 is damaged and the object identifier 2 cannot be specified is stored in another folder. This folder can be, for example, LOST + FOUND80 used in general technology.

次に、動作について説明する前に、この仕組みが必要になる理由について簡単に述べる。一般に、ストレージシステムでは、正常に終了する際にファイルシステムが正常終了したことを示す記録を保存する。ストレージシステムが異常終了した時は、ファイルシステムが正常終了したことを示す記録を残せないため、次の起動時に正常終了していないことがわかる。ストレージシステムが異常終了していた場合、次のマウント時にファイルシステムの正常性確認を行い、異常がみられる場合には復旧を行う。ジャーナルを用いたジャーナリングファイルシステムでは、ファイルを格納する記憶装置と同期の取れた後の更新記録がジャーナルに記録されている。異常終了した場合には、ジャーナルに記録された更新分の復旧だけを行えばよい。このため全体を検証して復旧する方法に比べ、処理量を大幅に削減することができる。本発明は、上記のジャーナリングファイルシステムの技術をベースにしている。なおジャーナリングファイルシステムの詳細については周知技術であるため、説明を省略する。   Next, before explaining the operation, the reason why this mechanism is necessary will be briefly described. In general, in a storage system, a record indicating that the file system has ended normally is stored when the storage system ends normally. When the storage system ends abnormally, a record indicating that the file system has ended normally cannot be recorded, so that it is understood that the storage system has not ended normally at the next startup. If the storage system has terminated abnormally, check the normality of the file system at the next mount, and if an abnormality is found, restore it. In a journaling file system using a journal, an update record after being synchronized with a storage device for storing the file is recorded in the journal. When the process ends abnormally, it is only necessary to restore the update recorded in the journal. Therefore, the amount of processing can be greatly reduced as compared with the method of verifying and restoring the whole. The present invention is based on the journaling file system technique described above. Since the details of the journaling file system are well-known techniques, the description thereof is omitted.

ところで、復旧の過程で破損ファイルが発生する場合がある。これは次の理由による。ジャーナリングファイルシステムの目的はデータの保全そのものではなく、ファイルシステム全体を保護することにある。ジャーナリングファイルシステムの復旧では、最後に同期をとったログから後ろのログを読み取り、完了していた操作やコミットされたトランザクションを順番に再実行し、ファイルシステムの再構築を行う。再構築を行うと、ファイルシステム全体としての整合性は保障されるが、アプリケーションなど上位レイヤにとって必ずしも正しい状態になるとは限らない。こうしてファイルの破損問題が発生する。   By the way, a damaged file may occur in the process of recovery. This is due to the following reason. The purpose of the journaling file system is not to protect the data itself, but to protect the entire file system. In the recovery of the journaling file system, the log after the last synchronized log is read, the completed operations and committed transactions are re-executed in order, and the file system is reconstructed. When reconstruction is performed, the consistency of the entire file system is guaranteed, but it is not always in a correct state for an upper layer such as an application. This causes file corruption problems.

発明に戻り、動作について説明する。図2は本実施の形態の動作を示すフローチャートである。   Returning to the invention, the operation will be described. FIG. 2 is a flowchart showing the operation of the present embodiment.

まず、システム起動の際にOS20が起動し、記憶装置10など接続されたデバイスを有効化する。次に、ファイルシステム40が起動する(S1)。ファイルシステムは、マウント指定された領域をファイルシステムとして扱えるようにする。以下の処理は、マウント時に実施する処理の一部となる。そして、マウント時更新ファイル検証手段30を起動する(S2)。次にマウント時更新ファイル検証手段30がジャーナル12を参照し(S3)、最後に同期をとられた後更新されたファイル11を検証対象として特定する(S4)。そしてジャーナルに記録され、コミットされているが反映されていないトランザクションを再度実行する(S5)。   First, the OS 20 is activated when the system is activated, and the connected device such as the storage device 10 is validated. Next, the file system 40 is activated (S1). The file system makes it possible to handle the mount-designated area as a file system. The following processing is a part of processing performed at the time of mounting. Then, the on-mount update file verification means 30 is activated (S2). Next, the mounted update file verification means 30 refers to the journal 12 (S3), and specifies the file 11 that has been updated since the last synchronization as a verification target (S4). Then, the transaction recorded in the journal and committed but not reflected is executed again (S5).

次に、更新されたファイル11に格納されたデータの検証を実行する (S6)。具体的な検証方法としては、メタデータ領域に保存されたデータのチェックサム値とデータから算出したチェックサム値が同じ値を示すか、などが考えられる。メタデータ4に保存するチェックサム値は、データ格納時(ファイルの作成、変更時)にストレージ管理手段30が算出し、メタデータ4へ保存する。   Next, the data stored in the updated file 11 is verified (S6). As a specific verification method, whether the checksum value of the data stored in the metadata area and the checksum value calculated from the data indicate the same value can be considered. The checksum value stored in the metadata 4 is calculated by the storage management unit 30 when data is stored (when a file is created or changed) and stored in the metadata 4.

マウント時更新ファイル検証手段30による検証の結果、データが不正と判断した場合は(S7_yes)、オブジェクト識別子付破損ファイル格納手段41へ該当するファイルを渡す。オブジェクト識別子付破損ファイル格納手段41は、オブジェクト識別子2が付いたファイルを専用のディレクトリの下へ格納する(S8)。不正が無いと判断した場合は(S7_no)、当該ファイルの検証を終了し、他に未検証のファイルがあるか確認する(S9)。未検証のファイルがあれば(S9_yes)、S6に戻り、このファイルに対し、データの検証を行う。これをジャーナルに記録されているものに順次繰り返す。未検証ファイルが無くなったら(S9_no)、すなわちS4で特定した全てのファイルの検証を完了したら終了する。   As a result of the verification by the update file verification unit 30 at the time of mounting, if it is determined that the data is invalid (S7_yes), the corresponding file is passed to the damaged file storage unit with object identifier 41. The damaged file storage means with object identifier 41 stores the file with the object identifier 2 under a dedicated directory (S8). If it is determined that there is no fraud (S7_no), the verification of the file is terminated, and it is confirmed whether there is another unverified file (S9). If there is an unverified file (S9_yes), the process returns to S6, and data verification is performed on this file. This is sequentially repeated for those recorded in the journal. When there are no unverified files (S9_no), that is, when the verification of all the files specified in S4 is completed, the process ends.

ファイルの検証完了後、ファイルシステムは、該当領域をファイルシステムとして公開する。(ファイルシステムのマウントを完了する)。この処理は一般的に知られているマウント処理方法を実施すればよい。マウント後は、アプリケーションプログラムからファイルを使用できるようになる。   After the file verification is completed, the file system publishes the corresponding area as a file system. (Completes the file system mount). This processing may be performed by a generally known mount processing method. After mounting, the file can be used from the application program.

以上、説明したように、本実施の形態によれば、破損したファイルがオブジェクト識別子付破損ファイル5として、オブジェクト識別子付破損ファイル格納手段41に格納される。このため破損したオブジェクトを容易に特定することができる。また更新ファイルのみを検証しているので、全ファイルを常時検証する方法に比べて大幅にシステムリソースの消費を削減することができる。
(第2の実施の形態)
図3は本発明第2の実施の形態を示すブロック図である。本実施の形態のオブジェクト管理手段30は、オブジェクト修復手段32を有している。
As described above, according to the present embodiment, the damaged file is stored in the damaged file storing unit 41 with the object identifier as the damaged file 5 with the object identifier. For this reason, the damaged object can be easily identified. In addition, since only the update file is verified, the consumption of system resources can be greatly reduced as compared with the method in which all files are always verified.
(Second Embodiment)
FIG. 3 is a block diagram showing a second embodiment of the present invention. The object management means 30 of this embodiment has an object repair means 32.

次に、オブジェクト1の修復方法について説明する。図4は、この動作を示すフローチャートである。   Next, a method for repairing the object 1 will be described. FIG. 4 is a flowchart showing this operation.

まず、ファイルシステム40が起動する(S101)。次いでオブジェクト管理手段30が起動する(S102)。オブジェクト管理手段30が起動すると、オブジェクト修復手段32は、オブジェクト識別子付破損ファイル格納手段41を参照し、ファイル11に破損が生じたオブジェクト1を特定する(S103)。オブジェクト識別子付破損ファイル格納手段41に格納されたファイルはオブジェクト識別子2によって、そのファイルがどのオブジェクト1に属するものなのかを容易に識別できる。次に、オブジェクト修復手段32は、他のオブジェクトストレージに格納されたバックアップのオブジェクト1をコピーし(S104)、ファイル11を生成し、記憶装置10に格納する(S105)。そしてオブジェクト識別子付破損ファイル格納手段41からオブジェクト識別子付破損ファイル5を削除する。(S106)。以上により格納オブジェクトの復旧が完了する。   First, the file system 40 is activated (S101). Next, the object management means 30 is activated (S102). When the object management unit 30 is activated, the object restoration unit 32 refers to the damaged file storage unit with object identifier 41 and identifies the object 1 in which the file 11 has been damaged (S103). The object stored in the damaged file storage means with object identifier 41 can be easily identified by the object identifier 2 to which object 1 the file belongs. Next, the object restoration means 32 copies the backup object 1 stored in the other object storage (S104), generates the file 11, and stores it in the storage device 10 (S105). Then, the object identifier damaged file 5 is deleted from the object identifier damaged file storage means 41. (S106). This completes the restoration of the stored object.

以上の動作とすることにより、破損のあったオブジェクト1を迅速に修復することができる。
(第3の実施の形態)
本実施の形態は、メタデータ4の構成に関する。そこで、メタデータ4の構成について、一般的な技術と比較して説明する。
With the above operation, the damaged object 1 can be quickly repaired.
(Third embodiment)
The present embodiment relates to the configuration of the metadata 4. Therefore, the configuration of the metadata 4 will be described in comparison with a general technique.

図5に、一般的な技術におけるメタデータ4の一例を示す。i−node番号4−1、作成日付4−2、更新日付4−3、データ長4−4や対応するデータ保存場所のアドレス(記憶装置上に保存した位置)が記載されている。UNIX(登録商標)やLinux(登録商標)などの既存技術ではファイルが破損した場合、破損ファイルはlost+foundと呼ばれる特定の破損ファイル用保存ディレクトリにi−node番号4−1をファイル名として格納される。ここで、i−node番号4−1はオブジェクトの情報を含んでいない。なおメタデータ4は通常ファイルシステムが自動的に作成、変更するが、外部からも登録が行える。   FIG. 5 shows an example of metadata 4 in a general technique. The i-node number 4-1, the creation date 4-2, the update date 4-3, the data length 4-4, and the address of the corresponding data storage location (position stored on the storage device) are described. With existing technologies such as UNIX (registered trademark) and Linux (registered trademark), when a file is damaged, the damaged file is stored in a specific damaged file storage directory called “lost + found” with the i-node number 4-1 as the file name. . Here, the i-node number 4-1 does not include object information. The metadata 4 is normally automatically created and changed by the file system, but can be registered from the outside.

図6に、本実施の形態におけるメタデータ4の一例を示す。一般的な技術と同様に、i−node番号4−1、作成日付4−2、更新日付4−3、データ長4−4、対応するデータ保存場所のアドレスを使用する。また、データの検証を行うチェックサム4−5を付加してもよい。さらに本実施の形態ではメタデータ4にオブジェクト識別子2が付加されている。オブジェクト識別子2は、ファイル11のデータ3をオブジェクト1と対応付けて格納するために使用される。本実施の形態によれば、オブジェクト識別子2を導入することで、破損したファイルの属性を特定できるため、オブジェクト1の復元が容易になる。
(第4の実施の形態)
本実施の形態では、ファイル作成に関して説明する。まず、メタデータ4にオブジェクト識別子2を付加して、ファイル11にデータ3を格納する動作について説明する。
FIG. 6 shows an example of metadata 4 in the present embodiment. Similar to a general technique, an i-node number 4-1, a creation date 4-2, an update date 4-3, a data length 4-4, and a corresponding data storage location address are used. Further, a checksum 4-5 for verifying data may be added. Further, in the present embodiment, the object identifier 2 is added to the metadata 4. The object identifier 2 is used for storing the data 3 of the file 11 in association with the object 1. According to the present embodiment, since the attribute of the damaged file can be specified by introducing the object identifier 2, the object 1 can be easily restored.
(Fourth embodiment)
In this embodiment, file creation will be described. First, an operation of adding the object identifier 2 to the metadata 4 and storing the data 3 in the file 11 will be described.

図7は、この動作を示すシーケンス図である。まずオブジェクト管理手段30が、オブジェクト識別子設定手段31を用いて、ファイル11として格納したいデータ3のオブジェクト識別子2を決定する(S201)。   FIG. 7 is a sequence diagram showing this operation. First, the object management unit 30 uses the object identifier setting unit 31 to determine the object identifier 2 of the data 3 to be stored as the file 11 (S201).

次に保存先となるファイル名を指定して、ファイルシステム40へデータ3の書込み要求を出す(S202)。   Next, a file name as a storage destination is designated, and a write request for data 3 is issued to the file system 40 (S202).

ファイルシステム40はデータ3を記憶領域へ書込む(S211)。記憶装置10への書込みが完了すると、記憶装置10から書込み完了通知が返る(S212)。   The file system 40 writes the data 3 to the storage area (S211). When writing to the storage device 10 is completed, a write completion notification is returned from the storage device 10 (S212).

次に、ファイルシステム40は、データ3が持つi−node番号4−1に対応するメタデータ4を、ファイル11に書き込む(S213)。またファイルシステム40に設けられたメタデータ記憶手段(図示せず)にもメタデータ4を記憶する。これは既存技術(ジャーナリングファイルシステム)では、ジャーナル12へ書込むことに相当する。   Next, the file system 40 writes the metadata 4 corresponding to the i-node number 4-1 of the data 3 to the file 11 (S213). The metadata 4 is also stored in metadata storage means (not shown) provided in the file system 40. This corresponds to writing to the journal 12 in the existing technology (journaling file system).

記憶装置10への書込みが完了すると、記憶装置10から書込み完了通知が返ってくる(S214)。   When the writing to the storage device 10 is completed, a write completion notification is returned from the storage device 10 (S214).

記憶装置10に書き込めたら、ファイルシステム40は、オブジェクト管理手段30へ書込み完了を通知する(S203)。次に、オブジェクト管理手段30は書き込んだデータ3に対するオブジェクト識別子2をファイルのメタデータ4に登録する。オブジェクト管理手段30はこの登録要求をファイルシステム40へ出す(S204)。   When the data can be written to the storage device 10, the file system 40 notifies the object management means 30 of the completion of writing (S203). Next, the object management means 30 registers the object identifier 2 for the written data 3 in the file metadata 4. The object management means 30 issues this registration request to the file system 40 (S204).

要求を受け付けたファイルシステム40は、データ3に対応するi−nodeのメタデータ4にオブジェクト識別子2を加える(S215)。メタデータ4が書き込めたら書込み完了通知を受け取る(S216)。   The file system 40 that has received the request adds the object identifier 2 to the metadata 4 of i-node corresponding to the data 3 (S215). When the metadata 4 can be written, a write completion notice is received (S216).

ファイルシステム40は書込み完了通知を受け取ると、オブジェクト管理手段30へ書込み完了を通知する(S205)。   Upon receiving the write completion notification, the file system 40 notifies the object management means 30 of the write completion (S205).

以上により、オブジェクト識別子2を付加した形でデータ3を格納することができる。
(第5の実施の形態)
本実施の形態では、本発明を効果的に用いるための、オブジェクト識別子付破損ファイル格納手段41の構成例を示す。図8は、オブジェクト識別子付破損ファイル格納手段41の一例を示すディレクトリ構成図である。本発明では、例えばファイルシステム40のルートディレクトリ直下に、オブジェクト識別子付破損ファイル格納手段41としてLOSTFILES41aというディレクトリを作成する。そしてLOSTFILES41aの下に、例えば、オブジェクト識別子2の下位3文字をディレクトリ名としたサブディレクトリ42aを作成する。なお、下位3文字以外の方法で分割してもよい。また、オブジェクト識別子2(=ファイル名)が名前空間上衝突しないのであれば単一のディレクトリにしてもよい。ただし、多数のファイルが見込まれる場合、性能問題を引き起こす可能性があるため、前記のように区分することが望ましい。そして、サブディレクトリ42の下にオブジェクト識別子2をファイル名としたオブジェクト識別子付破損ファイル5を配置する。なおオブジェクト識別子2が認識できる形であれば、ファイル名はオブジェクト識別子2そのものでなくても良い。
As described above, the data 3 can be stored with the object identifier 2 added thereto.
(Fifth embodiment)
In this embodiment, a configuration example of the damaged file storage means 41 with an object identifier for effectively using the present invention is shown. FIG. 8 is a directory configuration diagram showing an example of the damaged file storage means 41 with an object identifier. In the present invention, for example, a directory called LOSTFILES 41 a is created as a damaged file storage unit 41 with an object identifier immediately under the root directory of the file system 40. Then, under the LOSTFILES 41a, for example, a subdirectory 42a having the directory name of the lower three characters of the object identifier 2 is created. In addition, you may divide | segment by a method other than lower 3 characters. If the object identifier 2 (= file name) does not collide in the name space, a single directory may be used. However, if a large number of files are expected, it may cause performance problems. Then, a damaged file 5 with an object identifier having the object identifier 2 as a file name is arranged under the subdirectory 42. As long as the object identifier 2 can be recognized, the file name may not be the object identifier 2 itself.

このように、配置すると、オブジェクト管理手段30は破損したファイルを持つオブジェクト1を容易に特定することができる。オブジェクト1が特定できれば、バックアップデータを用いて、これを直接修復することができるので、全ファイル検証および修復を行う方法に比べて、大幅に修復時間を短縮することができる。   Thus, when arranged, the object management means 30 can easily identify the object 1 having a damaged file. If the object 1 can be identified, it can be directly repaired using the backup data, so that the repair time can be greatly shortened compared to the method of performing all file verification and repair.

次に比較のため、一般的な技術における識別子の無い破損ファイル6の格納について説明する。図9はこの格納例を示すディレクトリ構成図である。一般的技術では、破損ファイル6は、例えばLOST+FOUND70というディレクトリにまとめて入れられる。このため、場合によっては、一つのディレクトリに非常に多くの破損ファイル6が格納されることになる。また、ファイル名がi-node番号であるため、ユーザは元のファイル名やオブジェクトとの関連を特定することが非常に困難となる。   Next, for comparison, storage of a damaged file 6 without an identifier in a general technique will be described. FIG. 9 is a directory configuration diagram showing this storage example. In a general technique, the damaged files 6 are put together in a directory such as LOST + FOUND70, for example. For this reason, in some cases, a very large number of damaged files 6 are stored in one directory. Further, since the file name is an i-node number, it is very difficult for the user to specify the relationship with the original file name or object.

以上、説明したように、本実施の形態によれば、ファイルシステム40を復旧した場合に発生する破損ファイルとオブジェクトとの関係を容易に特定し、迅速な修復に結び付けることができる。   As described above, according to the present embodiment, the relationship between a damaged file and an object that occurs when the file system 40 is restored can be easily identified and linked to quick repair.

1 オブジェクト
2 オブジェクト識別子
3 データ
4 メタデータ
5 オブジェクト識別子付破損ファイル
6 破損ファイル
10 記憶装置
11 ファイル
12 ジャーナル
20 オペレーティングシステム
30 オブジェクト管理手段
31 オブジェクト識別子設定手段
32 オブジェクト修復手段
40 ファイルシステム
41 オブジェクト識別子付破損ファイル格納手段
50 マウント時更新ファイル検証手段
60 アプリケーションプログラム
100 オブジェクトストレージシステム
DESCRIPTION OF SYMBOLS 1 Object 2 Object identifier 3 Data 4 Metadata 5 Corrupt file with an object identifier 6 Corrupted file 10 Storage device 11 File 12 Journal 20 Operating system 30 Object management means 31 Object identifier setting means 32 Object repair means 40 File system 41 Corruption with an object identifier File storage means 50 Mounted file verification means 60 Application program 100 Object storage system

Claims (10)

オブジェクトを構成するデータをファイルとして記憶するオブジェクトストレージシステムであって、前記ファイルを記憶する記憶装置と、前記ストレージシステムを制御するオペレーティングシステムと、前記ファイルを前記オブジェクトと対応付けて管理するオブジェクト管理手段と、を有し、前記記憶装置は前記ファイルの更新履歴を保持するジャーナルを有し、前記オブジェクト管理手段は前記ファイルに前記オブジェクトとの対応を示すオブジェクト識別子を設定するオブジェクト識別子設定手段を有し、前記オペレーティングシステムは前記記憶装置および前記ファイルを制御するファイルシステムと前記ファイルシステムのマウント時に前記記憶装置で更新された前記ファイルを検証するマウント時更新ファイル検証手段を有し、前記ファイルシステムは前記ファイル検証手段が発見したオブジェクト識別子付破損ファイルを格納するオブジェクト識別子付破損ファイル格納手段を有する、ことを特徴とするオブジェクトストレージシステム。   An object storage system for storing data constituting an object as a file, a storage device for storing the file, an operating system for controlling the storage system, and object management means for managing the file in association with the object And the storage device has a journal that holds the update history of the file, and the object management means has an object identifier setting means for setting an object identifier indicating a correspondence with the object in the file. The operating system includes a file system that controls the storage device and the file, and a mount-time update file verification unit that verifies the file updated in the storage device when the file system is mounted. The file system object storage system, wherein said file verification means having with object identifiers corrupted file storage means for storing object identifiers with corrupted files discovered it. 前記オブジェクト管理手段が、前記オブジェクトを他のストレージシステムから複製して前記オブジェクト識別子付破損ファイルを修復するオブジェクト修復手段を有している、ことを特徴とする請求項1に記載のオブジェクトストレージシステム。   The object storage system according to claim 1, wherein the object management unit includes an object repair unit that replicates the object from another storage system and repairs the damaged file with the object identifier. 前記オブジェクト識別子付破損ファイル格納手段が、前記オブジェクト識別子付破損ファイルを前記オブジェクト識別子が識別可能なファイル名で格納する、ことを特徴とする請求項1または請求項2に記載のオブジェクトストレージシステム。   The object storage system according to claim 1 or 2, wherein the damaged file storage unit with an object identifier stores the damaged file with an object identifier by a file name that can be identified by the object identifier. 前記オブジェクト識別子付破損ファイル格納手段が、前記オブジェクト識別子が識別可能な名前のフォルダを生成するオブジェクト識別子付破損ファイル格納フォルダ生成手段を、有していることを特徴とする請求項3に記載のオブジェクトストレージシステム。   4. The object according to claim 3, wherein the damaged file storage unit with an object identifier includes a damaged file storage folder generation unit with an object identifier that generates a folder having a name that allows the object identifier to be identified. Storage system. オブジェクトを構成するデータをファイルとして記憶するオブジェクトストレージシステムの制御方法であって、オブジェクト管理手段が前記ファイルに前記オブジェクトとの対応を示すオブジェクト識別子を設定し、ファイルシステムが記憶装置に前記ファイルを格納し、前記ファイルシステムが前記ファイルの更新履歴を前記記憶装置内のジャーナルに格納し、前記ファイルシステムのマウント時にマウント時更新ファイル検証手段が前記ジャーナルを参照して更新された前記ファイルを検証し、前記マウント時更新ファイル検証手段が発見したオブジェクト識別子付破損ファイルをオブジェクト識別子付破損ファイル格納手段に格納する、ことを特徴とするオブジェクトストレージシステムの制御方法。   An object storage system control method for storing data constituting an object as a file, wherein an object management means sets an object identifier indicating a correspondence with the object in the file, and the file system stores the file in a storage device And the file system stores the update history of the file in a journal in the storage device, and the mount-time update file verification means verifies the updated file with reference to the journal when the file system is mounted, A method for controlling an object storage system, comprising: storing a damaged file with an object identifier discovered by the update file verification unit at the time of mounting in a damaged file storing unit with an object identifier. 前記オブジェクトを他のストレージシステムから複製して前記オブジェクト識別子付破損ファイルを修復する、ことを特徴とする請求項5に記載のストレージシステムの制御方法。   6. The storage system control method according to claim 5, wherein the object is copied from another storage system to repair the damaged file with the object identifier. 前記オブジェクト識別子付破損ファイル格納手段が、前記オブジェクト識別子付破損ファイルを前記オブジェクト識別子が識別可能なファイル名で保存する、ことを特徴とする請求項5または請求項6に記載のオブジェクトストレージシステムの制御方法。   The object storage system control according to claim 5 or 6, wherein the object identifier damaged file storage means stores the object identifier damaged file with a file name that can be identified by the object identifier. Method. 前記オブジェクト識別子付破損ファイル格納手段が、前記オブジェクト識別子が識別可能な名前のフォルダを生成し、対応する前記フォルダの配下に前記オブジェクト識別子付破損ファイルを格納する、ことを特徴とする請求項7に記載のオブジェクトストレージシステムの制御方法。   The damaged file storage unit with an object identifier generates a folder having a name that can identify the object identifier, and stores the damaged file with an object identifier under the corresponding folder. The object storage system control method described. オブジェクトを構成するデータをファイルとして記憶するオブジェクトストレージシステムの制御プログラムであって、オブジェクト管理手段が前記ファイルに前記オブジェクトとの対応を示すオブジェクト識別子を設定するステップと、ファイルシステムが記憶装置に前記ファイルを格納するステップと、前記ファイルシステムが前記ファイルの更新履歴を前記記憶装置内のジャーナルに格納するステップと、前記ファイルシステムのマウント時にマウント時更新ファイル検証手段が前記ジャーナルを参照して更新された前記ファイルを検証するステップと、前記マウント時更新ファイル検証手段が発見したオブジェクト識別子付破損ファイルをオブジェクト識別子付破損ファイル格納手段に格納するステップと、を有することを特徴とするオブジェクトストレージシステムの制御プログラム。   A control program for an object storage system for storing data constituting an object as a file, wherein an object management means sets an object identifier indicating a correspondence with the object in the file, and a file system stores the file in the storage device. The file system stores the update history of the file in a journal in the storage device, and the mount-time update file verification means is updated with reference to the journal when the file system is mounted. And verifying the file, and storing the damaged file with the object identifier discovered by the mount-time update file verifying means in the damaged file storing means with the object identifier. Control program of the object storage system. 前記オブジェクト識別子付破損ファイル格納手段が、前記オブジェクト識別子付破損ファイルを前記オブジェクト識別子が識別可能なファイル名で保存するステップを有する、ことを特徴とする請求項9に記載のオブジェクトストレージシステムの制御プログラム。   10. The control program for an object storage system according to claim 9, wherein the damaged file storage unit with an object identifier has a step of storing the damaged file with an object identifier with a file name that can be identified by the object identifier. .
JP2014143949A 2014-07-14 2014-07-14 Object storage system, control method thereof, and control program thereof Active JP6327028B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014143949A JP6327028B2 (en) 2014-07-14 2014-07-14 Object storage system, control method thereof, and control program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014143949A JP6327028B2 (en) 2014-07-14 2014-07-14 Object storage system, control method thereof, and control program thereof

Publications (2)

Publication Number Publication Date
JP2016021110A JP2016021110A (en) 2016-02-04
JP6327028B2 true JP6327028B2 (en) 2018-05-23

Family

ID=55265921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014143949A Active JP6327028B2 (en) 2014-07-14 2014-07-14 Object storage system, control method thereof, and control program thereof

Country Status (1)

Country Link
JP (1) JP6327028B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635654B2 (en) 2017-06-12 2020-04-28 Samsung Electronics Co., Ltd. Data journaling for large solid state storage devices with low DRAM/SRAM
CN110554834B (en) 2018-06-01 2022-12-02 阿里巴巴集团控股有限公司 File system data access method and file system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7100008B2 (en) * 2004-03-15 2006-08-29 Hitachi, Ltd. Long term data protection system and method
US7523343B2 (en) * 2004-04-30 2009-04-21 Microsoft Corporation Real-time file system repairs
US7228320B2 (en) * 2004-11-17 2007-06-05 Hitachi, Ltd. System and method for creating an object-level snapshot in a storage system
JP4981412B2 (en) * 2006-11-02 2012-07-18 日本放送協会 File transfer system and method, management apparatus and server
US7890555B2 (en) * 2007-07-10 2011-02-15 International Business Machines Corporation File system mounting in a clustered file system
US8112664B2 (en) * 2008-03-26 2012-02-07 Symantec Operating Corporation Using volume snapshots to prevent file corruption in failed restore operations
US9088591B2 (en) * 2008-04-28 2015-07-21 Vmware, Inc. Computer file system with path lookup tables
US8738580B2 (en) * 2008-07-23 2014-05-27 Nvidia Corporation Copying files from one directory to another
JP2010039966A (en) * 2008-08-08 2010-02-18 Hitachi Ltd Data management method
US9824091B2 (en) * 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal

Also Published As

Publication number Publication date
JP2016021110A (en) 2016-02-04

Similar Documents

Publication Publication Date Title
US10877860B2 (en) Copying data from mirrored storage to auxiliary storage arrays co-located with primary storage arrays
US10776267B2 (en) Mirrored byte addressable storage
US10678448B2 (en) Deduplication of virtual machine content
CN111480149B (en) Pre-written logging in persistent memory devices
US10303570B2 (en) Method and apparatus for managing data recovery of distributed storage system
US9727273B1 (en) Scalable clusterwide de-duplication
CN109690493B (en) System and method for repairing images in a deduplication store
US20130339784A1 (en) Error recovery in redundant storage systems
US8266102B2 (en) Synchronization of sequential access storage components with backup catalog
US20200241781A1 (en) Method and system for inline deduplication using erasure coding
CN110058787B (en) Method, apparatus and computer program product for writing data
US20120084260A1 (en) Log-shipping data replication with early log record fetching
US10613923B2 (en) Recovering log-structured filesystems from physical replicas
US20150067442A1 (en) Information processing apparatus and data repairing method
US9430485B2 (en) Information processor and backup method
US20210034468A1 (en) Method and system for redundant distribution and reconstruction of storage metadata
JP6327028B2 (en) Object storage system, control method thereof, and control program thereof
US8677088B1 (en) Systems and methods for recovering primary sites after failovers to remote secondary sites
US8595271B1 (en) Systems and methods for performing file system checks
JP6251965B2 (en) Information system and database recovery method
US11403182B2 (en) Method and system for any-point in time recovery within traditional storage system via a continuous data protection interceptor
US11645333B1 (en) Garbage collection integrated with physical file verification
KR101969799B1 (en) Electronic device and controlling method thereof
US20200241782A1 (en) Method and system for inline deduplication using erasure coding to minimize read and write operations
JP5488681B2 (en) Redundant system, control method and control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180402

R150 Certificate of patent or registration of utility model

Ref document number: 6327028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150