【ceph】ceph集群-添加/删除mon

 本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》暂未更新

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

 【ceph】ceph集群-添加/删除mon

背景:

当mon出现问题,一般都选择铲掉,再重建,毕竟mon的数量多(mon一般很少出问题)。

过程:

在 Ceph 集群中删除一个有问题的 MON 并添加新的 MON 节点是一个需要谨慎操作的过程,因为 MON 节点负责维护集群的状态和配置信息。下面是删除有问题的 MON 并添加新 MON 到集群的一般步骤:

1. 删除有问题的 MON

  1. 确认 MON 的状态
    使用 ceph mon stat 或 ceph status 命令查看所有 MON 的状态和它们的健康情况。

  2. 停止有问题的 MON 服务
    根据你的操作系统和部署方式,停止 MON 服务。例如,如果使用 systemd 管理服务,可以使用:

    sudo systemctl stop ceph-mon@<mon-id>
    
  3. 从 Ceph 配置中删除 MON
    使用以下命令从集群中删除有问题的 MON:

    ceph mon remove <mon-id>
    
  4. 清理 MON 相关的数据
    删除 MON 节点上关于 Ceph 的相关数据目录,通常位于 /var/lib/ceph/mon/ceph-<mon-id>

2. 添加新的 MON

  1. 准备新的 MON 节点
    确保新的 MON 节点已经安装了 Ceph,并且配置了正确的网络设置和防火墙规则。

  2. 在新节点上创建 MON 目录

    sudo mkdir -p /var/lib/ceph/mon/ceph-<new-mon-id>
    
  3. 添加新的 MON
    使用 ceph orch apply mon 命令添加新的 MON。这需要你有一个运行的 Orchestrator,如 cephadm。如果你不使用 Orchestrator,可以手动添加 MON:

    ceph auth get mon. -o /tmp/mon.keyring
    ceph mon getmap -o /tmp/monmap
    ceph-mon --mkfs -i <new-mon-id> --monmap /tmp/monmap --keyring /tmp/mon.keyring
    sudo systemctl start ceph-mon@<new-mon-id>
    
  4. 让集群知晓新的 MON
    更新 Ceph 的配置文件和相关的服务,以确保集群中的其他节点知道新的 MON 节点。你可能需要编辑 /etc/ceph/ceph.conf 文件或使用 Ceph Orchestrator 自动处理这些更改。

  5. 验证新的 MON 状态
    使用 ceph -s 查看集群状态,确认新的 MON 正在运行并且集群状态为 HEALTH_OK。

注意事项

  • 在操作过程中,确保 Ceph 集群中始终有足够的 MON 节点在运行,以维持集群的稳定和高可用性。
  • 在删除和添加 MON 之前,最好先备份相关的配置文件和关键数据。
  • 确保所有操作都在集群的维护窗口内执行,以最小化对服务的影响。

通过这些步骤,你可以安全地从 Ceph 集群中移除有问题的 MON 并添加新的 MON,以恢复和保持集群的健康状态。

---补充:不用重启任何进程,但是ceph.conf要更新新的Mon的信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无障碍开发的艺术:Xcode打造可访问性应用全指南

无障碍开发的艺术&#xff1a;Xcode打造可访问性应用全指南 在软件开发中&#xff0c;可访问性&#xff08;Accessibility&#xff09;开发是确保应用能够被更广泛用户群体使用的关键。Xcode作为苹果公司提供的集成开发环境&#xff08;IDE&#xff09;&#xff0c;提供了一系…

LeetCode HOT100(四)字串

和为 K 的子数组&#xff08;mid&#xff09; 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2 解法1&#xff1a;前缀和Map 这…

(Vue+SpringBoot+elementUi+WangEditer)仿论坛项目

项目使用到的技术与库 1.前端 Vue2 elementUi Cookie WangEditer 2.后端 SpringBoot Mybatis-Plus 3.数据库 MySql 一、效果展示 1.1主页效果&#xff1a; 1.2 文章编辑页面&#xff1a; 1.3 成功发布文章 1.4 文章关键字搜索提示 1.5 文章查询结果展示 1.6 文章内容及交互展示…

期货量化交易客户端开源教学第一节——交易服务器的安装

上传“交易服务端”到服务器把“交易服务器版本2”解压到dht unzip 交易服务端.ziprpm -Uvh mysql-community-release-el6-5.noarch.rpm (tab键)yum install mysql-community-server //y yvi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled(需要重启)//阿里云已…

linux怎么查看系统重启原因?LINUX系统不明原因重启解决步骤,在Linux中如何排查系统启动问题?

linux怎么查看系统重启原因&#xff1f;LINUX系统不明原因重启解决步骤&#xff0c;在Linux中如何排查系统启动问题&#xff1f; linux怎么查看系统重启原因&#xff0c;网上大部分总结的步骤如下&#xff1a; 查看系统日志&#xff1a;系统日志中存储了系统重启异常的情况及其…

TransT: 基于类型的多重嵌入表示用于知识图谱补全

