rbd mirror功能验证
博客专区 > 25641463 的博客 > 博客详情
rbd mirror功能验证
25641463 发表于2年前
rbd mirror功能验证
  • 发表于 2年前
  • 阅读 61
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: 概述:rbd-mirror功能作为备份功能,可以将主集群的数据镜像到备份集群。目前只支持一个主集群对一个镜像集群,每个集群只能执行1个rbd-mirror进程。后续社区会开发一对多的集群备份功能及多个rbd-mirror进程并发备份

一.环境搭建

     1.创建2个ceph集群。本文将主集群称为local集群,备份集群称为remote集群

     2.将主ceph集群中的ceph.conf和ceph.client.admin.keyring改名为local.conf和local.client.admin.keyring;备份 集群的ceph.conf和ceph.client.admin.keyring 改为remote.conf和remote.client.admin.keyring。

     3.将主集群的local.conf和local.client.admin.keyring拷贝到备份集群的/etc/ceph 。同样,将备份集群的两个remote*文件拷贝到主集群的/etc/ceph。

     4.修改两个集群的rbd特性,在local.conf和remote.conf中设置rbd_default_features=125

二.mirror设置

     5.启动rbd镜像进程,主力--setuser和--setgroup参数需要根据local.conf和remote.conf的组和用户属性来确定。

         主集群执行:rbd-mirror -f --cluster remote --setuser root --setgroup root

         备份集群执行:rbd-mirror -f --cluster local --setuser root --setgroup root

     6.rbd-mirror支持对单个rbd或整个pool进行镜像,这里开启pool名为rbd的池镜像功能。注意,两个集群的rbd或pool的名字必须一致

        主集群执行:rbd --cluster local mirror pool enable rbd pool

        备份集群执行:rbd --cluster remote mirror pool enable rbd pool

     7.增加peer对

        主集群执行: rbd --cluster local mirror pool peer add rbd client.admin@remote

        备份集群执行: rbd --cluster remote mirror pool peer add rbd client.admin@local

  8.查询是否连接好

    主集群执行: rbd --cluster local mirror pool info

        备份集群执行:  rbd --cluster remote mirror pool info

三.验证镜像功能及数据一致性:

    1.在主集群执行 rbd create testrbd --size 40000。备份集群执行rbd --cluster remote ls可以看到创建的镜像。

  2.在主集群上挂载rbd并写入数据

        主集群执行:mkdir /mnt/rbd

                            mkdir /mnt/testrbd

                           rbd-fuse -c /etc/local.conf -p rbd /mnt/rbd

                           mkfs.ext4 /mnt/rbd/testrbd

                           mount /mnt/rbd/testrbd /mnt/testrbd

                           dd if=/dev/zero of=/mnt/testrbd/testfile bs=1M count=1000

                           sync

                           md5sum /mnt/testrbd/testfile

                           umount /mnt/testrbd/

                           umount /mnt/rbd

    3.将主集群pool降级,并升级备份集群pool,再挂载备份集群的rbd查看数据一致性(如果不升级备份集群,无法获取独占锁并使用rbd)。

       主集群执行:rbd --cluster local mirror image demote rbd/testrbd

       备份集群执行:rbd --cluster remote  mirror image promote rbd/testrbd

                           rbd-fuse -c /etc/remote.conf -p rbd /mnt/rbd

                           mount /mnt/rbd/testrbd /mnt/testrbd

                            md5sum /mnt/testrbd/testfile

四.其他有用的命令

    1.关闭pool的镜像功能 

    rbd --cluster local mirror pool disable rbd

    rbd --cluster remote mirror pool disable rbd

  2.删除peer关系

    先用rbd-mirror查看UUID

             rbd --cluster local mirror pool info

             rbd --cluster remote mirror pool info

       然后删除peer关系

            rbd --cluster local mirror pool peer remove image-pool remote-uuid号

            rbd --cluster remote mirror pool peer remove image-pool local-uuid号

五.性能及稳定性测试相关

     1.测试没开mirror功能及开mirror功能的性能是否有区别。

        由于集群规模较小,测试过程中没发现rbd mirror开启与关闭对读写性能有影响。

     2.测试开启mirror功能后持续写入数据是否对集群有影响。

        测试没发现异常现象。

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 7
博文 15
码字总数 8009
×
25641463
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: