rgw中的数据模型

ceph集群中的pools
$ rados lspools

.rgw
.rgw.root
.rgw.control
.rgw.gc
.rgw.buckets
.rgw.buckets.index
.log
.intent-log
.usage
.users
.users.email
.users.swift
.users.uid
.rgw.buckets.extra

查看ceph rgw中注册的用户:
每个用户在.users.uid pool 中都对应两个对象:< user_name > < user_name >_buckets

$ rados -p .users.uid ls
unitedstack
unitedstack.buckets

在.users中分别为用户的s3账号的的access_key创建一个对象,对象名是用access_key

$ rados -p .users  ls
7EJLAI5N1HNG3NGWFYP5

在.users.uid pool 分别为每个用户创建两个对象,一个表示用户unitedstack本身,另一个unitedstack.buckets 用于在omap中保存这个用户创建的buckets。
查看用户创建的buckets

$ rados -p .users.uid listomapkeys unitedstack.buckets
yankun

用户unitedstack创建的bucket名字是yankun。
在.rgw pool中也为bucket创建了两个对象一个:一个是< bucket_name > 另一个是.bucket.meta.< bucket_name >.< marker > 这个marker是创建bucket中生成的。
同时用户创建的buckets在.rgw.buckets.index都对应一个object对象,其命名是格式:.dir.< marker >

$ rados -p .rgw ls | grep yankun
yankun
.bucket.meta.yankun:default.51486387.43
$ rados -p .rgw.buckets.index ls | grep default.51486387.43
.dir.default.51486387.43

在.rgw.buckes.index中每个对象的omap中保存着对应bucket中存放的对象。

$ rados -p .rgw.buckets.index  listomapkeys  .dir.default.51486387.43
osd-test
rgw.conf
s3test.py
test.txt
$ s3cmd ls s3://yankun
2016-04-16 07:21  31457280   s3://yankun/osd-test
2016-04-15 14:14       348   s3://yankun/rgw.conf
2016-04-15 14:14       573   s3://yankun/s3test.py
2016-04-15 14:14        14   s3://yankun/test.txt

rgw中bucket中的数据对象都是保存在.rgw.buckets中,其命名方式格式:< bucket_id >_< key >, key 是对象的名字,bucket_id(bucket marker) 对应bucket的元信息。
其中每个对象都分为两部分:一个是head < bucket_id >key 另个是< bucket_id >_shadow< manifest-prefix >_< num > manifest-prefix来源与.rgw.buckets pool中head对象的xattr num是一个从1开始的递增的序列号。

$ rados -p .rgw.buckets listxattr default.51486387.43_osd-test
user.rgw.acl
user.rgw.content_type
user.rgw.etag
user.rgw.idtag
user.rgw.manifest
user.rgw.x-amz-content-sha256
user.rgw.x-amz-date
user.rgw.x-amz-meta-s3cmd-attrs
$ rados -p .rgw.buckets getxattr default.51486387.43_osd-test user.rgw.manifest 
���yankuosd-tesosd-testtyankun
                                       .rgw.bucketsdefault.51486387.43default.51486387.43.rgw.buckets.index.rgw.buckets.extra*osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA �@tyankun
                                                              .rgw.bucketsdefault.51486387.43default.51486387.43.rgw.buckets.index.rgw.buckets.extra
$ rados -p .rgw.buckets ls | grep default.51486387.43
default.51486387.43_rgw.conf
default.51486387.43__shadow_osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA.2_1
default.51486387.43__multipart_osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA.1
default.51486387.43__shadow_osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA.2_2
default.51486387.43_osd-test
default.51486387.43__shadow_osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA.1_3
default.51486387.43__shadow_osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA.1_2
default.51486387.43__shadow_osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA.2_3
default.51486387.43_s3test.py
default.51486387.43__shadow_osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA.1_1
default.51486387.43__multipart_osd-test.2~toxkNCtoYExGQlJNHDqgbbv84NsfwtA.2
default.51486387.43_test.txt

注:这里的object有rados层面的object和rgw中定义的object。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值