ceph中查看一个rbd的image的真实存储位置
1、新建一个image存储
- rbd create hzb-mysql --size 2048
2、查看hzb-mysql的所有对象
一个rbd image实际上包含了多个对象(默认情况下是image_size/4M)
- [root@cc ~]# rbd info hzb-mysql
- rbd image 'hzb-mysql':
- size 2048 MB in 512 objects
- order 22 (4096 kB objects)
- block_name_prefix: rb.0.11895f.6b8b4567
- format: 1
- [root@cc ~]#
查看真实使用空间:
- rbd diff hzb-mysql | awk '{ SUM += $2 } END { print SUM/1024/1024 " MB" }'
上面的红色加粗部分就是该image的指纹,如果image是以 --image-format 2创建的,则上面的红色部分显示为: rbd_data.1979a96b8b4567这样的形式。下面利用该指纹可以查出该image的所有对象:
- [root@cc ~]# rados -p rbd ls | grep rb.0.11895f.6b8b4567
- rb.0.11895f.6b8b4567.000000000006
- rb.0.11895f.6b8b4567.000000000003
- rb.0.11895f.6b8b4567.000000000012
- rb.0.11895f.6b8b4567.00000000013b
- rb.0.11895f.6b8b4567.000000000001
- rb.0.11895f.6b8b4567.00000000003f
- rb.0.11895f.6b8b4567.000000000002
- rb.0.11895f.6b8b4567.0000000001f8
- rb.0.11895f.6b8b4567.000000000017
- rb.0.11895f.6b8b4567.00000000001a
- rb.0.11895f.6b8b4567.000000000008
- rb.0.11895f.6b8b4567.0000000000bd
- rb.0.11895f.6b8b4567.000000000010
- rb.0.11895f.6b8b4567.00000000000c
- rb.0.11895f.6b8b4567.000000000016
- rb.0.11895f.6b8b4567.000000000040
- rb.0.11895f.6b8b4567.0000000001b9
- rb.0.11895f.6b8b4567.000000000019
- rb.0.11895f.6b8b4567.000000000000
- rb.0.11895f.6b8b4567.000000000007
- rb.0.11895f.6b8b4567.00000000000e
- rb.0.11895f.6b8b4567.000000000011
- rb.0.11895f.6b8b4567.00000000000a
- rb.0.11895f.6b8b4567.0000000001ff
- rb.0.11895f.6b8b4567.000000000018
- rb.0.11895f.6b8b4567.000000000009
- rb.0.11895f.6b8b4567.0000000000fc
- rb.0.11895f.6b8b4567.000000000004
- rb.0.11895f.6b8b4567.00000000007e
- rb.0.11895f.6b8b4567.000000000014
- rb.0.11895f.6b8b4567.00000000000d
- rb.0.11895f.6b8b4567.00000000000b
- rb.0.11895f.6b8b4567.00000000001e
- rb.0.11895f.6b8b4567.0000000000fe
- rb.0.11895f.6b8b4567.00000000017a
- rb.0.11895f.6b8b4567.00000000000f
- rb.0.11895f.6b8b4567.0000000000fd
- rb.0.11895f.6b8b4567.00000000001c
- rb.0.11895f.6b8b4567.00000000001d
- rb.0.11895f.6b8b4567.00000000001f
- rb.0.11895f.6b8b4567.000000000005
- rb.0.11895f.6b8b4567.000000000015
- rb.0.11895f.6b8b4567.00000000001b
从上面的查询结果中可以看出,一个image对象是由上面的object组成的,他们每一个的存储位置可能都不一样。我们以第一行的紫色object来查询它的真实存储位置。
3、查看object所在的PG和OSD
- [root@cc ~]# ceph osd map rbd rb.0.11895f.6b8b4567.000000000006
- osdmap e65 pool 'rbd' (2) object 'rb.0.11895f.6b8b4567.000000000006' -> pg 2.e1382280 (2.0) -> up ([3,0], p3) acting ([3,0], p3)
- [root@cc ~]#
这代表在pool rbd中的 rb.0.11895f.6b8b4567.000000000006 这个对象位于2.0这个pg中,并且位于osd3和osd0上(两个副本)。
4、进入机器osd3上,进入下面目录
- [root@nc3 2.0_head]# cd /var/lib/ceph/osd/ceph-3/current/2.0_head
- [root@nc3 2.0_head]# ll
- total 8196
- -rw-r--r-- 1 root root 0 Mar 28 18:52 __head_00000000__2
- -rw-r--r-- 1 root root 4194304 Apr 14 14:49 rb.0.11895f.6b8b4567.000000000003__head_7494AE80__2
- -rw-r--r-- 1 root root 4194304 Apr 14 14:49 rb.0.11895f.6b8b4567.000000000006__head_E1382280__2
下面的蓝色加粗的这个文件就是rb.0.11895f.6b8b4567.000000000006这个object的真实位置,同理,我们可以找出第2步当中的所有object的真实位置。
osd0上的跟osd3上的方法一样,不再说了。
ceph中查看一个rbd的image的真实存储位置的更多相关文章
- .NET中查看一个强命名程序集(*****.dll)的PublicKeyToken的方法
使用命令行工具SDK Command Prompt,键入:SN -T C:\*****.dll (dll文件所在的路径) 就会显示出该dll具体的PublicKeyToken数值. 如果该程序集没有 ...
- C0302 将一个代码块中的内容保存在文件中, 查看一个rpm包是否可以安装
#!/bin/bash # 这个脚本是用来描述和确认是否可以安装一个rpm包 # 在一个文件中保存输出 SUCCESS=0 E_NOARGS=65 if [ -z "$1" ] t ...
- Idea中查看一个类的所有资料及其层级关系
在Idea中直接Ctrl + t 查看类的子类是可以看到,但是他没有那种层级顺序! 我们可以在类中点击顶部菜单Navigate -----> Type Hierarchy
- 如何在Android Studio中查看一个类的继承关系呢?
在面板顶部的工具栏中,找到Navigate,然后在下拉列表中,找到“Type Hierarchy”(快捷键 Ctrl+H),点击.即可在面板右侧出现该类的Hierarchy层级图.
- mysql中查看一个字段中,有几个逗号
利用replace.length的内置函数
- idea中查看一个类的调用用和被调用用关系
- mysql数据库中,查看某个数据库下的表的存储类型都有哪些
需求描述: 在备份数据库的时候,使用mysqldump进行数据库的备份,如果库中仅仅有innodb存储引擎, 那么使用--single-transaction就可以,如果还有其他的存储引擎类型就要使用 ...
- eclipse查看一个方法被谁调用的快捷键
我们知道,在idea中是可以通过[ctrl+鼠标左键单击]去跳到方法调用方去的,但是在eclipse中却是不行的. 三种快捷键方式 这里列出在eclipse中查看一个方法被谁调用的三种方式(快捷键). ...
- Linux查看软件安装路径,和文件的位置
查看软件是否安装:rpm -qa|grep xx 列出软件安装包安装的文件:rpm -ql 直接使用rpm -qal |grep mysql 查看mysql所有安装包的文件存储位置 通过find去查找 ...
随机推荐
- jQuery笔记——插件
验证插件 验证插件(validate.js),是一款验证常规表单数据合法性的插件.使用它,极大的解 放了在表单上繁杂的验证过程,并且错误提示显示的完善也增加了用户体验 插件都可以在JQueryUI 的 ...
- 【BZOJ】3670: [Noi2014]动物园(KMP)
题目 传送门:QWQ 分析 像求next一样求num. 第二次求next时加上不超过一半的条件. 时间复杂度: $ \huge O ( n ) $ 代码 // luogu-judger-enable- ...
- java 字符串排序
http://bbs.csdn.net/topics/280032929 大可不需要那样复杂了!(一)如果要排序的为字符串,如:String sortStr = "ACDFE"; ...
- 堆、栈、free
转自:http://codeup.org/archives/212 http://bbs.bccn.net/thread-82212-1-1.html http://www.cppblog.com/o ...
- sqlldr加载 数据文件的字段超出最大长度
SQLLOAD数据的时候,建表给的字段给够了,建表已经给到VHARCHAR2(1024)了,实际数据是VHARCHAR2(256).加载报错"数据文件的字段超出最大长度"查了半天, ...
- Tkinter Toplevel
Tkinter Toplevel:顶层部件的工作,直接由窗口管理器管理的窗口.他们不必在它们上面的父widget 顶层部件的工作,直接由窗口管理器管理的窗口.他们不必在它们上面的父widge ...
- leetcode341
数据结构设计类题目,参考网上的代码: /** * // This is the interface that allows for creating nested lists. * // You sh ...
- qrcode——js生成二维码
1.引入 qrcode.min.js(点击下载demo) 2.html: <div id="qrcode"></div> js: var qrcode = ...
- 【转】arm和x86的区别
来自: https://blog.csdn.net/u012513972/article/details/78349192/ 信不信,随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,但是 ...
- keepalived + nginx实现高可用
1. Keepalived介绍 Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat.corosync.pacemaker. ...