0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于DPU的云原生裸金属服务快速部署及存储解决方案

DPU高性能云异构算力解决方案 来源:中科驭数 作者:中科驭数 2024-06-27 10:41 次阅读

1. 背景介绍

1.1. 业务背景

在云原生技术迅速发展的当下,容器技术因其轻量级、可移植性和快速部署的特性而成为应用部署的主流选择,但裸金属服务器依然有其独特的价值和应用场景,是云原生架构中不可或缺的一部分。

裸金属服务器是一种高级的云计算解决方案,它成功地融合了传统云主机的灵活性、便捷性与物理服务器的强大性能与独立性。作为一类特别设计的计算类云服务,裸金属服务器直接向用户提供了云端部署的专属物理服务器,这意味着客户不再需要与其他租户共享硬件资源,从而确保了资源的独占性、性能的最优化以及数据的最高级别安全。

这种服务模式特别适合那些运行核心数据库系统、承载关键业务应用、实施大规模高性能计算项目或处理海量大数据分析的任务。裸金属服务器以其强大的计算能力,能够高效处理复杂的计算密集型作业,同时保证了低延迟和高吞吐量,是驱动企业数字化转型和创新业务场景的重要基石。

1.2. 问题与挑战

传统的裸金属服务通常采用Openstack Ironic架构,并通过PXE和TFTP实现安装引导流程,服务器的本地盘作为裸金属服务器的存储资源。这种方式导致了用户体验差、灵活性不足等诸多问题,难以满足用户越来越高的业务和技术需求。

Ironic 采用本地物理盘进行启动时,首先将远程镜像下载并写入到本地物理盘中,然后再从本地盘启动进入系统。流程如下:

wKgZomZrsmqAFWW1AACgZfBe1f0711.png

可以看到,其重点是通过 PXE 启动一个小系统(在内存中运行),这个小系统中运行了 Ironic 定制的 ironic-python-agent(简称 IPA),IPA 负责从 Glance 下载真正的用户镜像,并写入到本地磁盘上。

物理服务器支持基于云盘的无盘启动方式,Ironic 也支持无盘启动,但目前支持的协议有限,仅支持 iSCSI Boot,且仍然依赖PXE。

目前在云原生生态中,提供裸金属服务的开源组件只有 metal3(或称Metal Kubed),但我们对其调研后发现,metal3只是抽象了裸金属的一个生命周期状态机,但裸金属本身的网络、存储、镜像管理等都依赖外部实现,而且目前仅有基于 Ironic 的实现。因此,相关的方案架构和 Ironic 没有区别。

因此,我们总结裸金属服务器部署和存储的关键痛点:

  • 部署周期长:传统裸金属服务采用PXE+TFTP技术安装引导,部署时间长(约20分钟),主要耗时在三个环节:(1)两次启动,(2)镜像下载,(3)镜像写入本地盘。这导致了业务弹性不足和效率低下,最终用户体验较差。
  • 存储能力弱:服务器本地盘作为系统盘,无法实现灵活扩容、整机克隆和冷迁移等操作;数据保存在本地,如果挂载云存储则需要侵入用户镜像,且云存储客户端运行于 Host,消耗计算资源,影响运维效率和使用体验。
  • 在云原生生态下无解决方案:目前在Kubenetes架构下,无法支持裸金属服务,不能以云原生统一的方式实现裸金属服务器的创建、删除、重启等操作,导致管理效率低下,服务器资源利用率低。

2. 方案介绍

2.1. 整体架构

为了解决传统裸金属服务方案的问题,中科驭数基于DPU开发了全新的云原生裸金属服务解决方案,整体架构图如下:

wKgZomZrsp6AIkUoAAHvvYeU9bU680.png

在本方案中,DPU支持裸金属服务器的网络和存储资源虚拟化,使得物理服务器能够像虚拟机一样灵活配置,动态添加或删除网卡、硬盘等资源。这为裸金属服务器提供了类似云服务的弹性,同时保持了物理机级别的性能。另外,DPU能够管理远程存储资源,如云盘,使得裸金属服务器可以使用云存储服务,同时通过DPU加速存储I/O,提高读写性能,使得云盘接近本地存储的体验。

