问题

flag sortbitwise 在ceph中是什么意思,在Jewel版本下可以看到多了这个flags

[root@lab8106 current]# ceph -s
cluster ffe7a8db-c671-4b45-a784-ddb41e633905
health HEALTH_OK
monmap e1: 1 mons at {lab8106=192.168.8.106:6789/0}
election epoch 4, quorum 0 lab8106
fsmap e4: 1/1/1 up {0=lab8106=up:active}
osdmap e132: 8 osds: 8 up, 8 in
flags sortbitwise
pgmap v206294: 201 pgs, 5 pools, 4684 MB data, 1214 objects
9669 MB used, 2216 GB / 2226 GB avail
201 active+clean

找到的相关资料

After upgrading, users should set the ‘sortbitwise’ flag to enable the new internal object sort order: ceph osd set sortbitwise

This flag is important for the new object enumeration API and for new backends like BlueStore.

From Ceph release notes

commit 383185bfbae74797cdb44f50b4bf651422800ff1


Author: Sage Weil sage@redhat.com


Date: Fri Aug 7 16:14:09 2015 -0400


mon/OSDMonitor: osd set/unset sortbitwise


Add monitor command to flip the switch on the OSD hobject_t sort


order.

From git

第一次在源码中出现:

commit 138f58493715e386929f152424b70df37843541b


Author: John Spray john.spray@redhat.com


Date: Mon Aug 17 14:40:46 2015 -0400


osdc/Objecter: new-style pgls


Signed-off-by: John Spray john.spray@redhat.com


Signed-off-by: Sage Weil sage@redhat.com

From git

Related github issue: https://github.com/ceph/ceph/pull/4919/commits

初步结论: sortbitwise 内部排序算法的一个变化.之所以暴露出来是因为要兼容一些pre-jewel版本.在新的版本中应该保持开启状态.

以上转载自博客:What ‘sortbitwise’ flag means in Ceph?

红帽的官方回答

  • 如果你使用dev版本Infernalis或仍在开发中的LTS版本的Ceph的Jewel版本,你会看到这个标志在ceph状态输出默认启用
  • 这个标志sortbitwise在Infernalis版本中引入
  • 这个标志是在这个版本提交的upstream commit 968261b11ac30622c0606d1e2ddf422009e7d330

下载ceph的源码,进入源码目录

[root@lab8106 all]# git show 968261b11ac30622c0606d1e2ddf422009e7d330
commit 968261b11ac30622c0606d1e2ddf422009e7d330
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 7 16:01:12 2015 -0400 osd/OSDMap: add a SORTBITWISE OSDMap flag This flag will indicate that hobject_t's shall hence-forth be
sorted in a bitwise fashion. Signed-off-by: Sage Weil <sage@redhat.com>

正如我们在上面给定的提交的描述中所说,该标志将表明hobject_t的将以 bitwise fashion方式排序。

现在意味着现在的对象将在OSDs中以按位方式排序,并且此标志默认在Infernalis和Jewel发布版本中启用。

总结

目前来看这个是底层的一个排序的算法的变动,对上层目前还不清楚是有什么可以可见的变化,总之,这个让它默认开启就行,不要去修改它就可以了

变更记录

Why Who When
创建 武汉-运维-磨渣 2017-01-12

