其他分享
首页 > 其他分享> > Ceph mds高可用

Ceph mds高可用

作者:互联网

mds_standby_replay:值为ture或false,true表示开启replay模式,这种模式下主MDS内的数量将实时与从MDS同步,如果主宕机,从可以快速的切换,如果为false只有宕机的时候采取同步数据,这样会有一段时间的中断。

mds_standby_for_name:设置当前MDS进程只用于备份宇指定名称的MDS。

mds_standby_for_rank:设置当前MDS进程只用于备份于哪个Rank(上级节点),通常为Rank编号。另外在存在多个CephFS文件系统中,还可以使用mds_standby_for_fscid参数来为指定不同的文件系统。

mds_standby_for_fscid:指定CephFS文件系统ID,需要联合mds_standby_for_rank生效,如果设置mds_standby_for_rank,那么就是用于指定文件系统的指定Rank,如果没有设置,就是指定文件系统的所有Rank。

 

当前的mds状态

ceph mds stat

现在是mgr1上装的mds,在mgr2、mon2、mon3都装上ceph-mds服务

apt install ceph-mds -y

在deploy添加mds服务

ceph-deploy --overwrite-conf mds create ceph-mgr2
ceph-deploy --overwrite-conf mds create ceph-mon2
ceph-deploy --overwrite-conf mds create ceph-mon3

这样就可以看到一个主多个备了

查看当前文件系统状态,可以看到max_mds是1

ceph fs get my cephfs

 设置处于激活状态mds的数量并查看

ceph fs set mycephfs max_mds 2
ceph fs get mycephfs
ceph mds stat
ceph fs status

MDS高可用优化

我现在是mgr1和mgr2节点是主节点,让mon2成为mgr1的备节点,mon3成为mgr2的备节点

修改ceph配置

vim /etc/ceph/ceph.conf
[mds.ceph-mgr1]
mds_standby_for_name = ceph-mon2
mds_standby_replay = true

[mds.ceph-mgr2]
mds_standby_for_name = ceph-mon3
mds_standby_replay = true

[mds.ceph-mon2]
mds_standby_for_name = ceph-mgr1
mds_standby_replay = true

[mds.ceph-mon3]
mds_standby_for_name = ceph-mgr2
mds_standby_replay = true

把配置文件推送到mgr1 mgr2 mon3 mon3

ceph-deploy --overwrite-conf config push ceph-mon3
ceph-deploy --overwrite-conf config push ceph-mon2
ceph-deploy --overwrite-conf config push ceph-mgr1
ceph-deploy --overwrite-conf config push ceph-mgr2

重启服务

systemctl restart ceph-mds@ceph-mon2.service # mon2
systemctl restart ceph-mds@ceph-mon3.service # mon3
systemctl restart ceph-mds@ceph-mgr2.service # mgr2
systemctl restart ceph-mds@ceph-mgr1.service # mgr1

 

重启之后在查看下。可以看到mon2成为主了

ceph fs status

我把mon2停掉,mgr就成主了

systemctl stop ceph-mds@ceph-mon2.service # mon2

在把mon2起来,mon2就成备了

systemctl start ceph-mds@ceph-mon2.service # mon2

标签:mgr2,ceph,可用,standby,Ceph,mon2,mon3,mds
来源: https://www.cnblogs.com/zyyang1993/p/16671591.html