容器使用SCSI类型云硬盘偶现IO卡住
问题描述
容器使用SCSI类型的云硬盘存储,在CentOS节点上创建和删除容器触发磁盘频繁挂载卸载的场景,有概率会出现系统盘读写瞬时冲高,然后系统卡住的问题,影响节点正常工作。
出现该问题时,可在dmesg日志中观察到:
Attached SCSI disk task jdb2/xxx blocked for more than 120 seconds.
如下图红框所示:
问题原理
BUS 0上热插PCI设备后,Linux内核会多次遍历挂载在BUS 0上的所有PCI-Bridge,且PCI-Bridge在被更新期间无法正常工作。在此期间,若设备使用的PCI-Bridge被更新,由于内核缺陷,该设备会认为PCI-Bridge异常,设备进入故障模式进而无法正常工作。如果此时前端正要写PCI配置空间让后端处理磁盘IO,那么这个写配置空间操作就可能会被剔除,导致后端接收不到通知去处理IO环上的新增请求,最终表现为前端IO卡住。
影响范围
对CentOS Linux内核3.10.0-1127.el7之前的版本有影响。
解决方法
通过重置节点将内核升级至高版本,具体请参见重置节点。
节点运行 所有常见问题
- 集群可用,但节点状态为“不可用”?
- CCE集群中的节点无法远程登录,如何排查解决?
- 如何重置CCE集群中节点的密码?
- 如何收集CCE集群中节点的日志?
- 如何解决yum update升级操作系统导致的容器网络不可用问题?
- Node节点vdb盘受损,通过重置节点仍无法恢复节点?
- CCE集群节点中安装kubelet的端口主要有哪些?
- 如何配置Pod使用GPU节点的加速能力?
- 容器使用SCSI类型云硬盘偶现IO卡住
- docker审计日志量过大影响磁盘IO
- thinpool磁盘空间耗尽导致容器或节点异常时,如何解决?
- 节点上监听了哪些端口
- GPU节点使用nvidia驱动启动容器排查思路
- 节点NTP时间不同步
- Containerd节点业务容器标准输出日志写入过快导致节点数据盘使用率过高
- 为什么kubectl top命令查看节点内存使用超过100%?
- 节点事件中一直出现“镜像回收失败”告警
more