鲸品堂|裸金属自动化入云

2025-01-21 352

裸金属(Bare Metal),也常被称为物理机,是指不安装任何操作系统和其他软件的计算机硬件设备,是最基础的硬件层面,就如同一个 “赤身裸体” 的金属机体,仅具备最原始的硬件资源,像处理器、内存、硬盘、网卡等物理组件,只有硬件本身而没有预装额外的用于提供通用服务的软件层。





裸金属的特点





高性能:

由于没有虚拟化层带来的额外性能损耗,裸金属服务器可以充分发挥硬件的全部性能。在处理大数据存储和读写密集型业务场景中,裸金属凭借自身直接挂载的高速存储设备,在数据的读写速度上有更好的表现,可以快速响应业务对数据的操作需求。


安全性高:

每个用户独占一台物理服务器,和其他用户的资源完全隔离,不存在像虚拟机那样共享内核等可能带来的安全隐患。例如对于对数据安全要求苛刻的金融企业,在处理核心交易数据、存储用户敏感信息时,使用裸金属服务器可以避免因虚拟化环境下多租户可能导致的数据泄露、恶意攻击等安全风险,保障业务数据的绝对安全。

定制性强:

用户可以根据自身业务需求自由灵活地定制硬件配置,选择合适的 CPU 型号、内存大小、存储类型及容量等。比如一家从事图形渲染的设计公司,就可以定制配置高端 GPU、大容量内存的裸金属服务器,以便能够快速处理复杂的图形渲染任务,满足自身业务对硬件资源的特定要求。


资源独享:

所有的硬件资源如 CPU 核心、内存空间、网络带宽等都归单个用户或单个业务独占使用,不存在资源竞争的情况。以一个电商平台在进行大型促销活动时为例,其使用裸金属服务器就能确保在活动期间,服务器有充足且稳定的资源来应对高并发的用户访问、订单处理等业务操作,不会因为和其他用户共享资源而出现卡顿、响应缓慢等问题。

不过,裸金属也有一定的局限性,比如相较于虚拟化方案,其资源的灵活调配性稍弱,初始采购成本相对较高,而且维护管理需要专业的运维人员具备更深入的硬件知识等。





裸金属自动化入云实践




Ironic是OpenStack提供的裸金属管理服务,旨在为用户提供类似虚拟机管理的裸金属资源管理体验。通过 Ironic,用户可以像管理虚拟机一样管理裸金属服务器,实现在云平台中的裸金属资源的自动化部署、配置和管理。Ironic为云平台提供了“即开即用”的裸金属服务器管理体验,简化了裸金属的复杂管理过程。


在裸金属自动化入云的实践中,Ironic提供了与传统虚拟机类似的操作体验,但它依然面临着一些挑战,特别是在部署和配置方面的复杂性。以下是一个基于Ironic环境搭建和应用的具体实践案例。


图片关键词



Ironic环境搭建

在进行裸金属自动化管理时,首先需要搭建Ironic环境。这包括安装并配置OpenStack的相关组件,如ironic-api、ironic-conductor等。确保各组件能够正常通信并与底层硬件资源(如BIOS、BMC控制器等)进行交互,从而实现裸金属服务器的管理。



安装Ironic组件:通常通过包管理工具(如apt、yum等)进行安装。包括ironic-api、ironic-conductor等核心服务。



配置Ironic组件之间的通信:配置Ironic组件之间的消息队列(如RabbitMQ)和数据库(如MySQL),以便各组件能够有效通信和共享数据。



配置硬件管理协议:配置Ironic与裸金属节点的硬件管理协议(如IPMI、Redfish)。这些协议使Ironic能够远程控制裸金属节点的电源(如开关机、重启)及获取硬件状态。同时,需要配置Ironic支持的硬件驱动程序,确保其能够与多种硬件平台兼容。



配置Ironic数据库:配置MySQL或其他数据库后端,创建Ironic所需的数据库表,确保裸金属节点的注册、配置及管理信息能够正确存储并进行管理。同时,配置数据库连接及用户权限控制,保障数据安全和访问管理。



镜像适配

裸金属服务器的操作系统镜像需要根据Ironic平台进行适配,确保系统能够通过PXE和DHCP服务自动化安装。镜像的定制化至关重要,需确保操作系统与硬件配置匹配,避免因硬件差异导致部署失败。裸金属部署过程中,提供两种主要镜像:


