Bare metal server deployment method and system

By registering DPU drivers in the OpenStack platform and utilizing components such as Ironic-Python-Agent and OVN-Controller, the challenges of DPU integration and management in bare metal cloud services are solved, resource scheduling, storage and network optimization is achieved, and the performance and reliability of bare metal services are improved.

CN119356764BActive Publication Date: 2025-05-16ZHUHAI XINGYUN ZHILIAN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411919296.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-05-16
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

In bare metal cloud services, how to make full use of data processing units (DPUs) to improve system performance, management efficiency and security, and overcome integration and management challenges.

Method used

By registering DPU drivers in the OpenStack platform, Ironic-Conductor can identify and manage DPU components; start a customized Ironic-Python-Agent to obtain storage configuration information, and create virtio-blk devices through an emulator; use OVN-Controller and OVN-VIF plug-ins to create and configure virtio-net devices to realize the network functions of DPU components; finally start a bare metal server through Nova, and the network configuration is performed by OVN-Controller.

Benefits of technology

Optimize resource scheduling, enhance storage efficiency, optimize network functions, achieve optimal utilization of DPU resources, and improve the performance and reliability of bare metal services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119356764B_ABST
    Figure CN119356764B_ABST
Patent Text Reader

Abstract

The present invention provides a bare metal server deployment method and system, which are applied to the field of cloud computing technology. The present invention registers the DPU driver through the OpenStack CLI, so that Ironic Conductor manages the DPU component, thereby optimizing resource scheduling. Ironic Python Agent obtains and uses storage configuration information to create virtio blk devices to enhance storage efficiency. OVN Controller and OVN VIF plug-ins create and configure virtio net devices to optimize network functions. Finally, Nova starts the server and completes the network configuration to achieve optimal utilization of DPU resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of cloud computing technology, and in particular to a bare metal server deployment method and system. Background Art

[0002] In the continuous innovation of information technology, cloud computing has become a key driving force to meet the growing demand of enterprises for data processing capabilities. With the development of big data, artificial intelligence and the Internet of Things, data centers, as the processing core, their performance and efficiency are crucial to the cloud computing ecosystem. However, traditional virtualization architectures are difficult to cope with high-performance computing and complex data processing tasks, and face challenges such as resource scalability, network throughput, data storage efficiency and security.

[0003] Bare metal cloud services improve computing performance and processing efficiency through direct hardware access, and are suitable for high-performance computing and big data scenarios. However, as application requirements expand, further technical optimization and management improvement are still necessary. In this context, the Data Processing Unit (DPU) emerges as a dedicated processor, bringing the potential to accelerate network, storage, and security functions, reduce the burden on the main CPU (Central Processing Unit), improve application performance, and support multi-tenant environments and flexible resource management.

[0004] The introduction of DPU not only enhances system performance and scalability, but also reduces the total cost of ownership. However, to fully utilize DPU in bare metal cloud services, integration and management challenges still need to be overcome. Solving these challenges will be the key to promoting the widespread application of DPU technology. Summary of the invention

[0005] In view of the above problems, the present invention provides a bare metal server deployment method and system that overcomes the above problems or at least partially solves the above problems. The technical solution is as follows:

[0006] A bare metal server deployment method, comprising:

[0007] The user registers the DPU driver of the DPU component integrated in the bare metal server through the OpenStack CLI so that Ironic-Conductor can identify and manage the DPU component;

[0008] After Ironic-Conductor performs a registration check and confirms that the DPU driver is successfully registered, the customized Ironic-Python-Agent is started so that the Ironic-Python-Agent establishes a connection with Ironic-Conductor and obtains the storage configuration information created by the user;

[0009] Ironic-Conductor calls the DPU driver and passes the storage configuration information to Ironic-Python-Agent;

[0010] Ironic-Python-Agent calls the emulator to create a virtio-blk device based on the storage configuration information, and binds the virtio-blk device to the bare metal server;

[0011] Starting the OVN-Controller and the customized OVN-VIF plug-in contained therein, so that the OVN-VIF plug-in calls the emulator to create a virtio-net device based on the network configuration information created by the user, and configures the virtio-net device to the bare metal server;

[0012] After the OVN-VIF plug-in updates the network port information to the OVN-Controller, the OVN-Controller sends a flow table to the DPU component of the bare metal server based on the network port information to implement the network function of the DPU component;

[0013] The bare metal server is started by Nova, and the OVN-Controller performs network configuration on the bare metal server;

[0014] After the bare metal server is successfully started, a message of successful startup of the bare metal server is fed back to the user.

[0015] Optionally, the DPU driver achieves seamless compatibility with the Nova interface, and all new codes are confined to the DPU driver.

[0016] Optionally, Ironic-Python-Agent and OVN-VIF plugins run on the DPU component and create virtio-blk and virtio-net devices by calling the emulator program.

[0017] Optionally, Ironic-Python-Agent binds the virtio-blk device to a specific T-end image so that the virtio-blk device appears as a local hard disk to the bare metal server.

[0018] Optionally, the OVN-VIF plugin adds the virtio-netrep port to the ovs bridge and sets the iface-id information of the virtio-netrep port.

[0019] Optionally, when the OVN-Controller detects a port change, it automatically sends a flow table to the DPU component to offload network functions to the DPU component.

