当前位置: 首页 > news >正文

为什么ceph新添加的硬盘会自动变为osd

您好!这是一个非常好的问题,也是 Ceph 运维中一个关键的特性。

根据您图片中的信息和您描述的现象(新硬盘会自动变为 OSD),​​根本原因在于 Ceph 集群(特别是 cephadm)的“自动化运维(Orchestrator)”功能默认是开启的,并且它有一个默认策略:自动识别和利用所有“可用(Available)”的存储设备。​

下面我为您详细解释为什么会发生这种情况以及如何管理它。

核心原因:Ceph 的自动化设备部署策略

  1. ​默认的自动化行为​​:现代 Ceph(尤其是使用 cephadm 部署的集群)的设计理念是自动化。一旦您将一块新的、​​干净的​​(即没有文件系统、分区表等元数据)硬盘接入集群中的主机,并被 cephadm 扫描到(ceph orch device ls), Orchestrator 模块就会认为这是一块“可用”的存储资源。

  2. ​服务规格(Service Specification)​​:Ceph 通过“服务规格”文件(或命令)来定义需要部署什么服务(如 OSD、MDS、MON等)以及如何部署。如果您在部署集群时​​没有明确指定只能在哪些具体设备上创建 OSD​​,Ceph 就会采用默认行为。

  3. ​“all-available-devices”策略​​:最常见的默认策略就是使用所有可用设备。当您执行了像 ceph orch apply osd --all-available-devices 这样的命令后,就等于给 Ceph 下了一条持续的指令:“​​请确保我集群中所有标记为 ‘Available: Yes’ 的设备都被创建为 OSD,现在和将来发现的都一样​​”。

结合您的图片分析

在您的图片中,所有设备的 AVAILABLE 列都是 No,并且拒绝原因(图中未完全显示,通常是 ceph orch device ls -f json-pretty 查看)是“已有文件系统”或“空间不足”。这说明这些磁盘​​已经被占用​​了,所以 Ceph 不会自动使用它们。

但是,当您插入一块​​全新的、没有任何内容​​的硬盘时:

  1. cephadm 守护进程会定期扫描或通过您的 --refresh 命令触发扫描,发现这块新硬盘。
  2. 扫描后,这块新硬盘的 AVAILABLE 列会显示为 Yes
  3. Ceph Orchestrator 检测到有新的“可用”设备出现,​​并且​​它记得您之前下过的“apply osd”指令(即使用所有可用设备)。
  4. 于是,它就会自动地在后台执行流程,擦除(zap)这块新硬盘并将其部署为一个新的 OSD,完全无需您手动干预。

​简单比喻​​:这就像是您告诉一个机器人:“把我家所有空着的花盆都种上花。” 之后,每当您放一个新的空花盆到院子里,这个机器人就会自动过来把它种上花,而不需要您再下一次命令。


如何管理和控制这种行为?

如果您不希望 Ceph 自动使用每一块新硬盘,您有以下几种选择:

1. 【推荐】使用明确的设备列表部署 OSD

这是最精确的控制方法。您可以明确指定使用哪些设备。

  • ​步骤一:列出设备,确认设备路径和ID​

    ceph orch device ls

    (确认新硬盘的状态是 Available: Yes

  • ​步骤二:使用特定命令将​​特定设备​**​部署为 OSD

    • ​方法A:使用设备路径(如 /dev/sdx)​
      ceph orch daemon add osd <hostname>:/dev/sdx
      # 例如:ceph orch daemon add osd ceph01:/dev/sdf
    • ​方法B:使用设备ID(更可靠,设备路径可能会变,但ID通常不会)​
      ceph orch device ls 输出中找到新硬盘的 DEVICE ID(例如 QEMU_HARDDISK_DRIVE-scsi8)。
      ceph orch daemon add osd <hostname>:/dev/disk/by-id/<device_id>
      # 例如:ceph orch daemon add osd ceph01:/dev/disk/by-id/QEMU_HARDDISK_DRIVE-scsi8

2. 更改默认的 OSD 部署方法

如果您之前应用了 --all-available-devices 策略,可以将其移除,转而采用更精确的方法。

  • ​检查当前的 OSD 部署规则​​:

    ceph orch ls --service-type osd

    这个命令会显示出当前已应用的 OSD 部署规格,您很可能会看到一条规则使用了 all-available-devices: true

  • ​移除旧的自动化规则​​(如果存在):
    您需要先停止这条规则,然后再用新的精确指令来添加 OSD。

    ceph orch rm osd.all-available-devices --force
    # 或者使用其具体的服务名,根据上一条命令的输出而定

    ​注意:​​ 此操作​​不会​​删除已存在的 OSD,只会阻止 Ceph 未来自动部署新磁盘。

3. 【临时禁用】暂停整个集群的自动化操作

如果您正在进行维护,不希望 Ceph 自动做任何操作,可以暂停 Orchestrator。

  • ​暂停自动化​​:
    ceph orch pause
  • ​恢复自动化​​:
    ceph orch resume
    在暂停状态下,您可以安全地添加硬盘,而 Ceph 不会自动部署它们。等您准备好后,再恢复自动化并手动部署。

总结

  • ​为什么会自动部署?​​ 因为您或部署脚本很可能在早期执行过 ceph orch apply osd --all-available-devices,这是一个“一劳永逸”的自动化指令。
  • ​如何解决?​​ 您不需要关闭这个功能,而是应该​​改变使用习惯​​:在添加新硬盘前,​​先通过明确的命令​ceph orch daemon add osd <hostname>:<device>​来告诉 Ceph 您的精确意图​​。或者,彻底移除全自动策略,完全采用手动管理。

希望这能解答您的疑惑!

http://www.sczhlp.com/news/109056/

相关文章:

  • Zabbix Proxy 技术实践与运维思考
  • OF SF CF ZF 的判断方式以及例子
  • 大型的PC网站适合vue做吗做水果生意去那个网站
  • 百度地图导航下载安装河南seo关键词排名优化
  • 美食介绍网站模板大同网站开发
  • 怎么介绍网站的优缺点门户网站 模板
  • 2025年30个CRM系统盘点:哪款CRM系统适合你的企业? - SaaS软件
  • TSN Qav测试实践
  • adobe illustrator中生成连续直角线段
  • 多重分形去趋势交叉相关性分析
  • 郑州网站制作-中国互联怎么查网站的外链
  • 学院网站建设需求分析目录做网页到哪个网站找素材
  • 网站风险解除音乐制作
  • 如何做视频网站不侵权关键词什么意思
  • 织梦做的网站首页被篡改备案网站多长时间
  • 绵阳网站建站网站开发维护成本计算
  • 重庆律师网站建设潍坊建公司网站
  • 个性化网站设计wordpress 免费采集插件
  • 便宜的购物网站排名wordpress register
  • 安徽省建设部网站网站制作是怎么做的
  • 企业网站建设总结长沙招聘网站哪个最好
  • 净水 技术支持 东莞网站建设本溪北京网站建设
  • 无站点推广就是不在网上推广做网站过程
  • 网站收录查询深圳推广网络
  • 苏州网站建设排行网站规划应遵循的原则有哪些
  • 网站建设的布局宁波网红打卡的景点
  • 佛山市网站建设企业四线城市网站建设方向及营利点
  • 个人网站 目的外贸平台软件一般是
  • 网站用户管理系统做简历网站 知乎
  • tp做网站境外网站icp备案申请表