Computer system and management method thereof

By employing a template deployment service to configure new storage nodes in parallel with initial setup nodes, the method addresses the inefficiencies in existing storage system setup processes, achieving faster and more efficient system changes and additions.

JP2025051204APending Publication Date: 2025-04-04HITACHI VANTARA LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023160204
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-25
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

Existing methods for setting up storage systems in cloud environments are time-consuming and inefficient, particularly when adding new storage nodes or changing system configurations, due to the need for writing data, warranty codes, and control information onto disks.

Method used

The use of a template deployment service by a control node to configure and deploy new storage nodes in parallel with initial setup nodes, allowing for the rapid importation of configuration information and data from existing storage nodes.

Benefits of technology

This approach significantly reduces the time required for system changes and additions by enabling high-speed configuration and data importation, thereby improving the agility and efficiency of storage system deployments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025051204000001_ABST
    Figure 2025051204000001_ABST
Patent Text Reader

Abstract

To provide a computer system and a management method thereof that shorten time required for construction changing.SOLUTION: In a computer system having a plurality of storage nodes 130 and a control node 145, the control node 145 uses, when deploying a storage system to a new storage node, template deployment service to create a template from configuration information of the existing storage node 130, sets up a plurality of disk initial setting nodes 140, and causes an initial setting in which data held by the existing storage node 130 is converted and stored using a template on a plurality of disks to be connected to a new storage node 150 to be performed in parallel with a plurality of initial setting nodes. The new storage node 150 is connected to the initially-set disk and imports the configuration information of the existing storage 130, so that the storage system is deployed.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a computer system and a method for managing a computer system. [Background technology]

[0002] There is known an information processing system that includes multiple storage nodes, each of which is equipped with one or more SDS (Software Defined Storage). In the following, SDS refers to a storage device that is constructed by installing software having a storage function in a general-purpose server device. According to such a technique, the process of reading control information can be confined within the server while maintaining reliability, and therefore there is an advantage in that high performance can be achieved.

[0003] Meanwhile, in recent years, clouds (especially public clouds) are becoming popular as platforms for information processing systems. In public clouds, public cloud vendors are developing services that provide computing resources and storage resources as Infrastructure as a Service (IaaS). Public cloud users can access the computing and storage services on these public clouds through an API (Application Programming Interface), securing the amount of computing and storage resources they need when they need them, and also quickly change their configuration. In the cloud, there are use cases where application development cycles are fast (e.g. DevOps), and the storage infrastructure also needs to be tuned to the application development cycle; for example, application test environments are frequently deployed and reconfigured, so agility is required for deploying and reconfiguring storage systems. To ensure a rapid start-up of the installed storage system and to prevent degradation of system performance, it is recommended that the disks be provided in an initialized state (filled with data and a Data Integrity Code (DIF), and with control information written).

[0004] Infrastructure as a Code (IaC) is a method for efficiently provisioning and operating IT infrastructure by executing code written in a template, in response to the agility of introducing storage systems and changing their configurations. Patent Document 1 discloses a technique for using this technique to update a cloud-based storage system using an IaC service. Specifically, one or more performance metrics related to the cloud-based storage system are monitored, and a configuration template is generated that specifies a target state of the storage system based on the monitored performance metrics. Here, the performance metrics are IOPS (I / O per second), storage usage, SLA, and latency for IO, and the target state refers to the state of the storage system including additional cloud computing resources. Furthermore, in a storage system, the configuration of the storage system is generally operated so that it can be automatically configured by executing a configuration script. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] U.S. Patent Publication US20220052910 Summary of the Invention [Problem to be solved by the invention]

[0006] In order to start the storage system quickly and to prevent a decrease in system performance, it is necessary to perform the initial disk configuration quickly. In order to ensure the reliability of data stored in a storage system, a guarantee code is generally assigned to the data to be stored. Although the method described above makes it possible to automate storage configuration settings and provide drives in their initial settings, the problem is that the construction time increases. The initial setting of the drive requires not only writing data and a guarantee code, but also control information related to functions that improve the performance and availability of the storage system, which is stored on the disk in accordance with the configuration of the storage system. Setting this control information on the disk requires reading and writing to the disk, but this generally results in long processing times due to back-end bandwidth bottlenecks related to the disk processing performance of virtual machines that can be used in the cloud. For this reason, there has been an issue of how to shorten the time required to change the configuration of a computer system including a storage system, particularly when adding a storage node. [Means for solving the problem]

