WO2016046951A1 - Computer system and file management method therefor - Google Patents

Computer system and file management method therefor Download PDF

Info

Publication number
WO2016046951A1
WO2016046951A1 PCT/JP2014/075593 JP2014075593W WO2016046951A1 WO 2016046951 A1 WO2016046951 A1 WO 2016046951A1 JP 2014075593 W JP2014075593 W JP 2014075593W WO 2016046951 A1 WO2016046951 A1 WO 2016046951A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
file
standby
takeover
network
Prior art date
Application number
PCT/JP2014/075593
Other languages
French (fr)
Japanese (ja)
Inventor
鵜飼 敏之
正道 岡嶌
雄介 白神
雅史 柏木
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/075593 priority Critical patent/WO2016046951A1/en
Publication of WO2016046951A1 publication Critical patent/WO2016046951A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Definitions

  • the present invention relates to a computer system having a plurality of servers and a plurality of storage apparatuses, and a file management method thereof.
  • an in-memory database constructed in such a way that all data stored in a storage device is expanded on a memory (main storage device) as a database of a server in a computer system, and data input / output processing for the memory is executed.
  • Memory data processing programs are known.
  • the server managing the file can execute data input / output processing at a higher speed than accessing the storage device by accessing the memory in which the in-memory database is constructed.
  • the server that operates the in-memory database is connected to the storage device for holding the data as in the conventional case.
  • the in-memory database increases, increase the main memory capacity of one (or relatively few) servers, or increase the main memory capacity of a single server without increasing the main memory capacity of a single server.
  • One option is to distribute the data to cover the main storage capacity in total.
  • the former is classified as a so-called scale-up configuration, and the latter is classified as a so-called scale-out configuration.
  • the scale-up configuration generally does not require much attention to data distribution and is easy to use, but is inferior in scalability when the mounting cost and data amount further increase. For this reason, for example, a scale-out configuration is often used when data that is large to some extent is targeted, such as for the cloud.
  • a scale-out type is adopted for cloud support. Yes.
  • the scale-out type system includes a storage non-shared type and a storage shared type.
  • a configuration in which each server and each storage device are individually connected is adopted, so that a single storage device can be used for each server, and the storage device is configured at low cost. be able to.
  • a copy (replica) of the file (data) to be processed by each server is under the control of the other server. It must be created in the storage device.
  • Patent Document 1 describes that a copy is created in another server (node) to increase availability.
  • each server is configured to be connected to a storage device shared by each server, so that it is possible to cope with server failures without creating a replica in the storage device.
  • I can.
  • Patent Document 2 when a failure occurs in the active server, when the task in the computer system is taken over to a server that is not in operation, the failure of the active server is detected and the same as the active server in the computer system. Search for a server that is not running a business with a hardware configuration, enable access to the external disk device from the server found as a result of the search, and take over the business by booting the server from the external disk device Is described.
  • Patent Document 3 discloses a RAID (Redundant Array of RAID), which is a disk array having a fault tolerance, in which redundant data is stored in at least one of a plurality of disks in a storage device composed of a plurality of disks. Inexpensive Disks).
  • RAID Redundant Array of RAID
  • Each server sharing the storage uses a logical disk unit (hereinafter, logical unit) cut out from the RAID as a logical storage device as a disk device. When a failure occurs in a certain server, the logical unit that was performing input / output on that server is taken over by making it accessible from another server that shares the storage device.
  • a shared storage system When a shared storage system is adopted as a scale-out system, it is necessary to prepare a standby server as a server for taking over the processing of the failed server among a plurality of servers. At this time, if it is necessary to configure the system using more servers than the number of servers that can be connected to the shared storage device in the entire system, at least standby servers for the number of shared storage devices are required, which increases the installation cost. .
  • a single storage device can be used for each server, so that the storage device can be configured at low cost.
  • a server failure it is necessary for another server to take over the processing of the failed server, so make a copy (replica) of the file (data) to be processed by each server on the other server. Will be forced.
  • the server that took over the processing of the failed server reconfigures the data of the failed server based on the replica stored in the server other than the failed server, so that the memory under the management of the failed server Services that are accessed by the device can be resumed.
  • each server adopts a method of creating a replica of the file to be processed by the other server, with each server, As the write processing on the storage device increases, the traffic on the network connecting each server and each storage device also increases.
  • the replica stored on the server other than the failed server is used as the storage device of the takeover server. After restoration, a data load must be executed, which increases the time until service restart.
  • the present invention includes a plurality of clusters including a plurality of servers connected to a network and a shared storage device connected to each of the servers and shared by the servers,
  • a server belonging to at least one of the plurality of clusters is configured as a standby server, and at least the standby server performs a failover for taking over the processing of the failed server when a failure occurs in a server belonging to any one of the clusters.
  • a process is executed.
  • Example 1 when a failure occurs, the takeover server publishes information about the logical unit managed by the failure server on the network, and the takeover server and standby server cooperate to execute failover processing. To do.
  • FIG. 1 is a block diagram of a computer system showing a first embodiment of the present invention.
  • the computer system includes a plurality (# 1 to #n) of clusters 100.
  • Each cluster 100 has a plurality of servers 101, and each server 101 belonging to each cluster 100 is connected to a storage device (shared storage device) 102 shared by each server 101 for each cluster 100.
  • Each server 101 is connected to the network 103.
  • the computer system is a scale-out system and is configured as a shared storage system.
  • a LAN Local Area Network
  • At least one of the servers 101 belonging to each cluster 100 is configured as a standby server, and the other servers are configured as active servers.
  • the #MN server 101 is configured as a standby server MN, and the other servers 101 (belonging to the # 1 cluster 100) Servers 11 to 1N,..., #N belonging to the cluster 100 are configured as active servers.
  • Each server 101 includes a memory 111, a processor 112, and input / output interfaces (I / F) 113 and 114, and each unit is connected to each other via an internal bus 115.
  • Each memory 111 stores a program 121, data 122 (122-11, ..., 122-1N, ..., 122-M1, ...), a file system 123, and a virtual drive program 124. (Only a part is shown).
  • the program 121 is, for example, a user program or an application program, and is configured as an in-memory processing program for managing an in-memory database (DB).
  • Each data 122 includes data transferred from the storage apparatus 102, a file body, a log, and the like.
  • Each file system 123 is a software resource that executes various processes in response to processing requests from the program 121, for example, a shared file system client, a shared file server (not shown), or each transferred from the storage apparatus 102. Consists of files (not shown).
  • the file system 123 of each server 101 stores a table storage unit 130 (only a part of which is shown) for storing various tables.
  • the file system 123 of the standby server MN includes software resources for executing the failure takeover process 134, the load copy process 135, and the copy incomplete file copy process 136, such as a shared file system client or a shared file server ( Neither of them is stored).
  • Each processor 112 is configured as a control unit that performs overall control of the server 101, and a terminal (not shown) connected to another server 101 or the network 103 via the input / output interface 113 and the network 103, information and data. In addition, it is determined whether or not a failure has occurred in another server 101 by transmitting / receiving a heartbeat signal. Each processor 112 transmits and receives information and data to and from the storage apparatus 102 via the input / output interface 114.
  • Each storage apparatus 102 includes a plurality of input / output interfaces 141, a controller 142, and a plurality of storage devices 143, and each unit is connected to each other via internal buses 144 and 145.
  • Each input / output interface 141 is arranged corresponding to each server 101 and connected to the input / output interface 114 of each server 101.
  • Each storage device 143 is arranged corresponding to each server 101.
  • data 151 (151-11,..., 151-1N,..., 151-M1,...) To be managed (accessed) by each server 101 is stored in each storage device 143. Stored as file data.
  • Each controller 142 performs overall control of the entire storage apparatus 102 and responds to an access request (read request or write request) from each server 101 to input / output data (files) to / from the storage area of the designated storage device 143. Control.
  • a logical unit (LU) that is a management target (access target) of each server 101 is set in the storage area (storage area) of each storage device 143.
  • LU11 to LU1N are set as logical units LU and belong to the cluster 100 #n.
  • LUM1 to LUMN are set as logical units LU in the storage area of each storage device 143 corresponding to the server 101 (server M1 to server MN).
  • FIG. 2 is a configuration diagram of the load timing setting information table.
  • a load timing setting information table 131 is a table stored in the table storage unit 130 of the file system 123 in each server 101, and manages the timing for loading a plurality of files into the file system 123.
  • the table includes a file name field 131A and a file load designation field 131B.
  • the file name is a name for specifying each file stored in the file system 123.
  • information of “file 1” is stored in the entry of the file name field 131A.
  • As the file name a directory name for representing the entire file under a specific directory, or a wild card for indicating a specific file name pattern (a symbol that can be used in place of a character, for example, “*” or “?”). ) May be specified.
  • the file load designation is information for designating the timing for loading each file into the file system 123. In the entry of the file load designation field 131B, for example, when the file 1 or the entire file 3 is loaded into the file system 123 when the program 121 is activated, information of “all loads at activation” is stored.
  • the load timing setting information table 131 associates the file with the load designation information, but it may be a DB table handled by the in-memory database and its load designation information. In this case, a data structure that associates the DB table with the file is separately provided (not shown). At this time, a plurality of DB tables may constitute one file, or one DB table may comprise a plurality of files.
  • FIG. 3 is a configuration diagram of the copy policy information table.
  • a copy policy information table 132 is a table for managing copy policy information stored in the table storage unit 130 of the file system 123 in each server 101 and copying each file.
  • a field 132A, a file load designation field 132B, and a prescribed operation field 132C are included.
  • Policy ID is an identifier for identifying the policy ID of each file. For example, information of “1” to “5” is stored in the entry of the policy ID field 132A in order to identify five types of policy IDs.
  • the file load designation field 132B stores the same information as the file load designation field 131B of the load timing setting information table 131. In the file load designation field 132B of the policy ID “5”, information other than the above is stored as information related to the load designation of a file different from the policy IDs “1” to “4”.
  • Specified operation is an operation that is set in correspondence with the policy ID, and is information that specifies an operation when copying a file.
  • “automatic (automatic copy at loading)” information is stored as a prescribed operation when the file with the policy ID “1” is automatically copied.
  • information of “whole prefetching (automatic copy at loading)” is stored as a prescribed operation when the file of policy ID “2” is copied by “partial loading at startup”.
  • “Copy before loading” information is stored as a prescribed operation when copying the file with the policy ID “5” with “other than the above”.
  • the program 121 reads the file and copies the read file before loading it into the file system 123.
  • FIG. 4 is a configuration diagram of the file correspondence information table.
  • a file correspondence information table 133 is a table stored in the table storage unit 130 of the file system 123 in the standby server MN in order to manage the file correspondence information generated by the active server 101.
  • the field 133A includes a policy ID field 133B, a migration source location information field 133C, a migration (complete / incomplete) field 133D, and a migration destination location information field 133E.
  • the file name field 133A stores the same information as the file name field 131A of the load timing setting information table 131. However, when a directory name for representing the entire file under a specific directory or a wild card for indicating a specific file name pattern is used, information on the expanded file name may be stored.
  • the policy ID field 133B stores the same information as the policy ID field 132A of the copy policy information table 132.
  • the migration source location information is information that identifies the migration source location of a file that is subject to failover processing when a failure occurs in any of the servers 101.
  • “file 1” is a file managed by the server 11 among the servers 101 belonging to the cluster # 1, and the management target (access target) of the server 11 and
  • the logical unit assigned to the storage area of the storage device 143 is LU11, information of “server 11: LU11” is stored.
  • “Migration” is information indicating whether or not migration of a file to be subjected to failover processing is completed.
  • the migration field 133D for example, when migration of a file to be subjected to failover processing is incomplete, information of “incomplete” is stored, and migration of the file to be subject to failover processing is completed. In this case, “complete” information is stored.
  • the migration destination location information is information that identifies the location of the migration destination of the file that is subject to failover processing.
  • the migration destination of “file 1” is the standby server MN, and is set in the storage area of the storage device 143 to be managed (accessed) by the standby server MN.
  • the logical unit is a LUMN
  • information of “server MN: LUMN” is stored.
  • the migration source location information and the migration destination location information may be information that can uniquely identify the logical unit in the system. For example, other information such as UUID (Universally Unique ID) may be used.
  • UUID Universalally Unique ID
  • FIG. 5 is a flowchart for explaining the initialization process of the active server. This process is performed by each active server 101.
  • Each server 101 in each cluster 100 reads the load timing setting information registered in the load timing setting information table 131 stored in the table storage unit 130 of the file system 123 (S501), and then the copy policy information table 132.
  • the file correspondence information including the file name, the policy ID, and the migration source position information is generated for each file, and the generated file correspondence information is registered in the file system 123 (S502). The processing in this routine is terminated.
  • FIG. 6 is a flowchart for explaining the standby server initialization process. This process is performed by the standby server MN.
  • the standby server MN acquires, from each server 101, the file correspondence information generated by each server 101 (information generated in step S502 in FIG. 5), collects the acquired file correspondence information, and integrates the file correspondence information. (File name, policy ID, source position information) are registered in the file correspondence information table 133 (S601), and the processing in this routine is terminated.
  • FIG. 7 is a flowchart for explaining the failure takeover process.
  • This failure takeover process 134 is executed by any active server 101 or standby server MN of the cluster 100 to which the failure server belongs when a failure occurs in any active server 101 among the active servers 101.
  • any active server (a server other than the failed server) 101 in the cluster 100 to which the failed server belongs determines whether there is a standby server (standby server waiting for processing), for example, a standby server MN, in the cluster 100 to which the failed server belongs (S701). At this time, even if there is a standby server in the cluster, for example, if the standby server is still taking over from another server or is being set up as a standby server, it is not determined that the server can be used.
  • step S701 If a negative determination result is obtained in step S701, that is, if there is no standby server that can be used in the cluster 100 to which the failure server belongs, for example, there is no standby server MN, one of the clusters 100 to which the failure server belongs.
  • the active server 101 makes the logical unit LU managed by the failed server available to the virtual drive program 124 as a target (S702).
  • the active server 101 functions as a takeover server (device server) in order to perform failover processing for taking over the processing of the failed server in cooperation with the standby server MN waiting for processing.
  • a process for publishing the logical unit LU managed by the server on the network 103 with the virtual drive program 124 as a target is executed.
  • the server 11 among the active servers 101 belonging to the cluster # 1 becomes a failure server
  • the server 11 among the active servers 101 belonging to the cluster 100 # 1 is a takeover server (device server).
  • the virtual drive program 124 of the server 11 executes a process for making the logical unit LU1N managed by the failure server 1N public on the network 103. That is, the server 11 publishes on the network 103 access information (information including the server ID and LUID) for the storage area of the storage apparatus 102 (storage area of the storage device 143) managed by the failure server 1N.
  • the file system 123 of the standby server MN that has detected that the server 1N has become a failure occurrence server executes a process for failing over from the failure occurrence server 1N to the standby server MN (S703). That is, the file system 123 of the standby server MN performs a process for migrating the file managed by the failure server 1N to the storage device 102 of the standby server MN with the logical unit LU1N disclosed on the network 103 as a target. Execute.
  • the file system 123 of the standby server MN acquires the server ID and LUID of the failure server 1N from the virtual drive program 124 under the management of the server 11 as migration source location information (access information) (S704).
  • the standby server MN refers to the file correspondence information table 133 based on the acquired transfer source location information, determines the file name and policy ID of the file specified by the transfer source location information, and determines the determined file name
  • the copy policy information table 132 is referred to based on the policy ID of “No.”, and “copy before loading” is executed as a prescribed operation for this file on condition that the policy ID is “5” (S705).
  • the standby server MN when the standby server MN reads a file specified by the logical unit LU managed by the failure server 1N, the standby server MN transfers a read request including the migration source location information (access information) to the server 11.
  • the server 11 receives the read request, the server 11 acquires the file managed by the failure server 1N based on the read request from the failure server 1N and the controller 142 connected to the server 11, and acquires the acquired file on the network. Transfer to the standby server MN via 103.
  • the standby server MN loads the file acquired via the network 103 into the memory 111 and copies it to the storage area of the storage device 143 managed by the standby server MN.
  • the standby server MN registers “complete” in the entry of the migration field 133D of the file correspondence information table 133 as information indicating the completion of the migration of the file, and migrates the file to the entry of the migration destination location information field 133E.
  • Information of “server MN: LUMN” is registered as the destination position information, and the process proceeds to step S706.
  • step S701 when a positive determination result is obtained in step S701, that is, when there is an available standby server (standby server waiting for processing) in the cluster 100 to which the failed server belongs, the cluster 100 to which the failed server belongs. If any of the active servers 101 among them is a standby server waiting for processing, for example, the failure server and the standby server MN belong to the same cluster, the standby server MN waiting for processing is requested to perform failover processing. As a result, the standby server MN executes failover processing for transferring the file stored in the storage area of the storage device 143 managed by the failed server to the storage device 143 managed by the standby server MN. (S707). When the server 1N is a failure server and there is a standby server waiting for processing in the cluster 100 to which the failure server 1N belongs, this standby server executes failover processing.
  • the file system 123 of the standby server MN acquires the server ID and LUID of the failed server as migration source location information (access information) from the controller 142 of the storage apparatus 102 under the management of the failed server ( S708).
  • the standby server MN refers to the file correspondence information table 133 based on the acquired migration source location information, registers the server MN: LUMN as the migration source information of the file in the migration source location information field 133C, and The access destination of the file managed by the generation server is rewritten to the access destination of the standby server 101 (S709). Thereafter, when the active server 101 in the cluster 100 to which the standby server MN belongs receives information indicating the completion of the file migration from the standby server MN, for example, it fails over to a monitoring monitor (not shown) that monitors the program 121. Is registered (S706), and the processing in this routine is terminated.
  • FIG. 8 is a flowchart for explaining the copy process at the time of loading.
  • This load copy process 135 is executed by the file system 123 of the standby server MN.
  • the file system 123 of the standby server MN receives a read request including a file name from the program (application program) 121 of the standby server MN (S801)
  • the file system 123 of the standby server MN stores the file correspondence information.
  • step S802 If the file system 123 obtains a negative determination result in step S802, the file system 123 proceeds to the process of step S805. On the other hand, if the file system 123 obtains a positive determination result in step S802, the file system 123 sets the policy ID of the file specified in the read request. Based on the copy policy information table 132, it is determined whether or not the prescribed operation of the file designated by the read request is “automatic copy at load” (S803). At this time, the file system 123 determines whether the policy ID of the file specified by the read request is “1” or “2”.
  • step S803 If the file system 123 obtains a negative determination result in step S803, the file system 123 proceeds to the process of step S805. On the other hand, if the file system 123 obtains a positive determination result in step S803, the file system 123 moves the file specified in the read request to the standby server MN. Is copied to the storage area of the storage device 143 to be accessed, and then the file correspondence information table 133 is referred to, and the file specified in the read request is copied to the migration field 133D of the file correspondence information table 133. “Complete” is stored as information indicating completion, and “server MN: LUMN” is registered as migration destination location information in the migration destination location information field 133E of the file correspondence information table 133 (S804).
  • the file system 123 returns the result of the read process to the program 121 (S805), and ends the process in this routine.
  • FIG. 9 is a flowchart for explaining copy incomplete file copy processing.
  • This copy incomplete file copy process 136 is executed by the file system 123 of the standby server MN. This process is executed before the storage area of the copy source storage device 143 is released, such as when the failure server is used as a standby system. In addition, this process is performed when the policy ID of the file to be subjected to the failover process is any one of “1”, “3”, and “4”, and copying is not executed in the specified operation, or for other reasons Is executed in consideration of the fact that the copy process is leaked.
  • the file system 123 of the standby server MN is the management target (access target) of the failed server, and the file list in the copy target storage (storage device 143) is stored in any of the clusters 100 to which the failed server belongs.
  • the server (device server) 11 S901
  • copying to the storage area of the storage device 143 that is the management target (access target) of the standby server MN is completed in the acquired file list It is determined whether there is a file that has not been processed (S902).
  • step S902 if the file system 123 obtains a negative determination result in step S902, the file system 123 proceeds to the process of step S904. If the file system 123 obtains a positive determination result in step S902, the file system 123 locks the incomplete copy file and copies it. The file is acquired from the storage area of the copy source storage device 143 in which the completed file is stored, and the acquired file is copied to the storage area of the storage device 143 that is the management target (access target) of the standby server MN (S903). ).
  • the original standby server MN is switched to the active server, and the failure server is switched to the standby server (S904), and the processing in this routine is terminated. Thereby, the storage area of the copy source storage device can be released.
  • the copy incomplete file copy process when the policy ID of the file to be subjected to the failover process is “5” and the specified operation is “copy before load”, the file system 123 of the standby server MN It is assumed that the copying of other files is terminated before the operation is resumed.
  • the copy incomplete file copy process is a process that considers the case where the operation of the program 121 is to be resumed as soon as possible, or the case where a copy is leaked.
  • FIG. 10 is a schematic configuration diagram for explaining the operation of the server when a failure occurs and after the takeover is completed.
  • the server 11 belonging to the # 1 cluster 100 is the device server.
  • the virtual drive program 124 of the server 11 executes a process for releasing the logical unit LU1N managed by the failure server 1N on the network 103 as a target.
  • the virtual drive program 124 of the server MN can access the published logical unit LU1N as an initiator, and the shared file system server 162 and the local file system 163 of the server MN can be mounted and used as a shared file system. To.
  • the shared file system client 161 and the shared file system server 162 of the file system 123 detect that the active server 1N has become a failure server (heartbeat monitoring between the shared file systems or FIG.
  • a processing request for taking over the processing of the failed server 1N for example, a processing request for releasing the logical unit LU1N managed by the failed server 1N on the network 103) (Virtual drive disclosure setting request) operates on one of the servers selected based on a predetermined rule (by majority decision or a predetermined priority) among the file systems 123 operating on a plurality of servers File system 12 But, to produce.
  • the file system 123 transfers this processing request to the shared file system server 162 on the server 11 selected to take over and expose the logical unit LU1N.
  • the shared file system server 162 that has received the processing request sends to the virtual drive program 124 that has been started in advance to execute processing for releasing the logical unit LU1N managed by the failure server 1N on the network 103. Transfer processing request.
  • the virtual drive program 124 publishes the logical unit LU1N (access information) managed by the server 1N on the network 103 via the network communication driver 165.
  • the file system 123 operating on any one of the servers selected based on the predetermined rule uses the logical unit LU1N disclosed on the network 103.
  • a file server takeover request for the used file system 123 is also generated as a processing request.
  • the file system 123 transfers this processing request to the shared file system server 162 on the server MN selected to take over processing of the processing request for the file system 123 using the logical unit LU1N.
  • the shared file system server 162 requests the virtual drive program 124 to make the logical unit LU1N published on the network 103 available as an initiator.
  • the virtual drive program 124 of the server MN transfers an instruction for making the logical unit LU1N available as a virtual drive to the target virtual drive program 124 via the network communication driver 165 of the standby server MN.
  • the shared file system server 162 on the server MN makes the logical unit LU1N available by mounting the virtual drive provided by the virtual drive program 124 as an initiator through the local file system 163.
  • the logical unit LU1N managed by the shared file system server 162 on the failure server 1N can be accessed through the shared file system server 162 on the server MN.
  • a read request for data on the logical unit LU1N issued by the user program 121 is sent through the shared file system client 161, the shared file system server 162, the local file system 163, the virtual drive program 124, and the network communication driver 165. And transferred to the server 11.
  • the server 11 that has received the read request instructs the storage driver 164 to access the local storage through the network communication driver 165 and the virtual drive program 124.
  • the storage driver 164 reads the specified file from the storage area of the storage device 143 using the storage device 143 managed by the failure server 1N as an access target, and transfers the read file to the target virtual drive program 124. To do.
  • the virtual drive program 124 transfers the file to the virtual drive program 124 via the network communication driver 165, the network 103, and the network communication driver 165 of the server MN.
  • the virtual drive program 124 as an initiator transfers the file to the shared file system server 162 through the local file system 163.
  • the shared file system server 162 transfers the received file to the local file system 163 as a file that is under the management of the failure occurrence server 1N and is subject to failover processing.
  • the shared file system server 162 processes the file transferred from the virtual drive program 124 serving as the initiator via the network 103 as a file obtained by accessing the remote storage, and processes the file as a local storage. Is written in the storage area of the storage device 143 to be managed (accessed) by the standby server MN. Thereafter, the shared file system server 162 of the standby server MN rewrites the access destination for the file under the management of the failure server 1N to the storage area of the storage device 143 under the management of the standby server MN. Restart services for files that were under management.
  • each active server 101 uses another server when a server failure occurs.
  • the processing of the failed server 1N can be taken over with a minimum number of standby servers without creating 101 replicas, which can contribute to the reduction of overhead associated with the creation of replicas.
  • a file to be subjected to failover processing is loaded into the memory 111 of the standby server MN, the file is simultaneously copied to the storage area of the storage device 143 managed by the standby server MN. As a result, recovery from failures can be accelerated.
  • the takeover server 11 may publish information on the logical unit managed by the failure occurrence server 1N on the network 103. The load can be distributed more than when all the input / output processing for the storage area of the storage device 143 managed by the generation server 1N is managed.
  • Example 2 In this embodiment, instead of publishing information on the logical unit managed by the failed server on the network when a failure occurs, the takeover server performs input / output processing for the storage area managed by the failed server.
  • the takeover server and standby server cooperate with each other to execute failover processing.
  • FIG. 11 is a block diagram of a computer system showing a second embodiment of the present invention.
  • one of the active servers 101 in the cluster 100 to which the failed server belongs for example, the server 11 executes the takeover process 137 at the time of failure.
  • the other configuration is the same as that of the first embodiment. It is the same.
  • FIG. 12 is a flowchart for explaining the failure takeover process.
  • This failure takeover process 137 is executed by one of the active servers 101 or the standby server MN of the cluster 100 to which the failure server belongs when a failure occurs in any one of the active servers 101.
  • any active server (a server other than the failed server) 101 in the cluster 100 to which the failed server belongs determines whether there is a standby server (a standby server waiting for processing), for example, a standby server MN, which functions as a file server and can be used in the cluster 100 to which the failed server belongs (S1101).
  • a standby server a standby server waiting for processing
  • a standby server MN which functions as a file server and can be used in the cluster 100 to which the failed server belongs
  • step S1101 When a negative determination result is obtained in step S1101, that is, for example, when there is no standby server MN as a standby server waiting for processing in the cluster 100 to which the failure server belongs, any of the clusters 100 to which the failure server belongs.
  • the current server 101 takes over the logical unit LU managed by the failed server and makes a failover to the active server (takeover server) 101 so that the logical unit LU can be used as a file system. Is executed (S1102).
  • the server 11 among the active servers 101 belonging to the cluster # 1 becomes a failure server
  • the server 11 among the active servers 101 belonging to the cluster 100 # 1 is a takeover server or a file server.
  • the logical unit LU1N managed by the failure server 1N is made available as the file system 123. That is, the server 11 manages the storage area of the storage device 143 managed by the failed server 1N (storage area specified by the logical unit LU1N) as a new storage area to be managed, Access information (information including the server ID and LUID of the server 11) indicating that the server 11 is the management source of the failure server 1N is generated, and the generated access information is transferred to the standby server MN via the network 103.
  • the file system 123 of the standby server MN acquires the server ID and LUID of the server 11 from the server 11 as migration source location information (access information) (S1103).
  • the standby server MN refers to the file correspondence information table 133 based on the acquired transfer source location information, determines the file name and policy ID of the file specified by the transfer source location information, and determines the determined file name
  • the copy policy information table 132 is referred to based on the policy ID of “No.”, and “copy before load” processing is performed as a prescribed operation for this file on condition that the policy ID is “5” (S1104).
  • the standby server MN reads the file specified by the logical unit LU managed by the failure server 1N
  • the standby server MN generates a read request based on the access information including the server ID and LUID of the server 11, The generated read request is transferred to the server 11.
  • the server 11 that has received the read request is the storage area of the storage device 143 managed by the failure server 1N, and is designated by the read request from the takeover storage area (the storage area specified by the logical unit LU1N).
  • the read file is read, and the read file is transferred to the standby server MN via the network 103.
  • the standby server MN loads the file acquired from the server 11 via the network 103 into the memory 111 and copies it to the storage area of the storage device 143 under the management of the standby server MN. At this time, the standby server MN registers “complete” in the entry of the migration field 133D of the file correspondence information table 133 as information indicating the completion of the migration of the file, and the migration destination position information field 133E of the file correspondence information table 133 is registered. In the entry, information of “server MN: LUMN” is registered as file migration destination position information, and the process proceeds to step S1105.
  • step S1101 when a positive determination result is obtained in step S1101, that is, when there is an available standby server (standby server waiting for processing) in the cluster 100 to which the failed server belongs, the cluster 100 to which the failed server belongs. If any of the active servers 101 among them is a standby server waiting for processing, for example, the failure server and the standby server MN belong to the same cluster, the standby server MN waiting for processing is requested to perform failover processing. As a result, the standby server MN performs a failover for transferring the file stored in the storage area of the storage device 143 under the management of the failed server to the storage area of the storage device 143 under the management of the standby server MN. Processing is executed (S1106). When the server 1N is a failure server and there is a standby server waiting for processing in the cluster 100 to which the failure server 1N belongs, this standby server executes failover processing.
  • the file system 123 of the standby server MN acquires the server ID and the LU ID of the failure server 1N from the controller 142 of the storage apparatus 102 under the management of the failure server 1N as migration source location information (S1107). .
  • the standby server MN refers to the file correspondence information table 133 based on the acquired migration source location information, and stores the server MN: as the migration source information of the file in the migration source location information field 133C of the file correspondence information table 133.
  • the LUMN is registered, and the access destination of the file managed by the failure server 1N is rewritten to the standby server 101 (S1108).
  • the server 11 receives information indicating the completion of file migration from the standby server MN, for example, the server 11 registers the completion of failover in a monitoring monitor (not shown) that monitors the program 121 (S1105).
  • the routine processing is terminated.
  • FIG. 13 is a schematic configuration diagram for explaining the operation of the server when a failure occurs and after the takeover is completed.
  • the server 11 belonging to the # 1 cluster 100 is a file server. And executes a process for taking over the process of the faulty server 1N.
  • the shared file system client 161 and the shared file system server 162 of the file system 123 detect that the active server 1N has become a failure server (heartbeat monitoring between the shared file systems or FIG.
  • a processing rule for taking over the processing of the failure server 1N (by a server alive monitoring program not shown) and a predetermined rule (majority decision, out of file systems 123 operating on a plurality of servers)
  • a file system 123 that operates on any server selected based on a predetermined priority order is generated.
  • the file system 123 transfers this processing request to the shared file system server 162 on the server 11 selected to take over and expose the logical unit LU1N.
  • the shared file system server 162 Upon receiving the processing request, the shared file system server 162 receives, as information for executing failover processing in cooperation with the standby server MN, access information (server 11) indicating that the server 11 is the management source of the failure server 1N. Information including the server ID and LUID of the server), and the generated access information is transmitted to the shared file system client 161 in the system including the standby server MN via the network communication driver 165, the network 103, and the network communication driver 165. Forward.
  • the representative server may have a correspondence table, and the contents of the correspondence table may be updated.
  • the read request for the data on the logical unit LU1N issued by the user program 121 is a read request when the shared file system client 161 of the standby server MN determines that the server 11 is the management source of the failed server 1N. Are transferred to the server 11 via the network 103.
  • the server 11 When the server 11 receives a read request from the standby server MN via the network communication driver 165, the server 11 outputs a processing request for accessing the local storage to the shared file system server 162 of the file system 123.
  • the shared file system server 162 that has received the processing request transfers the processing request to the local file system 163.
  • the local file system 163 instructs the storage driver 164 to access the local storage in order to execute access to the local storage.
  • the storage driver 164 executes a read process for the storage area (the takeover storage area specified by the logical unit LU1N) of the storage device 143, with the storage device 143 managed by the failure server 1N as an access target. Then, the file (file specified by the read request) subject to failover processing is read from the storage area specified by the logical unit LU1N, and the read file is transferred to the shared file system server 162 via the local file system 163. To do.
  • the shared file system server 162 of the server 11 processes the file obtained by accessing the local storage as a file specified by the read request from the server MN, and processes this file via the network 103. Transfer to system client 161.
  • the shared file system client 161 of the server MN processes the file transferred from the server 11 as a file obtained by accessing the remote storage (file to be subjected to failover processing), and processes this file on the standby server MN. Processing for writing to the storage area of the storage device 143 to be managed (accessed) is executed.
  • the shared file system client 161 of the file system 123 communicates with the shared file system server 162 on the server MN and the storage driver 164 via the local file system 163 in order to take over the processing of the failure server 1N. Instructs access to local storage.
  • the storage driver 164 stores the file transferred from the server 11 in the storage area managed by the server MN in the storage area of the storage device 143. Thereafter, in the standby server MN, the shared file system client 161 rewrites the access destination for the file under the management of the failure server 1N to the storage area of the storage device 143 under the management of the standby server MN, and the failure server 1N Restart the services for files that were under the control of.
  • the processing of the failed server 1N can be taken over with the minimum number of standby servers MN, which can contribute to the reduction of overhead associated with the creation of the replica. , Recovery from failure can be speeded up. Further, according to the present embodiment, the takeover server 11 executes file input / output processing for the storage area of the storage device 143 managed by the failure server 1N, and cooperates with the standby server MN to execute the file Over processing can be executed.
  • this invention is not limited to the above-mentioned Example, Various modifications are included.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • each of the above-described configurations, functions, etc. may be realized by hardware by designing a part or all of them, for example, by an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files that realize each function is stored in memory, a hard disk, a recording device such as an SSD (Solid State Drive), an IC (Integrated Circuit) card, an SD (Secure Digital) memory card, a DVD ( It can be recorded on a recording medium such as Digital Versatile Disc).
  • 100 cluster 101 server, 102 storage device, 103 network, 111 memory, 112 processor, 113, 114 I / O interface, 121 program, 122 data, 123 file system, 124 virtual drive program, 130 table storage, 131 load timing setting Information table, 132 copy policy information table, 133 file correspondence information table, 134 takeover process at failure, 135 copy process at load, 136 copy process for incomplete files, 137 takeover process at failure.

