智汇华云:Kernel bypass技术及其在Ceph中的应用介绍

智汇华云:Kernel bypass技术及其在Ceph中的应用介绍

作者:佚名 2019-03-26 15:46:50

云计算 随着云计算业务的快速发展,国内外云计算企业的专利之争也愈发激烈。在云计算这样的技术领域,专利储备往往代表着企业最新的技术实力。华云数据本期“智汇华云”专栏将解析Kernel bypass技术及其在Ceph中的应用介绍,与大家共同分享云计算领域的最新技术与解决方案。

 随着云计算业务的快速发展,国内外云计算企业的专利之争也愈发激烈。在云计算这样的技术领域,专利储备往往代表着企业***的技术实力。华云数据本期“智汇华云”专栏将解析Kernel bypass技术及其在Ceph中的应用介绍,与大家共同分享云计算领域的***技术与解决方案。

背景

Ceph是当前***的开源分布式统一存储,在一套基础架构中同时支持块存储、对象存储和文件存储,支持PB级别的扩展能力,广泛用于云环境中;Ceph来源于Sage Weil博士一项关于存储系统的PhD研究项目,最初被设计为一个分布式文件系统,整体架构基于低速设备而构建,提供毫秒(ms)级别的IO延迟。

从1956年***块机械硬盘(HDD)诞生至今,存储介质的容量和性能都取得了长足的发展,特别是2011前后固态硬盘(SSD)产生后,IOPS出现了指数级的增长,IO延迟也从毫秒(ms)降到了微妙(us),提升了1000倍以上;与此同时,网络传输速率也从10年前的100Mbps,发展到了目前的100Gbps,实现了1000倍的增长。

随着硬件性能的快速提升,传统的软件实现和架构已成为提升软件系统的主要瓶颈,有数据表明,在全NVMe固态介质的配置下,Ceph集群性能只有硬件限性性能的40%左右,所以为了充分利用高性能介质,需要对现有的软件进行重构。

Kernel bypass技术

随着硬件性能的提升,内核中的网络栈和存储栈带来的性能瓶颈越来越明显,为缩短io路径、解决NVMe SSD在传统IO栈上的性能问题,Linux内核从4.x开始引入了新的NVMe IO栈,如下图,可以看新的IO子系统完全摈弃了传统的通用块层和SCSI子系统:

 

而kernel bypass(绕过内核)是解决系统网络栈和存储栈性能瓶颈的另外一种方式,与传统的中断机制不同,kernel bypass的核心思想是:内核只用来处理控制流,所有数据流相关操作都在用户态进行处理,从而规避内核的包拷贝、线程调度、系统调用、中断等性能瓶颈,并辅以各种性能调优手段(如:CPU pin、无锁队列),从而达到更高的性能。目前市场上也有多种类似的技术,如DPDK、NETMAP、SPDK、PF_RING、RDMA等,其中 DPDK 因为更彻底的脱离内核调度以及活跃的社区支持从而得到了更广泛的使用。下文简单介绍下DPDK、SPDK以及RDMA的技术原理:

DPDK(Data Plane Development Kit)是由Intel发起,主要基于Linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。DPDK使用了轮询(polling)而不是中断来处理数据包。在收到数据包时,经DPDK重载的网卡驱动不会通过中断通知CPU,而是直接将数据包存入内存,交付应用层软件通过DPDK提供的接口来直接处理,这样节省了大量的CPU中断时间和内存拷贝时间。

SPDK(Storage Performance Development Kit)是由Intel发起,用于加速使用NVMe SSD作为后端存储的应用软件加速库,该软件库的核心是用户态、异步、轮询方式的NVMe驱动。与内核态的NVMe驱动相比,它可以大幅度降低延迟,同时提升单CPU核的IOPS。其架构如下:

 

RDMA(Remote Direct Memory Access)全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和CPU周期用于改进应用系统性能。下图直观的展示了传统模式和RDMA模式下的差异:

 

SPDK技术在Ceph BlueStore中的应用

先来看一组来自Intel的性能测试数据:用户态NVMe 驱动 VS 内核态NVMe驱动

 

通过上面的对比数据,我们看到了SPDK的优异性能表现及潜力,很自然想到可以通过加速Ceph OSD后端IO来提升Ceph性能,具体做法是:使用SPDK中的用户态NVMe驱动替代内核驱动,bluestore架构如下:

 

从上图可得到如下信息:

1.使用裸设备,数据直接写入块设备,消除文件系统的影响

2.在裸设备上构建轻量级的Bluefs文件系统,用于承载元数据库RocksDB

3.支持插件式的块分配器(当前支持StupidAllocator和BitmapAllocator两种)