[0007] In order to solve the above problems, one representative computer system of the present invention is a computer system comprising a plurality of storage nodes each having a processor and constituting a storage system using the logical storage areas of one or more disks, and a control node also having a processor and managing the storage nodes, wherein, when deploying the storage system to a new storage node, the control node uses a template deployment service to create a template from configuration information held by existing storage nodes, the control node configures a plurality of initial setting nodes, and causes the plurality of initial setting nodes to perform initial setting in parallel, using the template to convert and store data held by the existing storage nodes on a plurality of disks to be connected to the new storage node, and the new storage node connects to the initially configured disks and imports the configuration information of the existing storage, thereby deploying the storage system. Furthermore, one representative computer system management method of the present invention is a computer system management method comprising a plurality of storage nodes each having a processor and constituting a storage system using logical storage areas of one or more disks, and a control node each having a processor and managing the storage nodes, wherein, when deploying the storage system to a new storage node, the control node uses a template deployment service to create a template from configuration information held by an existing storage node, the control node configures a plurality of initial setting nodes, and causes the plurality of initial setting nodes to perform initial setting in parallel, in which data held by the existing storage node is converted and stored using the template on a plurality of disks to be connected to the new storage node, and the new storage node connects to the initially configured disks and imports the configuration information of the existing storage, thereby deploying the storage system. Effect of the Invention

[0008] According to the present invention, it is possible to reduce the time required to reconfigure and change a computer system. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram showing an overall structure of an information processing system including a storage system. [Diagram 2] FIG. 13 is a diagram showing functional blocks of the control node 145. [Diagram 3] FIG. 2 is a diagram showing functional blocks of a storage node 130. [Figure 4] FIG. 1 is a diagram showing functional blocks of a disk initial setting node 140. [Diagram 5] FIG. 13 is a diagram showing an export / import information storage area 155. [Figure 6] 13 is a flowchart of an export process 605 executed by the control node 145. [Figure 7] 13 is a flowchart of a disk export process. [Figure 8] 13 is a flowchart of a storage configuration information export process. [Figure 9] 13 is a flowchart of a template process in the export process. [Figure 10] 10 is a flowchart of an import process 1000 by an import function program of a control node. [Figure 11] 10 is a flowchart of a deployment process 1010 in the import process 1000. [Figure 12] 10 is a flowchart of a disc import process 1020 in the import process 1000. [Figure 13] 12 is a flowchart of a disk data restoration process 1205 in the disk import process 1020. [Figure 14] 12 is a flowchart of a disk connection destination switching process 1210 in the disk import process 1020. [Figure 15] 13 is a flowchart of a storage configuration information import process in the import process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the following description, various information may be described using expressions such as "management table", but the various information may be expressed in a data structure other than a table. Also, to indicate that it is not dependent on the data structure, the "management table" may be called "management information".

[0011] Also, there are cases where a process is described with a "program" as the subject. The program is executed by a processor, for example, a CPU (Central Processing Unit), and performs a predetermined process. Since the process is performed using storage resources (for example, memory) and communication interface devices (for example, communication ports) as appropriate, the subject of the process may be the processor. The processor may have dedicated hardware in addition to the CPU. The computer program may be installed in each computer from a program source, which may be provided, for example, from a program distribution server or a storage medium.

[0012] In addition, each element can be identified by a number or the like, but other types of identification information such as a name may be used as long as the information is identifiable. In the drawings and explanations of the present invention, the same parts are given the same reference numerals, but the present invention is not limited to this embodiment, and all application examples that conform to the concept of the present invention are included in the technical scope of the present invention. In addition, unless otherwise specified, each component may be plural or singular. EXAMPLES

[0013] 1 is a diagram showing the configuration of an information processing system 100 according to this embodiment. The information processing system 100 has a plurality of hosts 110 interconnected via a network 105 configured, for example, by Ethernet (registered trademark) or a LAN (Local Area Network), a management terminal 115, and a cloud service 120. The cloud service 120 includes a plurality of compute nodes 125, a plurality of storage nodes 130, a plurality of disk initial setting nodes 140, a template deployment service 135, an export / import information storage area 155, and a new storage node 150.

[0014] The host 110 is a general-purpose computer device that is used by a cloud service user to utilize the cloud service. The management terminal 115 is a terminal operated by a system administrator of the cloud service to be used. For example, the system administrator accesses a control node 145 in the cloud service, which will be described later, from the management terminal 115 and instructs the storage node 130 to export storage configuration information. The storage configuration information is information about the volumes provided as logical storage information of the compute node.