Abstract

A computer system includes a plurality of clusters having a plurality of servers connected to a network and a shared storage device connected to the servers and shared by the respective servers, wherein a server belonging to at least one of the plurality of clusters is configured as a stand-by server. The stand-by server, in the event of a fault in a server belonging to any of the clusters, executes a fail-over process on condition that no stand-by server that is standing by for a process exists in the cluster to which the faulty server belongs. If the stand-by server standing by for a process exists in the cluster to which the faulty server belongs, the stand-by server executes the fail-over process in coordination with a take-over server which is any of the servers in the cluster to which the faulty server belongs and with which the stand-by server coordinates.

Description

計算機システム及びそのファイル管理方法Computer system and file management method thereof
 本発明は、複数のサーバと複数のストレージ装置を有する計算機システム及びそのファイル管理方法に関する。 The present invention relates to a computer system having a plurality of servers and a plurality of storage apparatuses, and a file management method thereof.
 計算機システムにおけるサーバのデータベースとして、ストレージ装置に格納された全てのデータをメモリ(主記憶装置)上に展開し、メモリに対するデータの入出力処理を実行するように構築されたインメモリデータベースなどのインメモリデータ処理プログラムが知られている。ファイルを管理するサーバは、インメモリデータベースが構築されたメモリに対するアクセスを行うことで、ストレージ装置にアクセスするよりも、より高速にデータの入出力処理を実行することができる。ただし、一般に主記憶装置のデータは揮発してしまうため、インメモリデータベースで利用するデータはストレージ装置で永続化する必要がある。従って、インメモリデータベースを動作させるサーバにおいても、そのデータを保持するためのストレージ装置が接続されているのは従来と同様である。 As an in-memory database constructed in such a way that all data stored in a storage device is expanded on a memory (main storage device) as a database of a server in a computer system, and data input / output processing for the memory is executed. Memory data processing programs are known. The server managing the file can execute data input / output processing at a higher speed than accessing the storage device by accessing the memory in which the in-memory database is constructed. However, since the data in the main storage device is generally volatilized, the data used in the in-memory database must be made permanent in the storage device. Accordingly, the server that operates the in-memory database is connected to the storage device for holding the data as in the conventional case.
 インメモリデータベースが扱うデータの量が増大する場合、一台(または比較的少数)のサーバの搭載主記憶容量を拡大するか、サーバ単体の主記憶容量は拡大せずに、複数台のサーバにデータを分散してトータルで主記憶容量を賄うかの選択肢が考えられる。前者はいわゆるスケールアップ構成、後者はいわゆるスケールアウト構成に分類される。スケールアウト構成と比較した場合、スケールアップ構成は、一般的には、データの分散をあまり意識する必要がなく、使い勝手に優れるが、実装コストやデータ量がさらに増大したときのスケーラビリティに劣る。このため、例えばクラウド対応など、ある程度規模が大きいデータを対象とする場合は、スケールアウト構成を採用することが多い。インメモリデータベースを管理するためのインメモリ処理プログラムが実装されたメモリを有する複数のサーバと、複数のストレージ装置とを含むシステムを構成するに際して、クラウド対応のために、スケールアウト型が採用されている。 If the amount of data handled by the in-memory database increases, increase the main memory capacity of one (or relatively few) servers, or increase the main memory capacity of a single server without increasing the main memory capacity of a single server. One option is to distribute the data to cover the main storage capacity in total. The former is classified as a so-called scale-up configuration, and the latter is classified as a so-called scale-out configuration. Compared with the scale-out configuration, the scale-up configuration generally does not require much attention to data distribution and is easy to use, but is inferior in scalability when the mounting cost and data amount further increase. For this reason, for example, a scale-out configuration is often used when data that is large to some extent is targeted, such as for the cloud. When configuring a system including a plurality of servers having a memory in which an in-memory processing program for managing an in-memory database is installed and a plurality of storage apparatuses, a scale-out type is adopted for cloud support. Yes.
 スケールアウト型のシステムには、ストレージ非共有型とストレージ共有型がある。前者のシステムの場合、各サーバと各ストレージ装置とが個別に接続される構成を採用しているので、サーバ毎に、単体のストレージ装置を利用することができると共に、ストレージ装置を安価に構成することができる。但し、サーバの障害発生時には、障害発生サーバの処理を他のサーバが引き継ぐ必要があるので、各サーバの処理対象となるファイル(データ)の複製(レプリカ)を他のサーバの管理下にある各ストレージ装置に作成しておくことが余儀なくされる。例えば、特許文献1には、複製を別のサーバ(ノード)に作成し、可用性を高めることが記載されている。 The scale-out type system includes a storage non-shared type and a storage shared type. In the former system, a configuration in which each server and each storage device are individually connected is adopted, so that a single storage device can be used for each server, and the storage device is configured at low cost. be able to. However, when a server failure occurs, it is necessary for the other server to take over the processing of the failed server. Therefore, a copy (replica) of the file (data) to be processed by each server is under the control of the other server. It must be created in the storage device. For example, Patent Document 1 describes that a copy is created in another server (node) to increase availability.
 一方、後者のシステムの場合、各サーバが、それぞれ各サーバ共有のストレージ装置に接続される構成を採用しているので、レプリカをストレージ装置に作成しておかなくても、サーバの障害に対処することできる。例えば、特許文献2には、現用サーバの障害発生時に、計算機システム内の業務を稼働中でないサーバへと業務を引き継ぐ際に、現用サーバの障害発生を検知し、計算機システム内において現用サーバと同じハードウェア構成を持つ業務を稼働中でないサーバを検索し、検索の結果発見したサーバから外部ディスク装置へのアクセスを可能として、そのサーバを外部ディスク装置からブートすることで業務の引き継を行うことが記載されている。 On the other hand, in the case of the latter system, each server is configured to be connected to a storage device shared by each server, so that it is possible to cope with server failures without creating a replica in the storage device. I can. For example, in Patent Document 2, when a failure occurs in the active server, when the task in the computer system is taken over to a server that is not in operation, the failure of the active server is detected and the same as the active server in the computer system. Search for a server that is not running a business with a hardware configuration, enable access to the external disk device from the server found as a result of the search, and take over the business by booting the server from the external disk device Is described.
 前記各サーバで共有されるストレージ装置は、ストレージ内部でデータの冗長性を持たせたり、内部パスやインタフェースを二重化することにより、耐障害性を備える。例えば、特許文献3には、複数のディスクから構成される記憶装置において、複数のディスクのうち少なくとも1台以上に冗長データを格納し、耐障害性を備えたディスクアレイであるRAID(Redundant Array of Inexpensive Disks)について記載されている。ストレージを共有する各サーバは、RAIDから論理記憶装置として切り出した論理ディスクユニット(以下、論理ユニット)をディスク装置として利用する。あるサーバで障害が発生した場合、そのサーバで入出力を行っていた論理ユニットを、ストレージ装置を共有する別のサーバからアクセス可能にすることで引き継ぎを行う。 The storage device shared by each server has fault tolerance by providing data redundancy inside the storage or by duplicating internal paths and interfaces. For example, Patent Document 3 discloses a RAID (Redundant Array of RAID), which is a disk array having a fault tolerance, in which redundant data is stored in at least one of a plurality of disks in a storage device composed of a plurality of disks. Inexpensive Disks). Each server sharing the storage uses a logical disk unit (hereinafter, logical unit) cut out from the RAID as a logical storage device as a disk device. When a failure occurs in a certain server, the logical unit that was performing input / output on that server is taken over by making it accessible from another server that shares the storage device.