4. 支持插件式的块设备驱动(当前仅支持Kernel Driver)

所以,要支持新的块设备驱动只需添加新的设备类型(Type)以及实现相应的驱动(Driver)即可。

DPDK/RDMA技术在Ceph中的应用

在讲DPDK/RDMA的应用前,我们先来看看Ceph中两种常用的网络模块(Messenger):

1.SimpleMessenger

SimpleMessenger是Ceph最早支持的一种网络模块,如其名字所述,实现相对比较简单:它通过一个线程来监听服务端口、接收客户连接;每个新建连接与一个Pipe关联,实现两个端口间类似管道的功能;Pipe内部分别有一个读写线程用来处理这个Pipe有关的消息接收和请求的发送;SimpleMessenger通过共享队列向各连接分发接收到的消息。由于每个连接都需要关联一对读写线程来负责消息和请求的处理,很显然,随着连接数量以及并发的增大,将会产生大量的线程,随之线程上下文切换、TCP/IP的overhead也将成倍的增加,严重影响消息和请求的处理性能。

2.AsyncMessenger

为了解决SimpleMessenger中大量线程上下文切换带来的overhead,AsyncMessenger采用了IO多路复用技术(如:epoll、kqueue)以及线程池,来处理消息接收和请求发送,这样可以非阻塞的处理多个网络请求;为了兼容不同的传输协议栈,AsyncMessenger还通过插件的方式支持多种传输协议,如:posix、dpdk和rdma,其结构如下:

 

从上图我们可以看到通过继承NetworkStack,添加不同的实现即可支持不同的传输协议,如:PosixStack、DPDKStack、RDMAStack。

结合上述的DPDK技术、RDMA技术和SPDK技术,Ceph将能够提供一套纯用户态的存储解决方案,个人认为也是当前存储系统设计的其中一个发展方向。

上文简单介绍了DPDK、SPDK、RDMA技术在Ceph中的应用,后续将对上述各部分进行深度的分析,敬请期待。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/232943.html<

(0)
管理的头像管理
上一篇2025-04-20 09:48
下一篇 2025-04-20 09:50

相关推荐

  • 挑选高防服务器怎么辨别真假防御?,测试方法有哪些?

    辨别高防服务器真假防御,核心在于核实服务商资质、进行实际压力测试,并审计其网络架构与硬件配置,高防服务器市场鱼龙混杂,不少商家用低价吸引用户,却提供无效防御,甚至用共享带宽冒充独享,下面从实战角度拆解辨别方法,避免踩坑,虚假防御的常见手法流量清洗能力虚标:宣称单机防御200G,实际是集群总带宽,单节点受攻击时直……

    2026-07-26
    0
  • 物理服务器租用最常见的5个坑有哪些,如何避坑?

    物理服务器租用最常见的五个坑在于硬件配置虚标、网络带宽欺骗、售后服务迟滞、合同条款埋伏以及数据保护缺失,避开这些坑,取决于你对服务商资质和实际能力的核实,硬件配置:宣传参数与实际性能的差距租用服务器时,配置单上写的是“E5-2680 v4 32核”,到手后跑分却只有一半,这种现象在行业中占较大比例,根源在于服务……

    2026-07-26
    0
  • 企业选择IDC服务商有哪些避坑指南,怎么选?

    增值电信业务许可证:以简米科技为例,其持有的豫B2-20231089可在线查证,表明其合法运营IDC业务,酷番云则拥有工信部一类增值电信全牌照,覆盖IDC、CDN、ISP,资质更全面,ICP备案号:简米科技的豫ICP备2023018319号、酷番云的滇ICP备2020007656号,均需备案在服务商主体名下,避……

    2026-07-26
    0
  • 站群服务器IP不干净的坑如何避开,怎么选?

    避开站群服务器IP不干净的核心方法是:选择持有正规增值电信业务经营许可证、拥有自营机房且IP段历史清晰的服务商,并在部署前对IP进行全面的黑名单和反向DNS查询,简米科技(2003年始创,持牌自营机房)和酷番云(工信部全牌照,双认证,CNNIC IP联盟成员)在IP资源管控上具备天然优势,能大幅降低污染风险,站……

    2026-07-26
    0
  • 云服务器选购最容易忽略的坑点有哪些,怎么选?

    云服务器选购最致命的坑点往往不是配置参数,而是服务商资质、网络线路和隐藏成本,这些直接决定你的业务稳定性与长期支出,配置陷阱:硬件参数背后的真实成本CPU性能的“超售”玄机很多用户只看核心数和主频,忽略了CPU型号和超售比例,同一代际的处理器,不同型号单核性能差距可能达到30%以上,更关键的是,部分服务商为了拉……

    2026-07-26
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注