Project Icon

liteio

高性能云原生块存储服务 为Kubernetes集群提供卓越性能

LiteIO是专为Kubernetes设计的云原生块存储服务,采用SPDK和LVM等存储引擎,在超融合架构中提供接近本地磁盘的性能。它支持跨集群块设备配置,易于部署,通过CSI与Kubernetes集成。LiteIO适用于高IO需求的分布式数据库和AI训练,可充分利用集群存储资源。

LiteIO

LiteIO 是一个云原生块设备服务,使用多种存储引擎(包括SPDK和LVM)来实现高性能。它专为超融合架构下的Kubernetes设计,可以在整个集群中进行块设备配置。

特点

  1. 高性能:LiteIO的数据引擎基于SPDK构建,使用NVMe-over-Fabric协议直接连接计算节点和存储节点。通过高效的协议和后端I/O轮询,LiteIO提供接近本地磁盘的高性能。
  2. 云原生:LiteIO通过CSI控制器和驱动程序与Kubernetes集成,提供云原生用户界面。用户可以使用PVC动态分配或销毁LiteIO卷。
  3. 易于设置:只需少量依赖(如Hugepages),LiteIO可以通过单个命令行快速设置。
  4. 超融合架构:LiteIO采用超融合架构,单个节点可同时作为前端和后端。初始化新集群不需要最小节点数。

动机

许多分布式数据密集型应用(如数据库)通常选择本地NVMe磁盘以获得高性能和成本效益,而不是使用像EBS这样的分布式磁盘服务。然而,这种偏好可能导致资源利用不平衡。例如,一个节点可能出现CPU或内存短缺,但仍有充足的存储资源可用。为解决这个问题,我们的目标是开发一个系统,能够有效利用这些分散的存储资源,同时保持接近本地磁盘的高性能。

架构

LiteIO由六个主要组件组成:

  1. Disk-Agent:安装在每个后端节点上,管理该节点的StoragePool。与数据引擎交互以创建和删除卷和快照。向中央控制报告StoragePool状态并收集卷指标,可作为Prometheus导出器暴露。
  2. Disk-Controller:了解集群中所有StoragePool和Volume。主要负责将请求的卷调度到合适的StoragePool。
  3. nvmf_tgt:基于SPDK的数据引擎,提供存储抽象和功能,如LVS(逻辑卷存储)、LVOL(逻辑卷)、aio_bdev、TCP传输上的NoF和NoF子系统。nvmf_tgt是可选的,但如果应用需要本地磁盘以外的存储则必需。LiteIO也支持Linux LVM作为数据引擎,适用于本地存储场景。
  4. nvme-tcp:一个内核模块,为NVMe over fabrics提供TCP传输。必须安装在计算节点上。
  5. CSI-Driver:实现K8S CSI的LiteIO CSI驱动程序,作为DaemonSet pod部署在计算节点上。使用nvme-cli工具连接到后端存储。
  6. CSI-Controller:处理PV创建和删除的中央服务。

总的来说,LiteIO的架构为云原生块存储提供了可扩展和高效的方法。通过利用多个组件和接口,LiteIO为各种存储场景提供了灵活可配置的解决方案。

快速开始

快速开始指南帮助您设置本地K8S集群并在其中部署LiteIO。

性能基准测试

LiteIO vs 原生磁盘

原生磁盘、LiteIO NoF和OpenEBS Mayastor的FIO性能结果(1个磁盘):(a) IOPS (b) 带宽。

单位:IOPS(K)

原生磁盘LiteIOMayastor
4k-随机写-dq16 4jobs356.2317.0218.0
4k-随机写-dq1 1jobs621815
4k-随机读-dq128 8jobs617.0614.6243.8
4k-随机读-dq1 1jobs11.78.57.6
128k-顺序读-dq128 4jobs24.924.819.7
128k-顺序写-dq128 4jobs15.615.515.4

单位:带宽(MB/s)

原生磁盘LiteIOMayastor
4k-随机写-dq16 4jobs1459.61299.2896.4
4k-随机写-dq1 1jobs255.676.163.1
4k-随机读-dq128 8jobs2528.02516.4998.0
4k-随机读-dq1 1jobs47.834.631.1
128k-顺序读-dq128 4jobs3263.03271.02585.6
128k-顺序写-dq128 4jobs2037.62030.02021.4

LiteIO vs ESSD-PL3

4K混合随机读写(70%/30%)IOPS,1个作业

单位:IOPS(K)

队列深度ESSD-PL3LiteIO
15.06.0
420.923.4
1683.384.9
128206.1333.9
256206.4426.2

目标场景

LiteIO不是传统的通用分布式存储系统。它最适合需要类似本地磁盘高IO性能的用户。例如,分布式数据库和AI训练作业受益于LiteIO提供本地和远程卷的能力。

LiteIO专为Kubernetes设计,允许用户利用所有节点上的所有存储。这使其非常适合需要在K8S环境中运行应用的用户。

然而,需要注意的是,LiteIO目前不支持数据复制。如果您的应用需要数据复制,请注意这在我们的未来开发路线图中。同时,建议您的应用有数据副本并能自行保证数据安全,或者您能容忍数据丢失。

高级主题

路线图

  • Disk-Agent暴露指标服务
  • SPDK卷复制

联系方式

微信群二维码

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号