部署镜像:通过ironic-python-agent控制和配置裸金属节点。


操作系统镜像:用于最终安装在裸金属服务器上。


使用diskimage-builder工具可以自动构建适配镜像,并实现裸金属环境中的无缝部署。由于diskimage-builder默认不包含bclinux元素,需添加相应的元素并补充适配逻辑。


图片关键词图片关键词


构建完成后生成以下文件:

图片关键词图片关键词


部署镜像和内核:ipa-bclinuxoe2110-aarch64.initramfs和ipa-bclinuxoe2110-aarch64.kernel。


操作系统镜像:bclinux-os-oe2110-aarch64.qcow2。



PXE-DHCP网络

在裸金属的PXE引导安装过程中,DHCP服务起着至关重要的作用,它为裸金属节点分配临时IP地址,确保节点能够与Ironic控制节点进行通信,并下载所需的部署内核、镜像和操作系统镜像等文件。根据网络拓扑,DHCP服务的配置可以分为两种场景:同网段和跨网段。


同网段的DHCP配置

如果DHCP服务和裸金属节点处于同一网段,配置起来相对简单。裸金属节点通过四步DHCP协议交互获取IP地址及网络配置信息:


图片关键词图片关键词


1.DHCP Discover:客户端广播请求IP地址。

2.DHCP Offer:DHCP服务器提供可用的IP地址。

3.DHCP Request:客户端确认使用该IP地址。

4.DHCP Ack:服务器确认并分配IP地址。


通过这一过程,裸金属节点可以顺利接入网络,开始下载后续部署文件。


跨网段的DHCP配置

在复杂网络环境中,DHCP服务和裸金属节点可能位于不同网段,此时需要通过DHCP中继来实现IP地址的分配。传统的做法是配置DHCP中继代理,转发DHCP请求和应答报文,确保客户端和服务器之间的通信不受网络分段的影响。


图片关键词


在跨网段场景中,DHCP客户端首先向网络发送DHCP Discover报文,DHCP中继将该请求转发给远程DHCP服务器,后者会做出响应并通过中继返回DHCP Offer报文。最终,客户端和DHCP服务器完成四步交互,实现IP地址的分配。


应对跨网段DHCP配置不生效的解决方案

在省份实施过程中,发现跨网段的DHCP中继配置不能生效,因此采用了以下替代方案:在每个网段内开通一台低配的云主机作为DHCP服务节点。这台云主机会负责为所在网段内的裸金属节点提供IP分配,同时通过网络配置将请求转发到Ironic控制节点。


通过这种方式,我们可以避免复杂的中继配置问题,同时确保各网段的裸金属节点能够顺利完成DHCP交互并启动后续的PXE引导。


图片关键词



操作系统安装

在裸金属节点注册完成后,Ironic通过自动化流程来实现操作系统的部署。以下是通过Ironic进行裸金属节点操作系统安装的过程。


图片关键词



裸金属节点注册:用户首先通过Ironic提供的API或命令行工具注册裸金属节点。注册时,系统记录节点的硬件信息、管理接口和网络配置等参数,节点信息被存入Ironic数据库,并标记为待部署状态。



节点信息验证与状态更新:Ironic Conductor验证节点的硬件信息和网络配置,并将节点的状态更新为“待提供”。系统定期检查节点状态,确保管理接口和硬件配置正确。



启动并引导裸金属节点:节点注册完成后,Ironic Conductor通过IPMI或其他硬件管理协议向裸金属节点下发初始化命令。节点启动时,利用PXE引导,从DHCP服务器获取临时IP地址并通过TFTP服务获取引导文件。



下载并启动部署镜像:完成PXE引导后,裸金属节点通过HTTP下载部署镜像。该镜像为最小化操作系统,包含配置硬件和启动操作系统安装的工具。部署镜像启动后,会连接到Ironic Conductor,获取操作系统镜像并开始安装。



操作系统镜像安装及初始化配置:Ironic Conductor根据请求提供操作系统镜像。此镜像通过HTTP服务传输到裸金属节点,并在部署镜像的帮助下,安装到裸金属节点的硬盘上。安装过程包括:

  • 磁盘分区:对裸金属硬盘进行分区和格式化。

  • 操作系统安装:将操作系统镜像写入硬盘,并安装必要的引导程序。

  • 初始化配置:包括网络配置、系统设置和硬件驱动安装等。

