Ceph BlueFS 溢出修复

Ceph BlueFS 溢出修复

  • [Ceph BlueFS 溢出修复](#Ceph BlueFS 溢出修复)
    • 问题概述
      • [检查 osd.383 的详细信息](#检查 osd.383 的详细信息)
      • [查看 BlueFS 空间使用情况](#查看 BlueFS 空间使用情况)
      • [方案一: RocksDB Compact (推荐先尝试)](#方案一: RocksDB Compact (推荐先尝试))
      • [执行方案二:重启 OSD.383](#执行方案二:重启 OSD.383)
        • [步骤 1: 确认 OSD 可以安全重启](#步骤 1: 确认 OSD 可以安全重启)
        • [步骤 2: 在 ceph116 节点执行重启](#步骤 2: 在 ceph116 节点执行重启)
        • [步骤 3: 验证健康状态](#步骤 3: 验证健康状态)

Ceph BlueFS 溢出修复

问题概述

集群信息:

  • Ceph 版本: 14.2.22 (Nautilus stable)

告警信息:

bash 复制代码
HEALTH_WARN BlueFS spillover detected on 1 OSD(s)
BLUEFS_SPILLOVER BlueFS spillover detected on 1 OSD(s)
     osd.383 spilled over 352 MiB metadata from 'db' device (28 GiB used of 58 GiB) to slow device

影响:

  • OSD.383 的元数据溢出到 HDD,导致性能下降

检查 osd.383 的详细信息

bash 复制代码
ceph osd metadata osd.383

设备配置:

json 复制代码
{
  "hostname": "ceph116",
  "bluefs_db_dev_node": "/dev/dm-102",
  "bluefs_db_size": "62277025792",  // 58 GiB
  "bluefs_db_type": "ssd",
  "bluestore_bdev_dev_node": "/dev/dm-28",
  "bluestore_bdev_size": "16000896466944",  // 14.5 TiB
  "bluestore_bdev_type": "hdd",
  "devices": "nvme0n1,sds"
}

查看 BlueFS 空间使用情况

bash 复制代码
ceph tell osd.383 bluestore bluefs available

BlueFS 空间使用:

json 复制代码
{
  "BDEV_DB (NVMe)": {
    "total": "58 GiB",
    "used": "28.3 GiB",
    "free": "29.7 GiB"
  },
  "BDEV_SLOW (HDD)": {
    "spillover": "352 MiB",
    "free": "595 GiB"
  }
}

方案一: RocksDB Compact (推荐先尝试)

执行压缩操作

Compact 操作会压缩 RocksDB,有可能将溢出的数据迁移回 DB 设备。

bash 复制代码
# ceph tell osd.383 compact
compacted omap in 278.544 seconds
bash 复制代码
tail -f /var/log/ceph/ceph-osd.383.log | grep -i compact

执行方案二:重启 OSD.383

Compact 操作虽然成功执行,但溢出告警仍然存在。这是因为已经溢出到 HDD 的 352 MiB 数据不会自动迁移回 DB 设备

步骤 1: 确认 OSD 可以安全重启
bash 复制代码
ceph osd ok-to-stop 383
步骤 2: 在 ceph116 节点执行重启
bash 复制代码
systemctl restart ceph-osd@383
步骤 3: 验证健康状态
bash 复制代码
ceph health detail
相关推荐
mixboot18 小时前
Ceph PG 不一致问题排查与修复 scrub errors
ceph·scrub
斯普信专业组18 小时前
从 Deep Scrubbing 滞后到集群性能跃迁:一次“以小见大”的 Ceph 优化实录
ceph
oMcLin18 小时前
如何在CentOS 7.9 服务器上配置并优化 Ceph 分布式存储集群,提升数据冗余与性能?
服务器·ceph·centos
only火车头5 天前
升级 ceph (16.2 -> 18.2) ceph mon 启动失败
服务器·ceph
iconball8 天前
个人用云计算学习笔记 --35 Ceph 分布式存储
运维·笔记·ceph·学习·云计算
become__better9 天前
判断ceph osd 节点磁盘异常
linux·运维·ceph
2301_800050999 天前
ceph分布式存储
笔记·分布式·ceph
wniuniu_9 天前
ceph修改
网络·ceph
2301_7679026411 天前
Ceph 分布式存储从入门到实战
分布式·ceph