WO2018016007A1 - 計算機システム及び計算機の提供方法 - Google Patents

計算機システム及び計算機の提供方法 Download PDF

Info

Publication number
WO2018016007A1
WO2018016007A1 PCT/JP2016/071176 JP2016071176W WO2018016007A1 WO 2018016007 A1 WO2018016007 A1 WO 2018016007A1 JP 2016071176 W JP2016071176 W JP 2016071176W WO 2018016007 A1 WO2018016007 A1 WO 2018016007A1
Authority
WO
WIPO (PCT)
Prior art keywords
volume
node
deployment
setting module
management
Prior art date
Application number
PCT/JP2016/071176
Other languages
English (en)
French (fr)
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/JP2016/071176 priority Critical patent/WO2018016007A1/ja
Publication of WO2018016007A1 publication Critical patent/WO2018016007A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Definitions

  • the present invention relates to a deployment process in cloud computing.
  • IaaS Infrastructure as a Service
  • a virtualization technology is used in a system that provides a general IaaS. By using virtualization technology, a flexible system can be operated. On the other hand, when the virtualization technology is used, there is a problem that the performance of the computer is lowered due to the virtualization overbed.
  • IaaS As a method for providing IaaS having high performance, IaaS using a bare metal server (physical server) is known.
  • a bare metal server is provided to a user and managed like a virtual machine.
  • Patent Document 1 states that “a disk mapping processing unit of a deployment target computer, when there is an I / O request to the storage device from the deployment target computer, accesses when the I / O request is a boot disk image read. If the destination is the replication source logical disk of the storage device and the I / O request is for writing related to the boot disk image, the access destination is set to be the replication destination logical disk for writing related to the boot disk image. Is switched ”.
  • IaaS using a bare metal server provides a physical computer itself, the IaaS deployment process cannot be easily performed as compared to IaaS using virtualization technology.
  • An object of the present invention is to provide a system and method for realizing a quick provision of a bare metal server to a user while suppressing facility costs.
  • a typical example of the invention disclosed in the present application is as follows. That is, a computer system including a plurality of computers, wherein each of the plurality of computers is connected to a processor, a main storage device connected to the processor, a secondary storage device connected to the processor, and the processor.
  • An interface for connecting to another computer wherein the plurality of computers are a management node that manages the plurality of computers, a calculation node that executes a predetermined application, and a deployment volume that is a boot image of the calculation node
  • the computing node has a setting module for managing a volume used by an operating system, and the deployment storage node only allows reading of data from the deployment volume.
  • a computer can be quickly provided to a user in cloud computing using a general computer (bare metal server). Moreover, since the system uses only a general computer, the equipment cost can be reduced. Problems, configurations, and effects other than those described above will become apparent from the following description of embodiments.
  • FIG. 1 is a diagram illustrating a configuration example of a computer system according to a first embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of a node in the data center according to the first embodiment. It is a figure which shows an example of the management information of Example 1.
  • FIG. 10 is a sequence diagram illustrating the flow of a deployment process for a compute node according to the first embodiment. It is a figure which shows an example of the setting screen of Example 1.
  • FIG. 6 is a flowchart illustrating an example of a calculation node selection process executed by a management node according to the first embodiment.
  • 10 is a flowchart illustrating an example of a virtual volume generation process executed by the setting module according to the first embodiment.
  • FIG. 6 is a flowchart illustrating an example of a copy process executed by the setting module according to the first embodiment.
  • FIG. 10 is a diagram illustrating a configuration example of a node on which a regular backup process in the data center according to the second embodiment is executed.
  • FIG. 10 is a diagram illustrating a configuration example of a node on which a synchronous backup process in the data center according to the second embodiment is executed.
  • FIG. 3 is a diagram illustrating an example of backup information according to the first embodiment.
  • FIG. 10 is a sequence diagram illustrating a flow of a regular backup process according to the second embodiment.
  • 10 is a flowchart illustrating an example of a storage node selection process executed by a management node according to the second embodiment.
  • 10 is a sequence diagram illustrating a flow of synchronous backup processing according to the second embodiment. It is a sequence diagram explaining the flow of the recovery process of Example 2. It is a figure which shows the system state by which the recovery process of Example 2 was performed. 10 is a flowchart illustrating an example of a virtual volume generation process executed by the setting module according to the second embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of a computer system according to the first embodiment.
  • the computer system shown in FIG. 1 includes a data center 100 and a plurality of terminals 101. Each of the plurality of terminals 101 is connected to the data center 100 via the network 102.
  • the network 102 As the type of the network 102, for example, WAN and LAN can be considered.
  • the connection method of the network 102 may be either wired or wireless.
  • the data center 100 is a system that provides a cloud using a bare metal server.
  • the data center 100 includes a plurality of server devices 110 and gateways 130.
  • the plurality of server devices 110 and the gateway 130 are connected to each other via the internal network 140.
  • the type of the internal network 140 may be a LAN, for example.
  • the connection method of the internal network 140 may be either wired or wireless.
  • the cloud of this embodiment allocates physical servers to users and provides services equivalent to systems using virtualization technology.
  • the server device 110 is a bare metal server, and includes a CPU 120, a memory 121, a storage device 122, and a network interface 123. Each hardware configuration is connected to each other via an internal bus or the like.
  • the server device 110 may include input / output devices such as a display, a keyboard, a touch panel, and a mouse.
  • CPU 120 is an arithmetic device that executes a program. Various functions are realized by the CPU 120 executing programs stored in the memory 121. In the following description, when a process is described mainly with a program, it indicates that the CPU 120 is executing the program.
  • the memory 121 is a main storage device, and stores a program executed by the CPU 120 and information necessary for the program.
  • the memory 121 includes a work area that is temporarily used by the program.
  • the storage device 122 is a storage device (secondary storage device) that permanently stores data.
  • the storage device 122 may be an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like.
  • the network interface 123 is an interface for connecting to other devices via a network.
  • the gateway 130 is a network device that manages data transmission / reception between a plurality of server devices 110 and a plurality of terminals 101 in the data center 100.
  • the terminal 101 is a computer operated by a user who uses the cloud.
  • the terminal 101 has a CPU, a memory, a storage device, and a network interface (not shown).
  • FIG. 2 is a diagram illustrating a configuration example of nodes in the data center 100 according to the first embodiment.
  • the server device 110 is managed separately for each performance. That is, the server apparatuses 110 belonging to the same performance category are managed as a resource pool.
  • the operator of the data center 100 sets the performance of the server device 110 in advance. In this embodiment, four performances of “High performance”, “Mid performance”, “High Memory performance”, and “High Storage performance” can be set.
  • a role is set in the server device 110.
  • the server device 110 in which the role is set is described as a node, and the server device 110 in which the role is not set is described as an empty server device 110.
  • nodes there are three types of nodes: a management node 200, a storage node 201, and a calculation node 202. It is assumed that the management node 200 and the storage node 201 are set in advance by the operator of the data center 100. Note that the operator can set and update the management node 200 and the storage node 201 as appropriate.
  • the management node 200 is a server device 110 that manages the entire data center 100.
  • the storage device 122 of the management node 200 stores management information 210. Details of the management information 210 will be described with reference to FIG.
  • the memory 121 of the management node 200 stores a program such as an OS (Operating System) (not shown).
  • the storage node 201 is a server device 110 that stores various data.
  • the storage node 201 illustrated in FIG. 2 is a deployment storage node that stores the template volume 230.
  • the memory 121 of the storage node 201 stores a template volume 230 and a program such as an OS (not shown).
  • the template volume 230 is a boot image, and includes an OS 220, a setting module 221, an application 222, and the like that are installed in the server device 110 assigned to the user.
  • the computing node 202 is a server device 110 that is assigned to a user and executes a predetermined application. Programs such as the OS 220 are not stored in the memory 121 and the storage device 122 of the computing node 202 before deployment.
  • the memory 121 of the compute node 202 after deployment stores the OS 220, the setting module 221, and the application 222.
  • the OS 220 is a program that controls the entire computation node 202.
  • the application 222 is a program that provides a predetermined service.
  • the setting module 221 is a program that manages volumes used by the OS 220.
  • the management node 200 When the management node 200 receives a deployment request from the user, the management node 200 requests the storage node 201 to generate a deployment volume. The storage node 201 generates a snapshot of the template volume 230 as the deployment volume 231.
  • the management node 200 turns on the computing node 202 using the remote management function after the deployment volume 231 is generated.
  • the activated computing node 202 recognizes the deployment volume 231 as a local volume.
  • the computing node 202 starts the startup process using the deployment volume 231.
  • the computing node 202 accesses the deployment volume 231 and acquires the OS 220 kernel and setting module 221 as data necessary for the startup process. At this time, only data reading is performed, and data writing to the storage device 122 is not performed.
  • the computation node 202 loads the OS 220 kernel and setting module 221 read from the deployment volume 231 onto the memory 121.
  • the computing node 202 executes the setting module 221 when the OS 220 is activated.
  • the setting module 221 generates a differential volume 242 in the storage device 122.
  • the setting module 221 generates a virtual volume 225 to which the deployment volume 231 and the differential volume 242 are mapped.
  • the virtual volume 225 is a volume provided to the OS 220.
  • the setting module 221 notifies the management node 200 that the calculation node 202 can be used after the activation of the OS 220 is completed. That is, the setting module 221 notifies the management node 200 of the completion of temporary deployment.
  • the management node 200 transmits the notification to the user.
  • the OS 220 is activated and data can be written. Since the activation of the OS 220 is completed without writing data to the storage device 122, it is possible to quickly provide the calculation node 202 to the user.
  • the management node 200 After receiving the above notification, the management node 200 instructs writing of the deployment volume 231 to the storage device 122.
  • the setting module 221 creates a clone volume 243 in the storage device 122 and copies the data stored in the deployment volume 231 to the clone volume 243. Further, the setting module 221 switches the mapping destination of the virtual volume 225 from the deployment volume 231 to the clone volume 243. This process is performed in the background.
  • FIG. 3 is a diagram illustrating an example of the management information 210 according to the first embodiment.
  • the management information 210 includes a plurality of entries including a server name 301, a node type 302, a hardware configuration 303, and a performance 304.
  • the server name 301 is identification information for uniquely identifying the server device 110 included in the data center 100.
  • the node type 302 is identification information indicating the type of role assigned to the server apparatus 110, that is, the type of node.
  • the role types of the server apparatus 110 include “management node”, “storage node”, and “calculation node”. “Empty” is stored in the node type 302 of the server apparatus 110 to which no role is assigned.
  • identification information of a user who uses the server apparatus 110 is stored in the node type 302 of a node used by a specific user.
  • the user identification information is not stored in the node type 302 of a node that is assigned a role but not assigned to a specific user.
  • the hardware configuration 303 is information on hardware included in the server apparatus 110.
  • the hardware configuration 303 stores values indicating the frequency of the CPU 120, the capacity of the memory 121, the capacity of the storage device 122 such as an HDD, the communication speed of the network interface 123, and the like.
  • the performance 304 is the performance of each server device 110.
  • the performance of the present embodiment includes “High performance”, “Mid performance”, “High Memory performance”, and “High Storage performance”.
  • FIG. 4 is a sequence diagram illustrating the flow of deployment processing of the calculation node 202 according to the first embodiment.
  • FIG. 5 is a diagram illustrating an example of a setting screen according to the first embodiment.
  • the terminal 101 operated by the user transmits a deployment request to the management node 200 using the setting screen 500 as shown in FIG. 5 (step S100).
  • the deployment request includes the performance of the server device 110 and the number of computing nodes 202.
  • the setting screen 500 will be described.
  • the setting screen 500 is an interface provided by the management node 200 and is displayed on a display or the like that the terminal 101 has.
  • the setting screen 500 includes a performance selection field 501, a node number selection field 502, a node candidate display field 503, an OK button 504, a NEXT button 505, and a Cancel button 506.
  • the setting screen 500 may include fields and operation buttons other than those described above. Further, the setting screen 500 may not include a part of the above-described fields and operation buttons.
  • the performance selection field 501 is a field for selecting the performance of the server device 110 set as the calculation node 202.
  • the value set in the performance selection field 501 is displayed in a pro-down format. In this embodiment, the user can select any one of “High performance”, “Mid performance”, “High Storage performance”, and “High Memory performance”.
  • the node number selection field 502 is a field for inputting the number of calculation nodes 202 to be deployed.
  • the node candidate display field 503 is a field for displaying a list of server devices 110 that can be selected as the calculation node 202.
  • information in a table format is displayed.
  • the information includes a server name, a state, a hardware configuration, and the like.
  • the status indicates the status of the server device 110.
  • the OK button 504 is an operation button for validating the value set on the setting screen 500.
  • a deployment request including values set in the performance selection field 501 and the node number selection field 502 is transmitted to the management node 200.
  • the NEXT button 505 is an operation button for further detailed setting. For example, it is operated when specifying a specific performance of the CPU 120 or the like. When the NEXT button 505 is operated, a screen for setting details is displayed.
  • the Cancel button 506 is an operation button for invalidating the value set on the setting screen 500.
  • the management node 200 executes a calculation node selection process based on the information included in the deployment request and the management information 210 (step S101). Details of the calculation node selection processing will be described with reference to FIG.
  • the management node 200 transmits a deployment volume generation instruction to the storage node 201 (step S102).
  • the management node 200 refers to the template volume 230 held by each storage node 201 and selects the storage node 201 that holds the template volume 230 that stores data necessary for deployment.
  • the storage node 201 When the storage node 201 receives the deployment volume generation instruction, the storage node 201 generates the deployment volume 231 (step S103). After the generation of the deployment volume 231 is completed, the storage node 201 transmits a completion notification to the management node 200 (step S104).
  • the storage node 201 generates a snapshot of the template volume 230 as the deployment volume 231.
  • the access attribute of the deployment volume 231 is set to “Read only”.
  • the management node 200 When the management node 200 receives a completion notification from the storage node 201, the management node 200 turns on the selected computing node 202 (step S105).
  • the management node 200 turns on the computing node 202 selected using the remote management function.
  • the activated computing node 202 recognizes the deployment volume 231 as a local volume, and starts booting using the deployment volume 231 (step S106).
  • the calculation node 202 loads the OS 220 kernel and the setting module 221 read from the deployment volume 231 into the memory 121, and then executes the generation process of the virtual volume 225 (step S107). Details of the virtual volume 225 generation processing will be described with reference to FIG.
  • the calculation node 202 transmits a temporary deployment completion notification indicating that the calculation node 202 is in a processable state to the management node 200 (step S110). S108).
  • the setting module 221 operates in the background after the OS 220 is activated.
  • the management node 200 When the management node 200 receives the temporary deployment completion notification, the management node 200 transfers the completion notification to the terminal 101 and transmits a copy instruction to the selected computing node 202 (step S109).
  • step S110 When the calculation node 202 receives a copy instruction from the management node 200, the calculation node 202 executes a copy process (step S110). Details of the copy processing will be described with reference to FIG.
  • the calculation node 202 transmits a deployment completion notification to the management node 200 (step S111).
  • the management node 200 When the management node 200 receives the deployment completion notification, the management node 200 transfers the notification to the terminal 101.
  • the above is the description of the flow of the deployment process of the compute node 202.
  • FIG. 6 is a flowchart illustrating an example of a computation node selection process executed by the management node 200 according to the first embodiment.
  • the management node 200 refers to the management information 210 and determines whether there is a free server device 110 that matches the performance of the server device 110 included in the deployment request (step S200).
  • the management node 200 searches for an entry whose performance 304 matches the performance of the server apparatus 110 included in the deployment request and whose node type 302 is “Empty”.
  • the management node 200 determines whether there are as many entries as the number of requested nodes satisfying the above-described conditions. When it is determined that there are not as many entries as the number of requested nodes that satisfy the above-described condition, the management node 200 determines that there are no free server devices 110 that match the performance of the server device 110 included in the deployment request. .
  • the management node 200 selects the server device 110 to be set in the computing node 202 from the searched server devices 110. (Step S201). Thereafter, the management node 200 ends the calculation node selection process.
  • the management node 200 determines whether there is a free server device 110 that satisfies the request (step S202). ).
  • the management node 200 determines whether or not there is a free server device 110 having the above performance of the server device 110 included in the deployment request. For example, when the performance of the server device 110 included in the deployment request is “Mid performance”, the management node 200 searches for a free server device 110 whose performance 304 is “High performance”.
  • the range of the server device 110 to be searched can be expanded by the processing of step S200 and step S202. Note that the process of step S202 may be omitted.
  • the management node 200 proceeds to step S201.
  • the management node 200 When it is determined that there is no free server device 110 that satisfies the request, the management node 200 notifies the terminal 101 of an error (step S203). Thereafter, the management node 200 ends the calculation node selection process.
  • FIG. 7 is a flowchart illustrating an example of a virtual volume 225 generation process executed by the setting module 221 according to the first embodiment.
  • the setting module 221 generates a differential volume 242 using the storage area of the storage device 122 (step S300). At this time, the setting module 221 sets the access attribute of the differential volume 242 to “Read / Write”. Note that a method of determining the size of the differential volume 242 based on a specific value or the utilization rate of the storage area of the storage device 122 can be considered.
  • the setting module 221 generates a virtual volume 225 that is a volume provided to the OS 220 (step S301).
  • the setting module 221 generates a virtual volume 225 as a logical volume to which the deployment volume 231 and the differential volume 242 are mapped.
  • the access attribute of the virtual volume 225 is set to “Read / Write”. Note that data written to the virtual volume 225 is written to the differential volume 242.
  • the virtual volume 225 is a logical volume and does not exist as an entity, but the virtual volume 225 is shown in the memory 121 for explanation.
  • the setting module 221 assigns the virtual volume 225 to the OS 220 as a volume used by the OS 220 (step S302).
  • the setting module 221 sets the virtual volume 225 as a volume recognized by the OS 220.
  • the OS 220 starts processing using the virtual volume 225.
  • the setting module 221 transmits a temporary deployment completion notification to the management node 200 (step S303). Thereafter, the setting module 221 ends the virtual volume 225 generation processing.
  • FIG. 8 is a flowchart illustrating an example of a copy process executed by the setting module 221 according to the first embodiment.
  • the setting module 221 creates a clone volume 243 by copying the data stored in the deployment volume 231 to the storage device 122 (step S400).
  • the setting module 221 reads data stored in the deployment volume 231 from the storage node 201 and writes it in the storage device 122. At this time, the setting module 221 sets the access attribute of the clone volume 243 to “Read Only”. Note that the size of the clone volume 243 is the same as the size of the deployment volume 231.
  • the setting module 221 changes the mapping destination of the virtual volume 225 from the deployment volume 231 to the clone volume 243 (step S401). That is, the differential volume 242 and the clone volume 243 are mapped to the virtual volume 225.
  • the setting module 221 transmits a deployment completion notification to the management node 200 (step S402). Thereafter, the setting module 221 ends the copy process.
  • the above processing results in a state as shown in FIG.
  • the setting module 221 is included in the template volume 230, but the present invention is not limited to this.
  • BIOS Basic Input Output System
  • UEFI Unified Extensible Firmware Interface
  • the snapshot of the template volume 230 is used as the deployment volume 231.
  • the present invention is not limited to this.
  • the template volume 230 itself may be used as the deployment volume 231.
  • the calculation node 202 can be quickly provided to the user. Further, since the computing node 202 only needs to acquire from the storage node 201 data necessary for starting up the OS 220 when the OS 220 is started up, it is possible to realize a deployment process with a low network load. Further, in the first embodiment, since it is not necessary to use a storage system, the equipment cost of the data center 100 can be reduced.
  • the backup processing of the computing node 202 includes a regular backup process and a synchronous backup process.
  • FIG. 9A is a diagram illustrating a configuration example of a node in which a regular backup process in the data center 100 according to the second embodiment is executed.
  • FIG. 9B is a diagram illustrating a configuration example of a node on which synchronous backup processing in the data center 100 according to the second embodiment is executed.
  • the management node 200 holds the backup information 900.
  • the differential volume 901 held by the storage node 201 is backup data of the differential volume 242 held by the calculation node 202.
  • the backup data of the differential volume 242 held by the calculation node 202 is also referred to as backup data of the calculation node 202.
  • the backup information 900 is information for managing the correspondence relationship between the calculation node 202 and the storage node 201 that holds the backup data.
  • the backup information 900 will be described with reference to FIG.
  • FIG. 10 is a diagram illustrating an example of the backup information 900 according to the first embodiment.
  • the backup information 900 includes a plurality of entries including a user name 1001, a calculation node 1002, and a storage node 1003.
  • User name 1001 is user identification information.
  • the calculation node 1002 is identification information of the calculation node 202 that holds the differential volume 242 to be backed up.
  • the storage node 1003 is identification information of the storage node 201 that holds the differential volume 901. It is assumed that the computing node 1002 and the storage node 1003 store identification information of the server device 110.
  • the management node 200 of this embodiment holds the management information 210 and the backup information 900 separately, but may hold them as one piece of information.
  • a method of providing a column for storing the identification information of the backup source computing node 202 in the management information 210 is conceivable.
  • the storage node 201 holds backup data of the calculation node 202 corresponding to the identification information.
  • FIG. 11 is a sequence diagram for explaining the flow of the regular backup processing according to the second embodiment.
  • the terminal 101 operated by the user transmits a backup request to the management node 200 (step S500).
  • the backup request includes user identification information, a backup cycle, and the like.
  • the management node 200 executes storage node selection processing (step S501).
  • the storage node selection process the calculation node 202 to be backed up is specified, and the storage node 201 that stores the backup data is selected. Details of the storage node selection process will be described with reference to FIG.
  • the management node 200 transmits a copy instruction to the computation node 202 to be backed up (step S502).
  • the copy instruction includes information for accessing the storage node 201.
  • the copy instruction includes the IP address of the storage node 201 and the like.
  • the setting module 221 of the calculation node 202 When receiving the copy instruction, the setting module 221 of the calculation node 202 writes the data stored in the differential volume 242 to the storage node 201 (step S503).
  • the setting module 221 transmits a write request including the data of the differential volume 242 to the storage node 201 based on the IP address of the storage node 201 included in the copy instruction.
  • the storage node 201 transmits a write completion notification to the calculation node 202 (step S504).
  • the setting module 221 of the calculation node 202 transmits a copy completion notification to the management node 200 (step S505).
  • the management node 200 transfers a copy completion notification to the terminal 101.
  • step S502 to step S505 is repeatedly executed according to the cycle designated by the user.
  • the backup storage node 201 stores a plurality of generations of differential volumes 901 as backup data.
  • FIG. 12 is a flowchart illustrating an example of a storage node selection process executed by the management node 200 according to the second embodiment.
  • the management node 200 refers to the management information 210 and identifies the calculation node 202 to be backed up (step S600).
  • the management node 200 searches for an entry in which “calculation node” and user identification information included in the backup request are set in the node type 302.
  • the management node 200 refers to the server name 301 and identifies the calculation node 202 to be backed up.
  • the management node 200 selects the backup storage node 201 with reference to the management information 210 and the backup information 900 (step S601). Specifically, the following processing is executed.
  • the management node 200 refers to the backup information 900 and determines whether or not the backup storage node 201 is selected. Specifically, it is determined whether or not there is an entry in which the user name 1001 matches the user identification information included in the backup request and the calculation node 1002 matches the identification information of the specified calculation node 202. .
  • the management node 200 selects the storage node 201 corresponding to the storage node 1003 of the entry as the backup storage node 201.
  • the management node 200 refers to the management information 210 and searches for an entry in which “storage node” is set as the node type 302.
  • the management node 200 selects at least one storage node 201 from the searched storage nodes 201.
  • the management node 200 selects the storage node 201 based on the free capacity of the storage device 122 of each searched storage node 201. Note that the present invention is not limited to the selection method of the storage node 201.
  • the management node 200 acquires information for accessing the selected storage node 201. For example, a method of including a column for registering an IP address or the like in the management information 210 or the backup information 900 is conceivable.
  • the management node 200 adds an entry to the backup information 900, sets the user identification information in the user name 1001 of the added entry, and sets the identification information of the calculation node 202 specified in the calculation node 1002. Further, the management node 200 sets the identification information of the selected storage node 201 in the storage node 1003 of the added entry.
  • one or more backup storage nodes 201 may be assigned to one computing node 202, or one or more backup storage nodes 201 may be assigned to one user.
  • the above is the description of the process in step S601.
  • the management node 200 transmits a copy instruction to the computation node 202 to be backed up (step S602).
  • the copy instruction includes an IP address or the like for transmitting data to the selected storage node 201.
  • the management node 200 ends the storage node selection process.
  • FIG. 13 is a sequence diagram illustrating the flow of the synchronous backup process according to the second embodiment.
  • the terminal 101 operated by the user transmits a backup request to the management node 200 (step S700).
  • the backup request includes user identification information and the like.
  • step S701 When the management node 200 receives the backup request, the management node 200 executes a storage node selection process (step S701).
  • the process in step S701 is the same as the process in step S601.
  • the management node 200 transmits a synchronization instruction to the backup calculation node 202 (step S702).
  • the setting module 221 of the calculation node 202 When receiving the synchronization instruction, the setting module 221 of the calculation node 202 writes the data stored in the differential volume 242 to the storage node 201 (step S703).
  • the storage node 201 transmits a write completion notification to the calculation node 202 (step S704).
  • the setting module 221 of the calculation node 202 transmits a synchronization start notification to the management node 200 (step S705).
  • the management node 200 transfers the synchronization start notification to the terminal 101.
  • the setting module 221 of the calculation node 202 writes the updated data to the storage node 201 (step S706).
  • the storage node 201 writes the updated data to the backup data, and then transmits a synchronization completion notification to the calculation node 202 (step S707).
  • step S706 and step S707 are repeatedly executed.
  • a differential volume 901 including the same data as the differential volume 242 in the storage device 122 is stored as backup data.
  • the terminal 101 operated by the user transmits a backup stop request to the management node 200 (step S708).
  • the backup stop request includes user identification information.
  • the management node 200 identifies the target computation node 202 and the backup storage node 201, and transmits a stop instruction to the identified computation node 202 (step S709).
  • the management node 200 specifies the target calculation node 202 by using the same method as that in step S601. Further, the management node 200 refers to the backup information 900 and identifies the storage node 201 that holds the backup data of the identified calculation node 202. The management node 200 transmits a stop instruction including an IP address or the like for accessing the specified storage node 201 to the specified calculation node 202.
  • the calculation node 202 When the calculation node 202 receives the stop instruction, the calculation node 202 transmits a deletion request to the storage node 201 (step S710).
  • the deletion request includes, for example, identification information of the calculation node 202.
  • the storage node 201 When the storage node 201 receives the deletion request, the storage node 201 deletes the differential volume 901 that is backup data of the calculation node 202, and transmits a deletion completion notification to the calculation node 202 (step S711). For example, the storage node 201 specifies the differential volume 901 to be deleted based on the identification information of the calculation node 202 included in the deletion request, and deletes the specified differential volume 901.
  • the calculation node 202 When the calculation node 202 receives the deletion completion notification, the calculation node 202 transmits a stop completion notification to the management node 200 (step S712). The management node 200 transfers a stop completion notification to the terminal 101.
  • FIG. 14 is a sequence diagram illustrating the flow of recovery processing according to the second embodiment.
  • FIG. 15 is a diagram illustrating a system state in which the recovery process according to the second embodiment is executed.
  • the terminal 101 operated by the user transmits a recovery request (step S800).
  • the restoration request includes identification information of the computing node 202 to be restored.
  • the recovery process is triggered by a recovery request from the terminal 101.
  • the trigger for starting the recovery process is not limited to that described above.
  • the management node 200 monitors the state of the calculation node 202 and detects a failure of the calculation node 202, the recovery process may be automatically started.
  • the user may specify backup data attributes and the like according to the purpose of recovery. For example, when the state is restored to a specific time point, the user designates the time of copying in the regular backup process. When restoring to the latest state, the user designates the backup data copied in the synchronous backup process.
  • the management node 200 executes a node selection process for selecting a new calculation node 202 (step S801).
  • the node selection process in the second embodiment is different from the node selection process in the first embodiment in part.
  • the management node 200 refers to the management information 210 and specifies the performance of the computation node 202 to be restored. Further, the management node 200 searches for an entry whose performance 304 matches the performance of the computation node 202 to be restored and whose node type 302 is “Empty”. Other processes are the same as those in the first embodiment.
  • the management node 200 transmits a deployment volume generation instruction to the storage node 201 (step S802). Specifically, the following processing is executed.
  • the management node 200 transmits a deployment volume generation instruction to the storage node 201.
  • the storage node 201 used for the deployment process of the computation node 202 to be recovered cannot be specified, the same process as that in step S102 is executed.
  • the deployment volume generation instruction includes a flag indicating that the calculation node 202 is activated due to the recovery.
  • the storage node 201 When the storage node 201 receives the deployment volume generation instruction, the storage node 201 generates the deployment volume 231 (step S803). Specifically, the following processing is executed.
  • the storage node 201 generates a snapshot of the template volume 230 as the deployment volume 231. At this time, the access attribute of the deployment volume 231 is set to “Read only”.
  • the storage node 201 writes information for acquiring backup data in the setting module 221 included in the deployment volume 231. For example, the storage node 201 sets a read command including the IP address of the storage node 201 that stores the backup data, the identification information of the calculation node 202 to be restored, and the like in the setting module 221.
  • step S804 After the generation of the deployment volume 231 is completed, the storage node 201 transmits a completion notification to the management node 200 (step S804).
  • the process in step S804 is the same as the process in step S104.
  • the management node 200 When the management node 200 receives the completion notification from the storage node 201, the management node 200 turns on the selected computing node 202 (step S805).
  • the activated computing node 202 recognizes the deployment volume 231 as a local volume, and starts booting using the deployment volume 231 (step S806).
  • the computing node 202 loads the OS 220 kernel and the setting module 221 read from the deployment volume 231 into the memory 121, and then executes the generation process of the virtual volume 225 (step S807).
  • the computation node 202 creates a virtual volume 225 in cooperation with the backup storage node 201. Details of the virtual volume 225 generation processing of the second embodiment will be described with reference to FIG.
  • the computing node 202 transmits a temporary deployment completion notification to the management node 200 after the virtual volume 225 is generated and the startup processing of the OS 220 is completed (step S808).
  • the process in step S808 is the same as the process in step S108.
  • step S809 When the management node 200 receives the temporary deployment completion notification, the management node 200 transfers the completion notification to the terminal 101 and transmits a copy instruction to the selected computing node 202 (step S809).
  • the process in step S809 is the same as the process in step S109.
  • step S810 When the calculation node 202 receives a copy instruction from the management node 200, the calculation node 202 executes a copy process (step S810).
  • the process of step S810 is the same as the process of step S110.
  • step S811 is the same as the process in step S111.
  • the migration destination computation node 202-2 reads the data stored in the differential volume 901 from the storage node 201 that stores the differential volume 901 of the migration source computation node 202-1, and stores it. Store in device 122.
  • FIG. 16 is a flowchart illustrating an example of a virtual volume 225 generation process executed by the setting module 221 according to the second embodiment.
  • the setting module 221 copies the differential volume 901 of the storage node 201 to the storage area of the storage device 122 (step S900).
  • step S901 to step S903 Since the processing from step S901 to step S903 is the same as the processing from step S301 to step S303, the description thereof is omitted.
  • the differential volume 242 since only the differential volume 242 is backed up, it is possible to realize a backup in units of bare metal servers with a reduced storage area usage amount of the storage node 201.
  • the calculation node 202 when the calculation node 202 is recovered using the differential volume 242 and the clone volume 243 (template volume 230), the calculation node 202 performs processing if the copy of the differential volume 901 to the migration source calculation node 202-2 is completed. Therefore, the computing node 202 can be recovered at high speed.
  • this invention is not limited to the above-mentioned Example, Various modifications are included. Further, for example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those provided with all the described configurations. In addition, a part of the configuration of the embodiment can be added to, deleted from, or replaced with another configuration.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • the present invention can also be realized by software program codes that implement the functions of the embodiments.
  • a storage medium in which the program code is recorded is provided to the computer, and a CPU included in the computer reads the program code stored in the storage medium.
  • the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention.
  • Examples of storage media for supplying such program codes include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, A non-volatile memory card, ROM, or the like is used.
  • program code for realizing the functions described in this embodiment can be implemented by a wide range of programs or script languages such as assembler, C / C ++, Perl, Shell, PHP, Java, and the like.
  • the program code is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or CD-R.
  • the CPU included in the computer may read and execute the program code stored in the storage unit or the storage medium.
  • control lines and information lines indicate those that are considered necessary for the explanation, and do not necessarily indicate all the control lines and information lines on the product. All the components may be connected to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

