我在 AWS 云上运行了一个 EC2,其规格如下:
操作系统:Ubuntu 22.04.1 LTS AMI 编号: ami-07651f0c4c315a529 AMI 名称:ubuntu/图片/hvm-ssd/ubuntu-jammy-22.04-amd64-服务器-20220912 实例类型:t3a.medium
我们安装了 Postgresql 14 和 TimescaleDB 扩展。有时系统会因为 OOM killer 而重启,但重启失败,错误信息为:PARTUUID 不存在。
第一次发生这种情况时,我们注意到这是因为 PARTUUID 与使用命令列出的不同:
$ blkid
我们认为这只是一次性事件,我们分离了 EBS 卷并将其连接到救援 EC2,挂载它,编辑 grub.cfg 并将 PARTUUID 更改为正确的值。但是,这种情况偶尔会发生。我们已向 AWS 支持部门提出了此问题,但他们表示 AWS 的更新和修补不会影响 PARTUUID。所以我在这里陷入了困境,有人知道如何解决此问题吗?
答案1
您解决这个问题了吗?我遇到了完全相同的问题,grub.cfg 神秘的更改已经发生了两次。PARTUUID 也与您的屏幕截图中完全相同。
在我上次缩小实例上的单个 EC2 卷(11 月初)之后,它们才开始出现,因此在某种程度上将其归因于此,但考虑到它在我重新启动时不一致,并且服务器已经启动,我不能肯定地将其归因于此(并且之前缩小过单个卷,没有出现此问题)。
我通过创建一个具有单个根卷(实例 B)的相同 EC2 实例来修复它,从 B 实例分离根卷并连接为原始 EC2 实例(实例 A)上的根卷,其中分离并重新连接和安装实例 A 的实际根卷作为附加卷。然后,这将正确启动并启动其所有进程(由于 AWS 创建它们的方式,实例 A 和 B 卷都具有相同的 UUID/PARTUUID/标签),如果没有,则重试等。然后,我获取工作的根卷 grub.cfg(即从实例 B 传过来的)并替换与其一起安装的实例 A。然后停止实例 A,分离两个卷,将原始实例 A 卷放回根卷并重新启动。现在一切都应该正常,并终止实例 B 及其卷。我今天刚刚再次这样做,希望这次可以持续一个多月。
答案2
您是否调整/扩展了根磁盘/文件系统?就我而言,我认为这就是磁盘上 PARTUUID 值发生变化的原因。