我们定义了一类名为 BareMetalMachine 的 CRD 资源来管理裸金属实例,并自研了相关的 Kubenetes组件管理裸金属的生命周期,包含以下关键组件:

bmctl:类似于 kubectl 的一个便于操作裸金属的命令行工具。

bm-controller:裸金属核心控制器,工作在 master 节点。负责裸金属对象生命周期的管理,通过 BMC 来操作裸金属服务器的电源(开关机、重启等)状态。

bm-api:作为K8s APIServer 的扩展,封装裸金属的 api 接口,实现 console、重启等功能。

bm-handler:作为DaemonSet 部署在 DPU Soc 上,负责该DPU上裸金属的管理。

ycloud-cni:为裸金属提供虚拟网卡配置功能,调用 OVS 进行配置。

ycloud-csi:为裸金属提供云盘挂载功能,最终通过SPDK 进行配置,SPDK 通过 PCIe给裸金属模拟磁盘。是一个框架,对接到外部或开源的 CSI Driver。

以上组件均为自研,完全基于云原生生态,在用户平面实现和Kubevirt虚机类似的管理操作,填补了云原生生态中管理裸金属服务的空白。

2.2. 方案描述

在基于DPU的裸金属服务方案下,实现了裸金属的部署启动、云盘热插拔、热扩容、cloudinit、冷迁移、快照恢复及克隆等常用功能,以下对主要部分做详细描述,并和传统 Ironic 方案进行部分对比。

2.2.1.基于DPU的无盘启动方案

在基于 DPU 的方案中,我们采用直接挂载云盘系统的方式,不使用本地盘,过程如下:

wKgaomZrsqmAfKKsAACx5xIMa7c110.png

bm-controller 根据裸金属资源描述,创建系统盘对应的 PVC,指定从原始镜像所在的PVC 进行克隆。

ycloud-csi 监听到 PVC 创建后,调用后端存储以快照方式克隆原始镜像卷,创建新的镜像卷。远程存储卷拷贝的时候采用的是快照方式(COW),并不是完整拷贝,速度很快,一般在数秒内完成。

镜像卷创建完成后,ycloud-csi 将其映射到DPU,调用 SPDK 进行配置,给Host 侧挂载对应的系统盘。

系统盘挂载完成后,bm-controller 通过 BMC重启裸金属节点,此时BIOS 能扫描到系统盘,启动进入系统,裸金属启动完成。

与Ironic 方案相比,没有 PXE 过程,也只需启动一次。

2.2.2.存储对接

Ironic 存储对接方案:

Ironic 的存储对接在 Host 侧,Host 网络需和存储网络连通,且Host 中如安装相关组件,如下图:

wKgZomZrsriAFtijAACk-__Jopo070.png

为了完成云盘的挂载/卸载,Host 中需要安装一个 ironic-agent 及相应存储客户端,ironic-agent调用存储客户端完成云盘的挂载/卸载操作。Ironic 的 StorageDriver 会配置好存储服务端,并调用 ironic-agent 完成云盘的操作。

基于DPU的存储对接方案:

在基于DPU 的方案中,存储对接在DPU 侧,如下图所示:

wKgZomZrssaAJr0HAAEiWQDWUPA653.png

裸金属上看到的盘,是DPU 上的 SPDK 通过 PCIe 模拟的设备。存储网络也是由 OVS 连接的和配置的。为了便于系统组件通过统一的框架屏蔽存储的细节,我们开发了ycloud-csi 这个基于 DPU的通用框架,可以和多种外部 CSI Driver进行对接。ycloud-csi 和 API Server 通信,监听 PVC 的更新,通过 CSI Driver 调用后端存储,并调用 SPDK 给Host 配置相应的模拟盘。

与 Ironic 方案相比,存储相关组件全部下沉到了DPU侧,存储网络也统一通过 DPU 侧OVS 对外连接,Host侧屏蔽了网络细节。

2.2.3.硬盘热插拔

如Ironic存储对接方案中所示,Ironic 中的 StorageDriver 调用 Host 中的 ironic-agent 完成硬盘热插拔,用户镜像需安装相关依赖。

在基于 DPU 的方案中,由于裸金属上的盘是 DPU 通过PCIe 模拟的,因此,通过动态调整 DPU 上的 SPDK 配置,即可实现硬盘的热插拔。

