1、前言
原始需求是在使用cephfs的时候,部署完mds服务之后,比如部署了3个mds服务,但是由于某种原因不需要3个,或者想更换mds服务所在节点时,就需要用到彻底删除某个节点上的mds服务了。
下面记录下过程。
2、准备测试环境
2.1、准备测试集群
我是基于L版本做的实验。两个mds(主备模式):
[root@ceph02 ~]# ceph -s
cluster:
id: 9de7d2fb-245a-4b9c-8c1f-b452110fb61f
health: HEALTH_OK
services:
mon: 1 daemons, quorum ceph01
mgr: ceph01(active)
mds: cephfs-1/1/1 up {0=ceph02=up:active}, 1 up:standby
osd: 3 osds: 3 up, 3 in
data:
pools: 4 pools, 48 pgs
objects: 21 objects, 2.19KiB
usage: 1.24GiB used, 43.7GiB / 45.0GiB avail
pgs: 48 active+clean
2.2、准备测试数据
挂载kc,并写点数据进入:
[root@ceph02 ~]# mount -t ceph 192.168.10.20:/ /mnt/
[root@ceph02 ~]# cp anaconda-ks.cfg /mnt/
[root@ceph02 ~]# cat /mnt/anaconda-ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
···
3、删除mds服务
3.1、删除备mds
1、停止mds服务
[root@ceph02 ~]# systemctl stop ceph-mds@ceph02
2、删除该mds在集群里面的认证信息
[root@ceph02 ~]# ceph auth del mds.ceph02
3、禁用该mds服务(如果没有此步骤,下次开机时会自动启动该mds服务)
[root@ceph02 ~]# systemctl disable ceph-mds@ceph02
Removed symlink /etc/systemd/system/ceph-mds.target.wants/ceph-mds@ceph02.service.
4、删除该mds服务的相关数据
[root@ceph02 ~]# rm -rf /var/lib/ceph/mds/ceph-ceph02
5、查看集群状态正常
[root@ceph02 ~]# ceph -s
cluster:
id: 9de7d2fb-245a-4b9c-8c1f-b452110fb61f
health: HEALTH_WARN
insufficient standby MDS daemons available
services:
mon: 1 daemons, quorum ceph01
mgr: ceph01(active)
mds: cephfs-1/1/1 up {0=ceph01=up:active}
osd: 3 osds: 3 up, 3 in
data:
pools: 4 pools, 48 pgs
objects: 22 objects, 8.95KiB
usage: 1.24GiB used, 43.7GiB / 45.0GiB avail
pgs: 48 active+clean
3.2、删除主mds服务
和删除备mds服务步骤一样,没什么区别。
4、新增mds服务
好了,上面我们把最开始的两个mds服务都删除了。那现在可以在其他节点上新建mds服务了(如果还想在老的mds节点上部署mds服务也可以):
[root@ceph01 ceph-deploy]# ceph-deploy mds create ceph01
ok,现在cephfs应该恢复访问了。
[root@ceph02 ~]# ll /mnt/
total 1
-rw------- 1 root root 1021 Apr 8 17:36 anaconda-ks.cfg
5、总结
删除mds服务主要步骤:
- 停止mds服务:systemctl stop ceph-mds@
hostname -s
- 删除key信息:ceph auth del mds.
hostname -s
- 去掉开机自启:systemctl disable ceph-mds@
hostname -s
- 删除mds数据目录:rm -rf /var/lib/ceph/mds/ceph-
hostname -s