Method and system for a bare metal server using distributed block storage
By registering HBA card information and generating configuration files on the bare metal server, the distributed block storage of the bare metal instance is automatically configured, solving the problems of insufficient disk storage and complex operation, and improving the block storage efficiency and data security of the bare metal instance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-22
- Publication Date
- 2026-03-03
AI Technical Summary
Traditional bare metal servers cannot meet business needs with their hard drive storage. Replacing or adding hard drives is costly, data security is low, and block storage operations are complex and maintenance costs are high.
By obtaining the HBA card information of the bare metal server, registering and generating the Ironicnova configuration file on the ironic service, and installing the image agent and configuration file to the control node, the distributed block storage of the bare metal instance can be automatically configured and managed.
It improves the delivery efficiency of block storage for bare metal instances, reduces operation and maintenance costs, realizes high-performance distributed block storage services, and enhances data security and the degree of operation and maintenance automation.
Smart Images

Figure CN115756326B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of distributed block storage, and more specifically to a method and system for using distributed block storage on a bare metal server. Background Technology
[0002] Bare metal servers combine the advantages of physical machines and cloud servers, enabling rapid and automated delivery and convenient operation and maintenance management. Bare metal servers feature physical isolation, providing high security. Bare metal servers offer the same computing performance as physical machines, making them capable of handling virtualization applications, high-IO applications, high-performance computing, and other business applications, meeting the high performance and stability requirements of core application scenarios.
[0003] Traditional bare-metal machines are equipped with a certain number of hard drives for storage. The storage capacity and performance often fail to meet business needs. Replacing or adding hard drives is one way to improve performance, but this operation is costly and inconvenient. Furthermore, since data is stored locally on these hard drives, hard drive failure can lead to data corruption and loss, resulting in low data security.
[0004] After the bare metal of a traditional cloud resource pool is delivered, the use of block storage often requires manual operation of the machine to mount and unmount the block storage, which is complex and has high maintenance costs. Summary of the Invention
[0005] The purpose of this invention is to provide a method for using distributed block storage on a bare metal server to improve the efficiency of delivering bare metal instances using block storage;
[0006] To address the aforementioned technical problems, this invention provides a method for using distributed block storage on a bare metal server, comprising the following steps:
[0007] Obtain HBA card information for the bare metal server;
[0008] Register the bare metal server on the ironic service based on the HBA card information;
[0009] Generate an Ironicnova configuration file based on the device status information of the bare metal server;
[0010] Install the bare metal server's image agent and Ironicnova configuration file onto the control node.
[0011] Preferably, based on the HBA card information, a bare metal server is registered on the ironic service, specifically including the following steps:
[0012] Based on the HBA card information, bare metal servers are registered in batches on the ironic service via ironicvolume-connector.
[0013] Preferably, the Ironicnova configuration file includes nova-api service information.
[0014] Preferably, the nova-api service information includes nova-compute service information and ironic driver information.
[0015] Preferably, the HBA card information includes the iqn number of the iSCSI block storage service.
[0016] The present invention also provides a system for bare metal servers using distributed block storage, comprising:
[0017] The acquisition module is used to acquire HBA card information of the bare metal server;
[0018] The registration module is used to register bare metal servers on the ironic service based on HBA card information;
[0019] The configuration file generation module is used to generate Ironicnova configuration files based on the device status information of the bare metal server.
[0020] The installation module is used to install the bare metal server's image agent and Ironicnova configuration file to the control node. Compared with the prior art, the advantages of this invention are:
[0021] After enhancing the ironic driver, the existing novavolume-attach interface can be used to mount / unmount volumes planned for use on bare metal within the bare metal instance in real time.
[0022] Bare metal block storage relies on automatic network configuration after the bare metal instance is deployed. This network includes a management network and a storage network. The management network controls nodes to remotely invoke services within the bare metal instance to perform corresponding block storage operations. The storage network connects to iSCSI block storage.
[0023] For bare metal machines with HBA cards, the HBA card wwnn and wwpn numbers need to be collected in batches and registered in batches before delivery to the cloud environment. This registration is used for FC block storage configuration by the backend storage when the machines are mounted.
[0024] Once the bare metal instance is deployed and the management network and storage network are successfully configured, the cloud management platform can be used to mount / unmount iSCSI block storage and FCSAN storage services for the bare metal instance, providing high-performance distributed block storage and significantly improving the efficiency of delivering block storage to the bare metal instance.
[0025] Specifically:
[0026] 1) Enables bare metal machines to use iSCSI distributed block storage and FCSAN storage.
[0027] 2) Improved the automation level of bare metal resource delivery in the cloud computing platform, solving the problem that native OpenStack cannot manage bare metal block storage.
[0028] 3) Reduce the workload of maintenance personnel and improve the delivery efficiency of bare metal block storage. Attached Figure Description
[0029] The specific embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.
[0030] Figure 1 This is a flowchart illustrating a method for using distributed block storage in a bare metal server according to the present invention. Detailed Implementation
[0031] Numerous specific details are set forth in the following description to provide a full understanding of the invention. However, the invention can be practiced in many other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of the invention. Therefore, the invention is not limited to the specific embodiments disclosed below.
[0032] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.
[0033] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this specification, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."
[0034] The following is in conjunction with the appendix Figure 1 The present invention will be described in further detail as follows:
[0035] like Figure 1As shown, the present invention provides a method for using distributed block storage on a bare metal server, comprising the following steps:
[0036] Obtain HBA card information for the bare metal server;
[0037] Register the bare metal server on the ironic service based on the HBA card information;
[0038] Generate an Ironicnova configuration file based on the device status information of the bare metal server;
[0039] Install the bare metal server's image agent and Ironicnova configuration file onto the control node.
[0040] In a preferred embodiment, registering a bare metal server on the ironic service specifically includes the following steps:
[0041] Batch registration is performed using ironicvolume-connector.
[0042] In a preferred embodiment, the HBA card information includes the iqn number of the iSCSI block storage service;
[0043] In this embodiment, the iqn number of the iSCSI block storage service is the UUID generated when registering the node. Ensuring uniqueness means that the block storage can only be mounted by this bare metal machine, thus avoiding security issues.
[0044] In a preferred embodiment, installing the bare metal server's image agent onto the control node specifically includes the following steps:
[0045] Install the bare metal server's image agent onto the control node using the volume service agent.
[0046] In a preferred embodiment, the Ironicnova configuration file includes nova-api service information.
[0047] In a preferred embodiment, the nova-api service information includes nova-compute service information and ironic driver information.
[0048] To better illustrate the technical effects of the present invention, the present invention provides the following specific examples to illustrate the above technical process:
[0049] This example demonstrates a method for using distributed block storage on a bare-metal server, which includes the following steps:
[0050] 1) Obtain the HBA card information of the bare metal server; register the bare metal server on the ironic service based on the HBA card information;
[0051] 2) The cloud platform sends a Nova volume operation request to the bare metal management module;
[0052] 3) The bare metal management module distinguishes between virtual machines and bare metal instances based on Nova volume operation requests;
[0053] 4) Deploy OpenStack enhancement code;
[0054] The code deployment involves the nova-api service on the control node, the nova-compute service on the ironic compute node, and the ironic driver for the compute service. After deployment, restart the relevant services.
[0055] 5) Deploy the volume service client to the control node;
[0056] Multi-node deployment avoids service unavailability caused by single-node failure.
[0057] 6) Install the bare metal server's image agent onto the control node using the volume service agent;
[0058] The image agent and volume service client are installed in the same way. The volume service agent is installed and enabled when creating the bare metal base image. The service is volume-attachd-agent. The agent will start automatically after the bare metal instance is successfully deployed and the network is ready, connect to the RabbitMQ cluster of the public service node, and wait for the control node to make a remote volume service call.
[0059] 7) Configure the Ironicnova configuration file on the control node.
[0060] 8) Using bare metal volume services through the volume service client:
[0061] Plan separate storage pools (iSCSI block storage and FCSAN storage) for bare metal services and create the appropriate type of block storage.
[0062] 8.1) Mount block storage;
[0063] 8.2) Unmount.
[0064] In this invention, a unified bare metal resource pool is deployed and constructed within each POD according to the network planning, and a bare metal remote management module is deployed within the POD to be responsible for the unified management and scheduling of the bare metal resources of the POD.
[0065] This invention's bare metal block storage service requires integration with OpenStack services to enable unified management of virtual machines and bare metal instance block storage services via a remote management module. It uses the same interface as existing virtual machines using block storage services, eliminating the need for secondary adaptation by the cloud management platform. The specific implementation process is shown below, consisting of three parts:
[0066] 1. Data Registration: Collect bare metal server HBA card information and register ironicvolume-connector in batches to support subsequent mounting of FC block storage;
[0067] II. Remote Operations: Enhance nova-api, nova-compute, and ironic-driver to enable existing volume service interfaces to support volume operations for bare metal instances;
[0068] III. Volume Service Module: The volume service client is deployed on the control node. The volume service agent is installed in the bare metal image. Through nova-api, the volume service client on the control node is called. The client calls the volume service agent inside the target bare metal instance via RPC to complete the volume operation and return a response.
[0069] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules, units, or units is merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units, modules, or components may be combined or integrated into another device, or some features may be ignored or not executed.
[0070] The units may or may not be physically separate. The components shown as units can be one or more physical units, meaning they can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0071] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0072] In particular, according to embodiments disclosed in this invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication component, and / or installed from a removable medium. When the computer program is executed by a central processing unit (CPU), it performs the functions defined in the methods of this invention. It should be noted that the computer-readable medium described above in this invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof.
[0073] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0074] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions within the technical scope disclosed in the present invention should be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for a bare metal server to use distributed block storage, the method comprising: The method comprises the following steps: Obtain the HBA card information of the bare metal server; According to the HBA card information, register the bare metal server on the ironic service in batches through the ironic volume-connector; According to the device state information of the bare metal server, generate an Ironic nova configuration file; Install the image agent and the Ironic nova configuration file of the bare metal server to the control node; The bare metal block storage relies on the automatic configuration of the network after the bare metal is issued, and the network includes a management network and a storage network; the management network is used for the control node to remotely call the services inside the bare metal instance to realize corresponding block storage operations, and the storage network is used for connecting the iSCSI block storage.
2. The method of claim 1, wherein the Ironic nova configuration file includes nova-api service information.
3. The method of claim 2, wherein the nova-api service information includes nova-compute service information and ironic driver information.
4. The method of claim 1, wherein the HBA card information includes an iSCSI block storage service iqn number. The method comprises the following steps: An obtaining module is configured to obtain the HBA card information of the bare metal server; A registration module is configured to register the bare metal server on the ironic service according to the HBA card information; 5. A system for implementing the method of claim 1-4 for a bare metal server using distributed block storage, wherein, A configuration file generation module is configured to generate an Ironic nova configuration file according to the device state information of the bare metal server; An installation module is configured to install the image agent and the Ironic nova configuration file of the bare metal server to the control node.
Citation Information
Patent Citations
Method and device for deploying database in cloud computing management platform
CN107547250A
Method, system and device for mounting volume on bare metal server and medium
CN112003963A