012 Ceph多区域网关
一、基本概念
1.1 多区域概念
Multi-Size功能是从J版本开始的。一个single zone配置通常由一个zone group组成,该zone group包含一个zone和多个用于负载均衡的RGW实例。从K版本开始,ceph为RGW提供了Multi-Size的配置选项
1.2 多区域相关术语
区域(zone): 一个ceph集群可以包含多个区域,一个区域只属于一个集群,一个区域可以有多个RGW
区域组(zonegroup):由一个或多个区域组成,包含一个主区域(master zone),其他区域称为Secondary Zone,区域组内的所有区域之间同步数据
域(realm): 同一个或多个区域组组成,包含一个主区域组,其他都次区域组。域中的所有rados网关都从位于主区域组和主区域中的rados网关拉取配置
注意: master zone group中的master zone处理所元数据更新,因此创建用户、bucket等操作都必须经由master zone
1.3 多区域网关配置架构
single-zone:一个realm中只有一个zonegroup和一个zone,可以有多个RGW
multi-zone:一个relam中只有一个zonegroup,但是有多个zone。一个realm中存储的数据复制到该zonegroup中的所有zone中
multi-zonegroup:一个realm中有多个zonegroup,每个zonegroup中又有一个或多个zone
multi-realms:多个realm
两个集群配置两个zone,实现两个zone之间的数据同步:
periods和Epochs:
每个zone有关联的period,每个period有关联的epoch。
period用于跟踪zone、zone group和realm的配置状态
epoch用于跟踪zone period的配置变更的版本号
每个period具有唯一ID,含有zone配置,并且知道其先前period的id
在更改zone的配置时,需要更新zone的当前period
1.4 多区域同步流程
RGW在所有zone group集合之间同步元数据和数据操作。元数据操作与bucket相关:创建、删除、启用和禁用版本控制、管理用户。meta master位于master zone group中的master zone,负责管理元数据更新
多区域配置后处于活跃状态时,RGW会在master和secondary区域之间执行一次初始的完整同步。随后的更新是增量更新
当RGW将数据写入zone group的任意zone时,它会在该zone group的所有其他zone之间同步这一数据
当RGW同步数据时,所有活跃的网关会更新数据日志并通知其他网关
当RGW网关因用户操作而同步元数据时,主网关会更新元数据日志并通知其他RGW网关
两个集群配置两个zone,实现两个zone之间的数据同步:periods和Epochs:每个zone有关联的period,每个period有关联的epoch。period用于跟踪zone、zone group和realm的配置状态epoch用于跟踪zone period的配置变更的版本号每个period具有唯一ID,含有zone配置,并且知道其先前period的id在更改zone的配置时,需要更新zone的
当前period多区域同步流程:RGW在所有zone group集合之间同步元数据和数据操作。元数据操作与bucket相关:创建、删除、启用和禁用版本控制、管理用户。meta master位于master zone group中的master zone,负责管理元数据更新多区域配置后处于活跃状态时,RGW会在master和secondary区域之间执行一次初始的完整同步。随后
的更新是增量更新当RGW将数据写入zone group的任意zone时,它会在该zone group的所有其他zone之间同步这一数据当RGW同步数据时,所有活跃的网关会更新数据日志并通知其他网关当RGW网关因用户操作而同步元数据时,主网关会更新元数据日志并通知其他RGW网关
二、配置
2.1 查看
[root@ceph5 ~]# radosgw-admin realm list
[root@ceph5 ~]# radosgw-admin zonegroup list
[root@ceph5 ~]# radosgw-admin zone list
[root@ceph5 ~]# radosgw-admin zone list --rgw-zonegroup default
2.2 创建realm
[root@ceph5 ~]# radosgw-admin realm create --rgw-realm hubei --default
2.3 创建zonegroup
[root@ceph5 ~]# radosgw-admin zonegroup create --rgw-realm hubei --rgw-zonegroup fancheng --default --master
2.4 修改名
[root@ceph5 ~]# radosgw-admin zonegroup rename --rgw-realm hubei --rgw-zonegroup fancheng --zonegroup-new-name xiangyang
[root@ceph5 ~]# radosgw-admin zonegroup get --rgw-zonegroup xiangyang
2.5 删除一个zonegroup
[root@ceph5 ~]# radosgw-admin realm remove --rgw-realm hubei --rgw-zonegroup xiangyang
[root@ceph5 ~]# radosgw-admin zonegroup list
[root@ceph5 ~]# radosgw-admin zonegroup delete --rgw-zonegroup xiangyang
[root@ceph5 ~]# radosgw-admin zonegroup list
2.6 重建一个zonegroup
[root@ceph5 ~]# radosgw-admin zonegroup create --rgw-realm hubei --rgw-zonegroup xiangyang --default --master
{"id": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","name": "xiangyang","api_name": "xiangyang","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "","zones": [],"placement_targets": [],"default_placement": "","realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" }
2.7 创建一个zone
[root@ceph5 ~]# radosgw-admin zone create --rgw-zonegroup xiangyang --rgw-zone fancheng --default --endpoints http://ceph5.lab.example.com
{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","domain_root": "fancheng.rgw.meta:root","control_pool": "fancheng.rgw.control","gc_pool": "fancheng.rgw.log:gc","lc_pool": "fancheng.rgw.log:lc","log_pool": "fancheng.rgw.log","intent_log_pool": "fancheng.rgw.log:intent","usage_log_pool": "fancheng.rgw.log:usage","reshard_pool": "fancheng.rgw.log:reshard","user_keys_pool": "fancheng.rgw.meta:users.keys","user_email_pool": "fancheng.rgw.meta:users.email","user_swift_pool": "fancheng.rgw.meta:users.swift","user_uid_pool": "fancheng.rgw.meta:users.uid","system_key": {"access_key": "","secret_key": ""},"placement_pools": [{"key": "default-placement","val": {"index_pool": "fancheng.rgw.buckets.index","data_pool": "fancheng.rgw.buckets.data","data_extra_pool": "fancheng.rgw.buckets.non-ec","index_type": 0,"compression": ""}}],"metadata_heap": "","tier_config": [],"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" }
2.8 为zone创建一个系统账号
[root@ceph5 ~]# radosgw-admin user create --uid syncuser --display-name "sync user" --system
{"user_id": "syncuser","display_name": "sync user","email": "","suspended": 0,"max_buckets": 1000,"auid": 0,"subusers": [],"keys": [{"user": "syncuser","access_key": "42Y4FBWY5VDCRLG9GDM8","secret_key": "BiGRHcqL03RFoFWAbymFZj6xDQAXYFVb60cIzvav"}],"swift_keys": [],"caps": [],"op_mask": "read, write, delete","system": "true","default_placement": "","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" }
2.9 修改zone绑定这个用户
[root@ceph5 ~]# radosgw-admin zone modify --rgw-zonegroup xiangyang --rgw-zone fancheng --access 42Y4FBWY5VDCRLG9GDM8 --secret BiGRHcqL03RFoFWAbymFZj6xDQAXYFVb60cIzvav
{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","domain_root": "fancheng.rgw.meta:root","control_pool": "fancheng.rgw.control","gc_pool": "fancheng.rgw.log:gc","lc_pool": "fancheng.rgw.log:lc","log_pool": "fancheng.rgw.log","intent_log_pool": "fancheng.rgw.log:intent","usage_log_pool": "fancheng.rgw.log:usage","reshard_pool": "fancheng.rgw.log:reshard","user_keys_pool": "fancheng.rgw.meta:users.keys","user_email_pool": "fancheng.rgw.meta:users.email","user_swift_pool": "fancheng.rgw.meta:users.swift","user_uid_pool": "fancheng.rgw.meta:users.uid","system_key": {"access_key": "","secret_key": "BiGRHcqL03RFoFWAbymFZj6xDQAXYFVb60cIzvav"},"placement_pools": [{"key": "default-placement","val": {"index_pool": "fancheng.rgw.buckets.index","data_pool": "fancheng.rgw.buckets.data","data_extra_pool": "fancheng.rgw.buckets.non-ec","index_type": 0,"compression": ""}}],"metadata_heap": "","tier_config": [],"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" }
[root@ceph5 ~]# radosgw-admin zonegroup get --rgw-zonegroup xiangyang
{"id": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","name": "xiangyang","api_name": "xiangyang","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","zones": [{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","endpoints": ["http://ceph5.lab.example.com"],"log_meta": "false","log_data": "false","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" }
2.10 查看用户
[root@ceph5 ~]# radosgw-admin user list
[root@ceph5 ~]# radosgw-admin user list --rgw-zonegroup default --rgw-zone default
2.11 实施刷盘操作,更新period
[root@ceph5 ~]# radosgw-admin period update --commit
{"id": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","epoch": 1,"predecessor_uuid": "55fafff6-9c4c-4d54-8801-ad48861221a1","sync_status": [],"period_map": {"id": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","zonegroups": [{"id": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","name": "xiangyang","api_name": "xiangyang","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","zones": [{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","endpoints": ["http://ceph5.lab.example.com"],"log_meta": "false","log_data": "false","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba"}],"short_zone_ids": [{"key": "b337a562-5921-46fc-aad2-e70e99454e5f","val": 557238113}]},"master_zonegroup": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","period_config": {"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}},"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba","realm_name": "hubei","realm_epoch": 2 }
[root@ceph5 ~]# ceph osd pool ls
2.12 更新配置文件并重启
[root@ceph5 ~]# vim /etc/ceph/backup.conf
[root@ceph5 ~]# systemctl restart ceph-radosgw@rgw.ceph5
为当前zone创建用户
[root@ceph5 ~]# radosgw-admin user create --uid joy --display-name "Joy Ning" --subuser joy:swift
{"user_id": "joy","display_name": "Joy Ning","email": "","suspended": 0,"max_buckets": 1000,"auid": 0,"subusers": [{"id": "joy:swift","permissions": "<none>"}],"keys": [{"user": "joy","access_key": "4YGLC3480T3Z5ZRY3UHG","secret_key": "UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB"}],"swift_keys": [{"user": "joy:swift","secret_key": "ofbO1nZ1vqUHQwdNuyUd6zLLYhlbiDxMCILfbJoL"}],"caps": [],"op_mask": "read, write, delete","default_placement": "","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" } [root@ceph5 ~]# radosgw-admin user create --uid joy --display-name "Joy Ning" [root@ceph5 ~]# radosgw-admin subuser create --uid joy --display-name "Joy Ning" --subuser joy:swift
三、测试
3.1 修改为full
[root@ceph5 ~]# radosgw-admin subuser modify --uid joy --display-name "Joy Ning" --subuser joy:swift --access full
{"user_id": "joy","display_name": "Joy Ning","email": "","suspended": 0,"max_buckets": 1000,"auid": 0,"subusers": [{"id": "joy:swift","permissions": "full-control"}],"keys": [{"user": "joy","access_key": "4YGLC3480T3Z5ZRY3UHG","secret_key": "UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB"}],"swift_keys": [{"user": "joy:swift","secret_key": "ofbO1nZ1vqUHQwdNuyUd6zLLYhlbiDxMCILfbJoL"}],"caps": [],"op_mask": "read, write, delete","default_placement": "","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" }
3.2 客户端测试
[root@ceph1 ~]# swift -A http://ceph5.lab.example.com/auth/v1.0 -U joy:swift -K ofbO1nZ1vqUHQwdNuyUd6zLLYhlbiDxMCILfbJoL list [root@ceph1 ~]# swift -A http://ceph5.lab.example.com/auth/v1.0 -U joy:swift -K ofbO1nZ1vqUHQwdNuyUd6zLLYhlbiDxMCILfbJoL post testswift [root@ceph1 ~]# swift -A http://ceph5.lab.example.com/auth/v1.0 -U joy:swift -K ofbO1nZ1vqUHQwdNuyUd6zLLYhlbiDxMCILfbJoL upload testswift /etc/ceph/ceph.client.rbd.keyring etc/ceph/ceph.client.rbd.keyring
3.3 服务端
出现元数据和数据的池
[root@ceph5 ~]# ceph osd pool ls
[root@ceph5 ~]# rados -p fancheng.rgw.buckets.data ls --cluster backup
四 、ceph2配置secondary域
4.1 拉取realm
[root@ceph2 ~]# radosgw-admin realm pull --url http://ceph5.lab.example.com --access-key 4YGLC3480T3Z5ZRY3UHG --secret UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB
2019-03-26 11:37:03.055756 7f1974483c40 1 error read_lastest_epoch .rgw.root:periods.1c6ccdef-ca02-44b5-b212-ba68acbd6aad.latest_epoch 2019-03-26 11:37:03.075671 7f1974483c40 1 Set the period's master zonegroup 5acbb712-0f7f-4108-8d93-ea75a19e33b3 as the default {"id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba","name": "hubei","current_period": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","epoch": 2 }
[root@ceph2 ~]# radosgw-admin realm list
[root@ceph2 ~]# radosgw-admin zonegroup get --rgw-realm hubei
{"id": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","name": "xiangyang","api_name": "xiangyang","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","zones": [{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","endpoints": ["http://ceph5.lab.example.com"],"log_meta": "false","log_data": "false","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" }
4.2 拉取period
[root@ceph2 ~]# radosgw-admin period pull --url http://ceph5.lab.example.com --access-key 4YGLC3480T3Z5ZRY3UHG --secret UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB
2019-03-26 11:47:05.406374 7f3dc85c7c40 1 found existing latest_epoch 1 >= given epoch 1, returning r=-17 {"id": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","epoch": 1,"predecessor_uuid": "55fafff6-9c4c-4d54-8801-ad48861221a1","sync_status": [],"period_map": {"id": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","zonegroups": [{"id": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","name": "xiangyang","api_name": "xiangyang","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","zones": [{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","endpoints": ["http://ceph5.lab.example.com"],"log_meta": "false","log_data": "false","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba"}],"short_zone_ids": [{"key": "b337a562-5921-46fc-aad2-e70e99454e5f","val": 557238113}]},"master_zonegroup": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","period_config": {"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}},"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba","realm_name": "hubei","realm_epoch": 2 }
period
4.3 创建Secondary Zone
[root@ceph2 ~]# radosgw-admin zone create --rgw-zonegroup xiangyang --rgw-zone xiantao --endpoints http://ceph2.lab.example.com --default --access-key 4YGLC3480T3Z5ZRY3UHG --secret UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB
2019-03-26 11:49:47.924379 7f7d2758cc40 0 failed reading obj info from .rgw.root:zone_info.b337a562-5921-46fc-aad2-e70e99454e5f: (2) No such file or directory 2019-03-26 11:49:47.924419 7f7d2758cc40 0 WARNING: could not read zone params for zone id=b337a562-5921-46fc-aad2-e70e99454e5f name=fancheng {"id": "b012d15d-a83c-4553-9ec3-09bf45d4a67b","name": "xiantao","domain_root": "xiantao.rgw.meta:root","control_pool": "xiantao.rgw.control","gc_pool": "xiantao.rgw.log:gc","lc_pool": "xiantao.rgw.log:lc","log_pool": "xiantao.rgw.log","intent_log_pool": "xiantao.rgw.log:intent","usage_log_pool": "xiantao.rgw.log:usage","reshard_pool": "xiantao.rgw.log:reshard","user_keys_pool": "xiantao.rgw.meta:users.keys","user_email_pool": "xiantao.rgw.meta:users.email","user_swift_pool": "xiantao.rgw.meta:users.swift","user_uid_pool": "xiantao.rgw.meta:users.uid","system_key": {"access_key": "4YGLC3480T3Z5ZRY3UHG","secret_key": "UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB"},"placement_pools": [{"key": "default-placement","val": {"index_pool": "xiantao.rgw.buckets.index","data_pool": "xiantao.rgw.buckets.data","data_extra_pool": "xiantao.rgw.buckets.non-ec","index_type": 0,"compression": ""}}],"metadata_heap": "","tier_config": [],"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" }
zone-new
[root@ceph2 ~]# radosgw-admin zonegroup get --rgw-realm hubei --rgw-zonegroup
parse error setting 'rgw_zonegroup' to '' (Option --rgw-zonegroup requires an argument. ){"id": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","name": "xiangyang","api_name": "xiangyang","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","zones": [{"id": "b012d15d-a83c-4553-9ec3-09bf45d4a67b","name": "xiantao","endpoints": ["http://ceph2.lab.example.com"],"log_meta": "false","log_data": "true","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []},{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","endpoints": ["http://ceph5.lab.example.com"],"log_meta": "false","log_data": "true","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" }
[root@ceph5 ~]# radosgw-admin zone modify --rgw-zonegroup xiangyang --rgw-zone fancheng --endpoints http://ceph5.lab.example.com
{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","domain_root": "fancheng.rgw.meta:root","control_pool": "fancheng.rgw.control","gc_pool": "fancheng.rgw.log:gc","lc_pool": "fancheng.rgw.log:lc","log_pool": "fancheng.rgw.log","intent_log_pool": "fancheng.rgw.log:intent","usage_log_pool": "fancheng.rgw.log:usage","reshard_pool": "fancheng.rgw.log:reshard","user_keys_pool": "fancheng.rgw.meta:users.keys","user_email_pool": "fancheng.rgw.meta:users.email","user_swift_pool": "fancheng.rgw.meta:users.swift","user_uid_pool": "fancheng.rgw.meta:users.uid","system_key": {"access_key": "","secret_key": "BiGRHcqL03RFoFWAbymFZj6xDQAXYFVb60cIzvav"},"placement_pools": [{"key": "default-placement","val": {"index_pool": "fancheng.rgw.buckets.index","data_pool": "fancheng.rgw.buckets.data","data_extra_pool": "fancheng.rgw.buckets.non-ec","index_type": 0,"compression": ""}}],"metadata_heap": "","tier_config": [],"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" }
4.4 更新period
[root@ceph5 ~]# radosgw-admin period update --commit
{"id": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","epoch": 2,"predecessor_uuid": "55fafff6-9c4c-4d54-8801-ad48861221a1","sync_status": [],"period_map": {"id": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","zonegroups": [{"id": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","name": "xiangyang","api_name": "xiangyang","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","zones": [{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","endpoints": ["http://ceph5.lab.example.com"],"log_meta": "false","log_data": "false","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba"}],"short_zone_ids": [{"key": "b337a562-5921-46fc-aad2-e70e99454e5f","val": 557238113}]},"master_zonegroup": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","period_config": {"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}},"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba","realm_name": "hubei","realm_epoch": 2 }
View Code
[root@ceph2 ~]# ceph auth get-or-create client.rgw.ceph2 mon 'allow rwx' osd 'allow rwx' -o /etc/ceph/ceph.client.radosgw.keyring --cluster ceph
[root@ceph2 ~]# ceph osd pool ls
发现没有成功,重新拉取一遍
4.5 删除relam
[root@ceph2 ~]# radosgw-admin zonegroup delete --rgw-zonegroup xiangyang
[root@ceph2 ~]# radosgw-admin realm delete --rgw-realm hubei
[root@ceph2 ~]# radosgw-admin zone delete --rgw-zone xiantao
[root@ceph2 ~]# radosgw-admin realm list
4.6 重新拉取
[root@ceph2 ~]# radosgw-admin realm pull --url http://ceph5.lab.example.com --access-key 4YGLC3480T3Z5ZRY3UHG --secret UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB 2019-03-26 13:28:24.324288 7f00bbc65c40 1 Set the period's master zonegroup 5acbb712-0f7f-4108-8d93-ea75a19e33b3 as the default {"id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba","name": "hubei","current_period": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","epoch": 2 }[root@ceph2 ~]# radosgw-admin period pull --url http://ceph5.lab.example.com --access-key 4YGLC3480T3Z5ZRY3UHG --secret UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB {"id": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","epoch": 5,"predecessor_uuid": "55fafff6-9c4c-4d54-8801-ad48861221a1","sync_status": [],"period_map": {"id": "1c6ccdef-ca02-44b5-b212-ba68acbd6aad","zonegroups": [{"id": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","name": "xiangyang","api_name": "xiangyang","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","zones": [{"id": "b337a562-5921-46fc-aad2-e70e99454e5f","name": "fancheng","endpoints": ["http://ceph5.lab.example.com"],"log_meta": "false","log_data": "false","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba"}],"short_zone_ids": [{"key": "b337a562-5921-46fc-aad2-e70e99454e5f","val": 557238113}]},"master_zonegroup": "5acbb712-0f7f-4108-8d93-ea75a19e33b3","master_zone": "b337a562-5921-46fc-aad2-e70e99454e5f","period_config": {"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}},"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba","realm_name": "hubei","realm_epoch": 2 }2019-03-26 13:28:54.816633 7efd7ebf8c40 1 found existing latest_epoch 5 >= given epoch 5, returning r=-17 [root@ceph2 ~]# radosgw-admin zone create --rgw-zonegroup xiangyang --rgw-zone xiantao --endpoints http://ceph2.lab.example.com --default --access-key 4YGLC3480T3Z5ZRY3UHG --secret UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB 2019-03-26 13:30:01.076567 7fb699f77c40 0 failed reading obj info from .rgw.root:zone_info.b337a562-5921-46fc-aad2-e70e99454e5f: (2) No such file or directory 2019-03-26 13:30:01.076625 7fb699f77c40 0 WARNING: could not read zone params for zone id=b337a562-5921-46fc-aad2-e70e99454e5f name=fancheng {"id": "09ece789-b2fc-4379-8c60-d37811074216","name": "xiantao","domain_root": "xiantao.rgw.meta:root","control_pool": "xiantao.rgw.control","gc_pool": "xiantao.rgw.log:gc","lc_pool": "xiantao.rgw.log:lc","log_pool": "xiantao.rgw.log","intent_log_pool": "xiantao.rgw.log:intent","usage_log_pool": "xiantao.rgw.log:usage","reshard_pool": "xiantao.rgw.log:reshard","user_keys_pool": "xiantao.rgw.meta:users.keys","user_email_pool": "xiantao.rgw.meta:users.email","user_swift_pool": "xiantao.rgw.meta:users.swift","user_uid_pool": "xiantao.rgw.meta:users.uid","system_key": {"access_key": "4YGLC3480T3Z5ZRY3UHG","secret_key": "UuHLN9nlTofwez8Nz0RVJ60Vl6v6zGVJtjLP04pB"},"placement_pools": [{"key": "default-placement","val": {"index_pool": "xiantao.rgw.buckets.index","data_pool": "xiantao.rgw.buckets.data","data_extra_pool": "xiantao.rgw.buckets.non-ec","index_type": 0,"compression": ""}}],"metadata_heap": "","tier_config": [],"realm_id": "d4668fc2-ceed-4eb2-a5e7-a70c2aa7deba" } [root@ceph2 ~]# cd /etc/ceph/ [root@ceph2 ceph]# rm -rf ceph.client.radosgw.keyring [root@ceph2 ceph]# ceph auth get-or-create client.rgw.ceph2 mon 'allow rwx' osd 'allow rwx' -o /etc/ceph/ceph.client.radosgw.keyring --cluster ceph [root@ceph2 ceph]# ceph osd pool ls testpool rbd rbdmirror .rgw.root default.rgw.control default.rgw.meta default.rgw.log xiantao.rgw.control xiantao.rgw.meta xiantao.rgw.log
五、迁移Single-Zone至Multi-Zone
5.1 查看
[root@ceph1 ~]# swift -A http://ceph5.lab.example.com/auth/v1.0 -U joy:swift -K ofbO1nZ1vqUHQwdNuyUd6zLLYhlbiDxMCILfbJoL list
[root@ceph1 ~]# swift -A http://ceph5.lab.example.com/auth/v1.0 -U joy:swift -K ofbO1nZ1vqUHQwdNuyUd6zLLYhlbiDxMCILfbJoL list testswift
5.2 ceph5把default的zone添加到一个realm
[root@ceph5 ~]# radosgw-admin realm list
[root@ceph5 ~]# radosgw-admin zonegroup list
5.3 为default创建一个新的zonegroup
[root@ceph5 ~]# radosgw-admin realm create --rgw-realm realmnew
5.4 修改default的realm,设置为master
[root@ceph5 ~]# radosgw-admin zonegroup modify --rgw-realm realmnew --rgw-zonegroup default --master
{"id": "e80133e1-a513-44f5-ba90-e25b6c987b26","name": "default","api_name": "","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "1b85c5b1-19d2-48a1-bb45-3ac75895aeed","zones": [{"id": "1b85c5b1-19d2-48a1-bb45-3ac75895aeed","name": "default","endpoints": [],"log_meta": "false","log_data": "false","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "de918d45-d763-416d-af0a-0350b1339ca1" }
[root@ceph5 ~]# radosgw-admin zone modify --rgw-zonegroup default --rgw-zone default --master --endpoints http://ceph5.lab.example.com
{"id": "1b85c5b1-19d2-48a1-bb45-3ac75895aeed","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","system_key": {"access_key": "","secret_key": ""},"placement_pools": [{"key": "default-placement","val": {"index_pool": "default.rgw.buckets.index","data_pool": "default.rgw.buckets.data","data_extra_pool": "default.rgw.buckets.non-ec","index_type": 0,"compression": ""}}],"metadata_heap": "","tier_config": [],"realm_id": "" }
5.5 创建一个系统用户
[root@ceph5 ~]# radosgw-admin user create --uid syncuser1 --display-name "sync user" --rgw-zonegroup default --rgw-zone default
{"user_id": "syncuser1","display_name": "sync user","email": "","suspended": 0,"max_buckets": 1000,"auid": 0,"subusers": [],"keys": [{"user": "syncuser1","access_key": "MIVNCAI762F49VPRAFDF","secret_key": "kHJSrkBxpVQJsCOy2sV4P9ElmzTkjcPX81R6hycR"}],"swift_keys": [],"caps": [],"op_mask": "read, write, delete","default_placement": "","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" }
5.6 将master-zone与系统用户关联
[root@ceph5 ~]# radosgw-admin zone modify --rgw-zonegroup default --rgw-zone default --master --endpoints http://ceph5.lab.example.com --access-key MIVNCAI762F49VPRAFDF --secret kHJSrkBxpVQJsCOy2sV4P9ElmzTkjcPX81R6hycR
{"id": "1b85c5b1-19d2-48a1-bb45-3ac75895aeed","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","system_key": {"access_key": "MIVNCAI762F49VPRAFDF","secret_key": "kHJSrkBxpVQJsCOy2sV4P9ElmzTkjcPX81R6hycR"},"placement_pools": [{"key": "default-placement","val": {"index_pool": "default.rgw.buckets.index","data_pool": "default.rgw.buckets.data","data_extra_pool": "default.rgw.buckets.non-ec","index_type": 0,"compression": ""}}],"metadata_heap": "","tier_config": [],"realm_id": "" }
5.7 提交新的配置
[root@ceph5 ~]# radosgw-admin period update --commit --rgw-zonegroup default --rgw-zone default --rgw-realm realmnew
2019-03-26 13:50:39.137059 7fd1dd9cec40 1 Set the period's master zonegroup e80133e1-a513-44f5-ba90-e25b6c987b26 as the default {"id": "152a15c4-d0f7-4bd1-93db-fc1f8655b741","epoch": 1,"predecessor_uuid": "0daf85ed-732b-4f0f-8f58-a3f8ef1e996e","sync_status": [],"period_map": {"id": "152a15c4-d0f7-4bd1-93db-fc1f8655b741","zonegroups": [{"id": "e80133e1-a513-44f5-ba90-e25b6c987b26","name": "default","api_name": "","is_master": "true","endpoints": [],"hostnames": [],"hostnames_s3website": [],"master_zone": "1b85c5b1-19d2-48a1-bb45-3ac75895aeed","zones": [{"id": "1b85c5b1-19d2-48a1-bb45-3ac75895aeed","name": "default","endpoints": ["http://ceph5.lab.example.com"],"log_meta": "false","log_data": "false","bucket_index_max_shards": 0,"read_only": "false","tier_type": "","sync_from_all": "true","sync_from": []}],"placement_targets": [{"name": "default-placement","tags": []}],"default_placement": "default-placement","realm_id": "de918d45-d763-416d-af0a-0350b1339ca1"}],"short_zone_ids": [{"key": "1b85c5b1-19d2-48a1-bb45-3ac75895aeed","val": 422091396}]},"master_zonegroup": "e80133e1-a513-44f5-ba90-e25b6c987b26","master_zone": "1b85c5b1-19d2-48a1-bb45-3ac75895aeed","period_config": {"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}},"realm_id": "de918d45-d763-416d-af0a-0350b1339ca1","realm_name": "realmnew","realm_epoch": 2 }
5.8 修改配置文件使生效
[root@ceph5 ~]# vim /etc/ceph/backup.conf
fsid = 51dda18c-7545-4edb-8ba9-27330ead81a7 mon_initial_members = ceph5 mon_host = 172.25.250.14 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx public_network = 172.25.250.0/24 cluster_network = 172.25.250.0/24 [mgr] mgr modules = dashboard [client.rgw.ceph5] host = ceph5 keyring = /etc/ceph/backup.client.rgw.ceph5.keyring rgw_frontends = civetweb port=80 num_threads=100 log = /var/log/ceph/$cluster.$name.log rgw_dns_name = ceph5.lab.example.com rgw_zone = default rgw_region = realmnew rgw_zonegroup = default
[root@ceph5 ~]# systemctl restart ceph-radosgw@rgw.ceph5
[root@ceph5 ~]# ps -ef|grep rados
博主声明:本文的内容来源主要来自誉天教育晏威老师,由本人实验完成操作验证,需要的博友请联系誉天教育(http://www.yutianedu.com/),获得官方同意或者晏老师(https://www.cnblogs.com/breezey/)本人同意即可转载,谢谢!
转载于:https://www.cnblogs.com/zyxnhr/p/10599990.html
012 Ceph多区域网关相关推荐
- ceph 面试_终于有人把Ceph分布式存储讲清楚了!
Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用.RedHat及OpenStac ...
- Ceph分布式存储详述
参考文章:Ceph分布式存储详述 - 知乎 什么是Ceph分布式存储? Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目 ...
- 使用cephadm安装ceph octopus
微信公众号:运维开发故事,作者:wanger 前提条件 Cephadm使用容器和systemd安装和管理Ceph集群,并与CLI和仪表板GUI紧密集成. cephadm仅支持octopus v15.2 ...
- Ceph 认证授权和RBD块存储、对象存储使用(三)
RBD块存储 RBD介绍 1.RBD是Ceph分布式集群中最常用的存储类型 2.块是一个有序字节,普通的一个块大小为512字节,基于块的存储是最常见的存储方式,比如常见的硬盘.软盘和CD光盘等,都是存 ...
- Ceph分布式存储(架构 配置与使用 原理 性能调优)
Ceph分布式存储 Ceph分布式存储 1. Ceph概述 1.1 背景 1.2 介绍 1.3 特点 1.4 分布式存储系统横纵对比 2. Ceph架构设计 2.1 Ceph整体设计 2.2 逻辑架构 ...
- 了解Ceph 分布式存储
内容概括 1.存储发展史 随着Open Stack的快速发展,给Caph的发展注入了强心剂,越来越多的人使用Ceph作为Open Stack的底层共享存储,Ceph在中国的社区也蓬勃发展起来.近两年O ...
- 云存储---ceph简介架构原理和一些基本概念
我们在上篇文章已经对比了不同的存储系统之间的区别,本章开始逐步深入记录Ceph的学习和运用. 开源分布式存储系统的对比 Ceph简介 Ceph是一个分布式存储系统,提供对象,块和文件存储,是一个免费开 ...
- CEPH离线部署(纯内网)
微信公众号:运维开发故事,作者:wanger 制作离线安装包 首先我们需要在有网的环境下缓存需要用到的deb包和docker镜像 安装docker-ce curl -sSL https://get.d ...
- ceph的数据存储之路(10) -----ceph对象存储的ls命令实现及思考
2019独角兽企业重金招聘Python工程师标准>>> 更新:2016-10-19--------------------------------------- 前面更新的内容可能略 ...
- 手动部署ceph octopus集群
基础配置 三台环境为centos7.9,以下配置需要在每台机器上执行 配置hosts解析 cat >> /etc/hosts <<EOF 192.168.2.16 node1 ...
最新文章
- springboot2.3.4集成EhCache缓存框架完整代码
- 系统间数据交互注意项
- 关于 redis、memcache、mongoDB 的对比
- Google浏览器截长图 不需要借助任何插件!!!
- 关于工业交换机技术的简单总结
- 像git一样管理数据,高效的数据管理平台TensorBay来了!
- 深度强化学习-DDPG算法原理和实现
- 15 设置系统分词器
- 计算机 外存储能直接被cpu处理??,cpu可直接处理外存上的信息吗?_常见问题解析...
- 常见OJ提交结果对照表
- 2021年中国工业机器视觉行业产业链分析:人工智能时代带动行业发展[图]
- Latex:大于等于号和小于等于号
- 资产管理计划份额转让研究(大资管长文)
- 程序员如何保护自己的颈椎?颈椎操
- pod容器发生OOM错误(by quqi99)
- Python实现自动录制虎牙直播
- java 修改图片分辨率_java 修改图片的像素大小,清晰度
- 用matlab如何拟合曲线,用MATLAB怎么实现曲线拟合?
- 视频流媒体播放器EasyPlayer-RTSP-Android 如何随意切换播放视频流?
- QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)