写点什么

裸金属自动化入云

作者:鲸品堂
  • 2025-01-21
    江苏
  • 本文字数:4242 字

    阅读完需:约 14 分钟

裸金属自动化入云

裸金属(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 网关访问容器服务或集成自定义应用。

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

发布于: 刚刚阅读数: 3
用户头像

鲸品堂

关注

全球领先的数字化转型专家 2021-03-16 加入

鲸品堂专栏,一方面将浩鲸精品产品背后的领先技术,进行总结沉淀,内外传播,用产品和技术助力通信行业的发展;另一方面发表浩鲸专家观点,品读行业、品读市场、品读趋势,脑力激荡,用远见和创新推动通信行业变革。

评论

发布
暂无评论
裸金属自动化入云_裸金属_鲸品堂_InfoQ写作社区