[0015] The compute node 125 is a virtual computer device that transmits a read request or a write request (hereinafter, these are collectively referred to as an I / O (Input / Output) request) to the storage node in response to a user operation or a request from an implemented application program. Note that, although the compute node is constructed within the computer providing service in this embodiment, it may be constructed outside the cloud service like the host.

[0016] The storage node 130 is a physical or virtual server device that provides a storage area for reading and writing data to the compute node 125. The storage node 130 associates the physical storage area of ​​a storage device with the logical storage area of ​​a disk, creates a virtual storage system using the logical storage area of ​​one or more disks, and provides the logical storage area of ​​the storage system to the compute node 125. The template deployment service 135 is a service that provides a template that codes a system deployed in a cloud service, and reads the template and deploys the system in the cloud service. Major cloud service vendors provide such services.

[0017] The export / import information storage area 155 is an area for storing information required for constructing a test environment when, for example, the test environment of the storage node 130 is deployed on a cloud service. The export / import information storage area 155 is provided, for example, in an object storage provided by a cloud service provider.

[0018] The disk initial setting node 140 performs initial settings to make the disk, which is the storage area, available, for example, when the test environment of the storage node 130 is deployed on a cloud service. The disk initial setting node 140 does not need to be operated all the time, and only needs to be operated while the initial settings of the disk to be connected to the new storage node 150 are being performed. Therefore, the disk initial setting node 140 may be deleted from the cloud service after the initial settings of the disk to be connected to the new storage node 150 are completed.

[0019] The new storage node 150 is, for example, a test environment for the storage node 130 deployed on a cloud service. When multiple disks are connected to the new storage node 150, multiple disk initial setting nodes 140 are associated one-to-one with the multiple disks.

[0020] The block storage service is a service that provides a virtual or physical storage device to a computer device provided by a computer service, such as a storage node, via a network for the block storage service. The network for the block storage service may be the same as the network, or may be virtually separated using a technology such as a Virtual Local Area Network (VLAN).

[0021] The physical storage device is composed of one or more types of large-capacity nonvolatile storage devices, such as a SAS (Serial Attached SCSI (Small Computer System Interface)) SSD (Solid State Drive), an NVMe (Non Volatile Memory express) SSD, a SAS hard disk drive, or a SATA (Serial ATA (Advanced Technology Attachment)) hard disk drive, and provides a physical storage area for reading / writing data in response to read / write requests (hereinafter referred to as I / O (Input / Output) requests) from the compute node.

[0022] The cloud control service is a service that allows a system administrator to control the computer provision service and the block storage provision service in this information processing system. The cloud control service enables the addition, deletion, and configuration change of virtual or physical devices provided by each service to be controlled via the network.

[0023] FIG. 2 is a diagram showing functional blocks of the control node 145. The control node 145 includes a CPU 215, a memory 220, a compute node communication device 205, a block storage service communication device 210, and an internal bus 225. The internal bus 225 interconnects the CPU 215, the compute node communication device 205, and the block storage service communication device 210.

[0024] The control node 145 includes one or more of each of a CPU 215, a memory 220, a communication device 205 for a compute node, and a communication device 210 for a block storage providing service. The CPU 215, the memory 220, the communication device 205 for a compute node, and the communication device 210 for a block storage providing service may each be a virtual device. Furthermore, the communication device 205 for a compute node and the communication device 210 for a block storage providing service may be physically different communication devices, physically the same communication devices that are logically separated, or physically and logically the same communication devices.

[0025] The CPU 215 is a processor that controls the operation of the control node 145. The memory 220 is composed of volatile semiconductor memory such as SRAM (Static RAM (Random Access Memory)) and DRAM (Dynamic RAM), and is used to temporarily store various programs and necessary data. At least one or more CPUs execute the programs stored in the memory, thereby performing various processes as the control node 145, as described below.

[0026] The communication device 205 for compute nodes is an interface for the control node 145 to communicate with the compute nodes and other storage nodes via a network, and is composed of, for example, a network interface card (NIC), etc. The communication device 205 for compute nodes performs protocol control during communication with the compute nodes, other storage nodes, or cloud control units.

[0027] Next, a description will be given of the programs executed by the control node 145. The programs are stored in the memory 220. The memory 220 stores, as programs, an export process 250, an import process 255, and storage destination information 260 required for the export process 250 and the import process 255.

[0028] The export process 250 is a program that exports, i.e., writes, to the export / import information storage area 155, the data on the disk of the storage node 130, the storage configuration information, and a coded template of the storage node 130, for example, when a test environment for the storage node 130 is deployed on a cloud service as a new storage node 150.

