Rook CephFS PVC 在禁用认证时卡在 Pending 状态问题解析
问题背景
在使用 Rook 部署的 Ceph 集群中,当管理员尝试通过修改 Ceph 配置文件来禁用客户端认证时,可能会遇到 CephFS 类型的 Persistent Volume Claim (PVC) 无法正常创建的问题。具体表现为 PVC 长时间处于 Pending 状态,并报错"Operation not supported"。
问题现象
当在 Ceph 配置中将以下三个认证参数设置为 none 时:
auth_client_required = none
auth_cluster_required = none
auth_service_required = none
创建 CephFS PVC 会出现如下错误:
Warning ProvisioningFailed failed to provision volume with StorageClass "cephfs-show": rpc error: code = InvalidArgument desc = failed to get connection: connecting failed: rados: ret=-95, Operation not supported
根本原因
经过深入分析,发现这个问题主要由两个关键因素导致:
-
配置未正确传递:虽然管理员在 rook-config-override ConfigMap 中设置了认证参数为 none,但这些配置并未正确传递到 CSI 驱动使用的配置文件中。
-
CSI 驱动依赖:Rook 的 CephFS CSI 驱动在创建卷时会读取 /etc/ceph/ceph.conf 文件中的配置,如果该文件中仍然保持默认的 cephx 认证设置,就会导致连接失败。
解决方案
要解决这个问题,需要确保配置正确应用到所有相关组件:
-
创建正确的 ConfigMap:不仅需要创建 rook-config-override,还需要专门为 CSI 驱动创建 csi-ceph-conf-override ConfigMap。
-
重启相关组件:创建或修改 ConfigMap 后,需要重启 Rook Operator 以应用新的配置。
-
验证配置传播:通过以下方式确认配置已正确应用:
- 检查 mon 容器中的配置
- 检查 csi-cephfsplugin 容器中的 /etc/ceph/ceph.conf 文件
最佳实践
-
配置管理:对于 Ceph 集群的配置修改,建议同时更新 rook-config-override 和 csi-ceph-conf-override 两个 ConfigMap。
-
变更顺序:
- 先创建或更新 ConfigMap
- 然后重启 Rook Operator
- 最后验证 CSI 驱动是否加载了新配置
-
认证选择:除非有特殊需求,否则建议保持 cephx 认证启用状态,这是 Ceph 集群的安全最佳实践。
技术细节
当 Ceph 认证被禁用时,CSI 驱动需要能够正确处理无认证的连接请求。这涉及到 Rook 的配置管理机制和 CSI 驱动的实现细节:
- Rook Operator 负责将集群配置传播到各个组件
- CSI 驱动需要能够读取最新的配置信息
- 配置变更需要触发相关组件的重新加载
通过理解这些组件间的交互关系,可以更好地诊断和解决类似问题。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C080
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python056
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0135
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00