2.2.4.硬盘热扩容

Ironic 中,支持云盘热扩容,在 Cinder 中调整存储卷的大小后,刷新客户端即可。

在基于 DPU 的方案中,ycloud-csi 调用存储完成后端存储卷的扩容,然后通过 SPDK 支持 bdev 的热扩容,并通过PCIe 通知到 Host侧。

3. 方案测试结果

3.1. K8s上裸金属创建及管理

与其他K8s 资源的创建类似,裸金属的通过一个yaml描述进行创建,类似以下命令:

kubectl apply -f bm-xxx.yaml

(由于描述yaml较长,这里不贴出)

创建后,可通过 kubectl 命令查看:

wKgaomZrsteAA8TaAADq0tp-P_E205.png

可以看到bm-01、bm-02及 bm-node3三个裸金属实例,均为 Running 状态。

我们提供了类似 kubectl 的一个 bmctl 命令行工具,方便进行管理维护。通过该命令,可以方便的进行开关机、重启、硬盘插拔、网卡插拔等操作:

wKgZomZrst6Ae2HGAAJegwH4FnQ704.png

3.2. 部署启动时间

我们定义裸金属的部署启动时间为:下发创建裸金属实例的命令,到裸金属实例网络 IP 可以ping 通的时间。

在联创万通 LCWT R7220 服务器上,镜像 OS 为 Ubuntu 22.04 Server,内核版本为 5.15.0-106-generic 时测得的启动时间:

wKgZomZrsuaAOUFMAAH6LGdzx1A752.png

从创建到可ping 通共耗时 153 秒(2min33s)。

基于DPU的裸金属服务方案启动时间在 2-3min 内,具体耗时取决于服务器类型和镜像版本。相比之下,我们测试传统 Ironic 本地盘方式在 20min 以上。

3.3. CPU消耗

在裸金属实例上对多块盘同时执行 fio 测试,查看 CPU 消耗,可以看到,由于存储组件全部卸载到了DPU侧,Host几乎没有 CPU 消耗(fio 和 top 进程除外):

wKgaomZrsu2AGBzqAATxYxwvJFU109.png

相比之下,若 Host 直接运行 Ceph RBD客户端连接存储,fio 读写时,通过Top可看到 RBD 内核进程:

wKgaomZrsvKACtDEAANeaB-3vs4906.png

将以上Ceph RBD 内核进程的消耗CPU 百分百相加,可以看到,fio读写时消耗CPU为235.2%,超过200%(即2个物理Core),在更多的盘读写时,会消耗更多CPU:

wKgaomZrsviAaJjEAAByJlHIYLs608.png

3.4. 硬盘热插拔

本测试为在不关机重启的情况下插拔云盘,测试结果显示可正常操作。

拔盘前:

wKgaomZrsv-AHLBhAAEkEQCUm44262.png

拔盘后:

wKgaomZrswSAZ0TzAAEmmZr01B4844.png

插入新盘后:

wKgZomZrswuAX8AhAAFFVpsNOsA516.png

3.5. 硬盘热扩容

热扩容测试时,使用 fio 对目标盘进行读写,扩容过程中fio 的数据操作不受影响。

扩容前:

wKgZomZrsxaANCtPAABmNroFoCI941.png

扩容后:

wKgaomZrsyOAWKmgAABkS9BYaNY483.png

4. 总结

4.1. 方案优势

本方案创新性地在云原生架构框架下融入裸金属服务,依托自研的Kubenetes插件,巧妙运用DPU技术,实现系统盘与数据盘的云端托管,显著优化资源配置与管理效能。其核心优势概览如下:

•填补空白,引领创新:鉴于目前云原生生态系统中缺乏成熟的开源裸金属服务解决方案,本方案的成功实施不仅填补了这一市场和技术空白,更为行业树立了新的标杆,推动了云原生技术的深入发展与应用。

•加速部署,效率飞跃:依托DPU驱动的云盘启动机制,与传统的本地盘启动方式相比,本方案极大提升了裸金属服务器的交付速度,部署时间从20分钟锐减至大约2分钟,显著增强了业务敏捷性。