[0020] Optionally, the bare metal server implements cloud disk startup through a virtio-blk device.

[0021] Optionally, run the openstackbaremetaldriver list command to view the registration status of the DPU driver.

[0022] Optionally, the network and storage configuration information is integrated through Nova and Neutron to quickly start the bare metal server.

[0023] A bare metal server deployment system, comprising: at least one computing node, an OpenStack platform, and at least one bare metal server;

[0024] The computing nodes include Ironic-Conductor and Nova-Compute, which are used to manage bare metal resources and virtual machine scheduling;

[0025] The OpenStack platform includes Neutron and Cinder, which are used to provide network and storage services;

[0026] The bare metal server is integrated with a DPU component, wherein the DPU component runs Ironic-Python-Agent, OVN-Controller and Emulator components;

[0027] Ironic-Python-Agent, which communicates with Ironic-Conductor and performs storage device creation and configuration operations;

[0028] OVN-Controller includes the OVN-VIF plug-in, which is used to manage network ports and issue flow tables;

[0029] Emulator component, used to create and manage virtio-blk and virtio-net devices;

[0030] The bare metal server deployment system implements the deployment of the bare metal server through the following steps:

[0031] Implementing and registering a DPU driver based on the DPU component on the computing node so that Ironic-Conductor can identify and manage the DPU component;

[0032] Ironic-Conductor establishes communication with Ironic-Python-Agent to obtain and pass storage configuration information;

[0033] Ironic-Python-Agent calls the Emulator component to create a virtio-blk device and binds it to the bare metal server.

[0034] The OVN-VIF plug-in calls the Emulator component to create a virtio-net device according to the network configuration information, and configures it to the bare metal server;

[0035] OVN-Controller detects changes in network ports and sends flow tables to implement the network acceleration function of the DPU component;

[0036] Nova-Compute starts the bare metal server through Nova, and OVN-Controller performs network configuration;

[0037] After the bare metal server is successfully started, the system will feedback the startup success information to the user.

[0038] By means of the above technical solution, the present invention provides a bare metal server deployment method and system, wherein a user registers a DPU driver of a DPU component integrated in a bare metal server through the OpenStack CLI, so that Ironic-Conductor identifies and manages the DPU component; after Ironic-Conductor performs a registration check and confirms that the DPU driver registration is successful, a customized Ironic-Python-Agent is started, so that the Ironic-Python-Agent establishes a connection with the Ironic-Conductor and obtains the storage configuration information created by the user; Ironic-Conductor calls the DPU driver and passes the storage configuration information to the Ironic-Python-Agent; the Ironic-Python-Agent calls the emulator to create a virtio-blk device based on the storage configuration information, and passes the virtio -blk device is bound to the bare metal server; OVN-Controller and its contained custom OVN-VIF plug-in are started, so that the OVN-VIF plug-in calls the emulator to create a virtio-net device based on the network configuration information created by the user, and configures the virtio-net device to the bare metal server; after the OVN-VIF plug-in updates the network port information to the OVN-Controller, the OVN-Controller sends the flow table to the DPU component of the bare metal server based on the network port information to realize the network function of the DPU component; the bare metal server is started through Nova, and the OVN-Controller performs network configuration on the bare metal server; after the bare metal server is successfully started, the user is fed back a successful startup message of the bare metal server. The present invention registers the DPU driver through the OpenStack CLI, so that Ironic-Conductor manages the DPU component, thereby optimizing resource scheduling. Ironic-Python-Agent obtains and uses storage configuration information to create virtio-blk devices to enhance storage efficiency. OVN-Controller and the OVN-VIF plug-in create and configure virtio-net devices to optimize network functions. Finally, Nova starts the server and completes the network configuration to achieve optimal utilization of DPU resources.

[0039] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present invention. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0041] Figure 1 A schematic diagram showing a process of implementing a bare metal server deployment method provided by an embodiment of the present invention;

[0042] Figure 2 A timing diagram of a bare metal server deployment process provided by an embodiment of the present invention is shown;

[0043] Figure 3 A schematic diagram of the system architecture of a bare metal server deployment system provided by an embodiment of the present invention is shown;

[0044] Figure 4 A schematic diagram of a framework of DPU-based Ironic bare metal resource management offloading provided by an embodiment of the present invention is shown;

[0045] Figure 5 A schematic diagram of an OpenStack cloud management architecture integrating a DPU and its driver (DPU_IPMITOOL) provided in an embodiment of the present invention is shown;

[0046] Figure 6 A schematic diagram of the Ironic Python Agent architecture changes provided by an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0047] The exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present invention and to enable the scope of the present invention to be fully communicated to those skilled in the art.

[0048] In today's wave of technological development, cloud computing has become a key driving force for information technology innovation and business transformation. As enterprises and organizations continue to increase their demand for data processing capabilities, cloud computing technology and its underlying architecture are also evolving to meet increasingly complex computing tasks and data processing needs. Especially in the context of the increasing maturity of technologies such as big data, artificial intelligence, and the Internet of Things, the performance and efficiency of data centers, as the core of information processing, directly affect the health and development of the entire cloud computing ecosystem.

[0049] However, with the growing demand for high-performance computing and the increase in processing-intensive tasks, traditional virtualization-based data center architectures are facing unprecedented challenges. These challenges not only lie in the scalability and flexibility of computing resources, but also involve higher requirements in terms of network throughput, data storage efficiency, and system security.

