《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第六章:Kubernetes Rook-Ceph 运维手册 v1.0(生产版)

Ceph 集群日常运维与健康检查

适用环境:

  • Kubernetes 1.28+
  • Rook-Ceph v1.12/v1.13/v1.14/v1.15/v1.16+
  • Ceph Quincy / Reef / Squid
  • 生产级裸金属 GPU/K8s 集群
  • 存储类型:
    • RBD Block Storage
    • CephFS
    • RGW Object Storage

Rook 通过 Kubernetes Operator 管理 Ceph 生命周期,包括部署、扩容、升级、自愈和 CSI 存储供给


6.1 Rook-Ceph 架构总览

6.1.1 生产架构

复制代码
                    Kubernetes Cluster
                            |
                            |
                    rook-ceph-operator
                            |
        +-------------------+-------------------+
        |                   |                   |
     Ceph MON            Ceph MGR            CSI
        |                   |                   |
        |                   |                   |
     Ceph OSD          Dashboard          RBD Driver
        |
        |
   +----+----+----+
   |         |     |
 Node1     Node2 Node3


Storage Services:

        RBD
         |
    Kubernetes PVC


        CephFS
         |
    Shared Filesystem


        RGW
         |
    Object Storage

6.2 日常巡检标准

生产环境建议:

检查项 周期
Ceph健康状态 每5分钟
OSD状态 每5分钟
PG状态 每5分钟
容量使用率 每小时
Slow Request 每5分钟
MON状态 每5分钟
CSI状态 每小时
PVC异常 实时

6.3 Rook-Ceph基础检查

查看Namespace

复制代码
kubectl get ns | grep rook

正常:

复制代码
rook-ceph

查看所有Pod

复制代码
kubectl -n rook-ceph get pod -o wide

正常:

复制代码
NAME                                      READY
rook-ceph-operator                        1/1
rook-ceph-mon-a                           2/2
rook-ceph-mgr-a                           2/2
rook-ceph-osd-0                           2/2
rook-ceph-osd-1                           2/2
rook-ceph-csi-rbdplugin                   3/3
rook-ceph-csi-cephfsplugin                3/3

6.4 Ceph状态检查

进入 toolbox:

复制代码
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash

查看集群状态

复制代码
ceph -s

正常:

复制代码
cluster:
 id: xxxx

health: HEALTH_OK

services:
 mon: 3 daemons
 mgr: active
 osd: 12 osds

data:
 pools: 5
 objects: xxx
 usage: 30%
 pgs: active+clean

查看详细健康

复制代码
ceph health detail

6.5 常见 HEALTH 状态处理

6.5.1 HEALTH_WARN

示例:

复制代码
HEALTH_WARN
Degraded data redundancy

查看:

复制代码
ceph health detail

可能原因:

  • OSD down
  • PG degraded
  • 节点故障

处理:

复制代码
ceph osd tree

例如:

复制代码
ID CLASS WEIGHT STATUS
0    hdd    8TB up
1    hdd    8TB down

恢复OSD:

复制代码
kubectl -n rook-ceph delete pod rook-ceph-osd-1

Rook会自动重建Pod


6.5.2 HEALTH_ERR

例如:

复制代码
HEALTH_ERR
1 osds down

检查:

复制代码
ceph osd stat

输出:

复制代码
12 osds: 11 up, 12 in

说明:

OSD进程异常


检查OSD:

复制代码
kubectl -n rook-ceph get pod | grep osd

日志:

复制代码
kubectl -n rook-ceph logs rook-ceph-osd-1

6.6 OSD故障处理

查看OSD

复制代码
ceph osd tree

示例:

复制代码
root default

host k8s-node01

osd.0 up
osd.1 down

查看OSD详细

复制代码
ceph osd dump

强制标记down

复制代码
ceph osd down osd.1

查看磁盘

节点:

复制代码
lsblk

例如:

复制代码
sdb  3.8T

检查设备:

复制代码
ceph-volume inventory

6.7 OSD磁盘更换流程(生产)

1. 停止故障OSD

复制代码
ceph osd out osd.1

等待迁移:

复制代码
ceph -s

2. 删除OSD

获取ID:

复制代码
ceph osd tree

删除:

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

3. 清理磁盘

节点执行:

复制代码
wipefs -a /dev/sdb

或者:

复制代码
sgdisk --zap-all /dev/sdb

4. 让Rook重新发现

查看:

复制代码
kubectl -n rook-ceph get cephcluster

如果使用:

复制代码
useAllDevices: true

Rook自动创建OSD


6.8 MON故障处理

查看:

复制代码
ceph mon stat

例如:

复制代码
3 mons at quorum a,b,c

MON Pod异常