[0029] The import process 255 is a program for importing, i.e., reading and setting, data etc. in the export / import information storage area written by the export process 250 into the new storage node 150, for example, when the test environment of the storage node 130 is deployed on a cloud service as a new storage node 150.

[0030] The storage destination information 260 is information indicating the storage destination in the export / import information storage area 155 of the template in which the data on the disk, the storage configuration information, and the storage node 130 are coded by the export process 250, and the reference destination of the export / import information storage area referenced by the import process 255 to import and set in the new storage node 150. The export process 250 and the import process 255 refer to the storage destination information 260 and deploy the new storage node 150 from the storage node 130 on the cloud service. The export process 250 and the import process 255 will be described in detail later.

[0031] FIG. 3 is a diagram showing functional blocks of the storage node 130. As shown in FIG. The functional blocks of the storage node 130 are basically the same as those of the control node 145. The difference between the storage node 130 and the control node 145 is the programs stored in the memory.

[0032] The storage node 130 includes a CPU 315, a memory 320, a compute node communication device 305, a block storage service communication device 310, and an internal bus 325. The internal bus 325 interconnects the CPU 315, the compute node communication device 305, and the block storage service communication device 310.

[0033] In addition, the CPU 315, memory 320, communication device 305 for compute nodes, communication device 310 for block storage provision services, and internal bus 325 are the same as the CPU 215, memory 220, communication device 205 for compute nodes, communication device 210 for block storage provision services, and internal bus 225 shown in Figure 2, respectively, so their explanations are omitted.

[0034] Next, a description will be given of the programs executed by the storage node 130. The programs are stored in the memory 320. The memory 320 includes a disk export process 350, a storage configuration information export process 355, and a disk image generation process 360 as programs.

[0035] The disk export process 350 receives a disk export instruction from the control node 145, and provides the control node 145 with data stored on a disk connected to the storage node 130 to be stored in the export / import information storage area.

[0036] The storage configuration information export process 355 provides the storage configuration information held in the storage node 130 to the control node 145 .

[0037] The disk image generation process 360 receives an instruction to generate a disk image from the disk export process 350, reads data of the disk connected to the storage node, generates a disk image of the disk, and notifies the disk export process 350 when the generation of the disk image is complete. Details of the disk export process 350, storage configuration information export process 355, and disk image generation process 360 will be described later.

[0038] FIG. 4 is a diagram showing the functional blocks of the disk initial setting node 140. As shown in FIG. The functional blocks of the disk initial setting node 140 are basically the same as those of the control node 145. The difference between the disk initial setting node 140 and the control node 145 is the programs stored in the memory.

[0039] The disk initial setting node 140 includes a CPU 415, a memory 420, a communication device 405 for compute nodes, a communication device 410 for block storage provision services, and an internal bus 425. The internal bus 425 interconnects the CPU 415, the communication device 405 for compute nodes, and the communication device 410 for block storage services.

[0040] In addition, the CPU 415, memory 420, communication device 405 for compute nodes, communication device 410 for block storage provision services, and internal bus 425 are the same as the CPU 215, memory 220, communication device 205 for compute nodes, communication device 210 for block storage provision services, and internal bus 225 shown in Figure 2, respectively, so their explanations are omitted.

[0041] Next, a description will be given of the program executed in the disk initial setting node 140. The program is stored in memory 420. The memory 420 includes a disk restoration process 450.

[0042] The disk restoration process 450 receives an instruction to restore disk data from the control node 145, reads the disk image of the disk of the storage node 130 stored in the export / import information storage area, and restores it as data stored on the disk. The details of the disk restoration process 450 will be described later.

[0043] 5 is a diagram showing the export / import information storage area 155. In this embodiment, the export / import information storage area 155 stores a new storage node template 505, a disk initial setting node template 510, storage configuration information 515, and a disk image 520.

[0044] The new storage node template 505 describes the components of a new storage node when, for example, a test environment of the storage node 130 is deployed on a cloud service as a new storage node 150. The components include, for example, a virtual machine, an OS running on the virtual machine, a system disk connected to the virtual machine, a data disk, a network interface, configuration information such as an IP address, and access control rules.

[0045] The disk initial setting node template 510 describes the components of a node that is initialized to enable the use of a disk connected to the new storage node 150. The components are the same as those in the new storage node template.