[0050] Bare metal cloud services effectively address the above challenges by bypassing the virtualization layer and providing hardware resources directly. This service maximizes computing performance, reduces latency, and improves processing efficiency by providing non-virtualized direct hardware access, making it particularly suitable for scenarios such as high-performance computing and big data processing. However, as application scenarios expand, bare metal cloud services themselves also need to continue to innovate and optimize to improve their performance, management efficiency, and security.

[0051] In this technological context, the emergence of the Data Processing Unit (DPU) has brought new transformative potential to cloud data centers. The DPU is a specialized processor designed to offload and accelerate network, storage, and security tasks in data centers. By not increasing the burden on the main CPU (Central Processing Unit), the DPU significantly improves application performance and data throughput.

[0052] The key advantages of DPU include efficient network and storage offloading, accelerated security features, resource isolation and multi-tenant support, flexible resource management, reduced total cost of ownership (TCO), and enhanced performance and scalability. Despite these advantages, DPU still needs to overcome a series of technical and practical challenges to fully realize its potential in bare metal cloud services. These challenges include how to efficiently integrate DPU into the existing cloud platform architecture, and how to design a management and operation model that can fully utilize DPU capabilities and conform to the characteristics of bare metal services.

[0053] In view of this, the present invention is committed to exploring and developing a set of bare metal cloud platform management plane performance acceleration technologies based on DPU. The core goal of this technology is to solve the integration problem of DPU in the bare metal service environment, while optimizing the network and storage performance of bare metal services to meet the growing demand for high-density computing and high-performance processing. By effectively integrating the powerful computing, network and storage processing capabilities of DPU into bare metal cloud services, the present invention aims to significantly improve the performance of bare metal services, optimize resource utilization, and reduce operating costs, thereby providing users with a more efficient, reliable and secure cloud service experience.

[0054] In view of the problem that the DPU in the current bare metal server environment lacks exclusive driver support, the embodiment of the present invention develops a DPU driver system that can be embedded in the OpenStack ecosystem. The system covers key areas such as power management, hardware monitoring, and storage connection management to ensure efficient collaboration between the DPU and other hardware components of the bare metal server. The driver system supports an efficient deployment and startup architecture, can quickly boot from a specified storage medium, and improves startup speed and configuration flexibility.

[0055] Specifically, the embodiment of the present invention achieves acceleration and resource optimization by unloading components such as Ironic-Agent and OVN-Controller to the eCPU of the DPU, and directly passing the virtio-net device virtualized by the DPU network card to the bare metal server. The extended Ironic-Python-Agent supports the creation of virtio-blk devices, connects to the T end, mounts the actual back-end image, and makes the virtio-blk device appear as a local disk to the bare metal. In addition, the extended OVN-VIF supports user-mode virtio-netrep peer ports and supports dynamic creation of virtio-net devices, which effectively solves the problem of releasing physical server hardware resources of cloud computing nodes.

[0056] In response to the challenge of lack of dedicated driver support for DPU in the current bare metal server environment, the embodiment of the present invention develops a DPU driver system that can be embedded in the OpenStack ecosystem. The system covers key areas such as power management, hardware monitoring, and storage connection management, ensuring that the DPU can efficiently collaborate with other hardware components of the bare metal server. In addition, the driver system supports an efficient deployment and startup architecture, which can quickly boot from a specified storage medium, improving system startup speed and configuration flexibility.

[0057] To achieve resource optimization and performance acceleration, the present invention unloads components such as Ironic-Agent and OVN-Controller to the eCPU of the DPU, and directly passes the virtio-net device virtualized by the DPU network card to the bare metal server for use. The expanded Ironic-Python-Agent supports the creation of virtio-blk devices, connects to the T end, mounts the actual back-end image, and makes the virtio-blk device appear as a local disk to the bare metal. The further expanded OVN-VIF supports user-mode virtio-netrep peer ports, allowing dynamic creation of virtio-net devices, thereby effectively solving the problem of releasing the hardware resources of the physical server of the cloud computing node.

[0058] Based on these technical improvements, such as Figure 1As shown, a flowchart of an implementation of a bare metal server deployment method provided by an embodiment of the present invention is provided. The method may include:

[0059] S100. The user registers the DPU driver of the DPU component integrated in the bare metal server through the OpenStack CLI so that Ironic-Conductor can identify and manage the DPU component.

[0060] Among them, OpenStack CLI (OpenStack Command-Line Interface) is an interface for interacting with OpenStack services. Users can use the command line to manage and configure the OpenStack cloud environment, including creating and managing virtual machines, networks, storage and other resources.

[0061] Among them, DPU (Data Processing Unit) is a dedicated processor designed to handle data-intensive tasks and accelerate network, storage and security functions. In a bare metal server environment, the DPU driver is responsible for communicating and managing the DPU hardware to ensure that its functions can be fully utilized by the operating system and applications. Bare metal servers do not use a virtualization layer and run the operating system directly on physical hardware, so the DPU driver is particularly critical in this environment to optimize resource management and performance.

