A cloud platform storage system, method, device and medium
By adopting a combined architecture of MinIO object storage and NFS storage clusters in small and medium-sized cloud platform clusters, the problems of resource waste and high operation and maintenance costs of Ceph storage in small and medium-sized cloud platform clusters are solved, and an easy-to-deploy and low-maintenance storage system is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CLOUD TECH CO LTD
- Filing Date
- 2024-12-03
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, Ceph storage systems suffer from resource waste and high operation and maintenance costs in small and medium-sized cloud platform clusters, making it difficult to meet the requirements of easy deployment and low operation and maintenance costs.
The architecture combines MinIO object storage clusters and NFS storage clusters. The MinIO object storage clusters are used to store image resources and cloud disk backup resources, while the NFS storage clusters are used to store cloud disk resources. The image management service and the cloud disk service are used to manage and operate the resources in their respective storage clusters.
It realizes a storage system that is easy to deploy and has low operation and maintenance costs for small and medium-sized cloud platform clusters, reducing the deployment complexity and operation and maintenance costs for users, while maintaining high performance and reliability.
Smart Images

Figure CN119892855B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud platform technology, and more specifically, to a cloud platform storage system, method, device, and medium. Background Technology
[0002] In current IaaS (Infrastructure as a Service) cloud platforms, the storage system is crucial. The storage system involves the lifecycle management of image and cloud disk resources, which are the foundation for enabling cloud host resources. Therefore, the design of the storage system holds a critical position in the entire cloud platform. Large cloud platform clusters typically use distributed Ceph (an open-source distributed storage system) as their storage foundation. Ceph storage can provide block storage for cloud disks and object storage for storing image and cloud disk backups. However, Ceph storage has a complex architecture, requiring higher operational costs. Furthermore, Ceph storage performs better in large clusters. However, in user scenarios where platform nodes have limited computing resources, Ceph storage not only wastes resources but also incurs higher operational costs.
[0003] Therefore, there is an urgent need to propose a storage system that is more suitable for small and medium-sized cloud platform clusters, and is easy to deploy and maintain. Summary of the Invention
[0004] Based on the above-mentioned technical problems, this application provides a cloud platform storage system, method, device and medium, aiming to provide a cloud platform storage system with simple deployment and low operation and maintenance costs for small-scale cloud platform clusters.
[0005] A first aspect of this application provides a cloud platform storage system, the system comprising:
[0006] compute node clusters and storage node clusters:
[0007] The computing node cluster includes multiple computing nodes, each computing node includes multiple disks and corresponding drives, and each computing node runs at least cloud disk service and image management service;
[0008] The multiple disks on the multiple computing nodes constitute a MinIO object storage cluster, which is used to store image resources and / or cloud disk backup resources.
[0009] The storage node cluster includes multiple storage nodes, each storage node includes a disk array, and the multiple disk arrays on the multiple storage nodes constitute an NFS storage cluster, which is used to store cloud disk resources.
[0010] The compute node cluster stores the cloud disk resources in the NFS storage cluster through the cloud disk service, stores the cloud disk backup resources in the MinIO object storage cluster, and stores the image resources in the MinIO object storage cluster through the image management service.
[0011] Optionally, the system further includes:
[0012] Each compute node also includes a glance module for performing the image management service;
[0013] The glance module includes: an image API service module, a metadata management module, an image service driver module, an image storage driver module, and an image database module;
[0014] The image API service module is used to receive and execute user requests to create, add, delete, modify, and query image resources, and store the execution results in the image database module.
[0015] The metadata management module is used to receive instructions from the image API service module, manage the metadata of the image resources, and store the metadata of the image resources in the image database module;
[0016] The image service driver module is used to receive instructions from the image API service module and call the image storage driver module to manage the image resources;
[0017] The image storage driver module is connected to the MinIO object storage cluster and is used to create, add, delete, modify, and query the image resources in the MinIO object storage cluster.
[0018] Optionally, the system further includes:
[0019] Each compute node also includes a glance module for performing the image management service;
[0020] Each computing node also includes a cinder module, which includes at least: a cloud disk API service module, a cloud disk management service module, and a cloud disk driver module, for executing cloud disk resource management services;
[0021] The cloud disk API service module is used to receive and execute user requests to create, add, delete, modify, query, and back up cloud disk resources;
[0022] The cloud disk management service module is used to receive instructions from the cloud disk API service module, call the cloud disk driver module to manage the cloud disk resources, and call the glance module to download the image resources;
[0023] The cloud disk driver module is connected to the NFS storage cluster and is used to create, add, delete, modify, and query cloud disk resources in the NFS storage cluster.
[0024] Optionally, the system further includes:
[0025] The Cinder module also includes: a cloud disk backup service module and a cloud disk backup driver module, used to perform cloud disk backup resource management services;
[0026] The cloud disk API service module is used to receive and execute user requests to create, add, delete, modify, query, and back up cloud disk backup resources.
[0027] The cloud disk backup service module is used to receive instructions from the cloud disk API service module, call the cloud disk management service module to read the cloud disk resources to be backed up, or call the cloud disk backup driver module to create, add, delete, modify, and query the cloud disk backup resources in the MinIO object storage cluster. The cloud disk backup driver module is connected to the MinIO object storage cluster.
[0028] Optionally, the system further includes:
[0029] The Cinder module also includes: a cloud disk database module, a message queue service module, and a scheduling service module;
[0030] The cloud disk API service module is used to receive and execute user requests to create, add, delete, modify, query, or back up cloud disk resources or cloud disk backup resources, and store the execution results in the cloud disk database module;
[0031] The cloud disk database module is used to receive instructions from the cloud disk API service module and store the metadata of the cloud disk resources and the cloud disk backup resources;
[0032] The message queue service module is used to receive instructions from the cloud disk API service module and route and forward them to the scheduling service module, the cloud disk management service module, and the cloud disk backup service module.
[0033] The scheduling service module is used to determine the target cloud disk management service module according to the received instruction, and send the instruction to the target cloud disk management service module through the message queue service module; or, determine the target cloud disk backup service module, and send the instruction to the target cloud disk backup service module through the message queue service module.
[0034] Optionally, the system further includes:
[0035] Each storage node also includes a keepalived high-availability software module and a haproxy module, used to create virtualization access interfaces. The compute node cluster accesses each storage node in the storage node cluster through the virtualization access interfaces to manage the cloud disk resources.
[0036] Each storage node also includes an rsync module for synchronizing data between the various storage nodes in the NFS storage cluster;
[0037] Each compute node also includes a nova module and a qemu-kvm module for lifecycle management of cloud hosts.
[0038] A second aspect of this application provides a cloud platform storage method, the method comprising:
[0039] Obtain the image file;
[0040] In response to the image creation command, the image file is uploaded to the cloud platform by executing a command line through the glance module;
[0041] After receiving the image creation instruction, the image API service module executes the image creation operation, creates a database entry for the image, calls the metadata management module to manage the image's metadata, and stores the image's metadata in the image database module.
[0042] After receiving the image creation instruction from the image API service module, the image service driver module calls the image storage driver module;
[0043] The image storage driver module stores the image file to the target location of the MinIO object storage cluster.
[0044] Optionally, the method further includes:
[0045] Obtain the image file;
[0046] In response to the image creation command, the image file is uploaded to the first storage location in the MinIO object storage cluster;
[0047] After receiving the image creation instruction, the image API service module performs the image import operation, creates a database entry for the image, calls the metadata management module to manage the image's metadata, and stores the image's metadata in the image database module.
[0048] Modify the storage location of the image file in the database entry of the image to the first storage location.
[0049] Optionally, the method further includes:
[0050] Get the name, size, and image used for the cloud disk to be created;
[0051] In response to a cloud disk creation request, the cloud disk API service module creates a cloud disk database entry and sends the cloud disk creation request to the scheduling service module through the message queue service module;
[0052] The scheduling service module determines the first cloud disk management service module based on the received instruction, and sends the cloud disk creation request to the first cloud disk management service module through the message queue service module;
[0053] The first cloud disk management service module calls the cloud disk driver module to create the target cloud disk file in the NFS storage cluster;
[0054] When the cloud disk creation request is to create a system disk, the first cloud disk management service module calls the glance module to obtain the target image file and imports the target image file into the target cloud disk file.
[0055] Optionally, the method further includes:
[0056] In response to a cloud disk backup request, the cloud disk API service module creates a cloud disk backup database entry and sends the cloud disk backup request to the cloud disk backup service module through the message queue service module;
[0057] The cloud disk backup service module calls the second cloud disk management service module to read the source backup data in the cloud disk to be backed up.
[0058] The cloud disk backup service module calls the cloud disk backup driver module to write the source backup data into the MinIO object storage cluster.
[0059] A third aspect of this application provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the cloud platform storage method of the second aspect of this application.
[0060] The fourth aspect of this application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the cloud platform storage method of the second aspect of this application.
[0061] The fifth aspect of this application provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the cloud platform storage method of the second aspect of this application.
[0062] The cloud platform storage system proposed in this application utilizes a MinIO object storage cluster and an NFS storage cluster as its two main components. The cloud platform storage system includes a compute node cluster and a storage node cluster. The compute node cluster includes multiple compute nodes, each with multiple disks and corresponding drives. These disks from multiple compute nodes collectively form the MinIO object storage cluster, enabling the storage of image resources and / or cloud disk backup resources. The storage node cluster includes multiple storage nodes, each with a disk array. These disk arrays on multiple storage nodes constitute the NFS storage cluster, enabling the storage of cloud disk resources. The compute node cluster stores cloud disk resources in the NFS storage cluster through a cloud disk service and stores cloud disk backup resources in the MinIO object storage cluster. Simultaneously, the compute node cluster also stores image resources in the MinIO object storage cluster through an image management service.
[0063] In this application, the cloud platform storage system stores the main image resources and cloud disk backup resources on multiple disks across multiple computing nodes, forming a MinIO object storage cluster. It also stores the cloud disk resources on multiple disk arrays across multiple storage nodes, forming an NFS storage cluster. By employing both MinIO object storage clusters and NFS storage clusters to store various storage resources in the cloud platform, it leverages the advantages of MinIO object storage clusters (high performance, simple deployment and maintenance, and compatibility with S3 interfaces) and NFS storage clusters (simple maintenance and convenient deployment). This combined architecture meets the storage needs of users for cloud disk resources, image resources, and cloud disk backup resources in small-to-medium-sized cloud platform usage scenarios, while reducing deployment complexity and maintenance costs for users. Attached Figure Description
[0064] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0065] Figure 1 This is a diagram of a mirror service architecture proposed in one embodiment of this application;
[0066] Figure 2 This is a cloud disk service architecture diagram proposed in one embodiment of this application;
[0067] Figure 3 This is a schematic diagram of a cloud platform storage system proposed in one embodiment of this application;
[0068] Figure 4 This is a flowchart illustrating an image creation process according to an embodiment of this application;
[0069] Figure 5 This is a flowchart illustrating the creation process of a cloud hard drive according to an embodiment of this application;
[0070] Figure 6 This is a flowchart of a cloud hard drive backup process provided in one embodiment of this application;
[0071] Figure 7 This is a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation
[0072] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0073] In the accompanying drawings, the size of constituent elements, the thickness of layers, or areas may sometimes be exaggerated for clarity. Therefore, any implementation of this disclosure is not necessarily limited to the dimensions shown in the drawings, and the shapes and sizes of the components in the drawings do not reflect true proportions. Furthermore, the drawings schematically illustrate ideal examples, and any implementation of this disclosure is not limited to the shapes or values shown in the drawings.
[0074] In related technologies, when building a cloud platform cluster storage system, distributed Ceph storage is often chosen as the main architecture. However, due to the widespread adoption of cloud platform technology, it's not just large customers with massive data volumes who need to use cloud platforms; small and medium-sized enterprises, schools, and individuals also have cloud platform usage needs. In this case, the complex storage architecture of distributed Ceph storage usually exceeds the needs of small and medium-sized cloud platform cluster users. Furthermore, the complex architecture of distributed Ceph also leads to higher operational costs. While this is negligible for large enterprises, it means many unnecessary costs for small and medium-sized cloud platform cluster users. Although distributed Ceph storage has many advantages as the main architecture of a cloud platform storage system, due to the limitations mentioned above, small and medium-sized cloud platform cluster users need a storage system that is easier to deploy and has lower operational costs as the main storage architecture for their cloud platform clusters.
[0075] Therefore, based on the application needs of small- to medium-sized cloud platform cluster storage systems in related technologies, this application proposes a cloud platform storage system, including: a compute node cluster and a storage node cluster.
[0076] The computing node cluster includes multiple computing nodes, each computing node includes multiple disks and corresponding drives, and each computing node runs at least cloud disk service and image management service;
[0077] The multiple disks on the multiple computing nodes constitute a MinIO object storage cluster, which is used to store image resources and / or cloud disk backup resources.
[0078] The storage node cluster includes multiple storage nodes, each storage node includes a disk array, and the multiple disk arrays on the multiple storage nodes constitute an NFS storage cluster, which is used to store cloud disk resources.
[0079] The compute node cluster stores the cloud disk resources in the NFS storage cluster through the cloud disk service, stores the cloud disk backup resources in the MinIO object storage cluster, and stores the image resources in the MinIO object storage cluster through the image management service.
[0080] In this embodiment of the application, in order to achieve a storage system that is easy to deploy and has lower operation and maintenance costs for small and medium-sized cloud platform clusters, MinIO object storage cluster and NFS storage cluster are selected as the main storage architecture.
[0081] The cloud platform storage system is primarily divided into compute node clusters and storage node clusters. A compute node cluster consists of multiple compute nodes, each with multiple disks and corresponding drives. These disks on multiple compute nodes are combined to form a MinIO object storage cluster. As a high-performance, open-source object storage system, MinIO object storage cluster offers advantages such as high performance, scalability, cloud-native support, S3 compatibility, data protection, and a graphical interface. Furthermore, MinIO object storage cluster employs EC erasure coding to ensure that data can still be read and written without loss even when the cluster has less than half the disks, enhancing the overall reliability and resilience of the system. In this application, each compute node runs at least a cloud disk service and an image management service, and image resources and / or cloud disk backup resources are stored through the MinIO object storage cluster.
[0082] The storage node cluster also includes multiple storage nodes, each with a large-capacity disk array deployed on it. These disk arrays across multiple storage nodes constitute the NFS storage cluster. NFS storage clusters offer advantages such as high performance and high flexibility, and are flexible in deployment and have low maintenance costs, making them suitable for storing cloud disk resources. Therefore, in this application, the compute node cluster executes a cloud disk service to store the cloud disk resources that need to be saved in the NFS storage cluster.
[0083] In conjunction with the above embodiments, in one implementation, this application also provides a cloud platform storage system, which further includes:
[0084] Each compute node also includes a glance module for performing the image management service;
[0085] The glance module includes: an image API service module, a metadata management module, an image service driver module, an image storage driver module, and an image database module;
[0086] The image API service module is used to receive and execute user requests to create, add, delete, modify, and query image resources, and store the execution results in the image database module.
[0087] The metadata management module is used to receive instructions from the image API service module, manage the metadata of the image resources, and store the metadata of the image resources in the image database module;
[0088] The image service driver module is used to receive instructions from the image API service module and call the image storage driver module to manage the image resources;
[0089] The image storage driver module is connected to the MinIO object storage cluster and is used to create, add, delete, modify, and query the image resources in the MinIO object storage cluster.
[0090] In this embodiment, to realize various functions of the cloud platform, multiple cloud platform services run on the nodes in the computing node cluster, including cloud host management services, cloud disk management services, and image management services. To execute these cloud platform services, each computing node also contains multiple modules for performing specific service functions. Among these, the computing node includes a glance module, used to execute the cloud platform's image management service. This image management service can create, add, delete, modify, query, and invoke image resources in the cloud platform, forming the foundation for image resource management. To implement multiple image management services, the glance module specifically includes: an image API service module, a metadata management module, an image service driver module, an image storage driver module, and an image database module.
[0091] The mirror API service module, also known as the glance-api module, provides the primary means of communication and interaction. Upon receiving a user's request to use the mirror service, it accepts the request and sends specific instructions to the corresponding modules. Furthermore, it records the execution results of the user's instructions in the mirror database module for later archiving and review. In an optional embodiment, the database module can be deployed using MySQL to improve system performance and reliability.
[0092] The metadata management module, also known as the glance-registry module, manages and stores the metadata generated during the processing of image resources in the image database module after receiving instructions from the image API service module.
[0093] The image service driver module, glance-store, upon receiving instructions, invokes its backend image storage driver module to manage the actual data of the image resources. The image storage driver module, as the main entity carrying out image resource operations, connects to the MinIO object storage cluster. Upon receiving instructions, it performs operations such as creation, addition, deletion, modification, and querying on the image resources in the MinIO object storage cluster according to the instruction content.
[0094] like Figure 1 As shown, Figure 1This is an embodiment of an image service architecture diagram proposed in this application. In this architecture, the image API service module receives instructions and stores the execution records of the instructions in the image database module. It also sends instructions to the metadata management module to perform metadata management. The metadata management module also archives the metadata in the image database module. The image API service module also sends relevant instructions for image resource operations to the image service driver module. The image service driver module calls the backend image storage driver module to operate on the image resources in the MinIO object storage cluster.
[0095] In conjunction with the above embodiments, in one implementation, this application also provides a cloud platform storage system, which further includes: each computing node further includes a glance module for executing the image management service;
[0096] Each computing node also includes a cinder module, which includes at least: a cloud disk API service module, a cloud disk management service module, and a cloud disk driver module, for executing cloud disk resource management services;
[0097] The cloud disk API service module, namely the cinder-api module, is used to receive and execute user requests for creating, adding, deleting, modifying, querying, and backing up cloud disk resources.
[0098] The cloud disk management service module is used to receive instructions from the cloud disk API service module, call the cloud disk driver module to manage the cloud disk resources, and call the glance module to download the image resources;
[0099] The cloud disk driver module is connected to the NFS storage cluster and is used to create, add, delete, modify, and query cloud disk resources in the NFS storage cluster.
[0100] In this embodiment of the application, in order to realize the management of cloud disks, each computing node also includes a Cinder module for providing cloud disk management services. Specifically, it includes a cloud disk API service module, a cloud disk management service module, and a cloud disk driver module.
[0101] Similar to the above, the cloud disk API service module in the Cinder module is similar to the image API service module. It is used to receive service requests related to cloud disk resources and send them to the corresponding modules.
[0102] The cloud disk management service module, namely the cinder-volume module, is used to call the cloud disk driver module to manage cloud disk resources after receiving cloud disk resource-related instructions. On the other hand, when a new cloud disk needs to be created, if the cloud disk to be created is a system disk, the corresponding system image needs to be copied to it. In this case, the cloud disk management service module can also be used to call the glance module to download the image resources stored therein for system disk creation.
[0103] The cloud disk driver module, as the main entity carrying out cloud disk resource operations, is connected to the NFS storage cluster. After receiving instructions, it performs operations such as creation, addition, deletion, modification, and query on the cloud disk resources in the NFS storage cluster according to the instructions.
[0104] In conjunction with the above embodiments, in one implementation, this application also provides a cloud platform storage system, which further includes:
[0105] The Cinder module also includes: a cloud disk backup service module and a cloud disk backup driver module, used to perform cloud disk backup resource management services;
[0106] The cloud disk API service module is used to receive and execute user requests to create, add, delete, modify, query, and back up cloud disk backup resources.
[0107] The cloud disk backup service module is used to receive instructions from the cloud disk API service module, call the cloud disk management service module to read the cloud disk resources to be backed up, or call the cloud disk backup driver module to create, add, delete, modify, and query the cloud disk backup resources in the MinIO object storage cluster. The cloud disk backup driver module is connected to the MinIO object storage cluster.
[0108] In this embodiment, the Cinder module also includes a part for managing cloud disk backup resources, specifically including: a cloud disk backup service module and a cloud disk backup driver module.
[0109] Upon receiving instructions from the cloud disk API service module (i.e., the cinder-backup module), the cloud disk backup service module invokes its backend cloud disk backup driver module to operate on the cloud disk backup resources in the connected MinIO object storage cluster according to the instructions. Furthermore, when a new backup of a specific cloud disk resource needs to be created, the cloud disk backup service module will also invoke the cloud disk management service module to read the required cloud disk resource from the NFS storage cluster.
[0110] In conjunction with the above embodiments, in one implementation, this application also provides a cloud platform storage system, which further includes:
[0111] The Cinder module also includes: a cloud disk database module, a message queue service module, and a scheduling service module;
[0112] The cloud disk API service module is used to receive and execute user requests to create, add, delete, modify, query, or back up cloud disk resources or cloud disk backup resources, and store the execution results in the cloud disk database module;
[0113] The cloud disk database module is used to receive instructions from the cloud disk API service module and store the metadata of the cloud disk resources and the cloud disk backup resources;
[0114] The message queue service module is used to receive instructions from the cloud disk API service module and route and forward them to the scheduling service module, the cloud disk management service module, and the cloud disk backup service module.
[0115] The scheduling service module is used to determine the target cloud disk management service module according to the received instruction, and send the instruction to the target cloud disk management service module through the message queue service module; or, determine the target cloud disk backup service module, and send the instruction to the target cloud disk backup service module through the message queue service module.
[0116] In this embodiment of the application, in addition to the modules that specifically perform cloud disk resource management and cloud disk backup resource management as described above, the cinder module also includes a cloud disk database module, a message queue service module, and a scheduling service module.
[0117] When the cloud disk API service module receives a user's operation on cloud disk resources or cloud disk backup resources, it stores the execution result in the cloud disk database module. At the same time, the cloud disk database module also stores the metadata of the cloud disk resources and cloud disk backup resources. Then, the cloud disk API service module sends the instruction to the scheduling service module via the message queue service module. The scheduling service module selects the most suitable module for executing the task as the target cloud disk management service module or target cloud disk backup service module based on the status of each cloud disk or cloud disk backup. It then forwards the instruction to the target module via the message queue service module. After receiving the instruction, the target module can operate on the corresponding cloud disk resources or cloud disk backup resources according to the instruction.
[0118] like Figure 2 As shown, Figure 2This is a cloud disk service architecture diagram proposed in one embodiment of this application. The cloud disk API service module receives instructions and stores the execution record of the instructions in the cloud disk database module. Simultaneously, it sends the instructions to the message queue service module, which forwards the instructions to the scheduling service module. The scheduling service module filters and selects the most suitable cloud disk or cloud disk backup resources based on the received instructions, and forwards the instructions to the corresponding cloud disk management service module or cloud disk backup service module via the message queue service module. The scheduling service module records the relevant scheduling results in the cloud disk database module. Upon receiving the relevant instructions, the corresponding cloud disk backup service module performs corresponding operations on the associated MinIO object storage cluster through the cloud disk backup driver module. Alternatively, upon receiving the relevant instructions, the corresponding cloud disk management service module performs corresponding operations on the associated NFS storage cluster through the cloud disk driver module. The cloud disk management service module also records the operations in the cloud disk database module.
[0119] In conjunction with the above embodiments, in one implementation, this application also provides a cloud platform storage system, which further includes:
[0120] Each storage node also includes a keepalived high-availability software module and a haproxy module, used to create virtualization access interfaces. The compute node cluster accesses each storage node in the storage node cluster through the virtualization access interfaces to manage the cloud disk resources.
[0121] Each storage node also includes an rsync module for synchronizing data between the various storage nodes in the NFS storage cluster;
[0122] Each compute node also includes a nova module and a qemu-kvm module for lifecycle management of cloud hosts.
[0123] In this embodiment, in addition to the glance and cinder modules highlighted above, each computing node also includes a nova module and a qemu-kvm module. The nova module, as a sub-project of the cloud platform, is mainly responsible for the lifecycle management of cloud hosts, while the qemu-kvm module is a general-purpose and open-source emulator and kernel virtual machine. Through the nova module and the qemu-kvm module, the lifecycle management of each cloud host in the cloud platform is realized.
[0124] Each storage node contains an NFS storage server and its corresponding main program. Data redundancy is achieved by implementing RAID (Redundant Array of Independent Disks) on the disk arrays of each node, partitioning the disk arrays, and formatting the file system. The system also includes a keepalived high-availability software module and a haproxy module for connecting to the NFS storage server on each storage node and creating a shared virtualization access interface. When the compute node cluster needs to access cloud disk resources, it establishes a connection with the storage node cluster through this virtualization access interface. Each storage node also contains an rsync module for synchronizing data across all storage nodes in the NFS storage cluster, ensuring real-time data updates.
[0125] like Figure 3 As shown, Figure 3 This is a schematic diagram of a cloud platform storage system proposed in one embodiment of this application, wherein... Figure 3 The upper part of the diagram represents the compute node cluster, containing multiple compute nodes. Each compute node includes a glance module, a cinder module, a nova module, and a qemu-kvm module, and deploys multiple disks. These disks across the compute nodes collectively form the MinIO object storage cluster. The compute node cluster accesses the storage node cluster through a virtualization access interface. This virtualization access structure is shared by all storage nodes. The diagram only shows a two-node storage node cluster; adjustments can be made as needed in actual use. Each storage node contains a keepalived module, a haproxy module, an rsync module, and an NFS service. The rsync module enables data synchronization between storage nodes, while the NFS service controls the multiple disks within the storage node to form a disk array, enabling the NFS storage cluster to store cloud disk resources.
[0126] This application also proposes a cloud platform storage method in its embodiments, such as... Figure 4 As shown, Figure 4 This is a flowchart illustrating an image creation process according to an embodiment of this application. The method is applied to the cloud platform storage system in this embodiment and specifically includes the following steps:
[0127] Before starting the image creation process, you need to obtain the image file to be created.
[0128] Then, depending on how the image was created, different operations are performed. The following explains the method of creating the image via the command line:
[0129] First, in response to the image creation command, the image file is uploaded to the cloud platform by executing a command line through the glance module.
[0130] In this embodiment of the application, after obtaining the user's image creation instruction, the image service command line tool, such as cmd, can be executed through the glance module to upload the image file to be created to the cloud platform, so that the image file can be stored and associated in the cloud platform.
[0131] Then, after receiving the image creation instruction, the image API service module executes the image creation operation, creates the database entry for the image, calls the metadata management module to manage the metadata of the image, and stores the metadata of the image in the image database module.
[0132] In this embodiment, after the image API service module receives the image creation instruction, it first needs to perform the image creation operation and, based on the image's relevant information, create a database entry for the image in the database so that the image creation operation can be recorded in the cloud platform. Furthermore, it needs to call the metadata management module to store the image's metadata in the database module, thus preventing data loss during the operation and allowing for traceability in case of problems.
[0133] Next, after receiving the image creation instruction from the image API service module, the image service driver module calls the image storage driver module.
[0134] In this embodiment of the application, after creating the database entry for the image and recording the image's metadata, the API service module needs to pass the image creation instruction to the image service driver module. As described above, the image service driver module is used to call the backend image storage driver module. After receiving the instruction from the image API service module, it sends the relevant commands for creating the image to the image storage driver module.
[0135] Finally, the image storage driver module stores the image file to the target location of the MinIO object storage cluster.
[0136] In this embodiment, since the image file has been created via command line and uploaded to the cloud platform, but still needs to be stored in the MinIO object storage cluster, the image storage driver module saves the image file in the target location corresponding to the MinIO object storage cluster after receiving the instruction, thereby completing the image creation operation.
[0137] In conjunction with the above embodiments, in one implementation, this application also provides a cloud platform storage method, such as... Figure 4As shown, creating an image via image import also includes:
[0138] First, in response to the image creation command, the image file is uploaded to the first storage location in the MinIO object storage cluster.
[0139] In this embodiment of the application, an image is created by importing an image. First, the created image file needs to be directly uploaded to the MinIO object storage cluster, and the upload location is recorded as the first storage location.
[0140] Then, after receiving the image creation instruction, the image API service module performs the image import operation, creates the database entry for the image, calls the metadata management module to manage the metadata of the image, and stores the metadata of the image in the image database module.
[0141] In this embodiment of the application, as described above, creating an image requires creating a database entry for the image and managing and storing metadata. The difference is that in the embodiment described above, the image file has already been uploaded to the cloud platform, while in the method proposed here, the image file is uploaded to the MinIO object storage cluster. Therefore, an image import operation is also required to import the image into the cloud platform.
[0142] Finally, the storage location of the image file in the database entry of the image is modified to the first storage location.
[0143] In this embodiment of the application, after completing the image import and storage of database-related information, it is also necessary to point the image to the corresponding storage location of the MinIO object storage cluster, namely the first storage location mentioned above. Therefore, in this step, the storage location of the image file is modified to the first storage location, thereby completing the operation of creating an image by image import.
[0144] This application also proposes a cloud platform storage method in its embodiments, such as... Figure 5 As shown, Figure 5 This is a flowchart illustrating the creation of a cloud disk according to an embodiment of this application. The method is applied to the cloud platform storage system in this embodiment and specifically includes the following steps:
[0145] First, obtain the name, size, and image used for the cloud disk to be created.
[0146] In this embodiment of the application, when creating a cloud disk, it is first necessary to determine whether the cloud disk to be created will be used as a system disk or a data disk. If it is both, it is necessary to obtain basic information such as the name and size of the cloud disk to be created before creating the cloud disk. If the cloud disk to be created is a system disk, it is also necessary to obtain the image to be used to create the system disk, such as Linux or Windows.
[0147] Then, in response to the cloud disk creation request, the cloud disk API service module creates a cloud disk database entry and sends the cloud disk creation request to the scheduling service module through the message queue service module.
[0148] In this embodiment of the application, after receiving the cloud disk creation request, the cloud disk API service first needs to back up the records in the cloud disk database, record the process of various operations in the database, and at the same time, it also needs to use the message queue service module to forward the cloud disk creation request, and determine the first cloud disk management service module to execute the creation request in the scheduling service module.
[0149] Next, the scheduling service module determines the first cloud disk management service module according to the received instruction, and sends the cloud disk creation request to the first cloud disk management service module through the message queue service module.
[0150] In this embodiment, the scheduling service module filters each cloud disk management service module according to the received instruction. Based on the cloud disk size, operating environment and other relevant information contained in the cloud disk creation instruction, it determines the first cloud disk management service module most suitable to complete the cloud disk creation instruction. The scheduling service module also sends the cloud disk creation instruction to the determined first cloud disk management service module through the message queue service module.
[0151] Finally, the first cloud disk management service module calls the cloud disk driver module to create the target cloud disk file in the NFS storage cluster.
[0152] In this embodiment of the application, after the first cloud disk management service module receives the instruction, it needs to perform a cloud disk creation operation according to the instruction. Specifically, it calls the backend cloud disk driver module to create a cloud disk file of a specified size in its related NFS storage cluster as the result of the cloud disk creation instruction.
[0153] Furthermore, when the cloud disk creation request is to create a system disk, the first cloud disk management service module calls the glance module to obtain the target image file and imports the target image file into the target cloud disk file.
[0154] In this embodiment of the application, when the created cloud disk is a system disk, it is also necessary to import the corresponding system image into it. According to the system image required by the cloud disk to be created, the first cloud disk management service module will call the glance module in the computing node cluster to obtain the target image file to be used in the MinIO object storage cluster. After obtaining the target image file, the target image file is imported into the target cloud disk file, thus completing the creation of the system disk.
[0155] This application also proposes a cloud platform storage method in its embodiments, such as... Figure 6 As shown, Figure 6 This is a flowchart of a cloud hard drive backup process provided in an embodiment of this application. The method is applied to the cloud platform storage system in this embodiment and specifically includes the following steps:
[0156] First, in response to a cloud disk backup request, the cloud disk API service module creates a cloud disk backup database entry and sends the cloud disk backup request to the cloud disk backup service module through the message queue service module.
[0157] In this embodiment of the application, after receiving a new request to continue backing up the cloud disk, the cloud disk API service module will create a corresponding database entry in the cloud disk database module as an archive of the data. At the same time, it will also send the cloud disk backup creation request to the corresponding cloud disk backup service module through the message queue service module.
[0158] Then, the cloud disk backup service module calls the second cloud disk management service module to read the source backup data in the cloud disk to be backed up.
[0159] In this embodiment, unlike the first cloud disk management service module for creating cloud disks described above, after receiving a request from the cloud disk API service module to create a cloud disk backup, the second cloud disk management service module corresponding to the original cloud disk resource to be backed up will be called. The second cloud disk management service module will then read the source backup data to be backed up as the input for the cloud disk backup.
[0160] Finally, the cloud disk backup service module calls the cloud disk backup driver module to write the source backup data into the MinIO object storage cluster.
[0161] In this embodiment, after obtaining the source backup data that needs to be backed up, the cloud disk backup driver module associated with the MinIO object storage cluster can be invoked to write the source backup data into the MinIO object storage cluster, thereby completing the creation of the cloud disk backup for the target cloud disk resource.
[0162] Based on the same design concept, another embodiment of this application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps in the cloud platform storage method as described in any of the above embodiments of this application.
[0163] Based on the same design concept, another embodiment of this application provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement the steps in the cloud platform storage method as described in any of the above embodiments of this application.
[0164] Based on the same design concept, another embodiment of this application provides an electronic device, such as... Figure 7 As shown. Figure 7 This is a schematic diagram of an electronic device according to an embodiment of this application. The electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When executed by the processor, the program implements the steps of the cloud platform storage method described in any of the above embodiments of this application.
[0165] As the method embodiments are basically similar to the system embodiments, the description is relatively simple, and relevant parts can be found in the description of the system embodiments.
[0166] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0167] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus, or computer program products. Therefore, embodiments of this application can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of this application can take the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0168] This application describes embodiments with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations. Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0169] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0170] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0171] Although preferred embodiments of the present application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present application.
[0172] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element.
[0173] The cloud platform storage system, method, device, and medium provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A cloud platform storage system, characterized by, include: compute node clusters and storage node clusters: The computing node cluster includes multiple computing nodes, each computing node includes multiple disks and corresponding drives, and each computing node runs at least cloud disk service and image management service; each computing node also includes a glance module, which includes a metadata management module, an image API service module, an image service driver module, an image storage driver module, and an image database module; each computing node also includes a cinder module, which includes a message queue service module, a scheduling service module, a cloud disk API service module, a cloud disk management service module, and a cloud disk driver module, used to execute cloud disk resource management service, cloud disk backup service module, and cloud disk backup driver module, used to execute cloud disk backup resource management service; The multiple disks on the multiple computing nodes constitute a MinIO object storage cluster, which is used to store image resources and / or cloud disk backup resources. The storage node cluster includes multiple storage nodes, each storage node including a disk array. The multiple disk arrays on the multiple storage nodes constitute an NFS storage cluster, which is used to store cloud disk resources. Each storage node also includes a keepalived high availability software module and a haproxy module, which are used to create virtualization access interfaces. The compute node cluster accesses each storage node in the storage node cluster through the virtualization access interfaces to manage the cloud disk resources. The compute node cluster stores the cloud disk resources in the NFS storage cluster through the cloud disk service, stores the cloud disk backup resources in the MinIO object storage cluster, and stores the image resources in the MinIO object storage cluster through the image management service.
2. The cloud platform storage system according to claim 1, characterized in that: The glance module is used to execute the image management service; The image API service module is used to receive and execute user requests to create, add, delete, modify, and query image resources, and store the execution results in the image database module. The metadata management module is used to receive instructions from the image API service module, manage the metadata of the image resources, and store the metadata of the image resources in the image database module; The image service driver module is used to receive instructions from the image API service module and call the image storage driver module to manage the image resources; The image storage driver module is connected to the MinIO object storage cluster and is used to create, add, delete, modify, and query the image resources in the MinIO object storage cluster.
3. The cloud platform storage system of claim 1, wherein: Each compute node also includes a glance module for performing the image management service; The cloud disk API service module is used to receive and execute user requests to create, add, delete, modify, query, and back up cloud disk resources; The cloud disk management service module is used to receive instructions from the cloud disk API service module, call the cloud disk driver module to manage the cloud disk resources, and call the glance module to download the image resources; The cloud disk driver module is connected to the NFS storage cluster and is used to create, add, delete, modify, and query cloud disk resources in the NFS storage cluster.
4. The cloud platform storage system according to claim 3, characterized in that: The cloud disk API service module is used to receive and execute user requests to create, add, delete, modify, query, and back up cloud disk backup resources. The cloud disk backup service module is used to receive instructions from the cloud disk API service module, call the cloud disk management service module to read the cloud disk resources to be backed up, or call the cloud disk backup driver module to create, add, delete, modify, and query the cloud disk backup resources in the MinIO object storage cluster. The cloud disk backup driver module is connected to the MinIO object storage cluster.
5. The cloud platform storage system according to claim 4, characterized in that: The Cinder module also includes: a cloud disk database module; The cloud disk API service module is used to receive and execute user requests to create, add, delete, modify, query, or back up cloud disk resources or cloud disk backup resources, and store the execution results in the cloud disk database module; The cloud disk database module is used to receive instructions from the cloud disk API service module and store the metadata of the cloud disk resources and the cloud disk backup resources; The message queue service module is used to receive instructions from the cloud disk API service module and route and forward them to the scheduling service module, the cloud disk management service module, and the cloud disk backup service module. The scheduling service module is used to determine the target cloud disk management service module according to the received instruction, and send the instruction to the target cloud disk management service module through the message queue service module; or, determine the target cloud disk backup service module, and send the instruction to the target cloud disk backup service module through the message queue service module. 6.The cloud platform storage system of any of claims 1-5, wherein: The cloud platform storage system meets at least one of the following requirements: Each storage node also includes an rsync module for synchronizing data between the various storage nodes in the NFS storage cluster; Each compute node also includes a nova module and a qemu-kvm module for lifecycle management of cloud hosts.
7. A cloud platform storage method, characterized by, Applied to the cloud platform storage system according to any one of claims 1-6, the method includes: Obtain the image file; In response to the image creation command, the image file is uploaded to the cloud platform by executing a command line through the glance module; After receiving the image creation instruction, the image API service module executes the image creation operation, creates a database entry for the image, calls the metadata management module to manage the image's metadata, and stores the image's metadata in the image database module. After receiving the image creation instruction from the image API service module, the image service driver module calls the image storage driver module; The image storage driver module stores the image file to the target location of the MinIO object storage cluster.
8. The cloud platform storage method of claim 7, wherein, The method further includes: Obtain the image file; In response to the image creation command, the image file is uploaded to the first storage location in the MinIO object storage cluster; After receiving the image creation instruction, the image API service module performs the image import operation, creates a database entry for the image, calls the metadata management module to manage the image's metadata, and stores the image's metadata in the image database module. Modify the storage location of the image file in the database entry of the image to the first storage location.
9. The cloud platform storage method of claim 7, wherein, The method includes: Get the name, size, and image used for the cloud disk to be created; In response to a cloud disk creation request, the cloud disk API service module creates a cloud disk database entry and sends the cloud disk creation request to the scheduling service module through the message queue service module; The scheduling service module determines the first cloud disk management service module based on the received instruction, and sends the cloud disk creation request to the first cloud disk management service module through the message queue service module; The first cloud disk management service module calls the cloud disk driver module to create the target cloud disk file in the NFS storage cluster; When the cloud disk creation request is to create a system disk, the first cloud disk management service module calls the glance module to obtain the target image file and imports the target image file into the target cloud disk file.
10. The cloud platform storage method of claim 7, wherein, The method includes: In response to a cloud disk backup request, the cloud disk API service module creates a cloud disk backup database entry and sends the cloud disk backup request to the cloud disk backup service module through the message queue service module; The cloud disk backup service module calls the second cloud disk management service module to read the source backup data in the cloud disk to be backed up. The cloud disk backup service module calls the cloud disk backup driver module to write the source backup data into the MinIO object storage cluster.