国際公開番号WO2012-121316号公報International Publication Number WO2012-121316 特開2006-163963号公報JP 2006-163963 A 特開2004-295457号公報JP 2004-295457 A
 スケールアウト型のシステムとして、ストレージ共有型のシステムを採用した場合、複数のサーバの中に、障害発生サーバの処理を引き継ぐためのサーバとして、待機サーバを用意する必要がある。この際、システム全体で共有ストレージ装置に接続可能なサーバの数を超えるサーバを用いてシステムを構成する必要がある場合、少なくとも共有ストレージ装置の台数分の待機サーバが必要となり、設置コストが増大する。 When a shared storage system is adopted as a scale-out system, it is necessary to prepare a standby server as a server for taking over the processing of the failed server among a plurality of servers. At this time, if it is necessary to configure the system using more servers than the number of servers that can be connected to the shared storage device in the entire system, at least standby servers for the number of shared storage devices are required, which increases the installation cost. .
 また、スケールアウト型のシステムとして、ストレージ非共有型のシステムを採用した場合、サーバ毎に、単体のストレージ装置を利用することができるので、ストレージ装置を安価に構成することができる。但し、サーバの障害発生時には、障害発生サーバの処理を他のサーバが引き継ぐ必要があるので、各サーバの処理対象となるファイル(データ)の複製(レプリカ)を他のサーバに作成しておくことが余儀なくされる。この場合、障害発生サーバの処理を引き継いだサーバは、障害発生サーバ以外のサーバに保存されたレプリカに基づいて障害発生サーバのデータを再構成することで、障害発生サーバの管理下にあった記憶デバイスをアクセス先とするサービスを再開することができる。 Further, when a storage non-sharing system is adopted as the scale-out type system, a single storage device can be used for each server, so that the storage device can be configured at low cost. However, when a server failure occurs, it is necessary for another server to take over the processing of the failed server, so make a copy (replica) of the file (data) to be processed by each server on the other server. Will be forced. In this case, the server that took over the processing of the failed server reconfigures the data of the failed server based on the replica stored in the server other than the failed server, so that the memory under the management of the failed server Services that are accessed by the device can be resumed.
 しかし、いずれかのサーバで障害が発生することを考慮して、各サーバで他のサーバの処理対象となるファイルのレプリカを作成する方式を採用した場合、各サーバにおいて、レプリカ作成に伴って、ストレージ装置に対するライト処理が増大すると共に、各サーバと各ストレージ装置とを結ぶネットワークのトラフィックも増大する。しかも、障害発生時に、障害発生サーバ以外のサーバに保存されたレプリカに基づいて障害発生サーバのデータを再構成する場合、障害発生サーバ以外のサーバに保存されたレプリカを、引き継ぎサーバのストレージ装置に復元し、その後、データロードを実行しなければならず、サービス再開までの時間が増大する。 However, in consideration of the occurrence of a failure on one of the servers, if each server adopts a method of creating a replica of the file to be processed by the other server, with each server, As the write processing on the storage device increases, the traffic on the network connecting each server and each storage device also increases. In addition, when reconstructing the data of the failed server based on the replica stored on the server other than the failed server when a failure occurs, the replica stored on the server other than the failed server is used as the storage device of the takeover server. After restoration, a data load must be executed, which increases the time until service restart.
 本発明の目的は、サーバの障害発生時には、最小限の待機サーバを用いて、障害発生サーバの処理を引き継ぐことにある。また、本発明の別の目的は、各サーバでレプリカを作成することなく、障害発生時には、障害からのリカバリを高速化することにある。 An object of the present invention is to take over the processing of a faulty server using a minimum standby server when a fault occurs in the server. Another object of the present invention is to speed up recovery from a failure when a failure occurs without creating a replica in each server.
 前記課題を解決するために、本発明は、ネットワークに接続される複数のサーバと、前記各サーバに接続されて、前記各サーバが共有する共有ストレージ装置とを含むクラスタを複数を有し、前記複数のクラスタのうち少なくとも一つのクラスタに属するサーバが待機サーバとして構成され、少なくとも前記待機サーバは、前記いずれかのクラスタに属するサーバの障害発生時に、当該障害発生サーバの処理を引き継ぐためのフェイルオーバの処理を実行することを特徴とする。 In order to solve the above problems, the present invention includes a plurality of clusters including a plurality of servers connected to a network and a shared storage device connected to each of the servers and shared by the servers, A server belonging to at least one of the plurality of clusters is configured as a standby server, and at least the standby server performs a failover for taking over the processing of the failed server when a failure occurs in a server belonging to any one of the clusters. A process is executed.
 本発明によれば、各サーバでレプリカを作成することなく、サーバの障害発生時には、最小限の待機サーバを用いて、障害発生サーバの処理を引き継ぐことができる。 According to the present invention, it is possible to take over the processing of a failed server by using a minimum number of standby servers when a server failure occurs without creating a replica on each server.
本発明の第一実施例を示す計算機システムの構成図である。It is a block diagram of a computer system showing a first embodiment of the present invention. ロードタイミング設定情報テーブルの構成図である。It is a block diagram of a load timing setting information table. コピーポリシー情報テーブルの構成図である。It is a block diagram of a copy policy information table. ファイル対応情報テーブルの構成図である。It is a block diagram of a file correspondence information table. 現用サーバの初期化処理を説明するためのフローチャートである。It is a flowchart for demonstrating the initialization process of an active server. 待機サーバの初期化処理を説明するためのフローチャートである。It is a flowchart for demonstrating the initialization process of a standby server. 障害時引き継ぎ処理を説明するためのフローチャートである。It is a flowchart for demonstrating the failure time taking over process. ロード時コピー処理を説明するためのフローチャートである。It is a flowchart for demonstrating copy processing at the time of a load. コピー未完了ファイルコピー処理を説明するためのフローチャートである。It is a flowchart for demonstrating a copy incomplete file copy process. 障害発生時、および、引き継ぎ完了後のサーバの動作を説明するための概略構成図である。It is a schematic block diagram for demonstrating operation | movement of the server at the time of failure occurrence and after completion of taking over. 本発明の第二実施例を示す計算機システムの構成図である。It is a block diagram of the computer system which shows the 2nd Example of this invention. 障害時引き継ぎ処理を説明するためのフローチャートである。It is a flowchart for demonstrating the failure time taking over process. 障害発生時、および、引き継ぎ完了後のサーバの動作を説明するための概略構成図である。It is a schematic block diagram for demonstrating operation | movement of the server at the time of failure occurrence and after completion of taking over.
 (実施例1)
 本実施例は、障害発生時に、引き継サーバが、障害発生サーバが管理していた論理ユニットに関する情報をネットワーク上に公開し、引き継サーバと待機サーバが互いに連携して、フェイルオーバの処理を実行するものである。