複数の計算機を備える計算機システムであって、複数の計算機は、計算機を管理する管理ノード、アプリケーションを実行する計算ノード、及びデプロイ用ボリュームを保持するストレージノードを含み、計算ノードは、OSが使用するボリュームを管理する設定モジュールを有し、ストレージノードは、デプロイ用ボリュームからのデータの読み出しのみを許可するように設定し、設定モジュールは、計算ノードの電源が投入された場合、データの書き込み及びデータの読み出しが可能な差分ボリュームを生成し、デプロイ用ボリューム及び差分ボリュームがマッピングされた仮想ボリュームを生成し、仮想ボリュームをOSが認識するボリュームとして設定し、OSは、仮想ボリュームを用いて処理を開始する。

Description

計算機システム及び計算機の提供方法
 本発明は、クラウドコンピューティングにおけるデプロイ処理に関する。
 近年、クラウドコンピューティングの利用が普及している。クラウドコンピューティングの一つに、IaaS(Infrastructure as a Service)がある。
 一般的なIaaSを提供するシステムでは、仮想化技術が用いられる。仮想化技術を用いることによって、柔軟なシステムの運用が可能となる。一方、仮想化技術を用いた場合、仮想化のオーバーベッドにより、計算機のパフォーマンスが低下するという課題がある。
 高いパフォーマンスを有するIaaSを提供する方法として、ベアメタルサーバ(物理サーバ)を用いたIaaSが知られている。当該IaaSでは、ベアメタルサーバが仮想計算機のようにユーザに提供され、また、管理される。
 IaaSを利用するユーザに計算機リソースを提供する場合、アプリケーションを稼働させるためには、ベアメタルサーバに対してデプロイ処理を実行する必要がある。IaaSにおけるデプロイ処理として特許文献1に記載されているような方法が知られている。
 特許文献1には、「デプロイ対象計算機のディスクマッピング処理部は、前記デプロイ対象計算機からストレージ装置に対するI/O要求があった場合、そのI/O要求がブートディスクイメージの読み出しであるときはアクセス先をストレージ装置の複製元論理ディスクとし、そのI/O要求がブートディスクイメージに関する書き込みであるときはアクセス先を、ブートディスクイメージに関する書き込みを行うための複製先論理ディスクとするように、アクセス先を切り替える」ことが記載されている。