[0046] The storage configuration information 515 is management information for a storage node to provide a storage area to a host, and includes, for example, volume management information and host path information. The volume management information stores management information for providing a volume to a compute node using the capacity of a virtual storage device. The host path information is management information that defines to which host the volume managed by the volume management information is provided. The disk image 520 is a file that includes data and control information stored on a disk connected to the storage node 130 .

[0047] 6 is a flowchart of the export process 605 executed by the control node 145. Through this procedure, data on the disk of the storage node, storage configuration information, and a template describing the components of the storage node are stored in an export / import information storage area provided by the cloud service.

[0048] First, in step 610, the export processing program of the control node 145 instructs the storage node to create a disk image file including the data and control information stored on the disk connected to the storage node, and exports the disk image file created by the storage node to the export / import information storage area 155.

[0049] In step 620 , the export processing program of the control node 145 exports the storage configuration information of the storage node to the export / import information storage area 155 .

[0050] In step 630, the export processing program of the control node 145 instructs the template deployment service to export a template describing the components of the storage node to the export / import information storage area 155. A template describes resources such as virtual machines and disks to be created or configured on a cloud service. The template deployment service deploys resources on the cloud service according to the template.

[0051] In step 640, the process waits for the completion of steps 610, 620, and 630, and upon completion, the export process 605 ends. In the flowchart of Fig. 6, steps 610 to 630 are executed in sequence, and the export process 605 ends when all steps are completed in step 640, but it is also possible to check the completion of each step before executing each step. The reason for using a flowchart like Fig. 6 is that the processing time can be shortened by executing each step in parallel.

[0052] 7 is a flowchart of the disk export process (step 610). This procedure creates a disk image from the disk of the storage node, and the disk image created by the storage node is exported to the export / import information storage area 155. A disk image is a snapshot of the entire disk, including not only user data but also control information.

[0053] In step 705, the export processing program of the control node 145 instructs the storage node to perform disk export.

[0054] In step 710, the disk export processing program of the storage node 130 receives a disk export instruction from the control node 145 and identifies a disk to be exported. The disk to be exported may be a disk before it is connected to the storage node 130, or an export target disk management table may be prepared in the storage node 130 and the disk to be exported may be set in advance, and the disk export processing program may identify the disk by referring to the export target disk management table.

[0055] In step 715, the disc export processing program instructs the disc image generation function program to read data from the disc to be exported.

[0056] In step 720, the disk image generating function program receives an instruction from the disk export processing program and reads data stored on the disk to be exported.

[0057] In step 725 , the disk image generation function program compresses the read data to generate a disk image, and stores it in a predetermined area of ​​the storage node 130 .

[0058] In step 730, the disk image generator function program notifies the disk export function module that the generation of the disk image is complete.

[0059] In step 740 , the disk export function program receives a notification from the disk image generation function program that the generation of the disk image is complete, and transmits the disk image to the control node 145 . In step 750, the export processing program of the control node 145 references the storage destination information, stores the disk image received from the storage node in a prescribed export / import information storage area, and terminates the disk export processing.

[0060] 8 is a flowchart of the storage configuration information export process, which exports the storage configuration information of the storage node 130 to a predetermined export / import information storage area.

[0061] In step 805, the export processing program of the control node 145 instructs the storage node 130 to export the storage configuration information.

[0062] In step 810 , the storage configuration information export processing program of the storage node 130 reads the storage configuration information stored in the storage node 130 .

[0063] In step 815 , the storage configuration information export processing program transmits the read storage configuration information to the control node 145 .

[0064] In step 820 , the export processing program of the control node 145 references the storage destination information and stores the storage configuration information received from the storage node 130 in a specified area of ​​the control node 145 .

[0065] In step 825, the export processing program of the control node 145 references the storage destination information, stores the storage configuration information in a prescribed area of ​​the export / import information storage area 155, and terminates the storage configuration information export processing.

[0066] 9 is a flowchart of the templating process in the export process. With this procedure, when the template deployment service deploys a new storage node on the cloud service, a template describing the necessary components of the storage node is stored in the export / import information storage area 155.

[0067] In step 905, the export processing program of the control node 145 instructs the template deployment service on the cloud service to create a template for the storage node 130.

[0068] In step 910, the template deployment service creates a template for the storage node 130 from the configuration information of the virtual machines and disks deployed on the cloud service, and in step 915, the control node 145 retrieves the template and stores it in a specified area of ​​the control node 145.

[0069] In step 920 , the export processing program of the control node 145 references the storage destination information and stores the template in a predetermined area of ​​the export / import information storage area 155 .