(Example 1)
In this example, when a failure occurs, the takeover server publishes information about the logical unit managed by the failure server on the network, and the takeover server and standby server cooperate to execute failover processing. To do.
 図1は、本発明の第一実施例を示す計算機システムの構成図である。図1において、計算機システムは、複数(#1~#n)のクラスタ100から構成される。各クラスタ100は、複数のサーバ101を有し、各クラスタ100に属する各サーバ101は、クラスタ100毎に、各サーバ101共有のストレージ装置(共有ストレージ装置)102に接続される。また、各サーバ101は、ネットワーク103に接続される。この際、計算機システムは、スケールアウト型のシステムであって、ストレージ共有型のシステムとして構成される。なお、ネットワーク103としては、例えば、LAN(Local Area Network)が用いられる。各クラスタ100に属するサーバ101のうち少なくとも1つのサーバ101が待機サーバとして構成され、それ以外のサーバが現用サーバとして構成される。例えば、#nのクラスタ100に属する複数のサーバ101(サーバM1~サーバMN)のうち、#MNのサーバ101が、待機サーバMNとして構成され、それ以外のサーバ101(#1のクラスタ100に属するサーバ11~サーバ1N、・・・、#nのクラスタ100に属するサーバM1、・・・)が、現用サーバとして構成される。 FIG. 1 is a block diagram of a computer system showing a first embodiment of the present invention. In FIG. 1, the computer system includes a plurality (# 1 to #n) of clusters 100. Each cluster 100 has a plurality of servers 101, and each server 101 belonging to each cluster 100 is connected to a storage device (shared storage device) 102 shared by each server 101 for each cluster 100. Each server 101 is connected to the network 103. At this time, the computer system is a scale-out system and is configured as a shared storage system. For example, a LAN (Local Area Network) is used as the network 103. At least one of the servers 101 belonging to each cluster 100 is configured as a standby server, and the other servers are configured as active servers. For example, among the plurality of servers 101 (server M1 to server MN) belonging to the #n cluster 100, the #MN server 101 is configured as a standby server MN, and the other servers 101 (belonging to the # 1 cluster 100) Servers 11 to 1N,..., #N belonging to the cluster 100 are configured as active servers.
 各サーバ101は、メモリ111と、プロセッサ112と、入出力インタフェース(I/F)113、114から構成され、各部が内部バス115を介して互いに接続される。各メモリ111には、プログラム121と、データ122(122-11、・・・、122-1N、・・・、122-M1、・・・)と、ファイルシステム123と、仮想ドライブプログラム124が格納される(一部のみ図示)。プログラム121は、例えば、ユーザプログラム、アプリケーションプログラムであって、インメモリデータベース(DB)を管理するためのインメモリ処理プログラムとして構成される。各データ122は、ストレージ装置102から転送されたデータや、ファイル本体、ログなどから構成される。 Each server 101 includes a memory 111, a processor 112, and input / output interfaces (I / F) 113 and 114, and each unit is connected to each other via an internal bus 115. Each memory 111 stores a program 121, data 122 (122-11, ..., 122-1N, ..., 122-M1, ...), a file system 123, and a virtual drive program 124. (Only a part is shown). The program 121 is, for example, a user program or an application program, and is configured as an in-memory processing program for managing an in-memory database (DB). Each data 122 includes data transferred from the storage apparatus 102, a file body, a log, and the like.
 各ファイルシステム123は、プログラム121からの処理要求によって各種の処理を実行するソフトウェア資源、例えば、共有ファイルシステムクライアントや共有ファイルサーバ等(いずれも図示せず)や、ストレージ装置102から転送された各ファイル(図示せず)によって構成される。各サーバ101のファイルシステム123には、各種テーブルを格納するためのテーブル格納部130(一部のみ図示)が格納される。なお、待機サーバMNのファイルシステム123には、障害時引き継ぎ処理134、ロード時コピー処理135、コピー未完ファイルコピー処理136を実行するためのソフトウェア資源、例えば、共有ファイルシステムクライアントや共有ファイルサーバ等(いずれも図示せず)が格納される。 Each file system 123 is a software resource that executes various processes in response to processing requests from the program 121, for example, a shared file system client, a shared file server (not shown), or each transferred from the storage apparatus 102. Consists of files (not shown). The file system 123 of each server 101 stores a table storage unit 130 (only a part of which is shown) for storing various tables. The file system 123 of the standby server MN includes software resources for executing the failure takeover process 134, the load copy process 135, and the copy incomplete file copy process 136, such as a shared file system client or a shared file server ( Neither of them is stored).
 各プロセッサ112は、サーバ101全体を統括制御する制御部として構成され、入出力インタフェース113及びネットワーク103を介して、他のサーバ101やネットワーク103に接続された端末(図示せず)と情報やデータの送受信を行うと共に、ハートビート信号の送受信によって、他のサーバ101で障害が発生したか否かを判定する。また、各プロセッサ112は、入出力インタフェース114を介してストレージ装置102と情報およびデータの送受信を行う。 Each processor 112 is configured as a control unit that performs overall control of the server 101, and a terminal (not shown) connected to another server 101 or the network 103 via the input / output interface 113 and the network 103, information and data. In addition, it is determined whether or not a failure has occurred in another server 101 by transmitting / receiving a heartbeat signal. Each processor 112 transmits and receives information and data to and from the storage apparatus 102 via the input / output interface 114.
 各ストレージ装置102は、複数の入出力インタフェース141と、コントローラ142と、複数の記憶デバイス143から構成され、各部が内部バス144、145を介して互いに接続される。各入出力インタフェース141は、各サーバ101に対応して配置され、各サーバ101の入出力インタフェース114に接続される。各記憶デバイス143は、各サーバ101に対応して配置される。各記憶デバイス143には、各サーバ101の管理対象(アクセス対象)となるデータ151(151-11、・・・、151-1N、・・・、151-M1、・・・、)が、各ファイルのデータとして格納される。 Each storage apparatus 102 includes a plurality of input / output interfaces 141, a controller 142, and a plurality of storage devices 143, and each unit is connected to each other via internal buses 144 and 145. Each input / output interface 141 is arranged corresponding to each server 101 and connected to the input / output interface 114 of each server 101. Each storage device 143 is arranged corresponding to each server 101. In each storage device 143, data 151 (151-11,..., 151-1N,..., 151-M1,...) To be managed (accessed) by each server 101 is stored in each storage device 143. Stored as file data.
 各コントローラ142は、ストレージ装置102全体を統括制御し、各サーバ101からのアクセス要求(リード要求又はライト要求)に応答して、指定の記憶デバイス143のストレージ領域に対するデータ(ファイル)の入出力を制御する。この際、各記憶デバイス143のストレージ領域(記憶領域)には、各サーバ101の管理対象(アクセス対象)となる論理ユニット(LU)が設定される。例えば、#1のクラスタ100に属するサーバ101(サーバ11~サーバ1N)に対応する各記憶デバイス143のストレージ領域には、論理ユニットLUとして、LU11~LU1Nが設定され、#nのクラスタ100に属するサーバ101(サーバM1~サーバMN)に対応する各記憶デバイス143のストレージ領域には、論理ユニットLUとして、LUM1~LUMNが設定される。 Each controller 142 performs overall control of the entire storage apparatus 102 and responds to an access request (read request or write request) from each server 101 to input / output data (files) to / from the storage area of the designated storage device 143. Control. At this time, a logical unit (LU) that is a management target (access target) of each server 101 is set in the storage area (storage area) of each storage device 143. For example, in the storage area of each storage device 143 corresponding to the server 101 (server 11 to server 1N) belonging to the cluster # 1, LU11 to LU1N are set as logical units LU and belong to the cluster 100 #n. LUM1 to LUMN are set as logical units LU in the storage area of each storage device 143 corresponding to the server 101 (server M1 to server MN).
 図2は、ロードタイミング設定情報テーブルの構成図である。図2において、ロードタイミング設定情報テーブル131は、各サーバ101におけるファイルシステム123のテーブル格納部130に格納されるテーブルであって、複数のファイルをファイルシステム123にロードするためのタイミングを管理するためのテーブルとして、ファイル名フィールド131Aと、ファイルのロード指定フィールド131Bから構成される。 FIG. 2 is a configuration diagram of the load timing setting information table. In FIG. 2, a load timing setting information table 131 is a table stored in the table storage unit 130 of the file system 123 in each server 101, and manages the timing for loading a plurality of files into the file system 123. The table includes a file name field 131A and a file load designation field 131B.
 ファイル名は、ファイルシステム123に格納される各ファイルを特定するための名称である。ファイル名フィールド131Aのエントリには、例えば、「ファイル1」の情報が格納される。ファイル名としては、特定のディレクトリ下のファイル全体を表すためのディレクトリ名や、特定のファイル名パターンを示すためのワイルドカード(文字の代わりとして使うことができる記号、例えば“*”や“?”)を指定してもよい。ファイルのロード指定は、各ファイルをファイルシステム123にロードする際のタイミングを指定するための情報である。ファイルのロード指定フィールド131Bのエントリには、例えば、プログラム121の起動時に、ファイル1又はファイル3全体をファイルシステム123にロードする場合には、「起動時全ロード」の情報が格納される。また、プログラム121の起動時に、ファイル2の一部をファイルシステム123にロードする場合には、「起動時部分ロード」の情報が格納される。さらに、プログラム121が、ファイルシステム123内のテーブルを初アクセスする際に、ファイル4全体をファイルシステム123にロードする場合には、「初アクセス時全ロード」の情報が格納される。また、プログラム121が、ファイルシステム123内のテーブルを初アクセスする際に、ファイル5の一部をファイルシステム123にロードする場合には、「初アクセス時部分ロード」の情報が格納される。 The file name is a name for specifying each file stored in the file system 123. For example, information of “file 1” is stored in the entry of the file name field 131A. As the file name, a directory name for representing the entire file under a specific directory, or a wild card for indicating a specific file name pattern (a symbol that can be used in place of a character, for example, “*” or “?”). ) May be specified. The file load designation is information for designating the timing for loading each file into the file system 123. In the entry of the file load designation field 131B, for example, when the file 1 or the entire file 3 is loaded into the file system 123 when the program 121 is activated, information of “all loads at activation” is stored. In addition, when part of the file 2 is loaded into the file system 123 when the program 121 is activated, information of “partial load at activation” is stored. Further, when the program 121 accesses the table in the file system 123 for the first time, when loading the entire file 4 into the file system 123, information of “full load at first access” is stored. In addition, when the program 121 accesses the table in the file system 123 for the first time, when loading a part of the file 5 into the file system 123, information of “partial load at first access” is stored.
 なお、ここではロードタイミング設定情報テーブル131で、ファイルとロード指定情報を対応づけているが、インメモリデータベースが扱うDBテーブルとそのロード指定情報であってもよい。その場合、DBテーブルとファイルを対応づけるデータ構造を別途持つ(図示せず)。このとき、複数のDBテーブルが一つのファイルを構成したり、一つのDBテーブルが複数のファイルから構成される場合もある。 Note that here, the load timing setting information table 131 associates the file with the load designation information, but it may be a DB table handled by the in-memory database and its load designation information. In this case, a data structure that associates the DB table with the file is separately provided (not shown). At this time, a plurality of DB tables may constitute one file, or one DB table may comprise a plurality of files.
 図3は、コピーポリシー情報テーブルの構成図である。図3において、コピーポリシー情報テーブル132は、各サーバ101におけるファイルシステム123のテーブル格納部130に格納されて、各ファイルをコピーする際のコピーポリシー情報を管理するためのテーブルであって、ポリシーIDフィールド132Aと、ファイルのロード指定フィールド132Bと、規定動作フィールド132Cから構成される。 FIG. 3 is a configuration diagram of the copy policy information table. In FIG. 3, a copy policy information table 132 is a table for managing copy policy information stored in the table storage unit 130 of the file system 123 in each server 101 and copying each file. A field 132A, a file load designation field 132B, and a prescribed operation field 132C are included.
 ポリシーIDは、各ファイルのポリシーIDを識別するための識別子である。ポリシーIDフィールド132Aのエントリには、例えば、5種類のポリシーIDを識別するために、「1」~「5」の情報が格納される。ファイルのロード指定フィールド132Bには、ロードタイミング設定情報テーブル131のファイルのロード指定フィールド131Bと同様の情報が格納される。なお、ポリシーID「5」のファイルのロード指定フィールド132Bには、ポリシーID「1」~「4」とは異なるファイルのロード指定に関する情報として、「上記以外」の情報が格納される。 Policy ID is an identifier for identifying the policy ID of each file. For example, information of “1” to “5” is stored in the entry of the policy ID field 132A in order to identify five types of policy IDs. The file load designation field 132B stores the same information as the file load designation field 131B of the load timing setting information table 131. In the file load designation field 132B of the policy ID “5”, information other than the above is stored as information related to the load designation of a file different from the policy IDs “1” to “4”.
 規定動作は、ポリシーIDに対応して設定された動作であって、ファイルをコピーする際の動作を規定する情報である。規定動作フィールド132Cのエントリには、例えば、ポリシーID「1」のファイルを自動でコピーする際の規定動作として、「自動(ロード時自動コピー)」の情報が格納される。また、ポリシーID「2」のファイルを、「起動時部分ロード」でコピーする際の規定動作として、「全体先読み(ロード時自動コピー)」の情報が格納される。さらに、ポリシーID「3」のファイルを、「初アクセス時全ロード」でコピーする際の規定動作又はポリシーID「4」のファイルを、「初アクセス時部分ロード」でコピーする際の規定動作として、「リード完/未完を記録 未完の場合LU再利用時にコピー」の情報が格納される。この際、ファイルのリードが完了している場合には、「リード完」の情報を記録することになり、ファイルのリードが未完の場合には、「リード未完」の情報を記録し、LU再利用時にファイルをコピーすることになる。 Specified operation is an operation that is set in correspondence with the policy ID, and is information that specifies an operation when copying a file. In the entry of the prescribed operation field 132C, for example, “automatic (automatic copy at loading)” information is stored as a prescribed operation when the file with the policy ID “1” is automatically copied. In addition, information of “whole prefetching (automatic copy at loading)” is stored as a prescribed operation when the file of policy ID “2” is copied by “partial loading at startup”. Furthermore, as a specified operation when copying the file with the policy ID “3” with “full load at first access” or as a specified operation at the time of copying the file with the policy ID “4” with “partial load at first access” , “Read complete / uncompleted record, copy when reusing LU if not complete” is stored. At this time, if the reading of the file is completed, the “read complete” information is recorded. If the read of the file is not complete, the “read incomplete” information is recorded and the LU is read again. Files will be copied when used.
 また、ポリシーID「5」のファイルを、「上記以外」でコピーする際の規定動作として、「ロード前にコピー」の情報が格納される。この場合、プログラム121がファイルをリードし、リードしたファイルをファイルシステム123にロードする前にコピーすることになる。 Also, “Copy before loading” information is stored as a prescribed operation when copying the file with the policy ID “5” with “other than the above”. In this case, the program 121 reads the file and copies the read file before loading it into the file system 123.
 図4は、ファイル対応情報テーブルの構成図である。図4において、ファイル対応情報テーブル133は、現用サーバ101で生成されたファイル対応情報を管理するために、待機サーバMNにおけるファイルシステム123のテーブル格納部130に格納されるテーブルであって、ファイル名フィールド133Aと、ポリシーIDフィールド133Bと、移行元位置情報フィールド133Cと、移行(完/未完)フィールド133Dと、移行先位置情報フィールド133Eから構成される。ファイル名フィールド133Aには、ロードタイミング設定情報テーブル131のファイル名フィールド131Aと同様の情報が格納される。ただし、特定のディレクトリ下のファイル全体を表すためのディレクトリ名や、特定のファイル名パターンを示すためのワイルドカードを使った場合は、展開後のファイル名の情報が格納されてもよい。ポリシーIDフィールド133Bには、コピーポリシー情報テーブル132のポリシーIDフィールド132Aと同様の情報が格納される。 FIG. 4 is a configuration diagram of the file correspondence information table. In FIG. 4, a file correspondence information table 133 is a table stored in the table storage unit 130 of the file system 123 in the standby server MN in order to manage the file correspondence information generated by the active server 101. The field 133A includes a policy ID field 133B, a migration source location information field 133C, a migration (complete / incomplete) field 133D, and a migration destination location information field 133E. The file name field 133A stores the same information as the file name field 131A of the load timing setting information table 131. However, when a directory name for representing the entire file under a specific directory or a wild card for indicating a specific file name pattern is used, information on the expanded file name may be stored. The policy ID field 133B stores the same information as the policy ID field 132A of the copy policy information table 132.
 移行元位置情報は、いずれかのサーバ101で障害が発生した際に、フェイルオーバの処理の対象となるファイルの移行元位置を特定する情報である。移行元位置情報フィールド133Cのエントリには、例えば、「ファイル1」が、#1のクラスタに属するサーバ101のうちサーバ11で管理されるファイルであって、サーバ11の管理対象(アクセス対象)となる記憶デバイス143のストレージ領域に割当てられた論理ユニットが、LU11である場合、「サーバ11:LU11」の情報が格納される。 The migration source location information is information that identifies the migration source location of a file that is subject to failover processing when a failure occurs in any of the servers 101. In the entry of the migration source location information field 133C, for example, “file 1” is a file managed by the server 11 among the servers 101 belonging to the cluster # 1, and the management target (access target) of the server 11 and When the logical unit assigned to the storage area of the storage device 143 is LU11, information of “server 11: LU11” is stored.
 移行は、フェイルオーバの処理の対象となるファイルの移行が完了したか否かを示す情報である。移行フィールド133Dのエントリには、例えば、フェイルオーバの処理の対象となるファイルの移行が未完である場合には、「未完」の情報が格納され、フェイルオーバの処理の対象となるファイルの移行が完了した場合には「完」の情報が格納される。 “Migration” is information indicating whether or not migration of a file to be subjected to failover processing is completed. In the entry of the migration field 133D, for example, when migration of a file to be subjected to failover processing is incomplete, information of “incomplete” is stored, and migration of the file to be subject to failover processing is completed. In this case, “complete” information is stored.
 移行先位置情報は、フェイルオーバの処理の対象となるファイルの移行先の位置を特定する情報である。移行先位置情報フィールド133Eのエントリには、例えば、「ファイル1」の移行先が、待機サーバMNであって、待機サーバMNの管理対象(アクセス対象)となる記憶デバイス143のストレージ領域に設定された論理ユニットが、LUMNである場合、「サーバMN:LUMN」の情報が格納される。 なお、移行元位置情報、および、移行先位置情報は、論理ユニットをシステム内で一意に識別できる情報であればよい。例えば、UUID(Universally Unique ID)など他の情報を用いてもよい。 The migration destination location information is information that identifies the location of the migration destination of the file that is subject to failover processing. In the entry of the migration destination position information field 133E, for example, the migration destination of “file 1” is the standby server MN, and is set in the storage area of the storage device 143 to be managed (accessed) by the standby server MN. If the logical unit is a LUMN, information of “server MN: LUMN” is stored. Note that the migration source location information and the migration destination location information may be information that can uniquely identify the logical unit in the system. For example, other information such as UUID (Universally Unique ID) may be used.
 図5は、現用サーバの初期化処理を説明するためのフローチャートである。この処理は、各現用サーバ101によって実施される。各クラスタ100における各サーバ101は、ファイルシステム123のテーブル格納部130に格納されたロードタイミング設定情報テーブル131に登録されたロードタイミング設定情報をリードし(S501)、次に、コピーポリシー情報テーブル132に登録されたコピーポリシー情報を参照し、各ファイルについて、ファイル名、ポリシーID、移行元位置情報を含むファイル対応情報を生成し、生成したファイル対応情報をファイルシステム123に登録し(S502)、このルーチンでの処理を終了する。 FIG. 5 is a flowchart for explaining the initialization process of the active server. This process is performed by each active server 101. Each server 101 in each cluster 100 reads the load timing setting information registered in the load timing setting information table 131 stored in the table storage unit 130 of the file system 123 (S501), and then the copy policy information table 132. The file correspondence information including the file name, the policy ID, and the migration source position information is generated for each file, and the generated file correspondence information is registered in the file system 123 (S502). The processing in this routine is terminated.
 図6は、待機サーバの初期化処理を説明するためのフローチャートである。この処理は、待機サーバMNによって実施される。待機サーバMNは、各サーバ101から、各サーバ101で生成されたファイル対応情報(図5のステップS502で生成された情報)を取得し、取得したファイル対応情報を纏めて、統合したファイル対応情報(ファイル名、ポリシーID、移行元位置情報)をファイル対応情報テーブル133に登録し(S601)、このルーチンでの処理を終了する。 FIG. 6 is a flowchart for explaining the standby server initialization process. This process is performed by the standby server MN. The standby server MN acquires, from each server 101, the file correspondence information generated by each server 101 (information generated in step S502 in FIG. 5), collects the acquired file correspondence information, and integrates the file correspondence information. (File name, policy ID, source position information) are registered in the file correspondence information table 133 (S601), and the processing in this routine is terminated.
 図7は、障害時引き継ぎ処理を説明するためのフローチャートである。この障害時引き継ぎ処理134は、現用サーバ101のうちいずれかの現用サーバ101で障害が発生した際に、障害発生サーバが属するクラスタ100のいずれかの現用サーバ101または待機サーバMNによって実行される。 FIG. 7 is a flowchart for explaining the failure takeover process. This failure takeover process 134 is executed by any active server 101 or standby server MN of the cluster 100 to which the failure server belongs when a failure occurs in any active server 101 among the active servers 101.
 まず、各クラスタ100に属する複数のサーバ101のうちいずれかの現用サーバ101で障害が発生した場合、障害発生サーバが属するクラスタ100の中のいずれかの現用サーバ(障害発生サーバ以外のサーバ)101は、障害発生サーバが属するクラスタ100内に利用可能な待機サーバ(処理待ちの待機サーバ)、例えば、待機サーバMNが存在するか否かを判定する(S701)。この際、クラスタ内に待機サーバが存在しても、例えば、その待機サーバがさらに他のサーバからの引き継ぎ中であったり、待機サーバとしてセットアップ中である場合は利用可能と判定しない。 First, when a failure occurs in any active server 101 among the plurality of servers 101 belonging to each cluster 100, any active server (a server other than the failed server) 101 in the cluster 100 to which the failed server belongs. Determines whether there is a standby server (standby server waiting for processing), for example, a standby server MN, in the cluster 100 to which the failed server belongs (S701). At this time, even if there is a standby server in the cluster, for example, if the standby server is still taking over from another server or is being set up as a standby server, it is not determined that the server can be used.
 ステップS701で否定の判定結果を得た場合、すなわち、障害発生サーバが属するクラスタ100内に利用可能な待機サーバ、例えば、待機サーバMNが存在しない場合、障害発生サーバが属するクラスタ100のいずれかの現用サーバ101は、障害発生サーバが管理していた論理ユニットLUを、仮想ドライブプログラム124をターゲットとして利用可能にする(S702)。即ち、現用サーバ101は、障害発生サーバの処理を引き継ぐためのフェイルオーバの処理を、処理待ちの待機サーバMNと互いに連携して処理するために、引き継サーバ(デバイスサーバ)として機能し、障害発生サーバが管理していた論理ユニットLUを、仮想ドライブプログラム124をターゲットとして、ネットワーク103上に公開するための処理を実行する。 If a negative determination result is obtained in step S701, that is, if there is no standby server that can be used in the cluster 100 to which the failure server belongs, for example, there is no standby server MN, one of the clusters 100 to which the failure server belongs. The active server 101 makes the logical unit LU managed by the failed server available to the virtual drive program 124 as a target (S702). In other words, the active server 101 functions as a takeover server (device server) in order to perform failover processing for taking over the processing of the failed server in cooperation with the standby server MN waiting for processing. A process for publishing the logical unit LU managed by the server on the network 103 with the virtual drive program 124 as a target is executed.
 例えば、#1のクラスタ100に属する現用サーバ101のうちサーバ1Nが障害発生サーバとなった場合、#1のクラスタ100に属する現用サーバ101のうち、例えば、サーバ11は、引き継サーバ(デバイスサーバ)として機能し、サーバ11の仮想ドライブプログラム124は、障害発生サーバ1Nが管理していた論理ユニットLU1Nをネットワーク103上に公開するための処理を実行する。即ち、サーバ11は、障害発生サーバ1Nが管理していたストレージ装置102のストレージ領域(記憶デバイス143のストレージ領域)に対するアクセス情報(サーバIDとLUIDを含む情報)をネットワーク103上に公開する。 For example, when the server 1N among the active servers 101 belonging to the cluster # 1 becomes a failure server, for example, the server 11 among the active servers 101 belonging to the cluster 100 # 1 is a takeover server (device server). ) And the virtual drive program 124 of the server 11 executes a process for making the logical unit LU1N managed by the failure server 1N public on the network 103. That is, the server 11 publishes on the network 103 access information (information including the server ID and LUID) for the storage area of the storage apparatus 102 (storage area of the storage device 143) managed by the failure server 1N.
 次に、サーバ1Nが障害発生サーバとなったことを検知した待機サーバMNのファイルシステム123は、障害発生サーバ1Nから待機サーバMNへフェイルオーバするための処理を実行する(S703)。即ち、待機サーバMNのファイルシステム123は、ネットワーク103上に公開された論理ユニットLU1Nをターゲットとして、障害発生サーバ1Nで管理されていたファイルを待機サーバMNのストレージ装置102へ移行するための処理を実行する。 Next, the file system 123 of the standby server MN that has detected that the server 1N has become a failure occurrence server executes a process for failing over from the failure occurrence server 1N to the standby server MN (S703). That is, the file system 123 of the standby server MN performs a process for migrating the file managed by the failure server 1N to the storage device 102 of the standby server MN with the logical unit LU1N disclosed on the network 103 as a target. Execute.
 次に、待機サーバMNのファイルシステム123は、障害発生サーバ1NのサーバIDとLUIDを、サーバ11の管理下にある仮想ドライブプログラム124から移行元位置情報(アクセス情報)として取得する(S704)。 Next, the file system 123 of the standby server MN acquires the server ID and LUID of the failure server 1N from the virtual drive program 124 under the management of the server 11 as migration source location information (access information) (S704).
 次に、待機サーバMNは、取得した移行元位置情報を基にファイル対応情報テーブル133を参照し、移行元位置情報で特定されるファイルのファイル名とポリシーIDを判別し、判別されたファイル名のポリシーIDを基にコピーポリシー情報テーブル132を参照し、ポリシーIDが「5」であることを条件に、このファイルに対する規定動作として、「ロード前コピー」の処理を実施する(S705)。 Next, the standby server MN refers to the file correspondence information table 133 based on the acquired transfer source location information, determines the file name and policy ID of the file specified by the transfer source location information, and determines the determined file name The copy policy information table 132 is referred to based on the policy ID of “No.”, and “copy before loading” is executed as a prescribed operation for this file on condition that the policy ID is “5” (S705).
 すなわち、待機サーバMNは、障害発生サーバ1Nが管理していた論理ユニットLUで特定されるファイルをリードする場合、移行元位置情報(アクセス情報)を含むリード要求をサーバ11に転送する。サーバ11は、リード要求を受信した場合、リード要求を基に障害発生サーバ1Nが管理していたファイルを、障害発生サーバ1N及びサーバ11に接続されるコントローラ142から取得し、取得したファイルをネットワーク103を介して待機サーバMNに転送する。待機サーバMNは、ネットワーク103を介して取得したファイルをメモリ111にロードすると共に、待機サーバMNが管理する記憶デバイス143のストレージ領域にコピーする。この際、待機サーバMNは、ファイル対応情報テーブル133の移行フィールド133Dのエントリに、ファイルの移行完了を示す情報として、「完」を登録し、移行先位置情報フィールド133Eのエントリに、ファイルの移行先位置情報として、「サーバMN:LUMN」の情報を登録し、ステップS706の処理に移行する。 That is, when the standby server MN reads a file specified by the logical unit LU managed by the failure server 1N, the standby server MN transfers a read request including the migration source location information (access information) to the server 11. When the server 11 receives the read request, the server 11 acquires the file managed by the failure server 1N based on the read request from the failure server 1N and the controller 142 connected to the server 11, and acquires the acquired file on the network. Transfer to the standby server MN via 103. The standby server MN loads the file acquired via the network 103 into the memory 111 and copies it to the storage area of the storage device 143 managed by the standby server MN. At this time, the standby server MN registers “complete” in the entry of the migration field 133D of the file correspondence information table 133 as information indicating the completion of the migration of the file, and migrates the file to the entry of the migration destination location information field 133E. Information of “server MN: LUMN” is registered as the destination position information, and the process proceeds to step S706.
 一方、ステップS701で肯定の判定結果を得た場合、すなわち、障害発生サーバが属するクラスタ100内に利用可能な待機サーバ(処理待ちの待機サーバ)が存在する場合、障害発生サーバが属するクラスタ100の中のいずれかの現用サーバ101が、処理待ちの待機サーバ、例えば、障害発生サーバと待機サーバMNが同じクラスタに属する場合、処理待ちの待機サーバMNにフェイルオーバの処理を依頼する。これにより、待機サーバMNは、障害発生サーバの管理下にあった記憶デバイス143のストレージ領域に格納されたファイルを、待機サーバMNの管理下ある記憶デバイス143に移行するためのフェイルオーバの処理を実行する(S707)。なお、サーバ1Nが、障害発生サーバであって、障害発生サーバ1Nが属するクラスタ100に、処理待ちの待機サーバが存在する場合、この待機サーバが、フェイルオーバの処理を実行することになる。 On the other hand, when a positive determination result is obtained in step S701, that is, when there is an available standby server (standby server waiting for processing) in the cluster 100 to which the failed server belongs, the cluster 100 to which the failed server belongs. If any of the active servers 101 among them is a standby server waiting for processing, for example, the failure server and the standby server MN belong to the same cluster, the standby server MN waiting for processing is requested to perform failover processing. As a result, the standby server MN executes failover processing for transferring the file stored in the storage area of the storage device 143 managed by the failed server to the storage device 143 managed by the standby server MN. (S707). When the server 1N is a failure server and there is a standby server waiting for processing in the cluster 100 to which the failure server 1N belongs, this standby server executes failover processing.
 この後、待機サーバMNのファイルシステム123は、障害発生サーバのサーバIDとLUIDを、障害発生サーバの管理下にあったストレージ装置102のコントローラ142から移行元位置情報(アクセス情報)として取得する(S708)。 Thereafter, the file system 123 of the standby server MN acquires the server ID and LUID of the failed server as migration source location information (access information) from the controller 142 of the storage apparatus 102 under the management of the failed server ( S708).
 次に、待機サーバMNは、取得した移行元位置情報を基にファイル対応情報テーブル133を参照し、移行元位置情報フィールド133Cに、ファイルの移行元情報として、サーバMN:LUMNを登録し、障害発生サーバが管理していたファイルのアクセス先を待機サーバ101のアクセス先に書き換える(S709)。この後、待機サーバMNが属するクラスタ100内の現用サーバ101は、待機サーバMNから、ファイルの移行完了を示す情報を受信した場合、例えば、プログラム121を監視する監視モニタ(図示せず)にフェイルオーバの完了を登録し(S706)、このルーチンでの処理を終了する。 Next, the standby server MN refers to the file correspondence information table 133 based on the acquired migration source location information, registers the server MN: LUMN as the migration source information of the file in the migration source location information field 133C, and The access destination of the file managed by the generation server is rewritten to the access destination of the standby server 101 (S709). Thereafter, when the active server 101 in the cluster 100 to which the standby server MN belongs receives information indicating the completion of the file migration from the standby server MN, for example, it fails over to a monitoring monitor (not shown) that monitors the program 121. Is registered (S706), and the processing in this routine is terminated.
 図8は、ロード時コピー処理を説明するためのフローチャートである。このロード時コピー処理135は、待機サーバMNのファイルシステム123によって実行される。まず、待機サーバMNのファイルシステム123が、待機サーバMNのプログラム(アプリケーションプログラム)121から、ファイル名等を含むリード要求を受け付けた場合(S801)、待機サーバMNのファイルシステム123は、ファイル対応情報テーブル133を参照し、ファイル対応情報テーブル133に登録されているファイルへのリード要求か否かを判定する(S802)。 FIG. 8 is a flowchart for explaining the copy process at the time of loading. This load copy process 135 is executed by the file system 123 of the standby server MN. First, when the file system 123 of the standby server MN receives a read request including a file name from the program (application program) 121 of the standby server MN (S801), the file system 123 of the standby server MN stores the file correspondence information. With reference to the table 133, it is determined whether or not it is a read request for a file registered in the file correspondence information table 133 (S802).
 ファイルシステム123は、ステップS802で否定の判定結果を得た場合、ステップS805の処理に移行し、一方、ステップS802で肯定の判定結果を得た場合、リード要求で指定されたファイルのポリシーIDを基にコピーポリシー情報テーブル132を参照し、リード要求で指定されたファイルの規定動作は「ロード時自動コピー」であるか否かを判定する(S803)。この際、ファイルシステム123は、リード要求で指定されたファイルのポリシーIDは、「1」または「2」のいずれであるかを判定する。 If the file system 123 obtains a negative determination result in step S802, the file system 123 proceeds to the process of step S805. On the other hand, if the file system 123 obtains a positive determination result in step S802, the file system 123 sets the policy ID of the file specified in the read request. Based on the copy policy information table 132, it is determined whether or not the prescribed operation of the file designated by the read request is “automatic copy at load” (S803). At this time, the file system 123 determines whether the policy ID of the file specified by the read request is “1” or “2”.
 ファイルシステム123は、ステップS803で否定の判定結果を得た場合、ステップS805の処理に移行し、一方、ステップS803で肯定の判定結果を得た場合、リード要求で指定されたファイルを待機サーバMNのアクセス対象となる記憶デバイス143のストレージ領域にコピーし、その後、ファイル対応情報テーブル133を参照し、リード要求で指定されたファイルについて、ファイル対応情報テーブル133の移行フィールド133Dに、ファイルのコピーが完了した旨を示す情報として、「完」を格納し、ファイル対応情報テーブル133の移行先位置情報フィールド133Eに、移行先位置情報として、「サーバMN:LUMN」を登録する(S804)。 If the file system 123 obtains a negative determination result in step S803, the file system 123 proceeds to the process of step S805. On the other hand, if the file system 123 obtains a positive determination result in step S803, the file system 123 moves the file specified in the read request to the standby server MN. Is copied to the storage area of the storage device 143 to be accessed, and then the file correspondence information table 133 is referred to, and the file specified in the read request is copied to the migration field 133D of the file correspondence information table 133. “Complete” is stored as information indicating completion, and “server MN: LUMN” is registered as migration destination location information in the migration destination location information field 133E of the file correspondence information table 133 (S804).
 この後、ファイルシステム123は、プログラム121からのリード要求に対して、プログラム121にリード処理の結果を返し(S805)、このルーチンでの処理を終了する。 Thereafter, in response to the read request from the program 121, the file system 123 returns the result of the read process to the program 121 (S805), and ends the process in this routine.
 図9は、コピー未完ファイルコピー処理を説明するためのフローチャートである。このコピー未完ファイルコピー処理136は、待機サーバMNのファイルシステム123によって実行される。なお、この処理は、障害発生サーバを待機系に利用する場合など、コピー元の記憶デバイス143のストレージ領域を開放する前に実行される。また、この処理は、フェイルオーバの処理の対象となるファイルのポリシーIDが、「1」、「3」、「4」のいずれかであって、規定動作でコピーが実行されない場合や、他の原因でコピー処理が洩れたことを考慮して、実行される。 FIG. 9 is a flowchart for explaining copy incomplete file copy processing. This copy incomplete file copy process 136 is executed by the file system 123 of the standby server MN. This process is executed before the storage area of the copy source storage device 143 is released, such as when the failure server is used as a standby system. In addition, this process is performed when the policy ID of the file to be subjected to the failover process is any one of “1”, “3”, and “4”, and copying is not executed in the specified operation, or for other reasons Is executed in consideration of the fact that the copy process is leaked.
 まず、待機サーバMNのファイルシステム123は、障害発生サーバの管理対象(アクセス対象)であって、コピー対象ストレージ(記憶デバイス143)の中のファイルリストを、障害発生サーバが属するクラスタ100のいずれかの現用サーバ、例えば、サーバ(デバイスサーバ)11から取得し(S901)、取得したファイルリストの中に、待機サーバMNの管理対象(アクセス対象)となる記憶デバイス143のストレージ領域へのコピーが完了していないファイルがあるか否かを判定する(S902)。 First, the file system 123 of the standby server MN is the management target (access target) of the failed server, and the file list in the copy target storage (storage device 143) is stored in any of the clusters 100 to which the failed server belongs. From the current active server, for example, the server (device server) 11 (S901), and copying to the storage area of the storage device 143 that is the management target (access target) of the standby server MN is completed in the acquired file list It is determined whether there is a file that has not been processed (S902).
 次に、ファイルシステム123は、ステップS902で否定の判定結果を得た場合、ステップS904の処理に移行し、ステップS902で肯定の判定結果を得た場合、コピー未完了ファイルをロックし、コピー未完了ファイルが保存されていた、コピー元の記憶デバイス143のストレージ領域からファイルを取得し、取得したファイルを待機サーバMNの管理対象(アクセス対象)となる記憶デバイス143のストレージ領域にコピーする(S903)。 Next, if the file system 123 obtains a negative determination result in step S902, the file system 123 proceeds to the process of step S904. If the file system 123 obtains a positive determination result in step S902, the file system 123 locks the incomplete copy file and copies it. The file is acquired from the storage area of the copy source storage device 143 in which the completed file is stored, and the acquired file is copied to the storage area of the storage device 143 that is the management target (access target) of the standby server MN (S903). ).
 この後、必要な場合は、元の待機サーバMNを現用サーバに切り替え、障害発生サーバを待機サーバに切り替える処理を実施し(S904)、このルーチンでの処理を終了する。これにより、コピー元の記憶デバイスのストレージ領域を開放することができる。 Thereafter, if necessary, the original standby server MN is switched to the active server, and the failure server is switched to the standby server (S904), and the processing in this routine is terminated. Thereby, the storage area of the copy source storage device can be released.
 コピー未完了ファイルコピー処理は、フェイルオーバの処理の対象となるファイルのポリシーIDが、「5」であって、規定動作が、「ロード前にコピー」である場合、待機サーバMNのファイルシステム123が、動作を再開する前に、他のファイルのコピーを終了させることを想定している。また、コピー未完了ファイルコピー処理は、プログラム121の動作を、少しでも早く再開したい場合や、万が一コピーが洩れた場合などを考慮した処理である。 In the copy incomplete file copy process, when the policy ID of the file to be subjected to the failover process is “5” and the specified operation is “copy before load”, the file system 123 of the standby server MN It is assumed that the copying of other files is terminated before the operation is resumed. In addition, the copy incomplete file copy process is a process that considers the case where the operation of the program 121 is to be resumed as soon as possible, or the case where a copy is leaked.
 図10は、障害発生時、および、引き継ぎ完了後のサーバの動作を説明するための概略構成図である。図10において、各クラスタ100に属する複数のサーバ101のうち、例えば、#1のクラスタ100に属する現用サーバ1Nが障害発生サーバとなった場合、#1のクラスタ100に属するサーバ11は、デバイスサーバとして機能し、サーバ11の仮想ドライブプログラム124は、ターゲットとして、障害発生サーバ1Nが管理していた論理ユニットLU1Nをネットワーク103上に公開するための処理を実行する。サーバMNの仮想ドライブプログラム124はイニシエータとして、公開された論理ユニットLU1Nにアクセスを可能にして、サーバMNの共有ファイルシステムサーバ162、および、ローカルファイルシステム163がマウントして、共有ファイルシステムとして利用可能にする。 FIG. 10 is a schematic configuration diagram for explaining the operation of the server when a failure occurs and after the takeover is completed. In FIG. 10, among the plurality of servers 101 belonging to each cluster 100, for example, when the active server 1N belonging to the # 1 cluster 100 becomes a failure server, the server 11 belonging to the # 1 cluster 100 is the device server. The virtual drive program 124 of the server 11 executes a process for releasing the logical unit LU1N managed by the failure server 1N on the network 103 as a target. The virtual drive program 124 of the server MN can access the published logical unit LU1N as an initiator, and the shared file system server 162 and the local file system 163 of the server MN can be mounted and used as a shared file system. To.
 この際、ファイルシステム123の共有ファイルシステムクライアント161、および、共有ファイルシステムサーバ162は、現用サーバ1Nが障害発生サーバとなったことを検知した場合(共有ファイルシステム間のハートビート監視、または、図示していないサーバの死活監視プログラムによる)、障害発生サーバ1Nの処理を引き継ぐための処理要求として、例えば、障害発生サーバ1Nが管理していた論理ユニットLU1Nをネットワーク103上に公開するための処理要求(仮想ドライブ公開設定要求)を、複数のサーバで動作するファイルシステム123のうち、あらかじめ決められたルール(多数決、または、あらかじめ決められた優先順位による)に基づき選出されたいずれかのサーバで動作するファイルシステム123が、生成する。該ファイルシステム123は、この処理要求を、論理ユニットLU1Nを引き継いで公開するために選択されたサーバ11上の共有ファイルシステムサーバ162へ転送する。処理要求を受信した共有ファイルシステムサーバ162は、障害発生サーバ1Nが管理していた論理ユニットLU1Nをネットワーク103上に公開するための処理を実行するために、あらかじめ起動していた仮想ドライブプログラム124に処理要求を転送する。仮想ドライブプログラム124は、サーバ1Nが管理していた論理ユニットLU1N(アクセス情報)を、ネットワーク通信ドライバ165を介してネットワーク103上に公開する。 At this time, the shared file system client 161 and the shared file system server 162 of the file system 123 detect that the active server 1N has become a failure server (heartbeat monitoring between the shared file systems or FIG. As a processing request for taking over the processing of the failed server 1N) (for example, a processing request for releasing the logical unit LU1N managed by the failed server 1N on the network 103) (Virtual drive disclosure setting request) operates on one of the servers selected based on a predetermined rule (by majority decision or a predetermined priority) among the file systems 123 operating on a plurality of servers File system 12 But, to produce. The file system 123 transfers this processing request to the shared file system server 162 on the server 11 selected to take over and expose the logical unit LU1N. The shared file system server 162 that has received the processing request sends to the virtual drive program 124 that has been started in advance to execute processing for releasing the logical unit LU1N managed by the failure server 1N on the network 103. Transfer processing request. The virtual drive program 124 publishes the logical unit LU1N (access information) managed by the server 1N on the network 103 via the network communication driver 165.
 また、前記のあらかじめ決められたルール(多数決、または、あらかじめ決められた優先順位による)に基づき選出されたいずれかのサーバで動作するファイルシステム123は、ネットワーク103上に公開された論理ユニットLU1Nを利用したファイルシステム123に対する、ファイルサーバ引き継ぎ要求も処理要求として生成する。該ファイルシステム123は、この処理要求を、論理ユニットLU1Nを利用したファイルシステム123に対する処理要求の処理を引き継ぐために選択されたサーバMN上の共有ファイルシステムサーバ162へ転送する。 Further, the file system 123 operating on any one of the servers selected based on the predetermined rule (by majority decision or by a predetermined priority order) uses the logical unit LU1N disclosed on the network 103. A file server takeover request for the used file system 123 is also generated as a processing request. The file system 123 transfers this processing request to the shared file system server 162 on the server MN selected to take over processing of the processing request for the file system 123 using the logical unit LU1N.
 共有ファイルシステムサーバ162は、仮想ドライブプログラム124に対して、イニシエータとして、ネットワーク103上に公開された論理ユニットLU1Nを利用可能にするよう要求を行う。サーバMNの仮想ドライブプログラム124は、論理ユニットLU1Nを仮想ドライブとして利用可能にするための指示を、待機サーバMNのネットワーク通信ドライバ165を介して、ターゲットとなる仮想ドライブプログラム124に転送する。 The shared file system server 162 requests the virtual drive program 124 to make the logical unit LU1N published on the network 103 available as an initiator. The virtual drive program 124 of the server MN transfers an instruction for making the logical unit LU1N available as a virtual drive to the target virtual drive program 124 via the network communication driver 165 of the standby server MN.
 この際、サーバMN上の共有ファイルシステムサーバ162はローカルファイルシステム163を通じて、イニシエータとして仮想ドライブプログラム124が提供する仮想ドライブをマウントすることで、論理ユニットLU1Nを利用可能にする。これによって、障害発生サーバ1N上で、共有ファイルシステムサーバ162が管理していた論理ユニットLU1Nを、サーバMN上の共有ファイルシステムサーバ162を通じてアクセスすることが可能になる。ユーザプログラム121が発行する、論理ユニットLU1N上にあるデータに対するリード要求は、共有ファイルシステムクライアント161と、共有ファイルシステムサーバ162と、ローカルファイルシステム163と、仮想ドライブプログラム124と、ネットワーク通信ドライバ165を通じて、サーバ11に転送される。 At this time, the shared file system server 162 on the server MN makes the logical unit LU1N available by mounting the virtual drive provided by the virtual drive program 124 as an initiator through the local file system 163. As a result, the logical unit LU1N managed by the shared file system server 162 on the failure server 1N can be accessed through the shared file system server 162 on the server MN. A read request for data on the logical unit LU1N issued by the user program 121 is sent through the shared file system client 161, the shared file system server 162, the local file system 163, the virtual drive program 124, and the network communication driver 165. And transferred to the server 11.
 リード要求を受信したサーバ11は、ネットワーク通信ドライバ165と、仮想ドライブプログラム124を通じて、ストレージドライバ164に対して、ローカルストレージへのアクセスを指示する。ストレージドライバ164は、障害発生サーバ1Nの管理下にあった記憶デバイス143をアクセス対象として、記憶デバイス143のストレージ領域から指定のファイルを読み出し、読み出したファイルを、ターゲットである仮想ドライブプログラム124に転送する。 The server 11 that has received the read request instructs the storage driver 164 to access the local storage through the network communication driver 165 and the virtual drive program 124. The storage driver 164 reads the specified file from the storage area of the storage device 143 using the storage device 143 managed by the failure server 1N as an access target, and transfers the read file to the target virtual drive program 124. To do.
 仮想ドライブプログラム124はネットワーク通信ドライバ165とネットワーク103およびサーバMNのネットワーク通信ドライバ165を介して、仮想ドライブプログラム124にファイルを転送する。イニシエータである仮想ドライブプログラム124は、ローカルファイルシステム163を通じて、共有ファイルシステムサーバ162にファイルを転送する。共有ファイルシステムサーバ162は、受信したファイルを障害発生サーバ1Nの管理下にあったファイルであって、フェイルオーバの処理の対象となるファイルとして、ローカルファイルシステム163に転送する。 The virtual drive program 124 transfers the file to the virtual drive program 124 via the network communication driver 165, the network 103, and the network communication driver 165 of the server MN. The virtual drive program 124 as an initiator transfers the file to the shared file system server 162 through the local file system 163. The shared file system server 162 transfers the received file to the local file system 163 as a file that is under the management of the failure occurrence server 1N and is subject to failover processing.
 この際、共有ファイルシステムサーバ162は、イニシエータとなる仮想ドライブプログラム124から、ネットワーク103を介して転送されたファイルを、リモートストレージへのアクセスで得られたファイルとして処理し、このファイルを、ローカルストレージへのアクセスで待機サーバMNの管理対象(アクセス対象)となる記憶デバイス143のストレージ領域に書き込む。その後、待機サーバMNの共有ファイルシステムサーバ162は、障害発生サーバ1Nの管理下にあったファイルに対するアクセス先を待機サーバMNの管理下にある記憶デバイス143のストレージ領域に書き換え、障害発生サーバ1Nの管理下にあったファイルに対するサービスを再開する。 At this time, the shared file system server 162 processes the file transferred from the virtual drive program 124 serving as the initiator via the network 103 as a file obtained by accessing the remote storage, and processes the file as a local storage. Is written in the storage area of the storage device 143 to be managed (accessed) by the standby server MN. Thereafter, the shared file system server 162 of the standby server MN rewrites the access destination for the file under the management of the failure server 1N to the storage area of the storage device 143 under the management of the standby server MN. Restart services for files that were under management.
 本実施例によれば、各クラスタ100をストレージ共有型で構成し、少なくとも一つのクラスタ100に待機サーバMNを配置する構成を採用したので、サーバの障害発生時には、各現用サーバ101で他のサーバ101のレプリカを作成することなく、最小限の待機サーバで障害発生サーバ1Nの処理を引き継ぐことができ、レプリカの作成に伴うオーバヘッドの削減に寄与することができる。また、本実施例によれば、フェイルオーバの処理の対象となるファイルを待機サーバMNのメモリ111にロードする際に、このファイルを待機サーバMNの管理下にある記憶デバイス143のストレージ領域に同時にコピーしているので、障害からのリカバリを高速化することができる。即ち、障害発生サーバ1Nに対するサービス再開までの時間を短縮できると共に、待機サーバMNの管理対象となる記憶デバイス143のストレージ領域へのファイルのコピーを高速化できる。さらに、本実施例によれば、障害発生時に、引き継サーバ11は、障害発生サーバ1Nが管理していた論理ユニットに関する情報をネットワーク103上に公開すればよいので、引き継サーバ11が、障害発生サーバ1Nの管理下あった記憶デバイス143のストレージ領域に対する入出力処理を全て管理する場合よりも負荷を分散することができる。 According to the present embodiment, since each cluster 100 is configured as a shared storage type and the standby server MN is arranged in at least one cluster 100, each active server 101 uses another server when a server failure occurs. The processing of the failed server 1N can be taken over with a minimum number of standby servers without creating 101 replicas, which can contribute to the reduction of overhead associated with the creation of replicas. Further, according to the present embodiment, when a file to be subjected to failover processing is loaded into the memory 111 of the standby server MN, the file is simultaneously copied to the storage area of the storage device 143 managed by the standby server MN. As a result, recovery from failures can be accelerated. That is, it is possible to shorten the time until the service is resumed for the failure server 1N and to speed up the file copy to the storage area of the storage device 143 to be managed by the standby server MN. Furthermore, according to the present embodiment, when a failure occurs, the takeover server 11 may publish information on the logical unit managed by the failure occurrence server 1N on the network 103. The load can be distributed more than when all the input / output processing for the storage area of the storage device 143 managed by the generation server 1N is managed.
 (実施例2)
 本実施例は、障害発生時に、障害発生サーバが管理していた論理ユニットに関する情報をネットワーク上に公開する代わりに、引き継サーバが、障害発生サーバが管理していたストレージ領域に対する入出力処理を管理し、引き継サーバと待機サーバが互いに連携して、フェイルオーバの処理を実行するものである。