特開2008-287631号公報
 ベアメタルサーバを用いたIaaSでは物理的な計算機そのものを提供するため、当該IaaSのデプロイ処理は、仮想化技術を用いたIaaSと比較して容易に行うことができない。
 計算機のリモート管理機能の進展によって、ベアメタルサーバの電源操作等は容易になっているが、OS(Operating System)等のソフトウェアの設定は、容易に行えない。
 例えば、ネットワークブート又はディスク複製機能を用いたデプロイ処理の場合、ベアメタルサーバが保持するHDD等の記憶装置に大量のデータを書き込む必要がある。したがって、ベアメタルサーバの使用が開始されるまでの時間を短縮することができない。
 また、特許文献1に記載されているようにストレージシステムを用いる方法の場合、ベアメタルサーバが使用するボリュームを迅速に提供できるが、ストレージシステムを導入するための設備コストが高い。
 本発明は、設備コストを抑えつつ、ユーザへのベアメタルサーバの迅速な提供を実現するシステム及び方法を提供することを目的とする。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機を備える計算機システムであって、前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される主記憶装置、前記プロセッサに接続される副記憶装置、及び前記プロセッサに接続され、他の計算機と接続するためのインタフェースを有し、前記複数の計算機は、前記複数の計算機を管理する管理ノード、所定のアプリケーションを実行する計算ノード、及び前記計算ノードのブートイメージであるデプロイ用ボリュームを保持するデプロイ用ストレージノードを含み、前記計算ノードは、オペレーティングシステムが使用するボリュームを管理する設定モジュールを有し、前記デプロイ用ストレージノードは、前記デプロイ用ボリュームからのデータの読み出しのみを許可するように設定し、前記設定モジュールは、前記計算ノードの電源が投入された場合、データの書き込み及びデータの読み出しが可能な差分ボリュームを前記副記憶装置に生成し、前記デプロイ用ボリューム及び前記差分ボリュームがマッピングされた仮想ボリュームを生成し、前記仮想ボリュームを前記オペレーティングシステムが認識するボリュームとして設定し、前記オペレーティングシステムは、前記仮想ボリュームに対する設定が実行された後、前記仮想ボリュームを用いて処理を開始することを特徴とする。
 本発明によれば、一般的な計算機(ベアメタルサーバ)を用いたクラウドコンピューティングにおいて、ユーザに対して計算機を迅速に提供できる。また、一般的な計算機のみを用いたシステムであるため設備コストを抑えることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
