aws ecs实例空间不足

问题描述 投票:0回答:1

从今天早上起,我在更新AWS ECS中的服务时遇到了麻烦。任务无法启动。失败的任务显示此错误:

打开/var/lib/docker/devicemapper/metadata/.tmp928855886:设备上没有剩余空间

我已经检查了磁盘空间。

/ dev / nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

然后我检查了inode的用法,我发现使用了100%:

/ dev / nvme0n1p1 524288 524288 0 100%/

缩小搜索范围我发现Docker卷是使用inode的卷。

我正在使用标准的Centos AMI。

这是否意味着可以在ECS群集上运行的服务数量最多? (此刻我正在运行18项服务)

这可以解决吗?此刻我无法做更新。

提前致谢

amazon-web-services amazon-ecs
1个回答
1
投票

您需要在EC2主机上调整以下环境变量:

  • ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION
  • ECS_IMAGE_CLEANUP_INTERVAL
  • ECS_IMAGE_MINIMUM_CLEANUP_AGE
  • ECS_NUM_IMAGES_DELETE_PER_CYCLE

您可以在这里找到所有这些设置的完整文档:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html

默认行为是每30分钟检查一次,并且仅删除5个超过1小时且未使用的图像。如果要更频繁地清理更多图像,可以使此行为更具攻击性。

另一个需要考虑的是节省空间,而不是将图像层压缩在一起,为不同的图像和图像版本使用通用的共享基础图像层。这可能会产生巨大的差异,因为如果您有10个不同的图像,每个图像的大小为1 GB,占用10 GB的空间。但是,如果你有一个1 GB的基本图像层,然后是10个只有几MB大小的应用层,只占用1 GB以上的磁盘空间。

© www.soinside.com 2019 - 2024. All rights reserved.