今天遇到了一个线上问题,公司在阿里云上面香港业务的服务器突然从凌晨开始就down了,
重启服务器和程序也没用,看日志是docker 重启后一直加载中。
查了一下网上的资料,说是xfs文件系统的问题。
Docker进程卡死原因:
centos7内核跟docker版本之间的一个bug,过于频繁create/destory container、
pull/push image的时候,当thin pool满时,DeviceMapper后端默认文件系统xfs会不断retry
失败的IO,导致进程挂起。重启docker,那些挂起的进程也会不断地跑,所以需要在启动参数上面
增加dm.xfs_nospace_max_retries=0。
但我直接把这个参数加到 /etc/docker/daemon.json上面,发现启动失败了。
最终看文档发现,是完整的参数是
又是一个完美的坑。