[0070] Through the above steps, a template describing the configuration information of the storage node 130 is stored in the export / import information storage area 155.

[0071] Next, the template for the disk initial setting node is processed. The reason for processing the template for the disk initial setting node is as follows. In this embodiment, in order to address the issue that it takes time to process the initial setting to quickly make the disks connected to the new storage node 150 available, the same number of disk initial setting nodes 140 as the number of disks to be connected are deployed. Then, the initial setting of the disks is processed by a plurality of disk initial setting nodes 140, thereby shortening the processing time. Here, the number of disk initial setting nodes 140 needs to be determined. Then, it needs to be reflected in the template for the disk initial setting node.

[0072] First, in step 925, the export processing program of the control node 145 reads out a template for a new storage node. Then, the number of disks is extracted from the description of the read template for a new storage node. As an example of extraction, the description of the template is searched for "datadisks" and the number of occurrences is counted. The number of datadisks found as a result of the search is the number of disks. For example, if three datadisks are found, then the number of disks is three.

[0073] In step 930, the export processing program of the control node 145 reads out the template for the disk initial setting node, and adds disk descriptions for the number of disks confirmed in step 925 to the template for the disk initial setting node. An example of a method for updating a template is shown below. Generally, a description method for a template is defined, and this is utilized. For example, disk capacity, performance, and the like can be described as parameters, and the number of disks confirmed in step 925 can be added to the template.

[0074] In step 935, the export processing program of the control node 145 stores the disk initial setting node template updated in step 930 in the export / import information storage area 155, and ends the template processing.

[0075] FIG. 10 is a flowchart of an import process 1000 by the import function program of the control node 145.

[0076] The import process 1000 includes a deploy process 1010, a disk import process 1020, and a storage configuration import process 1030. The import process 1000 ends when these processes are completed. Regarding the order of these processes, the deploy process 1010 is performed first. This is because the disk import process 1020 and the storage configuration import process 1030 cannot be executed unless the new storage node 150 and the disk initial setting node 140 are deployed on the cloud service. There are no particular restrictions on the order of the disk import process 1020 and the storage configuration import process 1030.

[0077] The deployment process 1010, the disk import process 1020, and the storage configuration import process 1030 will be described below.

[0078] 11 is a flowchart of the deploy process 1010 in the import process 1000. Through this procedure, a new storage node 150 and a disk initial setting node 140 are deployed on the cloud service using the new storage node template and the disk initial setting template stored in the export / import information storage area 155 by the template deploy service.

[0079] In step 1105, the import function program of the control node 145 refers to the storage destination information and confirms the storage destination of the template.

[0080] In step 1110, the import function program of the control node 145 designates a template for the disk initial setting node and issues an instruction to the template deployment service to deploy the disk initial setting node 140 on the cloud service.

[0081] In step 1115, the import function program of the control node 145 specifies the template for the new storage node and issues an instruction to the template deployment service to deploy the new storage node 150 on the cloud service.

[0082] In step 1120, if the deployment of the disk initial setting node 140 and the new storage node 150 on the cloud service is completed (Yes), the deployment process 1010 ends. If the deployment of the disk initial setting node and the new storage node on the cloud service is not completed (No) in step 1120, the process waits until the deployment is completed.

[0083] 12 is a flowchart of the disk import process 1020 in the import process 1000. The disk import process 1020 includes a disk data restoration process 1205 and a disk connection destination switching process 1210. The disk data restoration process 1205 and the disk connection destination switching process 1210 will be described in detail below.

[0084] 13 is a flowchart of the disk data restoration process 1205 in the disk import process 1020. Through this procedure, the user data and control information stored on the disk connected to the storage node are stored in the disk image of the storage node 130 stored in the export / import information storage area 155, onto the disk connected to the initial setting node.

[0085] In step 1305, the import function program of the control node 145 instructs the disk initial setting node 140 to restore the disk.

[0086] In step 1310 , the disk import function program of the disk initial setting node 140 receives a disk restoration instruction from the control node 145 , reads out the disk image from the export / import information storage area 155 , and stores it in a prescribed area of ​​the disk initial setting node 140 .

[0087] In step 1320, the disk import function program of the disk initial setting node 140 instructs the disk restoration program to expand the disk image. As a result, the user data and control information of the disk connected to the storage node are temporarily expanded in the disk initial setting node.

[0088] In step 1325 , the disk restoration program of the disk initial setting node 140 writes the user data and control information expanded in the disk initial setting node 140 in step 1320 to a disk connected to the disk initial setting node 140 .