[0062] Among them, Ironic is part of the OpenStack project and is dedicated to the management of bare metal servers. Ironic-Conductor is one of the core components of Ironic, responsible for performing specific management tasks of bare metal nodes, such as processing hardware information, node deployment, and configuring networks and storage. Ironic-Conductor collaborates with other OpenStack services (such as Nova) to ensure that bare metal nodes can be managed as flexibly as virtual machines, but enjoy the performance advantages of running directly on physical hardware.

[0063] S110. After the Ironic-Conductor performs a registration check and confirms that the DPU driver is successfully registered, the customized Ironic-Python-Agent is started so that the Ironic-Python-Agent establishes a connection with the Ironic-Conductor and obtains the storage configuration information created by the user.

[0064] The registration check is used to confirm whether the bare metal server or its related drivers have been correctly added to the Ironic (OpenStack Bare Metal Service) database and can be recognized and managed by Ironic-Conductor.

[0065] Among them, Ironic-Python-Agent (IPA for short) is a small agent program running on a bare metal server and used to communicate with Ironic-Conductor. Ironic-Python-Agent is started during the boot process of the bare metal server and is usually loaded into memory from the network. Customized Ironic-Python-Agent refers to an agent program that has been specifically modified or configured to meet specific hardware environments or business requirements.

[0066] The storage configuration information refers to various settings and parameters related to the storage resources required by the bare metal server, including storage volume type, storage volume size, storage policy, storage volume configuration and mapping, etc.

[0067] S120, Ironic-Conductor calls the DPU driver and passes the storage configuration information to Ironic-Python-Agent.

[0068] S130, Ironic-Python-Agent calls the emulator to create a virtio-blk device based on the storage configuration information, and binds the virtio-blk device to the bare metal server.

[0069] The emulator component is a module used to create and manage virtual devices on a bare metal server.

[0070] The virtio-blk device is a virtualized block device interface based on the virtio framework, which is used to apply the specified storage configuration to the bare metal server so that it can access and use virtualized storage resources.

[0071] S140. Start the OVN-Controller and the customized OVN-VIF plug-in contained therein, so that the OVN-VIF plug-in calls the emulator to create a virtio-net device based on the network configuration information created by the user, and configures the virtio-net device to the bare metal server.

[0072] Among them, the customized OVN-VIF (Open Virtual Network-Virtual Interface) plug-in is a software module that is customized to support specific network configuration requirements and interaction with the emulator.

[0073] The network configuration information refers to the setting information that meets the user's needs for the network environment. The network configuration information may include network topology, IP address allocation, subnet, routing rules, and network security policies.

[0074] Among them, the virtio-net device is a network device based on the virtio framework, which provides a virtualized network interface so that the bare metal server can use the virtual network interface just like in a virtual machine.

[0075] S150. After the OVN-VIF plug-in updates the network port information to the OVN-Controller, the OVN-Controller sends the flow table to the DPU component of the bare metal server based on the network port information to implement the network function of the DPU component.

[0076] The network port information is configuration information related to the virtual network interface provided by the virtio-net device. The network port information may include a port identifier, a MAC address, an IP address, VLAN information, and a port configuration.

[0077] S160, start the bare metal server through Nova, and let OVN-Controller configure the network of the bare metal server.

[0078] Among them, Nova is the computing service component in OpenStack, responsible for managing and providing the life cycle of virtual machines (VMs) and bare metal servers. It handles all operations from starting, stopping to adjusting computing instances. Nova provides comprehensive cloud computing capabilities by collaborating with other OpenStack services (such as Neutron, Glance, Cinder, etc.).

[0079] S170: After the bare metal server is successfully started, a message indicating the successful startup of the bare metal server is fed back to the user.

[0080] The bare metal server deployment method provided in the embodiment of the present invention registers the DPU driver through the OpenStack CLI, so that Ironic-Conductor manages the DPU components, thereby optimizing resource scheduling. Ironic-Python-Agent obtains and uses storage configuration information to create virtio-blk devices to enhance storage efficiency. OVN-Controller and OVN-VIF plug-ins create and configure virtio-net devices to optimize network functions. Finally, Nova starts the server and completes the network configuration to achieve optimal utilization of DPU resources.

[0081] In order to facilitate the understanding of the bare metal server deployment process provided by the embodiment of the present invention and understand the interaction and collaboration between the various components, Figure 2 To explain: Figure 2The timing diagram of the bare metal server deployment process provided by an embodiment of the present invention is shown. The user registers the DPU driver through the OpenStack CLI, which is confirmed and notified to Nova by Ironic-Conductor. Subsequently, the Ironic-Python-Agent is started to connect to Ironic-Conductor to obtain hardware configuration information, that is, to store configuration information. This information is used by the emulator to create and bind the virtio-blk device to the bare metal server. Next, the virtio-net device is configured with a customized OVN-VIF plug-in, and the network port information is updated to the OVN-Controller, which sends the flow table to the DPU component of the bare metal server. Finally, Nova starts the bare metal server, and after completing the network configuration, the server is successfully started and fed back to the user.

[0082] Optionally, the DPU driver provided in the embodiment of the present invention achieves seamless compatibility with the Nova interface, and all new codes are confined to the DPU driver.

[0083] Specifically, the embodiment of the present invention can implement a set of DPU drivers embedded in Ironic through DPU in the computing nodes in the OpenStack cluster, and the driver is seamlessly compatible with the Nova interface. At the same time, all new codes are confined to the DPU driver module, avoiding any modification of the existing system code. This design not only simplifies the complexity of DPU integration, but also maintains the neatness of the system architecture and the independence of modules.

