Cloud platform storage system, method, equipment and medium

By combining the architecture of MinIO object storage cluster and NFS storage cluster, the problems of complex and high operation and maintenance costs of Ceph storage systems in small and medium-sized cloud platform clusters are solved, and a storage system with simple deployment and low operation and maintenance costs are realized, meeting users' storage needs.

CN119892855AActive Publication Date: 2025-04-25CHINA TELECOM CLOUD TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411762849.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-04-25
Estimated Expiration
2044-12-03

AI Technical Summary

Technical Problem

The existing distributed Ceph storage system is complex in small and medium-sized cloud platform clusters and has high operation and maintenance costs, making it difficult to meet the storage needs of small and medium-sized users.

Method used

Using the architecture of combining MinIO object storage cluster and NFS storage cluster, MinIO is used to store mirroring and cloud hard disk backup resources, and NFS is used to store cloud hard disk resources, simplifying the deployment and operation and maintenance of the storage system.

Benefits of technology

It realizes the simple deployment of storage systems with low operation and maintenance costs in small and medium-sized cloud platform clusters, meeting users' storage needs for cloud hard disk, mirroring and cloud hard disk backup resources, while reducing users' operation and maintenance complexity and cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892855A_ABST
    Figure CN119892855A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a cloud platform storage system and method, equipment and a medium, and relates to the technical field of cloud platforms. The cloud platform storage system comprises a computing node cluster and a storage node cluster, the computing node cluster comprises a plurality of computing nodes, a plurality of disks on the computing nodes form a MinIO object storage cluster used for storing mirror image resources and / or cloud hard disk backup resources, the storage node cluster comprises a plurality of storage nodes, and a plurality of disk arrays on the storage nodes form an NFS storage cluster used for storing mirror image resources and / or cloud hard disk backup resources. The computing node cluster is used for storing cloud hard disk resources, the computing node cluster stores the cloud hard disk resources in the NFS storage cluster through cloud hard disk service, stores cloud hard disk backup resources in the MinIO object storage cluster, and stores mirror image resources in the MinIO object storage cluster through mirror image management service. Through the mode, the storage requirements of users in a cloud platform use scene of small and medium-scale clusters are met, meanwhile, the complexity of system deployment is reduced, and the operation and maintenance cost of using the cloud platform is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of cloud platform, and in particular to a cloud platform storage system, method, device and medium. Background Art

[0002] In the current IaaS (Infrastructure as a Service) cloud platform, the storage system is crucial. The storage system involves the lifecycle management of images and cloud hard disk resources, which are the basis for opening cloud host resources. Therefore, the design of the storage system plays a key role in the entire cloud platform. Generally, large cloud platform clusters will use distributed Ceph (an open source distributed storage system) storage as the storage base. Ceph storage can provide block storage for cloud hard disks; it can also provide object storage for saving images and cloud hard disk backups. However, the Ceph storage architecture is complex and requires high operation and maintenance costs; in addition, Ceph storage performs better in large clusters. However, in some user scenarios where the computing resources of platform nodes are less, Ceph storage will not only waste resources, but also generate higher operation and maintenance costs.

[0003] Therefore, a storage system that is more suitable for small and medium-sized cloud platform clusters and is easy to deploy and maintain is urgently needed. Summary of the invention

[0004] Based on the above technical problems, the embodiments of the present application provide 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 an embodiment of the present application provides a cloud platform storage system, the system comprising:

[0006] Compute node cluster and storage node cluster:

[0007] The computing node cluster includes multiple computing nodes, each computing node includes multiple disks and corresponding drivers, and each computing node runs at least a cloud hard disk service and an image management service;

[0008] The multiple disks on the multiple computing nodes constitute a MinIO object storage cluster, and the MinIO object storage cluster is used to store image resources and / or cloud hard disk backup resources;

[0009] The storage node cluster includes multiple storage nodes, each storage node includes a disk array, and multiple disk arrays on the multiple storage nodes constitute an NFS storage cluster, and the NFS storage cluster is used to store cloud hard disk resources;

[0010] The computing node cluster stores the cloud hard disk resources in the NFS storage cluster through the cloud hard disk service, and stores the cloud hard disk backup resources in the MinIO object storage cluster. The computing node cluster stores the image resources in the MinIO object storage cluster through the image management service.

[0011] Optionally, the system further comprises:

[0012] Each computing node also includes a glance module for executing 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 mirror API service module is used to receive and execute the user's operation request to create, add, delete, modify, and query the mirror resource, and store the execution result in the mirror database module;

[0015] The metadata management module is used to receive instructions from the mirror API service module, manage the metadata of the mirror resource, and store the metadata of the mirror resource in the mirror 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 comprises:

[0019] Each computing node also includes a glance module for executing the image management service;

[0020] Each computing node also includes a cinder module, which includes at least: a cloud hard disk API service module, a cloud hard disk management service module, and a cloud hard disk driver module, which is used to perform cloud hard disk resource management services;

[0021] The cloud hard disk API service module is used to receive and execute user operation requests to create, add, delete, modify, query, and backup the cloud hard disk resources;

[0022] The cloud hard disk management service module is used to receive instructions from the cloud hard disk API service module, call the cloud hard disk driver module to manage the cloud hard disk resources, and call the glance module to download the image resources;

