JP2010015253A - Recording/reproducing device and recording/reproducing method - Google Patents
Recording/reproducing device and recording/reproducing method Download PDFInfo
- Publication number
- JP2010015253A JP2010015253A JP2008172595A JP2008172595A JP2010015253A JP 2010015253 A JP2010015253 A JP 2010015253A JP 2008172595 A JP2008172595 A JP 2008172595A JP 2008172595 A JP2008172595 A JP 2008172595A JP 2010015253 A JP2010015253 A JP 2010015253A
- Authority
- JP
- Japan
- Prior art keywords
- request
- request queue
- file
- requests
- mirroring
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、記録再生装置および記録再生方法に関する。詳しくは、障害発生時のデータ修復を行うためのバックアップの技術に関する。 The present invention relates to a recording / reproducing apparatus and a recording / reproducing method. More specifically, the present invention relates to a backup technology for performing data recovery when a failure occurs.
従来、周期的書換えを必要とするファイルの永続化を行う技術には様々なものがある。例えば、ファイルを2重化する技術がある。この2重化の技術では、オリジナルファイルとバックアップファイルの2つを作成して、ファイル単位で各々をストレージに記録するものである。これによって、どちらかのファイルが破壊または消滅してもシステム的に破綻しないようにされている。 Conventionally, there are various techniques for persisting files that require periodic rewriting. For example, there is a technique for duplicating files. In this duplex technology, two files, an original file and a backup file, are created and each is recorded in storage in units of files. This prevents system failure even if one of the files is destroyed or disappeared.
また、ボリュームの破壊耐性を高める技術としてRAIDがある(例えば、特許文献1参照)。この中で、ボリュームの複製を行う技術は、RAID1(ミラーリング)である。これは、ストレージへのアクセス単位でファイルがミラーリングされ、ドライバレベルまたはハードウェアレベルで複製が実現されている。複製しない場合に比較して増加する処理については、上記したファイルの二重化の技術ほど大きくはならないというメリットがある。 Moreover, there is RAID as a technique for increasing the volume destruction resistance (see, for example, Patent Document 1). Among these, a technique for replicating a volume is RAID 1 (mirroring). In this case, the file is mirrored in units of access to the storage, and replication is realized at the driver level or the hardware level. The processing that increases as compared with the case of not duplicating has the merit that it is not as large as the file duplication technique described above.
しかしながら、ファイルの二重化の技術では、周期的/頻繁的に変更を伴うファイルを対象とする場合には、パフォーマンスの観点から実現が困難であるという問題があった。 However, the file duplication technique has a problem that it is difficult to realize from the viewpoint of performance when a file that is periodically / frequently changed is targeted.
また、上記した特許文献1に開示された技術によれば、パフォーマンスをある程度維持しながら2重化を行うことができるが、ファイルシステムの論理破壊の見地からはトランザクション中に発生した障害におけるファイルの永続は保証できないという問題があった。 In addition, according to the technique disclosed in Patent Document 1 described above, duplication can be performed while maintaining performance to some extent, but from the viewpoint of logical destruction of the file system, the file in the failure that occurred during the transaction There was a problem that permanence cannot be guaranteed.
現状ではパフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術が確立していない。 Currently, no technology has been established to maintain the performance while preventing logical corruption and making the file permanent.
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、パフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術を提供することが可能な、新規かつ改良された技術を提供することにある。 The present invention has been made in view of the above problems, and the object of the present invention is to provide a novel and permanent technology that can prevent logic corruption and maintain a file while maintaining performance. It is to provide improved technology.
上記目的を達成するために、本発明のある観点によれば、記録再生装置は、システムコール部からトランザクションの入力を受け付け、トランザクションの処理において必要なリクエストを1または複数生成し、生成した1または複数のリクエストをミラーリクエストキューに登録し、登録し終わると、メモリに記憶されたミラーリング要求フラグに所定の値を設定するファイルシステム部を備える。 In order to achieve the above object, according to an aspect of the present invention, a recording / reproducing apparatus receives an input of a transaction from a system call unit, generates one or a plurality of requests necessary for transaction processing, A file system unit is provided that registers a plurality of requests in a mirror request queue and sets a predetermined value in a mirroring request flag stored in a memory when registration is completed.
また、記録再生装置は、ミラーリクエストキューを有し、ミラーリクエストキューに登録されている1または複数のリクエストをオリジナルボリューム書き込み用リクエストキューに登録し、登録した1または複数のリクエストに対する処理がすべて完了したら、ミラーリング要求フラグを参照し、ミラーリング要求フラグに所定の値が設定されている場合には、ミラーリクエストキューに登録されている1または複数のリクエストをバックアップボリューム書き込み用リクエストキューに登録するトランザクションミラーリングドライバ部を備える。 The recording / playback device also has a mirror request queue, registers one or more requests registered in the mirror request queue in the original volume write request queue, and completes the processing for the registered one or more requests. Then, refer to the mirroring request flag, and when a predetermined value is set in the mirroring request flag, transaction mirroring that registers one or more requests registered in the mirror request queue in the backup volume write request queue A driver part is provided.
また、記録再生装置は、オリジナルボリューム書き込み用リクエストキューを有し、リクエストキューから取り出したリクエストを出力するオリジナルボリュームインタフェースドライバ部を備える。 The recording / reproducing apparatus includes an original volume interface driver unit that has an original volume write request queue and outputs a request fetched from the request queue.
また、記録再生装置は、バックアップボリューム書き込み用リクエストキューを有し、リクエストキューから取り出したリクエストを出力するバックアップボリュームインタフェースドライバ部を備える。 The recording / reproducing apparatus also has a backup volume write request queue, and includes a backup volume interface driver unit that outputs a request fetched from the request queue.
また、記録再生装置は、オリジナルボリュームインタフェースドライバ部から出力されたリクエストに含まれるオリジナルデータをオリジナルボリュームに書き込む処理と、バックアップボリュームインタフェースドライバ部から出力されたリクエストに含まれるバックアップデータをバックアップボリュームに書き込む処理とを制御するストレージ制御部を備える。 In addition, the recording / reproducing apparatus writes the original data included in the request output from the original volume interface driver unit to the original volume, and writes the backup data included in the request output from the backup volume interface driver unit to the backup volume. A storage control unit for controlling processing is provided.
かかる構成によれば、ファイルシステム部がリクエストをミラーリクエストキューに登録した後、バックアップの制御はトランザクションミラーリングドライバ部が行うことになる。したがって、ファイルシステム部がリクエストをミラーリクエストキューに登録した後において、ファイルシステム部によるバックアップの制御は不要となる。 According to this configuration, after the file system unit registers the request in the mirror request queue, the transaction mirroring driver unit controls the backup. Therefore, after the file system unit registers the request in the mirror request queue, the backup control by the file system unit becomes unnecessary.
本発明によれば、パフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術を提供することが可能となる。 According to the present invention, it is possible to provide a technique for preventing logical destruction and making a file permanent while maintaining performance.
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Exemplary embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In the present specification and drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and redundant description is omitted.
《本実施形態に適用可能な記録再生装置について》
破壊されるとシステムとして致命的損害を与えるファイルの永続的な保証方法としてはいくつかの方法が考えられる。例えば、ファイルの2重化(ファイルのオリジナルファイルとバックアップファイルの2重書込み)およびRAID(Redundant Arrays of Inexpensive Disks)(ボリュームのミラーリング)という方法である。これらの方法の概念図を図1に示す。
<< Recording / reproducing apparatus applicable to this embodiment >>
There are several ways to guarantee a file that will permanently damage the system if it is destroyed. For example, file duplication (duplicate writing of original file and backup file) and RAID (Redundant Arrays of Independent Disks) (volume mirroring). A conceptual diagram of these methods is shown in FIG.
ファイルの2重化とはファイル単位でオリジナルとバックアップの2つを作成することであり、どちらかが破壊および消滅してもシステム的に破綻しない作りとするものである。ここではファイルの2重書込みを行うタイミング(バックアップを行うタイミング)をどうするかが問題となってくる。 Duplicating files is to create two files, original and backup, on a file-by-file basis, so that even if one of them is destroyed or disappeared, it will not fail systematically. Here, the problem is how to perform the double writing of the file (the timing of performing the backup).
設定用ファイルのように頻繁に変更が必要ないファイルであれば、設定を変更する前にバックアップを取っておく。そして、変更内容をストレージに反映させる途中で障害が起きた場合はバックアップ時(変更前)に戻すということで対処でき、変更前に戻したとしてもシステム的影響はない。また、ファイルの2重書込みによる処理の増加もシステム的には許容できるものが殆どである。 If it is a file that does not require frequent changes, such as a settings file, back it up before changing the settings. If a failure occurs while reflecting the change contents in the storage, it can be dealt with by returning to the backup time (before the change), and even if it is returned before the change, there is no system impact. Most of the increase in processing due to double writing of files is also acceptable in the system.
しかし、周期的に変更を要するファイルでさらに書込みに対するスループットが厳しい場合には、変更の度に2重書込みを行っていては必要となるスループットが満たせない状況に陥り、システム的に破綻する。2重書き込みを行うタイミングを間引いてしまうと、変更前に戻したときのシステム的影響がでる。 However, in the case of a file that needs to be changed periodically, if the throughput for writing is severer, if double writing is performed every time the change is made, the required throughput cannot be satisfied, and the system fails. If the timing for performing the double writing is thinned out, a systemic effect will be caused when it is restored before the change.
この周期的で且つスループットが必要となる代表例としては、ストリーム記録(放送録画)を行う場合である。ストリーム記録では、ストリームデータはあるレートでシステムに入力され、システムはそのデータをストレージに記録する。ストレージに記録するレートが入力レートより小さい場合はシステムが破綻してしまう。また、このストリーム記録では、記録したコンテンツを再生するために必要な再生用データを周期的にファイルに書き出す必要があり、このファイルが破壊または消滅した場合は再生が出来ないという影響が出る。この再生用データが書かれるファイルが永続的、周期的ファイルである。 A typical example in which this periodic and throughput is required is when performing stream recording (broadcast recording). In stream recording, stream data is input to the system at a certain rate, and the system records the data in storage. If the recording rate is lower than the input rate, the system will fail. Further, in this stream recording, it is necessary to periodically write reproduction data necessary for reproducing the recorded content to a file, and if this file is destroyed or lost, there is an effect that reproduction cannot be performed. The file in which the reproduction data is written is a permanent or periodic file.
RAIDとは、ボリュームレベルで冗長を図り、ボリュームの破壊耐性を高める技術である。2重書込みと同じ結果をもたらすものはRAID1(ミラーリング)であり、ボリュームの複製を作成する。これはストレージ(ボリューム)へのアクセス単位でファイルはミラーリングされ、ドライバレベルまたはハードウェア(H/W)レベルで実現しており、必要となる処理の増加も2重書込みに比べると小さく、スループットが高い。 RAID is a technology that increases redundancy at the volume level and increases the destruction resistance of the volume. RAID 1 (mirroring) produces the same result as a double write and creates a replica of the volume. This is because the files are mirrored in units of access to the storage (volume) and realized at the driver level or hardware (H / W) level, and the increase in processing required is small compared to double writing, and throughput is reduced. high.
ここで、ストレージへの記録済みファイルが破壊および消滅してしまう原因について述べる。ストレージへの記録済みファイルが破壊される原因は、ストレージの物理的な破壊とファイルへのアクセスに必要な管理データが破壊することで起こる論理破壊の2つである。RAIDは物理破壊によるファイルの喪失を防ぐものであり、論理破壊を防ぐものではない為、それだけではファイルの永続的な保証はできない。これはファイルシステムがトランザクションを基本として論理保証を行っており、RAIDはこのファイルシステムのトランザクションに一切関知していない為である。 Here, the cause of the destruction and disappearance of the recorded file in the storage will be described. There are two reasons why a recorded file in the storage is destroyed: physical destruction of the storage and logical destruction caused by destruction of management data necessary for accessing the file. RAID prevents loss of a file due to physical destruction and does not prevent logical destruction. Therefore, the file cannot be permanently guaranteed by itself. This is because the file system performs logical guarantees based on transactions, and RAID has no knowledge of the file system transactions.
論理破壊への耐性としてはファイルシステムレベルでジャーナリングファイルシステム(代表的なものとしてEXT3、XFS)LogBaseファイルシステム(代表的なものとしてNILFS)を用いるのが一般的である。これらファイルシステムの復旧の目的としてはファイルシステムの論理的整合性を保つことにあり、復旧時に整合性を阻害するデータおよびファイルなどは消去抹消される。よって、ファイルシステムの論理的破壊への耐性ではファイルの永続的保証はできない。 As a resistance against logical destruction, it is common to use a journaling file system (typically EXT3, XFS) and a LogBase file system (typically NILFS) at the file system level. The purpose of recovery of these file systems is to maintain the logical consistency of the file system, and data and files that impair the consistency at the time of recovery are erased. Thus, the file system cannot be guaranteed with durability against logical destruction of the file system.
論理破壊の仕組みを代表的なジャーナリングファイルシステムであるXFSで説明する。XFSのトランザクションについて図2に示す。 The mechanism of logical destruction will be described with XFS, which is a typical journaling file system. The XFS transaction is shown in FIG.
まず、書き込みオペレーションによって、トランザクションのアロケーションが実行される(ステップS901)。ここでは、トランザクション構造体と一意なトランザクション識別子を割り当てる。続いて、ログスペースが確保される(ステップS902)。ここでは、トランザクションに必要なログスペースがメモリ81上に確保される。その後、リソース(修正するリソース82)のロックを行う(ステップS903)。ここでは、リソース(バッファ、iノード、管理領域)の読み込みとロックを行う。
First, transaction allocation is executed by a write operation (step S901). Here, a transaction structure and a unique transaction identifier are assigned. Subsequently, a log space is secured (step S902). Here, a log space necessary for the transaction is secured on the memory 81. Thereafter, the resource (the
続いて、リソースの修正が行われる(ステップS904)。ここでは、修正するリソース82の修正とトランザクションオペレーション構造体(オペレーション内容を記録するために使用する構造体)の作成が行われる。その後、コミットトランザクションが実行される(ステップS905)。ここでは、リソースの修正情報とトランザクションオペレーションをin−coreログに記録する。in−coreログは、メモリ81上のログ格納領域83であり、書き出されていないログ831、ログスペース832、書き出されたログ833等により構成されている。
Subsequently, the resource is corrected (step S904). Here, modification of the
続いて、in−coreログがHDD(Hard Disk Drive)84に書き出される(ステップS906)。これによって、disk−onログ(HDD84に書き出されるログ)がHDD84に書き出される。その後、修正されたリソースがフラッシュされる(ステップS907)。すなわち、修正されたリソースがHDD84に書き出される。ログの領域は、メモリ81上もHDD84上もリング上となっている。また、領域841は、HDD84上のXFS partitionである。
Subsequently, the in-core log is written to an HDD (Hard Disk Drive) 84 (step S906). As a result, the disk-on log (log written to the HDD 84) is written to the
トランザクションからファイルおよびファイルシステムの破壊が発生するのはリソースのフラッシュの処理(ステップS907)中に障害が発生した場合である。それ以外はメモリ81上での反映なので障害が起きてもストレージ上には変更前の整合が取れた状態でデータが存在している。 A file and a file system are destroyed from a transaction when a failure occurs during the resource flush process (step S907). Other than that, since it is reflected on the memory 81, even if a failure occurs, the data exists on the storage in a state in which the pre-change consistency is achieved.
XFSのトランザクション中に変更が加わるリソースとストレージへの反映順序を図3に示す。 FIG. 3 shows the resources to be changed during the XFS transaction and the reflection order to the storage.
図3は、ファイル作成のトランザクション(Type:XFS_TRANS_クリエート)が入力された場合の様子を示している。このトランザクションによって変更されるリソースは5つである。すなわち、XAGI、IABT、INODE(作成されるファイルのinode)、inode(ディレクトリのinode)、SBである。修正済みのリソースは、ログが書き戻されるまでメモリ81上にロックされている。 FIG. 3 shows a state where a file creation transaction (Type: XFS_TRANS_create) is input. Five resources are changed by this transaction. That is, XAGI, IABT, INODE (inode of a file to be created), inode (directory inode), and SB. The corrected resource is locked on the memory 81 until the log is written back.
HDD84には、HDDwriteキャッシュ8411が存在し、メモリ81上のリソースが、HDDwriteキャッシュ8411に書き込まれる。この際、TCQ/NCQなどにより書き出し順序に変更があることが予想される。また、HDD84上のメディア8412に書き込まれる際にも、書き出し順序の入れ替えがあることが予想される。
The
このように、リソースのストレージへの反映順序は一意には決まらず、どのリソースが反映済みでどのリソースが反映前のデータか特定できない。 As described above, the reflection order of the resources to the storage is not uniquely determined, and it is not possible to identify which resource has been reflected and which resource has not been reflected.
リソースのストレージへの格納位置と書込みリクエストについて図4に示す。図4には、1つのアロケーショングループが示されている。XAGFを変更した場合、変更がないXFSBも書き戻される。同様に、ブロックの一部に対してデータ変更を加えた場合でも、実際にフラッシュされるのは、ブロック単位である。また、1つのinodeを変更した場合、変更がない他のinode15個も書き戻される。同様に、1つのinodeに対して変更を加えた場合でも、実際にフラッシュされるのは、ブロック単位である。 FIG. 4 shows the storage position of the resource in the storage and the write request. FIG. 4 shows one allocation group. When XAGF is changed, XFSB without change is also written back. Similarly, even when a data change is made to a part of a block, what is actually flushed is a block unit. When one inode is changed, the other 15 inodes that are not changed are also written back. Similarly, even when a change is made to one inode, what is actually flushed is a block unit.
全てのリソースの反映は1つのリクエストでは収まらず複数のリクエストを発行する必要がある。 Reflecting all resources does not fit in a single request, and multiple requests need to be issued.
図5に、ファイルの既存の技術で2重化を行う場合のリクエストとストレージへのコマンド要求の発行の様子を示す。図5において、太矢印は、システムコールを示している。 FIG. 5 shows how a request and a command request to the storage are issued when duplication is performed using existing file technology. In FIG. 5, thick arrows indicate system calls.
図6に、RAID1を使用してミラーを行った場合のリソースがストレージへ反映されている様子を示す。リソースの反映はオリジナル/バックアップ同時並行的に行われるために、書出し途中で障害が発生した場合はオリジナル/バックアップで同じ不整合が生じる。 FIG. 6 shows a state in which resources when mirroring is performed using RAID 1 are reflected in the storage. Since reflection of resources is performed in parallel with the original / backup, the same inconsistency occurs between the original / backup when a failure occurs during writing.
《本実施形態に適用可能な記録再生装置の課題について》
まとめると、周期的書換えを必要とするファイルの永続化を行おうとすると、
1.ファイルを2重持ちとするのは常等手段ではあるが、周期的/頻繁的に変更を伴うファイルの2重化はパフォーマンスの観点から実現が困難である。
2.パフォーマンスをある程度維持しながら2重化を行う技術としてRAID1があるが、ファイルシステムの論理破壊の見地からはトランザクション中に発生した障害におけるファイルの永続は保証できない。
<< Problems of recording / reproducing apparatus applicable to this embodiment >>
In summary, if you try to persist a file that requires periodic rewriting,
1. Although it is an ordinary means to make a file doubly held, it is difficult to realize duplication of a file with periodic / frequent change from the viewpoint of performance.
2. RAID1 is a technique for performing duplication while maintaining performance to some extent, but from the viewpoint of logical destruction of the file system, it is not possible to guarantee the persistence of a file in the event of a failure occurring during a transaction.
現状ではパフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術が確立していない。 Currently, no technology has been established to maintain the performance while preventing logical corruption and making the file permanent.
《本実施形態の目的について》
本実施形態における目的は以下に示すものである。
1.頻繁に更新が必要となるファイルの永続保証を行う。
2.永続保証を行うために費やされる処理時間を最小限に抑える。
3.データ復旧処理時間を最小限に抑える。
4.ファイルシステムが管理しているトランザクションレベルでミラーリングを行う。
5.ファイルシステムが発行する転送要求リクエストにトランザクションタグを付加することにより、どのトランザクションに属しているリクエストかを判別する。
6.ファイルシステムが発行するリクエストにstatusを持たせることで転送前/転送終了待ち/転送完了/ミラー転送終了待ち/ミラー転送完了の状態を管理できるようにする。
7.ファイルシステムの管理データは全てトランザクションレベルで2重化対象とすることで、ファイルシステムの論理破壊は理論上ない。
<< Purpose of this embodiment >>
The purpose of this embodiment is as follows.
1. Make a permanent guarantee for files that require frequent updates.
2. Minimize the processing time spent performing permanent guarantees.
3. Minimize data recovery processing time.
4). Mirroring is performed at the transaction level managed by the file system.
5). By adding a transaction tag to the transfer request issued by the file system, it is determined which transaction belongs to which transaction.
6). By giving status to the request issued by the file system, it is possible to manage the status before transfer / waiting for transfer end / transfer completion / mirror transfer end wait / mirror transfer completion.
7). Since all file system management data is subject to duplication at the transaction level, there is no theoretical logical destruction of the file system.
《本実施形態に係る記録再生装置について》
本実施形態に係る記録再生装置の基本概念を図7に示す。これはミラーを行う単位/タイミングをファイルシステムのトランザクションに合わせたものである。
<< Recording / reproducing apparatus according to this embodiment >>
A basic concept of the recording / reproducing apparatus according to the present embodiment is shown in FIG. In this case, the unit / timing for mirroring is matched with the file system transaction.
図6に示されている時点で障害が発生した場合は、各リソースは変更が反映される前のものと反映後のものが混在し不整合が生じている。不整合が生じている状態を修復しようとするならば、どのリソースに不整合が生じているかを調べる必要があり、瞬時に修復することはできない。また、その修復においてファイルが破棄されるおそれがある。 When a failure occurs at the time shown in FIG. 6, the resources before and after the change are reflected are mixed and inconsistency occurs. If it is attempted to repair a state in which inconsistency occurs, it is necessary to check which resource has inconsistency, and it cannot be repaired instantaneously. In addition, the file may be destroyed during the repair.
それと比較して図7では、図7に示されている時点で障害が発生しても、バックアップボリューム69内のリソースは変更前の状態で整合がとれている。これにより、障害が発生した場合はバックアップボリューム69内の情報でオリジナルボリューム68の情報の修復を行うことにより、変更前の状態に瞬時にもどすことができる。
In contrast, in FIG. 7, even if a failure occurs at the time shown in FIG. 7, the resources in the
図8に、本実施形態に係る記録再生装置の機能構成図を示す。なお、記録再生装置における各キューは、メモリ等によって構成される。また、その他の各構成は、専用のハードウェアで構成されていてもよいし、CPU(Central Processing Unit)で構成されていてもよい。CPUによって構成される場合には、CPUによってソフトウェアが実行されることによって、各構成の備える機能が実現される。 FIG. 8 shows a functional configuration diagram of the recording / reproducing apparatus according to the present embodiment. Each queue in the recording / reproducing apparatus is configured by a memory or the like. In addition, each of the other components may be configured by dedicated hardware, or may be configured by a CPU (Central Processing Unit). In the case of being configured by a CPU, functions provided by each configuration are realized by executing software by the CPU.
ストレージ(オリジナルボリューム181およびバックアップボリューム182)にデータを記録するプログラムは、システムコール(システムコール部120)を用いてファイルの作成を行う。
A program for recording data in the storage (
システムコールは、ファイルシステムのファイルクリエートオペレーション関数を呼び出す。 The system call calls a file create operation function of the file system.
ファイルシステム(ファイルシステム部130)は、ファイルクリエートオペレーションの処理を行う(このファイルクリエートオペレーションの一連の処理をファイルクリエートトランザクションと定義する)。この処理の中ではファイルをクリエートするために必要となるリソースの変更を行い、リクエストを生成し、複製(ミラー)が必要なものに関してはミラーリクエストキュー141に登録する。必要なリソースの変更のリクエストを全て登録し終わった時点でミラーリクエストキュー141に対してミラーリング要求フラグを設定する。ミラーリクエストキュー141は1または複数用意されるものとする。 The file system (file system unit 130) performs file create operation processing (a series of processing of this file create operation is defined as a file create transaction). In this process, a resource necessary for creating a file is changed, a request is generated, and a request for replication (mirror) is registered in the mirror request queue 141. When all necessary resource change requests are registered, a mirroring request flag is set for the mirror request queue 141. One or a plurality of mirror request queues 141 are prepared.
ファイルシステム部130は、システムコール部120からトランザクションの入力を受け付け、トランザクションの処理において必要なリクエストを1または複数生成し、生成した1または複数のリクエストをミラーリクエストキュー141に登録する。ファイルシステム部130は、登録し終わると、記録再生装置内の図示しないメモリに記憶されたミラーリング要求フラグに所定の値を設定する。所定の値とは、データを複製する要求を示す値であり、特に限定されるものではない。
The
トランザクションミラーリングドライバ部140は、ミラーリクエストキュー141を有し、ミラーリクエストキュー141に登録されている1または複数のリクエストをオリジナルボリューム書き込み用リクエストキュー(リクエストキュー151)に登録する。トランザクションミラーリングドライバ部140は、登録した1または複数のリクエストに対する処理がすべて完了したら、ミラーリング要求フラグを参照する。ミラーリング要求フラグに所定の値が設定されている場合には、ミラーリクエストキュー141に登録されている1または複数のリクエストをバックアップボリューム書き込み用リクエストキュー(リクエストキュー161)に登録する。
The transaction mirroring
リクエスト制御部142は、ミラーリクエストキュー141に登録されているリクエストをオリジナルボリュームインタフェースドライバ部150がもつリクエストキュー151に登録する。リクエスト制御部142は、ミラーリクエストキュー141に登録されているミラーリクエストが全て完了で終了するのを監視しながら待つ。ミラーリクエストが全て完了で終了し且つミラーリクエストキュー141に対して(記録再生装置の図示しないメモリに記憶されている)ミラーリング要求フラグに所定の値が設定されていた場合、リクエストをバックアップボリュームインタフェースドライバ部160のリクエストキュー161に登録する。リクエスト制御部142は再度、ミラーリクエストが全て完了で終了するのを監視しながら待つ。終了した時点でファイルクリエートオペレーションに対してreturnを返す。また、このときに、ファイルシステム部130は、ミラーリング要求フラグに設定されている所定の値をクリアする。
The
オリジナルボリュームインタフェースドライバ部150は、オリジナルボリューム書き込み用リクエストキュー(リクエストキュー151)を有し、リクエストキュー151から取り出したリクエストを出力する。
The original volume
バックアップボリュームインタフェースドライバ部160は、バックアップボリューム書き込み用リクエストキュー(リクエストキュー161)を有し、リクエストキュー161から取り出したリクエストを出力する。
The backup volume
ストレージ制御部170Aは、オリジナルボリュームインタフェースドライバ部150から出力されたリクエストに含まれるオリジナルデータをオリジナルボリューム181に書き込む処理を制御する。また、ストレージ制御部170Aは、バックアップボリュームインタフェースドライバ部160から出力されたリクエストに含まれるバックアップデータをバックアップボリュームに書き込む処理を制御する。
The
図9に、ミラーリクエストキューとノーマルリクエストキュー両方をストレージインタフェースドライバ部内で制御する場合の実装形態を示す。 FIG. 9 shows an implementation when both the mirror request queue and the normal request queue are controlled within the storage interface driver unit.
図10に、H/W(IFコントローラ/ストレージコントローラ)でコマンドをキューイングする場合の実装形態を示す。 FIG. 10 shows an implementation in the case of queuing commands with H / W (IF controller / storage controller).
《本実施形態に係る記録再生装置が実行する処理の流れについて》
本実施形態に係る記録再生装置が実行する処理の流れを図11、図12に示す。
<< Flow of processing executed by recording / reproducing apparatus according to this embodiment >>
The flow of processing executed by the recording / reproducing apparatus according to the present embodiment is shown in FIGS.
図11は、永続を必要とするファイルの書込み処理について示す。図12は、永続化を必要としないファイルの書込み処理について示す。また、図13には、図12に示す永続を必要とするファイルの書込みを、RAIDコントローラを用いてさらにストレージの破壊についての耐性を向上させた場合について示す。 FIG. 11 shows a process for writing a file that requires persistence. FIG. 12 shows a file write process that does not require persistence. FIG. 13 shows a case where the writing of the file that requires persistence shown in FIG. 12 is further improved with respect to the destruction of the storage by using the RAID controller.
図11、図12、図13の3つの例において、ファイルを書き出す場合はFS(File System)管理データ1321(各図における実線矢印)、ファイル管理データ1322(各図における破線矢印)とファイルの中身となるデータ(各図における太矢印)の書出しを必要とする。 11, 12, and 13, when writing a file, FS (File System) management data 1321 (solid arrow in each figure), file management data 1322 (broken arrow in each figure) and the contents of the file It is necessary to write out the data (thick arrow in each figure).
図11において、新たにファイルを作成する場合には、ファイルクリエートシステムコールによりファイル名とファイルの属性情報を付加する。永続化ファイルか通常ファイルかの区別はこの属性情報として与えられる。 In FIG. 11, when a new file is created, a file name and file attribute information are added by a file create system call. The distinction between persistent files and regular files is given as this attribute information.
ファイルシステム部130は、この属性情報およびシステムコールの種別によりトランザクションを決定し、そのトランザクション中でリソース管理部132に働きかけ変更が必要な場合はそのリソースを書き出す。この例のリソースはFS管理データ1321とファイル管理データ1322がそれに相当する。
The
ファイルシステム部130は、永続化ファイルの属性情報によりリソース書出しリクエストを作成する。この際、リクエスト内のデータとしてどのトランザクションのリクエストかを判別するためのトランザクションタグを保持しているものとする。
The
リクエストは、ファイルシステム部130によってトランザクションミラーリングドライバ部140のミラーリクエストキュー141に繋がれるものとする。図11では、実線矢印、破線矢印が、それぞれFS管理データ1321、ファイル管理データ1322の書出しを示している。
It is assumed that the request is connected to the mirror request queue 141 of the transaction mirroring
トランザクションミラーリングドライバ部140は、ミラーリクエストキュー141につながれているリクエストを任意のタイミングでオリジナルボリュームインタフェースドライバ部150のリクエストキュー151に繋ぐ。トランザクションミラーリングドライバ部140のリクエスト制御部142は、オリジナルボリュームインタフェースドライバ部150からの転送終了を待つ。また、トランザクションミラーリングドライバ部140は、リクエストのstatusである転送前/転送終了待ち/転送完了/ミラー転送終了待ち/ミラー転送完了を管理する。
The transaction mirroring
ファイルシステム部130は、トランザクション中に発行すべきリクエストを全てミラーリクエストキュー141に繋いだ時点で、ミラーリング実行イベントをトランザクションミラーリングドライバ部140に通知する。このときのイベントの情報としてトランザクションタグを通知する。
The
トランザクションミラーリングドライバ部140は、ミラーリング実行イベントに含まれているトランザクションタグと同じタグ情報のリクエストのステータスが全て転送完了するまで待ち、全てのリクエストが転送完了となった時点で全てのリクエストをバックアップボリュームインタフェースドライバ部160のリクエストキュー161に繋ぐ。トランザクションミラーリングドライバ部140は、再度全てのリクエストがミラー転送完了になるのを待ち、全て転送完了した時点でファイルシステム部130に転送終了を通知する。ファイルシステム部130は、転送終了をシステムコールの戻りとする。
The transaction mirroring
図12を用いて、永続化を必要としないファイルの書込み処理について説明する。通常ファイルの場合でもFS管理データ1321、ファイル管理データ1322は、ミラーリングの対象となる。同一FS上にファイルを格納する場合は、永続化ファイルでも通常ファイルでも同一のデータを扱うため、特にFS管理データ1321は、通常ファイルだからといってミラーリングを行わないとFSが破壊される恐れがある。よって、FS管理データ1321およびファイル管理データ1322は永続化ファイルの場合と同様にミラーリングが行われる。データの書出しだけミラーリングを行わない。
A file writing process that does not require perpetuation will be described with reference to FIG. Even in the case of a normal file, the
記録再生装置は、ファイルの中身となるデータ(通常ファイル)の書き込み先となるデータブロック183をさらに備える。 The recording / reproducing apparatus further includes a data block 183 as a write destination of data (normal file) that is the contents of the file.
また、記録再生装置は、データブロックインタフェースドライバ部166をさらに備える。データブロックインタフェースドライバ部166は、データブロック書き込み用リクエストキュー(リクエストキュー167)を有し、リクエストキュー167から取り出したリクエストを出力する。
The recording / reproducing apparatus further includes a data block
ファイルシステム部130は、ファイルの中身となるデータ(通常ファイル)を、リクエストキュー167に登録する。
The
ストレージ制御部170Aは、データブロックインタフェースドライバ部166から出力されたリクエストに含まれるデータをデータブロック183に書き込む処理をさらに制御する。
The
図13を用いて、図12に示す永続を必要とするファイルの書込みを、RAIDコントローラを用いてさらにストレージの破壊についての耐性を向上させた場合について説明する。図13に示すように、ハードウェア側にストレージ制御部+RAID制御部170Cが存在する。このRAID制御の機能によって、2つのストレージのそれぞれに同一のデータが書き込まれる。これによって、ストレージに対する物理的な破壊からデータを保護することができる。したがって、ファイルシステムが破壊される場合、ファイルが消滅する場合のみならず、ハードディスクが物理的に破壊される場合に対してもデータを復旧することが可能となる。
Referring to FIG. 13, description will be given of a case where the writing of a file requiring persistence shown in FIG. 12 is further improved with respect to storage destruction using a RAID controller. As shown in FIG. 13, there is a storage control unit +
《本実施形態が奏する効果について》
本実施形態によれば、以下のような効果を奏する。
<< Effects of this embodiment >>
According to this embodiment, there are the following effects.
1.障害発生時の修復が高速に行える。
2.ファイルシステムの修復時にファイルを破棄することなく、永続的に存在させることができる。
3.ファイルを2重に書き込むよりもパフォーマンスが向上する。
4.ミドルウェアは、通常のシステムコールを呼び出すだけでミラーを意識する作りにしなくてもよい。
5.RAID1のミラーではファイルシステムの整合性を保証できないが、本実施形態では整合性を保証できる。
6.実装はS/W、H/W両方で可能である。
7.ミドルウェアはミラーを意図しない作りにすることができるが、ミラーが必要なデータおよびリソースか不必要かはミドルウェアがハンドリングすることができ、ファイルレベルでミラーを行うファイルとミラーを必要としないファイルを混在させることが可能である。
1. Fast recovery when a failure occurs.
2. It can exist permanently without destroying the file when repairing the file system.
3. Better performance than writing a file twice.
4). The middleware does not need to be made aware of the mirror by simply calling a normal system call.
5). A RAID 1 mirror cannot guarantee file system consistency, but this embodiment can guarantee consistency.
6). Mounting is possible with both S / W and H / W.
7). The middleware can make a mirror unintentionally, but the middleware can handle whether the data and resources that need a mirror are unnecessary. It is possible to make it.
《本実施形態の変形例について》
上記では、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
<< Variation of this embodiment >>
In the above, preferred embodiments of the present invention have been described with reference to the accompanying drawings. However, it goes without saying that the present invention is not limited to such examples. It will be apparent to those skilled in the art that various changes and modifications can be made within the scope of the claims, and these are naturally within the technical scope of the present invention. Understood.
68 オリジナルボリューム
69 バックアップボリューム
81 メモリ
82 リソース
83 ログ格納領域
84 HDD
120 システムコール部
130 ファイルシステム部
132 リソース管理部
140 トランザクションミラーリングドライバ部
141 ミラーリクエストキュー
142 リクエスト制御部
150 オリジナルボリュームインタフェースドライバ部
151 リクエストキュー
160 バックアップボリュームインタフェースドライバ部
161 リクエストキュー
170C RAID制御部
181 オリジナルボリューム
182 バックアップボリューム
1321 FS管理データ
1322 ファイル管理データ
8411 HDDwriteキャッシュ
8412 メディア
68
DESCRIPTION OF
Claims (5)
前記ミラーリクエストキューを有し、当該ミラーリクエストキューに登録されている1または複数のリクエストをオリジナルボリューム書き込み用リクエストキューに登録し、登録した当該1または複数のリクエストに対する処理がすべて完了したら、前記ミラーリング要求フラグを参照し、当該ミラーリング要求フラグに前記所定の値が設定されている場合には、前記ミラーリクエストキューに登録されている1または複数のリクエストをバックアップボリューム書き込み用リクエストキューに登録するトランザクションミラーリングドライバ部と、
前記オリジナルボリューム書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するオリジナルボリュームインタフェースドライバ部と、
前記バックアップボリューム書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するバックアップボリュームインタフェースドライバ部と、
前記オリジナルボリュームインタフェースドライバ部から出力されたリクエストに含まれるオリジナルデータをオリジナルボリュームに書き込む処理と、前記バックアップボリュームインタフェースドライバ部から出力されたリクエストに含まれるバックアップデータをバックアップボリュームに書き込む処理とを制御するストレージ制御部と、
を備える、記録再生装置。 Accepts transaction input from the system call part, generates one or more requests necessary for the transaction processing, registers the generated one or more requests in the mirror request queue, and stores them in the memory after registration A file system unit for setting a predetermined value in the mirroring request flag,
When the mirror request queue is registered, one or more requests registered in the mirror request queue are registered in the original volume write request queue, and the processing for the registered one or more requests is completed, the mirroring is completed. Transaction mirroring that refers to the request flag and registers one or more requests registered in the mirror request queue in the backup volume write request queue when the predetermined value is set in the mirroring request flag A driver section;
An original volume interface driver unit that has the original volume write request queue and outputs a request taken out of the request queue;
A backup volume interface driver unit that has the backup volume write request queue and outputs a request taken out of the request queue;
Controls processing for writing original data included in the request output from the original volume interface driver unit to the original volume and processing for writing backup data included in the request output from the backup volume interface driver unit to the backup volume. A storage controller;
A recording / reproducing apparatus.
前記バックアップボリューム書き込み用リクエストキューに登録した1または複数のリクエストに対する処理がすべて完了したら、前記ミラーリング要求フラグに設定されている所定の値をクリアする、
請求項1に記載の記録再生装置。 The file system unit is
When all the processing for one or more requests registered in the backup volume write request queue is completed, a predetermined value set in the mirroring request flag is cleared.
The recording / reproducing apparatus according to claim 1.
前記リクエストに対して、トランザクションを判別するためのタグを付与する、
請求項2に記載の記録再生装置。 The file system unit is
A tag for determining a transaction is given to the request.
The recording / reproducing apparatus according to claim 2.
をさらに備え、
前記ファイルシステム部は、
前記ファイルの中身となるデータを、前記データブロック書き込み用リクエストキューに登録し、
前記ストレージ制御部は、
前記データブロックインタフェースドライバ部から出力されたリクエストに含まれるデータを、ファイルの中身となるデータの書き込み先となるデータブロックに書き込む処理をさらに制御する、
請求項3に記載の記録再生装置。 A data block interface driver unit that has a data queue write request queue and outputs a request fetched from the request queue.
The file system unit is
Register the data that is the contents of the file in the data block write request queue,
The storage control unit
Further controlling the process of writing the data included in the request output from the data block interface driver unit to the data block to which the data that is the contents of the file is written;
The recording / reproducing apparatus according to claim 3.
トランザクションミラーリングドライバ部が、前記ミラーリクエストキューを有し、当該ミラーリクエストキューに登録されている1または複数のリクエストをオリジナルボリューム書き込み用リクエストキューに登録し、登録した当該1または複数のリクエストに対する処理がすべて完了したら、前記ミラーリング要求フラグを参照し、当該ミラーリング要求フラグに前記所定の値が設定されている場合には、前記ミラーリクエストキューに登録されている1または複数のリクエストをバックアップボリューム書き込み用リクエストキューに登録するステップと、
オリジナルボリュームインタフェースドライバ部が、前記オリジナルボリューム書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するステップと、
バックアップボリュームインタフェースドライバ部が、前記バックアップボリューム書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するステップと、
ストレージ制御部が、前記オリジナルボリュームインタフェースドライバ部から出力されたリクエストに含まれるオリジナルデータをオリジナルボリュームに書き込む処理と、前記バックアップボリュームインタフェースドライバ部から出力されたリクエストに含まれるバックアップデータをバックアップボリュームに書き込む処理とを制御するステップと、
を含む、記録再生方法。 When the file system unit receives an input of a transaction from the system call unit, generates one or more requests necessary for processing the transaction, registers the generated one or more requests in the mirror request queue, and finishes registration Setting a predetermined value in the mirroring request flag stored in the memory;
The transaction mirroring driver unit has the mirror request queue, registers one or more requests registered in the mirror request queue in the original volume write request queue, and performs processing for the registered one or more requests. When all are completed, the mirroring request flag is referred to, and when the predetermined value is set in the mirroring request flag, one or more requests registered in the mirror request queue are requested as backup volume write requests. A step to queue,
An original volume interface driver unit having the original volume write request queue and outputting a request fetched from the request queue;
A backup volume interface driver unit having the request queue for writing the backup volume, and outputting a request fetched from the request queue;
The storage control unit writes the original data included in the request output from the original volume interface driver unit to the original volume, and writes the backup data included in the request output from the backup volume interface driver unit to the backup volume. Controlling the processing;
Including a recording / reproducing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008172595A JP2010015253A (en) | 2008-07-01 | 2008-07-01 | Recording/reproducing device and recording/reproducing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008172595A JP2010015253A (en) | 2008-07-01 | 2008-07-01 | Recording/reproducing device and recording/reproducing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010015253A true JP2010015253A (en) | 2010-01-21 |
Family
ID=41701335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008172595A Withdrawn JP2010015253A (en) | 2008-07-01 | 2008-07-01 | Recording/reproducing device and recording/reproducing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010015253A (en) |
-
2008
- 2008-07-01 JP JP2008172595A patent/JP2010015253A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8732121B1 (en) | Method and system for backup to a hidden backup storage | |
JP4800056B2 (en) | Storage system and control method thereof | |
US8074035B1 (en) | System and method for using multivolume snapshots for online data backup | |
JP4727437B2 (en) | Storage control method for storage system having database | |
US5875479A (en) | Method and means for making a dual volume level copy in a DASD storage subsystem subject to updating during the copy interval | |
US7107486B2 (en) | Restore method for backup | |
US7587564B2 (en) | System, method and computer program product for managing data versions | |
JP4800031B2 (en) | Storage system and snapshot management method | |
US7461201B2 (en) | Storage control method and system for performing backup and/or restoration | |
WO2010038558A1 (en) | Information backup/restoring apparatus and information backup/restoring system | |
US7979651B1 (en) | Method, system, and computer readable medium for asynchronously processing write operations for a data storage volume having a copy-on-write snapshot | |
JPH07239799A (en) | Method for provision of remote data shadowing and remote data duplex system | |
JP2002297455A (en) | Reproducing method among data fields of memory device and memory system | |
JP2006268503A (en) | Computer system, disk unit and data update control method | |
JP4311532B2 (en) | Storage system and snapshot management method in the same system | |
CN106528338A (en) | Remote data replication method, storage equipment and storage system | |
JP2008299695A (en) | Database management system for controlling power consumption of storage system | |
US20090177916A1 (en) | Storage system, controller of storage system, control method of storage system | |
US8131958B2 (en) | Storage system, storage device, and data updating method using a journal volume | |
JP2006059347A (en) | Storage system using journaling | |
US7313724B1 (en) | Method and apparatus for synchronizing redundant data with a volume | |
JP2010191499A (en) | Storage system | |
JP2002278706A (en) | Disk array device | |
US20050223180A1 (en) | Accelerating the execution of I/O operations in a storage system | |
JP2007323377A (en) | Recording apparatus, method for writing management data and method for repairing management data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |