超详细的ceph节点迁移(mon和mgr)

24 篇文章 1 订阅

ceph节点迁移

前置知识

  1. ceph组件

    mon、mgr、osd、rgw

    其中非常重要且有数据存储的为mon和osd组件

    对于mon和osd来说,迁移比较麻烦,但是对于其他组件来说因为是无状态的,因此迁移比较容易

mon节点的迁移

更换mon ip
  1. 获取mon map
  • 如果集群的ip还没有进行更换,那么可以将ceph mon map打印出来,记得ceph.conf需要修改

    ceph mon getmap -o monmap

    monmaptool --print monmap 查看对应的mon map信息

    monmaptool: monmap file map
    epoch 2
    fsid 35c74e3c-3dfd-4e55-b585-3409fc490112
    last_changed 2021-12-22T15:57:47.417657+0800
    created 2021-12-22T15:52:15.227984+0800
    min_mon_release 15 (octopus)
    0: v1:10.20.20.43:6789/0 mon.server166
    1: v1:10.20.20.45:6789/0 mon.server168
    2: v1:10.20.20.47:6789/0 mon.server171
    
    • 删除mon节点

      monmaptool --rm server166 --rm server168 --rm server171 monmap

    • 添加新的mon节点

      monmaptool --add server43 10.20.20.44:6789 --add server46 10.20.20.45:6789 --add server47 10.20.20.48:6789 /etc/ceph/monmap

  • 或者通过修改ceph.conf配置文件进行获取ceph mon map

    monmaptool --create --generate -c /etc/ceph/ceph.conf monmap

    monmaptool: monmap file monmap
    epoch 0
    fsid 35c74e3c-3dfd-4e55-b585-3409fc490112
    last_changed 2022-04-06T22:24:58.825188+0800
    created 2022-04-06T22:24:58.825188+0800
    min_mon_release 0 (unknown)
    0: [v2:10.20.20.43:3300/0,v1:10.20.20.43:6789/0] mon.noname-a
    1: [v2:10.20.20.45:3300/0,v1:10.20.20.45:6789/0] mon.noname-b
    2: [v2:10.20.20.47:3300/0,v1:10.20.20.47:6789/0] mon.noname-c
    

    这样的有一个缺陷:

    即看到mon的名字不是我们想要的,那么这时候可以进行修改

    • 删除自动生成的mon节点

      monmaptool --rm noname-a --rm noname-b --rm noname-c monmap

    • 添加新的mon节点

      monmaptool --add server43 10.20.20.44:6789 --add server45 10.20.20.46:6789 --add server47 10.20.20.48:6789 /etc/ceph/monmap

  1. 将mon map推送到各个节点上

  2. 暂停各个mon的服务

    systemctl stop ceph-mon@*.service

  3. 各个节点注入mon map

    ceph-mon -i {node name} --inject-monmap monmap

  4. 重启各个节点的mon服务

更换mon节点名称

这种情况比较特殊,需要对mon的节点名称修改,比如说之前是server166,现在我想改成server43,但是ip不变

首先我们需要明确一个前提,即mon节点里面存储了什么?

cd /var/lib/ceph/mon/ceph-server166

在这里插入图片描述

可以看到组成为

  • 一个秘钥

  • kv存储引擎名称 (rocksdb)

  • mon支持的版本 (o版)

  • rocksdb存储的文件

    image-20220406224302969

这个文件夹相当重要,里面包含了分发给mon、mgr、osd等等组件的keyring

  1. mon map进行修改,参照前一步更换mon节点名称

  2. 复制mon文件,并且将复制的文件夹名称改为自己想要的文件名

    cp -r ceph-server166/ ceph-server43/

    因为是使用root权限对文件夹进行复制的,因此ceph-server43/文件夹的权限为root,但是需要进行调整

    image-20220406224840966

​ 可以看到运行的用户是ceph,因此我们需要将ceph-server43/的权限改为ceph

chown +R ceph:ceph ceph-server43

注意文件夹里面的文件都需要将权限赋给ceph用户

  1. 将原来的mon进程停掉

    systemctl stop ceph-mon@server166

  2. 启动新的mon进程

    systemctl restart ceph-mon@server34

注意:如果进程一直拉不起来,可以利用journalctl -b -u "ceph-mon@*.service",查看进程的日志

mgr节点的迁移

  1. 暂停mgr进程

    sudo systemctl stop ceph-mgr@{mgr-name}

    sudo systemctl disable ceph-mgr@{mgr-name}

  2. 删除对应的文件

    sudo rm -rf /var/lib/ceph/mgr/ceph-{mgr-name}

  3. 重新安装mgr

    因为mgr是无状态的,因此不需要担心数据丢失问题

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值