问题

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. <二分查找+双指针+前缀和>解决子数组和排序后的区间和

    <二分查找+双指针+前缀和>解决子数组和排序后的区间和 题目重现: 给你一个数组 nums ,它包含 n 个正整数.你需要计算所有非空连续子数组的和,并将它们按升序排序,得到一个新的包含 ...

  2. golang xpath解析网页

    https://github.com/antchfx/htmlquery package main import ( "fmt" "github.com/antchfx/ ...

  3. nginx安全:配置ssl证书(https证书)

    一,配置https证书的意义 https协议是由SSL+http协议构建的安全协议,支持加密传输和身份认证, 安全性比http要更好,因为数据的加密传输,更能保证数据的安全性和完整性 例如:不使用ht ...

  4. python selenium 自动登陆

    #-*- coding:utf8 -*- # 导入selenium2中的webdriver库 from time import sleep from selenium import webdriver ...

  5. QT/C++插件式框架、利用智能指针管理内存空间的实现、动态加载动态库文件

    QT.C++插件式框架.主要原理还是 动态库的动态加载. dlopen()函数.下面为动态加载拿到Plugininstance对应指针.void**pp=(void**)dlsym(handle,&q ...

  6. Windos--jar包注册成服务

    1.下载资源 链接: https://pan.baidu.com/s/16asJXGudsRN23Rwra_qGZw 提取码: w2gv 解压后有五个文件 1.1注意事项 1.把你的生成的jar包放入 ...

  7. Unity-根据时间开灯与关灯

    声明:本人只是学生,并且只是自学Unity,如有大神,不喜勿喷,不足之处,请指出! 本项目使用了UniStorm 3.0(天气)插件,时间也是调用它本身的API,实际并不影响,用系统的时间的是也是可以 ...

  8. 最新版Python 3.8.6 版本发布

    Python 3.8.6 发布了,它是 Python 3.8 的第六个维护版本. 3.8 系列的维护版本将每两个月定期更新一次,3.8.7 计划于 2020 年 11 月中旬发布. 随着维护版本的发布 ...

  9. linux压缩和解压文件命令

    tar  解包:tar zxvf filename.tar  打包:tar czvf filename.tar dirnamegz命令  解压1:gunzip filename.gz  解压2:gzi ...

  10. Spring源码分析之Bean的创建过程详解

    前文传送门: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostProcessor调用过程详解 本文内容: 在 ...