•深度整合,简化管理:通过DPU挂载云盘,将裸金属服务器的控制面与数据面下沉至DPU层面,无需依赖用户自定义镜像,且存储客户端功能与用户系统完全隔离,确保了环境的纯净与管理的便捷。

•强化安全,隐匿复杂性:该方案有效屏蔽存储网络架构及后端存储细节,既增强了存储层面的安全防御能力,又简化了运维视图,提升了整体系统的安全性和可维护性。

•资源优化,专注业务:通过将存储功能外移到DPU,彻底释放了裸金属服务器本身的资源约束,确保所有服务器资源都能集中服务于业务需求,极大提升了资源的有效利用率。

•性能卓越,逼近本地:充分利用DPU提供的硬件加速能力,本方案中的云盘性能逼近甚至达到本地硬盘水平,确保了数据访问的高速度与低延迟,满足了高性能计算与大数据处理的严苛要求。

综上所述,本方案凭借其在部署效率、资源管理、安全性能、资源优化及技术创新方面的显著优势,为云原生环境下的裸金属服务应用开辟了新的路径,展现了强大的竞争力和前瞻视野。

4.2. 未来与展望

随着企业对高性能计算、数据安全及业务敏捷性的需求日益增长,本方案将进一步整合云原生架构的灵活性与物理服务器的性能优势,助力客户在激烈的市场竞争中脱颖而出。客户将享受到更短的业务上线时间、更低的总体拥有成本(TCO)、更强的数据安全性和定制化的高性能计算环境,从而加速数字化转型,推动业务创新与发展。

伴随云原生技术的普及与深化,裸金属服务作为关键基础设施之一,其市场需求将持续攀升,特别是在金融、电信、医疗、大数据分析和AI训练等对计算性能和数据隔离有着极高要求的行业。本方案以其独特的技术优势,有望成为行业标准,吸引更广泛的客户群体,推动整个云服务市场的多元化与高端化发展。

本方案来自于中科驭数软件研发团队,团队核心由一群在云计算、数据中心架构、高性能计算领域深耕多年的业界资深架构师和技术专家组成,不仅拥有丰富的实战经验,还对行业趋势具备敏锐的洞察力,该团队致力于探索、设计、开发、推广可落地的高性能云计算解决方案,帮助最终客户加速数字化转型,提升业务效能,同时降低运营成本。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    39

    文章

    7709

    浏览量

    137139
  • 存储
    +关注

    关注

    13

    文章

    4238

    浏览量

    85603
  • DPU
    DPU
    +关注

    关注

    0

    文章

    354

    浏览量

    24106
  • 云原生
    +关注

    关注

    0

    文章

    240

    浏览量

    7932
  • 中科驭数
    +关注

    关注

    0

    文章

    114

    浏览量

    3966
