Proxmox Ceph 集群故障排查手册

《Proxmox Ceph 集群故障排查手册》

  • 面向:PVE 超融合、虚拟化平台管理员
  • 场景:VM 磁盘异常、OSD 故障、MON 仲裁失败、PG 异常、IO 卡顿、节点宕机
  • 重点:宿主机、Ceph 服务、磁盘、网络、恢复操作

Proxmox Ceph 集群故障排查手册

版本:v1.0

适用:

  • Proxmox VE 7/8/9
  • Ceph Pacific / Quincy / Reef / Squid
  • 超融合虚拟化环境

目录

复制代码
1. Ceph 故障排查总流程

2. 基础健康检查

3. MON 故障排查

4. MGR 故障排查

5. OSD 故障排查

6. PG异常处理

7. Ceph IO慢排查

8. 磁盘故障处理

9. 网络故障处理

10. 节点宕机恢复

11. Ceph容量满处理

12. 数据恢复与重建

13. 常见错误码

14. 日常巡检脚本

1. Ceph 故障排查总流程

Ceph 故障建议按照:

复制代码
用户业务异常
        |
        v
Proxmox VM异常
        |
        v
Ceph状态检查
        |
        v
MON/MGR状态
        |
        v
OSD状态
        |
        v
PG状态
        |
        v
磁盘/网络
        |
        v
恢复

不要直接重启 Ceph 服务


2. 基础健康检查

2.1 查看整体状态

复制代码
ceph -s

正常:

复制代码
health: HEALTH_OK
mon: 3 daemons, quorum pve1,pve2,pve3
osd: 9 osds: 9 up,9 in
pgs: active+clean

异常:

复制代码
HEALTH_WARN
HEALTH_ERR

Proxmox 官方建议通过 ceph --statusceph --watch 持续观察集群状态


2.2 查看详细健康信息

复制代码
ceph health detail

例如:

复制代码
HEALTH_ERR
1 osd down
3 pgs degraded

2.3 实时监控

复制代码
watch ceph -s

或者:

复制代码
ceph -w

3. MON 故障排查

MON负责:

  • 集群状态
  • CRUSH信息
  • 仲裁

查看:

复制代码
ceph mon stat

示例:

复制代码
e3: 3 mons at quorum pve1,pve2,pve3

3.1 MON quorum丢失

症状:

复制代码
mon quorum missing

检查:

复制代码
ceph quorum_status

查看服务:

复制代码
systemctl status ceph-mon.target

日志:

复制代码
journalctl -u ceph-mon@$(hostname)

3.2 单MON恢复

启动:

复制代码
systemctl restart ceph-mon.target

检查:

复制代码
ceph mon stat

4. MGR故障

查看:

复制代码
ceph mgr stat

正常:

复制代码
active mgr:pve1

异常:

复制代码
no active mgr

恢复:

复制代码
systemctl restart ceph-mgr.target

5. OSD故障排查

OSD 是最常见故障

Proxmox 官方文档也将 OSD down/crashed、磁盘、网络问题列为 Ceph 常见故障来源


5.1 查看OSD状态

复制代码
ceph osd status

或者:

复制代码
ceph osd tree

示例:

复制代码
ID CLASS WEIGHT STATUS
0   ssd  1.8    up
1   ssd  1.8    down

5.2 查看OSD服务

假设:

复制代码
osd.3

查看:

复制代码
systemctl status ceph-osd@3

日志:

复制代码
journalctl -u ceph-osd@3

5.3 OSD启动失败

检查磁盘:

复制代码
lsblk

查看LVM:

复制代码
ceph-volume lvm list

重新激活:

复制代码
ceph-volume lvm activate --all

该方式也是 Proxmox 官方建议的 OSD 激活方法之一


6. PG异常处理

PG状态:

复制代码
ceph pg stat

正常:

复制代码
active+clean

常见PG状态

degraded

例如:

复制代码
100 pgs degraded

原因:

  • OSD down
  • 数据恢复中

检查:

复制代码
ceph osd tree

stuck inactive

查看:

复制代码
ceph pg dump_stuck inactive

常见原因:

  • MON异常
  • OSD缺失

Ceph 官方说明:

  • inactive 通常和 PG peering 问题有关
  • stale 通常表示关键 OSD 不运行
  • unclean 表示恢复无法完成

7. Ceph IO慢排查

症状:

VM卡顿:

复制代码
IO delay > 50%

查看slow request

复制代码
ceph health detail