'sortbitwise'是什么意思的更多相关文章

  1. Ceph–s ceph 集群状态

    [root@ceph-mon1 ~]# ceph -s cluster 03f3afd4-4cc6-4083-a34c-845446a59cd4 health HEALTH_OK monmap e1: ...

  2. Ceph Jewel 10.2.3 环境部署

    Ceph 测试环境部署 本文档内容概要 测试环境ceph集群部署规划 测试环境ceph集群部署过程及块设备使用流程 mon节点扩容及osd节点扩容方法 常见问题及解决方法 由于暂时没有用到对象存储,所 ...

  3. ceph集群安装

    所有 Ceph 部署都始于 Ceph 存储集群.一个 Ceph 集群可以包含数千个存储节点,最简系统至少需要一个监视器和两个 OSD 才能做到数据复制.Ceph 文件系统. Ceph 对象存储.和 C ...

  4. 使用虚拟机CentOS7部署CEPH集群

    第1章   CEPH部署 1.1  简单介绍 Ceph的部署模式下主要包含以下几个类型的节点 Ø CephOSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复 ...

  5. ceph -s集群报错too many PGs per OSD

    背景 集群状态报错,如下: # ceph -s cluster 1d64ac80-21be-430e-98a8-b4d8aeb18560 health HEALTH_WARN <-- 报错的地方 ...

  6. Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录

    之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境: 1)基本环境 192.168.10.220 ceph-admin(ceph-d ...

  7. Ceph 集群整体迁移方案(转)

    场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...

  8. Ceph常规操作及常见问题梳理

    Ceph集群管理 每次用命令启动.重启.停止Ceph守护进程(或整个集群)时,必须指定至少一个选项和一个命令,还可能要指定守护进程类型或具体例程. **命令格式如 {commandline} [opt ...

  9. 让我们了解 Ceph 分布式存储

    前言 最近在学习 kubernetes 过程中,想实现 pod 数据的持久化.在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业.在选型方面,个人更加倾向于社区火热的项目,Glu ...

随机推荐

  1. 【C++入门学习笔记】函数和对象!你需要这一篇文章入门C++!

    一.本篇要学习的内容和知识结构概览   二.知识点逐条分析 1. 混合型语言 C++源文件的文件扩展名为.cpp, 也就是c plus plus的简写, 在该文件里有且只能有一个名为main的主函数, ...

  2. nginx集群:nginx配置负载均衡集群(nginx1.18.0)

    一,nginx的负载均衡集群的特点: 1,nginx集群和lvs的不同? lvs集群:工作在第4层(传输层) nginx集群:工作在第7层(应用层) lvs集群:性能更强 nginx集群:功能更强:可 ...

  3. vscode自定义插件安装位置

    vscode的插件默认安装位置在: C:\Users\用户名\.vscode\extensions 如果不想将插件安装在C盘,可以自定义一个目标位置存储,使用如下: 右键快捷方式,在原本的目标后加入- ...

  4. LIS初级推算(最长上升子序列问题)

    所谓LIS,就是Longest Increasing Subsequence问题 注意,子序列不一定是连续的,举个例子:对于序列10,9,2,3,5,4,7,9,101,18,其中的LIS就是2,3, ...

  5. Redis 数据结构与编码技术 (Object Encoding)

    数据结构实现 相信大家对 redis 的数据结构都比较熟悉: string:字符串(可以表示字符串.整数.位图) list:列表(可以表示线性表.栈.双端队列.阻塞队列) hash:哈希表 set:集 ...

  6. 在PLC中开关量采集模块的作用

    PLC系统作为工业控制的基础设备在如今的现代化工厂应用中已经非常的广泛.许多工厂应用中,都需要对现场采集来的脉冲信号进行计数统计.如果是使用专用脉冲计数模块的话,价格会非常的昂贵,在很多采集低速脉冲信 ...

  7. [Luogu P2824] [HEOI2016/TJOI2016]排序 (线段树+二分答案)

    题面 传送门:https://www.luogu.org/problemnew/show/P2824 Solution 这题极其巧妙. 首先,如果直接做m次排序,显然会T得起飞. 注意一点:我们只需要 ...

  8. R语言删除不规范的值(或NA)

    在使用R语言处理表格时(xlsx, csv),有时里面含有缺失值,或者不规范的数值,比如下图有许多的问号"?",为了便于处理数据,这些都应该整行地删掉. 为了删掉那些包含" ...

  9. css3 @keyframe 抖动/变色动画

    一.纯css实现 .shake{    //抖动的元素    width: 200px;    height: 100px;    margin: 50px auto;    background: ...

  10. 【QT】QtConcurrent::run()+QThreadPool实现多线程

    往期链接: <QThread源码浅析> <子类化QThread实现多线程> <子类化QObject+moveToThread实现多线程> <继承QRunnab ...