[0023] The cloud hard disk driver module is connected to the NFS storage cluster and is used to create, add, delete, modify, and query the cloud hard disk resources in the NFS storage cluster.

[0024] Optionally, the system further comprises:

[0025] The cinder module also includes: a cloud hard disk backup service module and a cloud hard disk backup driver module, which are used to perform cloud hard disk backup resource management services;

[0026] The cloud hard disk API service module is used to receive and execute user operation requests to create, add, delete, modify, query, and back up the cloud hard disk backup resources;

[0027] The cloud hard disk backup service module is used to receive instructions from the cloud hard disk API service module, call the cloud hard disk management service module to read the cloud hard disk resources to be backed up, or call the cloud hard disk backup driver module to create, add, delete, change, and query the cloud hard disk backup resources in the MinIO object storage cluster. The cloud hard disk backup driver module is connected to the MinIO object storage cluster.

[0028] Optionally, the system further comprises:

[0029] The cinder module also includes: a cloud hard disk database module, a message queue service module, and a scheduling service module;

[0030] The cloud hard disk API service module is used to receive and execute the user's operation request to create, add, delete, modify, query, and back up the cloud hard disk resource or the cloud hard disk backup resource, and store the execution result in the cloud hard disk database module;

[0031] The cloud hard disk database module is used to receive instructions from the cloud hard disk API service module and store metadata of the cloud hard disk resources and the cloud hard disk backup resources;

[0032] The message queue service module is used to receive instructions from the cloud hard disk API service module, and route and forward them to the scheduling service module, the cloud hard disk management service module, and the cloud hard disk backup service module;

[0033] The scheduling service module is used to determine the target cloud hard disk management service module according to the received instructions, and send the instructions to the target cloud hard disk management service module through the message queue service module, or determine the target cloud hard disk backup service module, and send the instructions to the target cloud hard disk backup service module through the message queue service module.

[0034] Optionally, the system further comprises:

[0035] Each storage node also includes a keepalived high-availability software module and a haproxy module, which are used to create a virtualized access interface. The computing node cluster accesses each storage node in the storage node cluster through the virtualized access interface to manage the cloud hard disk resources;

[0036] Each storage node also includes an rsync module for synchronizing data between the storage nodes in the NFS storage cluster;

[0037] Each computing node also includes the nova module and the qemu-kvm module for lifecycle management of the cloud host.

[0038] A second aspect of an embodiment of the present application provides a cloud platform storage method, the method comprising:

[0039] Get the image file;

[0040] In response to the image creation instruction, the glance module executes a command line to upload the image file to the cloud platform;

[0041] After receiving the image creation instruction, the image API service module executes the image creation operation and creates a database entry of 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;

[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 a target location of the MinIO object storage cluster.

[0044] Optionally, the method further comprises:

[0045] Get the image file;

[0046] In response to the image creation instruction, uploading the image file to a first storage location in the MinIO object storage cluster;

[0047] After receiving the image creation instruction, the image API service module performs an image import operation and creates a database entry of 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;

[0048] The storage location of the mirror file in the database entry of the mirror is modified to the first storage location.

[0049] Optionally, the method further comprises:

[0050] Get the name, size, and image used of the cloud disk to be created;

[0051] In response to the cloud hard disk creation request, the cloud hard disk API service module creates a cloud hard disk database entry, and sends the cloud hard disk creation request to the scheduling service module through the message queue service module;

[0052] The scheduling service module determines the first cloud hard disk management service module according to the received instruction, and sends the cloud hard disk creation request to the first cloud hard disk management service module through the message queue service module;

[0053] The first cloud hard disk management service module calls the cloud hard disk driver module to create a target cloud hard disk file in the NFS storage cluster;

[0054] When the cloud hard disk creation request is to create a system disk, the first cloud hard disk management service module calls the glance module to obtain a target image file, and imports the target image file into the target cloud hard disk file.

[0055] Optionally, the method further comprises:

[0056] In response to the cloud hard disk backup request, the cloud hard disk API service module creates a cloud hard disk backup database entry, and sends the cloud hard disk backup request to the cloud hard disk backup service module through the message queue service module;

[0057] The cloud hard disk backup service module calls the second cloud hard disk management service module to read the source-end backup data in the cloud hard disk to be backed up;

[0058] The cloud hard disk backup service module calls the cloud hard disk backup driver module to write the source-end backup data in the MinIO object storage cluster.

[0059] A third aspect of an embodiment of the present application provides an electronic device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the cloud platform storage method of the second aspect of the embodiment of the present application is implemented.

[0060] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the cloud platform storage method of the second aspect of the embodiment of the present application is implemented.

[0061] A fifth aspect of an embodiment of the present 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 an embodiment of the present application.

[0062] The cloud platform storage system proposed in the embodiment of the present application uses MinIO object storage cluster and NFS storage cluster to constitute two main parts of the cloud platform storage system, wherein the cloud platform storage system includes a computing node cluster and a storage node cluster, the computing node cluster includes multiple computing nodes, each computing node includes multiple disks and corresponding drives, wherein multiple disks of multiple computing nodes together constitute the MinIO object storage cluster, to achieve the storage of image resources and / or cloud hard disk backup resources; and the storage node cluster includes multiple storage nodes, each storage node includes a disk array, and multiple disk arrays on multiple storage nodes constitute the NFS storage cluster, to achieve the storage of cloud hard disk resources. The computing node cluster saves the cloud hard disk resources in the NFS storage cluster through the cloud hard disk service, and saves the cloud hard disk backup resources in the MinIO object storage cluster. At the same time, the computing node cluster also saves the image resources in the MinIO object storage cluster through the image management service.

[0063] In this application, the cloud platform storage system stores the main image resources and cloud hard disk backup resources in a MinIO object storage cluster composed of multiple disks on multiple computing nodes, and stores the cloud hard disk resources in an NFS storage cluster composed of multiple disk arrays on multiple storage nodes. By using MinIO object storage cluster and NFS storage cluster to save various storage resources in the cloud platform, it not only takes advantage of the high performance, simple deployment and operation and maintenance, and compatibility with the S3 interface of the MinIO object storage cluster, but also takes advantage of the simple operation and maintenance and convenient deployment of the NFS storage cluster. By combining the MinIO object storage cluster and the NFS storage cluster architecture, it meets the storage needs of users for cloud hard disk resources, image resources, and cloud hard disk backup resources in the cloud platform usage scenarios of small and medium-sized clusters, while reducing the complexity of user deployment and the operation and maintenance costs of users using the cloud platform. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0065] Figure 1 This is a mirroring service architecture diagram proposed in one embodiment of the present application;

