Docker 尝试自动扩展它的精简池,这可能导致 dmeventd 对 Amazon Elastic Container Service (Amazon ECS) 实例的 CPU 使用量激增。如何修复此问题?

Docker 尝试自动扩展它的精简池,但由于“Insufficient free space”或“Failed to extend thin docker-docker--pool”消息的原因而失败。

此错误可能是因逻辑卷 (docker-docker-pool) 的空间不足。在默认情况下,逻辑卷管理器 (LVM) 自动扩展精简池的设置将被禁用,因为逻辑卷的大小等于与实例关联的二级 EBS 卷的大小。参数 thin_pool_autoextend_threshold 和 thin_pool_autoextend_percent 及其配置值存储于 /etc/lvm/lvm.conf 中。

确定您使用的是最新版本经 ECS 优化的 AMI。从 ECS 容器代理 1.13.0 版开始,Amazon ECS 会自动清除使用 Docker 精简池的旧镜像。您还可以使用 1.13.0 版以前的如下 ECS 代理命令:

#remove all unused images

docker images –q |xargs –no-run-if-empty docker rmi

ECS 代理可以协助清理容器,因为它会检查从任务停止到 Docker 容器被删除的时间长度。设置 ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION 只能在 /etc/ecs/ecs.config 文件中修改。 有关更多信息请参阅 Amazon ECS 容器代理配置

如果 dmeventd 陷入尝试扩展精简池循环,您还可以发出命令停止监控 Docker 卷组:

# lvchange –-monitor n docker

此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2016 年 10 月 31 日

更新时间:2018 年 3 月 6 日