1 引言 1.1 问题 仅仅依赖于三元组的结构化信息有其局限性&#xff0c;因为它们往往忽略了知识图谱中丰富的语义信息以及由这些语义信息所代表的先验知识。语义信息是指实体和关系的含义&#xff0c;比如“北京”是“中国”的首都&#xff0c;“苹果”是一种水果。先验知识则…

ESP32CAM物联网教学12

ESP32CAM物联网教学12 MicroPython 视频服务 小智希望能在MicroPython中实现摄像头的视频服务&#xff0c;就像官方示例程序CameraWebServer那样。 下载视频服务驱动库 小智通过上网搜索&#xff0c;发现相关的教学材料还不少&#xff0c;并且知道有人已经写出了视频服务的驱…

Redis的哨兵和集群实现高可用

一个典型的高可用Redis集群示例配置 1个主服务器 2-3个从服务器 3-5个哨兵 哨兵和集群就是为了高可用 哨兵 哨兵的功能&#xff1a;监听和故障转移 &#xff08;1&#xff09;客户端可以从哨兵获得集群的状态。 &#xff08;2&#xff09;当主服务器断开&#xff0c;哨兵可…

UI图标库推荐网站

在推荐图标库时&#xff0c;我会考虑图标的多样性、质量、易用性以及是否免费或开源等因素。以下是一些值得推荐的图标库&#xff1a; 1. Font Awesome 特点&#xff1a;Font Awesome是一套绝佳的图标字体库和CSS框架&#xff0c;提供可缩放的矢量图标。您可以使用CSS所提供的…

24/7/12总结

axios Axios 是一个基于 promise 网络请求库&#xff0c;作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 get请求: <script>function…

【Linux网络】数据链路层【下】{MAC/MTU/ARP/ICMP/NAT/PING/代理服务器原理}

文章目录 1.逐步深入数据链路层1.1MAC帧1.2由集线器到交换机1.3认识MTU 2.ARP 地址解析协议/RARP逆地址解析协议3.DNS(Domain Name System)域名从输入url后到能看到网页 发生了什么【典中典】 4.ICMP协议&#xff1a;一个网络层协议有了TCP&#xff0c;为什么还要用ICMPICMP协议…

面向对象程序设计之常用集合类

容器集合类&#xff0c;是后端的基础&#xff0c;本文以面向对象语言c#与java为例&#xff0c;了解常用的集合类。 c# List<T>: System.Collections.Generic.List<T> 是动态数组的泛型集合类。它提供了类型安全性和高效的元素访问。 List<string> list ne…

uboot学习:(一)基础认知

目录 uboot是一个裸机程序&#xff08;bootloader&#xff09; 作用 要运行linux系统时&#xff0c;如何从外置的flash拷贝到DDR中&#xff0c;才能启动 uboot使用步骤 步骤1中的命令例子 注意 uboot源码获取方法 uboot是一个裸机程序&#xff08;bootloader&#xff09…

1、预处理

C语言预处理 预处理是C语言编译过程中的第一个阶段&#xff0c;它主要处理以 # 开头的预处理指令。预处理器会在实际编译之前对源代码进行一些文本操作。 1. 宏定义 (#define) 宏定义用于定义常量或者简单的函数。 1.1 简单的宏定义 // 定义圆周率常量 #define PI 3.14159…

解决RedisTemplate配置JSON序列化后@Cacheable序列化仍然是JDK序列化的问题

问题现象 在参考网上的Redis集成后&#xff0c;配置了RedisTemplate的序列化&#xff0c;配置成功后Cacheable注解的缓存仍然是jdk的序列化&#xff0c;配置无效。 参考配置的类似代码&#xff1a; Bean("redisTemplate") public RedisTemplate<Object, Objec…

[Python学习篇] Python Socket网络编程

Python中的socket编程是通过内置的socket模块实现的&#xff0c;可以方便地创建网络应用程序&#xff0c;包括客户端和服务器。 服务端 1. 创建套接字 使用socket.socket()函数创建一个TCP套接字。套接字可以是流式&#xff08;TCP&#xff09;或数据报式&#xff08;UDP&…

HSP_15章 Python_模板设计模式和oop进阶总结

P136 模板设计模式 1. 设计模式简介 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式 设计模式就像是经典的棋谱&#xff0c;不同的棋局&#xff0c;我们用不同的棋谱&#xff0c;免去我们自己再思考和摸索 2. 模板设计模式 基本…

【面试八股总结】单例模式实现详解

一、基本概念 单例设计模式是⼀种确保⼀个类只有⼀个实例&#xff0c;并提供⼀个全局访问点来访问该实例的创建模式。 关键概念&#xff1a; 一个私有构造函数&#xff1a;确保只能单例类自己创建实例一个私有静态变量&#xff1a;确保只有一个实例&#xff0c;私有静态变量用…

4-4 词嵌入技术(word2vec)

4-4 词嵌入技术&#xff08;word2vec&#xff09; 词嵌入技术&#xff08;word2vec&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一种关键技术&#xff0c;通过将词语映射到低维向量空间中&#xff0c;使得计算机能够理解和处理语言中的语义信息。词嵌入不仅可以…