我有一个托管在 Azure 中的 Ubuntu 20.04 VM,是从当时流行的映像部署的。它运行几个 docker 容器,每天 17:00 关闭,每天早上 06:30 启动。
今天检查时发现虚拟机无法访问。最终发现机器不断自行重启。从 Azure 中的串行日志中,我看到重复的内核恐慌,并且虚拟机自动重新启动。追踪到这个错误:https://bugs.launchpad.net/ubuntu/+source/linux-aws-5.13/+bug/1977919
基本上,Ubuntu 5.13.0-1028.33~20.04.1-azure 5.13.19 中引入了一个更改,该更改很快在 5.13.0-1029 中得到了解决。
不过,我没有做更新。通过检查 Azure 中的更新管理,没有发生任何修补历史记录。从昨天到今天,没有其他人登录到该计算机。
将磁盘连接到不同的虚拟机,并检查内核日志。昨天启动是这样的:
Jun 9 06:08:29 myserver kernel: [ 0.000000] Linux version 5.13.0-1025-azure (buildd@lcy02-amd64-007)
今天:
Jun 10 06:07:55 myserver kernel: [ 0.000000] Linux version 5.13.0-1028-azure (buildd@lcy02-amd64-109)
在 dpkg.log 中,我昨天启动后就看到了这一点:
2022-06-09 06:33:49 install linux-image-5.13.0-1028-azure:amd64 <none> 5.13.0-1028.33~20.04.1
我如何确定是什么触发了这个?
答案1
该/var/log/unattended-upgrades
目录存在吗?如果是,请阅读其中的日志。
如果unattended-upgrades
已安装该软件包(这可能是大多数基于 Debian 的发行版上的默认设置,除非您选择最小安装),则 systemd 服务apt-daily-upgrade.service
(或者/etc/cron.daily/apt
如果发行版不使用 systemd)将每天触发自动安全补丁升级。
答案2
如果它对其他人有帮助:在我的 VPS 中,解决方案是dpkg-reconfigure unattended-upgrades
,然后在随后出现的对话框中选择“是”。然后我systemctrl restart unattended-upgrades
终于看到了一个正确的/var/log/unattended-upgrades/unattended-upgrades.log
文件(以前不存在)。