Decentralizedly networked striped file system
Abstract
[Task] In a distributed network environment, it is possible to build a striped file system from secondary storage devices connected to different host computers.
Solution.Multiple host computers are interconnected via a network, and one of them is divided into a wide area file system management table 26, a striped file system management table 27, a host computer network address management table 28, and a data file. Arrange the data management table 29 for writing / reading. While sharing and referencing these management tables among all host computers, the load on the host computer is increased by writing / reading data to the secondary storage device connected to the remote host computer via the network. It enables parallel writing / reading of data to multiple secondary storage devices without any need.

Term
Term ended
Projected expiry passed 27 March 2016, 10.5 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
3 claims: 1 independent, 2 dependent
- 1【特許請求の範囲】 【請求項1】 ホストコンピュータに接続された複数の二次記憶装置上にそれぞれ構築された複数のファイルシステムを仮想的な1つのファイルシステムとし、この仮想的なファイルシステムに対するデータの書き込み及び読み出し処理をソフトウェアにより前記二次記憶装置単位に分割し並列分散化して行うストライプド・ファイルシステムにおいて、 前記複数の二次記憶装置の各々を互いに重複することなく接続した複数の前記ホストコンピュータを設け、これらホストコンピュータ間を相互接続して前記ホストコンピュータ及び対応する前記二次記憶装置上に構築された前記ファイルシステムを構成単位とするコンピュータネットワークを構築し、前記ホストコンピュータに接続された前記二次記憶装置上に構築された前記ファイルシステムの各々に対して仮想的なファイルシステム名を付与し、前記コンピュータネットワークを構成する前記ホストコンピュータから前記二次記憶装置に対するデータの入出力を前記仮想的なファイルシステム名を経由して行うことを特徴とする分散ネットワーク化ストライプド・ファイルシステム。
- 2【請求項2】 前記ホストコンピュータの障害により前記二次記憶装置に対する分割されたデータの書き込みが失敗すると、代替のホストコンピュータを選別し、この代替のホストコンピュータに対応する前記二次記憶装置に対して該当データの書き込みを行うことを特徴とする請求項1記載の分散ネットワーク化ストライプド・ファイルシステム。
- 3【請求項3】 広域ファイルシステム管理用ホストコンピュータに接続されている前記二次記憶装置上に配置された広域ファイルシステムを管理する為の広域ファイルシステム管理テーブルと、前記広域ファイルシステムから構成されるストライプド・ファイルシステムを管理する為のストライプド・ファイルシステム管理テーブルと、相互接続された前記ホストコンピュータを一意に識別する為のネットワークアドレス管理テーブルと、複数の前記二次記憶装置に分割されて格納されているデータファイルを管理する為のデータ管理テーブルとを備え、前記広域ファイルシステム管理テーブル,ストライプド・ファイルシステム管理テーブル,ネットワークアドレス管理テーブル及びデータ管理テーブルの情報を相互接続された全ての前記ホストコンピュータで共有して参照しながら前記コンピュータネットワークを通して遠隔の前記ホストコンピュータと通信を行うことによって、1つのデータファイルを分割して複数の前記ホストコンピュータに接続されている前記二次記憶装置に転送することを特徴とする請求項1または2記載の分散ネットワーク化ストライプド・ファイルシステム。
Independent claims3
139 paragraphs in 1 section, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
【0001】
[Technical field to which the invention belongs]
The present invention relates to a distributed networked striped file system, and in particular, a plurality of file systems constructed on a plurality of secondary storage devices connected to a host computer are regarded as one virtual file system, and this virtual one. The present invention relates to a striped file system in which data writing and reading processing to a file system is divided into units of the secondary storage devices by software and distributed in parallel.
【0002】
[Conventional technology]
Conventionally, as a means for improving the performance when inputting / outputting data to / from a disk per process, as shown in FIG. 17, such as a plurality of magnetic disk devices connected to one host computer 80. From the file system built on the secondary storage devices 81,82,83,84, one virtual file system 85 is constructed, and the input / output control of each secondary storage device that constitutes this virtual file system is controlled. A so-called striped file system method is adopted in which a process requests data input / output in parallel to a device. In the conventional striped file system method, as shown in FIG. 18, a secondary storage device 89 such as a plurality of magnetic disk devices connected to different input / output control devices 87 and 88 of one host computer 86. A striped file system 91 is constructed with the file system built on 90 as a basic unit, and input / output processing for the file system built on each secondary storage device is applied to multiple input / output control devices 87 and 88. By distributing and performing in parallel, the input / output performance for the secondary storage device per process has been improved.
【0003】
[Problems to be Solved by the Invention]
This conventional striped file system method could improve the performance of data input / output to the secondary storage device per single process, but when viewed as a whole system, it is an integrated data. It did not improve the performance at the time of input / output. That is, in the prior art, a file system built on a plurality of secondary storage devices 81 to 84 connected to one host computer 80 is used as a building unit. Therefore, since all the data input / output processing for the file systems on the multiple secondary storage devices 81 to 84 constituting the striped file system 85 had to be processed by one host computer 80, the striped file system 85 had to be processed. -Even if data input / output processing is performed in parallel to the individual secondary storage devices that make up the file system, the time required for one process to input / output data can be shortened by parallelization, but the host Since the amount of input / output data that the computer must process does not change, the load on the host computer when inputting / outputting data to the secondary storage device cannot be reduced, and the performance of the entire host computer cannot be improved. could not.
【0004】
In addition, in the conventional striped file system method, in order to improve the performance of data input / output to the secondary storage device per process, the secondary storage device connected to a different input / output control device is used. There was a hardware limitation that the striped file system had to be built with the built file system as the basic unit. That is, as shown in FIG. 19, when data is input / output to a plurality of secondary storage devices by one input / output control device 93, the input / output processes to the striped file system 96 are parallelized. However, since the actual input / output processing of data to the secondary storage devices 94 and 95 is sequentially performed by one input / output control device 93, the performance at the time of input / output to the secondary storage device per single process is improved. Could not be planned. Therefore, depending on the number of input / output control devices installed in the host computer, there is a problem that the performance at the time of input / output to the secondary storage device per process is not improved even if the striped file system is constructed. ..
【0005】
Furthermore, in the conventional striped file system method, the size of the striped file system that can be constructed is limited by the number of secondary storage devices that can be connected to one host computer. The reason is that one host computer is connected to two or more secondary storage devices such as magnetic disk devices, and the file system built on each secondary storage device is virtually controlled by software. This is because data was input and output to and from the virtual file system by pretending to be one file system.
【0006】
Therefore, an object of the present invention is to provide a host computer for each secondary storage device, interconnect these host computers to construct a computer network (distributed network), and create a virtual file system straddling each secondary storage device. By distributing and parallelizing data to (striped file system) without being aware that it is via a network, data to the striped file system can be input and output without reducing throughput. It is possible to realize input / output and not only improve the performance of the secondary storage device per process, but also improve the performance of the secondary storage device throughout the system to realize a file system with a larger capacity than before. The purpose is to provide a distributed networked striped file system that enables it.
【0007】
[Means for solving problems]
The distributed networked striped file system of the present invention uses a plurality of file systems built on a plurality of secondary storage devices connected to a host computer as one virtual file system, and this virtual file. In a striped file system in which data writing and reading processing to the system is divided into the secondary storage devices by software and distributed in parallel, a plurality of the plurality of secondary storage devices are connected without overlapping each other. The host computer is provided, and the host computers are interconnected to construct a computer network having the host computer and the file system constructed on the corresponding secondary storage device as a constituent unit, and the host computer has the same computer network. A virtual file system name is given to each of the file systems constructed on the connected secondary storage device, and data is input from the host computer constituting the computer network to the secondary storage device. It has a configuration in which output is performed via the virtual file system name.
【0008】
Further, in the above configuration, when the writing of the divided data to the secondary storage device fails due to the failure of the host computer, an alternative host computer is selected and the secondary storage device corresponding to the alternative host computer is selected. On the other hand, the corresponding data can be written.
【0009】
Further, a striped pattern composed of a wide area file system management table for managing a wide area file system arranged on the secondary storage device connected to the host computer for wide area file system management, and the wide area file system. A striped file system management table for managing the file system, a network address management table for uniquely identifying the interconnected host computer, and a plurality of the secondary storage devices divided and stored. All the host computers provided with a data management table for managing existing data files, and interconnected the information of the wide area file system management table, the striped file system management table, the network address management table, and the data management table. By communicating with the remote host computer through the computer network while sharing and referencing one data file, one data file is divided and transferred to the secondary storage device connected to a plurality of the host computers. Can be.
【0010】
Next, the operation of the present invention will be described. In a computer network environment (distributed networking environment) constructed by connecting multiple host computers to each other, a secondary storage device such as a magnetic disk device connected to the host computer is connected via the network. A stripe whose constituent unit is a wide area file system built on a secondary storage device connected to a different host computer by constructing a file system (wide area file system) that allows data to be input and output without being aware of it. By providing the function to build a de-file system, the load on the host computer when data is input to and output from the striped file system is distributed to the input and output control devices installed in multiple host computers, and the throughput is achieved. Data input / output to the striped file system is realized without causing deterioration, and the data input / output process itself to the striped file system is distributed and parallelized to other host computers in the network. This not only improves the performance of the secondary storage device per process, but also improves the performance of the secondary storage device throughout the system, and further, the secondary storage device connected to multiple host computers in the network. By constructing a virtual file system that spans the above, it is possible to realize a file system with a larger capacity than before.
【0011】
Also, when a process inputs or receives data to or from a striped file system, the software running on each host computer is connected to the host computer to manage the wide area file system. Management table for managing wide area file system on the device, management table for managing striped file system consisting of wide area file system, network address management for uniquely identifying interconnected host computers Secondary storage connected to the host computer in the computer network that composes the striped file system in which data is input and output by the process by referring to the table and the data management table for managing the data file. It identifies the file system built on the device, divides the data, reconstructs the divided data, and automatically distributes and parallelizes the data input / output control. Therefore, the process simply inputs and outputs data to and from the striped file system, fragmenting the data, parallelizing the input and output processing, and connecting to and from remote host computers interconnected by a computer network. It is possible to realize data input / output to a secondary storage device connected to a remote host computer without being aware of data transmission / output in.
【0012】
BEST MODE FOR CARRYING OUT THE INVENTION
Embodiments of the present invention will be described with reference to the drawings.
【0013】
FIG. 1 is a schematic system configuration diagram showing an example of the first embodiment of the present invention. In FIG. 1, the file system to which the present invention is applied constitutes a wide area file system, a host computer 11 for managing the wide area file system, and a plurality of host computers 12, 13, 14, ..., Under the control of the host computer 11. 1m, secondary storage devices 21,22,23,24, ..., 2m connected to each of these host computers 11 to 1m, and network 10 interconnecting each host computer 11 to 1m. Consists of. A virtual striped file system 20 is constructed from a file system constructed on a secondary storage device 22 to 2 m connected to each host computer 12 to 1 m. A host computer (not shown) that uses a wide area file system is connected to network 10. As shown in FIG. 2, the secondary storage device 21 connected to the host computer 11 for managing the wide area file system has a management table 26 for managing the wide area file system and a striped file system. A management table 27 for management, an address management table 28 for managing the host name of the host computer and address information for uniquely identifying the host computer in the network, and data divided into a plurality of secondary storage devices. A data management table 29 is provided, which is used when writing data and when restoring data which is divided and written in a plurality of secondary storage devices.
【0014】
As shown in FIG. 3, the management table 26 for managing the wide area file system is an area 261 for registering the host names (for example, Host-1, ...) given to the host computers constituting the network. And the area 262 for registering the file system name (for example, FS-1, ...) of the file system built on the secondary storage device connected to the host computer with that host name, and the host name and file system. Area 263 for registering a file system identifier (for example, FS-ID-1, ...) uniquely given to a set of names, and area for registering a status flag indicating the state of the file system of that file system name. It consists of 264. The status flag has two states: a BUSY state (a state in which input / output to the file system is performed) and an IDLE state (a state in which input / output to the file system is not performed).
【0015】
As shown in FIG. 4, the striped file system management table 27 refers to the wide area file system name (for example, WA-FS-1n, ...) that each host computer refers to when accessing a file on the wide area file system. ) Is registered, and the area 272 is used to register the file system identifiers (for example, FS-ID-11, ...) of multiple file systems that make up the file system corresponding to the wide area file system name. Will be done.
【0016】
As shown in FIG. 5, the address management table 28 uniquely identifies the host computer in the network with the area 281 for registering the host name (for example, Host-1, ...) given to the host computer. It is composed of an area 282 for registering network address information (for example, aaa.aaa.aaa.aaa, ...).
【0017】
As shown in FIG. 6, the data management table 29 is a data file name for specifying data when writing data to or reading data from a striped file system (for example, FILENAME1,. Area 291 to register ..) and the sequence number assigned to each data file fragment when the data file with that data file name is divided into multiple (n) fragments (for example, 1, ..., n) Area 292 to register, and area 293 to register the file system identifier (for example, FS-ID-11, ..., FS-ID-1n) of the file system in which the fragment of each divided data file is stored. It is composed of and.
【0018】
7 and 10 are diagrams showing the relationship between various management tables that the host computers constituting the network refer to when inputting / outputting data via the wide area file system. FIG. 8 shows the data included in the data write request message, the data read request message, and the data deletion request message exchanged between the host computers at the time of a data write request, a data read request, or a data deletion request. It is a figure which showed the outline. The data write request message, data read request message, and data deletion request message contain the data file name 52 of the data to be written, read, or deleted, and the data file to be written, read, or deleted. It is composed of the file system name 53 and the sequence number 54 assigned to each data file fragment when the data file is divided into n pieces. FIG. 9 is a diagram showing an outline of the data included in the data write result notification message and the data read result notification message exchanged between the host computers in response to the data write request message or the data read request message. .. In this result notification message, the data file name 52 of the data for which a write or read request was made, the file system name 53 for which a data file write request or data file read request was made, and the data file are divided into n pieces. The sequence number 54 assigned to each data file fragment, the result flag 58 indicating the result of the data file write request or the data file read request, and the data read back when the data read request message is received are sent back. It is configured to include the data unit 59. The result flag 58 is one of two flags, a success flag (a flag indicating that data writing or reading data is successful) and a failure flag (a flag indicating that data writing or reading data is unsuccessful). I take the.
【0019】
FIG. 11 is a schematic system configuration diagram showing a modified example of the system of FIG. In FIG. 11, striped from a file system built on secondary storage devices 104, 105, 106, 107 connected to two I / O controllers 100, 101, 102, 103, respectively, of two host computers 97, 98 interconnected by computer network 99. -File system 108 is configured. Data processing for the striped file system 108 is performed for secondary storage devices 104 to 107 connected via different I / O control devices 100 to 103 connected to each of the plurality of host computers 97 and 98. It is distributed and parallelized.
【0020】
FIG. 12 is a schematic system configuration diagram showing an example of a second embodiment of the present invention. FIG. 13 is a schematic system configuration diagram showing a modified example of the system of FIG. 12.
【0021】
Figures 14, 15 and 16 are flowcharts showing the flow of processing in the present invention. FIG. 14 shows a processing flow when a host computer constituting a network writes data via a wide area file system. FIG. 15 shows a processing flow when a program running on a host computer constituting a network receives a data write request message or a data read request message from a remote host computer. FIG. 16 shows the processing flow when the host computer constituting the network reads data via the wide area file system.
【0022】
Next, the operation of the present invention will be described in detail with reference to the above drawings. First, the first embodiment shown in FIG. 1 will be described, but before that, a technique conventionally used in order to make the features of the present invention easy to understand will be described.
【0023】
The conventional wide area file system has only the host name, the file system name, the wide area file system name, and the network address information for uniquely identifying the host computer in the network as the information for managing the wide area file system. It was. Writing and reading to the wide area file system that composes the striped file system, and configuration control of the striped file system share the above management information with all host computers (11 to 15) in the network. Based on this management information, it is performed by the program on each host computer. This management information is updated when the operator instructs the host computer (11) to change the configuration. Generally, in a wide area file system, the wide area file system name is shared by all the host computers that make up the network, and the name of the host computer in the network and the secondary storage device connected to the host computer are used from the wide area file system name. With reference to the file system name built above, input / output is performed to the files of the file system built on the secondary storage device connected to the host computer.
【0024】
In the present invention, when data is written in parallel to a plurality of secondary storage devices connected to different host computers via a wide area file system, as shown in FIG. 7, a network is performed from a host computer 19. Wide area file system 30 (for example, wide area file) composed of file systems built on secondary storage devices 2x ~ 2z connected to n host computers 1x ~ 1z out of host computers 12 ~ 1m through 10. This is achieved by issuing a write request for data (data file 45) to system name 31 = WA-FS-1n (step S101 in FIG. 14).
【0025】
When the program running on the host computer 19 detects a data write request to the wide area file system 30, the host computer 11 for wide area file system management uses the wide area file system name 31 (WA-FS-1n) as a key. Search the striped file system management table 27 created above and shared by all host computers in the network, and the wide area file system 30 with its wide area file system name 31 (WA-FS-1n) is n. Knowing that it is composed of multiple file systems, divide the data file 45 (for example, data file name 46 = FILENAME1) to be written into n equal parts of equal size, and in order from 1 to n, respectively. The sequence number 47 and the individual file system identifiers 48 (for example, FS-ID-1, ..., FS-ID-n) are assigned to these data file names 46, sequence number 47, and file system identifier 48. Store in data management table 29. The program running on the host computer 19 then refers to the striped file system management table 27 and has n file identifiers assigned to the specified wide area file system 30 (WA-FS-1n). Obtain information on 32, ..., 33 (for example, FS-ID-1, ..., FS-ID-n). After retrieving the information for file system identifiers 32 to 33, then refer to the wide area file system management table 26 and see the host names 35, ..., 36 corresponding to file system identifiers 32, ..., 33 (for example, Refer to Host-1, ..., Host-n) and the file system names 37, ..., 38 (eg, FS-1, ..., FS-n). After obtaining the information of the host name 35, ..., 36, refer to the address management table 28 and refer to the network address 42, ..., 43 of n host computers 1x, ..., 1z (for example, xxx. xxx.xxx.xxx, ..., zzz.zzz.zzz. get zzz). Data write request message Rw for each fragment of data file 45 divided into n equal parts for each of the programs running on each host computer 1x to 1z with network addresses 42 to 43 extracted in this way (Fig. 8). ) (Step S101 in FIG. 14), and in the wide area file system management table 26, set the BUSY flag to the status flags 39 to 40 of the host names 35 to 36 and the file system names 37 to 38 to which the data write request message Rw was sent. To do.
【0026】
Each program running on the host computer 1x ~ 1z has a file system 30x ~ 30z (file system name 37 = (FS-1)) built on the secondary storage device 2x ~ 2z connected to it. ) ~ File system name 38 = (FS-n)) When the request message Rw for writing a fragment of data file 45 is received (step S201 in Fig. 15), the secondary storage devices 2x ~ 2z connected to each of them are received. Data is written to the file (step S202 in FIG. 15). At this time, each program selects the name obtained by connecting the data file name 52 (FILENAME1) of the data write request message Rw received from the host computer 19 with the sequence number 54 (1 to n) as the data file name, and selects the file system. Writes data to the file system (30x ~ 30z) specified by name 53 (FS-1 ~ FS-n). When each program running on the host computer 1x ~ 1z completes writing data to the secondary storage device 2x ~ 2z within a preset fixed time after receiving the data write request message Rw (Fig.) Step 15 (Y side of S203), set the success flag to the result flag 58 of the data write result notification message Qw (Fig. 9), and further set the data file name 52 and file system name 53 set in the data write request message Rw. And sequence number 54 is set and sent to the host computer 19 that made the data write request (step S204 in FIG. 15).
【0027】
The program running on the host computer 19 makes a data write request to the wide area file system 30 (step S101 in FIG. 14), and then on all the host computers 1x to 1z that make the data write request within a certain period of time. Receives the data write result notification message Qw from each program running in (in the case of steps S102 and N in FIG. 14), and the success flag is set in the result flag 58 of all the received data write result notification messages Qw. In the case of (step S103 in FIG. 14, if successful), it is detected that data has been written to the file system 30x to 30z built on the secondary storage devices 2x to 2z connected to the host computers 1x to 1z. Then (step S104 in FIG. 14), the status flags 39 to 40 of the host names 35 to 36 and the file system names 37 to 38 for which data writing was successful in the wide area file system management table 26 are set to the IDLE state.
【0028】
Each program running on the n host computers 1x to 1z that make up the striped file system receives the data write request message Rw from the host computer 19 (step S201 in FIG. 15), and then secondary. If the writing of data to the storage devices 2x to 2z is not completed within a certain period of time (in the case of steps S203 and N in FIG. 15), a failure flag is set in the result flag 58 of the data writing result notification message Qw, and further. The data file name 52, file system name 53, and sequence number 54 set in the data write request message Rw are set in the data write result notification message Qw, respectively, and sent to the host computer 19 that made the data write request ( Step S205 in FIG. 15).
【0029】
The programs running on the host computer 19 make a data write request to the wide area file system 30, and then from each program running on all the host computers 1x to 1z that sent the data write request message Rw. If none of the data write result notification messages returned within a certain period of time have the success flag set in the result flag 58 of Qw, or on all host computers 1x ~ 1z that sent the data write request message. If the data write result notification message Qw cannot be received from each running program within a certain period of time, the file system built on the secondary storage device 2x ~ 2z connected to the host computer 1x ~ 1z. It is detected that writing of data to 30x to 30z has failed (step S107 in FIG. 14), and from the data management table 29, the sequence number corresponding to the data file name 46 where writing failed and the data file name 46 where writing failed. Delete the entries of 47 and file system identifier 48, set the status flags of host names 35 to 36 and file system names 37 to 38 that failed to write data to the IDLE state in the wide area file system management table 26, and set the data management table 29. Delete the entry for data file name 46 from (step S108 in Figure 14).
【0030】
Next, the host computer 19 makes a data write request to the wide area file system 30 (step S101 in FIG. 14), and then receives the data from each program running on each host computer 1x to 1z within a certain period of time. Refer to FIG. 10 for the operation when the failure flag is set in the result flag 58 of some data writing result notification message Qw in the data writing result notification message Qw (step S103 in FIG. 14, in case of failure). I will explain. For example, the host name 61 (eg, sss.sss.sss.sss) of the network address 68 (eg, sss.sss.sss.sss) that corresponds to the file system identifier 78 (eg, FS-ID-i) set for the i-th sequence number 76. Data writing result of the i-th fragment of data file 45 to the file system 30s (file system name 63 = (FS-i)) built in the secondary storage device 2s connected to the host computer 1s of Host-i) If the result flag 58 of the notification message Qw is set to the failure flag, or receive the data write result notification message Qw within a certain period of time from a part of each program running on the host computer 1x ~ 1z. (In the case of steps S102 and Y in Fig. 14), for example, connect to the host computer 1s with the network address 68 and the host name 61 corresponding to the file system identifier 78 set for the i-th sequence number 76. When the data write result notification message Qw of the i-th fragment of the data file 45 for the file system name 63 built in the secondary storage device 2s cannot be received within a certain period of time, the data write is partially performed. Only the failure is detected, and in the wide area file system management table 26, the status flag 65 of the file system identifier 78 that failed to write data is set to the IDLE state.
【0031】
Next, if the data write request of the i-th sequence number 76 of the data file 45 divided into n fails, the host computer 19 sets the (i + 1) -th sequence in the data management table 29 of FIG. file system identifier 79 (FS-ID- (i + 1)) by searching a wide area file system management table 26 to the key that has been assigned to the number 77, (i + 1) number assigned to the first of the sequence number 77 Check the status flag 66 of the file system identifier 79. If the status flag 66 of the file system identifier 79 assigned to the (i + 1) th sequence number 77 is the BUSY status, the status flag of the (i + 2) th file system identifier is checked. Repeat this procedure until the nth file system identifier is found with the status flag in the IDLE state, and if the nth file system identifier is not found and the IDLE state file system identifier is not found, 1 Repeat from the third file system identifier to the (i-1) th file system identifier until an IDLE state file system identifier is found. In this way, if the file system identifiers in the IDLE state are not found even after checking all the file system identifiers in the wide area file system management table 26 (in the case of steps S105 and Y in FIG. 14), data is written. The host computer 19 that made the request detects that the writing of the data file 45 failed (step S107 in FIG. 14), and sends the n-equalized pieces of the data file to the host computer corresponding to each file system identifier that wrote the fragment. On the other hand, a request to delete each of the written n equal parts of the data file is issued, and the entry of the data file 45 (data file name 46 = FILENAME1) is deleted from the data management table 29 (step S108 in FIG. 14). ..
【0032】
When the status flag 66 of the file system identifier 79 assigned to the (i + 1) th sequence number 77 is in the IDLE state, the file system identifier 78 for the i-th sequence number 76 is set to a wide area in the data management table 29. The IDLE state in the file system management table 26 (the same value (FS-ID- (i + 1)) as the file system identifier 79 that wrote the data of the i + 1th sequence number 77) is applied to the i-th sequence number 76. The data fragment of the i-th sequence number 76 of the data file 45 divided into n pieces by setting the file system identifier 78 is the network address 69 corresponding to the file system identifier 78 (for example, ttt.ttt.ttt. To the file system 30t (file system name 64 = (FS + (i + 1)) built on the secondary storage device 2t connected to the host computer 1t of the host name 62 (Host- (i + 1)) of ttt) Issue the data write request message Rw for writing, and set the status flag 66 of the (i + 1) th file system identifier in the wide area file system management table 26 to the BUSY status.
【0033】
Data write result for the data write request message Rw that sent the data fragment of the i-th sequence number 76 of the data file 45 divided into n pieces to the host computer 1t corresponding to the (i + 1) th file system identifier. If the notification message Qw is returned from the host computer 1t to the host computer 19 that made the data write request within a certain period of time, and the success flag is set in the result flag 58 of the data write result notification message Qw, The host computer 19 that made the data write request detects that the data write was successful, and sets the state flag 66 of the (i + 1) th file system identifier to the IDLE state. In this case, the data fragment of the i-th sequence number 76 of the n-equally divided data file 45 and the data fragment of the (i + 1) th sequence number 77 are the (i + 1) th file system. The file system 30t constructed in the secondary storage device 2t connected to the host computer 1t of the host name 62 of the network address 69 corresponding to the identifier 79 has the sequence numbers i and (i) in the data file name 46 (FILENAME1), respectively. It is written with the data file name given +1).
【0034】
Data write request message Rw sent to the host computer 1t corresponding to the (i + 1) th file system identifier of the data fragment of the i-th sequence number 76 of the data file 45 divided into n pieces. If the message Qw is returned from the host computer 1t to the host computer 19 that made the data write request within a certain period of time, and the result flag 58 of the data write result notification message Qw is set to the failure flag, or Data write request message sent to host computer 1t corresponding to the (i + 1) th file system identifier Data write result notification message Qw for Rw made a data write request from host computer 1t within a certain period of time. If not returned to, the host computer 19 is responsible for the file system built on the secondary storage device connected to the host computer corresponding to the (i + 2) th file system identifier in the above sequence. Attempts to write a piece of data at the i-th sequence number 76 of the n-equally divided data file 45. This procedure is repeated up to the nth file system identifier until the data write is successful, and if the write to the nth file system identifier also fails, the (i-1) th file system from the first file system identifier. Repeat until the data is successfully written up to the identifier (step S106 in FIG. 14). In this way,
【0035】
When the host computer 19 reads the data stored in the data file with the data file name 46 via the wide area file system 30, the program running on the host computer 19 is the data file with the data file name 46 (FILENAME1). When a request to read the data stored in 45 is detected, the data file name 46 is used as a key, and it is created on the host computer 11 for wide area file system management and shared by all the host computers in the network. Refer to data management table 29 to know the number of fragmented data files with data file name 46 from sequence number 47, and the file system identifier 48 of the file system where each fragmented data file is stored. Take out (32 ~ 33). Next, using the file system identifier 48 (32 to 33) of the file system in which each fragmented data file is stored as a key, the wide area file system management table 26 is searched, and each file system identifier 32 to 33 is used. Extract the corresponding host names 35 to 36 and file system names 37 to 38. Next, referring to the address management table 28 using the host names 35 to 36 as the key, the host to which the secondary storage device 2x to 2z in which the fragmented data file of the data file name 46 is stored is connected. Extract the network addresses 42 to 43 of the names 35 to 36 (host computer 1x to 1z). A data read request message Rr is sent to each of the programs running on each of the host computers 1x to 1z of the network addresses 42 to 43 extracted in this way (step S301 in FIG. 16), and wide area file system management is performed. In Table 26, the BUSY flag is set in the status flags 39 to 40 of the host names 35 to 36 and the file system names 37 to 38 to which the data read request message Rr is sent.
【0036】
When each program running on the host computer 1x ~ 1z receives the data read request message (step S201 in FIG. 15), it reads the data from the secondary storage device 2x ~ 2z connected to it. (Step S202 in FIG. 15). At this time, each program running on the host computer 1x ~ 1z receives data from the host computer 19 as a data file name when reading data from the secondary storage device 2x ~ 2z connected to itself. Select the name obtained by connecting the sequence number 54 to the data file name 52 of the read request message Rr as the data file name, and read the data from the file system name 53. When each program running on the host computers 1x to 1z receives the data read request message Rr and then reads the data from the secondary storage devices 2x to 2z within a certain period of time (step in FIG. 15). (For S203 and Y), the success flag is set in the result flag 58 of the data read result notification message Qr, and the data file name 52, which is set in the data read request message Rr. The host computer that made the data read request by setting the file system name 53 and the sequence number 54 in the data read result notification message Qr, writing the contents of the data file read from the secondary storage device to the data unit 59, respectively. Send to 19 (step S204 in Figure 15). The program running on the computer 19 makes a data read request to the wide area file system 30 (step S301 in FIG. 16), and then all the host computers 1x to 1z that send the data read request message Rr within a certain period of time. Receive the data read result notification message Qr from each program running above (in the case of steps S302 and N in FIG. 16), and set the success flag to the result flag 58 of all the received data read result notification message Qr. If so (step S303 in Fig. 16, successful), the file system 30x ~ 30z (file system name 37 ~ 38) built on the secondary storage device 2x ~ 2z connected to the host computer 1x ~ 1z. Detected that the data was successfully read from (step S304 in FIG. 16), and in the wide area file system management table 26, the status flags 39 of the host names 35 to 36 and the file system names 37 to 38 in which the data was successfully read Put ~ 40 in IDLE state. When the program running on the computer 19 detects that the data file 45 specified in the data read request message Rr has been read successfully, the data part is sent from the data read result notification message Qr sent from each host computer. Take out 59, rearrange them in the order of sequence number 57, and assemble them into one original file (step S305 in FIG. 16). In this way, the data file 45 that has been divided and stored in the secondary storage devices connected to a plurality of host computers in the network can be accessed.
【0037】
Each program running on the n host computers 1x to 1z that make up the striped file system receives the data read request message Rr from the host computer 19 (step S201 in FIG. 15), and then secondary. If the reading of data from the storage devices 2x to 2z is not completed within a certain period of time (in the case of steps S203 and N in FIG. 15), a failure flag is set in the result flag 58 of the data reading result notification message Qr, and further. The data file name 52, file system name 53, and sequence number 54 set in the data read request message Rr are set in the data read result notification message Qr, respectively, and sent to the host computer 19 that made the data read request. (Step S205 in FIG. 15).
【0038】
The programs running on the host computer 19 make a data read request from the wide area file system 30, and then each program running on all the host computers 1x to 1z that sent the data read request message Rr. Data read result notification message returned within a certain period of time Qr result flag 58 is set to a failure flag even if there is even one (step S303 in FIG. 16, in case of failure), or a data read request. When even one of the programs running on the host computer 1x ~ 1z that sent the message Rr does not return the data read result notification message Qr within a certain period of time (steps S302 and Y in Fig. 16). Detects that the reading of data from the file system 30x ~ 30z built on the secondary storage devices 2x ~ 2z connected to the host computer 1x ~ 1z has failed (step S306 in FIG. 16). , In the wide area file system management table 26, set the status flags 39 to 40 of the host names 35 to 36 and the file system names 37 to 38 that failed to read the data to the IDLE state, and set the data from the wide area file system 30 in the host computer 19 to the IDLE state. The read request for file 45 fails.
【0039】
Next, an example of the second embodiment of the present invention will be described with reference to FIG. In FIG. 12, the two host computers 110 and 111 are connected to each other by the computer network 109, and each of the host computers 110 and 111 is equipped with two input / output control devices 112 to 113, 114 to 115, respectively. Secondary storage devices 116, 117, 118, 119 are connected to the input / output control devices 112, 113, 114, 115, respectively. The first striped file system 120 is from the secondary storage device 116 connected to the input / output control device 112 of the host computer 110 and the secondary storage device 118 connected to the input / output control device 114 of the host computer 111. The second striped file system 121 is configured, and the secondary storage device 117 connected to the input / output control device 113 of the host computer 110 and the secondary storage device 115 connected to the input / output control device 115 of the host computer 111. It consists of device 119. The data input / output process for the secondary storage devices 116 to 119 when the data is input / output to the striped file systems 120 and 121 via the wide area file system is the same procedure as that of the first embodiment described above. It is done in. In the second embodiment, when the host computer 110 is stopped due to a failure, the data written to the striped file systems 120 and 121 is automatically input / output installed in the non-stopped host computer 111. Secondary storage device 118, connected to controller 114, 115, Saved at 119. Further, when the input / output control device 112 mounted on the host computer 110 is stopped due to a failure in the second embodiment, the data written to the striped file system 120 is automatically transferred to the host computer 111. It is stored in the secondary storage device 118 connected to the I / O control device 114 that is not stopped. Further, in the second embodiment, even if the secondary storage device 116 connected to the input / output control device 112 mounted on the host computer 110 is stopped due to a failure, the striped file system 120 is contacted. The written data is automatically saved in the non-stop secondary storage device 118 connected to the input / output control device 114 mounted on the host computer 111.
【0040】
Further, FIG. 13 shows a modified example of the second embodiment. In FIG. 13, the three host computers 123,124,125 are interconnected by a computer network 122, and each host computer 123,124,125 is equipped with two input / output control devices 126 to 127,128 to 129,130 to 131, respectively. Secondary storage devices 132,133,134,135,136,137 are connected to the input / output control devices 126,127,128,129,130,131 of the host computers 123 to 125, respectively. The first striped file system 138 includes a secondary storage device 132 connected to the input / output control device 126 of the host computer 123 and a secondary storage device 134 connected to the input / output control device 128 of the host computer 124. It is composed of a secondary storage device 136 connected to the input / output control device 130 of the host computer 125. The second striped file system 139 includes a secondary storage device 133 connected to the input / output control device 127 of the host computer 123 and a secondary storage device 135 connected to the input / output control device 129 of the host computer 124. , It is composed of a secondary storage device 137 connected to the input / output control device 131 of the host computer 125. When data is input / output to / from the striped file systems 138 and 139 via the wide area file system, the data input / output process to the secondary storage devices 132 to 137 is performed in the same procedure as in the first embodiment described above. Will be done. In the modified example of this second embodiment, when the host computer 123 is stopped due to a failure, the processing of the process that wrote the data to the striped file systems 138 and 139 is not automatically stopped. The data is distributed and processed in parallel by the input / output control devices 128 to 131 installed in the host computers 124 and 125, and the data is processed by the input / output control devices 128 and 128 installed in the host computers 124 and 125. It is stored in the secondary storage devices 134,136 connected to 130. Further, when the input / output control device 126 mounted on the host computer 123 is stopped due to a failure, the processing of the process of writing data to the striped file system 138 is mounted on the host computers 124 and 125. It is distributed and processed in parallel by the input / output control devices 128 and 130, and the data is stored in the secondary storage devices 134 and 136 connected to the input / output control devices 128 and 130 mounted on the host computers 124 and 125. Furthermore, even if the secondary storage device 132 connected to the I / O control device 126 mounted on the host computer 123 stops due to a failure, the process of writing data to the striped file system 138. The processing is distributed and parallel processed by the input / output control devices 128 and 130 mounted on the host computers 124 and 125, and the data is stored in the secondary storage devices 134 and 136 connected to the input and output control devices 128 and 130 mounted on the host computers 124 and 125. Will be done.
【0041】
As described above, according to the present invention, the input / output processing for the striped file system can be distributed / parallelized to a plurality of host computers in the computer network. When a striped file system is constructed from file systems built on multiple secondary storage devices connected to the host computer (see Fig. 17), one host computer 80 is used for all secondary storage devices 81. Compared to having to process the input / output of data to ~ 84, the input / output of the same amount of data should be divided by multiple host computers (12 to 1 m in Fig. 1) and processed in parallel. The amount of input / output data that each host computer must process is reduced. For example, in the conventional striped file system method, one host computer is equipped with two input / output control devices, and a secondary storage device is connected to each input / output control device (Fig. 18). (See), the process has two I / O controllers 87, for data I / O processing to secondary storage 89,90. Only distributed and parallel processing is performed by 88, but according to the present invention, two input / output control devices are mounted connected to a computer network, and a secondary storage device is connected to each input / output control device. By building a striped file system with another host computer (see Figure 11), data input / output processing to the secondary storage is performed by four computers connected to the two host computers. The output control device enables distributed and parallel processing, and it is possible to reduce the amount of input / output data that each host computer must process when inputting / outputting data to the secondary storage device. In this way, the input / output processing itself for the secondary storage device is distributed to a plurality of processes operating on a plurality of host computers in the computer network, and each host computer distributes and parallelizes the input / output control devices to a plurality of input / output control devices. As a result, the load on each host computer when inputting / outputting data to the secondary storage device can be reduced.
【0042】
In addition, in the conventional striped file system method, when data is input / output to / from a plurality of secondary storage devices by one input / output control device (see FIG. 19), the striped file system 96 Even if the input / output processing for is parallelized, the actual input / output processing of data to the secondary storage devices 94 and 95 is performed sequentially by one input / output control device 93, so the secondary storage per single process. In order to improve the performance per process when inputting / outputting data to the secondary storage device because it is not possible to improve the performance at the time of input / output to the device (see Fig. 18), different input / output control devices 87 and 88 are used. There was a hardware limitation that the striped file system 91 had to be built with the file system built on the connected secondary storage devices 89 and 90 as the basic unit. For this reason, when a striped file system is constructed and the data input / output processing for the secondary storage device is distributed and parallelized to multiple input / output control devices to improve the performance per process, the performance improvement is realized. The size of the striped file system that can be used is limited by the number of input / output control devices installed in one host computer, but according to the present invention, a plurality of striped file systems in one host computer can be used. Striped from not only the secondary storage devices connected to different I / O control devices, but also the secondary storage devices connected to multiple different I / O control devices mounted on multiple host computers that make up the computer network. You will be able to build a file system. For example, in the conventional striped file system method, two input / output control devices are mounted on one host computer, and a secondary storage device is connected to each input / output control device (Fig. 18). ), The capacity of the striped file system that can improve the performance of data input / output to the secondary storage devices 89 and 90 by distributing and parallelizing the data input / output processing to the secondary storage device. , Two I / O controllers 87, It is only the sum of the capacities of the secondary storage devices 89, 90 connected to each of the 88. According to the present invention, as shown in FIG. 11, another unit is connected by a computer network 99, has two input / output control devices, and has a secondary storage device connected to each input / output control device. By constructing a striped file system 108 with the host computer, the secondary storage devices 104 to 107 connected to each of the four input / output control devices 100 to 103 of the two host computers 97 and 98. It becomes the total capacity, and a striped file system can be constructed with only one host computer without sacrificing the performance improvement by distributing and parallelizing the data input / output processing to the secondary storage device. It will be possible to build a striped file system with twice the capacity of the case where data input / output processing to the next storage device is distributed and parallelized (Fig. 18). In this way, by constructing a striped file system whose constituent unit is a wide area file system constructed on a secondary storage device connected to a plurality of host computers via a computer network, secondary storage is performed. It will be possible to build a large-capacity striped file system while improving the performance per process when inputting and outputting data to and from the device. It is the total capacity of the secondary storage devices 104 to 107 connected to each of the four input / output control devices 100 to 103 of 98, and the performance by distributing and parallelizing the data input / output processing to the secondary storage device. Twice as compared to the case where a striped file system is constructed with only one host computer and data input / output processing for secondary storage is distributed and parallelized without sacrificing improvement (Fig. 18). You will be able to build a striped file system with the capacity of. In this way, by constructing a striped file system whose constituent unit is a wide area file system constructed on a secondary storage device connected to a plurality of host computers via a computer network, secondary storage is performed. It will be possible to build a large-capacity striped file system while improving the performance per process when inputting and outputting data to and from the device. It is the total capacity of the secondary storage devices 104 to 107 connected to each of the four input / output control devices 100 to 103 of 98, and the performance by distributing and parallelizing the data input / output processing to the secondary storage device. Twice as compared to the case where a striped file system is constructed with only one host computer and data input / output processing for secondary storage is distributed and parallelized without sacrificing improvement (Fig. 18). You will be able to build a striped file system with the capacity of. In this way, by constructing a striped file system whose constituent unit is a wide area file system constructed on a secondary storage device connected to a plurality of host computers via a computer network, secondary storage is performed. It will be possible to build a large-capacity striped file system while improving the performance per process when inputting and outputting data to and from the device.
【0043】
Further, according to the present invention, when a process writes data to a secondary storage device via a striped file system, the secondary storage device in which the file system constituting the striped file system is constructed is provided. Even if one of the connected host computers goes down due to a failure, another host computer to which the secondary storage device in which the file systems that make up the same striped file system are built is connected. As long as is running and its secondary storage has enough space to store data, the data that the process writes to the striped file system is automatically connected to a working host computer. It is stored in the secondary storage device. In this way, when inputting and outputting data to and from the striped file system, it is possible to simultaneously access the file system built on the secondary storage device connected to different host computers via the computer network. As a result, it becomes possible to improve the fault tolerance of the system when considering the entire computer network.
【0044】
[Effect of the invention]
As described above, according to the present invention, the input / output process itself for the secondary storage device is distributed to a plurality of processes operating on a plurality of host computers in the computer network, and a plurality of input / output controls are controlled by each host computer. By distributing and parallelizing the devices, it is possible to reduce the load on each host computer when inputting / outputting data to the secondary storage device.
【0045】
In addition, by constructing a striped file system whose constituent unit is a wide area file system constructed on a secondary storage device connected to a plurality of host computers via a computer network, the secondary storage device can be used. It is possible to build a large-capacity striped file system while improving the performance per process when inputting and outputting data.
【0046】
Furthermore, when inputting and outputting data to and from the striped file system, the computer network is obtained by simultaneously accessing the file system built on the secondary storage device connected to different host computers via the computer network. It is possible to improve the fault tolerance of the system when considered as a whole.
[Simple explanation of drawings]
[Figure 1]
It is a block diagram of the system which shows the example of 1st Embodiment of this invention.
[Figure 2]
It is a figure which shows various management tables on the secondary storage device connected to the host computer for managing a wide area file system.
[Fig. 3]
It is a figure which shows the configuration example of the wide area file system management table.
[Fig. 4]
It is a figure which shows the configuration example of the striped file system management table.
[Fig. 5]
It is a figure which shows the configuration example of the address management table.
[Fig. 6]
It is a figure which shows the configuration example of the data management table.
[Fig. 7]
It is a figure which showed the relationship of various management tables which are referred to when writing and reading data in this invention.
[Fig. 8]
It is a figure which shows the structural example of the data write request message and the data read request message.
[Fig. 9]
It is a figure which shows the structural example of the data write result notification message and the data read result notification message.
[Fig. 10]
It is a figure which showed the relationship of various management tables which are referred to at the time of a retry process when a data write request fails, and is a supplementary figure with respect to FIG.
[Fig. 11]
It is a figure which shows the modification of the embodiment shown in FIG.
[Fig. 12]
It is a block diagram of the system which shows the example of the 2nd Embodiment of this invention.
[Fig. 13]
It is a figure which shows the modification of the embodiment shown in FIG.
[Fig. 14]
In the present invention, it is a flowchart which showed the flow of the process when a host computer writes data through a wide area file system.
[Fig. 15]
In the present invention, it is a flowchart showing the flow of processing when a program running on a host computer receives a data write request or a data read request from a remote host computer.
[Fig. 16]
In the present invention, it is a flowchart which showed the flow of processing when a host computer reads data through a wide area file system.
[Fig. 17]
It is a block diagram which shows the conventional striped file system.
[Fig. 18]
Shows the hardware configuration when data input / output processing for secondary storage devices connected to different input / output control devices of one host computer is performed in a distributed and parallel manner in a conventional striped file system. It is a figure.
[Fig. 19]
A diagram showing a hardware configuration in a conventional striped file system when data input / output processing for a plurality of secondary storage devices connected to one host computer is performed by one input / output control device. It is a catching figure for 18.
[Explanation of symbols]
10,99,109,122 Network connecting host computers to each other 11 Host computer for wide area file system management 12 ~ 1m, 97,98,110,111,123,124,125 Host computers that make up the network 21 ~ 2m, 104 ~ 107,116 ~ 119,132 ~ 137 Secondary storage device 20,108,120,121,138,139 Virtual striped file system 26 Wide area file system management table 27 Striped file system management table 28 Address management table 29 Data management table 30 Wide area file system 30s ~ 30z file system 45 data file 100 ~ 103,112 ~ 115,126 ~ 131 I / O controller
20 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7130868B2 | Cited by | United States of America | Applicant |
| JP2008539531A | Cited by | Japan | Search report |
| JP2013525876A | Cited by | Japan | Search report |
| US9542402B2 | Cited by | United States of America | Applicant |
| JP2001290681A | Cited by | Japan | Search report |
| JP2013525876A | Cited by | Japan | Examiner |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 7168096 | Japan | A | |
| JP19960071680 | – | – | – |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 |
Numbers
- Publication
- 9-259089
- Publication, DOCDB
- H09259089
- Publication, EPODOC
- JPH09259089
- Application
- 8071680
- Application, DOCDB
- 7168096
- Application, EPODOC
- JP19960071680
Titles2
- Japanese
- 【発明の名称】分散ネットワーク化ストライプド・ファイルシス テム
- English
- [Title of Invention] Distributed Networking Striped File System
Classification
- IPC, 5
- G06F15 173
- G06F12 00
- G06F15 16
- G06F15 167
- G06F15 177