[0084] In order to achieve seamless compatibility with the Nova interface, the DPU driver is designed to be independent of other components, and all new codes are confined to the DPU driver. Under the drivers path in the Ironic code base, a new Python file dedicated to the DPU driver is added to implement functions such as power management, cloud disk mounting, and bare metal server deployment. This design allows users to easily operate and manage bare metal servers by reusing existing OpenStack commands (such as openstack server create and openstack flavor create, etc.), thereby achieving compatibility with virtual machine management. This approach not only simplifies the operation process, but also ensures tight integration with the existing OpenStack ecosystem.

[0085] Optionally, Ironic-Python-Agent and OVN-VIF plugins run on the DPU component and create virtio-blk and virtio-net devices by calling the emulator program.

[0086] The Ironic-Python-Agent and OVN-VIF plug-in running on the DPU component flexibly create virtio-blk and virtio-net devices by calling the emulator program. Based on the storage and network configuration information issued by OpenStack, the extended Ironic-Python-Agent calls the emulator program on the DPU to create the required virtio-blk devices. At the same time, the extended OVN-VIF plug-in calls the emulator program on the DPU to create the appropriate virtio-net devices.

[0087] The embodiment of the present invention can unload part of the load of the computing node by running the Ironic-Python-Agent and OVN-VIF plug-ins on the DPU component, thereby releasing the resources of the host CPU. At the same time, creating and managing virtual devices (such as virtio-blk and virtio-net) directly on the DPU can reduce the delay of data transmission and improve the efficiency of network and storage operations. This method not only optimizes resource allocation, but also improves the overall performance and response speed of bare metal cloud services, which helps to provide users with a more efficient and flexible service experience.

[0088] Ironic-Python-Agent and OVN-VIF plug-ins run on the DPU side and create and manage virtio-blk and virtio-net devices by calling the emulator program to achieve fully automated management of these virtualized devices. This process covers functions such as device creation, deletion, update, and viewing, and can dynamically add and delete virtio-net and virtio-blk devices as needed, while automatically registering these devices to OpenStack. This mechanism ensures efficient and flexible device management and supports dynamic resource allocation and optimization of the system.

[0089] Optionally, Ironic-Python-Agent binds the virtio-blk device to a specific T-side image so that the virtio-blk device appears as a local hard disk to the bare metal server.

[0090] Specifically, in the embodiment of the present invention, according to the T-end information sent by OpenStack, Ironic-Python-Agent can connect the virtio-blk device to the specified T-end image, so that the device is displayed as a local hard disk in the bare metal server. Ironic-Python-Agent automatically binds the remote storage disk to the virtio-blk device by using the configuration information sent by OpenStack, so that these virtio-blk devices are recognized as local hard disks on the bare metal server. This binding ensures that the bare metal server can seamlessly access and use remote storage resources, just like accessing a local hard disk.

[0091] Among them, the T-end image generally refers to an operating system or software image that is bound to a specific virtualization or hardware environment. The embodiment of the present invention presents a specific T-end image as a local hard disk of the bare metal server. In this way, the bare metal server can recognize and use this image when it starts, just like using an actual physical hard disk. The use of T-end images allows for rapid and standardized deployment and configuration of bare metal servers to meet different application requirements.

[0092] The embodiment of the present invention can make data transmission in bare metal cloud services more efficient and improve the utilization of hardware resources by binding the virtio-blk device to a specific T-end image. In addition, network latency and the complexity of storage access can be reduced, thereby improving overall system performance and response speed. By using the DPU to handle these tasks, the host CPU can focus on other computing-intensive tasks, further enhancing the flexibility and efficiency of bare metal cloud services.

[0093] Optionally, the OVN-VIF plug-in adds the virtio-netrep port to the ovs bridge and sets the iface-id information of the virtio-netrep port. When the OVN-Controller detects a port change, it automatically sends down the flow table to offload the network function to the DPU component.

[0094] Among them, netrep (network representative) refers to the representative of the network interface of the virtio-net device on the host. When using SR-IOV (single root I / O virtualization) or smart NIC, the network representative interface allows the host to manage the network traffic of the virtio-net device.

[0095] Among them, the ovs bridge (Open vSwitch bridge) is a virtual switch used to transfer data packets between virtual machines, containers, and physical networks.

[0096] Among them, iface-id is the abbreviation of interface identifier, which is usually used to identify a specific network interface in a network management system. It is used to track the network ports of virtual machines or containers and ensure that the network configuration is consistent with the virtualization management system (such as Neutron).

[0097] In the embodiment of the present invention, based on the network configuration information provided by OpenStack, the extended OVN-VIF plug-in adds the specified virtio-netrep port to the OVS bridge and sets the iface-id information of the port. At the same time, the OVN controller of the DPU component detects the change of the port and sends down the corresponding flow table to achieve the effect of offloading the network function to the DPU for accelerated operation.

[0098] Specifically, the OVN-VIF plug-in monitors changes in the host-side Pod by running the ovnkube-node component on the DPU side, obtains its annotation information, and thus determines the corresponding rep peer port information. Then, it sets necessary information such as iface-id for these rep peer ports. When the OVN-Controller on the DPU side detects a port change, it automatically sends the corresponding flow table and offloads the network function to the DPU for accelerated processing, thereby ensuring the efficiency and performance of network management.