[0066] Figure 2 This is a cloud hard disk service architecture diagram proposed in one embodiment of the present application;

[0067] Figure 3 This is a schematic diagram of a cloud platform storage system proposed in one embodiment of the present application;

[0068] Figure 4 This is a flowchart of image creation provided by an embodiment of the present application;

[0069] Figure 5 This is a flow chart of creating a cloud hard disk provided by an embodiment of the present application;

[0070] Figure 6 This is a cloud hard disk backup flow chart provided by an embodiment of the present application;

[0071] Figure 7 It is a schematic diagram of an electronic device shown in an embodiment of the present application. DETAILED DESCRIPTION

[0072] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0073] In the drawings, the size of the constituent elements, the thickness of the layer or the area may be exaggerated for the sake of clarity. Therefore, any implementation of the present disclosure is not necessarily limited to the size shown in the drawings, and the shapes and sizes of the components in the drawings do not reflect the true proportions. In addition, the drawings schematically show ideal examples, and any implementation of the present disclosure is not limited to the shapes or values ​​shown in the drawings.

[0074] In the related art, when establishing a storage system for a cloud platform cluster, distributed Ceph storage is often chosen as the main architecture of the storage system. However, due to the widespread promotion of cloud platform technology, not only large customers with huge data loads need to use cloud platforms, but also some small and medium-sized enterprises, schools, individuals, etc., also have the need to use cloud platforms. In this case, the complex storage architecture brought by distributed Ceph storage usually exceeds the use needs of small and medium-sized cloud platform cluster users. In addition, due to the complex architecture of distributed Ceph, higher operation and maintenance costs will also be brought, which is not worth mentioning for the use of large enterprises, but for small and medium-sized cloud platform cluster users, it means that a lot of unnecessary costs will be generated. Although distributed Ceph storage has many advantages as the main architecture of the cloud platform storage system, due to the limitations of the above problems, for small and medium-sized cloud platform cluster users, a storage system that is easier to deploy and has lower operation and maintenance costs is needed as the main storage architecture of the cloud platform cluster.

[0075] Therefore, based on the application needs of small and medium-sized cloud platform cluster storage systems in related technologies, this application proposes a cloud platform storage system, including: a computing node cluster and a storage node cluster:

[0076] The computing node cluster includes multiple computing nodes, each computing node includes multiple disks and corresponding drivers, and each computing node runs at least a cloud hard disk service and an image management service;

[0077] The multiple disks on the multiple computing nodes constitute a MinIO object storage cluster, and the MinIO object storage cluster is used to store image resources and / or cloud hard disk backup resources;

[0078] The storage node cluster includes multiple storage nodes, each storage node includes a disk array, and multiple disk arrays on the multiple storage nodes constitute an NFS storage cluster, and the NFS storage cluster is used to store cloud hard disk resources;

[0079] The computing node cluster stores the cloud hard disk resources in the NFS storage cluster through the cloud hard disk service, and stores the cloud hard disk backup resources in the MinIO object storage cluster. The computing node cluster stores the image resources in the MinIO object storage cluster through the image management service.

[0080] In the embodiment of the present application, in order to realize 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] Among them, for the cloud platform storage system, it is mainly divided into a computing node cluster and a storage node cluster. The computing node cluster is composed of multiple computing nodes, each of which includes multiple disks and corresponding drives. By combining multiple disks on multiple computing nodes, a MinIO object storage cluster is formed. As a high-performance, open source object storage system, the MinIO object storage cluster has the advantages of high performance, scalability, cloud native support, S3 compatibility, data protection, and a graphical interface. In addition, the MinIO object storage cluster uses the EC erasure code mechanism to ensure that when the cluster has less than half of the disks, the data can still be read and written normally without loss, thereby enhancing the overall reliability and risk resistance of the system. In this application, at least a cloud hard disk service and an image management service are running on each computing node, and image resources and / or cloud hard disk backup resources are stored through the MinIO object storage cluster.

