ceph在Infernalis加入了一个功能是查询rbd的块设备的使用的大小,默认是可以查询的,但是无法快速查询,那么我们来看看这个功能是怎么开启的

ceph版本

root@lab8107:~/ceph# ceph -v
ceph version 9.2.0 (bb2ecea240f3a1d525bcb35670cb07bd1f0ca299)

创建RBD设备

我们先来创建一个rbd

root@lab8107:~/ceph# rbd create test --size 4000
root@lab8107:~/ceph# rbd info test
rbd image 'test':
size 4000 MB in 1000 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.10305695d26a
format: 2
features: layering
flags:

进行RBD容量使用查询

我们来试一下rbd du命令

root@lab8107:~/ceph# rbd du test
warning: fast-diff map is not enabled for test. operation may be slow.
NAME PROVISIONED USED
test 4000M 0

可以看到有个提示需要开启fast-diff的属性

root@lab8107:~/ceph# rbd --help
···
Supported image features:
layering (+), striping (+), exclusive-lock (*), object-map (*), fast-diff (*), deep-flatten (*) supports enabling/disabling on existing images
(+) enabled by default for new images if features are not specified

可以看到默认开启了 layering striping 属性,后面属性没有开启

我们看一下rbd的man page

root@lab8107:~/ceph# man rbd
···
--image-feature feature-name
Specifies which RBD format 2 feature should be enabled when creating an image. Multiple features can be enabled by repeating this option multiple times. The following features are supported: · layering: layering support
· striping: striping v2 support
· exclusive-lock: exclusive locking support
· object-map: object map support (requires exclusive-lock)
· fast-diff: fast diff calculations (requires object-map)
· deep-flatten: snapshot flatten support

开启RBD属性

可以看到开启fast-diff 需要开启exclusive-lockobject-map 属性

那么依次开启就好了

root@lab8107:~/ceph# rbd  feature enable test  exclusive-lock
root@lab8107:~/ceph# rbd feature enable test object-map
root@lab8107:~/ceph# rbd feature enable test fast-diff
2016-03-24 21:17:23.822720 7f241a5447c0 -1 librbd::ObjectMap: error refreshing object map: (2) No such file or directory
2016-03-24 21:17:23.823191 7f241a5447c0 -1 librbd::ObjectMap: error refreshing object map: (2) No such file or directory

来查看下 rbd info

root@lab8107:~/ceph# rbd info test
2016-03-24 21:18:37.972235 7f9918a7d7c0 -1 librbd::ObjectMap: error refreshing object map: (2) No such file or directory
rbd image 'test':
size 4000 MB in 2016-03-24 21:18:37.972900 7f9918a7d7c0 -1 1000librbd::ObjectMap: error refreshing object map: (2) No such file or directory objects order 22 (4096 kB objects)
block_name_prefix: rbd_data.10305695d26a
format: 2
features: layering, exclusive-lock, object-map, fast-diff
flags: object map invalid, fast diff invalid

我们可以看到又报错了,这个是因为是后开启object map,需要重建一下

root@lab8107:~/ceph# rbd  object-map rebuild  test
2016-03-24 21:20:05.488515 7fa0141917c0 -1 librbd::ObjectMap: error refreshing object map: (2) No such file or directory
2016-03-24 21:20:05.489142 7fa0141917c0 -1 librbd::ObjectMap: error refreshing object map: (2) No such file or directory
2016-03-24 21:20:05.530344 7fa0141917c0 -1 librbd::ObjectMap: error refreshing object map: (2) No such file or directory
Object Map Rebuild: 100% complete...done.

再次查看下

root@lab8107:~/ceph# rbd info test
rbd image 'test':
size 4000 MB in 1000 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.10305695d26a
format: 2
features: layering, exclusive-lock, object-map, fast-diff
flags:

已经可以了,我们来试下这个功能

root@lab8107:~/ceph# rbd du test
NAME PROVISIONED USED
test 4000M 0

好了,这个功能已经开启了,这个是对已经创建好的rbd,然后开启这个属性,那么如果不想这么麻烦,默认就开启,创建的时候就开启,有什么方法么,当然是有的

默认开启RBD容量快速查询的方法

root@lab8107:~/ceph# ceph --show-config|grep rbd_default_features
rbd_default_features = 3

查看下默认配置,这个是3,那么3是什么意思,3=1+2,这个是属性中常用的一种做法,给属性设置一个bit码,在配置的时候,只需要设置加起来的和

在RBD的属性里面:

我们要开启 前五个属性那么就是 31

在ceph.conf中添加配置

rbd_default_features = 31

创建后不做任何操作直接查询

root@lab8107:~/ceph# rbd create test1 --size 1000
root@lab8107:~/ceph# rbd info test1
rbd image 'test1':
size 1000 MB in 250 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.103c29f2280d
format: 2
features: layering, exclusive-lock, object-map, fast-diff
flags:
root@lab8107:~/ceph# rbd du test1
NAME PROVISIONED USED
test1 1000M 0