(Example 2)
In this embodiment, instead of publishing information on the logical unit managed by the failed server on the network when a failure occurs, the takeover server performs input / output processing for the storage area managed by the failed server. The takeover server and standby server cooperate with each other to execute failover processing.
 図11は、本発明の第二実施例を示す計算機システムの構成図である。本実施例は、障害発生サーバが属するクラスタ100の中のいずれかの現用サーバ101、例えば、サーバ11が障害時引き継ぎ処理137を実行するものであって、他の構成は、第一実施例と同様である。 FIG. 11 is a block diagram of a computer system showing a second embodiment of the present invention. In this embodiment, one of the active servers 101 in the cluster 100 to which the failed server belongs, for example, the server 11 executes the takeover process 137 at the time of failure. The other configuration is the same as that of the first embodiment. It is the same.
 図12は、障害時引き継ぎ処理を説明するためのフローチャートである。この障害時引き継ぎ処理137は、現用サーバ101のうちいずれかの現用サーバ101で障害が発生した際に、障害発生サーバが属するクラスタ100のいずれかの現用サーバ101または待機サーバMNによって実行される。 FIG. 12 is a flowchart for explaining the failure takeover process. This failure takeover process 137 is executed by one of the active servers 101 or the standby server MN of the cluster 100 to which the failure server belongs when a failure occurs in any one of the active servers 101.
 まず、各クラスタ100に属する複数のサーバ101のうちいずれかの現用サーバ101で障害が発生した場合、障害発生サーバが属するクラスタ100の中のいずれかの現用サーバ(障害発生サーバ以外のサーバ)101は、ファイルサーバとして機能し、障害発生サーバが属するクラスタ100内に利用可能な待機サーバ(処理待ちの待機サーバ)、例えば、待機サーバMNが存在するか否かを判定する(S1101)。この際、クラスタ内に待機サーバが存在しても、例えば、その待機サーバがさらに他のサーバからの引き継ぎ中であったり、待機サーバとしてセットアップ中である場合は利用可能と判定しない。 First, when a failure occurs in any active server 101 among the plurality of servers 101 belonging to each cluster 100, any active server (a server other than the failed server) 101 in the cluster 100 to which the failed server belongs. Determines whether there is a standby server (a standby server waiting for processing), for example, a standby server MN, which functions as a file server and can be used in the cluster 100 to which the failed server belongs (S1101). At this time, even if there is a standby server in the cluster, for example, if the standby server is still taking over from another server or is being set up as a standby server, it is not determined that the server can be used.
 ステップS1101で否定の判定結果を得た場合、すなわち、障害発生サーバが属するクラスタ100内に処理待ちの待機サーバとして、例えば、待機サーバMNが存在しない場合、障害発生サーバが属するクラスタ100のいずれかの現用サーバ101は、障害発生サーバが管理していた論理ユニットLUを、引き継いで、ファイルシステムとして利用可能にするために、障害発生サーバから現用サーバ(引き継サーバ)101へフェイルオーバするための処理を実行する(S1102)。 When a negative determination result is obtained in step S1101, that is, for example, when there is no standby server MN as a standby server waiting for processing in the cluster 100 to which the failure server belongs, any of the clusters 100 to which the failure server belongs. The current server 101 takes over the logical unit LU managed by the failed server and makes a failover to the active server (takeover server) 101 so that the logical unit LU can be used as a file system. Is executed (S1102).
 例えば、#1のクラスタ100に属する現用サーバ101のうちサーバ1Nが障害発生サーバとなった場合、#1のクラスタ100に属する現用サーバ101のうち、例えば、サーバ11は、引き継サーバあるいはファイルサーバとして機能し、障害発生サーバ1Nが管理していた論理ユニットLU1Nをファイルシステム123として利用可能にする。即ち、サーバ11は、障害発生サーバ1Nが管理していた記憶デバイス143のストレージ領域(論理ユニットLU1Nで特定されるストレージ領域)を、新たな管理対象となる引き継用ストレージ領域として管理すると共に、サーバ11が障害発生サーバ1Nの管理元であることを示すアクセス情報(サーバ11のサーバIDとLUIDを含む情報)を生成し、生成したアクセス情報をネットワーク103を介して待機サーバMNに転送する。 For example, when the server 1N among the active servers 101 belonging to the cluster # 1 becomes a failure server, for example, the server 11 among the active servers 101 belonging to the cluster 100 # 1 is a takeover server or a file server. The logical unit LU1N managed by the failure server 1N is made available as the file system 123. That is, the server 11 manages the storage area of the storage device 143 managed by the failed server 1N (storage area specified by the logical unit LU1N) as a new storage area to be managed, Access information (information including the server ID and LUID of the server 11) indicating that the server 11 is the management source of the failure server 1N is generated, and the generated access information is transferred to the standby server MN via the network 103.
 次に、待機サーバMNのファイルシステム123は、サーバ11のサーバIDとLUIDを、サーバ11から移行元位置情報(アクセス情報)として取得する(S1103)。 Next, the file system 123 of the standby server MN acquires the server ID and LUID of the server 11 from the server 11 as migration source location information (access information) (S1103).
 次に、待機サーバMNは、取得した移行元位置情報を基にファイル対応情報テーブル133を参照し、移行元位置情報で特定されるファイルのファイル名とポリシーIDを判別し、判別されたファイル名のポリシーIDを基にコピーポリシー情報テーブル132を参照し、ポリシーIDが「5」であることを条件に、このファイルに対する規定動作として、「ロード前コピー」の処理を実施する(S1104)。この際、待機サーバMNは、障害発生サーバ1Nが管理していた論理ユニットLUで特定されるファイルをリードする場合、サーバ11のサーバIDとLUIDを含むアクセス情報を基にリード要求を生成し、生成したリード要求をサーバ11に転送する。リード要求を受信したサーバ11は、障害発生サーバ1Nが管理していた記憶デバイス143のストレージ領域であって、引き継用ストレージ領域(論理ユニットLU1Nで特定されるストレージ領域)から、リード要求で指定されたファイルを読み出し、読み出したファイルをネットワーク103を介して待機サーバMNに転送する。 Next, the standby server MN refers to the file correspondence information table 133 based on the acquired transfer source location information, determines the file name and policy ID of the file specified by the transfer source location information, and determines the determined file name The copy policy information table 132 is referred to based on the policy ID of “No.”, and “copy before load” processing is performed as a prescribed operation for this file on condition that the policy ID is “5” (S1104). At this time, when the standby server MN reads the file specified by the logical unit LU managed by the failure server 1N, the standby server MN generates a read request based on the access information including the server ID and LUID of the server 11, The generated read request is transferred to the server 11. The server 11 that has received the read request is the storage area of the storage device 143 managed by the failure server 1N, and is designated by the read request from the takeover storage area (the storage area specified by the logical unit LU1N). The read file is read, and the read file is transferred to the standby server MN via the network 103.
 待機サーバMNは、サーバ11からネットワーク103を介して取得したファイルをメモリ111にロードすると共に、待機サーバMNの管理下にある記憶デバイス143のストレージ領域にコピーする。この際、待機サーバMNは、ファイル対応情報テーブル133の移行フィールド133Dのエントリに、ファイルの移行完了を示す情報として、「完」を登録し、ファイル対応情報テーブル133の移行先位置情報フィールド133Eのエントリに、ファイルの移行先位置情報として、「サーバMN:LUMN」の情報を登録し、ステップS1105の処理に移行する。 The standby server MN loads the file acquired from the server 11 via the network 103 into the memory 111 and copies it to the storage area of the storage device 143 under the management of the standby server MN. At this time, the standby server MN registers “complete” in the entry of the migration field 133D of the file correspondence information table 133 as information indicating the completion of the migration of the file, and the migration destination position information field 133E of the file correspondence information table 133 is registered. In the entry, information of “server MN: LUMN” is registered as file migration destination position information, and the process proceeds to step S1105.
 一方、ステップS1101で肯定の判定結果を得た場合、すなわち、障害発生サーバが属するクラスタ100内に利用可能な待機サーバ(処理待ちの待機サーバ)が存在する場合、障害発生サーバが属するクラスタ100の中のいずれかの現用サーバ101が、処理待ちの待機サーバ、例えば、障害発生サーバと待機サーバMNが同じクラスタに属する場合、処理待ちの待機サーバMNにフェイルオーバの処理を依頼する。これにより、待機サーバMNは、障害発生サーバの管理下にあった記憶デバイス143のストレージ領域に格納されたファイルを、待機サーバMNの管理下ある記憶デバイス143のストレージ領域に移行するためのフェイルオーバの処理を実行する(S1106)。なお、サーバ1Nが、障害発生サーバであって、障害発生サーバ1Nが属するクラスタ100に、処理待ちの待機サーバが存在する場合、この待機サーバが、フェイルオーバの処理を実行することになる。 On the other hand, when a positive determination result is obtained in step S1101, that is, when there is an available standby server (standby server waiting for processing) in the cluster 100 to which the failed server belongs, the cluster 100 to which the failed server belongs. If any of the active servers 101 among them is a standby server waiting for processing, for example, the failure server and the standby server MN belong to the same cluster, the standby server MN waiting for processing is requested to perform failover processing. As a result, the standby server MN performs a failover for transferring the file stored in the storage area of the storage device 143 under the management of the failed server to the storage area of the storage device 143 under the management of the standby server MN. Processing is executed (S1106). When the server 1N is a failure server and there is a standby server waiting for processing in the cluster 100 to which the failure server 1N belongs, this standby server executes failover processing.
 この後、待機サーバMNのファイルシステム123は、障害発生サーバ1NのサーバIDとLUIDを、障害発生サーバ1Nの管理下にあったストレージ装置102のコントローラ142から移行元位置情報として取得する(S1107)。 Thereafter, the file system 123 of the standby server MN acquires the server ID and the LU ID of the failure server 1N from the controller 142 of the storage apparatus 102 under the management of the failure server 1N as migration source location information (S1107). .
 次に、待機サーバMNは、取得した移行元位置情報を基にファイル対応情報テーブル133を参照し、ファイル対応情報テーブル133の移行元位置情報フィールド133Cに、ファイルの移行元情報として、サーバMN:LUMNを登録し、障害発生サーバ1Nが管理していたファイルのアクセス先を待機サーバ101に書き換える(S1108)。 Next, the standby server MN refers to the file correspondence information table 133 based on the acquired migration source location information, and stores the server MN: as the migration source information of the file in the migration source location information field 133C of the file correspondence information table 133. The LUMN is registered, and the access destination of the file managed by the failure server 1N is rewritten to the standby server 101 (S1108).
 この後、サーバ11は、待機サーバMNから、ファイルの移行完了を示す情報を受信した場合、例えば、プログラム121を監視する監視モニタ(図示せず)にフェイルオーバの完了を登録し(S1105)、このルーチンでの処理を終了する。 Thereafter, when the server 11 receives information indicating the completion of file migration from the standby server MN, for example, the server 11 registers the completion of failover in a monitoring monitor (not shown) that monitors the program 121 (S1105). The routine processing is terminated.
 図13は、障害発生時、および、引き継ぎ完了後のサーバの動作を説明するための概略構成図である。図13において、各クラスタ100に属する複数のサーバ101のうち、例えば、#1のクラスタ100に属する現用サーバ1Nが障害発生サーバとなった場合、#1のクラスタ100に属するサーバ11は、ファイルサーバとして機能し、障害発生サーバ1Nの処理を引き継ぐための処理を実行する。この際、ファイルシステム123の共有ファイルシステムクライアント161、および、共有ファイルシステムサーバ162は、現用サーバ1Nが障害発生サーバとなったことを検知した場合(共有ファイルシステム間のハートビート監視、または、図示していないサーバの死活監視プログラムによる)、障害発生サーバ1Nの処理を引き継ぐための処理要求(ファイルサーバ引き継ぎ要求)を複数のサーバで動作するファイルシステム123のうち、あらかじめ決められたルール(多数決、または、あらかじめ決められた優先順位による)に基づき選出されたいずれかのサーバで動作するファイルシステム123が、生成する。該ファイルシステム123は、この処理要求を、論理ユニットLU1Nを引き継いで公開するために選択されたサーバ11上の共有ファイルシステムサーバ162へ転送する。 FIG. 13 is a schematic configuration diagram for explaining the operation of the server when a failure occurs and after the takeover is completed. In FIG. 13, among the plurality of servers 101 belonging to each cluster 100, for example, when the active server 1N belonging to the # 1 cluster 100 becomes a failure server, the server 11 belonging to the # 1 cluster 100 is a file server. And executes a process for taking over the process of the faulty server 1N. At this time, the shared file system client 161 and the shared file system server 162 of the file system 123 detect that the active server 1N has become a failure server (heartbeat monitoring between the shared file systems or FIG. A processing rule (file server takeover request) for taking over the processing of the failure server 1N (by a server alive monitoring program not shown) and a predetermined rule (majority decision, out of file systems 123 operating on a plurality of servers) Alternatively, a file system 123 that operates on any server selected based on a predetermined priority order is generated. The file system 123 transfers this processing request to the shared file system server 162 on the server 11 selected to take over and expose the logical unit LU1N.
 処理要求を受けた共有ファイルシステムサーバ162は、フェイルオーバの処理を待機サーバMNと連携して実行するための情報として、サーバ11が障害発生サーバ1Nの管理元であることを示すアクセス情報(サーバ11のサーバIDとLUIDを含む情報)を生成し、生成したアクセス情報を、ネットワーク通信ドライバ165とネットワーク103およびネットワーク通信ドライバ165を介して、待機サーバMNを含む、システム内の共有ファイルシステムクライアント161に転送する。ただし、ファイルシステムサーバとサーバの対応付けができればよいので、代表のサーバが対応表を持ち、その対応表の内容を更新してもよい。ユーザプログラム121が発行する、論理ユニットLU1N上にあるデータに対するリード要求は、待機サーバMNの共有ファイルシステムクライアント161は、サーバ11が障害発生サーバ1Nの管理元であることを判別した場合、リード要求をネットワーク103を介して、サーバ11に転送する。 Upon receiving the processing request, the shared file system server 162 receives, as information for executing failover processing in cooperation with the standby server MN, access information (server 11) indicating that the server 11 is the management source of the failure server 1N. Information including the server ID and LUID of the server), and the generated access information is transmitted to the shared file system client 161 in the system including the standby server MN via the network communication driver 165, the network 103, and the network communication driver 165. Forward. However, as long as the file system server can be associated with the server, the representative server may have a correspondence table, and the contents of the correspondence table may be updated. The read request for the data on the logical unit LU1N issued by the user program 121 is a read request when the shared file system client 161 of the standby server MN determines that the server 11 is the management source of the failed server 1N. Are transferred to the server 11 via the network 103.
 サーバ11が、ネットワーク通信ドライバ165を介して、待機サーバMNからリード要求を受信した場合、ローカルストレージへアクセスする処理要求を、ファイルシステム123の共有ファイルシステムサーバ162に出力する。処理要求を受信した共有ファイルシステムサーバ162は、ローカルファイルシステム163に処理要求を転送する。ローカルファイルシステム163は、ローカルストレージへのアクセスを実行するために、ストレージドライバ164に対して、ローカルストレージへのアクセスを指示する。 When the server 11 receives a read request from the standby server MN via the network communication driver 165, the server 11 outputs a processing request for accessing the local storage to the shared file system server 162 of the file system 123. The shared file system server 162 that has received the processing request transfers the processing request to the local file system 163. The local file system 163 instructs the storage driver 164 to access the local storage in order to execute access to the local storage.
 ストレージドライバ164は、障害発生サーバ1Nの管理下にあった記憶デバイス143をアクセス対象として、この記憶デバイス143のストレージ領域(論理ユニットLU1Nで特定される引き継用ストレージ領域)に対するリード処理を実行し、論理ユニットLU1Nで特定されるストレージ領域から、フェイルオーバの処理の対象となるファイル(リード要求で指定されたファイル)を読み出し、読み出したファイルをローカルファイルシステム163を介して共有ファイルシステムサーバ162に転送する。サーバ11の共有ファイルシステムサーバ162は、ローカルストレージへのアクセスで得られたファイルを、サーバMNからのリード要求で指定されたファイルとして処理し、このファイルをネットワーク103を介してサーバMNの共有ファイルシステムクライアント161に転送する。 The storage driver 164 executes a read process for the storage area (the takeover storage area specified by the logical unit LU1N) of the storage device 143, with the storage device 143 managed by the failure server 1N as an access target. Then, the file (file specified by the read request) subject to failover processing is read from the storage area specified by the logical unit LU1N, and the read file is transferred to the shared file system server 162 via the local file system 163. To do. The shared file system server 162 of the server 11 processes the file obtained by accessing the local storage as a file specified by the read request from the server MN, and processes this file via the network 103. Transfer to system client 161.
 サーバMNの共有ファイルシステムクライアント161は、サーバ11から転送されたファイルをリモートストレージへのアクセスで得られたファイル(フェイルオーバの処理の対象となるファイル)として処理し、このファイルを、待機サーバMNの管理対象(アクセス対象)となる記憶デバイス143のストレージ領域に書き込むための処理を実行する。この際、ファイルシステム123の共有ファイルシステムクライアント161は、障害発生サーバ1Nの処理を引き継ぐために、サーバMN上の共有ファイルシステムサーバ162と、ローカルファイルシステム163を介してストレージドライバ164に対して、ローカルストレージへのアクセスを指示する。 The shared file system client 161 of the server MN processes the file transferred from the server 11 as a file obtained by accessing the remote storage (file to be subjected to failover processing), and processes this file on the standby server MN. Processing for writing to the storage area of the storage device 143 to be managed (accessed) is executed. At this time, the shared file system client 161 of the file system 123 communicates with the shared file system server 162 on the server MN and the storage driver 164 via the local file system 163 in order to take over the processing of the failure server 1N. Instructs access to local storage.
 ストレージドライバ164は、記憶デバイス143のストレージ領域のうちサーバMNの管理対象となるストレージ領域に、サーバ11から転送されたファイルを格納する。その後、待機サーバMNでは、共有ファイルシステムクライアント161が、障害発生サーバ1Nの管理下にあったファイルに対するアクセス先を待機サーバMNの管理下にある記憶デバイス143のストレージ領域に書き換え、障害発生サーバ1Nの管理下にあったファイルに対するサービスを再開する。 The storage driver 164 stores the file transferred from the server 11 in the storage area managed by the server MN in the storage area of the storage device 143. Thereafter, in the standby server MN, the shared file system client 161 rewrites the access destination for the file under the management of the failure server 1N to the storage area of the storage device 143 under the management of the standby server MN, and the failure server 1N Restart the services for files that were under the control of.
 本実施例によれば、第一実施例と同様に、最小限の待機サーバMNで障害発生サーバ1Nの処理を引き継ぐことができ、レプリカの作成に伴うオーバヘッドの削減に寄与することができ、また、障害からのリカバリを高速化することができる。さらに、本実施例によれば、引き継サーバ11が、障害発生サーバ1Nが管理していた記憶デバイス143のストレージ領域に対するファイルの入出力処理を実行すると共に、待機サーバMNと連携して、ファイルオーバの処理を実行することができる。 According to the present embodiment, as in the first embodiment, the processing of the failed server 1N can be taken over with the minimum number of standby servers MN, which can contribute to the reduction of overhead associated with the creation of the replica. , Recovery from failure can be speeded up. Further, according to the present embodiment, the takeover server 11 executes file input / output processing for the storage area of the storage device 143 managed by the failure server 1N, and cooperates with the standby server MN to execute the file Over processing can be executed.
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 In addition, this invention is not limited to the above-mentioned Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
 また、上記の各構成、機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)メモリカード、DVD(Digital Versatile Disc)等の記録媒体に記録して置くことができる。 Also, each of the above-described configurations, functions, etc. may be realized by hardware by designing a part or all of them, for example, by an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files that realize each function is stored in memory, a hard disk, a recording device such as an SSD (Solid State Drive), an IC (Integrated Circuit) card, an SD (Secure Digital) memory card, a DVD ( It can be recorded on a recording medium such as Digital Versatile Disc).
 100 クラスタ、101 サーバ、102 ストレージ装置、103 ネットワーク、111 メモリ、112 プロセッサ、113、114 入出力インタフェース、121 プログラム、122 データ、123 ファイルシステム、124 仮想ドライブプログラム、130 テーブル格納部、131 ロードタイミング設定情報テーブル、132 コピーポリシー情報テーブル、133 ファイル対応情報テーブル、134 障害時引き継ぎ処理、135 ロード時コピー処理、136 コピー未完了ファイルコピー処理、137 障害時引き継ぎ処理。 100 cluster, 101 server, 102 storage device, 103 network, 111 memory, 112 processor, 113, 114 I / O interface, 121 program, 122 data, 123 file system, 124 virtual drive program, 130 table storage, 131 load timing setting Information table, 132 copy policy information table, 133 file correspondence information table, 134 takeover process at failure, 135 copy process at load, 136 copy process for incomplete files, 137 takeover process at failure.