[0099] The embodiment of the present invention adds the virtio-netrep port to the OVS bridge through the OVN-VIF plug-in and sets its iface-id information, which can effectively optimize the resource utilization of the DPU in the bare metal cloud service, so that the network traffic can be directly offloaded to the DPU for processing, thereby reducing the load on the host CPU. This not only improves the efficiency of network data packet processing, but also reduces network latency. As a result, the dedicated acceleration capability of the DPU can be fully utilized, improving the overall system performance and resource utilization, and providing users with faster and more reliable network services.

[0100] Optionally, the bare metal server can be started from a cloud disk using the virtio-blk device.

[0101] Specifically, the bare metal server boots the operating system from the cloud storage through the virtual block device (virtio-blk), so that the bare metal server can start the system from the remote cloud storage device without the need for a local disk. The bare metal server can start quickly through the configured virtio-blk device, and its virtio-net interface is ready, allowing the server to exchange data with other bare metal servers or virtual machines. This configuration ensures that the server can immediately access storage resources when it starts, and has network connection capabilities, achieving efficient computing and communication functions.

[0102] The embodiment of the present invention implements cloud disk booting through the virtio-blk device in the bare metal server, which can effectively improve the utilization rate of DPU resources and the overall service efficiency. With the powerful computing and network acceleration capabilities of the DPU, virtio-blk can achieve faster data transmission speeds and lower latency, allowing the system to load the operating system from cloud storage more quickly. At the same time, this architecture reduces the dependence on local storage resources, allowing the DPU to focus more on network processing and other data-intensive tasks. In this way, not only the system startup performance is improved, but also the dynamic allocation capability of resources is enhanced, providing more efficient performance support and flexibility for bare metal cloud services.

[0103] Optionally, in the embodiment of the present invention, the registration status of the DPU driver is checked through the openstackbaremetaldriver list command.

[0104] Specifically, after registering a new DPU driver in Ironic Conductor of a computing node, the embodiment of the present invention can use the openstackbaremetaldriver list command to check the registration status of the DPU driver to confirm whether it has been successfully registered and can be used to manage bare metal server resources.

[0105] The openstackbaremetaldriver list command is part of the OpenStack command line tool and is used to list the DPU drivers currently available in OpenStack Ironic. Operations and maintenance personnel can use the openstackbaremetaldriver list command to view which DPU drivers have been registered and are available for use to ensure that the system can correctly manage and control bare metal resources.

[0106] The registration status indicates whether the DPU driver has been successfully registered with Ironic and can be used to manage bare metal servers. Only successfully registered DPU drivers can actually work. The registration status of the DPU driver can be displayed in a driver list, and the status information of the DPU driver is displayed in the driver list.

[0107] By checking the registration status of the DPU driver, the embodiment of the present invention can ensure that the bare metal DPU driver is correctly configured and loaded in OpenStack Ironic, so that the correctly configured DPU driver can give full play to the advantages of the DPU in data processing and network acceleration, thereby improving the overall system performance and resource efficiency, and providing users with a more efficient cloud service experience.

[0108] Optionally, an embodiment of the present invention integrates network and storage configuration information through Nova and Neutron to quickly start a bare metal server.

[0109] Among them, Neutron is the network service component of OpenStack, responsible for providing scalable network connectivity as a service.

[0110] The network configuration information includes all settings related to the bare metal server network connection.

[0111] The storage configuration information involves how to allocate and connect storage resources to the bare metal server.

[0112] By combining the functions of Nova and Neutron, the embodiment of the present invention enables OpenStack to automatically configure and manage the network and storage resources of the bare metal server, so that the bare metal server can be quickly started and operate normally, thereby improving the efficiency of cloud services and user experience.

[0113] Although operations are depicted in a particular order, this should not be understood as requiring that the operations be performed in the particular order shown or in a sequential order.Multitasking and parallel processing may be advantageous under certain circumstances.

[0114] It should be understood that the various steps described in the method embodiments of the present invention may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present invention is not limited in this respect.

[0115] Corresponding to the above method embodiment, the embodiment of the present invention also provides a bare metal server deployment system, whose system architecture can be as follows: Figure 3 As shown, the system may include: at least one computing node, an OpenStack platform and at least one bare metal server; the computing node includes Ironic-Conductor and Nova-Compute, which are used to manage bare metal resources and virtual machine scheduling; the OpenStack platform includes Neutron and Cinder, which are used to provide network and storage services; the bare metal server is integrated with a DPU component, wherein the DPU component runs Ironic-Python-Agent, OVN-Controller and Emulator components; Ironic-Python-Agent is used to communicate with Ironic-Conductor and perform storage device creation and configuration operations; OVN-Controller includes OVN-VIF plug-in, which is used to manage network ports and send flow tables; Emulator component is used to create and manage virtio-blk and virtio-net devices.

[0116] The bare metal server deployment system implements bare metal server deployment through the following steps: Implement and register the DPU driver based on the DPU component on the compute node so that Ironic-Conductor can identify and manage the DPU component. Ironic-Conductor establishes communication with Ironic-Python-Agent to obtain and transmit storage configuration information. Ironic-Python-Agent calls the Emulator component to create the virtio-blk device and binds it to the bare metal server. The OVN-VIF plug-in calls the Emulator component to create the virtio-net device based on the network configuration information and configures it to the bare metal server. OVN-Controller detects changes in network ports and sends flow tables to implement the network acceleration function of the DPU component. Nova-Compute starts the bare metal server through Nova, and the OVN-Controller performs network configuration. After the bare metal server is successfully started, the system feedbacks the startup success information to the user.

