本文主要是介绍ceph学习(3)——rbd-mirror双机热备,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.概述
本文主要关注于rbd-mirror的使用以及使用过程中的遇到的问题
二.环境准备
ceph版本:14.2.16
服务器:3台centos7服务器(ceph1,ceph2,ceph3)
硬盘:每台服务器1块10GB以上硬盘做osd,分别搭建一个单副本集群测试环境。
三.单向备份:
将集群ceph1作为主集群,ceph2,ceph3作为从集群(备份集群),将主集群rbd存储池的所有镜像备份到从集群ceph2和ceph3的rbd存储池上
1.分发配置以及密钥
将集群ceph1的相关配置分发到集群ceph2上:
scp /etc/ceph/ceph.conf ceph2:/etc/ceph/peer1-ceph1.conf
scp /etc/ceph/ceph.client.admin.keyring ceph2:/etc/ceph/peer1-ceph1.client.admin.keyring
将集群ceph1的相关配置分发到集群ceph3上:
scp /etc/ceph/ceph.conf ceph3:/etc/ceph/peer1-ceph1.conf
scp /etc/ceph/ceph.client.admin.keyring ceph3:/etc/ceph/peer1-ceph1.client.admin.keyring
2.设置备份模式
开启存储池备份,我这里选择的是rbd存储池作为备份存储池,备份模式为pool(pool为存储池备份模式:当前存储中所有允许备份的镜像都会自动备份;image为镜像模式:当前存储池中只有开启备份的镜像才会自动备份),每个集群都需要执行这个命令允许备份:
rbd mirror pool enable rbd pool
3.添加伙伴集群
分别在ceph2和ceph3集群上执行,将ceph1加入到伙伴集群中:
rbd mirror pool peer add rbd client.admin@peer1-ceph1
4.开启备份服务
在ceph2,ceph3两个备份集群上开启备份服务,主集群ceph1上不需要开启此服务(单向备份只需在从集群上开启此服务,双向备份主从集群都需要开启此服务)。
systemctl start ceph-rbd-mirror@admin
5.测试镜像单向备份
在ceph1上创建测试镜像,在ceph2和ceph3上就可以看到同步的镜像了(注意:同步的镜像为从镜像,默认只有读权限,需要提权后才会有写权限rbd mirror image promote 存储池/镜像名)
四.双向备份
双向备份和单向备份原理一样,只是每个集群既是主集群又是从集群(备份集群)例如将ceph2作为主集群,ceph1,ceph3作为从集群:
1.分发配置以及密钥
将集群ceph2的相关配置分发到集群ceph1上:
scp /etc/ceph/ceph.conf ceph1:/etc/ceph/peer2-ceph2.conf
scp /etc/ceph/ceph.client.admin.keyring ceph1:/etc/ceph/peer2-ceph2.client.admin.keyring
将集群ceph2的相关配置分发到集群ceph3上:
scp /etc/ceph/ceph.conf ceph3:/etc/ceph/peer2-ceph2.conf
scp /etc/ceph/ceph.client.admin.keyring ceph3:/etc/ceph/peer2-ceph2.client.admin.keyring
2.后面的步骤基本和单向备份一样,只是要注意把peer1-ceph1.conf改为peer2-ceph2.conf,peer1-ceph1.client.admin.keyring改为peer2-ceph2.client.admin.keyring
五.常见问题
1.所有步骤都正确,但是镜像未能同步
可能的原因是镜像没有开启exclusive-lock和journaling特性,执行命令开启特性:
rbd feature enable 镜像名称 exclusive-lock
rbd feature enable 镜像名称 journaling
也可以在ceph.conf配置文件中配置默认所有镜像创建时就开启这两个特性
rbd_default_features = 69
这篇关于ceph学习(3)——rbd-mirror双机热备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!