Claims (12)

  1.  ネットワークに接続される複数のサーバと、前記各サーバに接続されて、前記各サーバが共有する共有ストレージ装置とを含むクラスタを複数を有し、前記複数のクラスタのうち少なくとも一つのクラスタに属するサーバが待機サーバとして構成され、
     少なくとも前記待機サーバは、前記いずれかのクラスタに属するサーバの障害発生時に、当該障害発生サーバの処理を引き継ぐためのフェイルオーバの処理を実行することを特徴とする計算機システム。
    A server having a plurality of clusters including a plurality of servers connected to a network and a shared storage device connected to each of the servers and shared by each of the servers, and belonging to at least one of the plurality of clusters Is configured as a standby server,
    At least the standby server, when a failure occurs in a server belonging to any one of the clusters, executes a failover process for taking over the process of the failed server.
  2.  請求項1に記載の計算機システムであって、
     前記待機サーバは、
     前記いずれかのクラスタに属するサーバの障害発生時に、前記障害発生サーバが属するクラスタに処理待ちの待機サーバとして存在することを条件に、前記フェイルオーバの処理を実行し、
     前記いずれかのクラスタに属するサーバの障害発生時に、前記障害発生サーバが属するクラスタに処理待ちの待機サーバが存在しない場合、前記障害発生サーバが属するクラスタの中のいずれかのサーバであって、前記待機サーバの連携先となる引き継サーバと互いに連携して、前記フェイルオーバの処理を実行することを特徴とする計算機システム。
    The computer system according to claim 1,
    The standby server is
    When a failure of a server belonging to any one of the clusters occurs, the failover processing is executed on the condition that the server to which the failure occurs belongs as a standby server waiting for processing,
    If there is no standby server waiting for processing in the cluster to which the failed server belongs when a failure of the server belonging to any one of the clusters occurs, any server in the cluster to which the failed server belongs, A computer system, wherein the failover processing is executed in cooperation with a takeover server as a cooperation destination of a standby server.
  3.  請求項2に記載の計算機システムであって、
     前記引き継サーバは、
     前記障害発生サーバが属するクラスタに前記処理待ちの待機サーバが存在しない場合、前記共有ストレージ装置のストレージ領域のうち前記障害発生サーバの管理対象であったストレージ領域に対するアクセス情報を前記ネットワーク上に公開し、前記ネットワーク上に公開されたアクセス情報を含むリード要求を前記ネットワークを介して前記待機サーバから受信したことを条件に、前記リード要求で指定されたファイルを前記障害発生サーバの管理対象であったストレージ領域から読み出し、読み出したファイルを前記ネットワークを介して前記待機サーバに転送し、
     前記待機サーバは、
     前記ネットワーク上に公開されたアクセス情報を受信した場合、前記受信したアクセス情報を含むリード要求を生成し、前記生成したリード要求を前記ネットワークを介して前記引き継サーバに転送し、前記リード要求に応答して前記引き継サーバから転送されたファイルを受信したことを条件に、前記受信したファイルを前記フェイルオーバの処理の対象となるファイルとして管理することを特徴とする計算機システム。
    The computer system according to claim 2,
    The takeover server is
    If there is no standby server waiting for processing in the cluster to which the failed server belongs, the access information for the storage area managed by the failed server in the storage area of the shared storage device is disclosed on the network. The file specified in the read request was managed by the failed server on condition that a read request including access information published on the network was received from the standby server via the network. Read from the storage area, transfer the read file to the standby server via the network,
    The standby server is
    When the access information published on the network is received, a read request including the received access information is generated, the generated read request is transferred to the takeover server via the network, and the read request is received. A computer system characterized in that the received file is managed as a file to be subjected to the failover process on condition that the file transferred from the takeover server in response is received.
  4.  請求項2に記載の計算機システムであって、
     前記引き継サーバは、
     前記障害発生サーバが属するクラスタに前記処理待ちの待機サーバが存在しない場合、前記共有ストレージ装置のストレージ領域のうち前記障害発生サーバの管理対象であったストレージ領域を、新たな管理対象となる引き継用ストレージ領域として管理すると共に、当該引き継サーバが前記障害発生サーバの管理元であることを示すアクセス情報を生成し、前記生成したアクセス情報を前記ネットワークを介して前記待機サーバに転送し、前記アクセス情報を含むリード要求を前記ネットワークを介して前記待機サーバから受信したことを条件に、前記リード要求で指定されたファイルを前記引き継用ストレージ領域から読み出し、読み出したファイルを前記ネットワークを介して前記待機サーバに転送し、
     前記待機サーバは、
     前記引き継サーバから転送されたアクセス情報を受信した場合、前記受信したアクセス情報を含むリード要求を生成し、前記生成したリード要求を前記ネットワークを介して前記引き継サーバに転送し、前記リード要求に応答して前記引き継サーバから転送されたファイルを受信したことを条件に、前記受信したファイルを前記フェイルオーバの処理の対象となるファイルとして管理することを特徴とする計算機システム。
    The computer system according to claim 2,
    The takeover server is
    When the standby server waiting for processing does not exist in the cluster to which the failed server belongs, the storage area that was the management target of the failed server among the storage areas of the shared storage device is taken over as a new management target. Managing as a storage area for storage, generating access information indicating that the takeover server is a management source of the failed server, transferring the generated access information to the standby server via the network, On the condition that a read request including access information is received from the standby server via the network, the file specified by the read request is read from the takeover storage area, and the read file is read via the network. Forward to the standby server,
    The standby server is
    When the access information transferred from the takeover server is received, a read request including the received access information is generated, the generated read request is transferred to the takeover server via the network, and the read request The computer system is characterized in that the received file is managed as a file to be subject to the failover process on condition that the file transferred from the takeover server in response to the request is received.
  5.  請求項3又は4に記載の計算機システムであって、
     前記待機サーバは、
     前記引き継サーバから転送されたファイルを受信した場合、前記受信したファイルを、ファイルシステムを含むメモリに書き込むと共に、前記待機サーバに接続される共有ストレージ装置のストレージ領域のうち前記待機サーバの管理対象となるストレージ領域にコピーし、前記受信したファイルがコピーされたストレージ領域を、前記障害発生サーバに対するファイルのアクセス先として管理することを特徴とする計算機システム。
    The computer system according to claim 3 or 4,
    The standby server is
    When a file transferred from the takeover server is received, the received file is written into a memory including a file system, and the management target of the standby server in the storage area of the shared storage device connected to the standby server And a storage area where the received file is copied is managed as a file access destination for the failed server.
  6.  請求項5に記載の計算機システムであって、
     前記待機サーバは、
     前記メモリのファイルシステムの中に、前記リード要求で指定されたファイルであって、コピーの対象となっていないファイルが存在する場合、前記コピーの対象となっていないファイルを、前記メモリから前記待機サーバの管理対象となるストレージ領域にコピーすることを特徴とする計算機システム。
    The computer system according to claim 5,
    The standby server is
    In the file system of the memory, if there is a file that is specified by the read request and is not a copy target, the file that is not a copy target is transferred from the memory to the standby A computer system that is copied to a storage area to be managed by a server.
  7.  ネットワークに接続される複数のサーバと、前記各サーバに接続されて、前記各サーバが共有する共有ストレージ装置とを含むクラスタを複数を有し、前記複数のクラスタのうち少なくとも一つのクラスタに属するサーバが待機サーバとして構成される計算機システムにおけるファイル管理方法であって、
     少なくとも前記待機サーバが、前記いずれかのクラスタに属するサーバの障害発生時に、当該障害発生サーバの処理を引き継ぐためのフェイルオーバの処理を実行するステップを有することを特徴とするファイル管理方法。
    A server having a plurality of clusters including a plurality of servers connected to a network and a shared storage device connected to each of the servers and shared by each of the servers, and belonging to at least one of the plurality of clusters Is a file management method in a computer system configured as a standby server,
    At least the standby server includes a step of executing a failover process for taking over the process of the failed server when a failure of the server belonging to any one of the clusters occurs.
  8.  請求項7に記載のファイル管理方法であって、
     前記待機サーバが、前記いずれかのクラスタに属するサーバの障害発生時に、前記障害発生サーバが属するクラスタに処理待ちの待機サーバとして存在することを条件に、前記フェイルオーバの処理を実行するステップと、
     前記待機サーバが、前記いずれかのクラスタに属するサーバの障害発生時に、前記障害発生サーバが属するクラスタに処理待ちの待機サーバが存在しない場合、前記障害発生サーバが属するクラスタの中のいずれかのサーバであって、前記待機サーバの連携先となる引き継サーバと互いに連携して、前記フェイルオーバの処理を実行するステップと、を有することを特徴とするファイル管理方法。
    The file management method according to claim 7, wherein
    Executing the failover process on the condition that the standby server exists as a standby server waiting for processing in a cluster to which the failure server belongs when a failure of a server belonging to any of the clusters occurs;
    If the standby server has a failure in a server belonging to any of the clusters, and there is no standby server waiting for processing in the cluster to which the failed server belongs, any server in the cluster to which the failed server belongs A file management method comprising: performing a failover process in cooperation with a takeover server as a cooperation destination of the standby server.
  9.  請求項8に記載のファイル管理方法であって、
     前記引き継サーバが、前記障害発生サーバが属するクラスタに前記処理待ちの待機サーバが存在しない場合、前記共有ストレージ装置のストレージ領域のうち前記障害発生サーバの管理対象であったストレージ領域に対するアクセス情報を前記ネットワーク上に公開するステップと、
     前記引き継サーバが、前記ネットワーク上に公開されたアクセス情報を含むリード要求を前記ネットワークを介して前記待機サーバから受信したことを条件に、前記リード要求で指定されたファイルを前記障害発生サーバの管理対象であったストレージ領域から読み出し、読み出したファイルを前記ネットワークを介して前記待機サーバに転送するステップと、
     前記待機サーバが、前記ネットワーク上に公開されたアクセス情報を受信した場合、前記受信したアクセス情報を含むリード要求を生成し、前記生成したリード要求を前記ネットワークを介して前記引き継サーバに転送するステップと、
     前記待機サーバが、前記リード要求に応答して前記引き継サーバから転送されたファイルを受信したことを条件に、前記受信したファイルを前記フェイルオーバの処理の対象となるファイルとして管理するステップと、を有することを特徴とするファイル管理方法。
    The file management method according to claim 8, wherein
    When the takeover server does not have the standby server waiting for processing in the cluster to which the failed server belongs, access information for the storage area managed by the failed server in the storage area of the shared storage device is obtained. Publishing on the network;
    On the condition that the takeover server has received a read request including access information published on the network from the standby server via the network, the file specified in the read request is stored in the failure server. Reading from the storage area that was the management target, and transferring the read file to the standby server via the network;
    When the standby server receives the access information published on the network, the standby server generates a read request including the received access information, and transfers the generated read request to the takeover server via the network. Steps,
    Managing the received file as a file to be subject to the failover process on the condition that the standby server has received the file transferred from the takeover server in response to the read request; A file management method comprising:
  10.  請求項8に記載のファイル管理方法であって、
     前記引き継サーバが、前記障害発生サーバが属するクラスタに前記処理待ちの待機サーバが存在しない場合、前記共有ストレージ装置のストレージ領域のうち前記障害発生サーバの管理対象であったストレージ領域を、新たな管理対象となる引き継用ストレージ領域として管理すると共に、当該引き継サーバが前記障害発生サーバの管理元であることを示すアクセス情報を生成し、前記生成したアクセス情報を前記ネットワークを介して前記待機サーバに転送するステップと、
     前記引き継サーバが、前記アクセス情報を含むリード要求を前記ネットワークを介して前記待機サーバから受信したことを条件に、前記リード要求で指定されたファイルを前記引き継用ストレージ領域から読み出し、読み出したファイルを前記ネットワークを介して前記待機サーバに転送するステップと、
     前記待機サーバが、前記引き継サーバから転送されたアクセス情報を受信した場合、前記受信したアクセス情報を含むリード要求を生成し、前記生成したリード要求を前記ネットワークを介して前記引き継サーバに転送するステップと、
     前記待機サーバが、前記リード要求に応答して前記引き継サーバから転送されたファイルを受信したことを条件に、前記受信したファイルを前記フェイルオーバの処理の対象となるファイルとして管理するステップと、を有することを特徴とするファイル管理方法。
    The file management method according to claim 8, wherein
    When the takeover server does not have the standby server waiting for processing in the cluster to which the failed server belongs, the storage area that is the management target of the failed server among the storage areas of the shared storage device is newly set. Manage as a takeover storage area to be managed, generate access information indicating that the takeover server is a management source of the failed server, and send the generated access information to the standby via the network Transferring to the server;
    The takeover server reads and reads the file specified in the read request from the takeover storage area on condition that the read request including the access information is received from the standby server via the network. Transferring the file to the standby server via the network;
    When the standby server receives the access information transferred from the takeover server, the standby server generates a read request including the received access information and transfers the generated read request to the takeover server via the network. And steps to
    Managing the received file as a file to be subject to the failover process on the condition that the standby server has received the file transferred from the takeover server in response to the read request; A file management method comprising:
  11.  請求項9又は10に記載のファイル管理方法であって、
     前記待機サーバが、前記引き継サーバから転送されたファイルを受信した場合、前記受信したファイルを、ファイルシステムを含むメモリに書き込むと共に、前記待機サーバに接続される共有ストレージ装置のストレージ領域のうち前記待機サーバの管理対象となるストレージ領域にコピーし、前記受信したファイルがコピーされたストレージ領域を、前記障害発生サーバに対するファイルのアクセス先として管理するステップを有することを特徴とするファイル管理方法。
    The file management method according to claim 9 or 10, wherein
    When the standby server receives the file transferred from the takeover server, the received file is written to a memory including a file system, and the storage area of the shared storage device connected to the standby server A file management method comprising: copying to a storage area to be managed by a standby server, and managing the storage area to which the received file is copied as a file access destination for the failed server.
  12.  請求項11に記載のファイル管理方法であって、
     前記待機サーバが、前記メモリのファイルシステムの中に、前記リード要求で指定されたファイルであって、コピーの対象となっていないファイルが存在する場合、前記コピーの対象となっていないファイルを、前記メモリから前記待機サーバの管理対象となるストレージ領域にコピーするステップを有することを特徴とするファイル管理方法。
    The file management method according to claim 11, comprising:
    When the standby server includes a file that is specified in the read request and is not a copy target in the file system of the memory, the file that is not a copy target is A file management method comprising: copying from the memory to a storage area to be managed by the standby server.