実施例1の計算機システムの構成例を示す図である。 実施例1のデータセンタ内のノードの構成例を示す図である。 実施例1の管理情報の一例を示す図である。 実施例1の計算ノードのデプロイ処理の流れを説明するシーケンス図である。 実施例1の設定画面の一例を示す図である。 実施例1の管理ノードが実行する計算ノード選択処理の一例を説明するフローチャートである。 実施例1の設定モジュールが実行する仮想ボリュームの生成処理の一例を説明するフローチャートである。 実施例1の設定モジュールが実行するコピー処理の一例を説明するフローチャートである。 実施例2のデータセンタ内の定期型のバックアップ処理が実行されるノードの構成例を示す図である。 実施例2のデータセンタ内の同期型のバックアップ処理が実行されるノードの構成例を示す図である。 実施例1のバックアップ情報の一例を示す図である。 実施例2の定期型のバックアップ処理の流れを説明するシーケンス図である。 実施例2の管理ノードが実行するストレージノード選択処理の一例を説明するフローチャートである。 実施例2の同期型のバックアップ処理の流れを説明するシーケンス図である。 実施例2の復旧処理の流れを説明するシーケンス図である。 実施例2の復旧処理が実行されたシステム状態を示す図である。 実施例2の設定モジュールが実行する仮想ボリュームの生成処理の一例を説明するフローチャートである。
 図1は、実施例1の計算機システムの構成例を示す図である。
 図1に示す計算機システムは、データセンタ100及び複数の端末101から構成される。複数の端末101の各々は、ネットワーク102を介してデータセンタ100に接続する。ネットワーク102の種別は、例えば、WAN及びLAN等が考えられる。また、ネットワーク102の接続方式は、有線及び無線の何れでもよい。
 データセンタ100は、ベアメタルサーバを用いたクラウドを提供するシステムである。データセンタ100は、複数のサーバ装置110及びゲートウェイ130を含む。複数のサーバ装置110及びゲートウェイ130は、内部ネットワーク140を介して互いに接続される。なお、内部ネットワーク140の種別は、例えば、LAN等が考えられる。また、内部ネットワーク140の接続方式は、有線及び無線の何れでもよい。
 本実施例のクラウドは、ユーザに対して物理サーバを割り当てて、仮想化技術を用いたシステムと同等のサービスを提供する。
 サーバ装置110は、ベアメタルサーバであり、CPU120、メモリ121、記憶装置122、及びネットワークインタフェース123を有する。各ハードウェア構成は、内部バス等を介して互いに接続される。なお、サーバ装置110は、ディスプレイ、キーボード、タッチパネル、及びマウス等の入出力装置を有してもよい。
 CPU120は、プログラムを実行する演算装置である。CPU120がメモリ121に格納されるプログラムを実行することによって、各種機能が実現される。以下の説明では、プログラムを主体に処理を説明する場合、CPU120が当該プログラムを実行していることを示す。
 メモリ121は、主記憶装置であり、CPU120が実行するプログラム及びプログラムに必要な情報を格納する。また、メモリ121は、プログラムが一時的に使用するワークエリアを含む。
 記憶装置122は、データを永続的に記憶する記憶装置(副記憶装置)である。記憶装置122は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。
 ネットワークインタフェース123は、ネットワークを介して他の装置と接続するためのインタフェースである。
 ゲートウェイ130は、データセンタ100内の複数のサーバ装置110と複数の端末101との間のデータの送受信を管理するネットワーク装置である。
 端末101は、クラウドを利用するユーザが操作する計算機である。端末101は、図示しないCPU、メモリ、記憶装置、及びネットワークインタフェースを有する。
 図2は、実施例1のデータセンタ100内のノードの構成例を示す図である。
 サーバ装置110は性能毎に区分して管理される。すなわち、同一の性能の区分に属するサーバ装置110群がリソースプールとして管理される。データセンタ100の運用者は、予め、サーバ装置110の性能を設定する。本実施例では、「High performance」、「Mid performance」、「High Memory performance」、及び「High Storage performance」の四つの性能を設定できるものとする。
 また、サーバ装置110には役割が設定される。以下の説明では、役割が設定されたサーバ装置110をノードと記載し、役割が設定されていないサーバ装置110を空きサーバ装置110と記載する。
 本実施例では、管理ノード200、ストレージノード201、及び計算ノード202の三種類のノードが存在する。管理ノード200及びストレージノード201は、予め、データセンタ100の運用者によって設定されているものとする。なお、運用者は、適宜、管理ノード200及びストレージノード201を設定及び更新することができる。
 管理ノード200は、データセンタ100全体を管理するサーバ装置110である。管理ノード200の記憶装置122は、管理情報210を格納する。管理情報210の詳細は、図3を用いて説明する。なお、管理ノード200のメモリ121には、図示しないOS(Operating System)等のプログラムが格納される。
 ストレージノード201は、各種データを格納するサーバ装置110である。図2に示すストレージノード201は、テンプレートボリューム230を格納するデプロイ用ストレージノードである。ストレージノード201のメモリ121は、テンプレートボリューム230及び図示しないOS等のプログラムを格納する。
 テンプレートボリューム230は、ブートイメージであり、ユーザに割り当てるサーバ装置110にインストールするOS220、設定モジュール221、及びアプリケーション222等を含む。
 計算ノード202は、ユーザに割り当てられ、また、所定のアプリケーションを実行するサーバ装置110である。デプロイ前の計算ノード202のメモリ121及び記憶装置122には、OS220等のプログラムは格納されていない。デプロイ後の計算ノード202のメモリ121は、OS220、設定モジュール221、及びアプリケーション222を格納する。
 OS220は、計算ノード202全体を制御するプログラムである。アプリケーション222は、所定のサービスを提供するプログラムである。設定モジュール221は、OS220が使用するボリュームを管理するプログラムである。
 ここで、図2を用いて実施例1のデプロイ処理の概要を説明する。
 管理ノード200は、ユーザからデプロイ要求を受け付けた場合、ストレージノード201にデプロイ用ボリュームの生成を依頼する。ストレージノード201は、テンプレートボリューム230のスナップショットをデプロイ用ボリューム231として生成する。
 管理ノード200は、デプロイ用ボリューム231が生成された後、リモート管理機能を用いて、計算ノード202に電源を投入する。起動した計算ノード202は、デプロイ用ボリューム231をローカルなボリュームとして認識する。計算ノード202は、デプロイ用ボリューム231を用いて起動処理を開始する。
 計算ノード202は、デプロイ用ボリューム231にアクセスし、起動処理に必要なデータとして、OS220のカーネル及び設定モジュール221を取得する。この時点では、データの読み出しのみが行われ、記憶装置122へのデータの書き込みは行われない。
 まず、計算ノード202は、デプロイ用ボリューム231から読み出されたOS220のカーネル及び設定モジュール221をメモリ121上にロードする。計算ノード202は、OS220の起動処理時に、設定モジュール221を実行する。
 設定モジュール221は、記憶装置122に差分ボリューム242を生成する。また、設定モジュール221は、デプロイ用ボリューム231及び差分ボリューム242がマッピングされた仮想ボリューム225を生成する。仮想ボリューム225は、OS220に提供されるボリュームである。
 デプロイ用ボリューム231のアクセス属性は、「Read only」に設定されるため、差分ボリューム242に対してデータの書き込みが行われる。
 設定モジュール221は、OS220の起動が完了した後、管理ノード200に計算ノード202の使用が可能となった旨を通知する。すなわち、設定モジュール221は、管理ノード200に一時的なデプロイの完了を通知する。管理ノード200は、ユーザに対して当該通知を送信する。
 この時点で、OS220が起動し、また、データの書き込みが可能となっている。記憶装置122へのデータの書き込みを行うことなく、OS220の起動が完了しているため、ユーザへの迅速な計算ノード202の提供が可能となる。
 管理ノード200は、前述の通知を受信した後、記憶装置122へのデプロイ用ボリューム231の書き込みを指示する。
 設定モジュール221は、記憶装置122にクローンボリューム243を生成し、デプロイ用ボリューム231に格納されるデータをクローンボリューム243にコピーする。さらに、設定モジュール221は、デプロイ用ボリューム231からクローンボリューム243に、仮想ボリューム225のマッピング先を切り替える。当該処理は、バックグラウンドで行われる。
 以上の処理によって、計算ノード202のデプロイ処理が完了する。
 図3は、実施例1の管理情報210の一例を示す図である。
 管理情報210は、サーバ名301、ノード種別302、ハードウェア構成303、及び性能304から構成されるエントリを複数含む。
 サーバ名301は、データセンタ100に含まれるサーバ装置110を一意に識別するための識別情報である。
 ノード種別302は、サーバ装置110に割り当てられた役割の種別、すなわち、ノードの種別を示す識別情報である。サーバ装置110の役割の種別は、「管理ノード」、「ストレージノード」、及び「計算ノード」を含む。役割が割り当てられていないサーバ装置110のノード種別302には「Empty」が格納される。
 なお、特定のユーザが使用するノードのノード種別302には、サーバ装置110を使用するユーザの識別情報が格納される。一方、役割は割り当てられているが、特定のユーザに割り当てられていないノードのノード種別302には、ユーザの識別情報は格納されない。
 ハードウェア構成303は、サーバ装置110が有するハードウェアの情報である。ハードウェア構成303には、CPU120の周波数、メモリ121の容量、HDD等の記憶装置122の容量、及びネットワークインタフェース123の通信速度等を示す値が格納される。
 性能304は、各サーバ装置110の性能である。本実施例の性能は、「High performance」、「Mid performance」、「High Memory performance」、及び「High Storage performance」を含む。
 図4は、実施例1の計算ノード202のデプロイ処理の流れを説明するシーケンス図である。図5は、実施例1の設定画面の一例を示す図である。
 ユーザによって操作される端末101は、図5に示すような設定画面500を用いて、管理ノード200にデプロイ要求を送信する(ステップS100)。デプロイ要求には、サーバ装置110の性能及び計算ノード202の数が含まれる。ここで、設定画面500について説明する。
 設定画面500は、管理ノード200によって提供されるインタフェースであり、端末101が有するディスプレイ等に表示される。設定画面500は、性能選択フィールド501、ノード数選択フィールド502、ノード候補表示フィールド503、OKボタン504、NEXTボタン505、及びCancelボタン506を含む。
 なお、設定画面500は、前述した以外のフィールド及び操作ボタンを含んでもよい。また、設定画面500は、前述したフィールド及び操作ボタンの一部を含んでいなくてもよい。
 性能選択フィールド501は、計算ノード202として設定するサーバ装置110の性能を選択するフィールドである。性能選択フィールド501に設定する値はプロダウン形式で表示される。本実施例では、ユーザは、「High performance」、「Mid performance」、「High Storage performance」、及び「High Memory performance」の何れかを選択できる。
 ノード数選択フィールド502は、デプロイする計算ノード202の数を入力するフィールドである。
 ノード候補表示フィールド503は、計算ノード202として選択可能なサーバ装置110の一覧を表示するフィールドである。ノード候補表示フィールド503には、例えば、テーブル形式の情報が表示される。当該情報には、サーバ名、状態、及びハードウェア構成等が含まれる。状態は、サーバ装置110の状態を示す。
 OKボタン504は、設定画面500に設定した値を有効化するための操作ボタンである。OKボタン504が操作された場合、性能選択フィールド501及びノード数選択フィールド502に設定された値を含むデプロイ要求が管理ノード200に送信される。
 NEXTボタン505は、さらに、詳細な設定を行うための操作ボタンである。例えば、具体的なCPU120の性能等を指定する場合に操作される。NEXTボタン505を操作した場合、詳細を設定するための画面が表示される。
 設定画面500に表示されるOKボタン504又はNEXTボタン505が操作された場合、デプロイ要求が管理ノード200に送信される。
 Cancelボタン506は、設定画面500に設定した値を無効化するための操作ボタンである。
 図4の説明に戻る。
 管理ノード200は、デプロイ要求を受信した場合、デプロイ要求に含まれる情報及び管理情報210に基づいて、計算ノード選択処理を実行する(ステップS101)。計算ノード選択処理の詳細は、図6を用いて説明する。
 管理ノード200は、ストレージノード201にデプロイ用ボリューム生成指示を送信する(ステップS102)。
 ストレージノード201が複数存在する場合、管理ノード200は、各ストレージノード201が保持するテンプレートボリューム230を参照し、デプロイに必要なデータを格納するテンプレートボリューム230を保持するストレージノード201を選択する。
 ストレージノード201は、デプロイ用ボリューム生成指示を受信した場合、デプロイ用ボリューム231を生成する(ステップS103)。ストレージノード201は、デプロイ用ボリューム231の生成が完了した後、管理ノード200に完了通知を送信する(ステップS104)。
 具体的には、ストレージノード201は、テンプレートボリューム230のスナップショットをデプロイ用ボリューム231として生成する。このとき、デプロイ用ボリューム231のアクセス属性は「Read only」に設定される。
 管理ノード200は、ストレージノード201から完了通知を受信した場合、選択された計算ノード202に電源を投入する(ステップS105)。
 例えば、管理ノード200は、リモート管理機能を用いて選択された計算ノード202に電源を投入する。
 起動した計算ノード202は、デプロイ用ボリューム231をローカルボリュームとして認識し、デプロイ用ボリューム231を用いてブートを開始する(ステップS106)。
 計算ノード202は、デプロイ用ボリューム231から読み出されたOS220のカーネル及び設定モジュール221をメモリ121にロードした後、仮想ボリューム225の生成処理を実行する(ステップS107)。仮想ボリューム225の生成処理の詳細は、図7を用いて説明する。
 計算ノード202は、仮想ボリューム225が生成され、かつ、OS220の起動処理が完了した後、計算ノード202が処理可能な状態であることを示す一時デプロイの完了通知を管理ノード200に送信する(ステップS108)。なお、設定モジュール221は、OS220が起動した後、バックグラウンドで動作する。
 管理ノード200は、一時デプロイの完了通知を受信した場合、当該完了通知を端末101に転送し、また、選択された計算ノード202にコピー指示を送信する(ステップS109)。
 計算ノード202は、管理ノード200からコピー指示を受信した場合、コピー処理を実行する(ステップS110)。コピー処理の詳細は、図8を用いて説明する。
 計算ノード202は、コピー処理が終了した場合、デプロイ完了通知を管理ノード200に送信する(ステップS111)。
 管理ノード200は、デプロイ完了通知を受信した場合、当該通知を端末101に転送する。以上が、計算ノード202のデプロイ処理の流れの説明である。
 図6は、実施例1の管理ノード200が実行する計算ノード選択処理の一例を説明するフローチャートである。
 管理ノード200は、管理情報210を参照して、デプロイ要求に含まれるサーバ装置110の性能に一致する空きサーバ装置110が存在するか否かを判定する(ステップS200)。
 具体的には、管理ノード200は、性能304がデプロイ要求に含まれるサーバ装置110の性能に一致し、かつ、ノード種別302が「Empty」であるエントリを検索する。
 なお、デプロイする計算ノード202の数が2以上である場合、管理ノード200は、前述した条件を満たすエントリが要求されたノードの数だけ存在するか否かを判定する。前述した条件を満たすエントリが要求されたノードの数だけ存在しないと判定された場合、管理ノード200は、デプロイ要求に含まれるサーバ装置110の性能に一致する空きサーバ装置110が存在しないと判定する。
 デプロイ要求に含まれるサーバ装置110の性能に一致する空きサーバ装置110が存在すると判定された場合、管理ノード200は、検索されたサーバ装置110の中から計算ノード202に設定するサーバ装置110を選択する(ステップS201)。その後、管理ノード200は、計算ノード選択処理を終了する。
 デプロイ要求に含まれるサーバ装置110の性能に一致する空きサーバ装置110が存在しないと判定された場合、管理ノード200は、要求を満たす空きサーバ装置110が存在するか否かを判定する(ステップS202)。
 具体的には、管理ノード200は、デプロイ要求に含まれるサーバ装置110の以上の性能を有する空きサーバ装置110が存在するか否かを判定する。例えば、デプロイ要求に含まれるサーバ装置110の性能が「Mid performance」である場合、管理ノード200は、性能304が「High performance」である空きサーバ装置110を検索する。
 ステップS200及びステップS202の処理によって、検索対象のサーバ装置110の範囲を広げることができる。なお、ステップS202の処理は省略してもよい。
 要求を満たす空きサーバ装置110が存在すると判定された場合、管理ノード200は、ステップS201に進む。
 要求を満たす空きサーバ装置110が存在しないと判定された場合、管理ノード200は、端末101にエラーを通知する(ステップS203)。その後、管理ノード200は、計算ノード選択処理を終了する。
 図7は、実施例1の設定モジュール221が実行する仮想ボリューム225の生成処理の一例を説明するフローチャートである。
 設定モジュール221は、記憶装置122の記憶領域を用いて差分ボリューム242を生成する(ステップS300)。このとき、設定モジュール221は、差分ボリューム242のアクセス属性を「Read/Write」に設定する。なお、差分ボリューム242のサイズは、具体的な値又は記憶装置122の記憶領域の利用率に基づいて決定する方法が考えられる。
 次に、設定モジュール221は、OS220に提供するボリュームである仮想ボリューム225を生成する(ステップS301)。
 具体的には、設定モジュール221は、デプロイ用ボリューム231及び差分ボリューム242がマッピングされた論理的なボリュームとして仮想ボリューム225を生成する。仮想ボリューム225のアクセス属性は、「Read/Write」に設定される。なお、仮想ボリューム225に対して書き込まれるデータは差分ボリューム242に書き込まれる。
 なお、仮想ボリューム225は、論理的なボリュームであるため実体として存在しないが、説明のためにメモリ121内に仮想ボリューム225を示している。
 次に、設定モジュール221は、OS220が利用するボリュームとして、仮想ボリューム225をOS220に割り当てる(ステップS302)。
 具体的には、設定モジュール221は、仮想ボリューム225をOS220が認識するボリュームとして設定する。OS220の起動処理が完了した場合、OS220は仮想ボリューム225を用いて処理を開始する。
 次に、設定モジュール221は、OS220の起動処理が完了した後、管理ノード200に一時デプロイの完了通知を送信する(ステップS303)。その後、設定モジュール221は、仮想ボリューム225の生成処理を終了する。
 図8は、実施例1の設定モジュール221が実行するコピー処理の一例を説明するフローチャートである。
 設定モジュール221は、記憶装置122に、デプロイ用ボリューム231に格納されるデータをコピーすることによって、クローンボリューム243を生成する(ステップS400)。
 具体的には、設定モジュール221は、ストレージノード201からデプロイ用ボリューム231に格納されるデータを読み出し、記憶装置122に書き込む。このとき、設定モジュール221は、クローンボリューム243のアクセス属性を「Read Only」に設定する。なお、クローンボリューム243のサイズは、デプロイ用ボリューム231のサイズと同一のものとする。
 クローンボリューム243が生成された後、設定モジュール221は、仮想ボリューム225のマッピング先をデプロイ用ボリューム231からクローンボリューム243に変更する(ステップS401)。すなわち、仮想ボリューム225には、差分ボリューム242及びクローンボリューム243がマッピングされる。
 次に、設定モジュール221は、管理ノード200にデプロイ完了通知を送信する(ステップS402)。その後、設定モジュール221は、コピー処理を終了する。以上の処理によって図2に示すような状態となる。
 なお、本実施例では、テンプレートボリューム230に設定モジュール221が含まれていたがこれに限定されない。例えば、BIOS(Basic Input Output System)又はUEFI(Unified Extensible Firmware Interface)に設定モジュール221と同等の機能を持たせてもよい。
 なお、本実施例では、テンプレートボリューム230のスナップショットをデプロイ用ボリューム231として用いていたがこれに限定されない。例えば、テンプレートボリューム230そのものをデプロイ用ボリューム231として用いてもよい。
 実施例1によれば、計算ノード202の記憶装置122にデータを書き込むことなくOS220が起動するため、迅速に計算ノード202をユーザに提供できる。また、計算ノード202は、OS220の起動時に、OS220の起動に必要なデータのみをストレージノード201から取得すればよいため、ネットワーク負荷が低いデプロイ処理を実現できる。また、実施例1ではストレージシステムを用いる必要がないため、データセンタ100の設備コストを削減できる。
 実施例2では、計算ノード202のバックアップ処理及び復旧処理について説明する。
 まず、計算ノード202のバックアップ処理について説明する。計算ノード202のバックアップ処理には、定期型のバックアップ処理及び同期型のバックアップ処理が存在する。
 図9Aは、実施例2のデータセンタ100内の定期型のバックアップ処理が実行されるノードの構成例を示す図である。図9Bは、実施例2のデータセンタ100内の同期型のバックアップ処理が実行されるノードの構成例を示す図である。
 実施例2では、管理ノード200がバックアップ情報900を保持する。また、実施例2では、テンプレートボリューム230を保持するストレージノード201とは別に、バックアップデータを保持するストレージノード201が存在する。ストレージノード201が保持する差分ボリューム901は、計算ノード202が保持する差分ボリューム242のバックアップデータである。以下の説明では、計算ノード202が保持する差分ボリューム242のバックアップデータを、計算ノード202のバックアップデータとも記載する。
 バックアップ情報900は、計算ノード202及びバックアップデータを保持するストレージノード201の対応関係を管理する情報である。ここで、図10を用いてバックアップ情報900について説明する。
 図10は、実施例1のバックアップ情報900の一例を示す図である。
 バックアップ情報900は、ユーザ名1001、計算ノード1002、及びストレージノード1003から構成されるエントリを複数含む。
 ユーザ名1001は、ユーザの識別情報である。計算ノード1002は、バックアップ対象の差分ボリューム242を保持する計算ノード202の識別情報である。ストレージノード1003は、差分ボリューム901を保持するストレージノード201の識別情報である。計算ノード1002及びストレージノード1003には、サーバ装置110の識別情報が格納されるものとする。
 本実施例の管理ノード200は、管理情報210及びバックアップ情報900を別々に保持するが、一つの情報として保持してもよい。例えば、管理情報210にバックアップ元の計算ノード202の識別情報を格納するカラムを設ける方法が考えられる。当該カラムに識別情報が格納される場合、識別情報に対応する計算ノード202のバックアップデータを保持するストレージノード201であることが分かる。
 図11及び図12を用いて定期型のバックアップ処理について説明する。
 図11は、実施例2の定期型のバックアップ処理の流れを説明するシーケンス図である。
 ユーザによって操作される端末101は、管理ノード200にバックアップ要求を送信する(ステップS500)。バックアップ要求には、ユーザの識別情報及びバックアップ周期等が含まれる。
 管理ノード200は、バックアップ要求を受信した場合、ストレージノード選択処理を実行する(ステップS501)。ストレージノード選択処理では、バックアップ対象の計算ノード202が特定され、また、バックアップデータを保存するストレージノード201が選択される。なお、ストレージノード選択処理の詳細は、図12を用いて説明する。
 管理ノード200は、バックアップ対象の計算ノード202にコピー指示を送信する(ステップS502)。コピー指示には、ストレージノード201にアクセスするための情報が含まれる。例えば、コピー指示にはストレージノード201のIPアドレス等が含まれる。
 計算ノード202の設定モジュール221は、コピー指示を受信した場合、差分ボリューム242に格納されるデータをストレージノード201に書き込む(ステップS503)。
 具体的には、設定モジュール221は、コピー指示に含まれるストレージノード201のIPアドレス等に基づいて、ストレージノード201に差分ボリューム242のデータを含む書込要求を送信する。
 差分ボリューム242に格納される全てのデータが書き込まれた場合、ストレージノード201は、書込完了通知を計算ノード202に送信する(ステップS504)。
 計算ノード202の設定モジュール221は、書込完了通知を受信した場合、管理ノード200にコピー完了通知を送信する(ステップS505)。管理ノード200は、コピー完了通知を端末101に転送する。
 以下、ユーザによって指定された周期にしたがって、ステップS502からステップS505までの処理が繰り返し実行される。
 図9Aに示すように、バックアップ用のストレージノード201には、複数の世代の差分ボリューム901がバックアップデータとして格納される。
 図12は、実施例2の管理ノード200が実行するストレージノード選択処理の一例を説明するフローチャートである。
 管理ノード200は、管理情報210を参照して、バックアップ対象の計算ノード202を特定する(ステップS600)。
 具体的には、管理ノード200は、ノード種別302に、「計算ノード」及びバックアップ要求に含まれるユーザの識別情報が設定されたエントリを検索する。なお、バックアップ要求に計算ノード202の識別情報が含まれる場合、管理ノード200は、サーバ名301を参照し、バックアップ対象の計算ノード202を特定する。
 次に、管理ノード200は、管理情報210及びバックアップ情報900を参照して、バックアップ用のストレージノード201を選択する(ステップS601)。具体的には、以下のような処理が実行される。
 管理ノード200は、バックアップ情報900を参照し、バックアップ用のストレージノード201が選択されているか否かを判定する。具体的には、ユーザ名1001がバックアップ要求に含まれるユーザの識別情報に一致し、かつ、計算ノード1002が特定された計算ノード202の識別情報に一致するエントリが存在するか否かを判定する。
 前述した条件を満たすエントリが存在する場合、管理ノード200は、当該エントリのストレージノード1003に対応するストレージノード201をバックアップ用のストレージノード201に選択する。
 前述した条件を満たすエントリが存在しない場合、管理ノード200は、管理情報210を参照して、ノード種別302に「ストレージノード」が設定されたエントリを検索する。管理ノード200は、検索されたストレージノード201の中から少なくとも一つのストレージノード201を選択する。
 ストレージノード201を選択する方法は様々考えられる。例えば、管理ノード200は、ストレージノード201を選択する場合に、検索された各ストレージノード201の記憶装置122の空き容量に基づいて、ストレージノード201を選択する。なお、本発明はストレージノード201の選択方法に限定されない。
 管理ノード200は、選択されたストレージノード201にアクセスするための情報を取得する。例えば、管理情報210又はバックアップ情報900にIPアドレス等を登録するカラムを含める方法が考えられる。
 管理ノード200は、バックアップ情報900にエントリを追加し、追加されたエントリのユーザ名1001にユーザの識別情報を設定し、計算ノード1002に特定された計算ノード202の識別情報を設定する。さらに、管理ノード200は、追加されたエントリのストレージノード1003に選択されたストレージノード201の識別情報を設定する。
 なお、一つの計算ノード202に対して一つ以上のバックアップ用のストレージノード201を割り当ててもよいし、一ユーザに対して一つ以上のバックアップ用のストレージノード201を割り当ててもよい。以上が、ステップS601の処理の説明である。
 次に、管理ノード200は、バックアップ対象の計算ノード202にコピー指示を送信する(ステップS602)。当該コピー指示には、選択されたストレージノード201にデータを送信するためのIPアドレス等が含まれる。その後、管理ノード200は、ストレージノード選択処理を終了する。
 次に、図13を用いて同期型のバックアップ処理について説明する。
 図13は、実施例2の同期型のバックアップ処理の流れを説明するシーケンス図である。
 ユーザによって操作される端末101は、管理ノード200にバックアップ要求を送信する(ステップS700)。バックアップ要求には、ユーザの識別情報等が含まれる。
 管理ノード200は、バックアップ要求を受信した場合、ストレージノード選択処理を実行する(ステップS701)。ステップS701の処理は、ステップS601の処理と同一である。
 管理ノード200は、バックアップ対象の計算ノード202に同期指示を送信する(ステップS702)。
 計算ノード202の設定モジュール221は、同期指示を受信した場合、差分ボリューム242に格納されるデータをストレージノード201に書き込む(ステップS703)。
 差分ボリューム242に格納される全てのデータが書き込まれた場合、ストレージノード201は、書込完了通知を計算ノード202に送信する(ステップS704)。
 計算ノード202の設定モジュール221は、書込完了通知を受信した場合、管理ノード200に同期開始通知を送信する(ステップS705)。管理ノード200は、同期開始通知を端末101に転送する。
 計算ノード202の設定モジュール221は、差分ボリューム242に格納されるデータが更新された場合、更新されたデータをストレージノード201に書き込む(ステップS706)。
 ストレージノード201は、更新されたデータをバックアップデータに書き込んだ後、同期完了通知を計算ノード202に送信する(ステップS707)。
 以下、差分ボリューム242が更新された場合、ステップS706及びステップS707の処理が繰り返し実行される。
 図9Bに示すように、バックアップ用のストレージノード201には、記憶装置122内の差分ボリューム242と同一のデータを含む差分ボリューム901がバックアップデータとして格納される。
 同期型のバックアップ処理を停止させる場合、ユーザによって操作される端末101は、管理ノード200にバックアップ停止要求を送信する(ステップS708)。当該バックアップ停止要求には、ユーザの識別情報が含まれる。
 管理ノード200は、対象の計算ノード202及びバックアップ用のストレージノード201を特定し、特定された計算ノード202に停止指示を送信する(ステップS709)。
 具体的には、管理ノード200は、ステップS601の処理と同一の方法を用いて、対象の計算ノード202を特定する。また、管理ノード200は、バックアップ情報900を参照し、特定された計算ノード202のバックアップデータを保持するストレージノード201を特定する。管理ノード200は、特定された計算ノード202に、特定されたストレージノード201にアクセスするためのIPアドレス等を含む停止指示を送信する。
 計算ノード202は、停止指示を受信した場合、ストレージノード201に削除要求を送信する(ステップS710)。削除要求には、例えば、計算ノード202の識別情報が含まれる。
 ストレージノード201は、削除要求を受信した場合、計算ノード202のバックアップデータである差分ボリューム901を削除し、削除完了通知を計算ノード202に送信する(ステップS711)。例えば、ストレージノード201は、削除要求に含まれる計算ノード202の識別情報に基づいて、削除する差分ボリューム901を特定し、特定された差分ボリューム901を削除する。
 計算ノード202は、削除完了通知を受信した場合、管理ノード200に停止完了通知を送信する(ステップS712)。管理ノード200は、停止完了通知を端末101に転送する。
 次に、計算ノード202の復旧処理について説明する。
 図14は、実施例2の復旧処理の流れを説明するシーケンス図である。図15は、実施例2の復旧処理が実行されたシステム状態を示す図である。
 ユーザによって操作される端末101は、復旧要求を送信する(ステップS800)。復旧要求には、復旧対象の計算ノード202の識別情報が含まれる。
 本実施例では、端末101からの復旧要求を契機に復旧処理が開始される。なお、復旧処理の開始契機は、前述したものに限定されない。例えば、管理ノード200が、計算ノード202の状態を監視し、計算ノード202の障害を検知した場合に、復旧処理を自動的に開始してもよい。
 なお、ユーザは、復旧目的に応じて、バックアップデータの属性等を指定してもよい。例えば、特定の時点の状態に復旧する場合、ユーザは、定期型のバックアップ処理においてコピーされた時刻を指定する。また、最新の状態に復旧する場合、ユーザは、同期型のバックアップ処理においてコピーされたバックアップデータを指定する。
 管理ノード200は、復旧要求を受信した場合、新たな計算ノード202を選択するためのノード選択処理を実行する(ステップS801)。
 実施例2のノード選択処理は、実施例1のノード選択処理と一部の処理が異なる。具体的には、ステップS200において、管理ノード200は、管理情報210を参照して、復旧対象の計算ノード202の性能を特定する。さらに、管理ノード200は、性能304が復旧対象の計算ノード202の性能に一致し、かつ、ノード種別302が「Empty」であるエントリを検索する。その他の処理は実施例1と同一である。
 管理ノード200は、ストレージノード201にデプロイ用ボリューム生成指示を送信する(ステップS802)。具体的には、以下のような処理が実行される。
 復旧対象の計算ノード202のデプロイ処理に使用したストレージノード201を特定できる場合、管理ノード200は、当該ストレージノード201にデプロイ用ボリューム生成指示を送信する。復旧対象の計算ノード202のデプロイ処理に使用したストレージノード201を特定できない場合、ステップS102と同一の処理が実行される。なお、デプロイ用ボリューム生成指示には、復旧に伴う計算ノード202の起動であることを示すフラグ等が含まれる。
 ストレージノード201は、デプロイ用ボリューム生成指示を受信した場合、デプロイ用ボリューム231を生成する(ステップS803)。具体的には、以下のような処理が実行される。
 ストレージノード201は、テンプレートボリューム230のスナップショットをデプロイ用ボリューム231として生成する。このとき、デプロイ用ボリューム231のアクセス属性は「Read only」に設定される。
 さらに、ストレージノード201は、バックアップデータを取得するための情報をデプロイ用ボリューム231に含まれる設定モジュール221に書き込む。例えば、ストレージノード201は、バックアップデータを格納するストレージノード201のIPアドレス、及び復旧対象の計算ノード202の識別情報等を含む読出命令を設定モジュール221に設定する。
 ストレージノード201は、デプロイ用ボリューム231の生成が完了した後、管理ノード200に完了通知を送信する(ステップS804)。ステップS804の処理は、ステップS104の処理と同一である。
 管理ノード200は、ストレージノード201から完了通知を受信した場合、選択された計算ノード202に電源を投入する(ステップS805)。
 起動した計算ノード202は、デプロイ用ボリューム231をローカルボリュームとして認識し、デプロイ用ボリューム231を用いてブートを開始する(ステップS806)。
 計算ノード202は、デプロイ用ボリューム231から読み出されたOS220のカーネル及び設定モジュール221をメモリ121にロードした後、仮想ボリューム225の生成処理を実行する(ステップS807)。
 実施例2では、計算ノード202は、バックアップ用のストレージノード201と連携して、仮想ボリューム225を生成する。実施例2の仮想ボリューム225の生成処理の詳細は、図16を用いて説明する。
 計算ノード202は、仮想ボリューム225が生成され、かつ、OS220の起動処理が完了した後、一時デプロイの完了通知を管理ノード200に送信する(ステップS808)。ステップS808の処理は、ステップS108の処理と同一である。
 管理ノード200は、一時デプロイの完了通知を受信した場合、当該完了通知を端末101に転送し、また、選択された計算ノード202にコピー指示を送信する(ステップS809)。ステップS809の処理は、ステップS109の処理と同一である。
 計算ノード202は、管理ノード200からコピー指示を受信した場合、コピー処理を実行する(ステップS810)。ステップS810の処理は、ステップS110の処理と同一である。
 計算ノード202は、コピー処理が終了した場合、デプロイ完了通知を管理ノード200の送信する(ステップS811)。ステップS811の処理は、ステップS111の処理と同一である。
 図15に示すように、移行先の計算ノード202-2は、移行元の計算ノード202-1の差分ボリューム901を格納するストレージノード201から、当該差分ボリューム901に格納されるデータを読み出し、記憶装置122に格納する。
 図16は、実施例2の設定モジュール221が実行する仮想ボリューム225の生成処理の一例を説明するフローチャートである。
 設定モジュール221は、記憶装置122の記憶領域に、ストレージノード201の差分ボリューム901をコピーする(ステップS900)。
 ステップS901からステップS903の処理は、ステップS301からステップS303の処理と同一であるため説明を省略する。
 実施例2によれば、差分ボリューム242のみがバックアップされるため、ストレージノード201の記憶領域の使用量を抑えたベアメタルサーバ単位のバックアップを実現できる。
 また、差分ボリューム242及びクローンボリューム243(テンプレートボリューム230)を用いて計算ノード202を復旧する場合、移行元の計算ノード202-2への差分ボリューム901のコピーが完了すれば、計算ノード202は処理が可能な状態となるため、高速な計算ノード202の復旧が可能となる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
 また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
 さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
 上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (12)

  1.  複数の計算機を備える計算機システムであって、
     前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される主記憶装置、前記プロセッサに接続される副記憶装置、及び前記プロセッサに接続され、他の計算機と接続するためのインタフェースを有し、
     前記複数の計算機は、前記複数の計算機を管理する管理ノード、所定のアプリケーションを実行する計算ノード、及び前記計算ノードのブートイメージであるデプロイ用ボリュームを保持するデプロイ用ストレージノードを含み、
     前記計算ノードは、オペレーティングシステムが使用するボリュームを管理する設定モジュールを有し、
     前記デプロイ用ストレージノードは、前記デプロイ用ボリュームからのデータの読み出しのみを許可するように設定し、
     前記設定モジュールは、
     前記計算ノードの電源が投入された場合、データの書き込み及びデータの読み出しが可能な差分ボリュームを前記副記憶装置に生成し、
     前記デプロイ用ボリューム及び前記差分ボリュームがマッピングされた仮想ボリュームを生成し、
     前記仮想ボリュームを前記オペレーティングシステムが認識するボリュームとして設定し、
     前記オペレーティングシステムは、前記仮想ボリュームに対する設定が実行された後、前記仮想ボリュームを用いて処理を開始することを特徴とする計算機システム。
  2.  請求項1に記載の計算機システムであって、
     前記デプロイ用ボリュームは、前記オペレーティングシステム及び前記設定モジュールを含み、
     前記計算ノードは、前記計算ノードの電源が投入された場合、前記デプロイ用ボリュームから前記設定モジュールを読み出すことを特徴とする計算機システム。
  3.  請求項2に記載の計算機システムであって、
     前記設定モジュールは、
     前記仮想ボリュームに対する設定が実行された後、前記管理ノードに、前記計算ノードが処理可能な状態であることを通知し、
     前記計算ノードが処理可能な状態であることを通知した後、前記副記憶装置に前記デプロイ用ボリュームに格納されるデータをコピーすることによって、クローンボリュームを生成し、
     前記仮想ボリュームのマッピング先を前記クローンボリューム及び前記差分ボリュームに変更し、
     前記仮想ボリュームのマッピング先が変更された後、前記管理ノードに、前記計算ノードのデプロイが完了したことを通知することを特徴とする計算機システム。
  4.  請求項3に記載の計算機システムであって、
     前記複数の計算機は、バックアップデータを格納するバックアップ用ストレージノードを含み、
     前記設定モジュールは、前記バックアップ用ストレージノードに前記差分ボリュームを前記バックアップデータとしてコピーすることを特徴とする計算機システム。
  5.  請求項4に記載の計算機システムであって、
     前記設定モジュールは、
     復旧に伴う前記計算ノードの起動指示を受け付けた場合、前記バックアップ用ストレージノードに格納される前記差分ボリュームを前記副記憶装置にコピーし、
     前記デプロイ用ボリューム及び前記差分ボリュームがマッピングされた前記仮想ボリュームを生成し、
     前記仮想ボリュームを前記オペレーティングシステムが認識するボリュームとして設定し、
     前記仮想ボリュームに対する設定が実行された後、前記管理ノードに、前記計算ノードが処理可能な状態であることを通知することを特徴とする計算機システム。
  6.  請求項5に記載の計算機システムであって、
     前記管理ノードは、
     前記複数の計算機の各々の性能の種別を管理する管理情報を保持し、
     前記性能の種別、及び前記計算ノードの数を指定する設定画面をユーザが操作する端末に表示し、
     前記管理情報を参照して、前記設定画面に入力された前記性能の種別に対応する前記複数の計算機を検索し、
     前記検索された複数の計算機の中から、前記設定画面に入力された前記計算ノードの数の前記計算ノードを選択することを特徴とする計算機システム。
  7.  複数の計算機を備える計算機システムにおける計算機の提供方法であって、
     前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される主記憶装置、前記プロセッサに接続される副記憶装置、及び前記プロセッサに接続され、他の計算機と接続するためのインタフェースを有し、
     前記複数の計算機は、前記複数の計算機を管理する管理ノード、所定のアプリケーションを実行する計算ノード、及び前記計算ノードのブートイメージであるデプロイ用ボリュームを保持するデプロイ用ストレージノードを含み、
     前記計算ノードは、オペレーティングシステムが使用するボリュームを管理する設定モジュールを有し、
     前記計算機の提供方法は、
     前記デプロイ用ストレージノードが、前記デプロイ用ボリュームからのデータの読み出しのみを許可するように設定する第1のステップと、
     前記設定モジュールが、前記計算ノードの電源が投入された場合、データの書き込み及びデータの読み出しが可能な差分ボリュームを前記副記憶装置に生成する第2のステップと、
     前記設定モジュールが、前記デプロイ用ボリューム及び前記差分ボリュームがマッピングされた仮想ボリュームを生成する第3のステップと、
     前記設定モジュールが、前記仮想ボリュームを前記オペレーティングシステムが認識するボリュームとして設定する第4のステップと、
     前記オペレーティングシステムが、前記仮想ボリュームに対する設定が実行された後、前記仮想ボリュームを用いて処理を開始する第5のステップと、を含むことを特徴とする計算機の提供方法。
  8.  請求項7に記載の計算機の提供方法であって、
     前記デプロイ用ボリュームは、前記オペレーティングシステム及び前記設定モジュールを含み、
     前記計算機の提供方法は、前記計算ノードが、前記計算ノードの電源が投入された場合、前記デプロイ用ボリュームから前記設定モジュールを読み出すステップを含むことを特徴とする計算機の提供方法。
  9.  請求項8に記載の計算機の提供方法であって、
     前記第4のステップは、
     前記設定モジュールが、前記仮想ボリュームに対する設定が実行された後、前記管理ノードに、前記計算ノードが処理可能な状態であることを通知するステップと、
     前記設定モジュールが、前記副記憶装置に前記デプロイ用ボリュームに格納されるデータをコピーすることによって、クローンボリュームを生成するステップと、
     前記設定モジュールが、前記仮想ボリュームのマッピング先を前記クローンボリューム及び前記差分ボリュームに変更するステップと、
     前記設定モジュールが、前記仮想ボリュームのマッピング先が変更された後、前記管理ノードに、前記計算ノードのデプロイが完了したことを通知するステップと、を含むことを特徴とする計算機の提供方法。
  10.  請求項9に記載の計算機の提供方法であって、
     前記複数の計算機は、バックアップデータを格納するバックアップ用ストレージノードを含み、
     前記計算機の提供方法は、前記設定モジュールが、前記バックアップ用ストレージノードに前記差分ボリュームを前記バックアップデータとしてコピーするステップを含むことを特徴とする計算機の提供方法。
  11.  請求項10に記載の計算機の提供方法であって、
     前記設定モジュールが、復旧に伴う前記計算ノードの起動指示を受け付けた場合、前記バックアップ用ストレージノードに格納される前記差分ボリュームを前記副記憶装置にコピーするステップと、
     前記設定モジュールが、前記デプロイ用ボリューム及び前記差分ボリュームがマッピングされた前記仮想ボリュームを生成するステップと、
     前記設定モジュールが、前記仮想ボリュームを前記オペレーティングシステムが認識するボリュームとして設定するステップと、
     前記設定モジュールが、前記仮想ボリュームに対する設定が実行された後、前記管理ノードに、前記計算ノードが処理可能な状態であることを通知するステップと、を含むことを特徴とする計算機の提供方法。
  12.  請求項11に記載の計算機の提供方法であって、
     前記管理ノードは、前記複数の計算機の各々の性能の種別を管理する管理情報を保持し、
     前記計算機の提供方法は、
     前記管理ノードが、前記性能の種別、及び前記計算ノードの数を指定する設定画面をユーザが操作する端末に表示するステップと、
     前記管理ノードが、前記管理情報を参照して、前記設定画面に入力された前記性能の種別に対応する前記複数の計算機を検索するステップと、
     前記管理ノードが、前記検索された複数の計算機の中から、前記設定画面に入力された前記計算ノードの数の前記計算ノードを選択するステップと、を含むことを特徴とする計算機の提供方法。