[0117] In the bare metal server deployment system, the embodiment of the present invention implements a dedicated DPU driver in the native framework of OpenStack Ironic to achieve seamless compatibility with the Nova interface. All new codes are confined to the DPU driver module, avoiding modifications to the existing system code. This design not only simplifies the complexity of DPU integration, but also maintains the neatness of the system architecture and the independence of modules.

[0118] The framework for offloading Ironic bare metal resource management based on DPU is as follows Figure 4 As shown, in the bare metal server deployment system, the embodiment of the present invention migrates the key components of Ironic, such as ironic-python-agent, to the DPU as resident programs. This change optimizes resource usage, reduces the burden on the main CPU, and at the same time enables continuous interaction with the Ironic control component, greatly improving the response speed and flexibility of the system. This is crucial for achieving elastic expansion and real-time management of bare metal servers, and provides strong technical support for dynamic resource allocation and efficient operation and maintenance of bare metal cloud services.

[0119] In the bare metal server deployment system, the embodiment of the present invention develops an OVS plug-in specifically for DPU, ovn-vif, by enhancing the architecture of the OpenStack network component Neutron and the SDN controller OVS. The plug-in realizes the seamless integration of DPU and OpenStack virtual network interface, allowing DPU to directly participate in the management and distribution of network traffic, improving network performance and efficiency. This design fully utilizes the network processing capabilities of DPU and maintains compatibility with the OpenStack network architecture without large-scale modifications to the existing system.

[0120] Based on the bare metal server deployment system provided by the embodiment of the present invention, the OpenStack cloud management architecture integrating the DPU and its driver (DPU_IPMITOOL) is as follows Figure 5 As shown, the embodiment of the present invention has significantly expanded the functionality of OpenStack Ironic by introducing a new driver for the DPU, especially bringing innovations in cloud disk booting. As a dedicated hardware accelerator, the DPU focuses on processing data-intensive network functions such as storage and security operations, thereby reducing the burden on the main server CPU. The development of the new driver enables Ironic to directly connect to the cloud disk through the DPU and present it to the bare metal server as a local disk device, thereby supporting bare metal to boot directly from the cloud disk. This mechanism greatly simplifies the bare metal deployment process and improves the speed and flexibility of deployment.

[0121] Figure 6 The figure shows a schematic diagram of the Ironic Python Agent architecture change provided by an embodiment of the present invention. The rack may generally include multiple physical machines (ie, bare metal servers), such as physical machine 1 and physical machine 2. Figure 6 The left side shows the traditional Ironic Python Agent (IPA) deployment architecture. Ironic Python Agent runs in a temporary system inside a physical machine (that is, the system running in the ramdisk of a bare metal server). Figure 6 The right side shows the IronicPython Agent deployment architecture designed in the embodiment of the present invention. The Ironic Python Agent is designed to run in a permanent system outside the physical machine (i.e., the operating system stored in the disk on the DPU). The embodiment of the present invention achieves the following major advantages by transferring the functions of the traditional Ironic Python Agent from the RAM disk (RAMDisk) of the bare metal to the DPU:

[0122] Performance and resource utilization: 1. Memory resource conservation: In conventional deployments, IPA runs in the bare metal memory, occupying RAMDisk resources. Moving IPA to the DPU can reduce bare metal memory consumption, especially in memory-constrained environments, which provides more available space for the main operating system. 2. Boot performance improvement: Since the DPU usually has independent processing capabilities and high-speed network connections, placing IPA on the DPU can shorten the bare metal startup and deployment network loading time and speed up the boot of the entire system.

[0123] Deployment flexibility: 1. Quick restart and redeployment: If a quick restart or redeployment is required, if the IPA has been deployed on the DPU, the restart time can be significantly reduced because there is no need to re-download the IPA to the RAMDisk over the network. 2. Dynamic update and maintenance: After the IPA is transferred to the DPU, it is easier to update and maintain because it can run independently of the bare metal operating system and is not affected by the bare metal status.

[0124] System stability and reliability: 1. Isolation and security: Running IPA in the DPU provides physical isolation, which helps improve system stability and ensures the security of the deployment process. 2. Error recovery: If an error occurs during the deployment process, the presence of IPA on the DPU allows for faster error diagnosis and recovery without rebooting the entire bare metal system.

[0125] In general, migrating IPA to DPU improves the efficiency of bare metal deployment and management, reduces dependence on network and system resources, and improves system stability and reliability. This migration provides more flexible and efficient operation and maintenance management in bare metal cloud environments.

[0126] The embodiment of the present invention realizes the unloading of the OpenStack network control plane in the bare metal scenario by offloading the OVN components from the host CPU to the DPU. This offloading strategy transfers the network management components of the cloud platform to the DPU, improves the efficiency of bare metal network management, and reduces the resource overhead of the host CPU. This not only realizes a unified cloud infrastructure between virtual machines and bare metal instances, but also provides a consistent network management experience.