[0082] The storage node cluster also includes multiple storage nodes, each of which is deployed with a large-capacity disk array. Multiple disk arrays on multiple storage nodes constitute an NFS storage cluster. NFS storage clusters have the advantages of high performance and high flexibility, and are flexible to deploy and have low operation and maintenance costs, making them suitable for storing cloud hard disk resources. Therefore, in this application, the computing node cluster stores the cloud hard disk resources that need to be saved in the NFS storage cluster by executing the cloud hard disk service.

[0083] In combination with the above embodiments, in one implementation, the present application further provides a cloud platform storage system, which further includes:

[0084] Each computing node also includes a glance module for executing 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 mirror API service module is used to receive and execute the user's operation request to create, add, delete, modify, and query the mirror resource, and store the execution result in the mirror database module;

[0087] The metadata management module is used to receive instructions from the mirror API service module, manage the metadata of the mirror resource, and store the metadata of the mirror resource in the mirror 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 the embodiment of the present application, in the computing node cluster, in order to realize various functions of the cloud platform, a variety of cloud platform services are run on the nodes, including: cloud host management service, cloud hard disk management service, image management service, etc. In order to execute various cloud platform services, each computing node also includes a variety of modules for executing specific service functions. Among them, the computing node includes a glance module for executing the image management service of the cloud platform. The image management service can create, add, delete, change, query, call and other services for the image resources in the cloud platform, which is the basis for image resource management. In order to realize a variety of image management services, the glance module specifically includes: image API service module, metadata management module, image service driver module, image storage driver module and image database module.

[0091] Among them, the mirror API service module, namely the glance-api module, provides the main mode of communication interaction. When receiving the relevant request from the user to use the mirror service, it will accept the request and send the specific instructions to the corresponding other modules, and will also record and store the execution results of the user's instructions in the mirror database module for subsequent archiving and review. In an optional embodiment, the database module can be deployed and implemented through MySQL to improve the performance and reliability of the system.

[0092] The metadata management module, namely the glance-registry module, manages the metadata in the processing of the image resources and stores it in the image database module after receiving the instruction from the image API service module.

[0093] The image service driver module, namely glance-store, calls its back-end image storage driver module to manage the real data of the image resource after receiving the instruction. The image storage driver module, as the main body of the image resource operation, is connected to the MinIO object storage cluster. After receiving the instruction, it performs operations such as creation, addition, deletion, modification, and query on the image resources in the MinIO object storage cluster according to the instruction content.

[0094] like Figure 1 As shown, Figure 1This is a mirror service architecture diagram proposed in an embodiment of the present application, in which the mirror API service module receives instructions, stores the execution records of the instructions in the mirror database module, and sends instructions for metadata management to the metadata management module. The metadata management module will also archive the instructions in the mirror database module. The mirror API service module will also send relevant instructions for mirror resource operations to the mirror service driver module, and the mirror service driver module calls the back-end mirror storage driver module to operate the mirror resources in the MinIO object storage cluster.

[0095] In combination with the above embodiments, in one implementation, the present application further 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 hard disk API service module, a cloud hard disk management service module, and a cloud hard disk driver module, which is used to perform cloud hard disk resource management services;

[0097] The cloud hard disk API service module, i.e., the cinder-api module, is used to receive and execute user operation requests to create, add, delete, modify, query, and back up the cloud hard disk resources;

[0098] The cloud hard disk management service module is used to receive instructions from the cloud hard disk API service module, call the cloud hard disk driver module to manage the cloud hard disk resources, and call the glance module to download the image resources;

[0099] The cloud hard disk driver module is connected to the NFS storage cluster and is used to create, add, delete, modify, and query the cloud hard disk resources in the NFS storage cluster.

[0100] In an embodiment of the present application, in order to realize the management of cloud hard disks, a cinder module for performing cloud hard disk management services is also included on each computing node. Specifically, it includes a cloud hard disk API service module, a cloud hard disk management service module and a cloud hard 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, which is used to receive service requests related to cloud disk resources and send them to the corresponding module.

[0102] The cloud hard disk management service module, namely the cinder-volume module, is used to call the cloud hard disk driver module to manage cloud hard disk resources after receiving cloud hard disk resource-related instructions. On the other hand, in the process of creating a new cloud hard disk, if the cloud hard disk to be created is a system disk, it is necessary to copy the corresponding system image therein. In this case, the cloud hard 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 hard disk driver module, as the main body of cloud hard disk resource operation, is connected to the NFS storage cluster. After receiving the instruction, it performs operations such as creation, addition, deletion, modification, and query on the cloud hard disk resources in the NFS storage cluster according to the instruction content.

[0104] In combination with the above embodiments, in one implementation, the present application further provides a cloud platform storage system, which further includes:

[0105] The cinder module also includes: a cloud hard disk backup service module and a cloud hard disk backup driver module, which are used to perform cloud hard disk backup resource management services;

[0106] The cloud hard disk API service module is used to receive and execute user operation requests to create, add, delete, modify, query, and back up the cloud hard disk backup resources;

