ceph rbd mysql_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上的方法一樣,不再說了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值