PCT/JP2014/075593 2014-09-26 2014-09-26 Computer system and file management method therefor WO2016046951A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/075593 WO2016046951A1 (en) 2014-09-26 2014-09-26 Computer system and file management method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/075593 WO2016046951A1 (en) 2014-09-26 2014-09-26 Computer system and file management method therefor

Publications (1)

Publication Number Publication Date
WO2016046951A1 true WO2016046951A1 (en) 2016-03-31

Family

ID=55580510

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/075593 WO2016046951A1 (en) 2014-09-26 2014-09-26 Computer system and file management method therefor

Country Status (1)

Country Link
WO (1) WO2016046951A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656896A (en) * 2018-11-28 2019-04-19 平安科技(深圳)有限公司 Fault repairing method, device and distributed memory system and storage medium
WO2023160278A1 (en) * 2022-02-23 2023-08-31 中移(苏州)软件技术有限公司 Request processing method and apparatus, and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258983A (en) * 2004-03-15 2005-09-22 Hitachi Ltd Computer system having a plurality of cluster systems and computer system control method
JP4920248B2 (en) * 2005-12-02 2012-04-18 株式会社日立製作所 Server failure recovery method and database system
JP5353378B2 (en) * 2009-03-31 2013-11-27 沖電気工業株式会社 HA cluster system and clustering method thereof
WO2014068764A1 (en) * 2012-11-02 2014-05-08 株式会社日立製作所 System redundancy verification method and computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258983A (en) * 2004-03-15 2005-09-22 Hitachi Ltd Computer system having a plurality of cluster systems and computer system control method
JP4920248B2 (en) * 2005-12-02 2012-04-18 株式会社日立製作所 Server failure recovery method and database system
JP5353378B2 (en) * 2009-03-31 2013-11-27 沖電気工業株式会社 HA cluster system and clustering method thereof
WO2014068764A1 (en) * 2012-11-02 2014-05-08 株式会社日立製作所 System redundancy verification method and computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656896A (en) * 2018-11-28 2019-04-19 平安科技(深圳)有限公司 Fault repairing method, device and distributed memory system and storage medium
CN109656896B (en) * 2018-11-28 2023-08-22 平安科技(深圳)有限公司 Fault repairing method and device, distributed storage system and storage medium
WO2023160278A1 (en) * 2022-02-23 2023-08-31 中移(苏州)软件技术有限公司 Request processing method and apparatus, and storage medium