[0107] The cloud hard disk backup service module is used to receive instructions from the cloud hard disk API service module, call the cloud hard disk management service module to read the cloud hard disk resources to be backed up, or call the cloud hard disk backup driver module to create, add, delete, change, and query the cloud hard disk backup resources in the MinIO object storage cluster. The cloud hard disk backup driver module is connected to the MinIO object storage cluster.

[0108] In the embodiment of the present application, the cinder module also includes a part for managing cloud hard disk backup resources, specifically including: a cloud hard disk backup service module and a cloud hard disk backup driver module.

[0109] Among them, after receiving the instruction from the cloud hard disk API service module, that is, the cinder-backup module, the cloud hard disk backup service module calls its back-end cloud hard disk backup driver module to operate the cloud hard disk backup resources in the MinIO object storage cluster connected to it according to the instruction. In addition, when a new backup of a cloud hard disk resource needs to be created, the cloud hard disk backup service module will also call the cloud hard disk management service module to read the cloud hard disk resource that needs to be backed up in the NFS storage cluster.

[0110] In combination with the above embodiments, in one implementation, the present application further provides a cloud platform storage system, which further includes:

[0111] The cinder module also includes: a cloud hard disk database module, a message queue service module, and a scheduling service module;

[0112] The cloud hard disk API service module is used to receive and execute the user's operation request to create, add, delete, modify, query, and back up the cloud hard disk resource or the cloud hard disk backup resource, and store the execution result in the cloud hard disk database module;

[0113] The cloud hard disk database module is used to receive instructions from the cloud hard disk API service module and store metadata of the cloud hard disk resources and the cloud hard disk backup resources;

[0114] The message queue service module is used to receive instructions from the cloud hard disk API service module, and route and forward them to the scheduling service module, the cloud hard disk management service module, and the cloud hard disk backup service module;

[0115] The scheduling service module is used to determine the target cloud hard disk management service module according to the received instructions, and send the instructions to the target cloud hard disk management service module through the message queue service module, or determine the target cloud hard disk backup service module, and send the instructions to the target cloud hard disk backup service module through the message queue service module.

[0116] In the embodiment of the present application, in addition to the modules for specifically executing cloud hard disk resource management and cloud hard disk backup resource management described above, the cinder module also includes a cloud hard disk database module, a message queue service module, and a scheduling service module.

[0117] When receiving user operations on cloud hard disk resources or cloud hard disk backup resources, the cloud hard disk API service module will store the execution results in the cloud hard disk database module. At the same time, the cloud hard disk database module will also store the metadata of cloud hard disk resources and cloud hard disk backup resources. Then, the cloud hard disk API service module sends the instructions to the scheduling service module via the message queue service module. The scheduling service module will select the module that is most suitable for executing the task as the target cloud hard disk management service module or target cloud hard disk backup service module according to the conditions of each cloud hard disk or cloud hard disk backup, and forward the instructions to the target module through the message queue service module. After receiving the instructions, the target module can operate the corresponding cloud hard disk resources or cloud hard disk backup resources according to the instructions.

[0118] like Figure 2 As shown, Figure 2This is a cloud hard disk service architecture diagram proposed in an embodiment of the present application, wherein a cloud hard disk API service module receives instructions, and stores execution records of the instructions in a cloud hard disk database module, and sends instructions to a message queue service module at the same time. The message queue service module forwards the instructions to a scheduling service module, and the scheduling service module filters and selects cloud hard disk resources or cloud hard disk backup resources according to the received instructions, selects the cloud hard disk resources or cloud hard disk backup resources that are most suitable for executing the task, and forwards the instructions to the corresponding cloud hard disk management service module or cloud hard disk backup service module through the message queue service module, and the scheduling service module records the relevant scheduling results in the cloud hard disk database module. After the corresponding cloud hard disk backup service module receives the relevant instructions, the cloud hard disk backup driver module performs corresponding operations on the associated MinIO object storage cluster, or after the corresponding cloud hard disk management service module receives the relevant instructions, the cloud hard disk driver module performs corresponding operations on the associated NFS storage cluster, and the cloud hard disk management service module also records the operations in the cloud hard disk database module.

[0119] In combination with the above embodiments, in one implementation, the present application further 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, which are used to create a virtualized access interface. The computing node cluster accesses each storage node in the storage node cluster through the virtualized access interface to manage the cloud hard disk resources;

[0121] Each storage node also includes an rsync module for synchronizing data between the storage nodes in the NFS storage cluster;

[0122] Each computing node also includes the nova module and the qemu-kvm module for lifecycle management of the cloud host.

[0123] In the embodiment of the present application, in addition to the glance module and cinder module introduced above, each computing node also includes a nova module and a qemu-kvm module. The nova module is a sub-project of the cloud platform and is mainly responsible for the life cycle management of the cloud host. The qemu-kvm module is a general and open source simulator and kernel virtual machine. Through the nova module and the qemu-kvm module, the life cycle management of each cloud host in the cloud platform is jointly realized.

