CN110417894B - Storage cluster deployment system and method - Google Patents

Storage cluster deployment system and method Download PDF

Info

Publication number
CN110417894B
CN110417894B CN201910699773.6A CN201910699773A CN110417894B CN 110417894 B CN110417894 B CN 110417894B CN 201910699773 A CN201910699773 A CN 201910699773A CN 110417894 B CN110417894 B CN 110417894B
Authority
CN
China
Prior art keywords
deployment
module
program
cluster
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910699773.6A
Other languages
Chinese (zh)
Other versions
CN110417894A (en
Inventor
耿倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910699773.6A priority Critical patent/CN110417894B/en
Publication of CN110417894A publication Critical patent/CN110417894A/en
Application granted granted Critical
Publication of CN110417894B publication Critical patent/CN110417894B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

The present disclosure provides a system for deploying a storage cluster, the system comprising: a target node comprising one or more storage clusters; and the control node comprises a deployment program hatching module and a deployment program execution module. And the deployment program hatching module is used for generating a deployment control program according to the cluster configuration item and the module program list. The deployment program executing module is used for executing the deployment control program generated by the deployment program hatching module aiming at the one or more storage clusters included in the target node so as to realize the deployment of the one or more storage clusters. The disclosure also provides a method applied to the system, an electronic device and a computer readable storage medium.

Description

Storage cluster deployment system and method
Technical Field
The present disclosure relates to the field of computer technologies, and more particularly, to a system and method for deploying a storage cluster, which implement fast deployment of a large-scale distributed storage cluster based on a local area network.
Background
Current storage cluster deployments are primarily Ceph-based distributed storage clusters deployed in local area networks. However, deployment is performed by using a currently universal Ceph deployment tool, operation steps are complicated, human-computer interaction is frequent, and requirements on technical levels of implementers are high. Meanwhile, the correlation between the workload of distributed storage cluster deployment based on Ceph and the cluster scale or the cluster number is strong, and when the number of nodes in a cluster is increased or the number of clusters is increased, the workload of deployment is increased in multiples, so that the labor cost, the time cost, the error rate and the like are correspondingly increased. In addition, in the process of deployment by using the Ceph deployment tool, internet resources need to be accessed for many times, which may cause many problems due to the fact that the internet cannot be accessed, and deployment cannot be completed smoothly.
Therefore, how to complete the rapid deployment work of a multi-cluster or large-scale distributed storage cluster environment is a problem which needs to be solved urgently in the context of rapid delivery of the current basic environment.
Disclosure of Invention
One aspect of the present disclosure provides a system for deploying a storage cluster, the system comprising: a target node comprising one or more storage clusters; and the control node comprises a deployment program hatching module and a deployment program execution module, wherein the deployment program hatching module is used for generating a deployment control program according to the cluster configuration item and the module program list, and the deployment program execution module is used for executing the deployment control program generated by the deployment program hatching module aiming at the one or more storage clusters included in the target node so as to realize the deployment of the one or more storage clusters.
Optionally, the cluster configuration item may include at least one of: a cluster identifier, a list of child nodes included in the cluster, and a function of the child nodes.
Optionally, the control node may further include: a module program set including module programs for deploying a storage cluster, wherein the deployment program execution module is configured to call the module programs included in the module program set so as to execute the deployment control program, and the module program list includes names of the module programs in the module program set.
Optionally, the deployment program executing module may be configured to execute the deployment control program so as to assemble the module programs included in the module program set and called by the deployment program executing module in a specific order, wherein parameters of the called module programs have been set by the deployment program hatching module based on the cluster configuration items.
Optionally, the system may further include: a media store connected to the one or more storage clusters included in the target node and configured to provide software media required to deploy the one or more storage clusters, wherein the control node may further include: a redirection module to redirect a need to access an internet resource during deployment of the one or more storage clusters to the media store.
Optionally, the system may further include: a clock source connected to the one or more storage clusters included in the target node and configured to provide a reference clock signal, wherein each of the one or more storage clusters may include at least one child node, and the at least one child node is configured to obtain the reference clock signal from the clock source to synchronize clocks of the at least one child node.
Another aspect of the present disclosure provides a method for deploying a storage cluster, applied to the system as described above, the method including: generating a deployment control program according to the cluster configuration item and the module program list; and executing the generated deployment control program for one or more storage clusters included in the target node so as to realize the deployment of the one or more storage clusters.
Optionally, the cluster configuration item may include at least one of: a cluster identifier, a list of child nodes included in the cluster, and a function of the child nodes.
Optionally, the method may further include: providing a module program for deploying a storage cluster; and calling the module program to execute the deployment control program, wherein the module program list may include names of the module programs.
Optionally, executing the deployment control program may include: and assembling the called module programs according to a specific sequence, wherein the parameters of the called module programs are set based on the cluster configuration items.
Optionally, the method may further include: redirecting a demand for access to internet resources during deployment of the one or more storage clusters to a media repository, wherein the media repository provides software media required to deploy the one or more storage clusters.
Optionally, the method may further include: providing a reference clock signal to at least one child node included in each of the one or more storage clusters to synchronize clocks of the at least one child node.
Another aspect of the present disclosure provides an electronic device, including: at least one processor; and a memory for storing at least one instruction, wherein the at least one instruction, when executed by the at least one processor, causes the at least one processor to implement the method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when executed.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
FIG. 1 schematically illustrates a diagram of a system for deploying a storage cluster, according to an embodiment of the disclosure;
FIG. 2 schematically illustrates a diagram of a system for deploying a storage cluster according to another embodiment of the disclosure;
FIG. 3 schematically illustrates a diagram of a system for deploying a storage cluster according to another embodiment of the present disclosure;
FIG. 4 schematically illustrates a diagram of a system for deploying a storage cluster according to another embodiment of the present disclosure;
FIG. 5 schematically illustrates a flow chart of a method for deploying a storage cluster according to an embodiment of the present disclosure;
FIG. 6 schematically illustrates an implementation flow diagram of one example of operations for executing a deployment control program in accordance with an embodiment of the present disclosure; and
fig. 7 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure.
Throughout the drawings, the same or similar reference numbers may refer to the same or similar elements, components, or modules.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It is to be understood that such description is merely illustrative and not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). Additionally, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
Unless explicitly described in a sequential or otherwise, the operations of the method may be performed in a suitable order. That is, the operations are not limited to the order in which the operations are described. In the present disclosure, example or exemplary terms (e.g., "such as" and "etc.) are used for descriptive purposes and are not intended to limit the scope of the disclosure unless defined by the claims.
Terms such as "unit" or "module" are used to denote a unit having at least one function or operation, and may be implemented in hardware, software, or a combination of hardware and software.
The embodiment of the disclosure provides a system and a method for deploying a storage cluster, which remove strong correlation between deployment workload and cluster specification by extracting cluster-related settings or human-computer interaction contents in a cluster deployment process as cluster configuration items and dividing the cluster configuration items into different functional modules, thereby greatly reducing the deployment workload complexity and the dependency on the technical level of implementers, simplifying operation steps, reducing the human-computer interaction times, and improving deployment efficiency and success rate. In addition, the storage cluster deployment system and method according to the embodiment of the disclosure support simultaneous deployment (concurrent deployment) of multiple clusters, and can realize rapid deployment of large-scale distributed storage clusters.
Optionally, the storage cluster deployment system and method according to the embodiment of the present disclosure store a full amount of software packages (i.e., software media) required for deploying the distributed storage cluster by setting a medium warehouse, and may redirect a requirement that internet resources need to be accessed during cluster deployment to the medium warehouse, so as to solve problems of software packages, missing dependent packages, and the like caused by internet failure.
FIG. 1 schematically shows a diagram of a system for deploying a storage cluster, according to an embodiment of the disclosure. It should be noted that fig. 1 is only an example of a system to which the inventive concept may be applied to assist those skilled in the art in understanding the technical content of the present disclosure, and does not mean that the embodiments of the present disclosure may not be used in other devices, systems, environments or scenarios.
As shown in fig. 1, a storage cluster deployment system 10 according to an embodiment of the disclosure may include a target node 11 and a control node 12. The target node 11 may represent a deployment object for which the deployment control program is directed and may include at least one storage cluster. The control node 12 may represent a deployment overall control node for performing deployment work on at least one storage cluster included in the target node 11. According to the embodiment of the disclosure, the user may complete the deployment of the plurality of storage clusters by only logging in to the control node 12, without respectively logging in to the cluster to be deployed as the target node.
In the present disclosure, the target node 11 may be one or more groups of servers built to deploy the storage cluster environment.
An example of a control node 12 is described in detail below in conjunction with fig. 1.
Control node 12 may include a deployment program incubation module 121 and a deployment program execution module 122.
Deployment program incubation module 121 may be configured to generate a deployment control program from the cluster configuration items and the module program list. According to the embodiment of the disclosure, the cluster configuration item can be customized by a user according to needs. In other words, in the present disclosure, deployment program incubation module 121 may receive information about cluster configuration items from a user.
The system 10 according to the embodiment of the present disclosure may extract cluster-related settings or human-computer interaction contents related in the storage cluster deployment process as cluster configuration items for a user to select and use. By setting the cluster configuration items, the coupling of the module program and the deployment target node can be reduced, so that the simultaneous deployment of multiple clusters is supported.
According to an embodiment of the present disclosure, the cluster configuration item may include at least one of: a cluster identifier, a list of child nodes included in the cluster, and a function of the child nodes. Further, the cluster identifier may be used to distinguish between different storage clusters so that system 10 establishes corresponding working directories for the different storage clusters to enable multi-cluster concurrent deployment without interfering with each other. The cluster identifier may be user defined. The list of child nodes included in the cluster may be used to define the operational scope of system 10 and may include information to store the IP and host names of all child nodes in the cluster. The functionality of a child node may represent the functionality undertaken by each child node in a storage cluster in order for system 10 to deploy corresponding software and settings on the corresponding child node. As an example, in the case of cluster deployment using a Ceph deployment tool, each child node in the Storage cluster to be deployed may be designated to assume the function of a corresponding component of the Ceph cluster, e.g., a mon (monitor) component, an osd (object Storage device) component, an MGR component, an RGW component, and so on.
Optionally, the cluster configuration item may further include at least one of: a storage child node identification list including identifiers of child nodes to be managed as OSD nodes; and user login information related to the target node. As described herein, an OSD node may represent a node in a Ceph cluster that performs the function of an OSD component. For example, the storage child node identification list may include a list of drive letters of disks of the OSD nodes to be managed by Ceph. According to an embodiment of the present disclosure, the storage child node identification list may be used to define a disk initialization range for each OSD node when initializing the OSD nodes. As an example, the user login information related to the target node may include a user name and password information required to log in to the target node 11, so that the control node 12 performs operations such as remote login to the target node 11, thereby avoiding a user from manually inputting information and reducing man-machine interaction frequency.
According to an embodiment of the present disclosure, the module program list may include names of module programs in the module program set. The set of modular programs may include a modular program (e.g., a cluster cleaning modular program) for deploying the storage cluster. The module program list may be used by the deployment program incubation module 121 to generate the deployment control program. In other words, when the deployment program hatching module 121 generates the deployment control program, the deployment control program may refer to the module programs included in the module program set according to the module program list.
According to an embodiment of the present disclosure, the above-described module program set may be included in the control node 12 so as to be called by the deployment program execution module 122 to execute the deployment control program. As described above, a modular program set may include a plurality of modular programs associated with a storage cluster deployment. The control node 12 included in the system 10 according to the embodiment of the present disclosure may call a single module program or assemble a plurality of module programs for use according to the specific functional requirements of the storage cluster (target node). For example, when the control node 12 determines that cluster cleaning is required, a cluster cleaning module program in the module program set may be called separately.
According to an embodiment of the present disclosure, the deployment program execution module 122 may be configured to execute the deployment control program generated by the deployment program incubation module 121 for at least one storage cluster included in the target node 11, so as to implement the deployment of the storage cluster. In the embodiment of the present disclosure, the deployment control program generated by the deployment program incubation module 121 may represent an overall program for controlling the storage cluster deployment work, and makes sequential calls to the module programs included in the module program set when executed by the deployment program execution module 122, without including the specific contents of the module programs. That is, the deployment program execution module 122 may be configured to execute the deployment control program so as to assemble the module programs called by the deployment program execution module 122 in the module program set in a specific order, and the parameters of the called module programs have been set by the deployment program incubation module 121 based on the cluster configuration items.
According to an embodiment of the present disclosure, the cluster configuration items correspond to storage clusters included in the target node 11, and the deployment control program also corresponds to storage clusters included in the target node 11. For example, when the target node 11 includes n storage clusters, the deployment program incubation module 121 may generate n deployment control programs corresponding to the n storage clusters based on n cluster configuration items corresponding to the n storage clusters and corresponding module program lists, where n is an integer greater than or equal to 1.
FIG. 2 schematically illustrates a diagram of a system for deploying a storage cluster according to another embodiment of the disclosure.
As shown in fig. 2, a storage cluster deployment system 20 according to another embodiment of the present disclosure may include the components of the system 10 as shown in fig. 1, namely, a target node 11 and a control node 12. The system 20 may further include a media store 13.
In an embodiment of the present disclosure, the target node 11 may represent a deployment object for which the control program is deployed, and may include at least one storage cluster. The control node 12 may represent a deployment general control node for performing deployment work on at least one storage cluster included in the target node 11, and may include a deployment program incubation module 121 and a deployment program execution module 122. Further, in embodiments of the present disclosure, the deployment program incubation module 121 may be configured to generate the deployment control program according to the cluster configuration items and the module program list. The deployment program execution module 122 may be configured to execute the deployment control program generated by the deployment program incubation module 121 for at least one storage cluster included in the target node 11, so as to implement the deployment of the storage cluster. Since the description of the deployment program hatching module 121 and the deployment program execution module 122 described above with reference to fig. 1 is applicable to fig. 2, a detailed description of the deployment program hatching module 121 and the deployment program execution module 122 will be omitted here.
Referring to fig. 2, a media store 13 may be connected to the target node 11. Further, the media store 13 may be connected to at least one storage cluster comprised in the target node 11. In embodiments of the present disclosure, the media store 13 may provide the software media needed to deploy the storage cluster. That is, the media repository 13 may provide software media to at least one storage cluster included in the target node 11 in response to a predetermined command in order to complete the deployment work of the storage cluster.
In this case, the control node 12 may further comprise a redirection module 123. The redirection module 123 may be configured to redirect a need to access internet resources during deployment of the storage cluster to the media store 13. In this way, the storage cluster deployment system 20 according to the embodiment of the present disclosure may store the whole amount of software media required for deploying the distributed storage cluster by setting the media repository 13, and may redirect the requirement that internet resources need to be accessed during cluster deployment to the media repository 13, so as to solve the problems of software package, missing dependent package, and the like caused by the inability to access the internet.
FIG. 3 schematically illustrates a diagram of a system for deploying a storage cluster according to another embodiment of the disclosure.
As shown in fig. 3, a storage cluster deployment system 30 according to another embodiment of the present disclosure may include the components of the system 10 as shown in fig. 1, namely, a target node 11 and a control node 12. The system 30 may also include a clock source 14.
In an embodiment of the present disclosure, the target node 11 may represent a deployment object for which the control program is deployed, and may include at least one storage cluster. The control node 12 may represent a deployment general control node for performing deployment work on at least one storage cluster included in the target node 11, and may include a deployment program incubation module 121 and a deployment program execution module 122. Further, in embodiments of the present disclosure, the deployment program incubation module 121 may be configured to generate the deployment control program according to the cluster configuration items and the module program list. The deployment program execution module 122 may be configured to execute the deployment control program generated by the deployment program incubation module 121 for at least one storage cluster included in the target node 11, so as to implement the deployment of the storage cluster. Since the above description of the deployment program hatching module 121 and the deployment program execution module 122 with reference to fig. 1 is applicable to fig. 3, a detailed description of the deployment program hatching module 121 and the deployment program execution module 122 will be omitted here.
Referring to fig. 3, a clock source 14 may be connected to the target node 11. Further, the clock source 14 may be connected to at least one storage cluster comprised in the target node 11. In embodiments of the present disclosure, the clock source 14 may provide a reference clock signal. That is, the clock source 14 may provide a reference clock signal to the storage cluster as the target node to achieve clock synchronization. Further, in embodiments of the present disclosure, the clock source 14 may provide a reference clock signal to the child nodes included in each storage cluster to synchronize the clocks of the child nodes. Therefore, the situation of abnormal deployment caused by overlarge clock difference between nodes can be avoided by using the same clock source.
FIG. 4 schematically illustrates a diagram of a system for deploying a storage cluster according to another embodiment of the disclosure.
As shown in fig. 4, a storage cluster deployment system 40 according to another embodiment of the present disclosure may include the components of the system 10 as shown in fig. 1, namely, a target node 11 and a control node 12. The system 40 may further include a media repository 13 and a clock source 14.
In an embodiment of the present disclosure, the target node 11 may represent a deployment object for which the control program is deployed, and may include at least one storage cluster. The control node 12 may represent a deployment general control node for performing deployment work on at least one storage cluster included in the target node 11, and may include a deployment program incubation module 121 and a deployment program execution module 122. Further, in embodiments of the present disclosure, the deployment program incubation module 121 may be configured to generate the deployment control program according to the cluster configuration items and the module program list. The deployment program execution module 122 may be configured to execute the deployment control program generated by the deployment program incubation module 121 for at least one storage cluster included in the target node 11, so as to implement the deployment of the storage cluster. Since the description of the deployment program hatching module 121 and the deployment program execution module 122 described above with reference to fig. 1 is applicable to fig. 4, a detailed description of the deployment program hatching module 121 and the deployment program execution module 122 will be omitted here.
In a system 40 according to another embodiment of the present disclosure, a media store 13 may be connected to the target node 11. Further, the media repository 13 may be connected to at least one storage cluster comprised in the target node 1 l. According to embodiments of the present disclosure, the media store 13 may provide software media required to deploy the storage cluster. That is, the media repository 13 may provide software media to at least one storage cluster included in the target node 11 in response to a predetermined command in order to complete the deployment work of the storage cluster.
In this case, the control node 12 may further comprise a redirection module 123. The redirection module 123 may be configured to redirect a need to access internet resources during deployment of the storage cluster to the media store 13. In this way, the storage cluster deployment system 40 according to the embodiment of the present disclosure may store the whole amount of software media required for deploying the distributed storage cluster by setting the media repository 13, and may redirect the requirement that internet resources need to be accessed during cluster deployment to the media repository 13, so as to solve the problems of software package, missing dependent package, and the like caused by the inability to access the internet.
Additionally, in a system 40 according to another embodiment of the present disclosure, the clock source 14 may be connected to the target node 11. Further, the clock source 14 may be connected to at least one storage cluster comprised in the target node 11. According to embodiments of the present disclosure, the clock source 14 may provide a reference clock signal. That is, the clock source 14 may provide a reference clock signal to the storage cluster as the target node to achieve clock synchronization. Further, in embodiments of the present disclosure, the clock source 14 may provide a reference clock signal to the child nodes included in each storage cluster to synchronize the clocks of the child nodes. Therefore, the situation of abnormal deployment caused by overlarge clock difference between nodes can be avoided by using the same clock source.
The storage cluster deployment system 40 according to another embodiment of the present disclosure may store the whole amount of software media required for deploying the distributed storage cluster by setting the media warehouse 13, and may redirect the requirement that internet resources need to be accessed in the cluster deployment process to the media warehouse 13, so as to solve the problems of software package, missing dependent package, and the like caused by the inability to access the internet. In addition, system 40 may avoid deployment anomalies due to excessive clock differences between nodes by using the same clock source.
In various embodiments of the present disclosure, the media store 13 and the clock source 14 may be provided as a deployment assistance node for providing an assistance function in a cluster deployment process, as described above.
FIG. 5 schematically illustrates a flow chart of a method for deploying a storage cluster according to an embodiment of the present disclosure.
As shown in fig. 5, a storage cluster deployment method 500 according to an embodiment of the present disclosure may include operations S501 to S503. The method 500 may be performed by any of the storage community deployment systems described above with reference to fig. 1-4. Therefore, the description made above with reference to fig. 1 to 4 also applies to fig. 5. For example, the method 500 may be performed by the control node 12.
In operation S501, the control node 12 (specifically, the deployment program incubation module 121) may receive information about cluster configuration items from a user. According to an embodiment of the present disclosure, the cluster configuration item corresponds to a storage cluster included in the target node.
In operation S502, the control node 12 (specifically, the deployment program incubation module 121) may generate a deployment control program according to the cluster configuration item and the module program list. According to an embodiment of the present disclosure, the module program list may include names of module programs in the module program set, and the module program set may include module programs for deploying the storage cluster. The deployment control program may represent an overall program for controlling the storage cluster deployment work, and corresponds to the storage cluster included in the target node.
In operation S503, the control node 12 (specifically, the deployment program execution module 122) may execute the deployment control program generated by the deployment program incubation module 121 with respect to one or more storage clusters included in the target node, so as to implement deployment of the one or more storage clusters. According to an embodiment of the present disclosure, the deployment program execution module 122 may be configured to execute the deployment control program so as to assemble the module programs called by the deployment program execution module 122 in the module program set in a specific order, and the parameters of the called module programs have been set by the deployment program hatching module 121 based on the cluster configuration items.
For a better understanding of the embodiments of the present disclosure, an example implementation of operation S503 for executing the deployment control program will be described in detail below with reference to fig. 6. Those skilled in the art will appreciate that the implementation shown in fig. 6 is merely an example, and embodiments of the present disclosure are not limited thereto.
Fig. 6 schematically shows an implementation flowchart of one example of operation S503 for executing the deployment control program according to an embodiment of the present disclosure.
Here, a case where cluster deployment is performed using the Ceph deployment tool is described as an example. The description made above with reference to fig. 1 to 5 also applies to fig. 6.
As shown in fig. 6, in step S5031, the control node 12 may determine whether to perform cluster cleaning on a target node (e.g., a storage cluster to be deployed). If so, then step S5032 is performed, otherwise step S5033 is performed.
In step S5032, the control node 12 may perform cluster cleaning of the target node by using a cluster cleaning module program in the module program set so as to clean the historical cluster environment of the target node.
In step S5033, the control node 12 may perform cluster deployment preprocessing on the target node. As an example, the pre-processing may include at least one of: verifying the network connectivity of the target node, verifying the host name of the target node, synchronizing the host setting, configuring the secret-free login of the control node to the target node, stopping the firewall of the target node, or installing and synchronizing the clock of the target node.
Thereafter, in step S5034, the control node 12 may initialize the cluster of the target node to generate a cluster basic configuration and a key file.
In step S5035, the control node 12 may perform Ceph installation. Specifically, the required software media is obtained by accessing a media repository and the Ceph software and associated programs are installed on the target node.
In step S5036, the control node 12 may initialize the MON component of Ceph and synchronize the relevant key file to the target node.
In step S5037, the control node 12 may prompt the user whether to perform disk initialization. If not, go to step S5038, otherwise go to step S5039.
In step S5038, the control node 12 may receive a user input to cancel the operation and end the cluster deployment job.
In step S5039, the control node 12 may initialize the OSD component of Ceph.
In step S5040, the control node 12 may initialize the MGR component of Ceph.
In step S5041, control node 12 may initialize the RGW component of Ceph.
As described above, embodiments of the present disclosure provide a system and a method for deploying a storage cluster, which can implement fast deployment of a large-scale distributed storage cluster based on a local area network, and effectively solve a series of problems in deploying a Ceph distributed storage cluster in a local area network environment. In the embodiment, the cluster related setting or the man-machine interaction content in the cluster deployment process is extracted as the cluster configuration items and divided into different functional modules, so that the strong correlation between the deployment workload and the cluster scale is removed, the deployment program and the cluster configuration are decoupled, the reusability of the deployment program is improved, and a good foundation is laid for the easy expandability of the system function. In addition, the storage cluster deployment system and the storage cluster deployment method according to the embodiment of the disclosure support multi-cluster concurrent deployment, and the deployment program incubation of a plurality of clusters can be completed through simple configuration, so that the cluster deployment agility is improved.
In addition, the cluster deployment workload is not influenced by the scale of the cluster nodes, the reduced man-machine interaction times (constant magnitude) obviously improve the efficiency and success rate of the cluster deployment work, effectively reduce the dependency on the technical level of implementation personnel, and provide powerful support for rapid delivery in a large-scale distributed storage cluster environment.
According to the embodiment of the disclosure, in the process of using Ceph to deploy the distributed storage cluster, the number of human-computer interactions is constant 3 (respectively: setting cluster configuration items, determining whether to clean the historical cluster environment and whether to initialize a disk), and the number of interactions does not change with the change of the number of cluster nodes. Compared with manual deployment, the human-computer interaction rate is reduced by more than 99%. Meanwhile, as most of the interactions involved in manual deployment are input commands, specified command parameters and the like, manual deployment requires typing more characters than responding to question and answer information (highlight information) provided by the cluster deployment system. The time consumption reduction degree of the concept of the invention is more obvious, and the advantages of the invention are more obvious as the number of Ceph clusters or the number of nodes is increased.
Table 1 below shows the difference between human-computer interaction between manual deployment in a lan environment and deployment using the present disclosure, by way of comparative example, on different node scales based on Ceph clusters.
TABLE 1
Number of Ceph nodes Number of manual deployment interactions Number of interactions of the invention Interaction rate reduction of the invention
3 475 3 99.4%
6 1390 3 99.8%
9 2773 3 99.9%
12 4624 3 99.9%
15 6943 3 100.0%
18 9730 3 100.0%
21 12985 3 100.0%
24 16708 3 100.0%
27 20899 3 100.0%
30 25558 3 100.0%
33 30685 3 100.0%
36 36280 3 100.0%
According to table 1, when the number of Ceph nodes is 3, the number of man-machine interactions deployed manually is 475, and the number of man-machine interactions of the present invention is 3, so that the man-machine interaction rate of the present invention is reduced by 99.4%. When the number of the Ceph nodes exceeds 15, the human-computer interaction rate is reduced by 100%.
Fig. 7 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure. The electronic device shown in fig. 7 is only an example, and should not bring any limitation to the function and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, an electronic device 700 according to an embodiment of the disclosure may include at least one processor 701 and a memory 702. The electronic apparatus 700 may perform a method for deploying a storage cluster according to the above embodiments, such as the method 500 shown in fig. 5. The description made above with reference to fig. 1 to 6 applies to fig. 7, and will not be described again.
Processor 701 may include, for example, a general purpose microprocessor, an instruction set processor and/or an associated chip set and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), and/or the like. The processor 701 may also include on-board memory for caching purposes. The processor 701 may be a single processing unit or a plurality of processing units for performing the different operations of the method flows according to embodiments of the present disclosure.
Memory 702 may be, for example, a non-volatile computer-readable storage medium, specific examples including, but not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The memory 702 may include a computer program that may include code/computer-executable instructions that, when executed by the processor 701, cause the processor 701 to perform a method according to embodiments of the present disclosure, or any variation thereof.
The computer program may be configured with computer program code, for example comprising computer program modules. For example, in an example embodiment, code in the computer program may include one or more modules, including, for example, modules 121, 122, 123 described above. It should be noted that the division and number of the modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, when the program modules are executed by the processor 701, so that the processor 701 may execute the method according to the embodiment of the present disclosure or any variation thereof.
According to an embodiment of the present disclosure, at least one of deployment program incubation module 121, deployment program execution module 122, and redirection module 123 may be implemented as a computer program module as described with reference to fig. 7, which, when executed by processor 701, may implement the respective operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more computer-executable instructions that, when executed, implement a method according to an embodiment of the disclosure.
Any of the modules, units, or at least part of the functionality of any of them according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, units according to the embodiments of the present disclosure may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by any other reasonable means of hardware or firmware by integrating or packaging the circuits, or in any one of three implementations of software, hardware and firmware, or in any suitable combination of any of them. Alternatively, one or more of the modules, units according to embodiments of the present disclosure may be implemented at least partly as computer program modules, which, when executed, may perform the respective functions.
For example, deployment program incubation module 121, deployment program execution module 122, and redirection module 123 may be combined in one module for implementation, or any one of them may be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the deployment program incubation module 121, the deployment program execution module 122, and the redirection module 123 may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or may be implemented in any one of three implementations of software, hardware, and firmware, or in a suitable combination of any of them. Alternatively, at least one of deployment program incubation module 121, deployment program execution module 122 and redirection module 123 may be at least partially implemented as a computer program module, which when executed, may perform a corresponding function.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
While the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be determined not only by the following claims, but also by equivalents thereof.