PCT/JP2016/071176 2016-07-19 2016-07-19 計算機システム及び計算機の提供方法 WO2018016007A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/071176 WO2018016007A1 (ja) 2016-07-19 2016-07-19 計算機システム及び計算機の提供方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/071176 WO2018016007A1 (ja) 2016-07-19 2016-07-19 計算機システム及び計算機の提供方法

Publications (1)

Publication Number Publication Date
WO2018016007A1 true WO2018016007A1 (ja) 2018-01-25

Family

ID=60992331

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/071176 WO2018016007A1 (ja) 2016-07-19 2016-07-19 計算機システム及び計算機の提供方法

Country Status (1)

Country Link
WO (1) WO2018016007A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012063315A1 (ja) * 2010-11-08 2012-05-18 株式会社日立製作所 計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体
JP2014197337A (ja) * 2013-03-29 2014-10-16 日本電気株式会社 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012063315A1 (ja) * 2010-11-08 2012-05-18 株式会社日立製作所 計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体
JP2014197337A (ja) * 2013-03-29 2014-10-16 日本電気株式会社 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Cloud Jidai Dakarakoso Bare Metal o Osusume suru Riyu", SOFTWARE DESIGN 2014 NEN THE DECEMBER ISSUE, 18 December 2014 (2014-12-18) *