例如:

复制代码
slow ops

检查OSD延迟

复制代码
ceph osd perf

示例:

复制代码
osd commit_latency apply_latency

0      20ms
1      3000ms

异常OSD:

复制代码
systemctl restart ceph-osd@X

8. 磁盘故障处理

查看SMART

复制代码
smartctl -a /dev/sdX

重点:

复制代码
Reallocated_Sector
Current_Pending_Sector
SMART overall-health

替换OSD磁盘流程

1. 标记out

复制代码
ceph osd out osd.X

2. 停止

复制代码
systemctl stop ceph-osd@X

3. 删除

复制代码
ceph osd purge X --yes-i-really-mean-it

4. 更换磁盘

5. 创建OSD

PVE:

复制代码
pveceph osd create /dev/sdX

9. Ceph网络故障

Ceph依赖:

复制代码
Public Network

Client
 |
MON
 |
OSD


Cluster Network

OSD <----> OSD

检查:

复制代码
ping osd-node

检查丢包:

复制代码
ip -s link

检查端口:

复制代码
ss -ntlp

常见:

复制代码
CRC error
packet drop
MTU不一致

10. Ceph容量满

状态:

复制代码
HEALTH_ERR
OSD full

检查:

复制代码
ceph df

例如:

复制代码
osd.3 95%

处理:

方法1 增加OSD

推荐。

方法2 删除无用数据

检查:

复制代码
rados df

11. 节点宕机恢复

例如:

复制代码
pve2突然断电

流程:

1 检查节点

复制代码
pvecm status

2 检查Ceph

复制代码
ceph -s

3 检查OSD

复制代码
ceph osd tree

4 恢复OSD

复制代码
systemctl restart ceph.target

12. Ceph日志位置

Proxmox

复制代码
/var/log/ceph/

查看:

复制代码
ls /var/log/ceph/

系统日志:

复制代码
journalctl --since "2 days ago"

Proxmox 文档建议重点检查:

  • Ceph日志
  • 系统日志
  • 磁盘健康
  • IPMI/RAID日志

13. 常见故障速查表

现象 原因 处理
HEALTH_ERR 严重异常 health detail
OSD down 磁盘/服务 restart OSD
PG degraded 副本不足 恢复OSD
slow ops IO慢 检查磁盘网络
MON down 仲裁失败 恢复MON
full osd 容量不足 扩容
VM IO freeze PG异常 检查ceph pg

14. 日常巡检脚本

创建:

复制代码
/usr/local/bin/ceph-check.sh

内容:

复制代码
#!/bin/bash

echo "===== Ceph Status ====="

ceph -s


echo

echo "===== OSD ====="

ceph osd tree


echo

echo "===== PG ====="

ceph pg stat


echo

echo "===== Disk ====="

df -h

执行:

复制代码
chmod +x /usr/local/bin/ceph-check.sh

15. 生产环境最佳实践

推荐配置

MON

至少:

复制代码
3节点

不要:

复制代码
2 MON

OSD

推荐:

复制代码
SSD/NVMe
独立磁盘
JBOD

避免:

复制代码
RAID控制器缓存

网络

推荐:

复制代码
10GbE+
独立Ceph网络

监控

建议接入:

  • Prometheus
  • Grafana
  • Alertmanager
相关推荐
あ-1 小时前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第八章:Rook-Ceph 性能优化与生产调优
ceph
RobinDevNotes4 天前
Palmier Pro:AI时代的Mac视频编辑器
人工智能·ceph·macos·ai·音视频·视频编辑·mcp
bgy666614 天前
Ceph 分布式存储完整实战指南:架构、部署与全场景运维
分布式·ceph·架构
SLD_Allen14 天前
Ceph配置RDMA和GPUDirect支持的具体技术方案
ceph·rdma·gpudirect
2401_8346369915 天前
Ceph 分布式存储从入门到精通:架构解析 + cephadm 部署 + 存储池管理
ceph
吾皇斯巴达19 天前
ceph index-less桶可以用radosgw-admin bucket rm吗
ceph
运维全栈笔记1 个月前
腾讯云 CVM 搭建 Ceph 集群部署笔记
笔记·ceph·腾讯云
刘某的Cloud1 个月前
ceph osd 导入导出 rbd volume 卷
linux·运维·ceph·volume
heimeiyingwang1 个月前
【架构实战】Kubernetes存储实战:从EmptyDir到Ceph CSI的持久化存储选型指南
ceph·架构·kubernetes