这篇文章给大家分享的是有关分布式存储ceph如何实现对象存储配置zone同步的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一、架构:
Ceph天生带两地三中心概念,我们要去的双活就是两个数据中心,Ceph两数据中心可以在一个集群也可以在不同的集群中。
二,概念:
zone:包含多个RGW实例的一个逻辑概念。zone不能跨集群。同一个zone的数据保存在同一组pool中。
zonegroup:一个zonegroup如果包含1个或多个zone。如果一个zonegroup包含多个zone,必须指定 一个zone作为master zone,用来处理bucket和用户的创建。一个集群可以创建多个zonegroup,一个zonegroup也可以跨多个集群。
realm:一个realm包含1个或多个zonegroup。如果realm包含多个zonegroup,必须指定一个zonegroup为master zonegroup, 用来处理系统操作。一个系统中可以包含多个realm,多个realm之间资源完全隔离。
RGW多活方式是在同一zonegroup的多个zone之间进行,即同一zonegroup中多个zone之间的数据是完全一致的,用户可以通过任意zone读写同一份数据。 但是,对元数据的操作,比如创建桶、创建用户,仍然只能在master zone进行。对数据的操作,比如创建桶中的对象,访问对象等,可以在任意zone中 处理。
三、在Cluster1集群上配置master zone
-
创建realm
radosgw-admin realm create –rgw-realm=earth –default -
创建master zonegroup
先删除默认的zonegroup
radosgw-admin zonegroup delete –rgw-zonegroup=default创建一个为china的zonegroup
radosgw-admin zonegroup create –rgw-zonegroup=china –endpoints=ceph-1:7480 –master –default -
创建master zone
先删除默认的zone
adosgw-admin zone delete –rgw-zone=default创建一个为huabei的zone
radosgw-admin zone create –rgw-zonegroup=china –rgw-zone=huabei –endpoints=ceph-1:7480 –default –master -
创建一个system账户用于和huadong zone同步
radosgw-admin user create –uid="sync-user" –display-name="sync user" –system
-
用创建system账户产生的access 和secret更新zone配置
radosgw-admin zone modify –rgw-zone=huabei –access-key={access-key} –secret={secret} -
更新period
radosgw-admin period update –commit
-
配置ceph.conf
[client.rgw.ceph-1]
host = ceph-1
rgw frontends = "civetweb port=7480"
rgw_zone=huabei
四、在Cluster2集群上配置slave zone
-
从master zone拉取realm
radosgw-admin realm pull –url=ceph-2:7480 –access-key={access-key} –secret={secret}
注意:这里的access key 和secret是master zone上system 账户的access key和secret
-
拉取period
radosgw-admin period pull –url=ceph-2:7480 –access-key={access-key} –secret={secret}
注意:这里的access key 和secret是master zone上system 账户的access key和secret
-
创建slave zone
radosgw-admin zone create –rgw-zonegroup=china –rgw-zone=huadong /
–access-key={system-key} –secret={secret} /
–endpoints=ceph-2:7480
注意:这里的access key 和secret是master zone上system 账户的access key和secret
-
更新period
radosgw-admin period update –commit
注意:如果出现认证错误,重启master zone的实例服务
配置ceph.conf
[client.rgw.ceph-2]
host = ceph-2
rgw frontends = "civetweb port=7480"
rgw_zone=huadong
五、验证zone之间数据同步
-
在secondary zone节点执行
radosgw-admin sync status -
在master zone节点上创建用户
radosgw-admin user create –uid="testuser" –display-name="First User" -
用s3客户端 创建桶,并put 对象
注意: 在slave zone节点上也要创建相同的用户才会看到创建的桶,和上传的对象。
感谢各位的阅读!关于“分布式存储ceph如何实现对象存储配置zone同步”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/220413.html