跳转到正文

存储排障 ​

对象存储问题应按配置 → 集群 → 文件浏览 → PVC → 容器挂载 → 应用路径逐层定位。不要把凭据粘贴到日志、截图或工单中。

无法创建或更新存储配置 ​

先判断问题发生在页面填写阶段,还是提交到多个集群之后。页面提示必填项错误时检查表单;只有部分集群失败时,不要重复提交整份配置。

页面校验失败 ​

确认:

  • 至少选择了一个关联集群。
  • 新建时填写了 Access Key Secret。
  • 名称、Bucket、Endpoint、Region 和必填项完整。

更新时名称不可修改。Access Key Secret 留空会尝试沿用已有 Secret;如果后端无法读取现有 Secret,更新会失败,此时应由获授权人员重新提供有效 Secret。

提交后部分集群失败 ​

一个配置会按顺序应用到每个已选集群,先成功的集群不会因后续失败自动回滚。停止再次提交,记录已完成和失败集群,并收集脱敏后的错误。由获授权人员在每个已选集群分别核对 Secret 和 StorageClass,再检查:

  • 目标集群 Agent 是否可达。
  • 同名 StorageClass 或 Secret 是否存在冲突。
  • 命名空间是否存在且允许创建 Secret。
  • 集群是否安装并运行平台所需的 rclone CSI 组件。

不要反复提交不同 Bucket 或凭据来试错。聚合列表也不能表示每个集群都已完成配置。请先确认目标配置和影响范围,再逐个集群检查配置和读写,避免各集群指向不同数据源。

文件浏览器无法列出对象 ​

先核对文件浏览器显示的集群和 StorageClass,再核对配置详情:

  1. Bucket 名称。
  2. Provider、Endpoint 和 Region。
  3. Path Style 设置。
  4. 当前集群仍在关联列表中。
  5. 凭据至少具有列出目标前缀的权限。
  6. 目标集群到对象存储 Endpoint 的 DNS、网络和 TLS 路径可用。

“配置创建成功”只表示 Kubernetes 资源已应用,不表示对象存储已经可以访问。

选择文件管理后没有可见响应 ​

存储列表中的文件夹图标不会替换原页面。它会使用配置关联列表中的第一个集群,并在新标签页打开该存储类的文件浏览器。如需核对地址结构,请参见控制台页面与路由。

按顺序检查:

  1. 当前存储配置至少关联一个集群;未关联时页面应显示提示,不会打开文件页。
  2. 查看浏览器地址栏附近是否出现弹出页面被拦截的提示。只允许当前 RLark 站点的预期页面,不要关闭浏览器的全局保护。
  3. 检查是否已经打开但位于后台的新标签页;原存储列表保持不变属于正常行为。
  4. 在新标签页核对 URL 中的集群和 StorageClass,确认它们与存储配置的第一个关联集群一致。
  5. 新标签页打开但列表报错时,继续按本页“文件浏览器无法列出对象”检查后端访问,不要把它归类为按钮无响应。

如果仍未打开新页面,也没有错误提示,请记录操作时间、存储配置名称、关联集群顺序、浏览器是否提示拦截,以及不含凭据的控制台错误,再联系平台管理员排查页面跳转。不要附带 Access Key 或完整签名 URL。

已知对象没有出现在列表中 ​

依次检查:

  • 当前面包屑前缀是否与对象键完全一致。
  • 对象名称大小写是否一致。
  • 搜索框是否仍有过滤条件。
  • 当前集群和 StorageClass 是否指向预期 Bucket。
  • 对象是否位于当前首批列表之外。

文件页一次最多加载 100 个对象,搜索和界面分页只处理这批数据。未显示的对象不一定不存在;请使用更精确的公共前缀缩小范围,或让存储管理员在对象存储侧检查完整键。

上传失败或只上传了部分文件 ​

多个文件由控制台依次上传。中途某个文件失败时,之前成功的对象不会自动回滚。

  1. 记录失败文件名和当前前缀。
  2. 重新打开列表,逐个核对哪些对象已经存在。
  3. 检查写入权限、对象大小限制、网络和 Endpoint 状态。
  4. 再次上传前确认完整目标键,避免覆盖已成功的同名对象。

上传入口只保留文件名,不保留本地文件夹层级。若文件出现在“错误目录”,先检查上传时的面包屑前缀。

下载链接无法使用 ​

控制台请求的临时签名下载链接有效期为一小时。出现失败时:

  1. 回到文件浏览器,确认对象仍存在。
  2. 重新发起下载以获得新链接。
  3. 检查浏览器是否拦截新页面或下载。
  4. 若新链接也失败,检查对象读取权限和 Endpoint 连通性。

不要把签名链接发送给他人或粘贴到工单;它在有效期内可能直接授予对象访问能力。

