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

Rook Ceph PVC创建失败与PG长期undersized异常问题咨询

问题1:PVC创建失败处于Pending状态

根因

从PVC事件的报错信息multi node access modes are only supported on rbd 'block' type volumes可以直接定位冲突点:

  • 你配置的PVC accessModes为ReadWriteMany(支持多节点读写)
  • PVC未指定volumeMode时默认值为Filesystem,而RBD类型存储不支持Filesystem模式下的多节点挂载,仅Block模式的RBD卷支持ReadWriteMany访问模式。

解决方法

根据业务需求二选一即可:

  • 若无需多节点同时读写该卷,将PVC的accessModes修改为ReadWriteOnce,修改后配置如下:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: avl-vam-pvc-media-ceph
spec:
  storageClassName: "rook-ceph-block"
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  • 若确实需要多节点同时读写,将PVC的volumeMode修改为Block,注意Block模式的卷需要在Pod中直接挂载为块设备,不会自动格式化文件系统,修改后配置如下:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: avl-vam-pvc-media-ceph
spec:
  storageClassName: "rook-ceph-block"
  accessModes:
    - ReadWriteMany
  volumeMode: Block
  resources:
    requests:
      storage: 10Gi

如果需要Filesystem模式的多节点共享存储,建议改用CephFS作为存储后端。


问题2:Ceph PG长期处于undersized状态

根因

Ceph集群默认配置为3副本,且默认CRUSH规则要求不同副本分布在不同主机上以保证冗余,你当前集群仅2台存储主机(hostname1、hostname2),无法满足3副本的分布要求,每个PG最多只能存放2个副本,因此触发undersized告警,从你提供的PG状态也可看到每个PG的acting集合仅包含2个OSD,符合2副本的状态。

解决方法

根据实际资源情况二选一:

  • 方案1:新增第3台存储主机,部署至少1个OSD,满足3副本的分布要求,CRUSH会自动将PG补充为3副本,告警将自动消除。
  • 方案2:若暂时无法新增主机,将对应存储池的副本数修改为2,执行以下命令即可:
# 先查询RBD存储池名称,rook默认创建的RBD池名为replicapool
ceph osd pool ls
# 修改对应池的副本数为2,以下以默认池名replicapool为例
ceph osd pool set replicapool size 2
# 可选:若允许单副本状态下池可写,可设置min_size为1(不建议生产环境配置)
ceph osd pool set replicapool min_size 1

执行完成后等待PG数据回填完成,告警即可消除。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:18:01