可以看到默认就把几个属性都开启好了,关于这个属性的开启就记录到这里,之前已经测试了一次

ceph查询rbd的使用容量(快速)的更多相关文章

  1. 如何统计Ceph的RBD真实使用容量

    前言 ceph的rbd一直有个问题就是无法清楚的知道这个分配的空间里面到底使用了多少,这个在Jewel里面提供了一个新的接口去查询,对于老版本来说可能同样有这个需求,本篇将详细介绍如何解决这个问题 查 ...

  2. 006 管理Ceph的RBD块设备

    一, Ceph RBD的特性 支持完整和增量的快照 自动精简配置 写时复制克隆 动态调整大小 二.RBD基本应用 2.1 创建RBD池 [root@ceph2 ceph]# ceph osd pool ...

  3. ceph的rbd备份软件ceph-backup

    teralytics是一家国外的大数据公司,这个是他们开源的ceph的备份的工具,在twitter上搜索相关信息的时候看到,觉得不错就拿来试用一番 这是个什么软件 一个用来备份 ceph 的 rbd ...

  4. k8s使用ceph的rbd作后端存储

    k8s使用rbd作后端存储 k8s里的存储方式主要有三种.分别是volume.persistent volumes和dynamic volume provisioning. volume: 就是直接挂 ...

  5. ceph中rbd的增量备份和恢复

    ceph中rbd的增量备份和恢复 ceph的文档地址:Ceph Documentation ​ 在调研OpenStack中虚机的备份和恢复时,发现OpenStack和ceph紧密结合,使用ceph做O ...

  6. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  7. xenserver使用ceph的rbd的方法

    首先安装的xenserver6.5的环境,看到有地方有提到这个上面可以安装rbd的支持,网上有一种方式是libvirt+kvm方式,因为ceph对libviet是原生支持的,但是xenserver底层 ...

  8. java操作ceph之rbd基本操作

    一.安装librados和librbd Ceph存储集群提供了基本的存储服务,允许Ceph在一个统一的系统中唯一地传送对象,块和文件存储. 但是,不限于使用RESTful,块或POSIX接口. 基于R ...

  9. ceph的pg的分布的快速查看

    前言 本篇的内容实际上是另外一篇文章的字篇章,在另外一篇文章当中,将会对crush的分布的调整的做一次总结,用比较简单的方式来展示各种crush的区别 在做这个工作过程中,为了更好的能展示出效果,就有 ...

随机推荐

  1. BUUCTF-数据包中的线索 1

    打开题目里面一个pcapng的文件,于是我们拖进wireshark流量分析一波 发现有http的流量,于是我们过滤http 让后追踪http,然后发现base64的编码, 于是我们看到了base64编 ...

  2. 双栈排序(洛谷P1155)二分图的判定+思维贪心

    题目:戳这里 题目大意: 给你一个数列,问能否通过两个栈的push与pop把它输出成一个升序序列(每个数只能入队并出队一次) 不能的话输出0,能的话输出操作方法 主要思路: 1.判断是否可以成功输出升 ...

  3. spring boot:使用spring cache+caffeine做进程内缓存(本地缓存)(spring boot 2.3.1)

    一,为什么要使用caffeine做本地缓存? 1,spring boot默认集成的进程内缓存在1.x时代是guava cache 在2.x时代更新成了caffeine, 功能上差别不大,但后者在性能上 ...

  4. scrapy数据写入管道

    1 setting里面启动管道 ITEM_PIPELINES = { 'ganji.pipelines.GanjiPipeline': 300,}2 拿到的数据通过yield返回给管道 # -*- c ...

  5. 正式班D11

    2020.10.20星期二 正式班D11 bash解释器交互式环境特性 命令和文件自动补全(Tab只能补全命令和文件) 快捷键 CTRL+C ==>终止前台运行的程序 CTRL+D ==> ...

  6. springboot入门系列(三):SpringBoot教程之RabbitMQ示例

    SpringBoot教程之RabbitMQ示例 SpringBoot框架已经提供了RabbitMQ的使用jar包,开发人员在使用RabbitMQ的时候只需要引用jar包简单的配置一下就可以使用Rabb ...

  7. 分布式文件存储数据库 MongoDB

    MongoDB 简介 Mongo 并非芒果(Mango)的意思,而是源于 Humongous(巨大的:庞大的)一词. MongoDB 是一个基于分布式文件存储的 NoSQL 数据库.由 C++ 语言编 ...

  8. maven中pom.xml文件配置

    <properties>                <spring.version>4.3.18.RELEASE</spring.version>        ...

  9. 习题解答chapter04

    题目: 实验:利用IDE的debug功能给例6.4和例6.6的new语句设置断点,使用单步调试(step into/step over)跟踪子类对象实例化(初始化)的执行顺序,并总结该过程.(教材:J ...

  10. OpenCV412+contrib+CUDA+cuDNN

    首先现在好软件(包含源码和官方编译好的库)和contrib源码包(对应版本怎么下载????) 软件: contirb包: 1.先把软件解压,在目录新建mybuild文件夹,用于输出保存自定义VS工程 ...