[0089] In step 1330, the disk import function module of the disk initial setting node 140 notifies the control node 145 that data restoration has been completed, and ends the disk data restoration process.

[0090] The disk data restoration process 1205 is executed for a plurality of disk initial setting nodes 140. For example, when there are three disk initial setting nodes 140, the process is executed for the three disk initial setting nodes 140.

[0091] 14 is a flowchart of the disk connection destination switching process 1210 in the disk import process 1020. This procedure connects the disk connected to the disk initial setting node 140, in which the disk data of the storage node has been restored, to the new storage node 150, and switches the node to which the disk is connected. That is, the disk state of the storage node 130 and the disk state of the new storage node 150 become the same. As a result, the new storage node 150 becomes available as a system without having to perform initial setting processing.

[0092] In step 1405 , the import function program of the control node 145 refers to the connection destination information, and confirms the identifier of the disk connected to the disk initial setting node 140 and the identifier of the virtual machine of the new storage node 150 .

[0093] In step 1410, the import function program of the control node 145, based on the identifier of the disk connected to the disk initial setting node 140, disconnects the disk connected to the disk initial setting node 140, and places it in a state where it is not connected to any node.

[0094] In step 1415 , the import function program of the control node 145 connects the disk that was disconnected in step 1410 to the virtual machine of the new storage node 150 .

[0095] In step 1420, it is confirmed whether all disks connected to the disk initial setting node 140 have been connected to the new storage node 150. If completed (Yes), the disk connection destination switching process is terminated; if not completed (No), the process is repeated until completed.

[0096] 15 is a flowchart of the storage configuration information import process in the import process. By this procedure, the storage configuration information of the storage node 130 is imported into the new storage node 150.

[0097] In step 1505 , the import function program of the control node 145 reads the storage configuration information stored in the export / import information storage area 155 .

[0098] In step 1510, the import function program of the control node 145 instructs the new storage node 150 to import the storage configuration information.

[0099] In step 1515 , the import function program of the control node 145 transmits the read storage configuration information to the new storage node 150 .

[0100] In step 1520, the storage configuration information import function program of the new storage node 150 stores the storage configuration information received from the control node 145 in a predetermined area of ​​the new storage node 150, and ends the storage configuration information import process.

[0101] By implementing the flowcharts shown in Figures 6 to 15, deploying a new storage node 150 on a cloud service as a test environment for the storage node 130, which previously required time for script execution, etc., can now be quickly deployed on the cloud service thanks to the functions provided by the export function and import function programs on the control node. EXAMPLES

[0102] A second embodiment of the present invention will be described below. In the first embodiment, the initial settings of the disk to be connected to the new storage node 150 are performed using a disk image generated by a disk image generation processing program of the storage node 130. In the first embodiment, the disk initial setting node 140 reads the disk image from the export / import information storage area 155 and restores the disk data, but communication occurs between the storage node 130 and the export information storage area, and between the export information storage area and the disk initial setting node, resulting in communication costs and transfer time.

[0103] Therefore, in the second embodiment, the data to be stored on the disk, the guarantee code to be added to the data, and the control information are automatically generated in the disk initial setting node 140, thereby suppressing the communication cost and transfer time. It is conceivable that the system provider will determine several standard configurations for users who use the storage system and have the users select from the configurations. In this case, since the system capacity, the number of disks, and the functions to be applied to the storage system are known in advance, it is also possible to grasp the storage location and capacity of the control information to be stored on the disk. In addition, the guarantee code to be added to the data to be stored on the disk can be automatically generated if a hint for generating the guarantee code (for example, a logical block address) is known.

[0104] As described above, the disclosed system is a computer system including a plurality of storage nodes 130 each having a processor and constituting a storage system using logical storage areas of one or more disks, and a control node 145 also having a processor and managing the storage nodes. When deploying a storage system to a new storage node, the control node 145 uses a template deployment service to create a template from configuration information of the existing storage node 130, and the control node 145 configures a plurality of initial setting nodes (140) and causes the plurality of initial setting nodes to perform initial setting in parallel, using the template to convert and store data held by the existing storage node 130 in a plurality of disks to be connected to a new storage node (150). The new storage node connects to the initially configured disks and imports the configuration information of the existing storage, thereby deploying the storage system. As a result, there is no need to execute a script to set configuration information, and the data to be stored on disk, the guarantee code to be assigned to the data, and control information can be written quickly, thereby reducing the time required to reconfigure a computer system.