Claims (12)

1. A system for deploying a storage cluster, the system comprising:
a target node comprising one or more storage clusters; and
a control node comprising a module program set, a deployment program incubation module and a deployment program execution module,
wherein the set of module programs includes module programs for deploying a storage cluster;
the deployment program incubation module is used for generating a deployment control program according to the cluster configuration item and the module program list; the cluster configuration items are obtained by extracting cluster related settings or man-machine interaction contents in a cluster deployment process; the module program list comprises names of module programs in the module program set;
the deployment program executing module is used for executing a deployment control program generated by the deployment program hatching module aiming at the one or more storage clusters included in the target node so as to realize the deployment of the one or more storage clusters; wherein the deployment control program does not include specific contents of module programs, and sequentially calls the module programs included in the module program set when being executed by the deployment program execution module;
wherein the cluster configuration item corresponds to a storage cluster included in the target node, and the deployment control program corresponds to the storage cluster included in the target node.
2. The system of claim 1, wherein the cluster configuration items comprise at least one of: a cluster identifier, a list of child nodes included in the cluster, and a function of the child nodes.
3. The system according to claim 1, wherein the deployment program execution module is configured to execute the deployment control program so as to assemble the module programs included in the module program set, which are called by the deployment program execution module, in a specific order; and
wherein the parameters of the called module program are set by the deployment program incubation module based on the cluster configuration items.
4. The system of claim 1, further comprising:
a media store connected to the one or more storage clusters included in the target node and configured to provide software media required to deploy the one or more storage clusters,
wherein the control node further comprises: a redirection module to redirect a need to access an internet resource to the media store during deployment of the one or more storage clusters.
5. The system of claim 1, further comprising:
a clock source connected to the one or more storage clusters included in the target node and configured to provide a reference clock signal,
wherein each of the one or more storage clusters comprises at least one child node, an
The at least one child node is configured to obtain the reference clock signal from the clock source, so as to synchronize a clock of the at least one child node.
6. A method for deploying a storage cluster, applied to the system of claim 1, the method comprising:
generating a deployment control program according to a cluster configuration item and a module program list, wherein the cluster configuration item is obtained by extracting cluster related settings or man-machine interaction contents in a cluster deployment process; the module program list comprises names of module programs for deploying the storage cluster; and
executing the generated deployment control program for one or more storage clusters included in the target node so as to realize the deployment of the one or more storage clusters, wherein the deployment control program does not include the specific content of the module program and makes sequential calls to the module program for deploying the storage clusters when being executed;
wherein the cluster configuration item corresponds to a storage cluster included in the target node, and the deployment control program corresponds to the storage cluster included in the target node.
7. The method of claim 6, wherein the cluster configuration items comprise at least one of: a cluster identifier, a list of child nodes included in the cluster, and a function of the child nodes.
8. The method of claim 6, wherein executing the deployment control program comprises: assembling the called module programs according to a specific sequence; and
and setting parameters of the called module program based on the cluster configuration items.
9. The method of claim 6, further comprising:
redirecting a need to access an internet resource during deployment of the one or more storage clusters to a media store,
wherein the media store provides software media required to deploy the one or more storage clusters.
10. The method of claim 6, further comprising:
providing a reference clock signal to at least one child node included in each of the one or more storage clusters to synchronize clocks of the at least one child node.
11. An electronic device, comprising:
at least one processor; and
a memory for storing at least one instruction,
wherein the at least one instruction, when executed by the at least one processor, causes the at least one processor to implement the method of any one of claims 6 to 10.
12. A computer-readable storage medium storing computer-executable instructions for implementing the method of any one of claims 6 to 10 when executed.
CN201910699773.6A 2019-07-30 2019-07-30 Storage cluster deployment system and method Active CN110417894B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910699773.6A CN110417894B (en) 2019-07-30 2019-07-30 Storage cluster deployment system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910699773.6A CN110417894B (en) 2019-07-30 2019-07-30 Storage cluster deployment system and method

