Car*_*los 5 amazon-web-services amazon-ecs
从今天早上开始,我在更新 AWS ECS 中的服务时遇到了麻烦。任务无法启动。失败的任务显示此错误:
打开 /var/lib/docker/devicemapper/metadata/.tmp928855886:设备上没有剩余空间
我检查过磁盘空间,确实有。
/dev/nvme0n1p1 7,8G 5,6G 2,2G 73% /
然后我检查了inode的使用情况,发现100%被使用:
/dev/nvme0n1p1 524288 524288 0 100% /
缩小搜索范围,我发现 Docker 卷是使用 inode 的卷。
我使用的是标准 Centos AMI。
这是否意味着ECS集群上可以运行的服务有最大数量?(此时我正在运行 18 个服务)
这个可以解决吗?目前我无法进行更新。
提前致谢
您需要在 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 的磁盘空间。
归档时间: |
|
查看次数: |
6230 次 |
最近记录: |