基于ceph jewel 10.2.5版本
参考文档:http://docs.ceph.com/docs/master/radosgw/layout/
测试数据
创建一个user:ictfox
创建这个user下的一个bucket:bruins
往bucket里写一个object:hello.txt
所以这里的测试数据有:
- user info
- bucket info
- object info
注:本文描述了查询radosgw数据和元数据的方法,没有深入去解析一些命令输出;若有错误,欢迎指正 ;)
RadosGW的pools
查看radosgw
对应的所有pools,其所有的数据也都存在这些pools里。
1 | # rados lspools |
很多pools
的用途通过名字就能明确,若要明确pools
的用途,请参考代码: rgw/rgw_rados.cc
1 | static string default_storage_pool_suffix = "rgw.buckets.data"; |
1 | int RGWZoneParams::fix_pool_names() |
radosgw的元数据信息
通过命令radosgw-admin
查看原数据信息,包括bucket信息
和user信息
。
user信息
radosgw-admin user info
命令
1 | # radosgw-admin user info --uid=ictfox |
radosgw-admin metadata
命令
1 | # radosgw-admin metadata list user |
bucket信息
radosgw-admin bucket stats
命令
1 | # radosgw-admin bucket stats --bucket=bruins |
radosgw-admin metadata
命令
1 | # radosgw-admin metadata list bucket |
rgw的user uid信息保存格式
每个user在该pool里都有两个objects
1 | # rados ls -p default.rgw.users.uid |
查看两个objects
的omap
和存储数据
:
1 | # rados -p default.rgw.users.uid listomapvals ictfox |
1 | # rados -p default.rgw.users.uid listomapkeys ictfox.buckets |
rgw的user keys信息保存格式
每个user在该pool里都有一个以<access_key>
的值命名的object
1 | # rados ls -p default.rgw.users.keys |
查看该object
的omap
和存储数据
:
1 | # rados -p default.rgw.users.keys listomapvals IYZ800MDM7VF3EDLISC7 |
rgw的user bucket原数据信息保存格式
格式:.dir.<bucket id>
1 | # rados -p default.rgw.buckets.index ls |
查看该object
的omap
和存储数据
:
1 | # rados -p default.rgw.buckets.index get .dir.070ec129-2e84-47fe-b32a-b0bf9914a51f.14274.1 file |
rgw的user bucket中对象数据保存格式
每个object
没有omap
信息
1 | # rados -p default.rgw.buckets.data ls |
查看object
的xattr
信息
1 | # rados -p default.rgw.buckets.data listxattr 070ec129-2e84-47fe-b32a-b0bf9914a51f.14274.1_hello.txt |
rgw的user bucket的metadata信息
1 | # rados -p default.rgw.data.root ls |
每个object
没有omap
信息
1 | # rados -p default.rgw.data.root listomapvals bruins |
查看object
的存储数据
1 | # rados -p default.rgw.data.root get bruins file |
查看object
的xattr
1 | # rados -p default.rgw.data.root listxattr bruins |