Centerless hybrid cloud management method, device and storage medium
Through a centerless hybrid cloud management method, combined with the call of cluster management module and underlying API interfaces, a flexible cloud management system is built, solving multiple challenges of existing cloud management software in high-complex applications, and achieving small-scale cloud management with comprehensive and flexible deployment.
Patent Information
- Application Number
- CN202411831330.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-04-04
AI Technical Summary
Existing cloud computing management software has multiple challenges in resource management, security assurance and performance optimization, especially in high-complex applications such as autonomous driving, real-time navigation and on-board data analysis, which is difficult to meet the needs of small-scale cloud management with flexible deployment and comprehensive functions.
Adopting a centerless hybrid cloud management method, through the system implementation of cluster management module, host management module, virtual machine management module, container management module, network management module, storage management module and permission management module, we call the underlying KVM, Qemu, K8s and Docker API interfaces to build virtualized cloud, container cloud, hybrid cloud and heterogeneous cloud, and realize a cross-platform cluster file system through corosync+fuse to keep each node synchronized.
It realizes a small-scale cloud management method with comprehensive functions and flexible deployment, supports multiple hardware platforms, and has uncentralized characteristics. Each node can be regarded as a management node to meet the computing resource needs of high-complex applications.
Smart Images

Figure CN119766808A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cloud computing technology, and in particular to a decentralized hybrid cloud management method, device, and storage medium. Background Art
[0002] The popularity of cloud computing has not only broken the geographical and physical limitations of traditional servers, making them widely used in diverse environments such as vehicles and aircraft, but also significantly improved the computing and data processing capabilities in these special scenarios with the development of virtualization and container technologies. With the advancement of technology, the demand for computing resources for highly complex applications such as autonomous driving, real-time navigation, and airborne data analysis is growing, and the demand for small-scale cloud management software with comprehensive functions and flexible deployment is more urgent to meet its multiple challenges in resource management, security assurance, and performance optimization.
[0003] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of this application. Summary of the invention
[0004] In order to provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. The summary is not an extensive review, nor is it intended to identify key / critical components or delineate the scope of protection of these embodiments, but rather serves as a prelude to the detailed description that follows.
[0005] The embodiment of the present disclosure provides a decentralized hybrid cloud management method, which is implemented based on a system including a cluster management module, a host management module, a virtual machine management module, a container management module, a network management module, a storage management module, and a permission management module;
[0006] Perform cluster management, host management, virtual machine management, container management, network management, storage management, and permission management by calling at least one API interface in the underlying KVM, Qemu, K8s, and Docker.
[0007] Build clusters into virtualized clouds, container clouds, hybrid clouds, and heterogeneous clouds based on the enabled functions;
[0008] Each node implements a cross-platform cluster file system based on corosync+fuse, stores the configuration and data of the cloud management software in the cluster file system, and keeps each node synchronized.
[0009] In some embodiments, a cross-platform cluster file system is implemented based on corosync+fuse, providing getattr, readdir, mkdir, rmdir, rename, open, read, and write operation interfaces, with a database as the backend, and storing all data of the fuse file system in the database.
[0010] In some embodiments, the method may further include:
[0011] For modification operations, the specific operation instructions are sent to each node in the cluster through the corosync multicast mechanism. After receiving the multicast instructions, each node operates its own cluster file system fuse backend to achieve synchronous update of cluster file system data on each node.
[0012] If you perform query operations on the fuse file system data, the operation only works on the backend database of the local fuse file system and will not be sent to other nodes synchronously.
[0013] In some embodiments, the modification class operation includes multicast instructions of chown and write;
[0014] The query operations include local instructions for reading files and viewing paths.
[0015] In some embodiments, the cluster file system exposes the same path to the outside, and the cloud management software on each node stores the configuration and data in the fuse file system through the same path.
[0016] In some embodiments, the configuration and data of the cloud management software on each node are kept consistent through corosync+fuse, so that the cloud management software has a decentralized feature.
[0017] In some embodiments, corosync selects a master node when the cluster state changes or an abnormality occurs in access to the database. The master node pushes the data of the local fuse file system to other nodes. Other nodes receive the data from the master node fuse file system and save it to their respective fuse backend databases.
[0018] In some embodiments, the method may further include:
[0019] When the proportion of surviving nodes in the cluster is greater than the preset threshold, the cluster file system works normally and the cloud management software performs global management of cloud resources on the cluster.
[0020] An embodiment of the present disclosure provides an electronic device, the device comprising at least one processor;
[0021] and a memory communicatively coupled to the at least one processor;
[0022] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the above-mentioned decentralized hybrid cloud management method.
[0023] The embodiment of the present disclosure provides a storage medium storing program instructions, which, when running, execute the above-mentioned decentralized hybrid cloud management method.
[0024] The decentralized hybrid cloud management method, device, and storage medium provided by the embodiments of the present disclosure can achieve the following technical effects:
[0025] The present disclosure performs cluster management, host management, virtual machine management, container management, network management, storage management and permission management functions by calling at least one API interface in the underlying KVM, Qemu, K8s and Docker; according to the enabled functions, the cluster is constructed into a virtualized cloud, a container cloud, a hybrid cloud and a heterogeneous cloud; each node implements a cross-platform cluster file system based on corosync+fuse, stores the configuration and data of the cloud management software in the cluster file system, and keeps each node synchronized. The present disclosure supports multiple hardware platforms, and supports kvm+qemu virtualization management and k8s+docker container management, and realizes decentralization based on corosync message synchronization. Each node can be regarded as a management node, thereby realizing a small-scale cloud management method with comprehensive functions and flexible deployment.
[0026] The above general description and the following description are exemplary and explanatory only and are not intended to limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] One or more embodiments are exemplarily described by corresponding drawings, which do not limit the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements, and the drawings do not constitute a scale limitation, and wherein:
[0028] Figure 1 It is a flowchart of a decentralized hybrid cloud management method provided by an embodiment of the present disclosure;
[0029] Figure 2 is a cloud management software architecture diagram provided by an embodiment of the present disclosure;
[0030] Figure 3 is a schematic diagram of a cluster file system provided by an embodiment of the present disclosure;
[0031] Figure 4This is a schematic diagram of cluster file system master election logic provided by an embodiment of the present disclosure;
[0032] Figure 5 It is a schematic diagram of the structure of a decentralized hybrid cloud management system provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0033] In order to be able to understand the features and technical contents of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present disclosure. In the following technical description, for the convenience of explanation, a full understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, to simplify the drawings, well-known structures and devices can be simplified for display.
[0034] The terms "first", "second", etc. in the embodiments of the present disclosure are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged where appropriate, so as to describe the embodiments of the present disclosure described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions.
[0035] Unless otherwise stated, the term "plurality" means two or more.
[0036] In the embodiment of the present disclosure, the character " / " indicates that the preceding and following objects are in an "or" relationship. For example, A / B indicates: A or B.
[0037] The term "and / or" is a description of the association relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or, A and B.
[0038] The term "correspondence" may refer to an association relationship or a binding relationship. The correspondence between A and B means that there is an association relationship or a binding relationship between A and B.
[0039] The popularity of cloud computing has not only broken the geographical and physical limitations of traditional servers, making them widely used in diverse environments such as in-vehicle and airborne environments, but has also significantly improved the computing and data processing capabilities in these special scenarios with the development of virtualization and container technologies. With the advancement of technology, the demand for computing resources for highly complex applications such as autonomous driving, real-time navigation, and airborne data analysis is growing, and the demand for small-scale cloud management software with comprehensive functions and flexible deployment is more urgent to meet its multiple challenges in resource management, security assurance, and performance optimization.
[0040] In order to solve the above problems, the present disclosure provides a decentralized hybrid cloud management method, device and storage medium.
[0041] The decentralized hybrid cloud management method, device, and storage medium provided by the embodiments of the present disclosure are described below in conjunction with the accompanying drawings.
[0042] Figure 1 It is a flowchart of a decentralized hybrid cloud management method provided by an embodiment of the present disclosure.
[0043] like Figure 1 As shown, a decentralized hybrid cloud management approach can include:
[0044] S01, performs cluster management, host management, virtual machine management, container management, network management, storage management and permission management functions by calling at least one API interface in the underlying KVM, Qemu, K8s and Docker;
[0045] S02, build the cluster into a virtualized cloud, container cloud, hybrid cloud, and heterogeneous cloud according to the enabled functions;
[0046] S03, each node implements a cross-platform cluster file system based on corosync+fuse, stores the configuration and data of the cloud management software in the cluster file system, and keeps each node synchronized.
[0047] Figure 2 This is a cloud management software architecture diagram provided by the embodiment of the present disclosure, combined with Figure 2 right Figure 1 The decentralized hybrid cloud management approach is further described.
[0048] based on Figure 2 It can be seen that Figure 1 The method is implemented based on a system including a cluster management module, a host management module, a virtual machine management module, a container management module, a network management module, a storage management module and a permission management module.
[0049] The upper-layer cloud management software implements cluster management, host management, virtual machine management, container management, network management, storage management, permission management and other functions by calling the API interfaces of the underlying KVM, Qemu, K8s and Docker. The full stack is compatible with the x86 platform and the domestic Feiteng and Loongson platforms. The cloud management software itself supports binary deployment and containerized deployment. According to the enabled functional modules, the cluster can be built into a virtualized cloud, container cloud, hybrid cloud and heterogeneous cloud, making full use of server blade resources to meet the diverse needs of users. In order to realize the decentralization of cloud management software, each node implements a cross-platform cluster file system based on corosync+fuse, stores the configuration and data of the cloud management software in the cluster file system, and keeps each node synchronized.
[0050] Figure 3 is a schematic diagram of a cluster file system provided by an embodiment of the present disclosure, Figure 4 The present invention provides a cluster file system master election logic diagram.
[0051] Combination Figure 3 and Figure 4 ,right Figure 1 The method is further described in .
[0052] In some embodiments, a cross-platform cluster file system is implemented based on corosync+fuse, providing getattr, readdir, mkdir, rmdir, rename, open, read, and write operation interfaces, with a database as the backend, and storing all data of the fuse file system in the database.
[0053] In some embodiments, Figure 1 The method may also include:
[0054] For modification operations, the specific operation instructions are sent to each node in the cluster through the corosync multicast mechanism. After receiving the multicast instructions, each node operates its own cluster file system fuse backend to achieve synchronous update of cluster file system data on each node.
[0055] If you perform query operations on the fuse file system data, the operation only works on the backend database of the local fuse file system and will not be sent to other nodes synchronously.
[0056] In some embodiments, the modification operations include chown and write multicast instructions;
[0057] The query operations include local instructions for reading files and viewing paths.
[0058] In some embodiments, the cluster file system exposes the same path to the outside, and the cloud management software on each node stores the configuration and data in the fuse file system through the same path.
[0059] In some embodiments, the configuration and data of the cloud management software on each node are kept consistent through corosync+fuse, so that the cloud management software has a decentralized feature.
[0060] In some embodiments, corosync selects a master node when the cluster state changes or an abnormality occurs in access to the database. The master node pushes the data of the local fuse file system to other nodes. Other nodes receive the data from the master node fuse file system and save it to their respective fuse backend databases.
[0061] In some embodiments, the method may further include:
[0062] When the proportion of surviving nodes in the cluster is greater than the preset threshold, the cluster file system works normally and the cloud management software performs global management of cloud resources on the cluster.
[0063] In a specific example, Figure 3 Figure 1 is a schematic diagram of a cluster file system. Figure 3 As shown in the figure, the cluster file system based on corosync+fuse provides operation interfaces such as getattr, readdir, mkdir, rmdir, rename, open, read, and write. With the database as the backend, all data of the fuse file system is stored in the database. Modification operations such as chown and write are regarded as multicast instructions. The specific operation instructions are sent to each node of the cluster through the corosync multicast mechanism. After receiving the multicast instructions, each node will operate its own cluster file system fuse backend to achieve synchronous update of cluster file system data of each node; if query operations are performed on the fuse file system data, such as reading files and checking paths, they are regarded as local instructions. The operations only act on the backend database of the local fuse file system and will not be sent to other nodes synchronously.
[0064] Figure 4 Select the primary logical diagram for the cluster file system. Figure 4, corosync+fuse cluster file system and cloud management software are deployed on each node of the cluster. The cluster file system exposes the same path to the outside world. The cloud management software on each node stores the configuration and data in the fuse file system through the same path. The configuration and data of the cloud management software on each node are kept consistent through corosync+fuse, so that the cloud management software has a decentralized feature. Users can access the management console by entering "https: / / any server blade IP:port number" in the browser. When the cluster status changes or the access to the database is abnormal, corosync will select the master node. The master node pushes the data of the local fuse file system to other nodes. Other nodes receive the data from the master node fuse file system and save it to their respective fuse backend databases. As long as more than half of the nodes in the cluster survive, the cluster file system can work normally, and the cloud management software can manage the cloud resources on the cluster globally.
[0065] The decentralized hybrid cloud management method provided by the present invention supports a variety of hardware platforms, and supports kvm+qemu virtualization management and k8s+docker container management. It realizes decentralization based on corosync message synchronization, so that each node can be regarded as a management node, thereby realizing a small-scale cloud management method with comprehensive functions and flexible deployment.
[0066] and Figure 1 Corresponding to the decentralized hybrid cloud management method, the present disclosure also provides a decentralized hybrid cloud management device, which may specifically include:
[0067] The calling module is used to perform cluster management, host management, virtual machine management, container management, network management, storage management and permission management functions by calling at least one API interface in the underlying KVM, Qemu, K8s and Docker;
[0068] A cluster building module, which is used to build a cluster into a virtualized cloud, a container cloud, a hybrid cloud, or a heterogeneous cloud based on the enabled functions;
[0069] The processing module is used to implement a cross-platform cluster file system based on corosync+fuse on each node, store the configuration and data of the cloud management software in the cluster file system, and keep each node synchronized.
[0070] In some embodiments, a cross-platform cluster file system is implemented based on corosync+fuse, providing getattr, readdir, mkdir, rmdir, rename, open, read, and write operation interfaces, with a database as the backend, and storing all data of the fuse file system in the database.
[0071] In some embodiments, the modification operation sends specific operation instructions to each node of the cluster through the corosync multicast mechanism. After receiving the multicast instruction, each node operates its own cluster file system fuse backend to achieve synchronous update of cluster file system data of each node.
[0072] If you perform query operations on the fuse file system data, the operation only works on the backend database of the local fuse file system and will not be sent to other nodes synchronously.
[0073] In some embodiments, the modification class operation includes multicast instructions of chown and write;
[0074] The query operations include local instructions for reading files and viewing paths.
[0075] In some embodiments, the cluster file system exposes the same path to the outside, and the cloud management software on each node stores the configuration and data in the fuse file system through the same path.
[0076] In some embodiments, the configuration and data of the cloud management software on each node are kept consistent through corosync+fuse, so that the cloud management software has a decentralized feature.
[0077] In some embodiments, corosync selects a master node when the cluster state changes or an abnormality occurs in access to the database. The master node pushes the data of the local fuse file system to other nodes. Other nodes receive the data from the master node fuse file system and save it to their respective fuse backend databases.
[0078] In some embodiments, when the proportion of surviving nodes in the cluster is greater than a preset threshold, the cluster file system operates normally, and the cloud management software performs global management of cloud resources on the cluster.
[0079] Combination Figure 5 As shown, the embodiment of the present disclosure also provides a decentralized hybrid cloud management system 500, including a processor 504 and a memory 501. Optionally, the system may also include a communication interface 502 and a bus 503. Among them, the processor 504, the communication interface 502, and the memory 501 can communicate with each other through the bus 503. The communication interface 502 can be used for information transmission. The processor 504 can call the logic instructions in the memory 501 to execute the decentralized hybrid cloud management method of the above embodiment.
[0080] In addition, the logic instructions in the memory 501 described above can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
[0081] The memory 501 is a computer-readable storage medium that can be used to store software programs and computer executable programs, such as program instructions / modules corresponding to the method in the embodiment of the present disclosure. The processor 504 executes functional applications and data processing by running the program instructions / modules stored in the memory 501, that is, implementing the decentralized hybrid cloud management method in the above embodiment.
[0082] The memory 501 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 501 may include a high-speed random access memory and may also include a non-volatile memory.
[0083] An embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to execute a decentralized hybrid cloud management method.
[0084] The computer-readable storage medium mentioned above may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.
[0085] The technical solution of the embodiment of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method of the embodiment of the present disclosure. The aforementioned storage medium may be a non-transient storage medium, including: a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk, and other media that can store program codes, or a transient storage medium.
[0086] The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure so that those skilled in the art can practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent possible changes only. Unless explicitly required, separate components and functions are optional, and the order of operations may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. As used in the description of the embodiments, unless the context clearly indicates otherwise, the singular forms of "a", "an" and "the" are intended to include plural forms as well. Similarly, the term "and / or" as used in this application refers to any and all possible combinations of one or more associated listings. In addition, when used in this application, the term "comprise" and its variants "comprises" and / or including (comprising) refer to the existence of stated features, wholes, steps, operations, elements, and / or components, but do not exclude the existence or addition of one or more other features, wholes, steps, operations, elements, components and / or these groups. In the absence of further restrictions, the elements defined by the sentence "comprising a ..." do not exclude the existence of other identical elements in the process, method or device comprising the elements. In this article, each embodiment may focus on the differences from other embodiments, and the same or similar parts between the embodiments may refer to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can refer to the description of the method part.
[0087] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. Technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. Technicians can clearly understand that for the convenience and simplicity of description, the specific working process of the systems, devices and units described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0088] In the embodiments disclosed herein, the disclosed methods and products (including but not limited to devices, equipment, etc.) can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units can be only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to implement this embodiment. In addition, each functional unit in the embodiment of the present disclosure may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit.
[0089] The flowchart and block diagram in the accompanying drawings show the possible architecture, functions and operations of the system, method and computer program product according to the embodiment of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and a part of the module, program segment or code contains one or more executable instructions for realizing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. In the description corresponding to the flowchart and block diagram in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in a different order from the order disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or actions, or may be implemented by a combination of dedicated hardware and computer instructions.
[0090] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0091] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0092] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0093] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0094] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0095] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0096] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of this disclosure can be achieved, and this document is not limited here.
[0097] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A decentralized hybrid cloud management method, characterized in that: The method is implemented based on a system including a cluster management module, a host management module, a virtual machine management module, a container management module, a network management module, a storage management module and a rights management module; Perform cluster management, host management, virtual machine management, container management, network management, storage management, and permission management by calling at least one API interface in the underlying KVM, Qemu, K8s, and Docker. Build clusters into virtualized clouds, container clouds, hybrid clouds, and heterogeneous clouds based on the enabled functions; Each node implements a cross-platform cluster file system based on corosync+fuse, stores the configuration and data of the cloud management software in the cluster file system, and keeps each node synchronized.
2. The method according to claim 1, characterized in that The cross-platform cluster file system based on corosync+fuse is implemented, and getattr, readdir, mkdir, rmdir, rename, open, read and write operation interfaces are provided. The database is used as the backend, and all data of the fuse file system is stored in the database.
3. The method according to claim 2, characterized in that The method further comprises: For modification operations, the specific operation instructions are sent to each node in the cluster through the corosync multicast mechanism. After receiving the multicast instructions, each node operates its own cluster file system fuse backend to achieve synchronous update of cluster file system data on each node. If you perform query operations on the fuse file system data, the operation only works on the backend database of the local fuse file system and will not be sent to other nodes synchronously.
4. The method according to claim 3, characterized in that The modification operations include chown and write multicast instructions; The query operations include local instructions for reading files and viewing paths.
5. The method according to claim 1, characterized in that The cluster file system exposes the same path to the outside, and the cloud management software on each node stores the configuration and data in the fuse file system through the same path.
6. The method according to claim 5, characterized in that The configuration and data of the cloud management software on each node are kept consistent through corosync+fuse, so that the cloud management software has a decentralized feature.
7. The method according to claim 6, characterized in that When the cluster status changes or an abnormality occurs in the access to the database, corosync will select a master node. The master node pushes the data of the local fuse file system to other nodes. Other nodes receive the data from the master node's fuse file system and save it to their respective fuse backend databases.
8. The method according to claim 7, characterized in that The method further comprises: When the proportion of surviving nodes in the cluster is greater than the preset threshold, the cluster file system works normally and the cloud management software performs global management of cloud resources on the cluster.
9. An electronic device, characterized in that: include: at least one processor; and a memory communicatively coupled to the at least one processor; It is characterized in that the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method according to any one of claims 1 to 8.
10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-8.