[0105] As another example, the control node 145 instructs the existing storage node to export data, the existing storage node transmits data of the disk to be exported connected to itself to the initial setting node, the multiple initial setting nodes restore data to the disks connected to themselves using the data received from the existing storage nodes, and the control node disconnects the disk on which data restoration by the initial setting node has been completed from the initial setting node and connects it to the new storage node. According to this configuration, by utilizing an existing storage node, the data to be stored on the disk, the guarantee code to be assigned to the data, and the control information can be written at high speed, making it easy to replicate an existing storage node.

[0106] Also, as an example, the initial setting node generates data to be stored on the disk, a guarantee code to be added to the data, and control information based on a configuration selected by the user. According to this configuration, storage nodes with a specified configuration can be easily added.

[0107] The control node 145 also generates a template that describes the components of the existing storage nodes, and deploys the new storage nodes based on the template. This makes it possible to easily set, for example, configuration information such as a virtual machine, an OS running on the virtual machine, a system disk connected to the virtual machine, a data disk, a network interface, and an IP address, as well as access control rules.

[0108] The above-mentioned embodiment has been described in detail to explain the present invention in an easily understandable manner, and is not necessarily limited to having all of the configurations described. In addition, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. In addition, it is possible to add, delete, or replace a part of the configuration of each embodiment with another configuration.

[0109] Further, the above-mentioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits, etc. Also, the above-mentioned configurations, functions, etc. may be realized in software, by a processor interpreting and executing a program that realizes each function.

[0110] Furthermore, information such as programs, tables, and files that realize each function may be stored in a memory, a storage device such as a hard disk or SSD, or a storage medium such as an IC card, an SD card, or a DVD. Furthermore, the control lines and information lines shown are those considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. In reality, it may be considered that almost all components are connected to each other.

[0111] In the above embodiment, the replication of an existing storage node is described as an example, but the present invention is not limited to replication and can be applied. Data exported from an existing storage node can be transmitted via any route. In the above embodiment, the disk export and import process using a disk image of a disk is described, but data stored on the disk of a storage node may be directly exported to an export / import information storage area. In addition, a snapshot of an existing storage node may be used using a snapshot function provided by a cloud vendor, instead of a disk image of a disk. [Explanation of symbols]

[0112] 100 ...... information processing system, 110 ...... host, 115 ...... management terminal, 120 ...... cloud service, 125 ...... compute node, 130 ...... storage node, 135 ...... template deployment service, 140 ...... control node, 145 ...... disk initial setting node, 150 ...... new storage node, 155 ...... export / import information storage area

Claims

1. a plurality of storage nodes each having a processor and constituting a storage system using a logical storage area of ​​one or a plurality of disks; a control node having a processor and managing the storage nodes; In a computer system comprising: When deploying a storage system to a new storage node, The control node uses a template deployment service to create a template from configuration information of an existing storage node; The control node sets a plurality of initial setting nodes, and causes the plurality of initial setting nodes to perform in parallel an initial setting for converting and storing data held by the existing storage nodes using the template in a plurality of disks to be connected to new storage nodes; The new storage node connects to the initialized disk and imports the configuration information of the existing storage, thereby deploying the storage system.

1. A computer system comprising:

2. 2. The computer system of claim 1, The control node instructs the existing storage node to export data; The existing storage node transmits data of the disk to be exported connected to itself to the initial setting node; The plurality of initial setting nodes restore data to disks connected thereto using the data received from the existing storage nodes; The control node disconnects the disk on which data restoration by the initial setting node has been completed from the initial setting node and connects it to the new storage node.

1. A computer system comprising:

3. 2. The computer system of claim 1, The computer system is characterized in that the initial setting node generates data to be stored on the disk, a guarantee code to be added to the data, and control information based on a configuration selected by a user.

4. A method for managing a computer system including a plurality of storage nodes each having a processor and constituting a storage system using a logical storage area of ​​one or a plurality of disks, and a control node each having a processor and managing the storage nodes, comprising: When deploying a storage system to a new storage node, The control node uses a template deployment service to create a template from configuration information of an existing storage node; The control node sets a plurality of initial setting nodes, and causes the plurality of initial setting nodes to perform in parallel an initial setting for converting and storing data held by the existing storage nodes using the template in a plurality of disks to be connected to new storage nodes; The new storage node connects to the initialized disks and imports the configuration information of the existing storage, thereby deploying the storage system. A method for managing a computer system comprising the steps of:

Citation Information

Patent Citations

  • Using Infrastructure-As-Code ('IaC') To Update A Cloud-Based Storage System

    US20220052910A1