ceph 对象存储查询对象数据

RGW获取对象元数据
普通对象
bucket :jxc
pool :obj_data
file :file_0_MQnZW
普通对象存储方式:小于chunk_size的对象文件在底层RADOS 只有一个对象,大于chunk_size的对象文件,会分成多个对象存储,其中第一个对象叫做首对象,大小为rgw_max_chunk_size,其他的对象按照rgw_obj_stripe_size切成不同的object 存入rados。如图41M对象,chunk_size=4M,strip_size=32M:
0
1、获取存储池列表
rados lspools
0
2、获取对象信息(首对象,size = chunk size)
rados -p obj_data ls | grep file_0_MQnZW
0
3、获取对象xattr列表
rados -p obj_data listxattr d8627e44-9768-4aad-adcd-aecc00585b88.2524098.99_file_0_MQnZW
0
4、重定向对象manifest
rados -p obj_data getxattr d8627e44-9768-4aad-adcd-aecc00585b88.2524098.99_file_0_MQnZW user.rgw.manifest > file_0_MQnZW.manifest
5、查看对象manifest信息
ceph-dencoder type RGWObjManifest import file_0_MQnZW.manifest decode dump_json
0
6、根据前缀或bucket_id获取对象各条带信息
0
分段对象
bucket :jxc
pool :obj_data
file :VC6CN.7z
分段对象存储方式:头对象大小为0,按分段大小切成不同对象,然后每个分段按照rgw_obj_stripe_size切成不同的object 存入rados,如果单个分段小于strip_size,则只保留一个首对象。如果单个分段大于strip_size,则首对象size=strip_size,中间对象size=strip_size,尾对象为剩余大小。如图157.9M对象,分段大小50M,strip_size=32M:
0
1、获取存储池列表
rados lspools
0
2、获取对象信息
rados -p obj_data ls | grep VC6CN.7z
0
3、获取对象xattr列表
rados -p obj_data listxattr d8627e44-9768-4aad-adcd-aecc00585b88.1694570.1_VC6CN.7z
0
4、重定向对象manifest
rados -p obj_data getxattr d8627e44-9768-4aad-adcd-aecc00585b88.1694570.1_VC6CN.7z user.rgw.manifest > VC6CN.7z.manifest
5、查看对象manifest信息
ceph-dencoder type RGWObjManifest import VC6CN.7z.manifest decode dump_json
0
6、根据前缀或bucket_id获取对象各条带信息
0
秒合对象
bucket :bucket_0_ocf3JW
pool :obj_data
file :combos_0_Tvj
秒合对象存储方式:秒合对象首对象size=0,各子对象按照整体上传或者分片上传的方式存储到RADOS中。
0
1、获取存储池列表
rados lspools
0
2、获取对象信息(头对象)
rados -p obj_data ls | grep combos_0_Tvj
0
3、获取对象xattr列表
rados -p obj_data listxattr d8627e44-9768-4aad-adcd-aecc00585b88.1694591.1_combos_0_Tvj
0
4、重定向对象mmt
rados -p obj_data getxattr d8627e44-9768-4aad-adcd-aecc00585b88.1694591.1_combos_0_Tvj user.rgw.mmt > combos_0_Tvj.mmt
5、查看对象mmt信息
ceph-dencoder type RGWCombosObjMemberManifest import combos_0_Tvj.mmt decode dump_json
0
posted @ 2021-08-23 17:53  殇™  阅读(1304)  评论(0编辑  收藏  举报