Ceph的BlueStore总体介绍
整体架构
- 去掉journal,直接管理裸设备
- 针对SSD进行单独优化
模块划分
核心模块
- RocksDB: 存储预写式日志、数据对象元数据、Ceph的omap数据信息、以及分配器的元数据(分配器负责决定真正的数据应在什么地方存储)
- BlueRocksEnv: 与RocksDB交互的接口
- BlueFS: 小的文件系统,解决元数据、文件空间及磁盘空间的分配和管理,并实现了rocksdb::Env 接口(存储RocksDB日志和sst文件)。因为rocksdb常规来说是运行在文件系统的顶层,下面是BlueFS。 它是数据存储后端层,RocksDB的数据和BlueStore中的真正数据被存储在同一个块物理设备
- HDD/SSD: 物理块设备,存储实际的数据
缓存模块
FreelistManager模块
Allocator模块
bluestore元数据
I/O读写映射逻辑
写I/O处理
- do_write_big
- do_write_small
读I/O的处理
总结
--------------------- 本文来自 OshynSong 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u010487568/article/details/79572390?utm_source=copy
bluestore 分区:
block.wal:用于BlueStore的内部日志或写前日志 ssd
block.db:用于存储BlueStore的内部元数据,基于RocksDB实现,类似索引提高性能 ssd
根分区:1.一个小的分区使用XFS进行格式化,并包含OSD的基本元数据。这个数据目录包含关于OSD的信息(它的标识符,它属于哪个集群,以及它的私有密匙环)。
2.设备的其余部分通常是一个大的分区,它占用了由BlueStore直接管理的设备的其余部分,其中包含所有实际的数据。
顺序:wal>db>根
配置:
bluestore_cache_size 每个OSD为BlueStore的缓存所消耗的内存总量 默认为0 如果设置为0 ,hdd和ssd被使用
bluestore_cache_size_ssd ssd占用内存量 默认1gb
bluestore_cache_size_hdd hdd占用内存量 默认3gb
bluestore_cache_meta_ratio bluestore metadate缓存比率 默认0.01
bluestore_cache_kv_ratio kv metadata缓存比率 默认0.99
bluestore_cache_kv_max kv metadata占用最大内存量 默认512 MB
用于数据的缓存的比例是1.0减去元数据和kv比率
校验
bluestore_csum_type 校验类型 默认为crc32c,适合于大多数用途。可选项为none, crc32c, crc32c_16, crc32c_8, xxhash32, xxhash64
用法:ceph osd pool set <pool-name> csum_type <algorithm>
选择crc32c_16或crc32c_8作为校验和算法,可以使用较小的校验和值
内部压缩
BlueStore使用snappy、zlib或lz4支持内联压缩。lz4压缩插件没有在正式版本中发布。
mode:
none:没有压缩数据。
passive:不要压缩数据,除非写入操作是可压缩的提示集。
aggressive:压缩数据,除非写入操作是不可压缩的提示集。
force:无论如何都要压缩数据。
不管模式如何,如果数据块的大小没有足够的减少,它就不会被使用,原始的(未压缩的)数据将被存储。例如,如果bluestore压缩所需的比率被设置为.7 那么压缩后的数据必须是原始数据的70%(或更小)
用法:
ceph osd pool set <pool-name> compression_algorithm <algorithm> 压缩算法ceph osd pool set <pool-name> compression_mode <mode> 压缩模式ceph osd pool set <pool-name> compression_required_ratio <ratio> 压缩比率ceph osd pool set <pool-name> compression_min_blob_size <size> 最小blob大小ceph osd pool set <pool-name> compression_max_blob_size <size>最大blob大小
配置(当单独设置时按osd的定制设置为准):
bluestore compression algorithm lz4, snappy, zlib, zstd 默认snappy bluestore不推荐zstd
bluestore compression mode none, passive, aggressive, force 默认none
bluestore compression required ratio 默认0.875
bluestore compression min blob size 小于它的块不会被压缩 默认0
bluestore compression min blob size hdd 默认128k
bluestore compression min blob size ssd 默认8k
bluestore compression max blob size 大于它的块在压缩前会被拆成更小的块 默认0
bluestore compression max blob size hdd 默认512k
bluestore compression max blob size ssd 默认64k
spdk用法:
如果采用支持vnme协议的ssd,需要配置 bluestore_block_path.
用法:
lspci -vvv -d 8086:0953 | grep "Device Serial Number"
bluestore block path = spdk:...
---------------------
作者:Law37
来源:CSDN
原文:https://blog.csdn.net/qq_30339341/article/details/78812687
版权声明:本文为博主原创文章,转载请附上博文链接!
Ceph的BlueStore总体介绍的更多相关文章
- ABP(现代ASP.NET样板开发框架)系列之1、ABP总体介绍
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...
- 基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍
最近花了很多时间在重构和进一步提炼Winform开发框架的工作上,加上时不时有一些项目的开发工作,我博客里面介绍Web开发框架的文章比较少,其实以前在单位工作,80%的时间是做Web开发的,很早就形成 ...
- TMS320C54x系列DSP的CPU与外设——第2章 TMS320C54x DSP体系结构总体介绍
第2章 TMS320C54x DSP体系结构总体介绍 本章介绍TMS320C54x DSP体系结构的概况,包括中央处理单元(CPU).存在器和片内外设. C54x DSP采用了高级的改进哈佛结构,用8 ...
- 飞达资讯App总体介绍及关系架构图
飞达资讯App总体介绍: 下图为飞达资讯App的关系架构图: 该App关系架构图所需的图片云盘链接地址:http://pan.baidu.com/s/1gfHIe4b 提取密码:x1nr 该App的云 ...
- 基于WebForm+EasyUI的业务管理系统形成之旅 -- 总体介绍
一.系统总体介绍 企业业务管理系统是针对经营企业管理而开发的专业管理软件, 是以“精细管理.过程监控”为设计理念,全面满足企业的信息化管理需求,充分发挥专业.平台.灵活等优点. 集进销存.财务.CRM ...
- EQueue - 一个C#写的开源分布式消息队列的总体介绍(转)
源: EQueue - 一个C#写的开源分布式消息队列的总体介绍 EQueue - 一个纯C#写的分布式消息队列介绍2 EQueue - 详细谈一下消息持久化以及消息堆积的设计
- AngularJs学习笔记1——总体介绍
这周末在家呆了两天,正好中午闲暇时间继续分享Angularjs相关,今天主要分享Angularjs总体介绍及数据绑定部分内容,下面直接进入主题. 1.基本概念: AngularJS是为了克服HTML在 ...
- [转帖]Kubernetes及容器编排的总体介绍【译】
Kubernetes及容器编排的总体介绍[译] 翻译自The New Stack<Kubernetes 生态环境>作者:JANAKIRAM MSV和 KRISHNAN SUBRAMANIA ...
- 基于DDD的现代ASP.NET开发框架--ABP系列之1、ABP总体介绍
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...
随机推荐
- ASP.NET新增数据返回自增ID
一.情景引入 项目需求:对于一个数据表(表A)的增.删.改全部要有日志记录,日志表(表B)结构 中需要记录表A的自增ID,这样才能将日志与操作的数据一一对应起来. 对于删和改都好办,获取Model时都 ...
- SQLServer 2008R2 清理日志文件
设置数据库为简单模式 2.收缩日志文件 3.恢复数据库为完整模式
- Windows Server 2008 R2 如何关闭防火墙
1. 打开 [控制面板],选择 - [检查防火墙状态] 2. Windows防火墙窗口界面,选择 – [高级设置] 3. 选择– [windows防火墙属性] 4.在[域配置文件], ...
- 试图加载格式不正确的程序 .net
一般是dll位数不对,重新编译一下即可
- DOM.getBoundingClientRect()
- 【20】策略者模式(Strategy Pattern)
一.引言 本文要介绍的策略模式也就是对策略进行抽象,策略的意思就是方法,所以也就是对方法的抽象,下面具体分享下我对策略模式的理解. 二.策略者模式介绍 2.1 策略模式的定义 在现实生活中,策略模式的 ...
- SuperMap空间数据处理与制图操作短视频汇总
转自:http://blog.csdn.net/supermapsupport/article/details/70227669 空间数据处理与制图是GIS系统建设最基础的部分,这里利用超图桌面软件- ...
- 《Inside C#》笔记(十三) 多线程 下
一 任务调度 当一个线程的时间片被用尽后,处理器会切换到另一个线程,但关于如何确定执行哪一个线程呢,这就涉及到了线程或任务的优先级. a) 每个线程都有优先级,任务调度算法会根据各线程的不同优先级来决 ...
- Linux服务器tomcat启动maven项目
在本地的IDEA写了一个简单的maven项目,仅展示一个页面.之后将项目git push到服务器上. 在服务器git pull拉取(第一次需要clone),之后将项目打包编译后的做法如下: 前提(服务 ...
- vs下开发windows服务程序
一. VS2012下开发Windows服务 1. 打开VS2012,新建项目,选择Windows服务,此处我以开发一个定时自动发送邮件的服务来做介绍,如下图: 2. 创建好后,编译器会自动创建一些文件 ...