文章目录
引言
在Ceph RBD中,image是一个对外提供的逻辑概念,image由数据和元数据组成,数据和原数据都存储在底层RADOS对象中。因此,image的操作就可以分为:
- 数据操作:IO流程
- 元数据操作:配置流程
对于创建image这种配置流程来说,主要就是操作元数据。
Image关键元数据
我们从实践出发,看一下image有哪些元数据。
创建卷
通过RBD命令创建一个image。
rbd create blockpool/vol_2 --size 100M
查看rados对象。
[root@VM-16-10-centos data]# rados -p blockpool ls
rbd_directory
rbd_id.vol_2
rbd_info
rbd_object_map.2488ba1d0ed49
rbd_header.2488ba1d0ed49
如何找到卷:rbd_directory
rbd_directory中存储了卷信息,卷的名字为vol_2
,卷的id为2488ba1d0ed49
,结合上面命令,可以找到rbd_id.vol_2
、rbd_header.2488ba1d0ed49
、rbd_object_map.2488ba1d0ed49
相关对象。
[root@VM-16-10-centos data]# rados -p blockpool listomapvals rbd_directory
id_2488ba1d0ed49
value (9 bytes) :
00000000 05 00 00 00 76 6f 6c 5f 32 |....vol_2|
00000009
name_vol_2
value (17 bytes) :
00000000 0d 00 00 00 32 34 38 38 62 61 31 64 30 65 64 34 |....2488ba1d0ed4|
00000010 39 |9|
00000011
卷都有什么属性:rbd_header.{rbd_id}
在rbd_header对象中我们可以看到image的相关属性。
[root@VM-16-10-centos data]# rados -p blockpool listomapvals rbd_header.2488ba1d0ed49
access_timestamp
value (8 bytes) :
00000000 49 96 56 62 1d d5 31 10 |I.Vb..1.|
00000008
create_timestamp
value (8 bytes) :
00000000 49 96 56 62 1d d5 31 10 |I.Vb