Publications (2)

Publication Number Publication Date
CN110417894A CN110417894A (en) 2019-11-05
CN110417894B true CN110417894B (en) 2022-01-07

Family

ID=68364486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910699773.6A Active CN110417894B (en) 2019-07-30 2019-07-30 Storage cluster deployment system and method

Country Status (1)

Country Link
CN (1) CN110417894B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106982266A (en) * 2017-05-27 2017-07-25 郑州云海信息技术有限公司 A kind of method and apparatus of automatically dispose cluster
CN107196814A (en) * 2017-07-28 2017-09-22 郑州云海信息技术有限公司 A kind of management method and system of many clusters
CN107741852A (en) * 2017-10-16 2018-02-27 中国电子科技集团公司第二十八研究所 A kind of service arrangement method based on clustered software
CN109039730A (en) * 2018-07-25 2018-12-18 网宿科技股份有限公司 Server cluster and server cluster configuration information management method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635694B2 (en) * 2015-12-14 2020-04-28 Pivotal Software, Inc. Deploying updates in a distributed database systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106982266A (en) * 2017-05-27 2017-07-25 郑州云海信息技术有限公司 A kind of method and apparatus of automatically dispose cluster
CN107196814A (en) * 2017-07-28 2017-09-22 郑州云海信息技术有限公司 A kind of management method and system of many clusters
CN107741852A (en) * 2017-10-16 2018-02-27 中国电子科技集团公司第二十八研究所 A kind of service arrangement method based on clustered software
CN109039730A (en) * 2018-07-25 2018-12-18 网宿科技股份有限公司 Server cluster and server cluster configuration information management method

