存储
文章平均质量分 90
分享主流分布式存储系统技术
lizhongwen1987
学习,分享,长期主义
展开
-
AI数据管理产品之Hammerspace
[Hammerspace](https://hammerspace.com/)是一款超大规模NAS产品,是第一款基于pNFS Flex文件布局技术实现的并行文件系统, 同时具有横向扩展NAS的易用性以及传统并行文件系统的高性能。Hyperscale NAS采用全局文件系统将分散的存储系统统一到一个文件系统,呈现统一的命名空间构建了一套全局数据环境,根据文件系统/自定义元数据,实现了目标导向的策略目标,提供了丰富的数据服务,实现了全局的自动化数据服务原创 2024-05-22 10:47:37 · 1035 阅读 · 0 评论 -
HadaFS - Burst Buffer解读
Burst Buffer(BB)根据部署位置的不同,分为本地BB和共享BB,本地BB, 部署在计算节点的SSD上,专职服务于本节点,扩展性和性能要更好些,但是不适合用于N-1的共享数据场景,另外因为共享部署,不同I/O模型/负载的业务相互干扰,可能导致巨大的资源浪费,最后随着计算节点的升级,部署成本也会快速增加。代表产品有Luster的LPCC,BeeGFS的BeeOND。原创 2023-04-29 11:55:40 · 1335 阅读 · 0 评论 -
AI数据管理产品介绍之Denodo
在Denodo公开的材料中,关于产品架构和技术细节方面的内容很少,提到更多的是产品理念、产品能力、产品解决方案。Denodo是一家老牌的数据管理公司,它的产品是Denodo平台,提出的核心概念是逻辑数据管理,将分散在各系统的数据组织起来,形成一个逻辑访问层,进行集中式数据管理,提供统一的数据访问入口,并为用户提供自服务数据视图。实现上述概念的核心技术是数据虚拟化,这是一种利用元数据来进行数据集成和管理的技术,通过建立统一的逻辑访问层能够简化数据集成、统一数据安全、加快数据交付,实现对多重异构数据的快速访问。原创 2024-05-17 09:49:52 · 1241 阅读 · 0 评论 -
【FAST‘24论文解读】I/O直通:上游Linux一种灵活和有效的I/O路径
前几天有一位朋友问我一个问题:如何优化单机存储引擎在混合读写下的吞吐和延迟?根据我的了解,单机引擎有基于文件系统的、有直接管理裸盘的,有基于KV数据库的,还有基于DPU等软硬协同设计实现的。这些年随着闪存设备等高性能介质的大量使用,传统的文件系统和I/O堆栈所带来的性能损耗越发明显,其设计抽象愈发不适应新介质标准的发展。通过调整参数一定程度上能提升性能,但总体效果有限。翻译 2024-04-03 18:38:41 · 317 阅读 · 0 评论 -
DAOS学习笔记及思考
根据的描述,DAOS是Intel基于NVMe全新设计开发并开源的异步对象存储,充分利用下一代NVMe技术的优势,对外提供KV存储接口,提供非阻塞事物I/O,端到端完整性,细粒度的数据控制,数据保护以及弹性存储等特征。。以大家熟悉的Ceph,BeeGFS为例,对Ceph OSD通过Shard来控制并发,以粗粒度的PG为并发单位,限制了PG及PG内对象I/O的并发能力,导致系统的并行性不足;原创 2023-10-24 17:57:32 · 1116 阅读 · 0 评论 -
我的AI存储实践及思考
我从2020年进入人工智能行业,开始为AI训练提供存储解决方案及技术支持,随着这几年行业以及公司的发展,采用的存储方案经历了几次大的演变 ,最开始使用的是分布式并行文件系统Lustre,接着是BeeGFS+Ceph,再到最近的分布式异步对象存储DAOS,本文结合自己的经历,将历次存储架构/方案选型的背景,考量及部署,思考记录如下(保密要求,略过了部分配置及拓扑细节),供参考。原创 2023-10-11 14:35:02 · 826 阅读 · 5 评论 -
SPDK学习笔记----理解spdk的工作原理
前段时间,我将公众号中收录的SPDK相关的文章学习了一遍,最近结合最新的代码v23.0.x,对example目录下的示例程序hello_word/hello_blob/hello_bdev,以及app目录下的应用程序vhost/nvmef的源码进行了走读分析:和大家熟悉的存储服务程序一样,可以将一个spdk程序分成管理面和数据面,管理面负责程序运行环境的初始化,各子系统及模块的初始化,rpc动态管理,数据面根据管理面中设置好的运行环境和数据结构完成具体的I/O操作。原创 2023-07-07 10:46:42 · 2413 阅读 · 0 评论 -
Ext4日志优化-iJournaling
根据上文的分析,我们归纳出Ext4的日志机制有如下的不足,并导致I/O延迟增加JBD2串行事务依赖,为了避免并发提交重叠事务带来的一致性风险,每个时刻只能有一个事务处于commiting状态。JBD2组合事务提交,JBD2事务中可能包含多个不相干的inode,当发起事务提交时,会将所有文件的数据块都提交。JBD2组合事务可能使延迟分配失效,因为组合事务提交的原因,不相干的文件也被提交,导致延迟分配策略失效。原创 2023-04-24 09:50:33 · 1493 阅读 · 0 评论 -
InfiniFS论文解读
在前期分析BeeGFS的元数据实现思路的文章中有提到,BeeGFS的元数据具有很好的负载均衡和本地化性能,但也存在一些不足,正好看了一篇FAST2022上的论文, 在论文中对近根热点、路径寻址等方面提供了相应的解决方式,论文解析如下,供大家参考。翻译 2022-12-10 15:40:22 · 702 阅读 · 0 评论 -
BeeGFS客户端的文件缓存
从内核角度看,Linux上有Buffered IO和Direct IO两种文件IO模式,Direct IO绕过内核缓存直接将数据写入后端设备,Buffered IO先将数据写到pagecache(内核中每个文件(inode)都包含一个address_space结构(内部通过一棵基数树来管理缓存页)来管理文件缓存),然后通过内核在合适的时候(内存不足、用户发起fsync、定期flush等)将数据回写到后端设备。原创 2022-10-29 20:24:23 · 1683 阅读 · 0 评论 -
BeeGFS元数据管理设计思想剖析
这里写自定义目录标题Beegfs元数据管理新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Beegfs元数据管理换工作以后,近两年,对块存储和对象存储的关注有所减少,专注在分布式文件系统的研发上,为满足公司业务对文件存储原创 2022-05-02 17:38:01 · 2449 阅读 · 2 评论 -
BeeGFS元数据优化
文中设计的数据结构基于BeeGFS 7.2.2代码一句话总结:基于目录的静态分区方式,文件与父目录放在一起(本地化)文件系统初始化时,根据先来后到原则,选取第一个(注册成功)的元数据节点(组)作为系统根节点,根据根目录ID的hash值将根目录(root)预置于根节点的38/51/root路径下;创建子目录时,父目录随机选择一个元数据节点(组)作为该子目录的服务节点,创建子目录的元数据操作如下:1、在子目录的服务节点,根据子目录ID的hash值创建目录项(目录):dentries/xx/yy/den。原创 2022-10-14 16:40:34 · 1493 阅读 · 1 评论 -
ceph bluestore中的磁盘空间管理
ceph bluestore摒弃了传统的本地文件系统,而直接使用裸磁盘作为OSD的存储介质,因而需要自行管理磁盘空间的分配与回收概述一个设计良好的磁盘空间管理器,需要兼顾空间和时间效率;bluestore中提供了空间管理器FreelistManager来支持空间管理,当前提供了一种基于位图的实现,包含:位图持久化以及内存分配器Allocator两部分。其中,位图的持久化是指将空间分配(置1)和回收(置0)的位图状态持久化到磁盘中,基于rocksdb实现;内存分配器是磁盘位图的一致性视图,用来加速空间.原创 2020-08-28 18:13:00 · 6290 阅读 · 2 评论 -
ceph rgw元数据分布式改造
本篇是对前面几篇ceph rgw元数据分析类文章的总结,同时整体介绍下rgw元数据分布式改造的架构以及实现逻辑架构看过前面"ceph rgw元数据分析"类文章的读者,应该还记得那个rgw 分层架构图,为实现元数据的分布式改造,只需要在store层新增一个存储后端,称为MetaStore,专门用来存储集群元数据(realm,zonegroup,zone等)和用户元数据(user,bucket,bucket index等):在实践中MetaStore有多种候选组件,如:Mysql,Mongodb,T.原创 2020-08-10 16:55:40 · 1752 阅读 · 8 评论 -
ceph rgw启动过程中元数据的创建及初始化
本来不想再写Ceph相关的文章了,最近在做ceph元数据优化研究及架构,整体思路是:将rados作为数据存储引擎,构建分布式元数据集群来管理元数据,如:将rgw或者fs相关的元数据从ceph的元数据池中抽取出来,转存到分布式元数据集群中,以此达到提升单集群处理能力的目的;要达到这个目的,有两个基础条件:1.对ceph中rgw或者fs的各CURD操作原理及IO路径非常熟悉,2.对ceph中元数据的组织及存储非常熟悉;然后才能在rgw或者mds的IO路径中进行数据及元数据的分离操作,并以合适的格式将元数据转存.原创 2020-07-27 19:22:07 · 1386 阅读 · 0 评论 -
ceph rgw中关键流程分析及业务逻辑
本来不想再写Ceph相关的文章了,最近在做ceph元数据优化研究及架构,整体思路是:将rados作为数据存储引擎,构建分布式元数据集群来管理元数据,如:将rgw或者fs相关的元数据从ceph的元数据池中抽取出来,转存到分布式元数据集群中,以此达到提升单集群处理能力的目的;要达到这个目的,有两个基础条件:1.对ceph中rgw或者fs的各CURD操作原理及IO路径非常熟悉,2.对ceph中元数据的组织及存储非常熟悉;然后才能在rgw或者mds的IO路径中进行数据及元数据的分离操作,并以合适的格式将元数据转存.原创 2020-07-17 15:44:39 · 2325 阅读 · 0 评论 -
Ceph rgw中root及log池数据对象结构分析
本来不想再写Ceph相关的文章了,最近在做ceph元数据优化研究及架构,整体思路是:将rados作为数据存储引擎,构建分布式元数据集群来管理元数据,如:将rgw或者fs相关的元数据从ceph的元数据池中抽取出来,转存到分布式元数据集群中,以此达到提升单集群处理能力的目的;要达到这个目的,有两个基础条件:1.对ceph中rgw或者fs的各CURD操作原理及IO路径非常熟悉,2.对ceph中元数据的组织及存储非常熟悉;然后才能在rgw或者mds的IO路径中进行数据及元数据的分离操作,并以合适的格式将元数据转存.原创 2020-07-16 09:22:28 · 2246 阅读 · 0 评论 -
Ceph rgw中的Object的组织形式及存储结构分析
本来不想再写Ceph相关的文章了,最近在做ceph元数据优化研究及架构,整体思路是:将rados作为数据存储引擎,构建分布式元数据集群来管理元数据,如:将rgw或者fs相关的元数据从ceph的元数据池中抽取出来,转存到分布式元数据集群中,以此达到提升单集群处理能力的目的;要达到这个目的,有两个基础条件:1.对ceph中rgw或者fs的各CURD操作原理及IO路径非常熟悉,2.对ceph中元数据的组织及存储非常熟悉;然后才能在rgw或者mds的IO路径中进行数据及元数据的分离操作,并以合适的格式将元数据转存.原创 2020-07-14 18:09:36 · 3069 阅读 · 3 评论 -
Ceph rgw中的元数据组织形式及存储结构分析
本来不想再写Ceph相关的文章了,最近在做ceph元数据优化研究及架构,整体思路是:将rados作为数据存储引擎,构建分布式元数据集群来管理元数据,如:将rgw或者fs相关的元数据从ceph的元数据池中抽取出来,转存到分布式元数据集群中,以此达到提升单集群处理能力的目的;要达到这个目的,有两个基础条件:1.对ceph中rgw或者fs的各CURD操作原理及IO路径非常熟悉,2.对ceph中元数据的组织及存储非常熟悉;然后才能在rgw或者mds的IO路径中进行数据及元数据的分离操作,并以合适的格式将元数据转存.原创 2020-07-13 16:01:56 · 5532 阅读 · 6 评论 -
Ceph bluestore中的缓存管理
从15年3月接触Ceph分布式存储系统,至今已经5年了;因为工作的需要,对Ceph的主要模块进行了较深入的学习,也在Ceph代码层面做了些许改进,以满足业务需要(我们主要使用M版本)。最近得闲,将过往的一些学习心得、改进以及优化思路记录下了,希望能对后来者有所帮助。这是第四篇:Ceph bluestore中的缓存管理前言bluestore构建在裸盘上,在用户空间,通过FreelistMana...原创 2020-04-27 10:57:43 · 3283 阅读 · 2 评论 -
Ceph中对象IO的一致性
从15年3月接触Ceph分布式存储系统,至今已经5年了;因为工作的需要,对Ceph的主要模块进行了较深入的学习,也在Ceph代码层面做了些许改进,以满足业务需要(我们主要使用M版本)。最近得闲,将过往的一些学习心得、改进以及优化思路记录下了,希望能对后来者有所帮助。这是第三篇:Ceph中对象的一致性不仅仅是Ceph,所有的分布式存储系统都会涉及到多个层面的数据一致性,具体到Ceph层面,我们从...原创 2020-04-20 22:52:30 · 1610 阅读 · 0 评论 -
Ceph 后端IO提交异步化
前言从15年3月接触Ceph分布式存储系统,至今已经5年了;因为工作的需要,对Ceph的主要模块进行了较深入的学习,也在Ceph代码层面做了些许改进,以满足业务需要(我们主要使用M版本)。最近得闲,将过往的一些改进以及优化思路记录下了,希望能对后来者有所帮助。这是第二篇:Ceph 后端IO提交异步化背景知识Ceph的IO写入包括写Rocksdb元数据和写Block数据两部分,等各个副本写完...原创 2020-03-27 17:51:11 · 1073 阅读 · 0 评论 -
Ceph Peering以及数据均衡的改进思路
前言从15年3月接触Ceph分布式存储系统,至今已经5年了;因为工作的需要,对Ceph的主要模块进行了较深入的学习,也在Ceph代码层面做了些许改进,以满足业务需要(我们主要使用M版本)。最近得闲,将过往的一些改进以及优化思路记录下了,希望能对后来者有所帮助。之前有分享过RBD持久化缓存以及卷QoS,感兴趣的读者可以翻阅前文这是第一篇:Ceph Peering以及数据均衡的改进背景知识...原创 2020-03-26 10:58:00 · 1143 阅读 · 2 评论 -
通过源码方式在 CentOS 7 上安装 Ceph firefly
通常开源软件都会提供两种安装方式:tar包安装和RPM包安装,具体到Ceph,还提供了ceph-deploy的交互式安装方式,大大简化了Ceph的安装复杂度。在生产环境下,当然是建议使用ceph-deploy。然而对于软件开发人员来说,掌握一款开源软件最好的方式就是直接调试代码,下文告诉你如果在CentOS 7 安装Ceph调试环境。安装前准备下载tar包首先从ceph官方下载源码包,我这里下载的是原创 2016-04-16 16:58:11 · 2871 阅读 · 0 评论 -
CEPH OBJECTSTORE API介绍
Thomas是本人在Ceph中国社区翻译小组所用的笔名,该文首次发布在Ceph中国社区,现转载到本人博客,以供大家传阅CEPH OBJECTSTORE API介绍本文由 Ceph中国社区-Thomas翻译,陈晓熹校稿 。英文出处:THE CEPH OBJECTSTORE API 欢迎加入 翻译小组简介object store是Ceph OSD的一部分,它完成实际的数据存储。当前有三种不同的objec翻译 2016-04-20 13:35:05 · 3823 阅读 · 0 评论 -
Ceph 性能优化 之 带掉电保护的Rbd Cache
该文首次发表于’盛大游戏G云’微信公众号上,现贴到本人博客,方便大家交流学习带掉电保护的Rbd Cache方案Ceph是一款开源的统一存储,在单一的系统上提供块、对象及文件存储接口。近年随着公有云/私有云的快速普及,凭借其自身良好的稳定性、扩展性及与Openstack的深度整合,Ceph Rbd块存储被大量的使用,作为VM的数据存储。有Ceph Rbd部署实践经验的IT工程师们对Rbd Cache一原创 2016-04-20 19:35:58 · 7671 阅读 · 2 评论 -
在CentOS 7 安装Calamari
Ceph是一款开源的SDS软件,对于开源安装好可以只是完成了第一步,后面的监控运维才是重点;要想直观的了解集群的运行状态,监控软件也就必不可少了,而对于Ceph的监控用得比较多的有Zabbix,inkScope,Calamari等。下文将详细说明Calamari在CentOS 7上的安装过程。获取Calamari源码包#> git clone https://github.com/ce原创 2016-04-17 18:59:06 · 9012 阅读 · 1 评论 -
Ceph OSD日志分析
Ceph OSD日志分析本文由 Ceph中国社区-Thomas翻译,陈晓熹校稿 。英文出处:CEPH OSD JOURNAL 欢迎加入 翻译小组简介与ext4这类日志文件系统类似,Ceph OSD日志也是一种事务日志。它是基于文件系统的OSD的关键组成部分,提供存储系统所需的一致性保证。让我们从Ceph documentation中有关日志的描述开始:Ceph OSD使用日志有两个原因:速度及一致性翻译 2016-04-16 17:20:19 · 9300 阅读 · 2 评论 -
Ceph性能优化 之 配置参数调优
该文同时发表在盛大游戏G云微信公众号,粘贴于此,方便各位查阅Ceph,相信很多IT朋友都听过。因为搭上了Openstack的顺风车,Ceph火了,而且越来越火。然而要用好Ceph却也不是件易事,在QQ群里就经常听到有初学者抱怨Ceph性能太烂,不好用。事实果真如此吗!如果你采用Ceph的默认配置来运行你的Ceph集群,性能自然不能如人意。俗话说,玉不琢,不成器;Ceph也有它的脾性,经过良好配置优化原创 2016-05-05 09:28:01 · 29641 阅读 · 3 评论 -
三种Ceph rgw前端的配置方式
rgw 概述Ceph 通过radosgw提供RESTFul HTTP API接口支持对象存储能力,radosgw构建在librados之上,兼容Amazon S3以及Opensack Swift。radosgw本质上是一个客户端程序,提供FastCGI 服务。作为一个客户端程序,需要满足如下要求:一个实例名称,默认为:gateway一个合法用户多个存储池一个数据目录在ceph.conf中添原创 2016-05-18 16:47:24 · 16413 阅读 · 0 评论 -
OpenStack Mitaka 中Ceph支持Discard
本文首先发表在Ceph中国社区,署名Thomas,并由半天河校稿英文出处:OpenStack Cinder: discard support for Ceph in Mitaka 欢迎加入 翻译小组Openstack Mitaka 支持一个新的特性。该特性是Nova discard implementation的一个后续实现。现在你可以为每个Cinder后端配置该特性了。(译者注:要使用该特性)Gl翻译 2016-06-11 14:02:02 · 2178 阅读 · 0 评论 -
Ceph rgw 一Region多zone配置
近来由于工作需要,为用户配置了几套Ceph对象存储,今天忙里偷闲:),将配置过程记录下来,分享于读者。前言安装前的准备该文中所使用的Ceph版本为 Hammer 0.94.1;在配置rgw前,需确保Ceph 集群已经准备就绪并能正常工作,radosgw 网关程序已经安装。相关的名称解释Region :可以理解为区域,是基于地理位置的逻辑划分;如:华南,华北之类,包含多个原创 2016-07-04 18:29:59 · 6310 阅读 · 3 评论 -
修改Ceph 监视器地址
您是否有过因为大意将Ceph Monitor地址配置错的经历? 我曾经就因为马大哈,将Ceph Monitor的地址配置成了管理网络地址,而且是在使用了2天后才发现。(⊙﹏⊙)b您是否有过由于公司网络重新规划需要修改Ceph Monitor地址的需求? 我在QQ群中就有遇到网友咨询相关处理办法。直接修改ceph.conf配置不就行了么?真有这么简单!要知道Ceph是将Monitor配置信息存储在mo原创 2016-07-19 13:56:45 · 3685 阅读 · 0 评论 -
QEMU QoS特性及原理分析和Librbd QoS定义
由于公司的分布式存储产品(基于Ceph)需要提供QoS特性,之前也相关经验,所以打算先分析QEMU QoS的特性及其实现原理,然后基于此,给出Librbd QoS的定义,情况下文:由于GNU Linux系统的cgroup不支持网络设备(nfs,ceph)的资源控制,为提供一套通用的I/O流控机制。QEMU实现了一个独立的流控模块来控制磁盘I/O操作,该模块能实现磁盘TPS、OPS及潮汐式流量控制,具原创 2016-10-23 15:21:33 · 4284 阅读 · 0 评论 -
Ceph集群慢请求解决思路
CEPH 集群”slow request“问题处理思路什么是“slow request”请求当一个请求长时间未能处理完成,ceph就会把该请求标记为慢请求(slow request)。默认情况下,一个请求超过30秒未完成, 就会被标记为slow request,并打印到日志文件(默认:/var/log/ceph/ceph.log)。请求超时时间由参数osd_op_complaint_...原创 2018-05-08 14:22:48 · 9709 阅读 · 2 评论 -
CEPH Mimic版本 - Bluestore io过程、延迟分析及优化建议
##CEPH Mimic版本 - Bluestore io过程、延迟分析及优化建议##Ceph bluestore与filestore相比较, 除了bluestore不需要写journal,就IO过程(流程)来讲大体上是类似的,OSD侧的io流程、过程调用分析网络上已经有很多文章了,在这里就不再展开,我将过程贴到下方:写流程:读流程:我们来看看Bluestore中写IO状态迁移: ...原创 2019-01-13 11:30:45 · 4769 阅读 · 0 评论 -
Kernel bypass技术及其在Ceph中的应用介绍
##Kernel bypass技术及其在Ceph中的应用介绍###背景Ceph是当前最流行的开源分布式统一存储,在一套基础架构中同时支持块存储、对象存储和文件存储,支持PB级别的扩展能力,广泛用于云环境中;Ceph来源于Sage Weil博士一项关于存储系统的PhD研究项目,最初被设计为一个分布式文件系统,整体架构基于低速设备而构建,提供毫秒(ms)级别的IO延迟。从1956年第一块机械硬盘...原创 2019-03-15 11:04:12 · 3579 阅读 · 2 评论 -
有关Ceph的一些使用经验
Thomas是本人在Ceph中国社区的笔名,该文同步发表在Ceph中国社区,现转载到本博客,方便大家查阅本文由 Ceph中国社区-Thomas翻译,小猴子校稿 。英文出处:Some Ceph experiments 欢迎加入 翻译小组有时候,验证理论是有趣的,只是为了获得“哦,好!它像我们期望的那样工作”的快感。这也是今天我要与大家分享两个特别的标志:noout和nodown的原因。由于 Ceph翻译 2016-04-25 13:26:54 · 9051 阅读 · 5 评论