[0124] In each storage node, an NFS storage server and a corresponding main program are set up. By performing data redundancy in the form of RAID (redundant array of independent disks) on the disk arrays in each node, each disk array is partitioned and the file system is formatted; it also includes a keepalived high-availability software module and a haproxy module, which are used to access the NFS storage server in each storage node and create a virtualized access interface shared by each storage node. When the computing node cluster needs to access the cloud hard disk resources, it establishes a connection with the storage node cluster through the virtualized access interface; there is also an rsync module in each storage node for synchronizing data between each storage node in the NFS storage cluster to ensure that each storage node in the NFS storage cluster can update data in real time and synchronously.

[0125] like Figure 3 As shown, Figure 3 is a schematic diagram of a cloud platform storage system proposed in an embodiment of the present application, wherein Figure 3 The upper part is the computing node cluster, which contains multiple computing nodes. Each computing node contains the glance module, cinder module, nova module and qemu-kvm module, and multiple disks are deployed. The multiple disks in each computing node together constitute the MinIO object storage cluster. The computing node cluster accesses the storage node cluster through the virtualization access interface. The virtualization access structure is shared by each storage node. The figure only shows the storage node cluster of 2 storage nodes. In the actual use process, it can be adjusted according to actual needs. Each storage node contains the keepalived module, haproxy module, rsync module and NFS service. The data synchronization between each storage node is realized through the rsyns module. The NFS service controls multiple disks in the storage node to form a disk array, and realizes the NFS storage cluster for cloud hard disk resource storage.

[0126] The present application also proposes a cloud platform storage method, such as Figure 4 As shown, Figure 4 This is a flowchart of an image creation provided by an embodiment of the present application. The method is applied to the cloud platform storage system in the embodiment of the present application, and specifically includes the following steps:

[0127] Before starting to create an image, you need to obtain the image file to be created.

[0128] Then, perform different operations according to the way to create the image. The following first describes the way to create it through the command line:

[0129] First, in response to the image creation instruction, the glance module executes a command line to upload the image file to the cloud platform.

[0130] In an embodiment of the present application, after obtaining the user's image creation instruction, the command line tool of the image service, such as cmd, can be executed through the glance module to upload the image file that needs to be created to the cloud platform, so that the image file can be subsequently 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 a database entry of 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 the embodiment of the present application, after the image API service module receives the instruction to create an image, it first needs to perform the operation of image creation, and establish the database entry of the image in the database according to the relevant information of the image, so that the operation of image creation can be recorded in the cloud platform. It is also necessary to call the metadata management module to store the metadata of the image in the database module, so as to avoid data loss during the operation process and to trace back when problems occur.

[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 an embodiment of the present application, after creating a database entry for the image and recording the metadata of the image, 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 back-end image storage driver module. After receiving the instruction from the image API service module, the relevant commands for creating the image are sent 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 the embodiment of the present application, since the image file has been created through the command line and uploaded to the cloud platform, but the image file still needs to be stored in the MinIO object storage cluster, after the image storage driver module receives the instruction, the image file is saved in the target location corresponding to the MinIO object storage cluster, thereby completing the image creation operation.

[0137] In combination with the above embodiments, in one implementation, the present application also provides a cloud platform storage method, such as Figure 4As shown in the figure, creating an image by image import also includes:

[0138] First, in response to the image creation instruction, the image file is uploaded to the first storage location in the MinIO object storage cluster.

[0139] In the embodiment of the present application, to create an image by image import, it is first necessary to upload the created image file directly to the MinIO object storage cluster, and record the uploaded location as the first storage location.

[0140] Then, 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 metadata of the image, and stores the metadata of the image in the image database module.

[0141] In the embodiments of the present 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 embodiments described above, the image file has been uploaded to the cloud platform, while in the method proposed here, the image file is uploaded to the MinIO object storage cluster, so it is also necessary to perform an image import operation to import the image into the cloud platform.

[0142] Finally, the storage location of the mirror file in the database entry of the mirror is modified to the first storage location.

[0143] In the embodiment of the present application, after completing the image import and the storage of database-related information, it is also necessary to point the image to the corresponding storage location of the MinIO object storage cluster, that is, 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] The present application also proposes a cloud platform storage method, such as Figure 5 As shown, Figure 5 This is a flow chart of creating a cloud hard disk provided in an embodiment of the present application. The method is applied to the cloud platform storage system in the embodiment of the present application, and specifically includes the following steps:

[0145] First, obtain the name, size, and image used for the cloud disk to be created.

[0146] In an embodiment of the present application, when creating a cloud hard disk, it is first necessary to determine whether the created cloud hard disk is to be used as a system disk or as a data disk. As a part that includes both, before creating the cloud hard disk, it is first necessary to obtain basic information such as the name of the cloud hard disk to be created, the size of the cloud hard disk, etc. If the created cloud hard disk is a system disk, it is also necessary to obtain the image required to create the system disk, such as Linux, Windows, etc.

[0147] Then, in response to the cloud hard disk creation request, the cloud hard disk API service module creates a cloud hard disk database entry, and sends the cloud hard disk creation request to the scheduling service module through the message queue service module.

[0148] In an embodiment of the present application, after receiving a request to create a cloud hard disk, the cloud hard disk API service first needs to make a backup record in the cloud hard disk database and record the process of various operations in the database. It also needs to use the message queue service module to forward the cloud hard disk creation request and determine the first cloud hard disk management service module for executing the creation request in the scheduling service module.

[0149] Next, the scheduling service module determines the first cloud hard disk management service module according to the received instruction, and sends the cloud hard disk creation request to the first cloud hard disk management service module through the message queue service module.

