You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ceph配置bluestore_min_alloc_size为4096后OSD未生效 仍使用64k块大小

问题根因

bluestore_min_alloc_size、bluestore_min_alloc_size_hdd、bluestore_min_alloc_size_ssd属于OSD初始化阶段的固化参数,只会在OSD首次创建、初始化磁盘的时候读取配置写入OSD本地元数据。运行阶段修改集群配置、重启OSD都不会更新OSD本地已经固化的参数值,你通过ceph config get查询到的是mon节点存储的全局/实例配置,不是OSD实际运行加载的生效值。

验证方式

执行以下命令查看指定OSD实际运行时加载的参数值,确认实际生效的分配大小:

ceph daemon osd.0 config show | grep bluestore_min_alloc_size

生效配置操作步骤

如果需要让4K最小分配配置生效,需要重新初始化所有OSD,操作如下:

  1. 先设置集群禁止OSD下线自动迁移数据,避免操作过程中不必要的资源消耗:
ceph osd set noout
ceph osd set norebalance
  1. 逐个下线OSD,清理OSD对应磁盘的所有分区与残留数据,再重新初始化部署OSD,新部署的OSD会读取当前配置的4K参数完成初始化
  2. 所有OSD重建完成后,取消集群保护状态:
ceph osd unset noout
ceph osd unset norebalance

注意事项

  • 配置生效后,仅对新写入集群的对象生效,配置生效前已经写入的旧对象仍然按照之前64K的最小分配大小占用空间,若要让旧对象也按4K分配存储,需要将旧数据重新写入集群。
  • 若你使用Rook部署Ceph,重建OSD需要通过Rook的CR规则执行,禁止直接在节点上手动删除OSD进程或数据。

内容的提问来源于stack exchange,提问作者Hackaholic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:18:00