这一过程完全自动化,无需人工干预。



部署完成与节点准备:操作系统安装完成后,裸金属节点自动重启,并通过Ironic进行最后的状态更新。此时,裸金属节点已具备完整的操作系统环境,准备投入实际使用。



网卡网络设置

在裸金属节点的部署中,网卡的网络配置尤为重要。特别是在业务面、样本面和参数面网络中,裸金属节点通常需要特定的网卡驱动和网络配置。虽然OpenStack提供的Neutron网络组件功能强大,但在不同的网络环境下,配置过程往往复杂且难以统一,尤其在国内不同省份和甲方的多变网络环境中,Neutron的配置可能不如预期那样顺畅和易用。


在实际实施过程中,由于操作系统已经安装且已分配带内管理网络,可以通过ssh的方式连接到裸金属服务器中,实现网卡驱动的安装以及业务面、样本面、参数面网络的配置。在进行网络配置之前,需要了解硬件及交换机的连线架构,确保配置的准确性和高效性。例如,在配置业务网络时,以下几个关键因素需要提前确认:



网卡信息:要知道哪些网口对应业务网络。以某种典型架构为例,假设业务网络对应的网口是NIC1-2和NIC2-2。

图片关键词



Bond配置:需要提前规划好这两个网口是否做Bond,以及Bond的网络类型。



VLAN信息:了解业务网络的VLAN标识,确保数据流能正确路由和隔离。


因此,首先需要通过脚本在操作系统中查询这两个网口的MAC地址,然后根据这些信息进一步确认网卡的名称。接下来,可以自定义Bond网络脚本,并根据具体的网络配置要求进行相应的设置。


图片关键词



裸金属延伸:基于裸金属与K8s的GPU/NPU容器化

随着裸金属服务器在智算领域的广泛应用,裸金属管理逐渐从传统的资源交付转向智能化调度与多样化的场景适配。在多云管理平台的统一管理下,裸金属资源能够以两种主要模式交付客户使用,满足不同场景的需求。


图片关键词


裸金属直管模式:资源直接交付

通过多云管理平台,裸金属服务器以最小化抽象的形式直接交付给用户。这种模式适用于对底层硬件资源有精细化控制需求的客户。


直接交互:用户通过多云管理平台分配裸金属资源,可通过SSH直接登录服务器完成操作。


状态监控:多云管理平台提供裸金属节点的实时监控与管理视图,全面呈现资源状态、性能和利用率,帮助用户高效掌控硬件资源。


容器化调度模式:基于Rancher+K8s的容器化场景

基于Rancher和Kubernetes的容器化管理,实现资源的细粒度分配与灵活调度。


异构资源封装与容器化:通过K8s在裸金属之上构建统一的容器化平台,将GPU、NPU等异构硬件资源封装为对应的容器单元,并以Pod的形式调度。



智算场景优化:用户可快速开通GPU容器,用于深度学习模型的训练与推理,满足AI应用对高并发、高性能的需求场景,例如大规模图像处理、自然语言理解与生成等任务。



全生命周期管理:Rancher结合Kubernetes提供从资源分配到任务完成的全生命周期管理,用户不仅可以通过多云管理平台监控容器运行状态,还能通过API网关访问容器服务或集成自定义应用。



性能可视化:多云管理平台支持对容器和底层裸金属的多维度性能监控,提供推理吞吐、训练时长等关键指标,便于智算任务的精细化优化。





浩鲸科技实践案例




裸金属自动化入云已成功落地湖南移动项目,客户能够快速获取和使用裸金属资源,免去复杂的前期准备工作。该方案解决了传统模式下手动安装操作系统和配置网络设备的痛点,将每台裸金属的安装时间从4小时缩短至0.5小时,不仅大幅提升了部署效率,还为业务应用的快速上线提供了有力支持。客户能够在更短的时间内响应市场需求,优化了整体业务运转效率和用户体验。


官方微信公众号

浩鲸云计算科技股份有限公司 版权所有 2003-2023

苏ICP备10224443号-6       苏公网安备 32011402011374号