[0150] In an embodiment of the present application, the scheduling service module screens each cloud hard disk management service module according to the received instructions, and determines the first cloud hard disk management service module that is most suitable for completing the cloud hard disk creation instruction based on the cloud hard disk size, operating environment and other related information contained in the cloud hard disk creation instruction. The scheduling service module will also send the cloud hard disk creation instruction to the determined first cloud hard disk management service module through the message queue service module.

[0151] Finally, the first cloud hard disk management service module calls the cloud hard disk driver module to create a target cloud hard disk file in the NFS storage cluster.

[0152] In an embodiment of the present application, after the first cloud hard disk management service module receives the instruction, it needs to execute the cloud hard disk creation operation according to the instruction. The specific method is to call the back-end you hard disk driver module to create a cloud hard disk file of a specified size in its related NFS storage cluster as a result of the cloud hard disk creation instruction.

[0153] Furthermore, when the cloud hard disk creation request is to create a system disk, the first cloud hard disk management service module calls the glance module to obtain a target image file, and imports the target image file into the target cloud hard disk file.

[0154] In an embodiment of the present application, when the created cloud hard disk is a system disk, it is also necessary to import a corresponding system image therein. According to the system image required for the cloud hard disk to be created, the first cloud hard disk management service module will call the glance module in the computing node cluster, and obtain the target image file required in the MinIO object storage cluster. After obtaining the target image file, the target image file is imported into the target cloud hard disk file, thereby completing the creation of the system disk.

[0155] The present application also proposes a cloud platform storage method, such as Figure 6 As shown, Figure 6 This is a cloud hard disk backup flow chart provided in an embodiment of the present application. The method is applied to the cloud platform storage system in the embodiment of the present application, and specifically includes the following steps:

[0156] First, in response to a cloud hard disk backup request, the cloud hard disk API service module creates a cloud hard disk backup database entry, and sends the cloud hard disk backup request to the cloud hard disk backup service module through the message queue service module.

[0157] In an embodiment of the present application, after receiving a new request for continuing to back up the cloud hard disk, the cloud hard disk API service module will create a corresponding database entry in the cloud hard disk database module as a data archive. At the same time, it will also send the cloud hard disk backup creation request to the corresponding cloud hard disk backup service module through the message queue service module.

[0158] Then, the cloud hard disk backup service module calls the second cloud hard disk management service module to read the source-end backup data in the cloud hard disk to be backed up.

[0159] In the embodiment of the present application, different from the first cloud hard disk management service module for creating a cloud hard disk as described above, after receiving the request for creating a cloud hard disk backup from the cloud hard disk API service module, the second cloud hard disk management service module corresponding to the original cloud hard disk resource to be backed up will be called, and through the second cloud hard disk management service module, the source backup data to be backed up will be read as the input of the cloud hard disk backup.

[0160] Finally, the cloud hard disk backup service module calls the cloud hard disk backup driver module to write the source-end backup data in the MinIO object storage cluster.

[0161] In an embodiment of the present application, after obtaining the source backup data that needs to be backed up, the cloud hard disk backup driver module associated with the MinIO object storage cluster can be called to write the source backup data in the MinIO object storage cluster, thereby completing the creation of a cloud hard disk backup of the target cloud hard disk resource.

[0162] Based on the same design concept, another embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps in the cloud platform storage method described in any of the above embodiments of the present application are implemented.

[0163] Based on the same design concept, another embodiment of the present application provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps in the cloud platform storage method described in any of the above embodiments of the present application.

[0164] Based on the same design concept, another embodiment of the present application provides an electronic device, such as Figure 7 shown. Figure 7 1 is a schematic diagram of an electronic device shown in an embodiment of the present application. The electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps in the cloud platform storage method described in any of the above embodiments of the present application when executing.

[0165] As for the method embodiment, since it is basically similar to the system embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the system embodiment.

[0166] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0167] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present application may adopt the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the embodiments of the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0168] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0169] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A 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 device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0171] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.

[0172] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0173] The above is a detailed introduction to a cloud platform storage system, method, device and medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A cloud platform storage system, characterized in that: include: Compute node cluster and storage node cluster: The computing node cluster includes multiple computing nodes, each computing node includes multiple disks and corresponding drivers, and each computing node runs at least a cloud hard disk service and an image management service; The multiple disks on the multiple computing nodes constitute a MinIO object storage cluster, and the MinIO object storage cluster is used to store image resources and / or cloud hard disk backup resources; The storage node cluster includes multiple storage nodes, each storage node includes a disk array, and multiple disk arrays on the multiple storage nodes constitute an NFS storage cluster, and the NFS storage cluster is used to store cloud hard disk resources; The computing node cluster stores the cloud hard disk resources in the NFS storage cluster through the cloud hard disk service, and stores the cloud hard disk backup resources in the MinIO object storage cluster. The computing node cluster 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: Each computing node also includes a glance module for executing the image management service; 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; The mirror API service module is used to receive and execute the user's operation request to create, add, delete, modify, and query the mirror resource, and store the execution result in the mirror database module; The metadata management module is used to receive instructions from the mirror API service module, manage the metadata of the mirror resource, and store the metadata of the mirror resource in the mirror 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 according to claim 1, characterized in that: Each computing node also includes a glance module for executing the image management service; Each computing node also includes a cinder module, which includes at least: a cloud hard disk API service module, a cloud hard disk management service module, and a cloud hard disk driver module, which is used to perform cloud hard disk resource management services; The cloud hard disk API service module is used to receive and execute user operation requests to create, add, delete, modify, query, and backup the cloud hard disk resources; The cloud hard disk management service module is used to receive instructions from the cloud hard disk API service module, call the cloud hard disk driver module to manage the cloud hard disk resources, and call the glance module to download the image resources; The cloud hard disk driver module is connected to the NFS storage cluster and is used to create, add, delete, modify, and query the cloud hard disk resources in the NFS storage cluster.

