• 【Ceph运维】Ceph手动修复mon 集群


    一、背景介绍

    ceph 版本为L版,集群由于异常断电,导致文件丢失,ceph mon 数据文件store.db/目录下的sst 文件丢失,所以无法正常启动。

    本集群有三台mon节点,其中有一台mon 节点的服务可以正常启动,另外两台无法正常启动。(ceph-mon 命令已经无法执行)

    二、 解决过程

    因为判断可能出现文件丢失导致的mon无法启动,所以决定重做另两台mon来解决问题

    1、本环境中control3的mon是好的,control1和control2是坏的

    在control3上导出monmap

    [root@control3 ~]monmaptool  --create  --clobber  --fsid  45b34caa-83b8-4c36-833b-544bba873456  --add  control3  172.16.12.43:6789  --add  control1 172.16.12.41:6789    --add  control2  172.16.12.42:6789  /tmp/monmap    
    //导出monmap,好的节点写再前面,后面把所有的坏的节点加上即可。
    

    2、将control1 和control2节点上的/var/lib/ceph/mon目录删掉,因为仅仅是文件丢失,并不是认证出现问题,原有的/etc/ceph/目录没有删除。

    3、将keyring 文件传到其他节点上

    [root@control3 ~]scp   /var/lib/ceph/mon/ceph-control3/keyring   root@control1:/tmp/
    [root@control3 ~]scp   /var/lib/ceph/mon/ceph-control3/keyring   root@control2:/tmp/
    [root@control3 ~]scp   /tmp/monmap  root@control1:/tmp/
    [root@control3 ~]scp   /tmp/monmap  root@control2:/tmp/
    

    4、重做control1和control2的mon

    [root@control1 ~] ceph-mon  --cluster    ceph  -i  control1 --mkfs  --monmap  /tmp/monmap  --keyring  /tmp/keyring  -c  /etc/ceph/ceph.conf
    [root@control1 ~] chown -R ceph:ceph   /var/lib/ceph/mon
    [root@control1 ~] systemctl restart ceph-mon@control1
    
    -------------------------------------------------------------------------
    [root@control2 ~] ceph-mon  --cluster    ceph  -i  control2 --mkfs  --monmap  /tmp/monmap  --keyring  /tmp/keyring  -c  /etc/ceph/ceph.conf
    [root@control2 ~] chown -R ceph:ceph   /var/lib/ceph/mon
    [root@control2 ~] systemctl restart ceph-mon@control2
    

    5、执行ceph -s

  • 相关阅读:
    超过经理收入的员工
    搜索插入位置
    整数反转
    俩数之和
    tar 命令参数解释
    【记录】Transaction rolled back because it has been marked as rollback-only
    【转载】BIO、NIO、AIO
    【转载】JDK自带的log工具
    【转载】java8中的Calendar日期对象(LocalDateTime)
    【对象属性复制】BeanUtils.copyProperties(obj1, obj2);
  • 原文地址:https://www.cnblogs.com/yanling-coder/p/12160813.html
Copyright © 2020-2023  润新知