• 【ceph | 运维】rgw重置


    Ceph Object Storage Placement 

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

     1 $ ceph osd crush rule dump
     2 
     3 [
     4     {
     5         "rule_id": 0,
     6         "rule_name": "replicated_rule",
     7         "ruleset": 0,
     8         "type": 1,
     9         "min_size": 1,
    10         "max_size": 10,
    11         "steps": [
    12             {
    13                 "op": "take",
    14                 "item": -1,
    15                 "item_name": "default"
    16             },
    17             {
    18                 "op": "chooseleaf_firstn",
    19                 "num": 0,
    20                 "type": "host"
    21             },
    22             {
    23                 "op": "emit"
    24             }
    25         ]
    26     },
    27     {
    28         "rule_id": 1,
    29         "rule_name": "slow",
    30         "ruleset": 1,
    31         "type": 1,
    32         "min_size": 1,
    33         "max_size": 10,
    34         "steps": [
    35             {
    36                 "op": "take",
    37                 "item": -9,
    38                 "item_name": "slow"
    39             },
    40             {
    41                 "op": "chooseleaf_firstn",
    42                 "num": 0,
    43                 "type": "host"
    44             },
    45             {
    46                 "op": "emit"
    47             }
    48         ]
    49     }
    50 ]

    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 介紹

  • 相关阅读:
    万网免费主机wordpress快速建站教程-域名绑定及备案
    java小算法—大衍数列
    Core Data使用之一(Swift): 保存
    Swift 添加到TableView实现动画效果
    Swift 动态创建提示框
    Swift分割字符串
    Swift去除两边的特定字符(空格或其它)
    windows 属性
    String 输出{}
    c# 正则表达式的用户
  • 原文地址:https://www.cnblogs.com/sunbines/p/15402278.html
Copyright © 2020-2023  润新知