PVC 无法创建、绑定或挂载 ​

Worker 长时间 Pending,且状态或日志指向 PVC、StorageClass 或 volume 时,先确认问题发生在实际 Task 所在集群。文件浏览器能够访问对象,并不能证明该集群中的 PVC 已经可以挂载。

  1. 在 Job YAML 中核对该角色选择的 StorageClass 和容器挂载路径。
  2. 确认 Task 实际所在集群已经关联同名 StorageClass。
  3. 请平台管理员检查 PVC 是否已经创建、当前处于 Pending 还是 Bound,以及相关事件中的第一条错误。
  4. 由管理员继续核对该集群中的 StorageClass、Secret、CSI 组件和后端访问条件。
  5. 多个 Worker 共用挂载时,确认当前存储后端支持所需的跨节点和并发访问方式。

控制台不显示完整的 PVC 事件。记录 Job、Task、StorageClass、Worker 状态和不含凭据的错误后再处理,不要反复停止、启动或删除 PVC 来试错。使用 hostPath 时不会创建 PVC,应改为检查 Worker 实际节点上的源路径、权限和空间。

控制台能看到文件,但容器路径为空 ​

文件浏览器直接访问对象存储,容器则通过 PVC 和 volumeMount 读取挂载。两处结果不一致时,按顺序确认:

  1. Task 所在集群已关联同名 StorageClass。
  2. 作业角色选择的是该 StorageClass,而不是名称相似的另一个配置。
  3. Task 工作负载中存在 PVC 到 StorageClass 的映射。
  4. PVC 已创建并成功绑定。
  5. Pod volume 和 volumeMount 都存在,容器挂载路径与创建任务时填写的目标路径一致。
  6. 应用读取的是容器路径下的对象,而不是 Bucket 名、本地电脑路径或宿主机路径。

若 Worker 尚未产生 Pod,先排查调度或按本页“PVC 无法创建、绑定或挂载”检查;此时无法通过 WebTerminal 检查挂载。若挂载类型为 hostPath,则应检查实际调度节点的本地目录;它与对象存储无关。

挂载后镜像中的文件“不见了” ​

先检查 Job 角色配置和生成的 volumeMounts。如果卷挂载到了镜像原本已有内容的目录,挂载会遮蔽该目录中的镜像文件;这通常不表示文件已从镜像删除。

  1. 记录预期文件的镜像内路径和当前容器挂载路径。
  2. 在 Worker 配置中确认哪个卷占用了该路径。
  3. 使用 WebTerminal 查看目标目录和 /proc/mounts;不要在运行中的容器内执行卸载、移动或复制来试修复。
  4. 对照已知镜像版本或镜像构建清单,确认文件原本是否由镜像提供。
  5. 如确属路径重叠,复制 Job 后改用不重叠的挂载路径,或把所需初始化动作写入可重复执行的准备脚本,再检查新 Worker。

不要通过删除卷中内容来寻找被遮蔽的镜像文件。卷被移除后镜像内容会重新可见,但卷中被删除的数据无法由 RLark 恢复。

输出在 Pod 重建后丢失 ​

配置了存储挂载,不代表容器中的所有写入都会持久化。按以下顺序核对:

  1. 记录应用配置中的实际输出绝对路径,不要只记录当前工作目录。
  2. 确认该路径位于 volumeMounts.mountPath 内,而不是挂载点旁边的同级目录。
  3. 使用不会修改文件的命令检查目标路径对应的挂载;不要用 touch 或覆盖现有文件来测试写权限。
  4. 检查应用日志,确认检查点或结果已经完成写入,而不是仍在内存、临时文件或异步上传队列中。
  5. 通过文件浏览器按准确前缀和对象键核对输出;若对象较多,注意页面只加载首批 100 个对象。

如果数据写在容器根文件系统或默认工作目录,Pod 重建后无法从 RLark 恢复。请先保留剩余 Worker、日志和路径信息,再修正输出目录并通过复制的 Job 检查结果;不要反复重建现有 Pod。

删除对象后需要恢复 ​

RLark 没有对象回收站或撤销操作。立即停止后续清理和对同名键的写入,并联系存储管理员检查底层 Bucket 是否预先启用了版本控制、快照或备份。没有这些机制时,RLark 无法恢复已删除对象。

联系平台管理员时提供 ​

  • 存储配置名称、目标集群和 Bucket 名称。
  • 当前对象前缀或经过脱敏的对象键。
  • 操作类型和时间:列表、上传、下载、删除或挂载。
  • HTTP 状态码和脱敏后的错误信息。
  • 受影响 Job、Task、Worker/Pod 和容器挂载路径。
  • 问题是否只发生在一个集群、一个前缀或一个对象。

不得提供 Access Key Secret、完整签名 URL、SSH 私钥或其他凭据。