[0127] The network control plane is offloaded mainly by combining Neutron components with the SDN controller OVN, enhancing the development of OVN plug-ins to adapt them to DPU, and offloading some OVN components to DPU. This solution is also applicable to virtual machine scenarios.

[0128] Regarding the system in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0129] The present invention is described with reference to the flowcharts and / or block diagrams of the methods and systems according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks 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 device to produce a machine, so that the instructions executed by the processor of the computer or other programmable device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0130] In the description of the present invention, it should be understood that the terms "up", "down", "front", "back", "left" and "right" etc. indicating directions or positional relationships are based on the directions or positional relationships shown in the accompanying drawings. They are only for the convenience of describing the present invention and simplifying the description. They do not indicate or imply that the positions or elements referred to must have specific directions, be constructed and operate in specific directions. Therefore, they should not be understood as limitations of the present invention.

[0131] 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. It should also be noted that the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or 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, commodity or 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, commodity or device including the elements.

[0132] It should be understood by those skilled in the art that the embodiments of the present invention may be provided as methods, systems or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware aspects. Moreover, the present invention may take 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.) containing computer-usable program code.

[0133] The above are only embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent substitution, improvement, etc. made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims

1. A bare metal server deployment method, characterized in that: include: The user registers the DPU driver of the DPU component integrated in the bare metal server through the OpenStack CLI so that Ironic-Conductor can identify and manage the DPU component; after Ironic-Conductor performs a registration check and confirms that the DPU driver is successfully registered, the customized Ironic-Python-Agent is started so that the Ironic-Python-Agent establishes a connection with the Ironic-Conductor and obtains the storage configuration information created by the user; the Ironic-Python-Agent and the OVN-VIF plug-in run in the DPU component, the Ironic-Python-Agent is used to create the virtio-blk device, and the OVN-VIF plug-in is used to create the virtio-net device; Ironic-Conductor calls the DPU driver and passes the storage configuration information to Ironic-Python-Agent; Ironic-Python-Agent calls the emulator to create a virtio-blk device based on the storage configuration information, and binds the virtio-blk device to the bare metal server; Ironic-Python-Agent binds the virtio-blk device to a specific T-end image, so that the virtio-blk device appears as a local hard disk to the bare metal server; Starting the OVN-Controller and the customized OVN-VIF plug-in contained therein, so that the OVN-VIF plug-in calls the emulator to create a virtio-net device based on the network configuration information created by the user, and configures the virtio-net device to the bare metal server; After the OVN-VIF plug-in updates the network port information to the OVN-Controller, the OVN-Controller automatically sends the flow table to the DPU component of the bare metal server based on the network port information to implement the network function of the DPU component and offload the network function to the DPU component; The bare metal server is started by Nova, and the OVN-Controller performs network configuration on the bare metal server; After the bare metal server is successfully started, a message of successful startup of the bare metal server is fed back to the user.

2. The method according to claim 1, characterized in that The DPU driver achieves seamless compatibility with the Nova interface, and all new codes are confined to the DPU driver.

3. The method according to claim 1, characterized in that The OVN-VIF plug-in adds the virtio-netrep port to the ovs bridge and sets the iface-id information of the virtio-netrep port.

4. The method according to claim 1, characterized in that: The bare metal server implements cloud disk startup through the virtio-blk device.

5. The method according to claim 1, characterized in that Use the openstack baremetal driver list command to check the registration status of the DPU driver.

6. The method according to claim 1, characterized in that The network and storage configuration information are integrated through Nova and Neutron to quickly start the bare metal server.

7. A bare metal server deployment system, characterized in that: include: At least one compute node, OpenStack platform, and at least one bare metal server; The computing nodes include Ironic-Conductor and Nova-Compute, which are used to manage bare metal resources and virtual machine scheduling; The OpenStack platform includes Neutron and Cinder, which are used to provide network and storage services; The bare metal server is integrated with a DPU component, wherein the DPU component runs Ironic-Python-Agent, OVN-Controller and Emulator components, Ironic-Python-Agent is used to create a virtio-blk device, and the OVN-VIF plug-in is used to create a virtio-net device; Ironic-Python-Agent, which communicates with Ironic-Conductor and performs storage device creation and configuration operations; OVN-Controller includes the OVN-VIF plug-in, which is used to manage network ports and issue flow tables; Emulator component, used to create and manage virtio-blk and virtio-net devices; The bare metal server deployment system implements the deployment of the bare metal server through the following steps: Implementing and registering a DPU driver based on the DPU component on the computing node so that Ironic-Conductor can identify and manage the DPU component; Ironic-Conductor establishes communication with Ironic-Python-Agent to obtain and pass storage configuration information; Ironic-Python-Agent calls the Emulator component to create a virtio-blk device and binds it to the bare metal server; Ironic-Python-Agent binds the virtio-blk device to a specific T-end image so that the virtio-blk device appears as a local hard disk to the bare metal server; The OVN-VIF plug-in calls the Emulator component to create a virtio-net device according to the network configuration information, and configures it to the bare metal server; OVN-Controller detects changes in network ports, automatically sends down flow tables to implement the network acceleration function of the DPU component, and offloads network functions to the DPU component; Nova-Compute starts the bare metal server through Nova, and OVN-Controller performs network configuration; After the bare metal server is successfully started, the system will feedback the startup success information to the user.