【Ceph Object Storage Placement 介紹 】
阿新 • • 發佈:2021-10-13
確認當前已經儲存的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
1 $ radosgw-admin zone placement add --rgw-zone default --placement-id slow --index-pool slow.rgw.buckets.index --data-pool slow.rgw.buckets.data --data-extra-pool slow.rgw.buckets.non-ec 2 3 { 4 "id": "67798670-9929-4675-a595-a27b10576b5e", 5 "name": "default", 6 "domain_root": "default.rgw.meta:root", 7 "control_pool": "default.rgw.control", 8 "gc_pool": "default.rgw.log:gc", 9 "lc_pool": "default.rgw.log:lc", 10 "log_pool": "default.rgw.log", 11 "intent_log_pool": "default.rgw.log:intent", 12 "usage_log_pool": "default.rgw.log:usage", 13 "reshard_pool": "default.rgw.log:reshard", 14 "user_keys_pool": "default.rgw.meta:users.keys", 15 "user_email_pool": "default.rgw.meta:users.email", 16 "user_swift_pool": "default.rgw.meta:users.swift", 17 "user_uid_pool": "default.rgw.meta:users.uid", 18 "otp_pool": "default.rgw.otp", 19 "system_key": { 20 "access_key": "", 21 "secret_key": "" 22 }, 23 "placement_pools": [ 24 { 25 "key": "default-placement", 26 "val": { 27 "index_pool": "default.rgw.buckets.index", 28 "storage_classes": { 29 "STANDARD": { 30 "data_pool": "default.rgw.buckets.data" 31 } 32 }, 33 "data_extra_pool": "default.rgw.buckets.non-ec", 34 "index_type": 0 35 } 36 }, 37 { 38 "key": "slow", 39 "val": { 40 "index_pool": "slow.rgw.buckets.index", 41 "storage_classes": { 42 "STANDARD": { 43 "data_pool": "slow.rgw.buckets.data" 44 } 45 }, 46 "data_extra_pool": "slow.rgw.buckets.non-ec", 47 "index_type": 0 48 } 49 } 50 ], 51 "metadata_heap": "", 52 "realm_id": "" 53 }
配置完成後,建立相對應的 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-[email protected] systemctl start ceph[email protected]