我无法弄清楚 AWS 如何在 ElasticBeanstalk 上设置他们的 Docker“瘦池”以及它是如何被填满的。我的 docker 精简池不知何故填满并导致我的应用程序在尝试写入磁盘时崩溃。
这是来自容器内部:
>df -h
> /dev/xvda1 25G 1.4G 24G 6%
Run Code Online (Sandbox Code Playgroud)
事实上,EBS 有一个 25GB 的磁盘分配给它;du -sh /返回的是 1.6 GB 。
在 EC2 之外,它开始时足够无害......(通过lvs)
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
docker-pool docker twi-aot--- 11.86g 37.50 14.65
Run Code Online (Sandbox Code Playgroud)
但是,文件系统很快将重新挂载为只读。通过 dmesg:
[2077620.433382] Buffer I/O error on device dm-4, logical block 2501385
[2077620.437372] EXT4-fs warning (device dm-4): ext4_end_bio:329: I/O error -28 writing to inode 4988708 (offset 0 size 8388608 …Run Code Online (Sandbox Code Playgroud) 我有一个基本的 ELB v2 站点。还没有聚类或任何东西。我对 AWS 非常缺乏经验。
我的堆栈是 nginx/uwsgi/django + 一些其他服务。
我想知道是否有人想过制作“对不起,网站目前已关闭...”样式的页面(我可以更新计划的停机时间的自定义文本是一种奖励!)无论何时出现停机,以及实例是红色的。亚马逊似乎没有提供这种功能 - 我错过了什么吗?有没有办法创建一个单独的超小型实例,该实例仅在主要实例为红色或其他情况时提供服务?
谢谢!