File Store 和 Blue Store
文章插图
什么是file store呢?file store是传统ceph存储对象的方法 , 它依赖于xfs文件系统(ext4有bug和缺陷 , 会导致数据丢失 , 所以ceph只支持xfs上使用file store);通过上述的描述 , 我们知道ceph不管是什么客户端提交的对象数据 , 最终都会存储到osd所在主机的硬盘上;那么问题来了 , osd所在主机的磁盘是怎么被osd管理的呢?传统ceph是将对应磁盘格式化分区挂载在osd所在主机的文件系统 , 被osd所在主机以一个目录的形式表示;即用户存储的对象数据 , 最后会被存放为一个文件的形式存放在osd所在主机的磁盘上;这也意味着我们需要存放文件本身的元数据和数据;除此之外对象本身也有数据和元数据 , 那么对象本身的数据和元数据是怎么存放的呢?file store是是将对象的元数据存放在leveldb(早期ceph版本)中 , 数据存放在文件系统的数据区;简单讲file store就是将对象的元数据存放在leveldb中 , 数据存放在osd所在主机的文件系统的数据区中 , 中间有文件系统做转换的过程;而blue store将osd所在主机的磁盘不格式化分区 , 而是直接用裸设备硬盘被osd识别和管理;在osd所在主机对应osd进程会将自己管理的磁盘中一小部分格式化为bluefs文件系统 , 用于安装使用rocksdb;即客户端提交的对象数据 , 对象本身的元数据会被存放在rocksdb中 , 数据会被直接存放在磁盘上(由osd进程直接管理数据格式等 , 不会存放为文件);rocksdb为了管理它自己本身的数据持久化 , 它也会维护一个日志文件 , 类似redis的aof;这样一来blue store的方式存储对象数据 , 在磁盘上就会存在三种数据 , 第一种是对象本身的数据 , 第二种是对象的元数据 , 第三种就是rocksdb的日志文件;ceph为了使存储的数据更高效 , 它支持将blue store方式的三种数据分别存放不同的磁盘 , 如下图
文章插图
提示:如果是单块硬盘 , 那没得说三种数据直接存入到一块磁盘上;如果是两块磁盘 , 我们可以将blue store的日志数据和对象元数据存放在一个高性能的磁盘上 , 如nvme , ssd上 , 将对象数据存放在一个大的机械硬盘上;当然也可以将blue store的日志文件存放在高性能磁盘上 , 对象的元数据和数据存放在机械硬盘上;如果有三块硬盘 , 我们可以将blue store的日志数据存放在高性能磁盘上 , 比如512M的nvme的磁盘;使用1G或2G的ssd来存储对象的元数据;用机械硬盘来存储对象数据;
【分布式存储系统之Ceph基础】
经验总结扩展阅读
- 小米手机如何修改手机系统背景
- linux双系统启动
- 适合生产制造企业用的ERP系统有哪些?
- 制造业数字化转型,本土云ERP系统如何卡位?
- 手机系统崩溃是怎么回事?
- MES系统和ERP系统的区别是什么?
- MES系统与ERP系统信息集成有哪些原则?
- 企业MES系统与ERP信息集成要素有哪些?
- 关于HM NISEDIT在新版系统下编译并运行提示权限不足问题的解决方案
- 蒙泰彩色电子出版系统怎么用