在linux操作系统下,可能因为一些很小的误操作,都会造成非常重要的文件的丢失,而文件的备份并不是每时每刻都会注意到,一般是等到文件丢失了才会去想办法,这里讲下ceph.mon.keyring丢失的解决办法

1、没有启用部署认证的

auth_cluster_required =none

在进行部署的时候 ceph-deploy new 以后会生成ceph.mon.keyring文件,内容如下

[mon.]
key = AQBnutdWAAAAABAAPmLaAd9CeKaCRj1CIrztyA==
caps mon = allow *

这个keyring在增加mon的时候,mon之间加密会用到的,如果在未开启认证的情况下,只需要在部署目录下面创建一个同名文件,里面填入一个格式相同的任意内容即可(需要有这个文件,不然无法部署新的mon),在没有开启认证的时候是没有生成这个文件的 /var/lib/ceph/mon/ceph-lab8106/keyring

一般是在系统盘损坏的时候容易丢失这个部署目录,并且没有做备份

2、启用了部署认证

auth_cluster_required =cephx

开启了以后,在进行mon的部署以后,是会生成/var/lib/ceph/mon/ceph-lab8106/keyring这个文件的,这个文件的内容跟部署的目录下面的keyring是一样的,所以丢失了部署目录以后,去mon的路径下面查看文件,然后写入一个同名文件里面即可

如下所示

[root@lab8106 ceph]# cat /var/lib/ceph/mon/ceph-lab8106/keyring
[mon.]
key = AQC4V9hWAAAAABAArPTf+Az43NWsoU88okI+Mg==
caps mon = "allow *"
[root@lab8106 ceph]# cat ceph.mon.keyring
[mon.]
key = AQC4V9hWAAAAABAArPTf+Az43NWsoU88okI+Mg==
caps mon = allow *

这个是个简单的操作即可避免无法新加mon的问题,当然做好预备工作是最好的,建议做好下面的两个工作:

  • 1、直接备份部署目录里面的文件,最好备份到自己的电脑上
  • 2、将这个keyring的信息备份到集群里面去,记录到认证信息中
[root@lab8106 ceph]# ceph auth import -i ceph.mon.keyring
imported keyring
[root@lab8106 ceph]# ceph auth get mon.
exported keyring for mon.
[mon.]
key = AQC4V9hWAAAAABAArPTf+Az43NWsoU88okI+Mg==
caps mon = "allow *"
[root@lab8106 ceph]# cat ceph.mon.keyring
[mon.]
key = AQC4V9hWAAAAABAArPTf+Az43NWsoU88okI+Mg==
caps mon = allow *

丢了ceph.mon.keying解决办法的更多相关文章

  1. modprobe: FATAL: Module ceph not found解决办法

    问题 有可能你在进行 Ceph 文件系统挂载的时候出现下面的提示: modprobe: FATAL: Module ceph not found. mount.ceph: modprobe faile ...

  2. Android使用SDKManager下载SDK速度慢 容易丢包和异常的解决办法

    第一步, SDK Manager启动之后,会先解析一些google的xml文件,会在Log里面打印出一些日志信息. 解析完之后,把日志全部拷贝到一个记事本里(这一步是因为日志窗口不支持查找),在里面查 ...

  3. Ceph的客户端丢失文件夹的解决办法

    原来的解决办法 更新linux内核,使用linux内核级的mount方式,一段时间后将会在客户端看不到部分长期不使用的文件夹 更正后的解决办法 参考Ceph的客户端安装设置ceph-fuse方式挂载c ...

  4. [转]nf_conntrack: table full, dropping packet 连接跟踪表已满,开始丢包 的解决办法

      nf_conntrack: table full, dropping packet  连接跟踪表已满,开始丢包 的解决办法 中午业务说机器不能登录,我通过USM管理界面登录单板的时候发现机器没有僵 ...

  5. mysql在线修改表结构大数据表的风险与解决办法归纳

    整理这篇文章的缘由: 互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需 ...

  6. sdk 更新的时连接不上dl-ssl.google.com解决办法

    今天有朋友说sdk的更新不了,借了个VPN给他也没解决问题,后来还是他自己解决了,下面分享下经验 这里介绍一种不需要FQ的解决办法,修改C:\Windows\System32\drivers\etc下 ...

  7. Session丢失的解决办法小结

    最近在做ASP.NET项目时,测试网站老是取不出Session中的值,在网上搜索了一下,找到一些解决方法,记录在这里.最后使用存储在StateServer中的办法解决了问题. SessionState ...

  8. Jenkins权限配置失误后导致登录失败的解决办法

    为了便于管理,Jenkins一般需要设置用户,而且这些用户是需要配置相应的权限的,如果一不小心配置的时候出了问题,那么,你就斯巴达了. 这里,用我的切身经历,为大家说一下Jenkins因为权限配置失误 ...

  9. C#Session丢失问题的解决办法

    关于c# SESSION丢失问题解决办法   我们在用C#开发程序的时候经常会遇到Session很不稳定,老是数据丢失.下面就是Session数据丢失的解决办法希望对您有好处.1.在WEB.CONFI ...

随机推荐

  1. Mysql架构与内部模块-第三章

    前言 接上文,本篇文章专门简述Mysql存储引擎,内容繁多,如果你只需知道每种存储引擎的适用场景,可以直接查看本文最后列出的适用场景部分. 正文: Mysql存储引擎作为本系列文章中相对重要的一环,也 ...

  2. ansible使用playbook的简单例子(ansible2.9.7)

    一,ansible使用playbook的优点 1,用ansible执行一些简单的任务,使用ad-hoc命令就可以解决问题 如果执行复杂的功能,需要大量的操作,执行的ad-hoc命令会不够方便,这时我们 ...

  3. Ubuntu18.04中安装virtualenv和virtualenvwrapper

    1.安装virtualenv和virtualenvwrapper pip3 install virtualenv pip3 install virtualenvwrapper 2.创建目录用来存放虚拟 ...

  4. Linux运维学习第三周记

    日落狐狸眠冢上 夜归儿女笑灯前 人生有酒须当醉 一滴何曾到九泉 愿醉卧沙场可未有匹夫之勇. 第三周学记 第三周主要学习正则表达式和Shell编程 1.正则表达式基本字符 2.扩展正则表达式 3.gre ...

  5. Linux显示系统信息sh脚本

    #!/bin/bash # #******************************************************************** #Author: wangxia ...

  6. .net core 3.1 vs2019报HTTP Error 500.30 - ANCM In-Process Start Failure

    vs启动报此错误的话查看自己的程序是3.1.1还是3.1.2.解决防范安装高版本的重启

  7. UVA 12298 Super Poker II (FFT)

    #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using ...

  8. 图的全部实现(邻接矩阵 邻接表 BFS DFS 最小生成树 最短路径等)

    1 /** 2 * C: Dijkstra算法获取最短路径(邻接矩阵) 3 * 6 */ 7 8 #include <stdio.h> 9 #include <stdlib.h> ...

  9. python定义函数后跟->的意义

    举例 def xxx(x)  后面跟着一个->数据类型 比如->int:(别忘了冒号) 作用很简单 挺流氓的 直接让函数返回值为这个类型 非常方(liu)便(mang)

  10. Glide缓存图片

    是用Glide加载网络图片可以自动缓存到磁盘 添加依赖: implementation 'com.github.bumptech.glide:glide:4.9.0' implementation ' ...