【ceph】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

$ radosgw-admin zonegroup placement add --rgw-zonegroup default --placement-id slow --tags slow
[
    {
        "key": "default-placement",
        "val": {
            "name": "default-placement",
            "tags": [],
            "storage_classes": [
                "STANDARD"
            ]
        }
    },
    {
        "key": "slow",
        "val": {
            "name": "slow",
            "tags": [
                "slow"
            ],
            "storage_classes": [
                "STANDARD"
            ]
        }
    }
]

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

$ radosgw-admin zonegroup placement modify --rgw-zonegroup default --placement-id default-placement --tags default-placement
[
    {
        "key": "default-placement",
        "val": {
            "name": "default-placement",
            "tags": [
                "default-placement"
            ],
            "storage_classes": [
                "STANDARD"
            ]
        }
    },
    {
        "key": "slow",
        "val": {
            "name": "slow",
            "tags": [
                "slow"
            ],
            "storage_classes": [
                "STANDARD"
            ]
        }
    }
]

 

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 @ 2021-10-13 15:06  苏格拉底的落泪  阅读(390)  评论(0)    收藏  举报