查看:

复制代码
kubectl -n rook-ceph get pod | grep mon

删除:

复制代码
kubectl -n rook-ceph delete pod rook-ceph-mon-a

Rook自动恢复


6.9 MGR异常处理

查看:

复制代码
ceph mgr stat

异常:

复制代码
no active mgr

处理:

复制代码
kubectl -n rook-ceph delete pod \
rook-ceph-mgr-a

6.10 PG异常排查

查看PG状态

复制代码
ceph pg stat

正常:

复制代码
active+clean

异常:

复制代码
active+degraded

或者:

复制代码
stale

查看:

复制代码
ceph pg dump

定位:

复制代码
ceph pg map <pgid>

例如:

复制代码
ceph pg map 1.2a

6.11 Slow Request处理

查看:

复制代码
ceph health detail

例如:

复制代码
slow ops

检查:

OSD IO

复制代码
ceph osd perf

示例:

复制代码
osd commit_latency apply_latency

1       2000ms

节点IO

复制代码
iostat -x 1

重点:

复制代码
await
util
svctm

6.12 Ceph容量管理

查看:

复制代码
ceph df

示例:

复制代码
RAW STORAGE

TOTAL
100TB

USED
70TB

AVAIL
30TB

生产建议:

使用率 状态
<70% 正常
70-80% 注意
80-85% 扩容
>85% 风险
>90% 紧急

6.13 Pool管理

查看:

复制代码
ceph osd pool ls

查看:

复制代码
ceph osd pool stats

创建Pool:

复制代码
ceph osd pool create kubernetes-rbd

设置副本:

复制代码
ceph osd pool set kubernetes-rbd size 3

生产:

复制代码
size=3
min_size=2

6.14 RBD PVC故障

查看PVC:

复制代码
kubectl get pvc -A

查看Volume:

复制代码
rbd ls -p kubernetes-rbd

检查映射:

复制代码
rbd status <image>

强制解除:

复制代码
rbd lock list <image>

删除锁:

复制代码
rbd lock remove

6.15 CephFS故障

查看:

复制代码
ceph fs status

正常:

复制代码
active MDS

异常:

复制代码
MDS damaged

恢复:

复制代码
ceph mds fail <mds>

6.16 Ceph Dashboard

查看:

复制代码
kubectl -n rook-ceph get svc

开启:

复制代码
kubectl -n rook-ceph patch svc rook-ceph-mgr-dashboard \
-p '{"spec":{"type":"NodePort"}}'

获取密码:

复制代码
kubectl -n rook-ceph get secret \
rook-ceph-dashboard-password \
-o jsonpath="{.data.password}" | base64 -d

6.17 Prometheus监控指标

Rook支持:

  • Prometheus
  • Grafana
  • Alertmanager

关键指标:

OSD

复制代码
ceph_osd_up
ceph_osd_in

PG

复制代码
ceph_pg_active
ceph_pg_degraded

容量

复制代码
ceph_cluster_total_bytes
ceph_cluster_used_bytes

6.18 生产每日巡检脚本

复制代码
#!/bin/bash

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

kubectl -n rook-ceph exec \
deploy/rook-ceph-tools \
-- ceph -s


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

kubectl -n rook-ceph exec \
deploy/rook-ceph-tools \
-- ceph osd tree


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

kubectl -n rook-ceph exec \
deploy/rook-ceph-tools \
-- ceph pg stat

6.19 故障处理优先级

复制代码
              Ceph异常

                  |
        +---------+---------+
        |
     ceph -s

        |
 +------+------+
 |             |
 HEALTH_WARN  HEALTH_ERR

 |
检查:

1. OSD
2. MON
3. PG
4. 网络
5. 磁盘
6. 容量
相关推荐
あ-2 小时前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十二章:Rook-Ceph 监控、告警与可观测性体系ds
ceph
あ-6 小时前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十一章:Rook-Ceph 升级、扩容与生命周期管理
ceph
あ-6 小时前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十章:Rook-Ceph 安全加固与生产合规
ceph
あ-10 小时前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第七章:Rook-Ceph 生产故障案例库
ceph
あ-14 小时前
Proxmox Ceph 集群故障排查手册
ceph
あ-14 小时前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第八章:Rook-Ceph 性能优化与生产调优
ceph
RobinDevNotes5 天前
Palmier Pro:AI时代的Mac视频编辑器
人工智能·ceph·macos·ai·音视频·视频编辑·mcp
bgy666615 天前
Ceph 分布式存储完整实战指南:架构、部署与全场景运维
分布式·ceph·架构
SLD_Allen15 天前
Ceph配置RDMA和GPUDirect支持的具体技术方案
ceph·rdma·gpudirect