收藏 人收藏

    评论

    相关推荐

    基于DPU与SmartNic的云原生SDN解决方案

    随着云计算,大数据和人工智能等技术的蓬勃发展,数据中心面临着前所未有的数据洪流和计算压力,这对SDN提出了更高的性能和效率要求。自云原生概念被提出以来,Kubernetes为云原生应用的落地提供了一
    的头像 发表于 07-22 11:44 612次阅读
    基于<b class='flag-5'>DPU</b>与SmartNic的<b class='flag-5'>云原生</b>SDN<b class='flag-5'>解决方案</b>

    只需 6 步,你就可以搭建一个云原生操作系统原型

    的帮助,提供什么样的解决方案。另外一个方面,云原生 SIG 也会负责拉通龙蜥社区内部的其他相关的技术 SIG。比如会协同 机密容器 SIG、高性能存储 SIG、容器网络 SIG 以及容器 OS SIG
    发表于 09-15 14:01

    金属云基础设施的需求不断增长,爱立信解决方案简化部署

    如今,5G推出正如火如荼,云原生概念也风头正盛。然而,云原生部署需要更高效、更灵活的云基础设施。因此,许多企业IT团队把目光投向了金属云基
    的头像 发表于 06-18 15:19 1576次阅读

    华为云第二代金属容器发布,促进云原生产业的发展繁荣

    7月20日,在华为云TechWave技术峰会上,华为云基础服务领域总裁高江海正式发布了全球独家双零损耗金属容器--华为云第二代金属容器,
    的头像 发表于 07-21 16:57 2024次阅读

    NVIDIA BlueField DPU加速UCloud金属物理云产品,成本降低34.4%

    以前基于网关的金属物理云解决方案存在过于昂贵,部署不够灵活,不支持计算、存储分离等限制,从2018年起,UCloud 开始积极探索基于NV
    的头像 发表于 12-15 12:02 3433次阅读

    基于NVIDIA BlueField DPU金属服务解决方案

    NVIDIA BlueField DPU 实现金属的弹性扩展、自动部署与极致性能。
    的头像 发表于 01-21 09:36 1752次阅读

    网易数帆推出NVIDIA BlueField DPU金属服务

    那么网易数帆的金属服务解决方案必定会面临不小的挑战,因为其既需要满足以上市场普遍的特性,又需要将
    的头像 发表于 01-24 10:22 1264次阅读

    华为云中什么是云原生服务中心

    、统一存储、全域分发,帮助您简化云原生服务的生命周期管理。 UCS深度集成云原生服务中心的功能,可真正实现
    发表于 07-27 15:44 682次阅读
    华为云中什么是<b class='flag-5'>云原生</b><b class='flag-5'>服务</b>中心

    NVIDIA BlueField-2 DPU金属服务提供飞跃式性能提升

    UCloud 采用 NVIDIA BlueField-2 DPU 在公有云中提供金属服务,提供极致的计算性能、完全的网络卸载和强大的云盘存储
    的头像 发表于 08-16 09:23 1948次阅读

    网易数帆基于NVIDIA BlueField DPU 构建完备的金属服务解决方案

    最终,网易数帆金属服务解决方案选择了 OpenStack 云管理软件架构。此外,还选择了 Ironic 与 OpenStack 相关服务
    的头像 发表于 02-14 10:06 703次阅读

    中科驭数携手DaoCloud道客开拓DPU云原生计算场景的应用

    打造基于 DPU+云原生的产品和联合方案,通过技术融合增强行业技术影响力和产品市场竞争力,同时进一步推动国产信息自主创新领域 DPU云原生
    的头像 发表于 04-20 09:31 1114次阅读

    星云智联为金山云打造金属服务DPU解决方案,助力高端用户实现更强大更高效的上云体验

    国内领先的DPU和智能网卡芯片与解决方案提供商星云智联近日宣布,与中国知名云服务商金山云共同开发了基于星云智联NebulaMatrix DPU解决方
    的头像 发表于 02-20 09:06 571次阅读

    基于DPU云原生金属网络解决方案

    金属服务器是云上资源的重要部分,其网络需要与云上的虚拟机和容器互在同一个VPC下,并且能够像容器和虚拟机一样使用云的网络功能和能力。
    的头像 发表于 06-22 10:38 509次阅读
    基于<b class='flag-5'>DPU</b>的<b class='flag-5'>云原生</b><b class='flag-5'>裸</b><b class='flag-5'>金属</b>网络<b class='flag-5'>解决方案</b>

    基于DPU的OpenStack金属服务快速部署存储解决方案

    Openstack作为开源云计算领域的领军项目,凭借其强大的功能、灵活的架构以及活跃的社区支持,在全球范围内得到了广泛的采用。通过Openstack,企业和云服务提供商可以更加高效地管理和利用计算资源、存储资源和网络资源,实现业务的快速
    的头像 发表于 09-29 14:24 276次阅读
    基于<b class='flag-5'>DPU</b>的OpenStack<b class='flag-5'>裸</b><b class='flag-5'>金属</b><b class='flag-5'>服务</b><b class='flag-5'>快速</b><b class='flag-5'>部署</b>及<b class='flag-5'>存储</b><b class='flag-5'>解决方案</b>

    基于DPU的Openstack金属服务网络解决方案

    1.  方案背景和挑战 金属服务器作为一类特别设计的计算类云服务,向最终用户提供了云端部署的专
    的头像 发表于 10-22 14:27 127次阅读
    基于<b class='flag-5'>DPU</b>的Openstack<b class='flag-5'>裸</b><b class='flag-5'>金属</b><b class='flag-5'>服务</b>网络<b class='flag-5'>解决方案</b>