Similar Documents

Publication Publication Date Title
EP3502877B1 (en) Data loading method and apparatus for virtual machines
WO2016199232A1 (ja) ストレージ管理計算機、及びストレージ装置の管理方法
JP5461216B2 (ja) 論理ボリューム管理の為の方法と装置
US8448167B2 (en) Storage system, and remote copy control method therefor
US7860909B2 (en) Search engine system using snapshot function of storage system
JP2010257096A (ja) ストレージシステムにおけるバックアップ方法
JP2004280780A (ja) バックアップ方法、システム、及びプログラム
JP2010102479A (ja) 計算機システム、ストレージ装置及びデータ更新方法
JP6472508B2 (ja) 管理計算機およびリソース管理方法
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
US11604705B2 (en) System and method for cloning as SQL server AG databases in a hyperconverged system
JP2010128791A (ja) ストレージシステムおよび仮想インタフェース管理方法
CN110520844A (zh) 云管理平台、虚拟机管理方法及其系统
US8732427B2 (en) Systems and methods for collapsing a derivative version of a primary storage volume
JP6393612B2 (ja) システムのバックアップ装置及びバックアップ方法
US10019182B2 (en) Management system and management method of computer system
US11416351B2 (en) System and method for efficient replication
US20150373111A1 (en) Configuration information acquisition method and management computer
US10496493B1 (en) Method and system for restoring applications of particular point in time
JP2011175391A (ja) 管理コンピュータおよびデプロイ方法
JP2010079624A (ja) 計算機システム及びストレージシステム
JP2009251756A (ja) クライアント装置、分散ファイルシステム、共有リソース多重化方法およびプログラム
JP2014038551A (ja) データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム
WO2018016007A1 (ja) 計算機システム及び計算機の提供方法
US8117405B2 (en) Storage control method for managing access environment enabling host to access data

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP