Amazon web services aws ecs实例空间不足

Amazon web services aws ecs实例空间不足,amazon-web-services,amazon-ecs,Amazon Web Services,Amazon Ecs,从今天早上开始,我在AWS ECS中更新服务时遇到问题。任务无法启动。失败的任务显示此错误: 打开/var/lib/docker/deviceapper/metadata/.tmp928855886:设备上没有剩余空间 我已经检查了磁盘空间,没有了 /开发/nvme0n1p1 7,8G 5,6G 2,2G 73%/ 然后我检查了inodes的使用情况,发现100%都使用了: /开发/nvme0n1p1 524288 524288 0 100%/ 缩小搜索范围,我发现Docker卷就是使用inod

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

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

我已经检查了磁盘空间,没有了

/开发/nvme0n1p1 7,8G 5,6G 2,2G 73%/

然后我检查了inodes的使用情况,发现100%都使用了:

/开发/nvme0n1p1 524288 524288 0 100%/

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

我用的是标准的Centos AMI

这是否意味着一个ECS集群上可以运行的服务的最大数量?(目前我正在运行18项服务)

这能解决吗?现在我不能做更新


提前感谢

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

  • ECS\u引擎\u任务\u清理\u等待\u持续时间
  • ECS\u映像\u清理\u间隔
  • ECS\u映像\u最小\u清理\u年龄
  • ECS\u NUM\u IMAGES\u DELETE\u每个周期
您可以在此处找到所有这些设置的完整文档:

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


另一个需要考虑的是节省空间,而不是将图像层挤在一起,使用共同的共享基础图像层来为不同的图像和图像版本使用。这会产生巨大的差异,因为如果您有10个不同的图像,每个图像的大小为1GB,则会占用10GB的空间。但是,如果您有一个1 GB的基本映像层,然后是10个大小只有几MB的小应用程序层,只占用略多于1 GB的磁盘空间。

当这开始发生时,我连接到实例并运行docker system prune来清理容器和映像,结果是没有未使用的图像,也没有停止的容器。关于你对空间的评论,我完全同意。有三个基本映像,任何服务的最大大小约为600Mb,但在这种情况下,磁盘空间不是问题。fileas和可用inode的数量为。到目前为止,我已经将系统分区的大小从8 GB增加到15Gb,现在已经可以工作了。谢谢你的回答!!上周也发生了同样的事情。有一个有缺陷的服务产生了许多停止的容器,这些容器消耗了所有可用的inode。我已经将ECS_引擎_任务_清理_等待_的持续时间减少到15米,这样清理会更早进行,inode不会被消耗。