RGW元数据组织方式

1. RGW数据组织方式:

数据分类三类: metadata、bucket index、data
元数据,索引数据、真实数据

2.metadata元数据分区

元数据包含user、bucket、bucket.instance三个分区,可以使用以下命令查看:

查看元数据列表:

$ radosgw-admin metadata list
[
    "bucket",
    "bucket.instance",
    "otp",
    "user"
]

查看bucket列表:

$ radosgw-admin metadata list bucket
[
    "test-11111112",
    "aevfr",
    "test11k",
    "eeeee",
    "test123",
    "buck",
    "newbucket",
    "eeeee_bak",
    "test-11111111",
    "newbucket-111",
    "ww_bucket",
    "test",
    "ww_buck",
    "testq"
]

查看bucket实例:

$ radosgw-admin metadata list bucket.instance
[
    "newbucket:21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.2",
    "test-11111112:932196fc-e1b0-4c48-8b6f-304b64f48e67.3877563.9",
    "newbucket-111:21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.3",
    "aevfr:932196fc-e1b0-4c48-8b6f-304b64f48e67.3458907.2",
    "test:932196fc-e1b0-4c48-8b6f-304b64f48e67.3877563.3",
    "ww_buck:21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.1",
    "eeeee_bak:932196fc-e1b0-4c48-8b6f-304b64f48e67.3877563.11",
    "test123:21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.21",
    "testq:21d2c035-4dd2-4961-a1df-7d49bdead1e8.5312134.1",
    "test-11111111:932196fc-e1b0-4c48-8b6f-304b64f48e67.3877563.7",
    "eeeee:932196fc-e1b0-4c48-8b6f-304b64f48e67.3458907.1",
    "ww_bucket:21d2c035-4dd2-4961-a1df-7d49bdead1e8.5312134.2",
    "buck:932196fc-e1b0-4c48-8b6f-304b64f48e67.3068420.1",
    "test11k:21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.22"
]

查看用户列表

$ radosgw-admin metadata list user
[
    "admin",
    "rgw_ww",
    "hshtest",
    "liufeilong",
    "s3user1"
]

查看bucket信息

$ radosgw-admin metadata get bucket:<bucket>
{
    "key": "bucket:newbucket",
    "ver": {
        "tag": "_bRDRKq9UxQgaha5proZZ4VX",
        "ver": 1
    },
    "mtime": "2020-11-17 02:31:11.453705Z",
    "data": {
        "bucket": {
            "name": "newbucket",
            "marker": "21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.2",
            "bucket_id": "21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.2",
            "tenant": "",
            "explicit_placement": {
                "data_pool": "",
                "data_extra_pool": "",
                "index_pool": ""
            }
        },
        "owner": "admin",
        "creation_time": "2020-11-17 02:31:11.447671Z",
        "linked": "true",
        "has_bucket_info": "false"
    }
}

查看bucket实例信息

$ radosgw-admin metadata get bucket.instance:<bucket>:<bucket_id>
{
    "key": "bucket.instance:newbucket:21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.2",
    "ver": {
        "tag": "_A-nQQ6QKd9i0Rz_iMCWpgA4",
        "ver": 1
    },
    "mtime": "2020-11-17 02:31:11.450400Z",
    "data": {
        "bucket_info": {
            "bucket": {
                "name": "newbucket",
                "marker": "21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.2",
                "bucket_id": "21d2c035-4dd2-4961-a1df-7d49bdead1e8.4967608.2",
                "tenant": "",
                "explicit_placement": {
                    "data_pool": "",
                    "data_extra_pool": "",
                    "index_pool": ""
                }
            },
            "creation_time": "2020-11-17 02:31:11.447671Z",
            "owner": "admin",
            "flags": 0,
            "zonegroup": "65eaab96-12bf-4755-bdd3-b4ae20af4767",
            "placement_rule": "default-placement",
            "has_instance_obj": "true",
            "quota": {
                "enabled": false,
                "check_on_raw": false,
                "max_size": -1,
                "max_size_kb": 0,
                "max_objects": -1
            },
            "num_shards": 0,
            "bi_shard_hash_type": 0,
            "requester_pays": "false",
            "has_website": "false",
            "swift_versioning": "false",
            "swift_ver_location": "",
            "index_type": 0,
            "mdsearch_config": [],
            "reshard_status": 0,
            "new_bucket_instance_id": ""
        },
        "attrs": [
            {
                "key": "user.rgw.acl",
                "val": "AgKBAAAAAwISAAAABQAAAGFkbWluBQAAAEFkbWluBANjAAAAAQEAAAAFAAAAYWRtaW4PAAAAAQAAAAUAAABhZG1pbgUDNgAAAAICBAAAAAAAAAAFAAAAYWRtaW4AAAAAAAAAAAICBAAAAA8AAAAFAAAAQWRtaW4AAAAAAAAAAAAAAAAAAAAA"
            }
        ]
    }
}

查看具体用户信息

$ radosgw-admin metadata get user:<user>   # get or set
{
    "key": "user:admin",
    "ver": {
        "tag": "_Qobmdb6zcGRMowBSZvAoHbZ",
        "ver": 46
    },
    "mtime": "2020-11-17 09:53:44.737013Z",
    "data": {
        "user_id": "admin",
        "display_name": "Admin",
        "email": "admin@admin.nil",
        "suspended": 0,
        "max_buckets": 1000,
        "subusers": [],
        "keys": [
            {
                "user": "admin",
                "access_key": "L3BD89YCVWZP0EDGUAT3",
                "secret_key": "OxllALBd1dVIc2Y7RLwL5R81lPJs7Oo509dKaJ5J"
            }
        ],
        "swift_keys": [],
        "caps": [
            {
                "type": "buckets",
                "perm": "*"
            },
            {
                "type": "usage",
                "perm": "read"
            },
            {
                "type": "user",
                "perm": "*"
            }
        ],
        "op_mask": "read, write, delete",
        "system": "true",
        "default_placement": "",
        "default_storage_class": "",
        "placement_tags": [],
        "bucket_quota": {
            "enabled": false,
            "check_on_raw": false,
            "max_size": -1,
            "max_size_kb": 0,
            "max_objects": -1
        },
        "user_quota": {
            "enabled": false,
            "check_on_raw": false,
            "max_size": -1,
            "max_size_kb": 0,
            "max_objects": -1
        },
        "temp_url_keys": [],
        "type": "rgw",
        "mfa_ids": [],
        "attrs": []
    }
}
2.bucket索引

不同种类的元数据是分别存放的,bucket索引以key-value形式存放在rados的对象中,默认情况下每个bucket的元数据信息存放在单独的raods对象中,从hammer版本后也可能分布到多个具有map映射的对象中,这个map本身存放在omap中,映射到每个rados对象上。

每个omap的key就是对象的名称,value则存放了对象的基本元数据信息,这个信息一般在列出bucket的时候被调用,而且每个omap都有一个header,header厘米阿尼存放了bucket账号信息、对象数、总大小等数据
 注: bucket索引中也存放了其它的信息,而且分布在其它的命名空间中,例如:索引记录,对象版本等更多信息。

3. 数据

对象数据存储在一个或者多个rados对象中。

4.查找对象的方式(路径)

在访问对象的过程中,rest api需要携带三个信息到rgw上查找:账户信息、bucket名称,对象名称(key)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值