4. The cloud platform storage system according to claim 3, characterized in that: The cinder module also includes: a cloud hard disk backup service module and a cloud hard disk backup driver module, which are used to perform cloud hard disk backup resource management services; The cloud hard disk API service module is used to receive and execute user operation requests to create, add, delete, modify, query, and back up the cloud hard disk backup resources; The cloud hard disk backup service module is used to receive instructions from the cloud hard disk API service module, call the cloud hard disk management service module to read the cloud hard disk resources to be backed up, or call the cloud hard disk backup driver module to create, add, delete, change, and query the cloud hard disk backup resources in the MinIO object storage cluster. The cloud hard 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 hard disk database module, a message queue service module, and a scheduling service module; The cloud hard disk API service module is used to receive and execute the user's operation request to create, add, delete, modify, query, and back up the cloud hard disk resource or the cloud hard disk backup resource, and store the execution result in the cloud hard disk database module; The cloud hard disk database module is used to receive instructions from the cloud hard disk API service module and store metadata of the cloud hard disk resources and the cloud hard disk backup resources; The message queue service module is used to receive instructions from the cloud hard disk API service module, and route and forward them to the scheduling service module, the cloud hard disk management service module, and the cloud hard disk backup service module; The scheduling service module is used to determine the target cloud hard disk management service module according to the received instructions, and send the instructions to the target cloud hard disk management service module through the message queue service module, or determine the target cloud hard disk backup service module, and send the instructions to the target cloud hard disk backup service module through the message queue service module.

6. The cloud platform storage system according to any one of claims 1 to 5, characterized in that: The cloud platform storage system meets at least one of the following requirements: Each storage node also includes a keepalived high-availability software module and a haproxy module, which are used to create a virtualized access interface. The computing node cluster accesses each storage node in the storage node cluster through the virtualized access interface to manage the cloud hard disk resources; Each storage node also includes an rsync module for synchronizing data between the storage nodes in the NFS storage cluster; Each computing node also includes the nova module and the qemu-kvm module for lifecycle management of the cloud host.

7. A cloud platform storage method, characterized in that: Applied to the cloud platform storage system according to any one of claims 1 to 6, the method comprises: Get the image file; In response to the image creation instruction, the glance module executes a command line to upload the image file to the cloud platform; After receiving the image creation instruction, the image API service module executes the image creation operation and creates a database entry of 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; 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 a target location of the MinIO object storage cluster.

8. The cloud platform storage method according to claim 7, characterized in that: The method further comprises: Get the image file; In response to the image creation instruction, uploading the image file to a first storage location in the MinIO object storage cluster; After receiving the image creation instruction, the image API service module performs an image import operation and creates a database entry of 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; The storage location of the mirror file in the database entry of the mirror is modified to the first storage location.

9. The cloud platform storage method according to claim 7, characterized in that: The method comprises: Get the name, size, and image used of the cloud disk to be created; In response to the cloud hard disk creation request, the cloud hard disk API service module creates a cloud hard disk database entry, and sends the cloud hard disk creation request to the scheduling service module through the message queue service module; The scheduling service module determines the first cloud hard disk management service module according to the received instruction, and sends the cloud hard disk creation request to the first cloud hard disk management service module through the message queue service module; The first cloud hard disk management service module calls the cloud hard disk driver module to create a target cloud hard disk file in the NFS storage cluster; When the cloud hard disk creation request is to create a system disk, the first cloud hard disk management service module calls the glance module to obtain a target image file, and imports the target image file into the target cloud hard disk file.

10. The cloud platform storage method according to claim 7, characterized in that: The method comprises: In response to the cloud hard disk backup request, the cloud hard disk API service module creates a cloud hard disk backup database entry, and sends the cloud hard disk backup request to the cloud hard disk backup service module through the message queue service module; The cloud hard disk backup service module calls the second cloud hard disk management service module to read the source-end backup data in the cloud hard disk to be backed up; The cloud hard disk backup service module calls the cloud hard disk backup driver module to write the source-end backup data in the MinIO object storage cluster.

Citation Information

Patent Citations

  • System for mass data scalable storage based on Openstack cloud platform, constructing method and application thereof

    CN106993064A

  • Cloud platform architecture oriented to industrial field

    CN108123994A

  • Storage cluster

    CN109416620A

  • Distributed storage deployment method and device, equipment and storage medium

    CN115981788A

  • Method and device for creating cloud host containing MinIO application and OpenStack cloud platform

    CN118646753A