我使用 Google 提供的 Ubuntu 14.04 镜像,在 Google Cloud Engine 中创建了一个具有 10GB 启动盘的微型实例。该服务器托管了一个小型 nginx/php/mysql 应用程序。
几个月后,应用程序停止工作,因为磁盘已完全填满。大部分空间被较新的内核占用,这些内核似乎是通过无人值守升级安装的。该实例从未重新启动过(无论是手动还是自动)。
这是 Ubuntu 14.04 的正常行为吗?创建实例后我需要执行一些任务来确保这种情况不会发生吗?如果是这样,这些任务是什么?考虑到所有其他事情的默认设置似乎都是合理的,Google 为什么向我提供如此“破碎”的 Ubuntu 图像。
(值得庆幸的是,在这种情况下我仍然能够通过 SSH 登录、执行apt-get autoremove
并重新启动,从而释放了大部分磁盘空间。但我仍希望在将来避免这种情况。)
答案1
Ubuntu 映像会自动升级,以使您的系统保持最新状态并保护您免受安全漏洞的侵害。这独立于 Google Compute Engine,是 Ubuntu 的一项标准功能。
如果你想禁用自动更新,你可以按照Ubuntu 的文档了解如何执行此操作,但不建议这样做。相反,请查看如何保留自动更新。
您应该为您的虚拟机创建一个磁盘,该磁盘 (a) 足够大以启用更新和 (b) 确保自动清理;根据文档,设置位于/etc/apt/apt.conf.d/10periodic
且应类似于:
APT::Periodic::AutocleanInterval "7";