zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    单文档程序结构
    如何从一个对话框弹出单文档视图
    MFC 窗口居中显示 VS2010
    在单文档中显示我的第一个对话框
    在MFC中添加用户自定义消息
    MFC动态创建控件及添加消息响应
    MFC的DLL
    MFC多线程
    MFC的UDP编程实现
    MFC下CSocket编程详解
  • 原文地址:https://www.cnblogs.com/yanling-coder/p/12160813.html
Copyright © 2011-2022 走看看