JP2009037564A - Disk management program, disk management method, and disk management apparatus - Google Patents
Disk management program, disk management method, and disk management apparatus Download PDFInfo
- Publication number
- JP2009037564A JP2009037564A JP2007203512A JP2007203512A JP2009037564A JP 2009037564 A JP2009037564 A JP 2009037564A JP 2007203512 A JP2007203512 A JP 2007203512A JP 2007203512 A JP2007203512 A JP 2007203512A JP 2009037564 A JP2009037564 A JP 2009037564A
- Authority
- JP
- Japan
- Prior art keywords
- file
- volume
- disk
- information
- cpu
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】グローバルファイルシステムにおいてファイルの再配置が効率的に行えるようにすること。
【解決手段】領域管理用メタデータサーバマシン30は、何れかのノードマシン20〜50がファイルアクセスに伴ってメタデータを問い合わせてきたときには、そのファイルが断片化状態にあるか否かを判定し(ステップS105〜S108)、断片化状態にあれば、そのファイルに関する情報を断片化ファイル情報管理テーブル73に登録する(ステップS109)。また、領域管理用メタデータサーバマシン30は、この動作と並行して、操作者からボリュームの追加が指示されると(ステップS201、S202)、断片化ファイル情報管理テーブル73に情報が登録されているファイルを、既存のディスクから、追加されるディスクへ、順に移動させる(ステップS211、S309、S401〜S403)。
【選択図】図13An object of the present invention is to enable efficient file relocation in a global file system.
An area management metadata server machine 30 determines whether or not a file is in a fragmented state when any of the node machines 20 to 50 inquires about metadata accompanying the file access. (Steps S105 to S108) If it is in a fragmented state, information about the file is registered in the fragmented file information management table 73 (Step S109). In addition, in parallel with this operation, the area management metadata server machine 30 registers information in the fragmented file information management table 73 when the operator gives an instruction to add a volume (steps S201 and S202). Files are sequentially moved from the existing disk to the added disk (steps S211, S309, S401 to S403).
[Selection] Figure 13
Description
本発明は、ディスクを管理するためのプログラム、方法及び装置に、関する。 The present invention relates to a program, method and apparatus for managing a disk.
周知のように、ストレージマシン内のディスクの記憶領域は、複数のセクタに細かく区割りされている。複数のセクタは、ファイルシステムによって、更に、連続する所定個数の単位ごとに、ブロックとして纏められ、各ブロックは、アドレスを付けて管理されている。通常、ファイルのデータ量は、1つのブロックの記憶容量より大きいため、ファイルシステムがファイルをディスクに記録する場合、ファイルは、複数のブロックに亙って書き込まれる。ファイルを構成する複数の単位データが、それぞれどのブロックに記録されているかは、ファイルシステムにより管理されている(領域管理)。なお、各ファイルは、利用者の整理性の向上のため、階層的に分類されており、各階層に関するディレクトリ情報も、ファイルシステムにより管理されている(名前管理)。 As is well known, the storage area of the disk in the storage machine is finely divided into a plurality of sectors. The plurality of sectors are further grouped into blocks for each predetermined number of units by the file system, and each block is managed with an address. Usually, since the data amount of a file is larger than the storage capacity of one block, when the file system records a file on a disk, the file is written over a plurality of blocks. It is managed by the file system (block management) which block contains a plurality of unit data constituting the file. Each file is classified hierarchically in order to improve user organization, and directory information related to each hierarchy is also managed by the file system (name management).
ファイルは、使用開始直後のディスクでは、連続したブロックに纏めて書き込まれるが、或る程度使用されたディスクでは、不連続のブロックに分散して書き込まれてしまうことが多い。これは、或る程度使用されたディスクでは、ファイルの書込と上書(すなわち割り当てブロックの増量又は減量)と消去とが繰り返されていることにより、所々に空きブロックが生じるためである。このようにファイルが不連続のブロックに書き込まれた状態は、断片化状態(フラグメンテーション)と称されており、ディスク内のファイルがこのように断片化されていると、ファイルアクセスにおける単位データのシークに時間が掛かってしまう。 Files are written in continuous blocks on a disk immediately after the start of use, but are often written in a discontinuous block on a disk that has been used to some extent. This is because, in a disk that has been used to some extent, file writing, overwriting (ie, increasing or decreasing the number of allocated blocks), and erasing are repeated, resulting in free blocks in some places. A state in which a file is written in discontinuous blocks in this way is called a fragmentation state (fragmentation). If the file on the disk is fragmented in this way, seek of unit data in file access is performed. Takes time.
このようなファイルアクセス速度の低下を解消するため、従来、デフラグメンテーション機能が使用されている。デフラグメンテーション機能は、周知のように、断片化したファイルを、不連続なブロックから、連続したブロックに再配置する機能である。具体的には、デフラグメンテーション機能は、断片化したファイルの単位データを、不連続なブロックから消去して別のブロックへ一旦複製することにより、連続するブロックを確保し、その後、一旦複製された単位データを、確保した連続ブロックへ移し替えるというものである。 Conventionally, a defragmentation function is used to eliminate such a decrease in file access speed. As is well known, the defragmentation function is a function for rearranging fragmented files from discontinuous blocks to continuous blocks. Specifically, the defragmentation function secures a continuous block by erasing the unit data of a fragmented file from a discontinuous block and temporarily replicating it to another block, and then it is once replicated The unit data is transferred to the secured continuous block.
ところで、従来のファイルシステムは、ディスク内で名前空間(ファイルとその階層的分類(ディレクトリ)の体系)を完結させるものであったため、信頼性や拡張性に欠けていた。近年では、ファイルシステムの信頼性や拡張性を向上させるため、グローバルファイルシステムが開発されている。 By the way, the conventional file system completes the name space (file and its hierarchical classification (directory) system) in the disk, and thus lacks reliability and expandability. In recent years, global file systems have been developed to improve the reliability and expandability of file systems.
グローバルファイルシステムは、クラスタシステムを構成する複数のノードマシンに対し、同一のメタデータと同一のディスクとを共用させるファイルシステムである。メタデータは、主に、ファイルとディスクブロックとの関係を定義する領域情報、及び、名前空間を定義する名前情報からなり、各ノードマシンと同じネットワークに接続されたメタデータサーバマシンにおいて管理される。つまり、グローバルファイルシステムでは、ファイルシステムの主な三仕事である領域管理、名前管理、及び、ファイル操作制御のうち、領域管理及び名前管理を、メタデータサーバマシンが担当することとなる。一方、各ノードマシンは、ファイル操作制御の機能のみを備え、クライアントとしてメタデータを利用する。 The global file system is a file system in which the same metadata and the same disk are shared by a plurality of node machines constituting the cluster system. Metadata mainly consists of area information that defines the relationship between files and disk blocks, and name information that defines a name space, and is managed in a metadata server machine connected to the same network as each node machine. . That is, in the global file system, the metadata server machine is in charge of area management and name management among area management, name management, and file operation control, which are the three main tasks of the file system. On the other hand, each node machine has only a file operation control function and uses metadata as a client.
このようなグローバルファイルシステムにより複数のノードマシンに利用されるディスクでは、その空き容量が足りなくなってくると、前述したフラグメンテーションが発生していることが多い。そのため、空き容量の不足時には、前述したデフラグメンテーション機能によるファイルの再配置が必要となってくる。 In a disk used for a plurality of node machines by such a global file system, the above-mentioned fragmentation often occurs when the free space becomes insufficient. For this reason, when the free space is insufficient, it is necessary to rearrange files by the above-described defragmentation function.
しかしながら、空き容量が足りないことから、断片化したファイルを構成する単位データを再配置する際に単位データを一旦複製しておくブロックも少なく、効率的にデフラグメンテーションが行えないという問題があった。 However, since there is not enough free space, there are few blocks that temporarily replicate unit data when relocating the unit data constituting a fragmented file, and there is a problem that defragmentation cannot be performed efficiently. .
なお、特許文献1には、ディスク内で断片化されている音声データのファイルを、視聴用マシンのディスクへ、単位データの再配置をししつつ短時間で転送する技術が、開示されている。但し、この特許文献1に係る技術は、データ転送に係るものであり、断片化されているファイルを同一ボリューム内で再配置するというものではない。 Patent Document 1 discloses a technique for transferring audio data files fragmented in a disk to a disk of a viewing machine in a short time while rearranging unit data. . However, the technique according to Patent Document 1 relates to data transfer, and does not relocate fragmented files within the same volume.
本発明は、前述したような従来技術の有する問題点に鑑みてなされたものであり、その課題は、グローバルファイルシステムにおいてファイルの再配置が効率的に行えるようにすることにある。 The present invention has been made in view of the problems of the prior art as described above, and an object of the present invention is to enable efficient file relocation in a global file system.
上記の課題を解決するために案出されたディスク管理プログラムは、ファイルとディスクブロックとの関係を定義する領域情報、及び、名前空間を定義する名前情報を含むメタデータ、並びに、ファイルが記録されるディスクを複数のノードマシンに共用させるグローバルファイルシステムが実装されたクラスタシステムにおいて、メタデータサーバマシンを、何れかのノードマシンからファイルアクセスに伴うメタデータの問い合わせを受け付けると、そのファイルが断片化状態にあるか否かを判定する判定手段、その判定手段が当該ファイルが断片化状態にあると判定した場合に、そのファイルに関する情報を記憶装置内のテーブルに登録する登録手段、任意のディスクの指定とともにボリューム追加の指示を入力装置を通じて操作者から受け付ける受付手段、及び、その受付手段がボリューム追加の指示を受け付けると、テーブルに情報が登録されているファイルを、既存ディスクから、受付手段で受け付けた指定により特定されるディスクへ、順に移動させる移動手段として機能させることを、特徴としている。 The disk management program devised to solve the above problems records area information defining the relationship between files and disk blocks, metadata including name information defining a name space, and files. In a cluster system with a global file system that shares a shared disk with multiple node machines, when a metadata server machine receives a metadata inquiry from one of the node machines, the file becomes fragmented. A determination unit that determines whether or not the file is in a state; a registration unit that registers information about the file in a table in the storage device when the determination unit determines that the file is in a fragmented state; Instruct the operator to add a volume with the input device Receiving accepting means, and when the accepting means accepts an instruction to add a volume, a move for sequentially moving a file whose information is registered in the table from an existing disk to a disk specified by the designation accepted by the accepting means It is characterized by functioning as a means.
このように構成されると、メタデータサーバマシンは、何れかのノードマシンがファイルアクセスに伴ってメタデータを問い合わせてきたときには、そのファイルが断片化状態にあるか否かを判定し、断片化状態にあれば、そのファイルに関する情報をテーブルに登録するよう、動作する。また、メタデータサーバマシンは、この動作と並行して、操作者からボリュームの追加が指示されると、テーブルに情報が登録されているファイルを、既存のディスクから、追加されるディスクへ、順に移動させるよう、動作する。このような動作によれば、既存ディスク内で断片化状態にあったファイルは、追加されるディスク内へ移動されることに伴い、連続したブロックに纏めて書き込まれることとなる。つまり、ディスクの空き容量が足りなくても、ファイルが効率的に再配置されるようになる。 When configured in this way, the metadata server machine determines whether or not the file is in a fragmented state when any of the node machines inquires about metadata accompanying the file access. If so, it operates to register information about the file in the table. Also, in parallel with this operation, the metadata server machine, in response to an instruction from the operator to add a volume, sequentially transfers files whose information is registered in the table from the existing disk to the added disk. Operates to move. According to such an operation, files that are in a fragmented state in the existing disk are collectively written in continuous blocks as they are moved into the added disk. In other words, even if there is not enough free space on the disk, the files can be relocated efficiently.
また、上記の課題を解決するために案出されたディスク管理方法は、ファイルとディスクブロックとの関係を定義する領域情報、及び、名前空間を定義する名前情報を含むメタデータ、並びに、ファイルが記録されるディスクを複数のノードマシンに共用させるグローバルファイルシステムが実装されたクラスタシステムにおいて、メタデータサーバマシンが、何れかのノードマシンからファイルアクセスを受け付けると、そのファイルが断片化状態にあるか否かを判定する判定手順、その判定手順で当該ファイルが断片化状態にあると判定した場合に、そのファイルに関する情報を記憶装置内のテーブルに登録する登録手順、任意のディスクの指定とともにボリューム追加の指示を入力装置を通じて操作者から受け付ける受付手順、及び、その受付手順でボリューム追加の指示を受け付けると、テーブルに情報が登録されているファイルを、既存ディスクから、受付手順で受け付けた指定により特定されるディスクへ、順に移動させる移動手順を実行することを、特徴としている。 In addition, the disk management method devised to solve the above-mentioned problem is that the area information defining the relationship between the file and the disk block, the metadata including the name information defining the name space, and the file In a cluster system that implements a global file system that shares a recorded disk with multiple node machines, if the metadata server machine receives file access from any of the node machines, is the file fragmented? Judgment procedure for determining whether or not, and if the determination procedure determines that the file is in a fragmented state, a registration procedure for registering information about the file in a table in the storage device, and adding a volume along with the specification of an arbitrary disk Accepting instructions from the operator through the input device, and When the volume addition instruction is accepted in the acceptance procedure, the migration procedure for moving the files whose information is registered in the table from the existing disk to the disk specified by the designation accepted in the acceptance procedure is executed. , With features.
従って、このディスク管理方法を実現したメタデータサーバマシンは、前述した本発明のディスク管理プログラムが動作したメタデータサーバマシンと同等に機能することとなる。 Therefore, the metadata server machine that implements this disk management method functions in the same manner as the metadata server machine on which the disk management program of the present invention operates.
また、上記の課題を解決するために案出されたディスク管理装置は、ファイルとディスクブロックとの関係を定義する領域情報、及び、名前空間を定義する名前情報を含むメタデータ、並びに、ファイルが記録されるディスクを複数のノードマシンに共用させるグローバルファイルシステムが実装されたクラスタシステムにおいてディスクを管理するため、何れかのノードマシンからファイルアクセスを受け付けると、そのファイルが断片化状態にあるか否かを判定する判定部、その判定部が当該ファイルが断片化状態にあると判定した場合に、そのファイルに関する情報をテーブルに登録する登録部、任意のディスクの指定とともにボリューム追加の指示を操作者から受け付ける受付部、及び、その受付部がボリューム追加の指示を受け付けると、テーブルに情報が登録されているファイルを、既存ディスクから、受付部で受け付けた指定により特定されるディスクへ、順に移動する移動部を備えることを、特徴としている。 In addition, the disk management device devised to solve the above-mentioned problem is that the area information defining the relationship between the file and the disk block, the metadata including the name information defining the name space, and the file Whether or not a file is fragmented when file access is accepted from any node machine in order to manage the disk in a cluster system with a global file system that allows multiple node machines to share the recorded disk A determination unit that determines whether the file is in a fragmented state, a registration unit that registers information about the file in the table, and an instruction to add a volume together with designation of an arbitrary disk The reception unit that accepts the volume, and the reception unit receives the volume addition instruction If that, the file information table is registered, the existing disk, the disk that is identified by the designation accepted by the accepting unit, further comprising a moving unit that moves sequentially, are characterized.
従って、このディスク管理装置は、前述した本発明のディスク管理プログラムが動作したメタデータサーバマシンと同等に機能することとなる。 Therefore, this disk management apparatus functions in the same manner as the metadata server machine on which the disk management program of the present invention described above operates.
以上に説明したように、本発明によれば、グローバルファイルシステムにおいてファイルの再配置が効率的に行えるようになる。 As described above, according to the present invention, file relocation can be efficiently performed in the global file system.
以下、本発明を実施するための最良の形態について、添付図面を参照しながら、説明する。 The best mode for carrying out the present invention will be described below with reference to the accompanying drawings.
まず、本実施形態のコンピュータネットワークシステムのハードウエア構成とソフトウエア構成について、説明する。 First, the hardware configuration and software configuration of the computer network system of this embodiment will be described.
本実施形態のコンピュータネットワークシステムは、図1のネットワーク構成図に示すように、ストレージマシン10、名前管理用メタデータサーバマシン20、領域管理用メタデータサーバマシン30、デフラグ用メタデータサーバマシン40、汎用サーバマシン50、及び、クライアントマシン60からなる。このうち、ストレージマシン10と各サーバマシン20〜50とは、図示せぬファイバチャンネルスイッチを介して通信自在に接続されることにより、SAN[Storage Area Network]を構成している。また、各サーバマシン20〜50とクライアントマシン60とは、図示せぬルータを介して通信自在に接続されることにより、LAN[Local Area Network]を構成している。なお、汎用サーバマシン50は、図1では1台しか示されていないが、2台以上存在していても良い。また、ストレージマシン10とクライアントマシン60は、図1ではともに2台しか示されていないが、何れも1台しか存在していなくても良いし、3台以上存在していても良い。 As shown in the network configuration diagram of FIG. 1, the computer network system of the present embodiment includes a storage machine 10, a name management metadata server machine 20, an area management metadata server machine 30, a defragmentation metadata server machine 40, It consists of a general-purpose server machine 50 and a client machine 60. Among these, the storage machine 10 and each server machine 20-50 are communicably connected via a fiber channel switch (not shown) to constitute a SAN (Storage Area Network). The server machines 20 to 50 and the client machine 60 are communicably connected via a router (not shown) to constitute a LAN [Local Area Network]. Although only one general-purpose server machine 50 is shown in FIG. 1, two or more general-purpose server machines 50 may exist. In addition, although only two storage machines 10 and client machines 60 are shown in FIG. 1, only one storage machine 10 or three or more may exist.
また、本実施形態のサーバマシン20〜50には、異機種間に単一のファイルシステム機能を提供するグローバルファイルシステムが適用されている。なお、周知のように、ファイルシステムは、主に、名前管理、領域管理、及び、ファイル操作制御を、行うものであるが、このうち、ファイル操作制御を実現する機能は、後述するように、グローバルファイルシステムのクライアントとして、全てのサーバマシン20〜50に実装されている。一方、名前管理及び領域管理を実現する機能は、後述するように、グローバルファイルシステムのサーバとして、メタデータサーバマシン20〜40に実装されている。 Further, a global file system that provides a single file system function between different models is applied to the server machines 20 to 50 of the present embodiment. As is well known, the file system mainly performs name management, area management, and file operation control. Among these, the functions for realizing file operation control are as described later. As a global file system client, it is implemented in all server machines 20-50. On the other hand, functions for realizing name management and area management are implemented in the metadata server machines 20 to 40 as servers of a global file system, as will be described later.
ここで、グローバルファイルシステムの名前管理及び領域管理を実現する機能は、一般的には、1台のメタデータサーバマシンに実装されることが多いが、本実施形態では、名前管理と領域管理とは、別々のマシン20、30に実装されている。このように名前管理と領域管理とが別々のマシンに実装されているのは、デフラグメンテーション機能によるファイル再配置処理がファイルアクセス処理に与える影響を最小にするためである。これは、一般的なファイルアクセス処理では、ディレクトリ検索が頻繁に行われて名前管理機能に負荷が掛かるのに対し、領域管理機能には相対的に負荷が掛からないという事情、及び、ファイル再配置処理では、ファイルが記録されているディスクブロックが変更されることに伴って領域情報が頻繁に更新されて領域管理機能に負荷が掛かるのに対し、名前管理機能には相対的に負荷が掛からないという事情に基づいている。 Here, functions for realizing name management and area management of the global file system are generally implemented in one metadata server machine, but in this embodiment, name management and area management are performed. Are mounted on separate machines 20 and 30. The reason why the name management and the area management are implemented in separate machines is to minimize the influence of the file relocation processing by the defragmentation function on the file access processing. This is because, in general file access processing, directory search is frequently performed and the name management function is loaded, while the area management function is relatively unloaded, and file relocation In the process, the area information is frequently updated as the disk block in which the file is recorded is changed, and the area management function is loaded. On the other hand, the name management function is not relatively loaded. It is based on the circumstances.
更に、本実施形態では、領域管理機能に一般的に含まれるデフラグメンテーション機能を、領域管理用メタデータサーバマシン30とは別のマシン40に担当させている。これは、ファイル再配置処理において負荷が掛かる処理として、ファイル移動に伴うデータ複製と、領域情報の更新処理とがあり、これらを別々のサーバマシンに担当させた方が、デフラグ処理の負荷を分散できるためである。 Further, in the present embodiment, a defragmentation function generally included in the area management function is assigned to a machine 40 different from the area management metadata server machine 30. This is a process that puts a heavy load on file relocation processing, including data replication associated with file movement and area information update processing. If these are assigned to different server machines, the load on defragmentation is distributed. This is because it can.
なお、以上に説明したように、サーバマシン20〜50は、ファイルシステムに掛かる負荷を分散したシステム(クラスタ)を構成しているため、ノードマシンと称することもできる。 As described above, the server machines 20 to 50 constitute a system (cluster) in which a load applied to the file system is distributed, and thus can also be referred to as node machines.
ストレージマシン10は、サーバマシン20〜50がクライアントマシン60に提供する機能や情報を記録しておくための装置であり、図2の構成図に示すように、ディスクユニット10a、ストレージコントローラ10b、及び、HBA[Host Bus Adapter]10cを、内蔵している。ディスクユニット10aは、データを記録するための1枚以上のディスク、ディスクの回転機構、及び、読み書きヘッドを内蔵するユニットである。ストレージコントローラ10bは、メタデータサーバマシン20〜50からのコマンドに従ってディスクに対するデータの読み書きを制御するユニットである。HBA10cは、ファイバチャネルプロトコルに従ってメタデータサーバマシン20〜50とデータの遣り取りを行うための通信アダプタである。 The storage machine 10 is a device for recording functions and information provided by the server machines 20 to 50 to the client machine 60. As shown in the configuration diagram of FIG. 2, the storage machine 10 includes a disk unit 10a, a storage controller 10b, and HBA [Host Bus Adapter] 10c is incorporated. The disk unit 10a is a unit that incorporates one or more disks for recording data, a disk rotation mechanism, and a read / write head. The storage controller 10b is a unit that controls reading / writing of data from / to the disk in accordance with commands from the metadata server machines 20-50. The HBA 10c is a communication adapter for exchanging data with the metadata server machines 20 to 50 according to the fiber channel protocol.
名前管理用メタデータサーバマシン20は、前述した名前管理を担当するメタデータサーバマシンであり、図3の構成図に示すように、ストレージユニット20a、CPU[Central Processing Unit]20b、メモリユニット20c、HBA20d、及び、LANアダプタ20eを、内蔵している。ストレージユニット20aは、各種のプログラムやデータを記録しておくためのユニットである。CPU20bは、ストレージユニット20aに記録されているプログラムに従って処理を行うユニットである。メモリユニット20cは、CPU20bがプログラムやデータをキャッシュしたり作業領域を展開したりするユニットである。HBA20dは、ファイバチャネルプロトコルに従ってストレージマシン10とデータの遣り取りを行うための通信アダプタである。LANアダプタ20eは、TCP/IP[Transmission Control Protocol/Internet Protocol]及びイーサネットプロトコル(イーサネットは、米ゼロックス社及び米ヒューレットパッカード社商標)に従ってクライアントマシン60とデータの遣り取りを行うための通信アダプタである。 The name management metadata server machine 20 is a metadata server machine in charge of the above-described name management. As shown in the configuration diagram of FIG. 3, a storage unit 20a, a CPU [Central Processing Unit] 20b, a memory unit 20c, The HBA 20d and the LAN adapter 20e are built in. The storage unit 20a is a unit for recording various programs and data. The CPU 20b is a unit that performs processing in accordance with a program recorded in the storage unit 20a. The memory unit 20c is a unit in which the CPU 20b caches programs and data and develops a work area. The HBA 20d is a communication adapter for exchanging data with the storage machine 10 according to the fiber channel protocol. The LAN adapter 20e is a communication adapter for exchanging data with the client machine 60 in accordance with TCP / IP (Transmission Control Protocol / Internet Protocol) and Ethernet protocol (Ethernet is a trademark of Xerox Corporation and Hewlett-Packard Company).
この名前管理用メタデータサーバマシン20は、ストレージユニット20aに、アプリケーション21、オペレーティングシステム22、及び、ファイルシステム23を、記憶している。アプリケーション21は、クライアントマシン60に提供される各種機能を実現するソフトウエアであり、このアプリケーション21で実現される機能としては、例えば、ウェブサーバ、ウェブアプリケーション、ファイルサーバ、メールサーバなどがある。オペレーティングシステム22は、HBA20dやLANアダプタ20eにおけるデータの入出力の管理や、メモリユニット20cの記憶領域の管理や、複数のタスクにウインドウを割り当てて画面出力を多重化するウインドウシステムや、各種設定ツールといった基本的な機能を、アプリケーション21を含む多くのアプリケーションに提供するためのソフトウエアである。ファイルシステム23は、前述したグローバルファイルシステムを実現するためのソフトウエアであり、そのグローバルファイルシステムによる機能のうち、クライアントとしてファイル操作制御機能を実現するプログラム23a、及び、名前空間(ファイルとその階層的分類(ディレクトリ)の体系)を管理する機能を実現するためのプログラム23bを、含んでいる。ファイル操作制御機能23aは、ファイルの読み出し、書き込み、複製、上書き、消去、名称変更、ディレクトリの移動、ディレクトリの作成、ディレクトリの削除と言ったファイルに関する操作をアプリケーション21に提供するプログラムである。名前管理機能23bは、メタデータのうち、名前空間(ファイル名、)を定義する名前情報(ファイルに関する情報、ディレクトリに関する情報、ディレクトリ構造に関する情報)を管理するとともに、ファイル名やディレクトリ名の検索を行うためのプログラムである。 The name management metadata server machine 20 stores an application 21, an operating system 22, and a file system 23 in a storage unit 20a. The application 21 is software that realizes various functions provided to the client machine 60. Examples of the function realized by the application 21 include a web server, a web application, a file server, and a mail server. The operating system 22 manages data input / output in the HBA 20d and the LAN adapter 20e, manages the storage area of the memory unit 20c, assigns windows to a plurality of tasks, multiplexes screen outputs, and various setting tools This is software for providing such basic functions to many applications including the application 21. The file system 23 is software for realizing the above-described global file system. Among the functions of the global file system, a program 23a that realizes a file operation control function as a client, and a name space (file and its hierarchy) A program 23b for realizing a function of managing a general classification (directory system). The file operation control function 23a is a program that provides the application 21 with operations related to files such as reading, writing, copying, overwriting, erasing, renaming, moving a directory, creating a directory, and deleting a directory. The name management function 23b manages name information (information on the file, information on the directory, information on the directory structure) that defines the name space (file name) in the metadata, and searches for the file name and directory name. It is a program to do.
領域管理用メタデータサーバマシン30は、前述した領域管理を担当するメタデータサーバマシンであり、図4の構成図に示すように、ストレージユニット30a、CPU30b、メモリユニット30c、HBA30d、及び、LANアダプタ30eを、内蔵している。この領域管理用メタデータサーバマシン30も、名前管理用メタデータサーバマシン20と同様に、ストレージユニット30aに、アプリケーション31、オペレーティングシステム32、及び、ファイルシステム33を、記憶している。アプリケーション31及びオペレーティングシステム32は、名前管理用メタデータサーバマシン20と同等の機能を発揮するソフトウエアである。ファイルシステム33は、前述したグローバルファイルシステムを実現するためのソフトウエアであり、そのグローバルファイルシステムによる機能のうち、クライアントとしてファイル操作制御機能を実現するプログラム33aを、含んでいる。 The area management metadata server machine 30 is a metadata server machine in charge of the area management described above. As shown in the configuration diagram of FIG. 4, the storage unit 30a, the CPU 30b, the memory unit 30c, the HBA 30d, and the LAN adapter. 30e is built in. Similarly to the name management metadata server machine 20, the area management metadata server machine 30 also stores an application 31, an operating system 32, and a file system 33 in the storage unit 30a. The application 31 and the operating system 32 are software that exhibits the same functions as the name management metadata server machine 20. The file system 33 is software for realizing the global file system described above, and includes a program 33a for realizing a file operation control function as a client among the functions of the global file system.
また、ファイルシステム33は、領域管理機能を実現するためのプログラム33b、フラグメント情報収集プログラム33c、ボリュームマネージャ33d、及び、空き容量監視プログラム33eをも、含んでいる。領域管理機能33bは、ファイルを構成する単位データとディスクブロックのアドレスとの対応付けを管理する機能を実現するプログラムである。この領域管理機能33bは、通常のファイルとディレクトリ情報を格納するファイルとに対し、一意な識別番号としてアイノード番号を付与し、それらファイルに関する情報を、図5に示すようなアイノード管理テーブル71に記録して管理するようになっている。また、この領域管理機能33bは、ストレージマシン10内のディスクのボリューム(記憶領域)に関する情報を、図6に示すようなボリューム管理テーブル72に記録して管理するようになっている。これらテーブル71、72は、何れかのストレージマシン10内に格納されていても良いし、領域管理用メタデータサーバマシン30のストレージユニット30a内に格納されていても良い。 The file system 33 also includes a program 33b for realizing the area management function, a fragment information collection program 33c, a volume manager 33d, and a free capacity monitoring program 33e. The area management function 33b is a program that realizes a function of managing the association between unit data constituting a file and the address of a disk block. The area management function 33b assigns an inode number as a unique identification number to a normal file and a file storing directory information, and records information about the file in an inode management table 71 as shown in FIG. To manage. The area management function 33b is configured to record and manage information related to the volume (storage area) of the disk in the storage machine 10 in a volume management table 72 as shown in FIG. These tables 71 and 72 may be stored in any one of the storage machines 10, or may be stored in the storage unit 30 a of the area management metadata server machine 30.
アイノード管理テーブル71は、ファイル(アイノード)と同数のレコードを、有している。各レコードは、図5の模式的なテーブル構造図に示すように、「アイノード」、「サイズ」、「ブロック数」、「エクステント数」、「最終アクセス日時」、「アクセス数」及び「ブロック」の各フィールドを、有している。「アイノード」フィールドは、そのファイルのアイノード番号が記録されるフィールドである。「サイズ」フィールドは、そのファイルのデータ量が記録されるフィールドである。「ブロック数」フィールドは、そのファイルがディスク上で占めているブロックの数が記録されるフィールドである。「エクステント数」フィールドは、そのファイルのエクステントの数が記録されるフィールドである。なお、エクステントとは、そのファイルが記録されているディスクブロックのうち、連続しているブロックの塊を言う。「最終アクセス日時」フィールドは、そのファイルへのアクセスのうち、最後になされたアクセスの日時が記録されるフィールドである。「アクセス数」フィールドは、そのファイルへのアクセスがなされた回数が記録されるフィールドである。「ブロック」フィールドは、そのファイルが記録されているディスクブロックを特定するアドレス情報が記録されるフィールドである。 The inode management table 71 has the same number of records as the file (inode). Each record includes “inode”, “size”, “number of blocks”, “number of extents”, “last access date”, “number of accesses”, and “block” as shown in the schematic table structure diagram of FIG. Each field. The “inode” field is a field in which the inode number of the file is recorded. The “size” field is a field in which the data amount of the file is recorded. The “number of blocks” field is a field in which the number of blocks occupied by the file on the disc is recorded. The “number of extents” field is a field in which the number of extents of the file is recorded. An extent refers to a block of consecutive blocks among the disk blocks in which the file is recorded. The “last access date / time” field is a field in which the date / time of the last access among the accesses to the file is recorded. The “number of accesses” field is a field in which the number of accesses to the file is recorded. The “block” field is a field in which address information specifying a disk block in which the file is recorded is recorded.
ボリューム管理テーブル72は、ストレージマシン10内のディスクと同数のレコードを、有している。各レコードは、図6の模式的なテーブル構造図に示すように、「ボリューム」、「ボリューム名」、「サイズ」、「空き容量」、「組込」、「自動追加」及び「再配置」の各フィールドを、有している。「ボリューム」フィールドは、そのディスクのボリューム(記憶領域)を特定するための一意な識別番号であるボリューム番号が記録されるフィールドである。「ボリューム名」フィールドは、そのボリュームの名称が記録されるフィールドである。「サイズ」フィールドは、そのボリュームの容量が記録されるフィールドである。「空き容量」フィールドは、そのボリュームのうちの空き領域の容量が記録されるフィールドである。「組込」フィールドは、そのボリュームが使用対象に組み込み済みであるか否かを特定する情報、及び、使用対象に組み込み済みである場合において使用が留保された状態にあるか否かを特定する情報が、記録されるフィールドである。なお、「組込」フィールドには、そのボリュームが使用対象に組み込まれていないことを示す「未」、使用対象に組み込まれてはいるが使用が留保された状態となっていることを示す「可」、又は、使用対象に組み込まれていて使用の留保が解除された状態にあることを示す「済」が、記録される。「自動追加」フィールドは、そのボリュームが使用留保の状態にある場合において、使用対象に組み込み済みであって使用留保が解除された全てのボリューム(以下、使用中ボリュームと表記する)の空き容量が所定の状態になったときにそのボリュームの使用留保を自動的に解除するか否かを示す情報が記録されるフィールドである。なお、ボリュームが自動追加(使用留保を自動解除)すべきもの設定される場合には、その自動追加の開始条件となる使用中ボリュームの空き領域の容量の閾値が、そのボリュームに係る「自動追加」フィールドに記録される。また、使用対象に組み込まれていないボリュームのレコードの「自動追加」フィールドは、空欄となる。「再配置」フィールドは、そのボリュームが自動追加(使用留保の自動解除)される場合にファイルの再配置を行うか否かを示す情報が記録されるフィールドである。なお、使用対象に組み込まれていないボリュームのレコードの「再配置」フィールドは、空欄となる。 The volume management table 72 has the same number of records as the disks in the storage machine 10. As shown in the schematic table structure diagram of FIG. 6, each record includes “volume”, “volume name”, “size”, “free capacity”, “built-in”, “automatic addition”, and “relocation”. Each field. The “volume” field is a field in which a volume number, which is a unique identification number for specifying the volume (storage area) of the disk, is recorded. The “volume name” field is a field in which the name of the volume is recorded. The “size” field is a field in which the capacity of the volume is recorded. The “free capacity” field is a field in which the capacity of the free area in the volume is recorded. The “embedded” field specifies information that specifies whether or not the volume has been incorporated in the usage target, and specifies whether or not the usage is reserved when the volume has been incorporated in the usage target. Information is a recorded field. In the “embedded” field, “not yet” indicating that the volume has not been incorporated into the usage target, and “but reserved” indicating that the volume has been incorporated into the usage target but has been reserved. “Yes” is recorded, or “Done” indicating that it is incorporated in the object of use and the reserved state of use is released is recorded. In the “automatic addition” field, when the volume is in a reserved state, the free capacity of all the volumes that have been incorporated into the target of use and whose reserved use has been released (hereinafter referred to as “in-use volumes”) is displayed. This is a field in which information indicating whether or not to cancel the reserved use of the volume when a predetermined state is reached is recorded. If a volume to be automatically added (reserved reservation is automatically released) is set, the threshold value of the free area capacity of the volume in use, which is a start condition for the automatic addition, is “automatically added” for the volume. Recorded in the field. Further, the “automatic addition” field of the record of the volume that is not incorporated in the usage target is blank. The “relocation” field is a field in which information indicating whether or not to relocate a file is recorded when the volume is automatically added (reservation is automatically released). Note that the “relocation” field of the record of the volume that is not incorporated in the usage target is blank.
また、図4の領域管理機能33bは、起動後、メモリユニット30c内に、図7に示すような断片化ファイル情報管理テーブル73を新規作成する。この断片化ファイル情報管理テーブル73は、後述の処理により断片化状態と判断されたファイルに関する情報を記録しておくためのワークテーブルである。従って、起動直後は、この断片化ファイル情報管理テーブル73は、一つもレコードが記録されていない状態となっている。この断片化ファイル情報管理テーブル73の各レコードは、図7の模式的なテーブル構造図に示すように、「アイノード」、「サイズ」、「ブロック数」、「エクステント数」、「最終アクセス日時」及び「アクセス数」の各フィールドを、有している。これら各フィールドは、何れも、図5のアイノード管理テーブル71における同じ名称のフィールドと同等の値が記録されるものとなっている。 The area management function 33b in FIG. 4 newly creates a fragmented file information management table 73 as shown in FIG. 7 in the memory unit 30c after activation. The fragmented file information management table 73 is a work table for recording information related to a file determined to be in a fragmented state by processing to be described later. Therefore, immediately after activation, the fragmented file information management table 73 is in a state where no record is recorded. Each record of the fragmented file information management table 73 includes “inode”, “size”, “number of blocks”, “extent number”, and “last access date / time” as shown in the schematic table structure diagram of FIG. And “access count” fields. In each of these fields, a value equivalent to the field having the same name in the i-node management table 71 of FIG. 5 is recorded.
また、図4のフラグメント情報収集プログラム33cは、何れかのサーバマシン20〜50のファイル操作制御機能23a、33a、43aがファイルにアクセスした際、そのファイルが断片化状態にあるか否かを特定するためのプログラムである。このフラグメント情報収集プログラム33cに従ってCPU30bが実行する処理の内容については、図9を用いて後述する。 Further, the fragment information collection program 33c in FIG. 4 specifies whether or not the file is in a fragmented state when the file operation control function 23a, 33a or 43a of any of the server machines 20 to 50 accesses the file. It is a program to do. The contents of processing executed by the CPU 30b according to the fragment information collection program 33c will be described later with reference to FIG.
また、図4のボリュームマネージャ33dは、ボリュームの使用対象への組み込み、及び、ボリュームの使用対象からの削除を行うためのツールを操作者に提供するためのプログラムである。このボリュームマネージャ33dに従ってCPU30bが実行する処理の内容については、図10乃至図12を用いて後述する。 The volume manager 33d in FIG. 4 is a program for providing the operator with a tool for incorporating a volume into a usage target and deleting the volume from the usage target. The contents of processing executed by the CPU 30b according to the volume manager 33d will be described later with reference to FIGS.
また、図4の空き容量監視プログラム33eは、使用中ボリュームの空き領域の容量が所定の状態になっている場合に、自動追加設定がなされているボリュームの使用保留を解除するためのプログラムである。この空き容量監視プログラム33eに従ってCPU30bが実行する処理の内容については、図13を用いて後述する。 Also, the free capacity monitoring program 33e in FIG. 4 is a program for canceling the use suspension of the volume for which the automatic addition setting has been made when the capacity of the free area of the volume in use is in a predetermined state. . The contents of the process executed by the CPU 30b according to the free capacity monitoring program 33e will be described later with reference to FIG.
また、図1のデフラグ用メタデータサーバマシン40は、ファイル再配置処理を担当するメタデータサーバマシンであり、図8の構成図に示すように、ストレージユニット40a、CPU40b、メモリユニット40c、HBA40d、及び、LANアダプタ40eを、内蔵している。このデフラグ用メタデータサーバマシン40も、前述した各メタデータサーバマシン20、30と同様に、ストレージユニット40aに、アプリケーション41、オペレーティングシステム42、及び、ファイルシステム43を、記憶している。アプリケーション41及びオペレーティングシステム42は、前述した各メタデータサーバマシン20、30と同等の機能を発揮するソフトウエアである。ファイルシステム43は、前述したグローバルファイルシステムを実現するためのソフトウエアであり、そのグローバルファイルシステムによる機能のうち、クライアントとしてファイル操作制御機能を実現するプログラム43aを、含んでいる。さらに、このファイルシステム43は、ファイル再配置プログラム43bを、含んでいる。ファイル再配置プログラム43bは、ボリュームが手動で使用対象に組み込まれ、或いは、自動追加設定がなされているボリュームの使用保留が自動解除される場合に、図7の断片化ファイル情報管理テーブル73に登録されているファイルをそのボリュームへ移動するためのプログラムである。このファイル再配置プログラム43bに従ってCPU40bが実行する処理の内容については、図14を用いて後述する。 Further, the defragmentation metadata server machine 40 in FIG. 1 is a metadata server machine in charge of file relocation processing. As shown in the configuration diagram of FIG. 8, the storage unit 40a, CPU 40b, memory unit 40c, HBA 40d, And the LAN adapter 40e is built in. The defragmentation metadata server machine 40 also stores an application 41, an operating system 42, and a file system 43 in the storage unit 40a in the same manner as the metadata server machines 20 and 30 described above. The application 41 and the operating system 42 are software that exhibits functions equivalent to those of the metadata server machines 20 and 30 described above. The file system 43 is software for realizing the global file system described above, and includes a program 43a that realizes a file operation control function as a client among the functions of the global file system. Further, the file system 43 includes a file relocation program 43b. The file relocation program 43b is registered in the fragmented file information management table 73 in FIG. 7 when the volume is manually incorporated into the use target or when the use suspension of the volume for which the automatic addition setting is made is automatically released. It is a program to move the file that is being moved to the volume. The contents of processing executed by the CPU 40b according to the file rearrangement program 43b will be described later with reference to FIG.
図1の汎用サーバマシン50は、クライアントマシン60に提供するとともに、前述したグローバルファイルシステムをクライアントとして利用するマシンである。従って、この汎用サーバマシン50は、図示していないが、ストレージユニット、CPU、メモリユニット、HBA、及び、LANアダプタを、内蔵しており、アプリケーション、オペレーティングシステム、ファイルシステムを、ストレージユニットに記憶している。そして、そのファイルシステムは、前述したように、ファイル操作制御機能を含んでいる。 The general-purpose server machine 50 in FIG. 1 is a machine that provides the client machine 60 and uses the global file system described above as a client. Accordingly, the general-purpose server machine 50 includes a storage unit, a CPU, a memory unit, an HBA, and a LAN adapter (not shown), and stores an application, an operating system, and a file system in the storage unit. ing. The file system includes a file operation control function as described above.
クライアントマシン60は、例えば、ウェブブラウザ、メーラー、エミュレータのように、アプリケーション21、31、41が提供する機能を享受するための機能が付加されたLAN通信自在なコンピュータである。 The client machine 60 is a computer capable of LAN communication to which a function for enjoying the functions provided by the applications 21, 31, 41, such as a web browser, a mailer, and an emulator, is added.
次に、本実施形態のコンピュータネットワークシステムで行われる処理について、説明する。 Next, processing performed in the computer network system of this embodiment will be described.
各サーバマシン20〜50のファイルシステムに含まれるファイル操作制御機能23a、33a、43aは、周知のものであるので、簡単に説明する。このファイル操作制御機能23a、33a、43aは、ファイルシステムの起動とともに、又は、実行終了後直ちに、実行される。CPUは、ファイル操作制御処理の開始後、アプリケーションからファイル読み出しの指示を受け付けると、図3の名前管理機能23bに問い合わせ、対象となるファイルのアイノード番号を取得し、その後、そのアイノード番号を使って図4の領域管理機能33bに問い合わせ、対象となるファイルが記録されているブロックの情報を取得し、それらブロックが所属する対応するストレージマシン10へアクセスする。また、CPUは、ファイル操作制御処理の開始後、アプリケーションからファイル書き込みの指示を受け付けると、図4の領域管理機能33bに、書き込みのための空き領域の予約を依頼し、続いて、指定されたディレクトリに新規ファイルを登録するための処理を図3の名前管理機能23bに依頼する。その後、CPUは、予約しておいた空き領域にファイルを書き込むとともに、当該ファイルに領域が割り当てられた旨を図4の領域管理機能33bと図3の名前管理機能23bとに通知する。図4の領域管理機能33bは、この通知を受けると、当該ファイルに関する情報を図5のアイノード管理テーブル71に登録する。 The file operation control functions 23a, 33a, 43a included in the file systems of the server machines 20-50 are well known and will be described briefly. The file operation control functions 23a, 33a, and 43a are executed when the file system is activated or immediately after the execution is completed. When the CPU receives a file read instruction from the application after the start of the file operation control process, the CPU inquires the name management function 23b in FIG. 3 to obtain the inode number of the target file, and then uses the inode number. The area management function 33b shown in FIG. 4 is inquired, information on the block in which the target file is recorded is acquired, and the corresponding storage machine 10 to which the block belongs is accessed. When the CPU receives a file write instruction from the application after the start of the file operation control process, the CPU requests the area management function 33b in FIG. 4 to reserve a free area for writing, and then designates the designated area. A process for registering a new file in the directory is requested to the name management function 23b in FIG. Thereafter, the CPU writes the file in the reserved free space, and notifies the region management function 33b in FIG. 4 and the name management function 23b in FIG. 3 that the region has been allocated to the file. Upon receiving this notification, the area management function 33b in FIG. 4 registers information related to the file in the inode management table 71 in FIG.
図4のフラグメント情報収集プログラム33cは、ファイルシステムの起動とともに、又は、実行終了後直ちに、実行される。図9の流れ図に示すように、CPU30bは、フラグメント情報収集処理の開始後、最初のステップS101において、何れかのファイルシステムのファイル操作制御機能23a、33a、43aからファイルアクセス(ファイルの読み出し又は書き込み)があるまで待機する。そして、ファイルアクセスがあると、CPU30bは、ステップS102へ処理を進める。 The fragment information collection program 33c in FIG. 4 is executed with the activation of the file system or immediately after the execution is completed. As shown in the flowchart of FIG. 9, after starting the fragment information collection process, the CPU 30b performs file access (file read or write) from the file operation control function 23a, 33a, 43a of any file system in the first step S101. ) Wait until there is. If there is a file access, the CPU 30b advances the process to step S102.
ステップS102では、CPU30bは、図5のアイノード管理テーブル71内のレコードのうち、ファイルアクセス時にファイル操作制御機能23a、33a、43aから通知されたアイノード番号を含むレコードを特定し、その特定したレコードの「最終アクセス日時」フィールドの値をその時点の時刻で更新する。また、CPU30bは、当該レコードの「アクセス数」フィールドの値を1つ増やす。 In step S102, the CPU 30b specifies a record including the eye node number notified from the file operation control function 23a, 33a, 43a at the time of file access among the records in the inode management table 71 of FIG. Update the value of the “last access date” field with the current time. Further, the CPU 30b increases the value of the “number of accesses” field of the record by one.
次のステップS103では、CPU30bは、図5のアイノード管理テーブル71における当該ファイルのレコードの「ブロック」フィールドにおいて、ブロック数を計数する。続いて、CPU30bは、計数して得たブロック数と当該レコードの「ブロック数」フィールドの値とが一致するか否かを、判別する。そして、計数して得たブロック数と当該レコードの「ブロック数」フィールドの値とが一致した場合、CPU30bは、書き込みによってブロック数が増加していないとして、ステップS103からS105へ処理を分岐させる。一方、計数して得たブロック数と当該レコードの「ブロック数」フィールドの値とが一致しなかった場合、CPU30bは、書き込みによってブロック数が増加したとして、ステップS104へ処理を進める。 In the next step S103, the CPU 30b counts the number of blocks in the “block” field of the record of the file in the inode management table 71 of FIG. Subsequently, the CPU 30b determines whether or not the number of blocks obtained by counting matches the value of the “number of blocks” field of the record. If the number of blocks obtained by counting matches the value in the “number of blocks” field of the record, the CPU 30b branches the process from step S103 to S105, assuming that the number of blocks has not increased due to writing. On the other hand, if the number of blocks obtained by counting does not match the value of the “number of blocks” field of the record, the CPU 30b proceeds to step S104, assuming that the number of blocks has increased due to writing.
ステップS104では、CPU30bは、図5のアイノード管理テーブル71における当該ファイルのレコードの「ブロック数」フィールドの値を更新する。また、CPU30bは、当該レコードの「ブロック」フィールドにおいて、エクステント数を計数し、当該レコードの「エクステント数」フィールドの値を更新する。その後、CPU30bは、ステップS105へ処理を進める。 In step S104, the CPU 30b updates the value of the “number of blocks” field of the record of the file in the inode management table 71 of FIG. Further, the CPU 30b counts the number of extents in the “block” field of the record, and updates the value of the “extent number” field of the record. Thereafter, the CPU 30b advances the process to step S105.
ステップS105では、CPU30bは、図5のアイノード管理テーブル71における当該ファイルのレコードの「エクステント数」フィールドから値を読み出す。 In step S105, the CPU 30b reads a value from the “number of extents” field of the record of the file in the inode management table 71 of FIG.
次のステップS106では、CPU30bは、ステップS105で読み出したエクステント数が所定の閾値を超えているか否かを、判別する。そして、エクステント数が所定の閾値を超えていた場合、CPU30bは、ステップS109へ処理を進める。一方、エクステント数が所定の閾値を超えていなかった場合、CPU30bは、ステップS106からS107へ処理を分岐させる。 In the next step S106, the CPU 30b determines whether or not the number of extents read in step S105 exceeds a predetermined threshold value. If the number of extents exceeds the predetermined threshold, the CPU 30b advances the process to step S109. On the other hand, when the number of extents does not exceed the predetermined threshold, the CPU 30b branches the process from step S106 to S107.
ステップS107では、CPU30bは、図5のアイノード管理テーブル71における当該ファイルのレコードの「アクセス数」フィールドから値を読み出す。 In step S107, the CPU 30b reads the value from the “number of accesses” field of the record of the file in the inode management table 71 of FIG.
次のステップS108では、CPU30bは、ステップS107で読み出したアクセス数が所定の閾値を超えているか否かを、判別する。そして、アクセス数が所定の閾値を超えていた場合、CPU30bは、ステップS109へ処理を進める。一方、アクセス数が所定の閾値を超えていなかった場合、CPU30bは、ステップS108から処理を分岐させ、図9に係るフラグメント情報収集処理を終了する。 In the next step S108, the CPU 30b determines whether or not the number of accesses read in step S107 exceeds a predetermined threshold value. If the access count exceeds the predetermined threshold, the CPU 30b advances the process to step S109. On the other hand, if the number of accesses does not exceed the predetermined threshold, the CPU 30b branches the process from step S108, and ends the fragment information collection process according to FIG.
ステップS109では、CPU30bは、図5のアイノード管理テーブル71における当該ファイルのレコードを読み出し、図7の断片化ファイル情報管理テーブル73へ追加登録する。その後、CPU30bは、図9に係るフラグメント情報収集処理を終了する。 In step S109, the CPU 30b reads the record of the file in the inode management table 71 in FIG. 5, and additionally registers it in the fragmented file information management table 73 in FIG. Thereafter, the CPU 30b ends the fragment information collection process according to FIG.
このフラグメント情報収集プログラム33cによれば、ファイルアクセスがある度に、そのファイルが断片化された状態にあるか否かが、領域管理用メタデータサーバマシン30によって判別され(ステップS106、S108)、断片化ファイルであった場合には、そのファイルの情報が、図7の断片化ファイル情報管理テーブル73に登録される(ステップS109)。 According to the fragment information collection program 33c, each time a file is accessed, the region management metadata server machine 30 determines whether or not the file is fragmented (steps S106 and S108). If it is a fragmented file, the file information is registered in the fragmented file information management table 73 of FIG. 7 (step S109).
なお、ステップS105乃至S108を実行するCPU30bは、前述した判定手段及び前述した判定部に相当し、ステップS105乃至S108は、前述した判定手順に相当している。また、ステップS109を実行するCPU30bは、前述した登録手段及び前述した登録部に相当し、ステップS109は、前述した登録手順に相当している。 The CPU 30b that executes steps S105 to S108 corresponds to the above-described determination means and the above-described determination unit, and steps S105 to S108 correspond to the above-described determination procedure. The CPU 30b executing step S109 corresponds to the above-described registration unit and the above-described registration unit, and step S109 corresponds to the above-described registration procedure.
このフラグメント情報収集処理と並行して、領域管理用メタデータサーバマシン30では、図示せぬ入力ユニットを介して操作者から起動指示を受け付けることにより、ボリュームマネージャ33dが実行されるようになっている。図10及び図11の流れ図に示すように、CPU30bは、処理開始後、最初のステップS201において、ボリューム設定画面を図示せぬ表示ユニットに表示する。図12の画面例に示すように、ボリューム設定画面74は、図6のボリューム管理テーブル72において「組込」フィールドの値が「済」又は「可」であるボリュームの名称が列挙される構成ボリューム欄74a、及び、「組込」フィールドの値が「未」であるボリュームの名称が列挙される追加候補ボリューム欄74bを、含んでいる。また、ボリューム設定画面74は、追加候補ボリューム欄74bにおいて選択されたボリュームを使用対象へ組み込むことを指示するための追加ボタン74c、及び、構成ボリューム欄74aにおいて選択されたボリュームを使用対象から取り外すことを指示するための削除ボタン74dを、含んでいる。更に、ボリューム設定画面74は、ボリュームを使用対象へ組み込む際の付属的な設定事項として、そのボリュームを直ちに使用対象に組み込んで使用状態にするか、それとも、そのボリュームを使用対象に組み込んで使用を留保状態にしておき使用中ボリュームの空き領域の容量が所定値以下になったときにそのボリュームの使用留保を解除するかを、決定するためのラジオボタン74e、74eを、含んでいる。また、ボリューム設定画面74は、使用中ボリュームの空き容量に応じてボリュームの自動追加(使用留保の解除)を行うよう設定する場合において、そのボリュームの自動追加が行われる条件を入力するためのテキストボックス74fを、含んでいる。また、ボリューム設定画面74は、ボリュームの追加が行われる場合にファイルの再配置を同時に行うことを指定するためのチェックボックス74gも、含んでいる。更に、ボリューム設定画面74は、各ボタン74c、74d、ラジオボタン74e、テキストボックス74f、チェックボックス74gを使って設定した内容で、ボリュームの登録を行うときにクリックすべき実行ボタン74hを、含んでいる。また、ボリューム設定画面74は、これら設定行為を取り止めるときにクリックすべき中止ボタン74iを、含んでいる。CPU30bは、この図12に示すようなボリューム設定画面74を図示せぬ表示ユニットに表示すると、図10のステップS202へ処理を進める。 In parallel with this fragment information collection processing, the area management metadata server machine 30 is configured to execute the volume manager 33d by receiving an activation instruction from an operator via an input unit (not shown). . As shown in the flowcharts of FIGS. 10 and 11, the CPU 30b displays a volume setting screen on a display unit (not shown) in the first step S201 after the processing is started. As shown in the screen example of FIG. 12, the volume setting screen 74 is a configuration volume in which the names of volumes whose “include” field value is “done” or “possible” in the volume management table 72 of FIG. A column 74a, and an additional candidate volume column 74b in which the names of volumes whose values in the “embedded” field are “not yet” are listed. Further, the volume setting screen 74 removes the volume selected in the addition target volume column 74b from the usage target and the addition button 74c for instructing to incorporate the volume selected in the usage target volume column 74b from the usage target. The delete button 74d for instructing is included. Further, the volume setting screen 74 is used as an additional setting item when a volume is incorporated into a usage target, and the volume is immediately incorporated into the usage target to be used, or the volume is incorporated into the usage target and used. Radio buttons 74e and 74e for determining whether or not to cancel the reserved use of the volume when the capacity of the free area in the used volume is equal to or less than a predetermined value in the reserved state are included. The volume setting screen 74 is a text for inputting a condition for automatically adding a volume when setting to automatically add a volume (cancellation of reserved use) according to the free capacity of the volume in use. Box 74f is included. The volume setting screen 74 also includes a check box 74g for designating that file relocation is performed simultaneously when a volume is added. Further, the volume setting screen 74 includes an execution button 74h to be clicked when registering a volume with the contents set by using the buttons 74c and 74d, the radio button 74e, the text box 74f, and the check box 74g. Yes. The volume setting screen 74 includes a cancel button 74i that should be clicked when canceling these setting actions. When the volume setting screen 74 as shown in FIG. 12 is displayed on a display unit (not shown), the CPU 30b advances the process to step S202 in FIG.
ステップS202では、CPU30bは、ボリューム設定画面74の実行ボタン74h及び中止ボタン74iのうち、何れかのボタンがクリックされるまで、待機する。そして、何れかのボタンがクリックされた場合、CPU30bは、ステップS203へ処理を進める。 In step S202, the CPU 30b stands by until any one of the execution button 74h and the cancel button 74i on the volume setting screen 74 is clicked. If any button is clicked, the CPU 30b advances the process to step S203.
ステップS203では、CPU30bは、クリックされたボタンが中止ボタン74iであるか否かを、判別する。そして、クリックされたボタンが中止ボタン74iであった場合、CPU30bは、図10及び図11に係る処理を終了する。一方、クリックされたボタンが実行ボタン74hであった場合、CPU30bは、ステップS203からステップS204へ処理を分岐させる。 In step S203, the CPU 30b determines whether or not the clicked button is the cancel button 74i. If the clicked button is the cancel button 74i, the CPU 30b ends the processes according to FIGS. On the other hand, if the clicked button is the execute button 74h, the CPU 30b branches the process from step S203 to step S204.
ステップS204では、CPU30bは、ボリュームの追加(使用対象への組み込み)が選択されていたかボリュームの削除が選択されていたかを、判別する。そして、ボリュームの削除が選択されていた場合、CPU30bは、ステップS204からステップS205へ処理を分岐させる。 In step S204, the CPU 30b determines whether the addition of volume (incorporation into the use target) has been selected or the deletion of volume has been selected. If deletion of a volume has been selected, the CPU 30b branches the process from step S204 to step S205.
ステップS205では、CPU30bは、実行ボタン74hがクリックされた時点で指定されていたボリュームを使用対象から取り外す処理を行う。この処理では、図6のボリューム管理テーブル72における当該ボリュームのレコードの「組込」フィールドの値が「未」へ切り替えられて、当該ボリュームの登録が抹消される。その後、CPU30bは、図10及び図11に係る処理を終了する。 In step S205, the CPU 30b performs a process of removing the volume designated when the execution button 74h is clicked from the use target. In this process, the value of the “include” field of the record of the volume in the volume management table 72 of FIG. 6 is switched to “not yet”, and the registration of the volume is deleted. Thereafter, the CPU 30b ends the processes according to FIGS.
一方、ステップS204において、ボリュームの追加(使用対象への組み込み)が選択されていた場合、CPU30bは、ステップS206へ処理を進める。 On the other hand, when the addition of volume (incorporation into the use target) is selected in step S204, the CPU 30b advances the process to step S206.
ステップS206では、CPU30bは、実行ボタン74hがクリックされた時点で、ボリュームの追加(使用対象への組み込みと使用状態への移行)を直ちに行うことを指定するラジオボタン74eが選択されていたか否かを、判別する。そして、使用中ボリュームの空き領域の容量が所定値以下になったときにそのボリュームの追加(使用留保の解除)を行うことを指定するラジオボタン74eが選択されていた場合、CPU30bは、ステップS206からステップS207へ処理を分岐させる。 In step S206, when the execution button 74h is clicked, the CPU 30b determines whether or not the radio button 74e that designates that the volume is immediately added (incorporation into the usage target and transition to the usage state) has been selected. Is determined. If the radio button 74e that designates that the volume is to be added (cancellation of reserved use) when the free space capacity of the volume in use becomes equal to or smaller than the predetermined value is selected, the CPU 30b proceeds to step S206. The process branches from step S207 to step S207.
ステップS207では、CPU30bは、実行ボタン74hがクリックされた時点で指定されていたボリュームを使用対象へ組み込む処理を行う。この処理では、図6のボリューム管理テーブル72における当該ボリュームのレコードの「組込」フィールドの値が「可」へ切り替えられて、当該ボリュームが登録される。その後、CPU30bは、図10及び図11に係る処理を終了する。 In step S207, the CPU 30b performs a process of incorporating the volume designated when the execution button 74h is clicked into the use target. In this process, the value of the “include” field of the record of the volume in the volume management table 72 of FIG. 6 is switched to “possible”, and the volume is registered. Thereafter, the CPU 30b ends the processes according to FIGS.
一方、ステップS206において、ボリュームの追加(使用対象への組み込みと使用状態への移行)を直ちに行うことを指定するラジオボタン74eが選択されていた場合、CPU30bは、ステップS208へ処理を進める。 On the other hand, when the radio button 74e for designating that the volume is to be added (incorporation into the usage target and transition to the usage state) is selected in step S206, the CPU 30b advances the process to step S208.
ステップS208では、CPU30bは、ボリューム追加情報を全てのサーバマシン(クラスタノード)20〜50へ一斉送信する。なお、ボリューム追加情報は、使用中ボリュームの容量が増加したことを通知するための情報である。 In step S208, the CPU 30b transmits the volume addition information all at once to all the server machines (cluster nodes) 20-50. The volume addition information is information for notifying that the capacity of the volume in use has increased.
次のステップS209では、CPU30bは、全てのサーバマシン20〜50から応答があるまで、待機する。そして、全てのサーバマシン20〜50から応答があると、CPU30bは、ステップS210へ処理を進める。 In the next step S209, the CPU 30b stands by until there is a response from all the server machines 20-50. And if there is a response from all the server machines 20-50, CPU30b will advance a process to step S210.
ステップS210では、CPU30bは、指定されたボリュームの追加(使用対象への組み込みと使用状態への移行)を確定する処理を行う。この処理では、図6のボリューム管理テーブル72における当該ボリュームのレコードの「組込」フィールドの値が「済」へ切り替えられて、当該ボリュームが登録される。 In step S210, the CPU 30b performs processing for confirming addition of the designated volume (incorporation into the use target and transition to the use state). In this process, the value of the “include” field of the record of the volume in the volume management table 72 of FIG. 6 is switched to “done”, and the volume is registered.
次のステップS211では、CPU30bは、図8のデフラグ用メタデータサーバマシン40のファイルシステム43に対し、ファイル再配置プログラム43bの起動を指示し、併せて、追加したボリュームのボリューム番号を引数として引き渡す。その後、CPU30bは、図10及び図11に係る処理を終了する。 In the next step S211, the CPU 30b instructs the file system 43 of the defragmentation metadata server machine 40 of FIG. 8 to start the file relocation program 43b, and delivers the volume number of the added volume as an argument. . Thereafter, the CPU 30b ends the processes according to FIGS.
このボリュームマネージャ33dによれば、本実施形態のコンピュータネットワークシステムの管理者は、図12に示すようなボリューム設定画面74を通じて、使用対象に対するボリュームの組み込み及び削除を行うことができる。また、ボリュームの組み込みを行う際には、そのボリュームを直ちに使用対象に組み込んで使用状態にするか、それとも、そのボリュームを使用対象に組み込んで使用を留保状態にしておき使用中ボリュームの空き領域の容量が所定値以下になったときにそのボリュームの使用留保を解除するかを、ラジオボタン74e、74eを使って、選択することができる。更に、管理者は、使用中ボリュームが所定の状態になった後でボリュームの追加(使用留保の解除)が行われるよう指定する場合に、ボリューム追加が行われるべき使用中ボリュームの条件と、ファイル再配置を行うか否かとを、テキストボックス74f及びチェックボックス74gを使って、指定することができる。 According to the volume manager 33d, the administrator of the computer network system according to the present embodiment can incorporate and delete a volume from the usage target through the volume setting screen 74 as shown in FIG. In addition, when installing a volume, either immediately incorporate the volume into the usage target and put it in use, or install the volume into the usage target and leave it in a reserved state and use the free space of the volume in use. Using the radio buttons 74e and 74e, it is possible to select whether or not to cancel the reserved use of the volume when the capacity falls below a predetermined value. Furthermore, when the administrator specifies that the volume is to be added (cancellation of reserved use) after the in-use volume is in a predetermined state, the condition of the in-use volume to be added and the file Whether or not to perform rearrangement can be designated using the text box 74f and the check box 74g.
なお、ステップS201及びS202を実行するCPU30bは、前述した受付手段及び前述した受付部に相当し、ステップS201及びS202は、前述した受付手順に相当している。 The CPU 30b that executes steps S201 and S202 corresponds to the above-described reception unit and the above-described reception unit, and steps S201 and S202 correspond to the above-described reception procedure.
また、領域管理用メタデータサーバマシン30では、空き容量監視プログラム33eが、ファイルシステムの起動とともに、又は、実行終了後直ちに、実行されるようになっている。図13の流れ図に示すように、CPU30bは、空き容量監視処理の開始後、最初のステップS301では、何れかのサーバマシン20〜50のファイル操作制御機能23a、33a、43aから、書き込みのための空き領域の予約の依頼があるまで、待機する。そして、空き領域の予約の依頼を何れかのサーバマシン20〜50から受け付けると、CPU30bは、ステップS302へ処理を進める。 In the area management metadata server machine 30, the free capacity monitoring program 33e is executed when the file system is activated or immediately after the execution is completed. As shown in the flowchart of FIG. 13, after starting the free space monitoring process, in the first step S301, the CPU 30b uses the file operation control functions 23a, 33a, 43a of any of the server machines 20 to 50 for writing. Wait until a free space reservation request is received. When receiving a request for reservation of a free area from any of the server machines 20 to 50, the CPU 30b advances the process to step S302.
ステップS302では、CPU30bは、使用中ボリュームの中から空き領域を確保して、他の予約を受け付けない排他状態になるとともに、使用中ボリュームの全ての空き領域の容量を読み出す。なお、空き領域の容量は、例えば、図6のボリューム管理テーブル72における「組込」フィールドに「済」を記録する全てのレコードの「空き容量」フィールドの値の総計により、取得しても良い。 In step S302, the CPU 30b secures a free area from the in-use volume, enters an exclusive state in which no other reservation is accepted, and reads the capacity of all free areas in the in-use volume. Note that the capacity of the free area may be acquired by, for example, the sum of the values of the “free capacity” field of all records that record “done” in the “built-in” field in the volume management table 72 of FIG. .
次のステップS303では、CPU30bは、自動追加(使用留保の自動解除)が設定されているボリュームが存在するか否かを、判別する。具体的には、CPU30bは、図6のボリューム管理テーブル72のレコードのうち、「組込」フィールドの値が「可」であるとともに「自動追加」フィールドの値が「不可」でないレコードが検出できるか否かを、判別する。そして、自動追加が設定されているボリュームが存在していなかった場合、CPU30bは、ステップS303から処理を分岐させ、図13に係る空き容量監視を終了する。一方、自動追加が設定されているボリュームが存在していた場合、CPU30bは、ステップS304へ処理を進める。 In the next step S303, the CPU 30b determines whether or not there is a volume for which automatic addition (automatic release of reserved reservation) is set. Specifically, the CPU 30b can detect a record in which the value of the “embedded” field is “possible” and the value of the “automatically added” field is not “impossible” among the records of the volume management table 72 of FIG. It is determined whether or not. When there is no volume for which automatic addition is set, the CPU 30b branches the process from step S303 and ends the free capacity monitoring according to FIG. On the other hand, if there is a volume for which automatic addition is set, the CPU 30b advances the process to step S304.
ステップS304では、CPU30bは、自動追加(使用留保の自動解除)が設定されているボリュームについて条件として定義されている閾値を読み出す。すなわち、CPU30bは、ステップS303で検出されたレコードの「自動追加」フィールドの値を読み出す。 In step S304, the CPU 30b reads a threshold value defined as a condition for a volume for which automatic addition (automatic cancellation of reserved use) is set. That is, the CPU 30b reads the value of the “automatic addition” field of the record detected in step S303.
次のステップS305では、CPU30bは、ステップS302で読み出した空き容量が、ステップS304で読み出した閾値未満であるか否かを、判別する。そして、空き容量が閾値以上であった場合、CPU30bは、ステップS305から処理を分岐させ、図13に係る空き容量監視を終了する。一方、空き領域が閾値未満であった場合、CPU30bは、ステップS306へ処理を進める。 In the next step S305, the CPU 30b determines whether or not the free space read in step S302 is less than the threshold read in step S304. If the free space is greater than or equal to the threshold, the CPU 30b branches the process from step S305 and ends the free space monitoring according to FIG. On the other hand, if the free area is less than the threshold, the CPU 30b advances the process to step S306.
ステップS306では、CPU30bは、ボリューム追加情報を全てのサーバマシン(クラスタノード)20〜50へ一斉送信する。なお、ボリューム追加情報は、前述したように、使用中ボリュームの容量が増加したことを通知するための情報である。 In step S306, the CPU 30b transmits the volume addition information all at once to all the server machines (cluster nodes) 20-50. As described above, the volume addition information is information for notifying that the capacity of the volume in use has increased.
次のステップS307では、CPU30bは、全てのサーバマシン20〜50から応答があるまで、待機する。そして、全てのサーバマシン20〜50から応答があると、CPU30bは、ステップS308へ処理を進める。 In the next step S307, the CPU 30b stands by until there is a response from all the server machines 20-50. And if there is a response from all the server machines 20-50, CPU30b will advance a process to step S308.
ステップS308では、CPU30bは、指定されたボリュームの追加(使用留保の解除)を確定する処理を行う。この処理では、図6のボリューム管理テーブル72における当該ボリュームのレコードの「組込」フィールドの値が「済」へ切り替えられる。 In step S308, the CPU 30b performs processing for confirming addition of the designated volume (cancellation of reserved use). In this process, the value of the “include” field of the record of the volume in the volume management table 72 of FIG. 6 is switched to “done”.
次のステップS309では、CPU30bは、図8のデフラグ用メタデータサーバマシン40のファイルシステム43に対し、ファイル再配置プログラム43bの起動を指示し、併せて、追加したボリュームのボリューム番号を引数として引き渡す。その後、CPU30bは、図13に係る空き容量監視を終了する。 In the next step S309, the CPU 30b instructs the file system 43 of the defragmentation metadata server machine 40 in FIG. 8 to start the file relocation program 43b, and delivers the volume number of the added volume as an argument. . Thereafter, the CPU 30b ends the free space monitoring according to FIG.
この空き容量監視プログラム33eによれば、何れかのサーバマシン20〜50のファイルシステムがアプリケーション21、31、41からファイルの書き込み要求を受けると、自動追加設定(使用留保)がなされているボリュームが探され(ステップS303)、そのようなボリュームが探し出されれば、そのボリュームについて定義されている条件に基づいて、使用中ボリュームの空き容量が所定の状態になっているか否かが判別され(ステップS302、S304、S305)、使用中ボリュームの空き容量が所定の状態になっている場合に、自動追加設定がなされているボリュームが使用中ボリュームに追加される(ステップS306〜S309)。 According to the free capacity monitoring program 33e, when the file system of any of the server machines 20 to 50 receives a file write request from the application 21, 31, 41, a volume for which automatic addition setting (reserved use) is made. If such a volume is found (step S303), it is determined whether or not the free capacity of the volume in use is in a predetermined state based on the conditions defined for the volume (step S303). Steps S302, S304, S305) When the free capacity of the volume in use is in a predetermined state, the volume for which automatic addition setting has been made is added to the volume in use (steps S306 to S309).
以上の二つの処理のうちの何れかによる指示、すなわち、図4の領域管理用メタデータサーバマシン30のボリュームマネージャ33dによる処理(図10及び図11)のステップS211による指示、又は、空き容量監視プログラムによる処理(図13)のステップS309による指示に基づいて、図8のデフラグ用メタデータサーバマシン40のCPU40bは、ファイル再配置プログラム43bを実行する。図14の流れ図に示すように、CPU40bは、ファイル再配置処理の開始後、最初のステップS401において、ボリューム追加に続いてファイルの再配置を行うよう設定されているか否かを、判別する。すなわち、CPU40bは、図6のボリューム管理テーブル72において、起動指示とともに引数として受け取ったボリューム番号のボリュームのレコードの「再配置」フィールドから値を読み出し、その値が「要」であるか「不要」であるかを、判別する。そして、ファイルの再配置を行うよう設定されていなかった場合、CPU40bは、ステップS401から処理を分岐させ、図14に係るファイル再配置処理を終了する。一方、ファイルの再配置を行うよう設定されていた場合、CPU40bは、ステップS402へ処理を進める。 An instruction by one of the above two processes, that is, an instruction by step S211 of the process by the volume manager 33d of the area management metadata server machine 30 in FIG. 4 (FIGS. 10 and 11), or free space monitoring The CPU 40b of the defragmentation metadata server machine 40 in FIG. 8 executes the file relocation program 43b based on the instruction in step S309 of the processing by the program (FIG. 13). As shown in the flowchart of FIG. 14, after starting the file rearrangement process, the CPU 40b determines whether or not it is set to perform file rearrangement following volume addition in the first step S401. That is, the CPU 40b reads the value from the “relocation” field of the volume record of the volume number received as an argument together with the activation instruction in the volume management table 72 of FIG. 6, and determines whether the value is “necessary” or “unnecessary”. Is determined. If it is not set to relocate the file, the CPU 40b branches the process from step S401, and ends the file relocation process according to FIG. On the other hand, if it is set to relocate the file, the CPU 40b advances the process to step S402.
ステップS402では、CPU40bは、図7の断片化ファイル情報管理テーブル73に登録されているファイルを、一つずつ、順に、追加されたボリュームへ移動する処理を行う。具体的には、CPU40bは、一つ以上のファイルの中から処理対象として選択された一つのファイルについて、まず、そのファイルを構成する単位データが記録されているディスクブロックからその単位データをメモリユニット40cへ複製する処理を、実行する。続いて、CPU40bは、メモリユニット40cに複製した単位データを、追加されたボリュームにおけるアドレスの若いブロックから古いブロックへと順に、記録していく。その後、CPU40bは、処理対象のファイルを構成する単位データが元々記録されていたボリューム(ディスク)から、そのファイルのデータを削除する処理を行う。CPU40bは、図7の断片化ファイル情報管理テーブル73に登録されている全てのファイルについて、上記の処理を終えると、図7の断片化ファイル情報管理テーブル73から、これらファイルに係るレコードを削除し、その後、ステップS403へ処理を進める。 In step S402, the CPU 40b performs a process of moving the files registered in the fragmented file information management table 73 in FIG. 7 one by one to the added volume. Specifically, for one file selected as a processing target from one or more files, the CPU 40b first transfers the unit data from a disk block in which unit data constituting the file is recorded to a memory unit. The process of copying to 40c is executed. Subsequently, the CPU 40b sequentially records the unit data copied to the memory unit 40c from the block with the youngest address to the old block in the added volume. Thereafter, the CPU 40b performs processing for deleting the data of the file from the volume (disk) where the unit data constituting the file to be processed was originally recorded. When the CPU 40b completes the above processing for all the files registered in the fragmented file information management table 73 in FIG. 7, the records related to these files are deleted from the fragmented file information management table 73 in FIG. Thereafter, the process proceeds to step S403.
ステップS403では、CPU40bは、図3の領域管理用メタデータサーバマシン30のファイルシステム33内の領域管理機能33bに対し、ステップS402で再配置されたファイルについての領域情報の更新を依頼する。なお、領域管理機能33bは、この依頼を受けて、図5のアイノード管理テーブル71における該当ファイルに関する情報を更新する。CPU40bは、このような領域情報の更新を領域管理機能33bに依頼すると、図14に係るファイル再配置処理を終了する。 In step S403, the CPU 40b requests the area management function 33b in the file system 33 of the area management metadata server machine 30 in FIG. 3 to update the area information on the file rearranged in step S402. In response to this request, the area management function 33b updates information on the corresponding file in the inode management table 71 in FIG. When the CPU 40b requests the area management function 33b to update such area information, the file rearrangement process according to FIG. 14 ends.
このファイル再配置プログラム43bによれば、領域管理用メタデータサーバマシン30からの依頼(ステップS211又はS309)があると、既存ディスク内にある断片化ファイルが、順に、追加されたディスクへと、移し替えられる。 According to the file relocation program 43b, when there is a request from the area management metadata server machine 30 (step S211 or S309), the fragmented file in the existing disk is sequentially transferred to the added disk. It is transferred.
このように、既存ディスク内で断片化状態にあったファイルが、追加されるディスク内へ移し替えられると、当該ファイルは、連続したブロックに纏めて書き込まれることとなる。このため、ディスクの空き容量が足りなくても、ファイルが効率的に再配置されるようになる。 In this way, when a file that has been fragmented in the existing disk is transferred to the disk to be added, the file is written in a continuous block. For this reason, even if there is not enough free space on the disk, the files can be relocated efficiently.
なお、ステップS206乃至S211、S301乃至S309、及び、S401乃至S403を実行するCPU30bは、前述した移動手段及び前述した移動部に相当し、ステップS206乃至S211、S301乃至S309、及び、S401乃至S403は、前述した移動手順に相当している。 The CPU 30b that executes steps S206 to S211, S301 to S309, and S401 to S403 corresponds to the moving means and the moving unit described above. Steps S206 to S211, S301 to S309, and S401 to S403 are This corresponds to the moving procedure described above.
10 ストレージマシン
10a ディスクユニット
10b ストレージコントローラ
20 名前管理用メタデータサーバマシン
20a ストレージユニット
20b CPU
23 ファイルシステム
23a ファイル操作制御機能プログラム
23b 名前管理機能プログラム
30 領域管理用メタデータサーバマシン
30a ストレージユニット
30b CPU
33 ファイルシステム
33a ファイル操作制御機能プログラム
33b 領域管理機能プログラム
33c フラグメント情報収集プログラム
33d ボリュームマネージャ
33e 空き容量監視プログラム
40 デフラグ用メタデータサーバマシン
40a ストレージユニット
40b CPU
43 ファイルシステム
43a ファイル操作制御機能プログラム
43b ファイル再配置プログラム
50 汎用サーバマシン
60 クライアントマシン
71 アイノード管理テーブル
72 ボリューム管理テーブル
73 断片化ファイル情報管理テーブル
74 ボリューム設定画面
10 storage machine 10a disk unit 10b storage controller 20 name management metadata server machine 20a storage unit 20b CPU
23 file system 23a file operation control function program 23b name management function program 30 area management metadata server machine 30a storage unit 30b CPU
33 file system 33a file operation control function program 33b area management function program 33c fragment information collection program 33d volume manager 33e free capacity monitoring program 40 defragmentation metadata server machine 40a storage unit 40b CPU
43 File system 43a File operation control function program 43b File relocation program 50 General-purpose server machine 60 Client machine 71 Inode management table 72 Volume management table 73 Fragmented file information management table 74 Volume setting screen
Claims (7)
前記メタデータサーバマシンを、
何れかのノードマシンからファイルアクセスに伴うメタデータの問い合わせを受け付けると、そのファイルが断片化状態にあるか否かを判定する判定手段、
前記判定手段が当該ファイルが断片化状態にあると判定した場合に、そのファイルに関する情報を記憶装置内のテーブルに登録する登録手段、
任意のディスクの指定とともにボリューム追加の指示を入力装置を通じて操作者から受け付ける受付手段、及び、
前記受付手段がボリューム追加の指示を受け付けると、前記テーブルに情報が登録されているファイルを、既存ディスクから、前記受付手段で受け付けた指定により特定されるディスクへ、順に移動させる移動手段
として機能させる
ことを特徴とするディスク管理プログラム。 Implemented a global file system that allows multiple node machines to share area information that defines the relationship between files and disk blocks, metadata that includes name information that defines the name space, and disks on which files are recorded A program for managing a disk by a metadata server machine in a cluster system,
The metadata server machine is
A determination unit that determines whether or not the file is in a fragmented state when an inquiry about metadata associated with file access is received from any node machine;
A registration unit that registers information about the file in a table in the storage device when the determination unit determines that the file is in a fragmented state;
A receiving means for receiving an instruction to add a volume together with designation of an arbitrary disk from an operator through an input device; and
When the accepting unit accepts an instruction to add a volume, it functions as a moving unit that sequentially moves a file whose information is registered in the table from an existing disk to a disk specified by the designation accepted by the accepting unit. A disk management program characterized by that.
ことを特徴とする請求項1記載のディスク管理プログラム。 2. The disk management program according to claim 1, wherein the moving means moves the file after the volume of the existing disk is in a predetermined state after the receiving means receives the volume addition instruction.
前記移動手段は、前記受付手段がボリューム追加の指示を受け付けた後、既存ディスクのボリュームが前記受付手段が受け付けた空き容量の条件に合致した状態になってから、ファイルの移動を行う
ことを特徴とする請求項2記載のディスク管理プログラム。 The accepting means accepts the condition of the free capacity of the volume of the existing disk to which the volume addition is to be performed from the operator through the input device, together with the designation of an arbitrary disk and an instruction to add the volume.
The moving means moves the file after the receiving means receives the volume addition instruction, and after the volume of the existing disk is in a state meeting the free space condition accepted by the receiving means. The disk management program according to claim 2.
ことを特徴とする請求項1、2又は3記載のディスク管理プログラム。 4. The disk management program according to claim 1, wherein the determination unit determines that the file is in a fragmented state when the number of extents of the file exceeds a predetermined threshold.
ことを特徴とする請求項1、2又は3記載のディスク管理プログラム。 4. The disk management program according to claim 1, wherein the determination unit determines that the file is in a fragmented state when the number of accesses to the file exceeds a predetermined threshold.
前記メタデータサーバマシンが、
何れかのノードマシンからファイルアクセスに伴うメタデータの問い合わせを受け付けると、そのファイルが断片化状態にあるか否かを判定する判定手順、
前記判定手順で当該ファイルが断片化状態にあると判定した場合に、そのファイルに関する情報を記憶装置内のテーブルに登録する登録手順、
任意のディスクの指定とともにボリューム追加の指示を入力装置を通じて操作者から受け付ける受付手順、及び、
前記受付手順でボリューム追加の指示を受け付けると、前記テーブルに情報が登録されているファイルを、既存ディスクから、前記受付手順で受け付けた指定により特定されるディスクへ、順に移動させる移動手順
を実行する
ことを特徴とするディスク管理方法。 Implemented a global file system that allows multiple node machines to share area information that defines the relationship between files and disk blocks, metadata that includes name information that defines the name space, and disks on which files are recorded A method for managing a disk by a metadata server machine in a cluster system,
The metadata server machine is
A determination procedure for determining whether or not the file is in a fragmented state when an inquiry about metadata associated with file access is received from any node machine,
A registration procedure for registering information about the file in a table in the storage device when the determination procedure determines that the file is fragmented;
A procedure for accepting an instruction to add a volume together with designation of an arbitrary disk from an operator through an input device; and
When an instruction to add a volume is received in the reception procedure, a movement procedure for sequentially moving a file whose information is registered in the table from an existing disk to a disk specified by the designation received in the reception procedure is executed. A disk management method.
何れかのノードマシンからファイルアクセスに伴うメタデータの問い合わせを受け付けると、そのファイルが断片化状態にあるか否かを判定する判定部、
前記判定部が当該ファイルが断片化状態にあると判定した場合に、そのファイルに関する情報をテーブルに登録する登録部、
任意のディスクの指定とともにボリューム追加の指示を操作者から受け付ける受付部、及び、
前記受付部がボリューム追加の指示を受け付けると、前記テーブルに情報が登録されているファイルを、既存ディスクから、前記受付部で受け付けた指定により特定されるディスクへ、順に移動させる移動部
を備えることを特徴とするディスク管理装置。 Implemented a global file system that allows multiple node machines to share area information that defines the relationship between files and disk blocks, metadata that includes name information that defines the name space, and disks on which files are recorded A device for managing disks in a cluster system,
A determination unit that determines whether or not the file is in a fragmented state upon receiving a metadata inquiry associated with file access from any of the node machines,
A registration unit that registers information about the file in a table when the determination unit determines that the file is in a fragmented state;
A reception unit that receives an instruction to add a volume from an operator together with designation of an arbitrary disk; and
When the reception unit receives an instruction to add a volume, a moving unit that sequentially moves a file whose information is registered in the table from an existing disk to a disk specified by the specification received by the reception unit. A disk management device characterized by the above.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007203512A JP2009037564A (en) | 2007-08-03 | 2007-08-03 | Disk management program, disk management method, and disk management apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007203512A JP2009037564A (en) | 2007-08-03 | 2007-08-03 | Disk management program, disk management method, and disk management apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009037564A true JP2009037564A (en) | 2009-02-19 |
Family
ID=40439383
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007203512A Withdrawn JP2009037564A (en) | 2007-08-03 | 2007-08-03 | Disk management program, disk management method, and disk management apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2009037564A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013210749A (en) * | 2012-03-30 | 2013-10-10 | Fujitsu Ltd | Program, control method, storage device, and system |
| JP2014517971A (en) * | 2011-05-25 | 2014-07-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, data storage system and program for responding to a request for data defragmentation |
-
2007
- 2007-08-03 JP JP2007203512A patent/JP2009037564A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014517971A (en) * | 2011-05-25 | 2014-07-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, data storage system and program for responding to a request for data defragmentation |
| JP2013210749A (en) * | 2012-03-30 | 2013-10-10 | Fujitsu Ltd | Program, control method, storage device, and system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7107323B2 (en) | System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules | |
| US6615318B2 (en) | Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries | |
| JP4943081B2 (en) | File storage control device and method | |
| JP4749255B2 (en) | Storage system control device having multiple types of storage devices | |
| EP2239655B1 (en) | Storage controller and storage control method | |
| US8392685B2 (en) | Arrangements for managing metadata of an integrated logical unit including differing types of storage media | |
| JP5320557B2 (en) | Storage system | |
| US20080010325A1 (en) | Data migration apparatus, method, and program | |
| EP2759942A1 (en) | Computer system, file management method and metadata server | |
| JP4521865B2 (en) | Storage system, computer system, or storage area attribute setting method | |
| JP4681247B2 (en) | Disk array device and disk array device control method | |
| JP5317807B2 (en) | File control system and file control computer used therefor | |
| JP2009053955A (en) | Computer system, storage, access control method and access control program | |
| JP2009064120A (en) | Search system | |
| EP1840723A2 (en) | Remote mirroring method between tiered storage systems | |
| JP2009110477A (en) | File management apparatus and file management program | |
| JP2006178849A (en) | Data processing system and method | |
| JP4464378B2 (en) | Computer system, storage system and control method for saving storage area by collecting the same data | |
| JP2005321913A (en) | COMPUTER SYSTEM HAVING FILE SHARE APPARATUS AND METHOD FOR MIGRATING FILE SHARE APPARATUS | |
| JP2006113667A (en) | Storage device and its control method | |
| JP2008102672A (en) | Computer system, management computer, operation control information setting method | |
| JP2009037564A (en) | Disk management program, disk management method, and disk management apparatus | |
| US20100223442A1 (en) | Computer system and data erasing method | |
| US7676644B2 (en) | Data processing system, storage apparatus and management console | |
| JP2016212548A (en) | Storage control device, storage control method, and storage control program |
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: 20101005 |