分布式存储ceph对象存储配置zone同步的示例分析

这篇文章主要为大家展示了“分布式存储ceph对象存储配置zone同步的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“分布式存储ceph对象存储配置zone同步的示例分析”这篇文章吧。

创新互联公司为企业级客户提高一站式互联网+设计服务,主要包括网站建设、成都网站设计、成都App定制开发、微信小程序开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。 

一、架构:  

      Ceph天生带两地三中心概念,我们要去的双活就是两个数据中心,Ceph两数据中心可以在一个集群也可以在不同的集群中。

分布式存储ceph对象存储配置zone同步的示例分析

二,概念:       

     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

  1. 创建realm
    radosgw-admin realm create --rgw-realm=earth--default

  2. 创建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

  3. 创建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

  4. 创建一个system账户用于和huadongzone同步
    radosgw-admin user create --uid="sync-user" --display-name="sync user" --system
     

  5. 用创建system账户产生的access 和secret更新zone配置
    radosgw-admin zone modify --rgw-zone=huabei --access-key={access-key} --secret={secret}

  6. 更新period

    radosgw-admin period update --commit

  7.  配置ceph.conf

    [client.rgw.ceph-1]

        host = ceph-1

        rgw frontends = "civetweb port=7480"

        rgw_zone=huabei


四、在Cluster2集群上配置slave zone

  1. 从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

  2. 拉取period

    radosgw-admin period pull --url=ceph-2:7480 --access-key={access-key} --secret={secret}

    注意:这里的access key 和secret是master zone上system 账户的access key和secret

  3. 创建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

  4. 更新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之间数据同步

  1. 在secondary zone节点执行
    radosgw-admin sync status 

  2. 在master zone节点上创建用户
    radosgw-admin user create --uid="testuser" --display-name="First User"

  3. 用s3客户端 创建桶,并put 对象

    注意: 在slave zone节点上也要创建相同的用户才会看到创建的桶,和上传的对象。

以上是“分布式存储ceph对象存储配置zone同步的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


文章名称:分布式存储ceph对象存储配置zone同步的示例分析
网页链接:http://pwwzsj.com/article/jodojg.html