Also Published As

Publication number Publication date
CN110417894A (en) 2019-11-05

Similar Documents

Publication Publication Date Title
US11119846B2 (en) Prevention of application container failure between replicated containers
US10860339B2 (en) Autonomous creation of new microservices and modification of existing microservices
EP2630567B1 (en) Coordinated upgrades in distributed systems
US11595252B2 (en) Composable edge device platforms
EP3182678B1 (en) Method for upgrading network function virtualization application, and related system
US20180232225A1 (en) Applying update to snapshots of virtual machine
EP3284213B1 (en) Managing virtual network functions
US8954962B2 (en) Automatically reconfiguring physical switches to be in synchronization with changes made to associated virtual system
EP2944070B1 (en) Service migration across cluster boundaries
CN105450759A (en) System mirror image management method and device
CN104765621A (en) Method and system for deploying program on cluster node
US9569203B2 (en) Service-based integration of application patterns
US20130067051A1 (en) Locking System for Cluster Updates
CN105591778A (en) Method and system for updating configuration file in distributed system
EP3413149B1 (en) Field device commissioning system and field device commissioning method
CN115051846B (en) K8S cluster deployment method based on super fusion platform and electronic equipment
CN110417894B (en) Storage cluster deployment system and method
US20220021696A1 (en) Minimizing Production Disruption Through A Scan Rule Engine
US9696987B2 (en) Complex computer environment installation
CN110162312A (en) A kind of BeeGFS configuration method and device based on IML
US11675577B2 (en) Systems and methods of orchestrating nodes in a blockchain network
EP4278288A1 (en) Workload configuration extractor
US20200142689A1 (en) System And Methods for Patch Management
JP6781126B2 (en) Virtual machine setting input system, virtual machine setting input method, and program
US20240111579A1 (en) Termination of sidecar containers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant