文档首页/ 云容器引擎 CCE/ 常见问题/ 工作负载/ 工作负载异常问题排查/ 工作负载异常:存储卷无法挂载或挂载超时
更新时间:2024-11-13 GMT+08:00

工作负载异常:存储卷无法挂载或挂载超时

排查思路

以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。

如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。

图1 存储卷无法挂载或挂载超时排查思路

排查项一:EVS存储卷是否跨AZ挂载

问题描述:

客户在有状态工作负载上挂载EVS存储卷,但无法挂载卷并超时。

问题定位

经查询确认,该节点在可用区1,而要挂载的磁盘在可用区2,导致无法挂载而超时。

解决方案:

在同一可用区内创建磁盘再挂载后即可正常。

排查项二:存储中是否同时存在多条权限相关的配置

如果您挂载的存储中内容太多,同时又配置了以下几条配置,最终会由于逐个修改文件权限,而导致挂载时间过长。

问题定位:

  • Securitycontext字段中是否包含runAsuser/fsGroup。securityContext是kubernetes中的字段,即安全上下文,它用于定义Pod或Container的权限和访问控制设置。
  • 启动命令中是否包含ls、chmod、chown等查询或修改文件权限的操作。

解决建议

请根据您的业务需求,判断是否需要修改。

排查项三:带云硬盘卷的Deployment的副本数大于1

问题描述:

创建Pod失败,并报“添加存储失败”的事件,事件信息如下。

Multi-Attach error for volume "pvc-62a7a7d9-9dc8-42a2-8366-0f5ef9db5b60" Volume is already used by pod(s) testttt-7b774658cb-lc98h

问题定位

查看Deployment的副本数是否大于1。

Deployment中使用EVS存储卷时,副本数只能为1。若用户在后台指定Deployment的实例数为2以上,此时CCE并不会限制Deployment的创建。但若这些实例Pod被调度到不同的节点,则会有部分Pod因为其要使用的EVS无法被挂载到节点,导致Pod无法启动成功。

解决方案:

使用EVS的Deployment的副本数指定为1,或使用其他类型存储卷。

排查项四:EVS磁盘文件系统损坏

问题描述:

创建Pod失败,出现类似信息,磁盘文件系统损坏。

MountVolume.MountDevice failed for volume "pvc-08178474-c58c-4820-a828-14437d46ba6f" : rpc error: code = Internal desc = [09060def-afd0-11ec-9664-fa163eef47d0] /dev/sda has file system, but it is detected to be damaged

解决方案:

在EVS中对磁盘进行备份,然后执行如下命令修复文件系统。

fsck -y {盘符}