【对象存储】rgw重置

Ceph Object Storage Placement 

确认当前已经存储的crush rule:

$ ceph osd crush rule dump

[
    {
        "rule_id": 0,
        "rule_name": "replicated_rule",
        "ruleset": 0,
        "type": 1,
        "min_size": 1,
        "max_size": 10,
        "steps": [
            {
                "op": "take",
                "item": -1,
                "item_name": "default"
            },
            {
                "op": "chooseleaf_firstn",
                "num": 0,
                "type": "host"
            },
            {
                "op": "emit"
            }
        ]
    },
    {
        "rule_id": 1,
        "rule_name": "slow",
        "ruleset": 1,
        "type": 1,
        "min_size": 1,
        "max_size": 10,
        "steps": [
            {
                "op": "take",
                "item": -9,
                "item_name": "slow"
            },
            {
                "op": "chooseleaf_firstn",
                "num": 0,
                "type": "host"
            },
            {
                "op": "emit"
            }
        ]
    }
]

 

default Zonegroup 增加新的 Placement target 名為 slow 並且賦予 tag 為 slow

复制代码
 1 $ radosgw-admin zonegroup placement add --rgw-zonegroup default --placement-id slow --tags slow
 2 
 3 [
 4     {
 5         "key": "default-placement",
 6         "val": {
 7             "name": "default-placement",
 8             "tags": [],
 9             "storage_classes": [
10                 "STANDARD"
11             ]
12         }
13     },
14     {
15         "key": "slow",
16         "val": {
17             "name": "slow",
18             "tags": [
19                 "slow"
20             ],
21             "storage_classes": [
22                 "STANDARD"
23             ]
24         }
25     }
26 ]
复制代码

default-placement Placement target 新增名為 default-placement tag

复制代码
 1 $ radosgw-admin zonegroup placement modify --rgw-zonegroup default --placement-id default-placement --tags default-placement
 2 
 3 [
 4     {
 5         "key": "default-placement",
 6         "val": {
 7             "name": "default-placement",
 8             "tags": [
 9                 "default-placement"
10             ],
11             "storage_classes": [
12                 "STANDARD"
13             ]
14         }
15     },
16     {
17         "key": "slow",
18         "val": {
19             "name": "slow",
20             "tags": [
21                 "slow"
22             ],
23             "storage_classes": [
24                 "STANDARD"
25             ]
26         }
27     }
28 ]
复制代码

 

default Zone 增加新的 placement pool,並且命名为 slow。建置過程中需配置 index-pool, data-pool 與 –data-extra-pool

radosgw-admin zone placement add --rgw-zone default --placement-id slow --index-pool slow.rgw.buckets.index --data-pool 

查询结果如下图所示:

复制代码
{
    "id": "67798670-9929-4675-a595-a27b10576b5e",
    "name": "default",
    "domain_root": "default.rgw.meta:root",
    "control_pool": "default.rgw.control",
    "gc_pool": "default.rgw.log:gc",
    "lc_pool": "default.rgw.log:lc",
    "log_pool": "default.rgw.log",
    "intent_log_pool": "default.rgw.log:intent",
    "usage_log_pool": "default.rgw.log:usage",
    "reshard_pool": "default.rgw.log:reshard",
    "user_keys_pool": "default.rgw.meta:users.keys",
    "user_email_pool": "default.rgw.meta:users.email",
    "user_swift_pool": "default.rgw.meta:users.swift",
    "user_uid_pool": "default.rgw.meta:users.uid",
    "otp_pool": "default.rgw.otp",
    "system_key": {
        "access_key": "",
        "secret_key": ""
    },
    "placement_pools": [
        {
            "key": "default-placement",
            "val": {
                "index_pool": "default.rgw.buckets.index",
                "storage_classes": {
                    "STANDARD": {
                        "data_pool": "default.rgw.buckets.data"
                    }
                },
                "data_extra_pool": "default.rgw.buckets.non-ec",
                "index_type": 0
            }
        },
        {
            "key": "slow",
            "val": {
                "index_pool": "slow.rgw.buckets.index",
                "storage_classes": {
                    "STANDARD": {
                        "data_pool": "slow.rgw.buckets.data"
                    }
                },
                "data_extra_pool": "slow.rgw.buckets.non-ec",
                "index_type": 0
            }
        }
    ],
    "metadata_heap": "",
    "realm_id": ""
}
View Code
复制代码

配置完成後,建立相對應的 pools

复制代码
$ ceph osd pool create slow.rgw.buckets.index 8 8

pool 'slow.rgw.buckets.index' created

$ ceph osd pool create slow.rgw.buckets.data 8 8

pool 'slow.rgw.buckets.data' created

$ ceph osd pool create slow.rgw.buckets.non-ec 8 8

pool 'slow.rgw.buckets.non-ec' created
复制代码

確認新建立 pool 的 Crush Rule

$ ceph osd pool ls detail

...
pool 5 'default.rgw.buckets.index' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 autoscale_mode warn last_change 31 flags hashpspool stripe_width 0 application rgw
pool 6 'slow.rgw.buckets.index' replicated size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 8 pgp_num 8 autoscale_mode warn last_change 68 flags hashpspool stripe_width 0
pool 7 'slow.rgw.buckets.data' replicated size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 8 pgp_num 8 autoscale_mode warn last_change 70 flags hashpspool stripe_width 0
pool 8 'slow.rgw.buckets.non-ec' replicated size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 8 pgp_num 8 autoscale_mode warn last_change 72 flags hashpspool stripe_width 0

crush_rule 為 1 表示已更改為 slow Crush Rule,若讀者實際操作可能值會與範例不同

重新启动RGW

systemctl  stop ceph-radosgw@rgw.zz.rgw0
systemctl  start ceph-radosgw@rgw.zz.rgw0

 

参考资料

1. Ceph Object Storage Placement 介紹

posted @   苏格拉底的落泪  阅读(371)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示