Similar Documents

Publication Publication Date Title
US11775397B2 (en) Disaster recovery for distributed file servers, including metadata fixers
US20200301589A1 (en) Cluster configuration information replication
US11288239B2 (en) Cloning virtualized file servers
US10255146B2 (en) Cluster-wide service agents
US8918392B1 (en) Data storage mapping and management
EP3502877B1 (en) Data loading method and apparatus for virtual machines
US8473462B1 (en) Change tracking for shared disks
US8473692B2 (en) Operating system image management
US8533171B2 (en) Method and system for restarting file lock services at an adoptive node during a network filesystem server migration or failover
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
JP2019101703A (en) Storage system and control software arrangement method
EP3745269B1 (en) Hierarchical fault tolerance in system storage
US9792150B1 (en) Detecting site change for migrated virtual machines
US10455019B2 (en) Highly performant reliable message storage using in-memory replication technology
EP3648405B1 (en) System and method to create a highly available quorum for clustered solutions
US10862887B2 (en) Multiple domain authentication using data management and storage node
JP2009237826A (en) Storage system and volume management method therefor
US20230367746A1 (en) Distributed File System that Provides Scalability and Resiliency
US8621260B1 (en) Site-level sub-cluster dependencies
US20230393787A1 (en) Distributed File System with Disaggregated Data Management and Storage Management Layers
WO2016046951A1 (en) Computer system and file management method therefor
US8380954B1 (en) Failover method and system
JP6219514B2 (en) Computing device that provides virtual multipath state access, remote computing device for virtual multipath, method for providing virtual multipath state access, method for virtual multipath, computing device, multiple methods for computing device And a machine-readable recording medium
US20220391361A1 (en) Distributed File System with Reduced Write and Read Latencies
US8850132B1 (en) Method and system for providing a shared data resource coordinator within a storage virtualizing data processing system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14902310

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14902310

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP